@almadar/core 10.91.0 → 10.92.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.
Files changed (34) hide show
  1. package/dist/builders.d.ts +3 -3
  2. package/dist/builders.js +2 -1
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{effect-Bt8vKHwd.d.ts → effect-DGa2ixo7.d.ts} +5 -1
  5. package/dist/{entityAccess-BdDX85rM.d.ts → entityAccess-CXennIKj.d.ts} +1 -1
  6. package/dist/factory/index.d.ts +4 -4
  7. package/dist/factory/index.js +212 -31
  8. package/dist/factory/index.js.map +1 -1
  9. package/dist/factory-runtime/index.d.ts +3 -3
  10. package/dist/factory-runtime/index.js +6 -2
  11. package/dist/factory-runtime/index.js.map +1 -1
  12. package/dist/{index-rOBf1Oag.d.ts → index-BFortVj8.d.ts} +19 -10
  13. package/dist/index.d.ts +11 -72
  14. package/dist/index.js +401 -134
  15. package/dist/index.js.map +1 -1
  16. package/dist/mock/index.d.ts +4 -4
  17. package/dist/patterns/component-mapping.json +1 -1
  18. package/dist/patterns/event-contracts.json +1 -1
  19. package/dist/patterns/index.d.ts +791 -78
  20. package/dist/patterns/index.js +351 -35
  21. package/dist/patterns/index.js.map +1 -1
  22. package/dist/patterns/integrators-registry.json +136 -1
  23. package/dist/patterns/patterns-registry.json +213 -32
  24. package/dist/patterns/registry.json +213 -32
  25. package/dist/patterns/services-registry.json +136 -1
  26. package/dist/{schema-ovDTDQz9.d.ts → schema-DIL07Bmv.d.ts} +25 -25
  27. package/dist/state-machine/index.js +19 -4
  28. package/dist/state-machine/index.js.map +1 -1
  29. package/dist/{trait-C3e3btfn.d.ts → trait-DHb48lyx.d.ts} +10 -1
  30. package/dist/types/index.d.ts +5 -5
  31. package/dist/types/index.js +30 -2
  32. package/dist/types/index.js.map +1 -1
  33. package/dist/{types-rh0naR6C.d.ts → types-F5EPwMor.d.ts} +2 -2
  34. package/package.json +1 -1
@@ -2825,7 +2825,7 @@ type EntityData = Record<string, EntityRow[]>;
2825
2825
  *
2826
2826
  * DO NOT EDIT MANUALLY — regenerated by almadar-pattern-sync `patterns` command.
2827
2827
  *
2828
- * Generated: 2026-09-12T07:27:40.309Z
2828
+ * Generated: 2026-09-12T18:14:02.464Z
2829
2829
  * Pattern count: 280
2830
2830
  */
2831
2831
 
@@ -3733,6 +3733,7 @@ interface PatternPropsMap {
3733
3733
  renderItem?: ((...args: unknown[]) => unknown) | string | SExpr;
3734
3734
  pageSize?: number | string | SExpr;
3735
3735
  look?: string | SExpr;
3736
+ relationsData?: PatternPropValue | string | SExpr;
3736
3737
  };
