@almadar/patterns 2.33.1 → 2.35.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-05-29T23:58:15.892Z",
4
+ exportedAt: "2026-06-02T04:23:24.655Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -20,6 +20,8 @@ var patterns_registry_default = {
20
20
  "array"
21
21
  ],
22
22
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
23
+ kind: "entity",
24
+ cardinality: "collection",
23
25
  items: {
24
26
  types: [
25
27
  "object"
@@ -270,7 +272,9 @@ var patterns_registry_default = {
270
272
  "object",
271
273
  "array"
272
274
  ],
273
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
275
+ description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
276
+ kind: "entity",
277
+ cardinality: "collection"
274
278
  },
275
279
  className: {
276
280
  types: [
@@ -447,7 +451,9 @@ var patterns_registry_default = {
447
451
  "object",
448
452
  "array"
449
453
  ],
450
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
454
+ description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
455
+ kind: "entity",
456
+ cardinality: "collection"
451
457
  },
452
458
  className: {
453
459
  types: [
@@ -692,10 +698,11 @@ var patterns_registry_default = {
692
698
  propsSchema: {
693
699
  entity: {
694
700
  types: [
695
- "object",
696
- "array"
701
+ "object"
697
702
  ],
698
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
703
+ description: "RECORD-cardinality override: renders ONE record (see body collapse below).",
704
+ kind: "entity",
705
+ cardinality: "record"
699
706
  },
700
707
  className: {
701
708
  types: [
@@ -4054,6 +4061,8 @@ var patterns_registry_default = {
4054
4061
  "array"
4055
4062
  ],
4056
4063
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
4064
+ kind: "entity",
4065
+ cardinality: "collection",
4057
4066
  items: {
4058
4067
  types: [
4059
4068
  "object"
@@ -9184,6 +9193,8 @@ var patterns_registry_default = {
9184
9193
  "array"
9185
9194
  ],
9186
9195
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
9196
+ kind: "entity",
9197
+ cardinality: "collection",
9187
9198
  items: {
9188
9199
  types: [
9189
9200
  "object"
@@ -10514,7 +10525,14 @@ var patterns_registry_default = {
10514
10525
  "object",
10515
10526
  "array"
10516
10527
  ],
10517
- description: "Schema entity data typed against @almadar/core's EntityRow. Items from `entity` are normalised into `items` when `items` is omitted. UI-specific TimelineItem fields (`icon`, callbacks) cannot round-trip through the event bus, so decorative stories that need them pass `items` directly."
10528
+ description: "Schema entity data typed against @almadar/core's EntityRow. Items from `entity` are normalised into `items` when `items` is omitted. UI-specific TimelineItem fields (`icon`, callbacks) cannot round-trip through the event bus, so decorative stories that need them pass `items` directly.",
10529
+ kind: "entity",
10530
+ cardinality: "collection",
10531
+ items: {
10532
+ types: [
10533
+ "object"
10534
+ ]
10535
+ }
10518
10536
  },
10519
10537
  title: {
10520
10538
  types: [
@@ -10673,6 +10691,8 @@ var patterns_registry_default = {
10673
10691
  "array"
10674
10692
  ],
10675
10693
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
10694
+ kind: "entity",
10695
+ cardinality: "collection",
10676
10696
  items: {
10677
10697
  types: [
10678
10698
  "object"
@@ -11960,7 +11980,9 @@ var patterns_registry_default = {
11960
11980
  "object",
11961
11981
  "array"
11962
11982
  ],
11963
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
11983
+ description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
11984
+ kind: "entity",
11985
+ cardinality: "collection"
11964
11986
  },
11965
11987
  className: {
11966
11988
  types: [
@@ -12385,9 +12407,12 @@ var patterns_registry_default = {
12385
12407
  },
12386
12408
  events: {
12387
12409
  types: [
12410
+ "object",
12388
12411
  "array"
12389
12412
  ],
12390
12413
  description: "Events to display on the grid",
12414
+ kind: "entity",
12415
+ cardinality: "collection",
12391
12416
  items: {
12392
12417
  types: [
12393
12418
  "object"
@@ -13097,8 +13122,15 @@ var patterns_registry_default = {
13097
13122
  "object",
13098
13123
  "array"
13099
13124
  ],
13100
- description: "Schema entity data \u2014 single record or collection, typed against `@almadar/core`'s `EntityRow` so the narrow type declared on the emitting trait's `Event { data : [X] }` flows through to the prop without widening. The generic `T` lets consumers pass a narrower entity (e.g. `CartItem`) and have the `children` render function receive cards typed to that exact shape.",
13101
- required: true
13125
+ description: "Schema entity data \u2014 single record or collection, typed against `@almadar/core`'s `EntityRow` so the narrow type declared on the emitting trait's `Event { data : [X] }` flows through to the prop without widening. The generic `T` lets consumers pass a narrower entity (e.g. `CartItem`) and have the `children` render function receive cards typed to that exact shape. Declared as the pattern's data INLET via `EntityCollection<T>` (the inlet half of the circuit, symmetric with the `EventKey` outlet props below): pattern-sync tags it `kind:\"entity\", cardinality:\"collection\"` so consumers bind the domain entity without name-matching the prop. Structurally still `T | readonly T[]` \u2014 see the brand's doc.",
13126
+ required: true,
13127
+ kind: "entity",
13128
+ cardinality: "collection",
13129
+ items: {
13130
+ types: [
13131
+ "object"
13132
+ ]
13133
+ }
13102
13134
  },
13103
13135
  fields: {
13104
13136
  types: [
@@ -13269,6 +13301,19 @@ var patterns_registry_default = {
13269
13301
  ]
13270
13302
  }
13271
13303
  },
13304
+ maxInlineActions: {
13305
+ types: [
13306
+ "number"
13307
+ ],
13308
+ description: 'Max inline primary action buttons before the rest collapse into a "\u22EF" overflow menu. Omit = all inline.'
13309
+ },
13310
+ scrollX: {
13311
+ types: [
13312
+ "boolean"
13313
+ ],
13314
+ description: "Lay items in a single horizontally-scrolling row (kanban columns) sized to `minCardWidth` instead of a wrapping grid.",
13315
+ default: false
13316
+ },
13272
13317
  cols: {
13273
13318
  types: [
13274
13319
  "number"
@@ -13478,7 +13523,14 @@ var patterns_registry_default = {
13478
13523
  "array"
13479
13524
  ],
13480
13525
  description: "Schema entity data \u2014 single record or collection, typed against `@almadar/core`'s `EntityRow` so the narrow type declared on the emitting trait's `Event { data : [X] }` flows through to the prop without widening. The generic `T` lets consumers pass a narrower entity (e.g. `CartItem`) and have the `children` render function receive items of that exact shape.",
13481
- required: true
13526
+ required: true,
13527
+ kind: "entity",
13528
+ cardinality: "collection",
13529
+ items: {
13530
+ types: [
13531
+ "object"
13532
+ ]
13533
+ }
13482
13534
  },
13483
13535
  fields: {
13484
13536
  types: [
@@ -13639,6 +13691,12 @@ var patterns_registry_default = {
13639
13691
  ]
13640
13692
  }
13641
13693
  },
13694
+ maxInlineActions: {
13695
+ types: [
13696
+ "number"
13697
+ ],
13698
+ description: 'Max inline action buttons before the rest collapse into a "\u22EF" overflow menu. Omit = all inline.'
13699
+ },
13642
13700
  itemClickEvent: {
13643
13701
  types: [
13644
13702
  "string"
@@ -15095,10 +15153,13 @@ var patterns_registry_default = {
15095
15153
  propsSchema: {
15096
15154
  items: {
15097
15155
  types: [
15156
+ "object",
15098
15157
  "array"
15099
15158
  ],
15100
15159
  description: "items prop",
15101
15160
  required: true,
15161
+ kind: "entity",
15162
+ cardinality: "collection",
15102
15163
  items: {
15103
15164
  types: [
15104
15165
  "object"
@@ -16741,6 +16802,8 @@ var patterns_registry_default = {
16741
16802
  "array"
16742
16803
  ],
16743
16804
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
16805
+ kind: "entity",
16806
+ cardinality: "collection",
16744
16807
  items: {
16745
16808
  types: [
16746
16809
  "object"
@@ -16890,6 +16953,8 @@ var patterns_registry_default = {
16890
16953
  "array"
16891
16954
  ],
16892
16955
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
16956
+ kind: "entity",
16957
+ cardinality: "collection",
16893
16958
  items: {
16894
16959
  types: [
16895
16960
  "object"
@@ -17034,155 +17099,151 @@ var patterns_registry_default = {
17034
17099
  propsSchema: {
17035
17100
  entity: {
17036
17101
  types: [
17037
- "object",
17038
- "array"
17102
+ "object"
17039
17103
  ],
17040
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17041
- items: {
17042
- types: [
17043
- "object"
17044
- ],
17045
- properties: {
17046
- id: {
17047
- types: [
17048
- "string"
17049
- ]
17050
- },
17051
- tag: {
17052
- types: [
17053
- "string"
17054
- ]
17055
- },
17056
- title: {
17057
- types: [
17058
- "string"
17059
- ]
17060
- },
17061
- titleAccent: {
17062
- types: [
17063
- "string"
17064
- ]
17065
- },
17066
- subtitle: {
17067
- types: [
17068
- "string"
17069
- ]
17070
- },
17071
- primaryAction: {
17072
- types: [
17073
- "object"
17074
- ],
17075
- properties: {
17076
- label: {
17077
- types: [
17078
- "string"
17079
- ]
17080
- },
17081
- href: {
17082
- types: [
17083
- "string"
17084
- ]
17085
- },
17086
- variant: {
17087
- types: [
17088
- "string"
17089
- ],
17090
- enumValues: [
17091
- "primary",
17092
- "secondary",
17093
- "ghost"
17094
- ]
17095
- }
17104
+ description: "entity prop",
17105
+ kind: "entity",
17106
+ cardinality: "record",
17107
+ properties: {
17108
+ id: {
17109
+ types: [
17110
+ "string"
17111
+ ]
17112
+ },
17113
+ tag: {
17114
+ types: [
17115
+ "string"
17116
+ ]
17117
+ },
17118
+ title: {
17119
+ types: [
17120
+ "string"
17121
+ ]
17122
+ },
17123
+ titleAccent: {
17124
+ types: [
17125
+ "string"
17126
+ ]
17127
+ },
17128
+ subtitle: {
17129
+ types: [
17130
+ "string"
17131
+ ]
17132
+ },
17133
+ primaryAction: {
17134
+ types: [
17135
+ "object"
17136
+ ],
17137
+ properties: {
17138
+ label: {
17139
+ types: [
17140
+ "string"
17141
+ ]
17096
17142
  },
17097
- required: [
17098
- "label",
17099
- "href"
17100
- ]
17101
- },
17102
- secondaryAction: {
17103
- types: [
17104
- "object"
17105
- ],
17106
- properties: {
17107
- label: {
17108
- types: [
17109
- "string"
17110
- ]
17111
- },
17112
- href: {
17113
- types: [
17114
- "string"
17115
- ]
17116
- },
17117
- variant: {
17118
- types: [
17119
- "string"
17120
- ],
17121
- enumValues: [
17122
- "primary",
17123
- "secondary",
17124
- "ghost"
17125
- ]
17126
- }
17143
+ href: {
17144
+ types: [
17145
+ "string"
17146
+ ]
17127
17147
  },
17128
- required: [
17129
- "label",
17130
- "href"
17131
- ]
17132
- },
17133
- installCommand: {
17134
- types: [
17135
- "string"
17136
- ]
17148
+ variant: {
17149
+ types: [
17150
+ "string"
17151
+ ],
17152
+ enumValues: [
17153
+ "primary",
17154
+ "secondary",
17155
+ "ghost"
17156
+ ]
17157
+ }
17137
17158
  },
17138
- image: {
17139
- types: [
17140
- "object"
17141
- ],
17142
- properties: {
17143
- src: {
17144
- types: [
17145
- "string"
17146
- ]
17147
- },
17148
- alt: {
17149
- types: [
17150
- "string"
17151
- ]
17152
- }
17159
+ required: [
17160
+ "label",
17161
+ "href"
17162
+ ]
17163
+ },
17164
+ secondaryAction: {
17165
+ types: [
17166
+ "object"
17167
+ ],
17168
+ properties: {
17169
+ label: {
17170
+ types: [
17171
+ "string"
17172
+ ]
17153
17173
  },
17154
- required: [
17155
- "src",
17156
- "alt"
17157
- ]
17174
+ href: {
17175
+ types: [
17176
+ "string"
17177
+ ]
17178
+ },
17179
+ variant: {
17180
+ types: [
17181
+ "string"
17182
+ ],
17183
+ enumValues: [
17184
+ "primary",
17185
+ "secondary",
17186
+ "ghost"
17187
+ ]
17188
+ }
17158
17189
  },
17159
- imagePosition: {
17160
- types: [
17161
- "string"
17162
- ],
17163
- enumValues: [
17164
- "below",
17165
- "right",
17166
- "background"
17167
- ]
17190
+ required: [
17191
+ "label",
17192
+ "href"
17193
+ ]
17194
+ },
17195
+ installCommand: {
17196
+ types: [
17197
+ "string"
17198
+ ]
17199
+ },
17200
+ image: {
17201
+ types: [
17202
+ "object"
17203
+ ],
17204
+ properties: {
17205
+ src: {
17206
+ types: [
17207
+ "string"
17208
+ ]
17209
+ },
17210
+ alt: {
17211
+ types: [
17212
+ "string"
17213
+ ]
17214
+ }
17168
17215
  },
17169
- background: {
17170
- types: [
17171
- "string"
17172
- ],
17173
- enumValues: [
17174
- "dark",
17175
- "gradient",
17176
- "subtle"
17177
- ]
17178
- }
17216
+ required: [
17217
+ "src",
17218
+ "alt"
17219
+ ]
17179
17220
  },
17180
- required: [
17181
- "id",
17182
- "title",
17183
- "subtitle"
17184
- ]
17185
- }
17221
+ imagePosition: {
17222
+ types: [
17223
+ "string"
17224
+ ],
17225
+ enumValues: [
17226
+ "below",
17227
+ "right",
17228
+ "background"
17229
+ ]
17230
+ },
17231
+ background: {
17232
+ types: [
17233
+ "string"
17234
+ ],
17235
+ enumValues: [
17236
+ "dark",
17237
+ "gradient",
17238
+ "subtle"
17239
+ ]
17240
+ }
17241
+ },
17242
+ propertyRequired: [
17243
+ "id",
17244
+ "title",
17245
+ "subtitle"
17246
+ ]
17186
17247
  },
17187
17248
  className: {
17188
17249
  types: [
@@ -17276,6 +17337,8 @@ var patterns_registry_default = {
17276
17337
  "array"
17277
17338
  ],
17278
17339
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17340
+ kind: "entity",
17341
+ cardinality: "collection",
17279
17342
  items: {
17280
17343
  types: [
17281
17344
  "object"
@@ -17440,6 +17503,8 @@ var patterns_registry_default = {
17440
17503
  "array"
17441
17504
  ],
17442
17505
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17506
+ kind: "entity",
17507
+ cardinality: "collection",
17443
17508
  items: {
17444
17509
  types: [
17445
17510
  "object"
@@ -17609,6 +17674,8 @@ var patterns_registry_default = {
17609
17674
  "array"
17610
17675
  ],
17611
17676
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17677
+ kind: "entity",
17678
+ cardinality: "collection",
17612
17679
  items: {
17613
17680
  types: [
17614
17681
  "object"
@@ -17731,6 +17798,8 @@ var patterns_registry_default = {
17731
17798
  "array"
17732
17799
  ],
17733
17800
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17801
+ kind: "entity",
17802
+ cardinality: "collection",
17734
17803
  items: {
17735
17804
  types: [
17736
17805
  "object"
@@ -17885,6 +17954,8 @@ var patterns_registry_default = {
17885
17954
  "array"
17886
17955
  ],
17887
17956
  description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
17957
+ kind: "entity",
17958
+ cardinality: "collection",
17888
17959
  items: {
17889
17960
  types: [
17890
17961
  "object"
@@ -19490,10 +19561,13 @@ var patterns_registry_default = {
19490
19561
  propsSchema: {
19491
19562
  nodes: {
19492
19563
  types: [
19564
+ "object",
19493
19565
  "array"
19494
19566
  ],
19495
19567
  description: "nodes prop",
19496
19568
  required: true,
19569
+ kind: "entity",
19570
+ cardinality: "collection",
19497
19571
  items: {
19498
19572
  types: [
19499
19573
  "object"
@@ -20070,11 +20144,84 @@ var patterns_registry_default = {
20070
20144
  propsSchema: {
20071
20145
  items: {
20072
20146
  types: [
20073
- "array",
20074
- "object"
20147
+ "object",
20148
+ "array"
20075
20149
  ],
20076
20150
  description: "Items to render. Accepts either a typed array (direct consumers) or the runtime payload shape from a render-ui binding (`@payload.data`). The molecule narrows non-array values to `[]` and validates element shape at render time via the `id` / `x` / `y` guards.",
20077
- required: true
20151
+ required: true,
20152
+ kind: "entity",
20153
+ cardinality: "collection",
20154
+ items: {
20155
+ types: [
20156
+ "object"
20157
+ ],
20158
+ properties: {
20159
+ id: {
20160
+ types: [
20161
+ "string"
20162
+ ]
20163
+ },
20164
+ label: {
20165
+ types: [
20166
+ "string"
20167
+ ]
20168
+ },
20169
+ x: {
20170
+ types: [
20171
+ "number"
20172
+ ]
20173
+ },
20174
+ y: {
20175
+ types: [
20176
+ "number"
20177
+ ]
20178
+ },
20179
+ shape: {
20180
+ types: [
20181
+ "string"
20182
+ ],
20183
+ enumValues: [
20184
+ "round",
20185
+ "rectangle",
20186
+ "square"
20187
+ ]
20188
+ },
20189
+ capacity: {
20190
+ types: [
20191
+ "number"
20192
+ ]
20193
+ },
20194
+ status: {
20195
+ types: [
20196
+ "string"
20197
+ ],
20198
+ enumValues: [
20199
+ "empty",
20200
+ "seated",
20201
+ "ordered",
20202
+ "awaiting-bill",
20203
+ "cleaning"
20204
+ ]
20205
+ },
20206
+ partySize: {
20207
+ types: [
20208
+ "number"
20209
+ ]
20210
+ },
20211
+ serverName: {
20212
+ types: [
20213
+ "string"
20214
+ ]
20215
+ }
20216
+ },
20217
+ required: [
20218
+ "id",
20219
+ "label",
20220
+ "x",
20221
+ "y",
20222
+ "capacity"
20223
+ ]
20224
+ }
20078
20225
  },
20079
20226
  width: {
20080
20227
  types: [
@@ -26135,10 +26282,11 @@ var patterns_registry_default = {
26135
26282
  propsSchema: {
26136
26283
  entity: {
26137
26284
  types: [
26138
- "object",
26139
- "array"
26285
+ "object"
26140
26286
  ],
26141
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
26287
+ description: "Renders ONE record (the book), not a collection",
26288
+ kind: "entity",
26289
+ cardinality: "record"
26142
26290
  },
26143
26291
  className: {
26144
26292
  types: [
@@ -31448,7 +31596,9 @@ var patterns_registry_default = {
31448
31596
  "object",
31449
31597
  "array"
31450
31598
  ],
31451
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit"
31599
+ description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
31600
+ kind: "entity",
31601
+ cardinality: "collection"
31452
31602
  },
31453
31603
  className: {
31454
31604
  types: [
@@ -32294,7 +32444,14 @@ var patterns_registry_default = {
32294
32444
  "array"
32295
32445
  ],
32296
32446
  description: "Schema entity data \u2014 single record or collection.",
32297
- required: true
32447
+ required: true,
32448
+ kind: "entity",
32449
+ cardinality: "collection",
32450
+ items: {
32451
+ types: [
32452
+ "object"
32453
+ ]
32454
+ }
32298
32455
  },
32299
32456
  columns: {
32300
32457
  types: [
@@ -32519,6 +32676,12 @@ var patterns_registry_default = {
32519
32676
  ]
32520
32677
  }
32521
32678
  },
32679
+ maxInlineActions: {
32680
+ types: [
32681
+ "number"
32682
+ ],
32683
+ description: 'Max inline action buttons before the rest collapse into a "\u22EF" overflow menu. Omit = all inline.'
32684
+ },
32522
32685
  selectable: {
32523
32686
  types: [
32524
32687
  "boolean"
@@ -33590,7 +33753,7 @@ var integrators_registry_default = {
33590
33753
  // src/component-mapping.json
33591
33754
  var component_mapping_default = {
33592
33755
  version: "1.0.0",
33593
- exportedAt: "2026-05-29T23:58:15.892Z",
33756
+ exportedAt: "2026-06-02T04:23:24.655Z",
33594
33757
  mappings: {
33595
33758
  "page-header": {
33596
33759
  component: "PageHeader",
@@ -35130,7 +35293,7 @@ var component_mapping_default = {
35130
35293
  // src/event-contracts.json
35131
35294
  var event_contracts_default = {
35132
35295
  version: "1.0.0",
35133
- exportedAt: "2026-05-29T23:58:15.892Z",
35296
+ exportedAt: "2026-06-02T04:23:24.655Z",
35134
35297
  contracts: {
35135
35298
  form: {
35136
35299
  emits: [