@almadar/patterns 2.1.0 → 2.2.0

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.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/patterns-registry.json
2
2
  var patterns_registry_default = {
3
3
  version: "1.0.0",
4
- exportedAt: "2026-03-06T07:07:47.853Z",
4
+ exportedAt: "2026-03-08T11:32:49.899Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -96,7 +96,8 @@ var patterns_registry_default = {
96
96
  types: [
97
97
  "unknown"
98
98
  ],
99
- description: "Fields to display - accepts string[] or Column[] for unified interface. Alias for columns"
99
+ description: "Fields to display - accepts string[] or Column[] for unified interface. Alias for columns",
100
+ required: true
100
101
  },
101
102
  columns: {
102
103
  types: [
@@ -319,7 +320,8 @@ var patterns_registry_default = {
319
320
  types: [
320
321
  "unknown"
321
322
  ],
322
- description: "Fields to display - accepts string[] or {key, header}[] for unified interface"
323
+ description: "Fields to display - accepts string[] or {key, header}[] for unified interface",
324
+ required: true
323
325
  },
324
326
  fieldNames: {
325
327
  types: [
@@ -452,7 +454,8 @@ var patterns_registry_default = {
452
454
  types: [
453
455
  "unknown"
454
456
  ],
455
- description: "Fields to display - accepts string[] or {key, header}[] for unified interface"
457
+ description: "Fields to display - required for schema-driven rendering",
458
+ required: true
456
459
  },
457
460
  fieldNames: {
458
461
  types: [
@@ -489,6 +492,12 @@ var patterns_registry_default = {
489
492
  "string"
490
493
  ],
491
494
  description: "Visual variant for the card grid"
495
+ },
496
+ imageField: {
497
+ types: [
498
+ "string"
499
+ ],
500
+ description: "Entity field name containing an image URL to display as card thumbnail"
492
501
  }
493
502
  }
494
503
  },
@@ -633,7 +642,8 @@ var patterns_registry_default = {
633
642
  types: [
634
643
  "unknown"
635
644
  ],
636
- description: "Fields to display - accepts string[], {key, header}[], or DetailField[]"
645
+ description: "Fields to display - accepts string[], {key, header}[], or DetailField[]",
646
+ required: true
637
647
  },
638
648
  fieldNames: {
639
649
  types: [
@@ -843,7 +853,8 @@ var patterns_registry_default = {
843
853
  entity: {
844
854
  types: [
845
855
  "string",
846
- "orbitalentity"
856
+ "orbitalentity",
857
+ "unknown"
847
858
  ],
848
859
  description: "Schema-based props"
849
860
  },
@@ -857,7 +868,8 @@ var patterns_registry_default = {
857
868
  types: [
858
869
  "unknown"
859
870
  ],
860
- description: "Fields definition (schema format) - accepts readonly for generated const arrays"
871
+ description: "Fields definition (schema format) - accepts readonly for generated const arrays",
872
+ required: true
861
873
  },
862
874
  initialData: {
863
875
  types: [
@@ -914,6 +926,12 @@ var patterns_registry_default = {
914
926
  ],
915
927
  description: "Event to dispatch on cancel (defaults to 'CANCEL')"
916
928
  },
929
+ entityId: {
930
+ types: [
931
+ "string"
932
+ ],
933
+ description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
934
+ },
917
935
  relationsData: {
918
936
  types: [
919
937
  "object"
@@ -1030,7 +1048,8 @@ var patterns_registry_default = {
1030
1048
  entity: {
1031
1049
  types: [
1032
1050
  "string",
1033
- "orbitalentity"
1051
+ "orbitalentity",
1052
+ "unknown"
1034
1053
  ],
1035
1054
  description: "Schema-based props"
1036
1055
  },
@@ -1044,7 +1063,8 @@ var patterns_registry_default = {
1044
1063
  types: [
1045
1064
  "unknown"
1046
1065
  ],
1047
- description: "Fields definition (schema format) - accepts readonly for generated const arrays"
1066
+ description: "Fields definition (schema format) - accepts readonly for generated const arrays",
1067
+ required: true
1048
1068
  },
1049
1069
  initialData: {
1050
1070
  types: [
@@ -1101,6 +1121,12 @@ var patterns_registry_default = {
1101
1121
  ],
1102
1122
  description: "Event to dispatch on cancel (defaults to 'CANCEL')"
1103
1123
  },
1124
+ entityId: {
1125
+ types: [
1126
+ "string"
1127
+ ],
1128
+ description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
1129
+ },
1104
1130
  relationsData: {
1105
1131
  types: [
1106
1132
  "object"
@@ -8085,7 +8111,8 @@ var patterns_registry_default = {
8085
8111
  types: [
8086
8112
  "unknown"
8087
8113
  ],
8088
- description: "Fields to display"
8114
+ description: "Fields to display",
8115
+ required: true
8089
8116
  },
8090
8117
  itemActions: {
8091
8118
  types: [
@@ -13507,6 +13534,492 @@ var patterns_registry_default = {
13507
13534
  }
13508
13535
  }
13509
13536
  },
13537
+ "day-cell": {
13538
+ type: "day-cell",
13539
+ category: "component",
13540
+ description: "DayCell component",
13541
+ suggestedFor: [
13542
+ "day",
13543
+ "cell",
13544
+ "day cell"
13545
+ ],
13546
+ typicalSize: "small",
13547
+ propsSchema: {
13548
+ date: {
13549
+ types: [
13550
+ "date"
13551
+ ],
13552
+ description: "The date this cell represents",
13553
+ required: true
13554
+ },
13555
+ isToday: {
13556
+ types: [
13557
+ "boolean"
13558
+ ],
13559
+ description: "Whether this date is today"
13560
+ },
13561
+ onClick: {
13562
+ types: [
13563
+ "function"
13564
+ ],
13565
+ description: "Called when the day is clicked"
13566
+ },
13567
+ className: {
13568
+ types: [
13569
+ "string"
13570
+ ],
13571
+ description: "Additional CSS classes"
13572
+ }
13573
+ }
13574
+ },
13575
+ "flip-container": {
13576
+ type: "flip-container",
13577
+ category: "layout",
13578
+ description: "FlipContainer component",
13579
+ suggestedFor: [
13580
+ "flip",
13581
+ "container",
13582
+ "flip container"
13583
+ ],
13584
+ typicalSize: "small",
13585
+ propsSchema: {
13586
+ flipped: {
13587
+ types: [
13588
+ "boolean"
13589
+ ],
13590
+ description: "Whether the container is flipped (rotateY 180deg)",
13591
+ required: true
13592
+ },
13593
+ className: {
13594
+ types: [
13595
+ "string"
13596
+ ],
13597
+ description: "Optional className for the outer wrapper"
13598
+ },
13599
+ children: {
13600
+ types: [
13601
+ "node"
13602
+ ],
13603
+ description: "The two face elements (front and back)",
13604
+ required: true
13605
+ },
13606
+ onClick: {
13607
+ types: [
13608
+ "function"
13609
+ ],
13610
+ description: "Click handler on the outer wrapper"
13611
+ }
13612
+ }
13613
+ },
13614
+ "time-slot-cell": {
13615
+ type: "time-slot-cell",
13616
+ category: "layout",
13617
+ description: "TimeSlotCell component",
13618
+ suggestedFor: [
13619
+ "time",
13620
+ "slot",
13621
+ "cell",
13622
+ "time slot cell"
13623
+ ],
13624
+ typicalSize: "small",
13625
+ propsSchema: {
13626
+ time: {
13627
+ types: [
13628
+ "string"
13629
+ ],
13630
+ description: 'Time label for this slot (e.g. "09:00")',
13631
+ required: true
13632
+ },
13633
+ onClick: {
13634
+ types: [
13635
+ "function"
13636
+ ],
13637
+ description: "Called when the slot is clicked"
13638
+ },
13639
+ className: {
13640
+ types: [
13641
+ "string"
13642
+ ],
13643
+ description: "Additional CSS classes"
13644
+ },
13645
+ children: {
13646
+ types: [
13647
+ "node"
13648
+ ],
13649
+ description: "Event content placed inside the slot"
13650
+ },
13651
+ isOccupied: {
13652
+ types: [
13653
+ "boolean"
13654
+ ],
13655
+ description: "Whether this slot contains an event"
13656
+ }
13657
+ }
13658
+ },
13659
+ "calendar-grid": {
13660
+ type: "calendar-grid",
13661
+ category: "display",
13662
+ description: "CalendarGrid component",
13663
+ suggestedFor: [
13664
+ "calendar",
13665
+ "grid",
13666
+ "calendar grid"
13667
+ ],
13668
+ typicalSize: "medium",
13669
+ propsSchema: {
13670
+ weekStart: {
13671
+ types: [
13672
+ "date"
13673
+ ],
13674
+ description: "Start of the week (defaults to current week's Monday)"
13675
+ },
13676
+ timeSlots: {
13677
+ types: [
13678
+ "array"
13679
+ ],
13680
+ description: "Time slot labels (defaults to 09:00-17:00)"
13681
+ },
13682
+ events: {
13683
+ types: [
13684
+ "array"
13685
+ ],
13686
+ description: "Events to display on the grid"
13687
+ },
13688
+ onSlotClick: {
13689
+ types: [
13690
+ "function"
13691
+ ],
13692
+ description: "Called when a time slot is clicked"
13693
+ },
13694
+ onDayClick: {
13695
+ types: [
13696
+ "function"
13697
+ ],
13698
+ description: "Called when a day header is clicked"
13699
+ },
13700
+ onEventClick: {
13701
+ types: [
13702
+ "function"
13703
+ ],
13704
+ description: "Called when an event is clicked"
13705
+ },
13706
+ className: {
13707
+ types: [
13708
+ "string"
13709
+ ],
13710
+ description: "Additional CSS classes"
13711
+ }
13712
+ }
13713
+ },
13714
+ "chart-legend": {
13715
+ type: "chart-legend",
13716
+ category: "display",
13717
+ description: "ChartLegend component",
13718
+ suggestedFor: [
13719
+ "chart",
13720
+ "legend",
13721
+ "chart legend"
13722
+ ],
13723
+ typicalSize: "medium",
13724
+ propsSchema: {
13725
+ items: {
13726
+ types: [
13727
+ "array"
13728
+ ],
13729
+ description: "Legend items with label and color",
13730
+ required: true
13731
+ },
13732
+ className: {
13733
+ types: [
13734
+ "string"
13735
+ ],
13736
+ description: "Additional CSS classes"
13737
+ },
13738
+ direction: {
13739
+ types: [
13740
+ "string"
13741
+ ],
13742
+ description: "Layout direction"
13743
+ }
13744
+ }
13745
+ },
13746
+ "date-range-selector": {
13747
+ type: "date-range-selector",
13748
+ category: "form",
13749
+ description: "DateRangeSelector component",
13750
+ suggestedFor: [
13751
+ "date",
13752
+ "range",
13753
+ "selector",
13754
+ "date range selector"
13755
+ ],
13756
+ typicalSize: "medium",
13757
+ propsSchema: {
13758
+ options: {
13759
+ types: [
13760
+ "array"
13761
+ ],
13762
+ description: "Available range options"
13763
+ },
13764
+ selected: {
13765
+ types: [
13766
+ "string"
13767
+ ],
13768
+ description: "Currently selected value"
13769
+ },
13770
+ onSelect: {
13771
+ types: [
13772
+ "function"
13773
+ ],
13774
+ description: "Callback when a range is selected"
13775
+ },
13776
+ className: {
13777
+ types: [
13778
+ "string"
13779
+ ],
13780
+ description: "Additional CSS classes"
13781
+ }
13782
+ }
13783
+ },
13784
+ "flip-card": {
13785
+ type: "flip-card",
13786
+ category: "display",
13787
+ description: "FlipCard component",
13788
+ suggestedFor: [
13789
+ "flip",
13790
+ "card",
13791
+ "flip card"
13792
+ ],
13793
+ typicalSize: "medium",
13794
+ propsSchema: {
13795
+ front: {
13796
+ types: [
13797
+ "node"
13798
+ ],
13799
+ description: "Content rendered on the front face",
13800
+ required: true
13801
+ },
13802
+ back: {
13803
+ types: [
13804
+ "node"
13805
+ ],
13806
+ description: "Content rendered on the back face",
13807
+ required: true
13808
+ },
13809
+ flipped: {
13810
+ types: [
13811
+ "boolean"
13812
+ ],
13813
+ description: "Controlled flip state"
13814
+ },
13815
+ onFlip: {
13816
+ types: [
13817
+ "function"
13818
+ ],
13819
+ description: "Callback when the card is clicked to flip"
13820
+ },
13821
+ className: {
13822
+ types: [
13823
+ "string"
13824
+ ],
13825
+ description: "Optional className for the outer container"
13826
+ },
13827
+ height: {
13828
+ types: [
13829
+ "string"
13830
+ ],
13831
+ description: "Card height as a Tailwind class (default: 'h-64')"
13832
+ }
13833
+ }
13834
+ },
13835
+ "graph-view": {
13836
+ type: "graph-view",
13837
+ category: "component",
13838
+ description: "GraphView component",
13839
+ suggestedFor: [
13840
+ "graph",
13841
+ "view",
13842
+ "graph view"
13843
+ ],
13844
+ typicalSize: "medium",
13845
+ propsSchema: {
13846
+ nodes: {
13847
+ types: [
13848
+ "array"
13849
+ ],
13850
+ description: "Graph nodes",
13851
+ required: true
13852
+ },
13853
+ edges: {
13854
+ types: [
13855
+ "array"
13856
+ ],
13857
+ description: "Graph edges",
13858
+ required: true
13859
+ },
13860
+ onNodeClick: {
13861
+ types: [
13862
+ "function"
13863
+ ],
13864
+ description: "Callback when a node is clicked"
13865
+ },
13866
+ onNodeHover: {
13867
+ types: [
13868
+ "function"
13869
+ ],
13870
+ description: "Callback when a node is hovered (null on leave)"
13871
+ },
13872
+ width: {
13873
+ types: [
13874
+ "number"
13875
+ ],
13876
+ description: "Width in pixels"
13877
+ },
13878
+ height: {
13879
+ types: [
13880
+ "number"
13881
+ ],
13882
+ description: "Height in pixels"
13883
+ },
13884
+ className: {
13885
+ types: [
13886
+ "string"
13887
+ ],
13888
+ description: "Additional CSS classes"
13889
+ },
13890
+ showLabels: {
13891
+ types: [
13892
+ "boolean"
13893
+ ],
13894
+ description: "Show node labels (default true)"
13895
+ },
13896
+ zoomToFit: {
13897
+ types: [
13898
+ "boolean"
13899
+ ],
13900
+ description: "Auto zoom-to-fit after layout settles (default true)"
13901
+ }
13902
+ }
13903
+ },
13904
+ "line-chart": {
13905
+ type: "line-chart",
13906
+ category: "display",
13907
+ description: "LineChart component",
13908
+ suggestedFor: [
13909
+ "line",
13910
+ "chart",
13911
+ "line chart"
13912
+ ],
13913
+ typicalSize: "medium",
13914
+ propsSchema: {
13915
+ data: {
13916
+ types: [
13917
+ "array"
13918
+ ],
13919
+ description: "Data points to plot",
13920
+ required: true
13921
+ },
13922
+ width: {
13923
+ types: [
13924
+ "number"
13925
+ ],
13926
+ description: "SVG viewBox width"
13927
+ },
13928
+ height: {
13929
+ types: [
13930
+ "number"
13931
+ ],
13932
+ description: "SVG viewBox height"
13933
+ },
13934
+ showGrid: {
13935
+ types: [
13936
+ "boolean"
13937
+ ],
13938
+ description: "Show horizontal grid lines at 25/50/75%"
13939
+ },
13940
+ showValues: {
13941
+ types: [
13942
+ "boolean"
13943
+ ],
13944
+ description: "Show value labels near data points"
13945
+ },
13946
+ showArea: {
13947
+ types: [
13948
+ "boolean"
13949
+ ],
13950
+ description: "Fill area under line with gradient"
13951
+ },
13952
+ lineColor: {
13953
+ types: [
13954
+ "string"
13955
+ ],
13956
+ description: "Line stroke color"
13957
+ },
13958
+ areaColor: {
13959
+ types: [
13960
+ "string"
13961
+ ],
13962
+ description: "Area fill color (used for gradient)"
13963
+ },
13964
+ className: {
13965
+ types: [
13966
+ "string"
13967
+ ],
13968
+ description: "Additional CSS classes"
13969
+ }
13970
+ }
13971
+ },
13972
+ "progress-dots": {
13973
+ type: "progress-dots",
13974
+ category: "component",
13975
+ description: "ProgressDots component",
13976
+ suggestedFor: [
13977
+ "progress",
13978
+ "dots",
13979
+ "progress dots"
13980
+ ],
13981
+ typicalSize: "medium",
13982
+ propsSchema: {
13983
+ count: {
13984
+ types: [
13985
+ "number"
13986
+ ],
13987
+ description: "Total number of dots",
13988
+ required: true
13989
+ },
13990
+ currentIndex: {
13991
+ types: [
13992
+ "number"
13993
+ ],
13994
+ description: "Current active index (0-based)",
13995
+ required: true
13996
+ },
13997
+ getState: {
13998
+ types: [
13999
+ "function"
14000
+ ],
14001
+ description: "Custom state resolver per dot index"
14002
+ },
14003
+ onDotClick: {
14004
+ types: [
14005
+ "function"
14006
+ ],
14007
+ description: "Callback when a dot is clicked"
14008
+ },
14009
+ className: {
14010
+ types: [
14011
+ "string"
14012
+ ],
14013
+ description: "Additional CSS classes"
14014
+ },
14015
+ size: {
14016
+ types: [
14017
+ "dotsize"
14018
+ ],
14019
+ description: "Dot size"
14020
+ }
14021
+ }
14022
+ },
13510
14023
  heading: {
13511
14024
  type: "heading",
13512
14025
  category: "component",
@@ -14323,7 +14836,7 @@ var integrators_registry_default = {
14323
14836
  // src/component-mapping.json
14324
14837
  var component_mapping_default = {
14325
14838
  version: "1.0.0",
14326
- exportedAt: "2026-03-06T07:07:47.853Z",
14839
+ exportedAt: "2026-03-08T11:32:49.899Z",
14327
14840
  mappings: {
14328
14841
  "page-header": {
14329
14842
  component: "PageHeader",
@@ -15263,6 +15776,56 @@ var component_mapping_default = {
15263
15776
  importPath: "@/components/organisms/VariablePanel",
15264
15777
  category: "display"
15265
15778
  },
15779
+ "day-cell": {
15780
+ component: "DayCell",
15781
+ importPath: "@/components/atoms/DayCell",
15782
+ category: "component"
15783
+ },
15784
+ "flip-container": {
15785
+ component: "FlipContainer",
15786
+ importPath: "@/components/atoms/FlipContainer",
15787
+ category: "layout"
15788
+ },
15789
+ "time-slot-cell": {
15790
+ component: "TimeSlotCell",
15791
+ importPath: "@/components/atoms/TimeSlotCell",
15792
+ category: "layout"
15793
+ },
15794
+ "calendar-grid": {
15795
+ component: "CalendarGrid",
15796
+ importPath: "@/components/molecules/CalendarGrid",
15797
+ category: "display"
15798
+ },
15799
+ "chart-legend": {
15800
+ component: "ChartLegend",
15801
+ importPath: "@/components/molecules/ChartLegend",
15802
+ category: "display"
15803
+ },
15804
+ "date-range-selector": {
15805
+ component: "DateRangeSelector",
15806
+ importPath: "@/components/molecules/DateRangeSelector",
15807
+ category: "form"
15808
+ },
15809
+ "flip-card": {
15810
+ component: "FlipCard",
15811
+ importPath: "@/components/molecules/FlipCard",
15812
+ category: "display"
15813
+ },
15814
+ "graph-view": {
15815
+ component: "GraphView",
15816
+ importPath: "@/components/molecules/GraphView",
15817
+ category: "component"
15818
+ },
15819
+ "line-chart": {
15820
+ component: "LineChart",
15821
+ importPath: "@/components/molecules/LineChart",
15822
+ category: "display"
15823
+ },
15824
+ "progress-dots": {
15825
+ component: "ProgressDots",
15826
+ importPath: "@/components/molecules/ProgressDots",
15827
+ category: "component"
15828
+ },
15266
15829
  heading: {
15267
15830
  component: "Typography",
15268
15831
  importPath: "@/components/atoms/Typography",
@@ -15279,7 +15842,7 @@ var component_mapping_default = {
15279
15842
  // src/event-contracts.json
15280
15843
  var event_contracts_default = {
15281
15844
  version: "1.0.0",
15282
- exportedAt: "2026-03-06T07:07:47.853Z",
15845
+ exportedAt: "2026-03-08T11:32:49.899Z",
15283
15846
  contracts: {
15284
15847
  form: {
15285
15848
  emits: [