wlmaker 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.mjs +57 -79
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -167,7 +167,7 @@ import { pascalCase as pascalCase2 } from "change-case";
167
167
  // src/core/tier.ts
168
168
  var VALID_TIERS = ["atom", "molecule", "organism", "template"];
169
169
  var TIER_PATTERNS = {
170
- atom: ["single-public", "single-factory", "subdirectory-parts"],
170
+ atom: ["single-public", "single-factory"],
171
171
  molecule: ["single", "subdirectory-parts", "subdirectory-widgets"],
172
172
  organism: ["subdirectory-show", "single"],
173
173
  template: ["simple", "config-data-callbacks"]
@@ -188,7 +188,7 @@ var PATTERN_LABELS = {
188
188
  "single-public": "Single file, public constructor",
189
189
  "single-factory": "Single file, private constructor + factories",
190
190
  "subdirectory-parts": "Subdirectory with part files",
191
- single: "Single file (StatefulWidget)",
191
+ single: "Single file",
192
192
  "subdirectory-widgets": "Subdirectory with widgets/ and utils/",
193
193
  "subdirectory-show": "Subdirectory with static show() + parts",
194
194
  simple: "Template simple (i18n + body + skeleton)",
@@ -390,12 +390,20 @@ import 'package:flutter/material.dart';
390
390
  class Wl${pascal} extends StatelessWidget {
391
391
  const Wl${pascal}({super.key});
392
392
 
393
+ static const skeleton = _Wl${pascal}SkeletonFactory();
394
+
393
395
  @override
394
396
  Widget build(BuildContext context) {
395
397
  final theme = context.theme;
396
398
  return const SizedBox.shrink();
397
399
  }
398
400
  }
401
+
402
+ class _Wl${pascal}SkeletonFactory {
403
+ const _Wl${pascal}SkeletonFactory();
404
+
405
+ Widget call({Key? key}) => const SizedBox.shrink();
406
+ }
399
407
  `;
400
408
  }
401
409
  function atomTemplateB(name, pascal) {
@@ -418,60 +426,21 @@ class Wl${pascal} extends StatelessWidget {
418
426
  factory Wl${pascal}.secondary({Key? key}) =>
419
427
  Wl${pascal}._internal(variant: Wl${pascal}Variant.secondary, key: key);
420
428
 
421
- @override
422
- Widget build(BuildContext context) {
423
- final theme = context.theme;
424
- return const SizedBox.shrink();
425
- }
426
- }
427
- `;
428
- }
429
- function atomTemplateC(name, pascal) {
430
- return {
431
- main: `import 'package:design_system/design_system.dart';
432
- import 'package:flutter/material.dart';
433
-
434
- part '${name}_sizes.dart';
435
-
436
- class Wl${pascal} extends StatelessWidget {
437
- final Wl${pascal}Size size;
438
-
439
- const Wl${pascal}({this.size = Wl${pascal}Size.md, super.key});
429
+ static const skeleton = _Wl${pascal}SkeletonFactory();
440
430
 
441
431
  @override
442
432
  Widget build(BuildContext context) {
443
433
  final theme = context.theme;
444
- return SizedBox(
445
- width: size.width,
446
- height: size.height,
447
- child: const SizedBox.shrink(),
448
- );
434
+ return const SizedBox.shrink();
449
435
  }
450
436
  }
451
- `,
452
- sizes: `part of '${name}.dart';
453
437
 
454
- enum _Wl${pascal}Size {
455
- sm,
456
- md,
457
- lg,
458
- }
438
+ class _Wl${pascal}SkeletonFactory {
439
+ const _Wl${pascal}SkeletonFactory();
459
440
 
460
- extension _Wl${pascal}SizeExt on _Wl${pascal}Size {
461
- double get width => switch (this) {
462
- _Wl${pascal}Size.sm => 16,
463
- _Wl${pascal}Size.md => 24,
464
- _Wl${pascal}Size.lg => 32,
465
- };
466
-
467
- double get height => switch (this) {
468
- _Wl${pascal}Size.sm => 16,
469
- _Wl${pascal}Size.md => 24,
470
- _Wl${pascal}Size.lg => 32,
471
- };
441
+ Widget call({Key? key}) => const SizedBox.shrink();
472
442
  }
473
- `
474
- };
443
+ `;
475
444
  }
476
445
  function moleculeTemplateA(name, pascal) {
477
446
  return `import 'package:design_system/design_system.dart';
@@ -482,7 +451,7 @@ enum Wl${pascal}Variant {
482
451
  secondary,
483
452
  }
484
453
 
485
- class Wl${pascal} extends StatefulWidget {
454
+ class Wl${pascal} extends StatelessWidget {
486
455
  final Wl${pascal}Variant variant;
487
456
 
488
457
  const Wl${pascal}({
@@ -490,17 +459,20 @@ class Wl${pascal} extends StatefulWidget {
490
459
  super.key,
491
460
  });
492
461
 
493
- @override
494
- State<Wl${pascal}> createState() => _Wl${pascal}State();
495
- }
462
+ static const skeleton = _Wl${pascal}SkeletonFactory();
496
463
 
497
- class _Wl${pascal}State extends State<Wl${pascal}> {
498
464
  @override
499
465
  Widget build(BuildContext context) {
500
466
  final theme = context.theme;
501
467
  return const SizedBox.shrink();
502
468
  }
503
469
  }
470
+
471
+ class _Wl${pascal}SkeletonFactory {
472
+ const _Wl${pascal}SkeletonFactory();
473
+
474
+ Widget call({Key? key}) => const SizedBox.shrink();
475
+ }
504
476
  `;
505
477
  }
506
478
  function moleculeTemplateB(name, pascal) {
@@ -510,7 +482,7 @@ import 'package:flutter/material.dart';
510
482
 
511
483
  part '${name}_type.dart';
512
484
 
513
- class Wl${pascal} extends StatefulWidget {
485
+ class Wl${pascal} extends StatelessWidget {
514
486
  final Wl${pascal}Variant variant;
515
487
 
516
488
  const Wl${pascal}({
@@ -518,17 +490,20 @@ class Wl${pascal} extends StatefulWidget {
518
490
  super.key,
519
491
  });
520
492
 
521
- @override
522
- State<Wl${pascal}> createState() => _Wl${pascal}State();
523
- }
493
+ static const skeleton = _Wl${pascal}SkeletonFactory();
524
494
 
525
- class _Wl${pascal}State extends State<Wl${pascal}> {
526
495
  @override
527
496
  Widget build(BuildContext context) {
528
497
  final theme = context.theme;
529
498
  return const SizedBox.shrink();
530
499
  }
531
500
  }
501
+
502
+ class _Wl${pascal}SkeletonFactory {
503
+ const _Wl${pascal}SkeletonFactory();
504
+
505
+ Widget call({Key? key}) => const SizedBox.shrink();
506
+ }
532
507
  `,
533
508
  type: `part of '${name}.dart';
534
509
 
@@ -547,20 +522,23 @@ function moleculeTemplateC(name, pascal) {
547
522
  return `import 'package:design_system/design_system.dart';
548
523
  import 'package:flutter/material.dart';
549
524
 
550
- class Wl${pascal} extends StatefulWidget {
525
+ class Wl${pascal} extends StatelessWidget {
551
526
  const Wl${pascal}({super.key});
552
527
 
553
- @override
554
- State<Wl${pascal}> createState() => _Wl${pascal}State();
555
- }
528
+ static const skeleton = _Wl${pascal}SkeletonFactory();
556
529
 
557
- class _Wl${pascal}State extends State<Wl${pascal}> {
558
530
  @override
559
531
  Widget build(BuildContext context) {
560
532
  final theme = context.theme;
561
533
  return const SizedBox.shrink();
562
534
  }
563
535
  }
536
+
537
+ class _Wl${pascal}SkeletonFactory {
538
+ const _Wl${pascal}SkeletonFactory();
539
+
540
+ Widget call({Key? key}) => const SizedBox.shrink();
541
+ }
564
542
  `;
565
543
  }
566
544
  function organismTemplateA(name, pascal) {
@@ -602,6 +580,8 @@ import 'package:flutter/material.dart';
602
580
  class Wl${pascal} extends StatefulWidget {
603
581
  const Wl${pascal}({super.key});
604
582
 
583
+ static const skeleton = _Wl${pascal}SkeletonFactory();
584
+
605
585
  @override
606
586
  State<Wl${pascal}> createState() => _Wl${pascal}State();
607
587
  }
@@ -613,6 +593,12 @@ class _Wl${pascal}State extends State<Wl${pascal}> {
613
593
  return const SizedBox.shrink();
614
594
  }
615
595
  }
596
+
597
+ class _Wl${pascal}SkeletonFactory {
598
+ const _Wl${pascal}SkeletonFactory();
599
+
600
+ Widget call({Key? key}) => const SizedBox.shrink();
601
+ }
616
602
  `;
617
603
  }
618
604
  function templateA(name, pascal) {
@@ -847,14 +833,17 @@ class Wl${pascal}Data extends Equatable {
847
833
  }
848
834
  function useCaseTemplate(name, pascal, tierPlural3) {
849
835
  return `import 'package:design_system/design_system.dart';
836
+ import 'package:flutter/material.dart';
850
837
  import 'package:widgetbook/widgetbook.dart';
851
- import 'package:wl_design_system/${tierPlural3}/wl_${name}.dart';
838
+ import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;
852
839
 
853
- WidgetbookUseCase wl${pascal}UseCase(BuildContext context) {
854
- return WidgetbookUseCase(
855
- name: 'Wl${pascal}',
856
- builder: (context) => const Wl${pascal}(),
857
- );
840
+ @widgetbook.UseCase(
841
+ name: 'Wl${pascal}',
842
+ type: Wl${pascal},
843
+ path: 'wl_design_system/${tierPlural3}/wl_${name}',
844
+ )
845
+ Widget useCaseWl${pascal}(BuildContext context) {
846
+ return const Wl${pascal}();
858
847
  }
859
848
  `;
860
849
  }
@@ -926,17 +915,6 @@ function createAtomFiles(tierDir, name, pascal, fileName, pattern) {
926
915
  );
927
916
  break;
928
917
  }
929
- case "subdirectory-parts": {
930
- const dir = path6.join(tierDir, fileName);
931
- fs6.mkdirSync(dir, { recursive: true });
932
- const tpl = atomTemplateC(name, pascal);
933
- fs6.writeFileSync(path6.join(dir, `${fileName}.dart`), tpl.main);
934
- fs6.writeFileSync(
935
- path6.join(dir, `${fileName}_sizes.dart`),
936
- tpl.sizes
937
- );
938
- break;
939
- }
940
918
  default:
941
919
  throw new Error(`Unknown atom pattern: ${pattern}`);
942
920
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wlmaker",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Create Flutter BLoCs with Freezed sealed classes from the terminal",
5
5
  "keywords": [
6
6
  "flutter",