3737
3738
  'data-list': {
3738
3739
  type: 'data-list';
@@ -3775,6 +3776,7 @@ interface PatternPropsMap {
3775
3776
  sortBy?: string | SExpr;
3776
3777
  sortDirection?: string | SExpr;
3777
3778
  look?: string | SExpr;
3779
+ relationsData?: PatternPropValue | string | SExpr;
3778
3780
  };
3779
3781
  'date-range-picker': {
3780
3782
  type: 'date-range-picker';
@@ -4247,6 +4249,7 @@ interface PatternPropsMap {
4247
4249
  headerActions?: unknown | string | SExpr;
4248
4250
  showTotal?: boolean | string | SExpr;
4249
4251
  look?: string | SExpr;
4252
+ relationsData?: PatternPropValue | string | SExpr;
4250
4253
  };
4251
4254
  'error-boundary': {
4252
4255
  type: 'error-boundary';
@@ -6240,6 +6243,7 @@ interface PatternPropsMap {
6240
6243
  children?: ((...args: unknown[]) => unknown) | string | SExpr;
6241
6244
  renderItem?: ((...args: unknown[]) => unknown) | string | SExpr;
6242
6245
  look?: string | SExpr;
6246
+ relationsData?: PatternPropValue | string | SExpr;
6243
6247
  };
6244
6248
  'tabs': {
6245
6249
  type: 'tabs';
@@ -1,4 +1,4 @@
1
- import { O as OrbitalSchema } from './schema-ovDTDQz9.js';
1
+ import { O as OrbitalSchema } from './schema-DIL07Bmv.js';
2
2
  import { S as SExpr } from './expression-WfTp2arD.js';
3
3
 
4
4
  /**
@@ -1,7 +1,7 @@
1
- import { k as FactorySignatureCatalog, h as FactoryParamValue, c as FactoryConfigTier, b as FactoryConfigParam, F as FactoryCallSite, j as FactorySignature, R as RuleOverlay, p as RuleOverlayEntry, o as PresentationOverlay, T as TraitOverlay, J as JsonSchema } from '../types-rh0naR6C.js';
2
- export { a as FactoryCallSiteParams, d as FactoryEntitySignature, e as FactoryEventSignature, f as FactoryExposure, g as FactoryPageSignature, i as FactoryProvenance, l as FactorySignatureEntityField, m as FactoryTraitSignature, n as JsonSchemaType, O as OwnershipOverlayEntry, P as PresentationNavItem, S as SchemaFieldType, q as TraitOverlayEntry, r as TraitOverlayListener } from '../types-rh0naR6C.js';
3
- import { a as EntityPersistence, E as EntityField } from '../effect-Bt8vKHwd.js';
4
- import { a as TraitReference } from '../trait-C3e3btfn.js';
1
+ import { k as FactorySignatureCatalog, h as FactoryParamValue, c as FactoryConfigTier, b as FactoryConfigParam, F as FactoryCallSite, j as FactorySignature, R as RuleOverlay, p as RuleOverlayEntry, o as PresentationOverlay, T as TraitOverlay, J as JsonSchema } from '../types-F5EPwMor.js';
2
+ export { a as FactoryCallSiteParams, d as FactoryEntitySignature, e as FactoryEventSignature, f as FactoryExposure, g as FactoryPageSignature, i as FactoryProvenance, l as FactorySignatureEntityField, m as FactoryTraitSignature, n as JsonSchemaType, O as OwnershipOverlayEntry, P as PresentationNavItem, S as SchemaFieldType, q as TraitOverlayEntry, r as TraitOverlayListener } from '../types-F5EPwMor.js';
3
+ import { a as EntityPersistence, E as EntityField } from '../effect-DGa2ixo7.js';
4
+ import { a as TraitReference } from '../trait-DHb48lyx.js';
5
5
  export { J as JsonValue } from '../json-D8gmyK3l.js';
6
6
  import 'zod';
7
7
  import '../expression-WfTp2arD.js';
@@ -929,6 +929,7 @@ var patterns_registry_default = {
929
929
  tier: "organisms",
930
930
  family: "core",
931
931
  description: "Data table with columns and sorting",
932
+ fieldsContract: "display",
932
933
  suggestedFor: [
933
934
  "data-dense views",
934
935
  "comparisons",
@@ -1397,6 +1398,48 @@ var patterns_registry_default = {
1397
1398
  "card-rows"
1398
1399
  ],
1399
1400
  default: "dense"
1401
+ },
1402
+ relationsData: {
1403
+ types: [
1404
+ "object"
1405
+ ],
1406
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
1407
+ mapValue: {
1408
+ types: [
1409
+ "array"
1410
+ ],
1411
+ items: {
1412
+ types: [
1413
+ "object"
1414
+ ],
1415
+ properties: {
1416
+ value: {
1417
+ types: [
1418
+ "string"
1419
+ ]
1420
+ },
1421
+ label: {
1422
+ types: [
1423
+ "string"
1424
+ ]
1425
+ },
1426
+ description: {
1427
+ types: [
1428
+ "string"
1429
+ ]
1430
+ },
1431
+ disabled: {
1432
+ types: [
1433
+ "boolean"
1434
+ ]
1435
+ }
1436
+ },
1437
+ required: [
1438
+ "value",
1439
+ "label"
1440
+ ]
1441
+ }
1442
+ }
1400
1443
  }
1401
1444
  }
1402
1445
  },
@@ -1627,7 +1670,6 @@ var patterns_registry_default = {
1627
1670
  "function"
1628
1671
  ],
1629
1672
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
1630
- kind: "callback",
1631
1673
  callbackArgs: [
1632
1674
  {
1633
1675
  name: "item",
@@ -10673,6 +10715,7 @@ var patterns_registry_default = {
10673
10715
  "repeatable-form-section": {
10674
10716
  type: "repeatable-form-section",
10675
10717
  category: "form",
10718
+ sourceFile: "components/core/molecules/RepeatableFormSection.tsx",
10676
10719
  tier: "molecules",
10677
10720
  family: "core",
10678
10721
  description: "RepeatableFormSection \u2014 a form section that repeats a fixed group of fields, letting the user add or remove entries.",
@@ -10736,7 +10779,6 @@ var patterns_registry_default = {
10736
10779
  ],
10737
10780
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
10738
10781
  required: true,
10739
- kind: "callback",
10740
10782
  callbackArgs: [
10741
10783
  {
10742
10784
  name: "item",
@@ -18332,6 +18374,7 @@ var patterns_registry_default = {
18332
18374
  "state-machine-view": {
18333
18375
  type: "state-machine-view",
18334
18376
  category: "display",
18377
+ sourceFile: "components/core/organisms/StateMachineView.tsx",
18335
18378
  tier: "organisms",
18336
18379
  family: "core",
18337
18380
  description: "StateMachineView component",
@@ -18399,7 +18442,6 @@ var patterns_registry_default = {
18399
18442
  "function"
18400
18443
  ],
18401
18444
  description: "Custom state node renderer \u2014 when provided, replaces the default circle nodes",
18402
- kind: "callback",
18403
18445
  callbackArgs: [
18404
18446
  {
18405
18447
  name: "state",
@@ -18783,6 +18825,7 @@ var patterns_registry_default = {
18783
18825
  "calendar-grid": {
18784
18826
  type: "calendar-grid",
18785
18827
  category: "display",
18828
+ sourceFile: "components/core/molecules/CalendarGrid.tsx",
18786
18829
  tier: "molecules",
18787
18830
  family: "core",
18788
18831
  description: "CalendarGrid component",
@@ -18920,7 +18963,8 @@ var patterns_registry_default = {
18920
18963
  "object"
18921
18964
  ],
18922
18965
  description: "Additional payload for long-press events",
18923
- payloadFor: "longPressEvent"
18966
+ payloadFor: "longPressEvent",
18967
+ eventPayloadBrand: true
18924
18968
  },
18925
18969
  swipeLeftEvent: {
18926
18970
  types: [
@@ -18982,7 +19026,6 @@ var patterns_registry_default = {
18982
19026
  "function"
18983
19027
  ],
18984
19028
  description: "Render function for one event chip's content. Receives the row and its index in the materialised events array. The grid keeps ownership of placement, colour and the click target; this replaces only what is drawn INSIDE the chip, so a host can show a time + instructor + badge stack instead of the default single label.",
18985
- kind: "callback",
18986
19029
  callbackArgs: [
18987
19030
  {
18988
19031
  name: "item",
@@ -19000,7 +19043,6 @@ var patterns_registry_default = {
19000
19043
  "function"
19001
19044
  ],
19002
19045
  description: 'Per-event render function (schema-level alias for the children render prop). In `.orb`: `["fn", "item", { pattern tree with @item.field bindings }]`. In `.lolo`: `renderItem: (fn item <Component \u2026={@item.field}/>)` \u2014 the same contract `data-list` / `data-grid` / `carousel` already use.',
19003
- kind: "callback",
19004
19046
  callbackArgs: [
19005
19047
  {
19006
19048
  name: "item",
@@ -19546,6 +19588,7 @@ var patterns_registry_default = {
19546
19588
  "progress-dots": {
19547
19589
  type: "progress-dots",
19548
19590
  category: "component",
19591
+ sourceFile: "components/core/molecules/ProgressDots.tsx",
19549
19592
  tier: "molecules",
19550
19593
  family: "core",
19551
19594
  description: "ProgressDots component",
@@ -19575,7 +19618,6 @@ var patterns_registry_default = {
19575
19618
  "function"
19576
19619
  ],
19577
19620
  description: "Custom state resolver per dot index",
19578
- kind: "callback",
19579
19621
  callbackArgs: [
19580
19622
  {
19581
19623
  name: "index",
@@ -19625,6 +19667,7 @@ var patterns_registry_default = {
19625
19667
  family: "core",
19626
19668
  description: "DataGrid \u2014 structured records grid rendering rows over configurable columns, with sort, select, and drag-reorder.",
19627
19669
  capabilities: "admin table, records grid, user list, CRUD list, manage-records view, spreadsheet-style data grid, sortable columns",
19670
+ fieldsContract: "display",
19628
19671
  suggestedFor: [
19629
19672
  "data",
19630
19673
  "grid",
@@ -20031,7 +20074,6 @@ var patterns_registry_default = {
20031
20074
  "function"
20032
20075
  ],
20033
20076
  description: "Render prop for custom per-card content. When provided, `fields` are ignored; `itemActions` render as a footer beneath the custom content.",
20034
- kind: "callback",
20035
20077
  callbackArgs: [
20036
20078
  {
20037
20079
  name: "item",
@@ -20049,7 +20091,6 @@ var patterns_registry_default = {
20049
20091
  "function"
20050
20092
  ],
20051
20093
  description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
20052
- kind: "callback",
20053
20094
  callbackArgs: [
20054
20095
  {
20055
20096
  name: "item",
@@ -20082,6 +20123,48 @@ var patterns_registry_default = {
20082
20123
  "card-rows"
20083
20124
  ],
20084
20125
  default: "dense"
20126
+ },
20127
+ relationsData: {
20128
+ types: [
20129
+ "object"
20130
+ ],
20131
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a field whose type is relation. Same contract DetailPanel takes.",
20132
+ mapValue: {
20133
+ types: [
20134
+ "array"
20135
+ ],
20136
+ items: {
20137
+ types: [
20138
+ "object"
20139
+ ],
20140
+ properties: {
20141
+ value: {
20142
+ types: [
20143
+ "string"
20144
+ ]
20145
+ },
20146
+ label: {
20147
+ types: [
20148
+ "string"
20149
+ ]
20150
+ },
20151
+ description: {
20152
+ types: [
20153
+ "string"
20154
+ ]
20155
+ },
20156
+ disabled: {
20157
+ types: [
20158
+ "boolean"
20159
+ ]
20160
+ }
20161
+ },
20162
+ required: [
20163
+ "value",
20164
+ "label"
20165
+ ]
20166
+ }
20167
+ }
20085
20168
  }
20086
20169
  }
20087
20170
  },
@@ -20092,6 +20175,7 @@ var patterns_registry_default = {
20092
20175
  tier: "molecules",
20093
20176
  family: "core",
20094
20177
  description: "DataList component",
20178
+ fieldsContract: "display",
20095
20179
  suggestedFor: [
20096
20180
  "data",
20097
20181
  "list",
@@ -20575,7 +20659,6 @@ var patterns_registry_default = {
20575
20659
  "function"
20576
20660
  ],
20577
20661
  description: "Render prop for custom per-item content. When provided, `fields` and `itemActions` are ignored.",
20578
- kind: "callback",
20579
20662
  callbackArgs: [
20580
20663
  {
20581
20664
  name: "item",
@@ -20593,7 +20676,6 @@ var patterns_registry_default = {
20593
20676
  "function"
20594
20677
  ],
20595
20678
  description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
20596
- kind: "callback",
20597
20679
  callbackArgs: [
20598
20680
  {
20599
20681
  name: "item",
@@ -20642,6 +20724,48 @@ var patterns_registry_default = {
20642
20724
  "card-rows"
20643
20725
  ],
20644
20726
  default: "dense"
20727
+ },
20728
+ relationsData: {
20729
+ types: [
20730
+ "object"
20731
+ ],
20732
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a field whose type is relation. Same contract DetailPanel takes.",
20733
+ mapValue: {
20734
+ types: [
20735
+ "array"
20736
+ ],
20737
+ items: {
20738
+ types: [
20739
+ "object"
20740
+ ],
20741
+ properties: {
20742
+ value: {
20743
+ types: [
20744
+ "string"
20745
+ ]
20746
+ },
20747
+ label: {
20748
+ types: [
20749
+ "string"
20750
+ ]
20751
+ },
20752
+ description: {
20753
+ types: [
20754
+ "string"
20755
+ ]
20756
+ },
20757
+ disabled: {
20758
+ types: [
20759
+ "boolean"
20760
+ ]
20761
+ }
20762
+ },
20763
+ required: [
20764
+ "value",
20765
+ "label"
20766
+ ]
20767
+ }
20768
+ }
20645
20769
  }
20646
20770
  }
20647
20771
  },
@@ -20952,6 +21076,7 @@ var patterns_registry_default = {
20952
21076
  "range-slider": {
20953
21077
  type: "range-slider",
20954
21078
  category: "component",
21079
+ sourceFile: "components/core/atoms/RangeSlider.tsx",
20955
21080
  tier: "atoms",
20956
21081
  family: "core",
20957
21082
  description: "RangeSlider component",
@@ -21054,7 +21179,8 @@ var patterns_registry_default = {
21054
21179
  "object"
21055
21180
  ],
21056
21181
  description: "Payload to include with the action event",
21057
- payloadFor: "action"
21182
+ payloadFor: "action",
21183
+ eventPayloadBrand: true
21058
21184
  },
21059
21185
  onChange: {
21060
21186
  types: [
@@ -21074,7 +21200,6 @@ var patterns_registry_default = {
21074
21200
  "function"
21075
21201
  ],
21076
21202
  description: "Format function for tooltip display",
21077
- kind: "callback",
21078
21203
  callbackArgs: [
21079
21204
  {
21080
21205
  name: "value",
@@ -21924,7 +22049,6 @@ var patterns_registry_default = {
21924
22049
  "function"
21925
22050
  ],
21926
22051
  description: "Render function for each slide. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
21927
- kind: "callback",
21928
22052
  callbackArgs: [
21929
22053
  {
21930
22054
  name: "item",
@@ -21964,7 +22088,6 @@ var patterns_registry_default = {
21964
22088
  "function"
21965
22089
  ],
21966
22090
  description: "Children-as-function fallback for renderItem (compiler compatibility)",
21967
- kind: "callback",
21968
22091
  callbackArgs: [
21969
22092
  {
21970
22093
  name: "item",
@@ -22122,6 +22245,7 @@ var patterns_registry_default = {
22122
22245
  "sortable-list": {
22123
22246
  type: "sortable-list",
22124
22247
  category: "display",
22248
+ sourceFile: "components/core/molecules/SortableList.tsx",
22125
22249
  tier: "molecules",
22126
22250
  family: "core",
22127
22251
  description: "SortableList \u2014 a drag-and-drop reorderable list of items.",
@@ -22149,7 +22273,6 @@ var patterns_registry_default = {
22149
22273
  ],
22150
22274
  description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
22151
22275
  required: true,
22152
- kind: "callback",
22153
22276
  callbackArgs: [
22154
22277
  {
22155
22278
  name: "item",
@@ -22193,7 +22316,8 @@ var patterns_registry_default = {
22193
22316
  "object"
22194
22317
  ],
22195
22318
  description: "reorderPayload prop",
22196
- payloadFor: "reorderEvent"
22319
+ payloadFor: "reorderEvent",
22320
+ eventPayloadBrand: true
22197
22321
  },
22198
22322
  dragHandlePosition: {
22199
22323
  types: [
@@ -31677,6 +31801,7 @@ var patterns_registry_default = {
31677
31801
  "doc-search": {
31678
31802
  type: "doc-search",
31679
31803
  category: "filter",
31804
+ sourceFile: "components/core/molecules/DocSearch.tsx",
31680
31805
  tier: "molecules",
31681
31806
  family: "core",
31682
31807
  description: "DocSearch component",
@@ -31698,7 +31823,6 @@ var patterns_registry_default = {
31698
31823
  "function"
31699
31824
  ],
31700
31825
  description: "Callback invoked with the search query, returns results",
31701
- kind: "callback",
31702
31826
  callbackArgs: [
31703
31827
  {
31704
31828
  name: "query",
@@ -37887,6 +38011,7 @@ var patterns_registry_default = {
37887
38011
  family: "core",
37888
38012
  description: "TableView \u2014 sortable, selectable data table rendering rows over configurable columns, with inline row actions and grouping.",
37889
38013
  capabilities: "admin console table, records list, CRUD data table, user list, manage-users grid, sortable columns, row selection with bulk actions, grouped list view",
38014
+ fieldsContract: "display",
37890
38015
  suggestedFor: [
37891
38016
  "table",
37892
38017
  "view",
@@ -38343,7 +38468,6 @@ var patterns_registry_default = {
38343
38468
  "function"
38344
38469
  ],
38345
38470
  description: "Custom per-row render. When provided, the whole row content is delegated to this function (columns are ignored for the body; the header still renders). Mirrors DataList's children render prop.",
38346
- kind: "callback",
38347
38471
  callbackArgs: [
38348
38472
  {
38349
38473
  name: "item",
@@ -38361,7 +38485,6 @@ var patterns_registry_default = {
38361
38485
  "function"
38362
38486
  ],
38363
38487
  description: 'Per-row render function (schema alias). In .orb: ["fn","item",{...}]. The compiler converts this to the children render prop. In .lolo, author the per-row renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
38364
- kind: "callback",
38365
38488
  callbackArgs: [
38366
38489
  {
38367
38490
  name: "item",
@@ -38387,6 +38510,48 @@ var patterns_registry_default = {
38387
38510
  "bordered"
38388
38511
  ],
38389
38512
  default: "dense"
38513
+ },
38514
+ relationsData: {
38515
+ types: [
38516
+ "object"
38517
+ ],
38518
+ description: "Relation display data: { fieldName: [{value, label}] } \u2014 injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names for a column whose field is relation-typed. Same contract DetailPanel takes.",
38519
+ mapValue: {
38520
+ types: [
38521
+ "array"
38522
+ ],
38523
+ items: {
38524
+ types: [
38525
+ "object"
38526
+ ],
38527
+ properties: {
38528
+ value: {
38529
+ types: [
38530
+ "string"
38531
+ ]
38532
+ },
38533
+ label: {
38534
+ types: [
38535
+ "string"
38536
+ ]
38537
+ },
38538
+ description: {
38539
+ types: [
38540
+ "string"
38541
+ ]
38542
+ },
38543
+ disabled: {
38544
+ types: [
38545
+ "boolean"
38546
+ ]
38547
+ }
38548
+ },
38549
+ required: [
38550
+ "value",
38551
+ "label"
38552
+ ]
38553
+ }
38554
+ }
38390
38555
  }
38391
38556
  }
38392
38557
  },
@@ -38968,6 +39133,7 @@ var patterns_registry_default = {
38968
39133
  "code-runner-panel": {
38969
39134
  type: "code-runner-panel",
38970
39135
  category: "display",
39136
+ sourceFile: "components/core/organisms/CodeRunnerPanel.tsx",
38971
39137
  tier: "organisms",
38972
39138
  family: "core",
38973
39139
  description: "CodeRunnerPanel component",
@@ -39005,7 +39171,6 @@ var patterns_registry_default = {
39005
39171
  "function"
39006
39172
  ],
39007
39173
  description: "Simulate executing the code. Omit to render a read-only block. Real execution is a separate future track \u2014 this callback supplies deterministic simulated output for UI feedback.",
39008
- kind: "callback",
39009
39174
  callbackArgs: [
39010
39175
  {
39011
39176
  name: "code",
@@ -39032,6 +39197,7 @@ var patterns_registry_default = {
39032
39197
  "segment-renderer": {
39033
39198
  type: "segment-renderer",
39034
39199
  category: "display",
39200
+ sourceFile: "components/core/organisms/SegmentRenderer.tsx",
39035
39201
  tier: "organisms",
39036
39202
  family: "core",
39037
39203
  description: "SegmentRenderer component",
@@ -39123,7 +39289,6 @@ var patterns_registry_default = {
39123
39289
  "function"
39124
39290
  ],
39125
39291
  description: "Simulate executing runnable code blocks. Omit to render runnable blocks as read-only. Real execution is a future track.",
39126
- kind: "callback",
39127
39292
  callbackArgs: [
39128
39293
  {
39129
39294
  name: "code",
@@ -39141,7 +39306,6 @@ var patterns_registry_default = {
39141
39306
  "function"
39142
39307
  ],
39143
39308
  description: "Optional render slot for `visualization` segment types. When not provided, visualization segments are silently skipped. Callers can wire this to any custom component or orbital generator.",
39144
- kind: "callback",
39145
39309
  callbackArgs: [
39146
39310
  {
39147
39311
  name: "type",
@@ -39940,10 +40104,12 @@ var patterns_registry_default = {
39940
40104
  "object"
39941
40105
  ],
39942
40106
  description: "Maps a keydown `e.code` \u2192 the board's SEMANTIC event (device-agnostic input).",
40107
+ kind: "event-map",
39943
40108
  mapValue: {
39944
40109
  types: [
39945
40110
  "string"
39946
- ]
40111
+ ],
40112
+ kind: "event"
39947
40113
  }
39948
40114
  },
39949
40115
  keyUpMap: {
@@ -39951,10 +40117,12 @@ var patterns_registry_default = {
39951
40117
  "object"
39952
40118
  ],
39953
40119
  description: "Maps a keyup `e.code` \u2192 the board's SEMANTIC event.",
40120
+ kind: "event-map",
39954
40121
  mapValue: {
39955
40122
  types: [
39956
40123
  "string"
39957
- ]
40124
+ ],
40125
+ kind: "event"
39958
40126
  }
39959
40127
  },
39960
40128
  editable: {
@@ -40415,10 +40583,12 @@ var patterns_registry_default = {
40415
40583
  "object"
40416
40584
  ],
40417
40585
  description: 'Per-direction PRESS \u2192 the board\'s SEMANTIC event (kind="dpad"), e.g. `{ left: "LEFT", right: "RIGHT", up: "JUMP" }`. Lets the d-pad emit the SAME intent events as the keyboard so the FSM stays device-agnostic.',
40586
+ kind: "event-map",
40418
40587
  mapValue: {
40419
40588
  types: [
40420
40589
  "string"
40421
- ]
40590
+ ],
40591
+ kind: "event"
40422
40592
  }
40423
40593
  },
40424
40594
  directionReleaseEvents: {
@@ -40426,10 +40596,12 @@ var patterns_registry_default = {
40426
40596
  "object"
40427
40597
  ],
40428
40598
  description: 'Per-direction RELEASE \u2192 semantic event, e.g. `{ left: "STOP", right: "STOP" }`. Omit a direction to ignore its release.',
40599
+ kind: "event-map",
40429
40600
  mapValue: {
40430
40601
  types: [
40431
40602
  "string"
40432
- ]
40603
+ ],
40604
+ kind: "event"
40433
40605
  }
40434
40606
  },
40435
40607
  directionAssets: {
@@ -44378,6 +44550,7 @@ var patterns_registry_default = {
44378
44550
  "math-canvas": {
44379
44551
  type: "math-canvas",
44380
44552
  category: "learning",
44553
+ sourceFile: "components/learning/molecules/MathCanvas.tsx",
44381
44554
  tier: "molecules",
44382
44555
  family: "learning",
44383
44556
  description: "MathCanvas component",
@@ -45409,10 +45582,12 @@ var patterns_registry_default = {
45409
45582
  "object"
45410
45583
  ],
45411
45584
  description: "Maps a keydown `e.code` \u2192 the board's SEMANTIC event (device-agnostic input), emitted as `UI:{event}` \u2014 same contract as the game canvas keyMap.",
45585
+ kind: "event-map",
45412
45586
  mapValue: {
45413
45587
  types: [
45414
45588
  "string"
45415
- ]
45589
+ ],
45590
+ kind: "event"
45416
45591
  }
45417
45592
  },
45418
45593
  keyUpMap: {
@@ -45420,10 +45595,12 @@ var patterns_registry_default = {
45420
45595
  "object"
45421
45596
  ],
45422
45597
  description: "Maps a keyup `e.code` \u2192 the board's SEMANTIC event.",
45598
+ kind: "event-map",
45423
45599
  mapValue: {
45424
45600
  types: [
45425
45601
  "string"
45426
- ]
45602
+ ],
45603
+ kind: "event"
45427
45604
  }
45428
45605
  },
45429
45606
  isLoading: {
@@ -51173,10 +51350,12 @@ var patterns_registry_default = {
51173
51350
  "object"
51174
51351
  ],
51175
51352
  description: "keyMap prop",
51353
+ kind: "event-map",
51176
51354
  mapValue: {
51177
51355
  types: [
51178
51356
  "string"
51179
- ]
51357
+ ],
51358
+ kind: "event"
51180
51359
  }
51181
51360
  },
51182
51361
  keyUpMap: {
@@ -51184,10 +51363,12 @@ var patterns_registry_default = {
51184
51363
  "object"
51185
51364
  ],
51186
51365
  description: "keyUpMap prop",
51366
+ kind: "event-map",
51187
51367
  mapValue: {
51188
51368
  types: [
51189
51369
  "string"
51190
- ]
51370
+ ],
51371
+ kind: "event"
51191
51372
  }
51192
51373
  },
51193
51374
  editable: {