module.exports=[69147,a=>{"use strict";var b=a.i(87924);function c({title:a,description:c,controls:d,output:e}){return(0,b.jsxs)("div",{className:"container mx-auto px-4 py-8 max-w-7xl",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight text-foreground mb-2",children:a}),(0,b.jsx)("p",{className:"text-muted-foreground",children:c})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 items-start",children:[(0,b.jsx)("div",{className:"space-y-6",children:(0,b.jsx)("div",{className:"bg-card rounded-2xl border border-border p-6 shadow-sm",children:d})}),(0,b.jsx)("div",{className:"lg:sticky lg:top-24",children:(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wider px-1",children:"Generated Output"}),e]})})]})]})}a.s(["ToolLayout",()=>c])},5151,a=>{"use strict";let b=(0,a.i(70106).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],5151)},33441,a=>{"use strict";let b=(0,a.i(70106).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],33441)},80386,a=>{"use strict";let b=(0,a.i(70106).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},7831,a=>{"use strict";let b=(0,a.i(70106).default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);a.s(["FileCode",()=>b],7831)},75070,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(69147),e=a.i(87534),f=a.i(7831);let g=(0,a.i(70106).default)("beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]);var h=a.i(80386),i=a.i(62258);function j(){let[a,j]=(0,c.useState)(""),[k,l]=(0,c.useState)("");return(0,b.jsx)(d.ToolLayout,{title:"Flutter Test Generator",description:"Instant test boilerplate for your widgets and classes. Support for unit and widget tests.",controls:(0,b.jsxs)("div",{className:"space-y-6 animate-in fade-in duration-700",children:[(0,b.jsxs)("div",{className:"bg-card border border-border rounded-[3rem] p-10 shadow-2xl space-y-8 relative overflow-hidden",children:[(0,b.jsx)("div",{className:"absolute top-0 right-0 w-32 h-32 bg-primary/5 blur-3xl rotate-45"}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("div",{className:"w-12 h-12 bg-primary/10 rounded-2xl flex items-center justify-center text-primary",children:(0,b.jsx)(f.FileCode,{className:"w-6 h-6"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-xl font-black",children:"Input Source"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground font-bold uppercase tracking-widest",children:"Supports Classes & Widgets"})]})]}),(0,b.jsx)("textarea",{value:a,onChange:a=>j(a.target.value),placeholder:"class UserProfile extends StatelessWidget { ...",className:"w-full h-[400px] bg-secondary/30 border border-border rounded-2xl p-6 font-mono text-xs outline-none focus:border-primary transition-all resize-none custom-scrollbar"}),(0,b.jsxs)("button",{onClick:()=>{if(!a)return;let b=a.match(/class\s+(\w+)/),c=b?b[1]:"MyWidget",d=a.includes("extends StatelessWidget")||a.includes("extends StatefulWidget"),e=`import 'package:flutter_test/flutter_test.dart';
`;e+=`import 'package:my_app/${c.toLowerCase()}.dart';

`,d?e+=`void main() {
  group('${c} Widget Tests', () => {
    testWidgets('should render correctly', (WidgetTester tester) async {
      await tester.pumpWidget(MaterialApp(home: ${c}()));
      expect(find.byType(${c}), findsOneWidget);
    });

    testWidgets('should handle interaction', (WidgetTester tester) async {
      await tester.pumpWidget(MaterialApp(home: ${c}()));
      // TODO: Add interaction tests
    });
  });
}
`:e+=`void main() {
  group('${c} Unit Tests', () => {
    late ${c} sut;

    setUp(() {
      sut = ${c}();
    });

    test('initial state should be valid', () {
      // expect(sut.value, initialValue);
    });

    tearDown(() {
      // clean up
    });
  });
}
`,l(e)},className:"group w-full h-14 bg-primary text-white font-black rounded-2xl flex items-center justify-center gap-3 shadow-xl shadow-primary/30 hover:brightness-110 active:scale-95 transition-all overflow-hidden",children:[(0,b.jsx)(g,{className:"w-5 h-5 group-hover:rotate-12 transition-transform"}),"GENERATE TEST SUITE"]})]}),(0,b.jsxs)("div",{className:"bg-secondary/20 rounded-[2rem] p-6 border border-border flex items-start gap-4",children:[(0,b.jsx)(h.Terminal,{className:"w-5 h-5 text-muted-foreground mt-1"}),(0,b.jsx)("p",{className:"text-[10px] uppercase font-black tracking-widest text-muted-foreground leading-relaxed",children:"Pro Tip: Copy-paste the generated code into your `/test` directory. Remember to add mocks if your dependencies require them."})]})]}),output:(0,b.jsx)("div",{className:"space-y-6 animate-in fade-in slide-in-from-right-4 duration-700",children:k?(0,b.jsx)(i.CodeOutput,{title:"Generated Test Suite",code:k,language:"dart"}):(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-center py-20 px-8 border-4 border-dashed border-border rounded-[4rem] opacity-20 bg-card/50",children:[(0,b.jsx)(e.CheckSquare,{className:"w-20 h-20 mb-6"}),(0,b.jsx)("h4",{className:"text-2xl font-black italic",children:"Awaiting Payload"}),(0,b.jsx)("p",{className:"text-sm mt-2",children:"The generator expects a Dart class or widget on the left."})]})})})}a.s(["default",()=>j],75070)}];

//# sourceMappingURL=_0ba21646._.js.map