@almadar/patterns 2.17.1 → 2.18.1

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-04-21T13:35:57.135Z",
4
+ exportedAt: "2026-04-25T12:02:50.943Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -491,7 +491,9 @@ var patterns_registry_default = {
491
491
  types: [
492
492
  "array"
493
493
  ],
494
- description: "Actions for each card item (schema-driven)"
494
+ description: "Actions for each card item (schema-driven)",
495
+ kind: "event-list",
496
+ eventField: "event"
495
497
  },
496
498
  showTotal: {
497
499
  types: [
@@ -698,12 +700,6 @@ var patterns_registry_default = {
698
700
  ],
699
701
  description: "Panel width (CSS value, e.g., '400px', '50%')"
700
702
  },
701
- entityId: {
702
- types: [
703
- "string"
704
- ],
705
- description: "Entity ID for fetching specific entity"
706
- },
707
703
  displayFields: {
708
704
  types: [
709
705
  "array"
@@ -894,11 +890,7 @@ var patterns_registry_default = {
894
890
  types: [
895
891
  "string"
896
892
  ],
897
- description: "Form mode - 'create' for new records, 'edit' for updating existing",
898
- enumValues: [
899
- "create",
900
- "edit"
901
- ]
893
+ description: "Form mode \u2014 'create' for new records, 'edit' for updating existing. Accepts `string` so schema-driven callers (whose `config.mode` is typed as `string` per the trait's declared config block) compile cleanly. The runtime treats anything other than 'edit' as 'create'."
902
894
  },
903
895
  fields: {
904
896
  types: [
@@ -954,19 +946,15 @@ var patterns_registry_default = {
954
946
  types: [
955
947
  "string"
956
948
  ],
957
- description: "Event dispatch props (for trait state machine integration)"
949
+ description: "Event dispatch props (for trait state machine integration)",
950
+ kind: "event"
958
951
  },
959
952
  cancelEvent: {
960
953
  types: [
961
954
  "string"
962
955
  ],
963
- description: "Event to dispatch on cancel (defaults to 'CANCEL')"
964
- },
965
- entityId: {
966
- types: [
967
- "string"
968
- ],
969
- description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
956
+ description: "Event to dispatch on cancel (defaults to 'CANCEL')",
957
+ kind: "event"
970
958
  },
971
959
  relationsData: {
972
960
  types: [
@@ -1102,11 +1090,7 @@ var patterns_registry_default = {
1102
1090
  types: [
1103
1091
  "string"
1104
1092
  ],
1105
- description: "Form mode - 'create' for new records, 'edit' for updating existing",
1106
- enumValues: [
1107
- "create",
1108
- "edit"
1109
- ]
1093
+ description: "Form mode \u2014 'create' for new records, 'edit' for updating existing. Accepts `string` so schema-driven callers (whose `config.mode` is typed as `string` per the trait's declared config block) compile cleanly. The runtime treats anything other than 'edit' as 'create'."
1110
1094
  },
1111
1095
  fields: {
1112
1096
  types: [
@@ -1162,19 +1146,15 @@ var patterns_registry_default = {
1162
1146
  types: [
1163
1147
  "string"
1164
1148
  ],
1165
- description: "Event dispatch props (for trait state machine integration)"
1149
+ description: "Event dispatch props (for trait state machine integration)",
1150
+ kind: "event"
1166
1151
  },
1167
1152
  cancelEvent: {
1168
1153
  types: [
1169
1154
  "string"
1170
1155
  ],
1171
- description: "Event to dispatch on cancel (defaults to 'CANCEL')"
1172
- },
1173
- entityId: {
1174
- types: [
1175
- "string"
1176
- ],
1177
- description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
1156
+ description: "Event to dispatch on cancel (defaults to 'CANCEL')",
1157
+ kind: "event"
1178
1158
  },
1179
1159
  relationsData: {
1180
1160
  types: [
@@ -2104,188 +2084,36 @@ var patterns_registry_default = {
2104
2084
  ],
2105
2085
  typicalSize: "small",
2106
2086
  propsSchema: {
2107
- entity: {
2108
- types: [
2109
- "string"
2110
- ],
2111
- description: "Entity name for schema-driven integration"
2112
- },
2113
- data: {
2114
- types: [
2115
- "array"
2116
- ],
2117
- description: "Data array provided by the trait via render-ui"
2118
- },
2119
- className: {
2120
- types: [
2121
- "string"
2122
- ],
2123
- description: "Additional CSS classes"
2124
- },
2125
- isLoading: {
2126
- types: [
2127
- "boolean"
2128
- ],
2129
- description: "Loading state indicator"
2130
- },
2131
- error: {
2132
- types: [
2133
- "object"
2134
- ],
2135
- description: "Error state"
2136
- },
2137
- sortBy: {
2138
- types: [
2139
- "string"
2140
- ],
2141
- description: "Current sort field"
2142
- },
2143
- sortDirection: {
2144
- types: [
2145
- "string"
2146
- ],
2147
- description: "Current sort direction"
2148
- },
2149
- searchValue: {
2087
+ value: {
2150
2088
  types: [
2151
2089
  "string"
2152
2090
  ],
2153
- description: "Current search query value"
2154
- },
2155
- page: {
2156
- types: [
2157
- "number"
2158
- ],
2159
- description: "Current page number"
2160
- },
2161
- pageSize: {
2162
- types: [
2163
- "number"
2164
- ],
2165
- description: "Number of items per page"
2166
- },
2167
- totalCount: {
2168
- types: [
2169
- "number"
2170
- ],
2171
- description: "Total number of items"
2172
- },
2173
- activeFilters: {
2174
- types: [
2175
- "object"
2176
- ],
2177
- description: "Active filters"
2178
- },
2179
- selectedIds: {
2180
- types: [
2181
- "array"
2182
- ],
2183
- description: "Currently selected item IDs"
2091
+ description: "The stat value to display prominently",
2092
+ required: true
2184
2093
  },
2185
2094
  label: {
2186
2095
  types: [
2187
2096
  "string"
2188
2097
  ],
2189
- description: "Main label"
2190
- },
2191
- title: {
2192
- types: [
2193
- "string"
2194
- ],
2195
- description: "Title (alias for label)"
2196
- },
2197
- value: {
2198
- types: [
2199
- "string",
2200
- "number",
2201
- "array",
2202
- "unknown"
2203
- ],
2204
- description: "Primary value - accepts array/unknown from generated code (will use first element or length)"
2205
- },
2206
- previousValue: {
2207
- types: [
2208
- "number"
2209
- ],
2210
- description: "Previous value for comparison"
2211
- },
2212
- currentValue: {
2213
- types: [
2214
- "number"
2215
- ],
2216
- description: "Current value as number for trend calculation"
2217
- },
2218
- trend: {
2219
- types: [
2220
- "number"
2221
- ],
2222
- description: "Manual trend percentage (overrides calculation)"
2098
+ description: "Label describing the value",
2099
+ required: true
2223
2100
  },
2224
- trendDirection: {
2101
+ size: {
2225
2102
  types: [
2226
2103
  "string"
2227
2104
  ],
2228
- description: "Trend direction (overrides calculation)",
2105
+ description: "Size of the value text",
2229
2106
  enumValues: [
2230
- "up",
2231
- "down",
2232
- "neutral"
2107
+ "sm",
2108
+ "md",
2109
+ "lg"
2233
2110
  ]
2234
2111
  },
2235
- invertTrend: {
2236
- types: [
2237
- "boolean"
2238
- ],
2239
- description: "Whether up is good (green) or bad (red)"
2240
- },
2241
- icon: {
2242
- types: [
2243
- "icon",
2244
- "string"
2245
- ],
2246
- description: "Icon to display (Lucide component or icon name string)"
2247
- },
2248
- iconBg: {
2249
- types: [
2250
- "string"
2251
- ],
2252
- description: "Icon background color"
2253
- },
2254
- iconColor: {
2255
- types: [
2256
- "string"
2257
- ],
2258
- description: "Icon color"
2259
- },
2260
- subtitle: {
2112
+ className: {
2261
2113
  types: [
2262
2114
  "string"
2263
2115
  ],
2264
- description: "Subtitle or description"
2265
- },
2266
- action: {
2267
- types: [
2268
- "object"
2269
- ],
2270
- description: "Action button"
2271
- },
2272
- metrics: {
2273
- types: [
2274
- "array"
2275
- ],
2276
- description: "Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays"
2277
- },
2278
- compact: {
2279
- types: [
2280
- "boolean"
2281
- ],
2282
- description: "Compact display mode"
2283
- },
2284
- sparklineData: {
2285
- types: [
2286
- "array"
2287
- ],
2288
- description: "Sparkline data points for an inline trend chart"
2116
+ description: "Additional class names"
2289
2117
  }
2290
2118
  }
2291
2119
  },
@@ -2581,7 +2409,8 @@ var patterns_registry_default = {
2581
2409
  types: [
2582
2410
  "string"
2583
2411
  ],
2584
- description: "Declarative close event \u2014 emits UI:{closeEvent} via eventBus when drawer should close"
2412
+ description: "Declarative close event \u2014 emits UI:{closeEvent} via eventBus when drawer should close",
2413
+ kind: "event"
2585
2414
  }
2586
2415
  }
2587
2416
  },
@@ -2986,7 +2815,8 @@ var patterns_registry_default = {
2986
2815
  types: [
2987
2816
  "string"
2988
2817
  ],
2989
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
2818
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
2819
+ kind: "event"
2990
2820
  },
2991
2821
  actionPayload: {
2992
2822
  types: [
@@ -2998,7 +2828,8 @@ var patterns_registry_default = {
2998
2828
  types: [
2999
2829
  "string"
3000
2830
  ],
3001
- description: "Declarative hover event \u2014 emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave"
2831
+ description: "Declarative hover event \u2014 emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave",
2832
+ kind: "event"
3002
2833
  },
3003
2834
  maxWidth: {
3004
2835
  types: [
@@ -3839,7 +3670,8 @@ var patterns_registry_default = {
3839
3670
  types: [
3840
3671
  "string"
3841
3672
  ],
3842
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
3673
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
3674
+ kind: "event"
3843
3675
  },
3844
3676
  actionPayload: {
3845
3677
  types: [
@@ -4003,7 +3835,8 @@ var patterns_registry_default = {
4003
3835
  types: [
4004
3836
  "string"
4005
3837
  ],
4006
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
3838
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
3839
+ kind: "event"
4007
3840
  },
4008
3841
  actionPayload: {
4009
3842
  types: [
@@ -4097,89 +3930,53 @@ var patterns_registry_default = {
4097
3930
  ],
4098
3931
  typicalSize: "small",
4099
3932
  propsSchema: {
4100
- title: {
4101
- types: [
4102
- "string"
4103
- ],
4104
- description: "Card title"
4105
- },
4106
- subtitle: {
4107
- types: [
4108
- "string"
4109
- ],
4110
- description: "Card subtitle or description"
4111
- },
4112
- image: {
3933
+ variant: {
4113
3934
  types: [
4114
3935
  "string"
4115
3936
  ],
4116
- description: "Image URL to display at top of card"
4117
- },
4118
- actions: {
4119
- types: [
4120
- "array"
4121
- ],
4122
- description: "Action buttons to display in card footer"
4123
- },
4124
- children: {
4125
- types: [
4126
- "node"
4127
- ],
4128
- description: "Card content"
4129
- },
4130
- onClick: {
4131
- types: [
4132
- "function"
4133
- ],
4134
- description: "Click handler for the entire card"
3937
+ description: "variant prop",
3938
+ enumValues: [
3939
+ "default",
3940
+ "bordered",
3941
+ "elevated",
3942
+ "interactive"
3943
+ ]
4135
3944
  },
4136
- className: {
3945
+ padding: {
4137
3946
  types: [
4138
3947
  "string"
4139
3948
  ],
4140
- description: "Additional CSS classes"
3949
+ description: "padding prop",
3950
+ enumValues: [
3951
+ "none",
3952
+ "sm",
3953
+ "md",
3954
+ "lg"
3955
+ ]
4141
3956
  },
4142
- action: {
3957
+ title: {
4143
3958
  types: [
4144
3959
  "string"
4145
3960
  ],
4146
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on card click"
3961
+ description: "Card title - renders in header if provided"
4147
3962
  },
4148
- isSelected: {
4149
- types: [
4150
- "boolean"
4151
- ],
4152
- description: "Whether the card is selected (highlighted state)"
4153
- },
4154
- name: {
3963
+ subtitle: {
4155
3964
  types: [
4156
3965
  "string"
4157
3966
  ],
4158
- description: "Card name (alias for title)"
3967
+ description: "Card subtitle - renders below title"
4159
3968
  },
4160
- level: {
4161
- types: [
4162
- "number"
4163
- ],
4164
- description: "Level indicator"
4165
- },
4166
- maxLevel: {
4167
- types: [
4168
- "number"
4169
- ],
4170
- description: "Maximum level"
4171
- },
4172
- longPressEvent: {
3969
+ shadow: {
4173
3970
  types: [
4174
3971
  "string"
4175
3972
  ],
4176
- description: "Event emitted on long press: UI:{longPressEvent}"
4177
- },
4178
- longPressPayload: {
4179
- types: [
4180
- "object"
4181
- ],
4182
- description: "Additional payload for long-press events"
3973
+ description: "Shadow size override",
3974
+ enumValues: [
3975
+ "none",
3976
+ "sm",
3977
+ "md",
3978
+ "lg"
3979
+ ]
4183
3980
  }
4184
3981
  }
4185
3982
  },
@@ -4345,7 +4142,8 @@ var patterns_registry_default = {
4345
4142
  types: [
4346
4143
  "string"
4347
4144
  ],
4348
- description: "Declarative event name for trait dispatch"
4145
+ description: "Declarative event name for trait dispatch",
4146
+ kind: "event"
4349
4147
  },
4350
4148
  inputType: {
4351
4149
  types: [
@@ -4451,7 +4249,8 @@ var patterns_registry_default = {
4451
4249
  types: [
4452
4250
  "string"
4453
4251
  ],
4454
- description: "Declarative event name for trait dispatch"
4252
+ description: "Declarative event name for trait dispatch",
4253
+ kind: "event"
4455
4254
  },
4456
4255
  error: {
4457
4256
  types: [
@@ -4495,7 +4294,8 @@ var patterns_registry_default = {
4495
4294
  types: [
4496
4295
  "string"
4497
4296
  ],
4498
- description: "Declarative event name for trait dispatch"
4297
+ description: "Declarative event name for trait dispatch",
4298
+ kind: "event"
4499
4299
  },
4500
4300
  error: {
4501
4301
  types: [
@@ -4562,7 +4362,8 @@ var patterns_registry_default = {
4562
4362
  types: [
4563
4363
  "string"
4564
4364
  ],
4565
- description: "Declarative event name for trait dispatch"
4365
+ description: "Declarative event name for trait dispatch",
4366
+ kind: "event"
4566
4367
  },
4567
4368
  label: {
4568
4369
  types: [
@@ -4762,7 +4563,8 @@ var patterns_registry_default = {
4762
4563
  types: [
4763
4564
  "string"
4764
4565
  ],
4765
- description: "Declarative dismiss event \u2014 emits UI:{dismissEvent} via eventBus when alert is dismissed"
4566
+ description: "Declarative dismiss event \u2014 emits UI:{dismissEvent} via eventBus when alert is dismissed",
4567
+ kind: "event"
4766
4568
  }
4767
4569
  }
4768
4570
  },
@@ -5386,7 +5188,8 @@ var patterns_registry_default = {
5386
5188
  types: [
5387
5189
  "string"
5388
5190
  ],
5389
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
5191
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
5192
+ kind: "event"
5390
5193
  }
5391
5194
  }
5392
5195
  },
@@ -5521,7 +5324,8 @@ var patterns_registry_default = {
5521
5324
  types: [
5522
5325
  "string"
5523
5326
  ],
5524
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
5327
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
5328
+ kind: "event"
5525
5329
  },
5526
5330
  actionPayload: {
5527
5331
  types: [
@@ -5606,13 +5410,15 @@ var patterns_registry_default = {
5606
5410
  types: [
5607
5411
  "string"
5608
5412
  ],
5609
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on click"
5413
+ description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
5414
+ kind: "event"
5610
5415
  },
5611
5416
  hoverEvent: {
5612
5417
  types: [
5613
5418
  "string"
5614
5419
  ],
5615
- description: "Declarative hover event \u2014 emits UI:{hoverEvent} with { hovered: true/false }"
5420
+ description: "Declarative hover event \u2014 emits UI:{hoverEvent} with { hovered: true/false }",
5421
+ kind: "event"
5616
5422
  }
5617
5423
  }
5618
5424
  },
@@ -5859,13 +5665,15 @@ var patterns_registry_default = {
5859
5665
  types: [
5860
5666
  "string"
5861
5667
  ],
5862
- description: "Declarative event name emitted on press via useEventBus"
5668
+ description: "Declarative event name emitted on press via useEventBus",
5669
+ kind: "event"
5863
5670
  },
5864
5671
  releaseEvent: {
5865
5672
  types: [
5866
5673
  "string"
5867
5674
  ],
5868
- description: "Declarative event name emitted on release via useEventBus"
5675
+ description: "Declarative event name emitted on release via useEventBus",
5676
+ kind: "event"
5869
5677
  },
5870
5678
  pressed: {
5871
5679
  types: [
@@ -6119,7 +5927,8 @@ var patterns_registry_default = {
6119
5927
  types: [
6120
5928
  "string"
6121
5929
  ],
6122
- description: "Declarative event name emitted on click via useEventBus"
5930
+ description: "Declarative event name emitted on click via useEventBus",
5931
+ kind: "event"
6123
5932
  }
6124
5933
  }
6125
5934
  },
@@ -6328,34 +6137,41 @@ var patterns_registry_default = {
6328
6137
  typicalSize: "medium",
6329
6138
  propsSchema: {
6330
6139
  action: {
6140
+ types: [
6141
+ "string"
6142
+ ],
6143
+ description: 'Declarative event name. When set, clicking the FAB emits `UI:{action}` via the event bus and (if also provided) calls `onClick`. Mirrors the Button atom\'s `action` prop so schemas can write `{ type: "floating-action-button", action: "INIT" }` uniformly.',
6144
+ kind: "event"
6145
+ },
6146
+ actionPayload: {
6331
6147
  types: [
6332
6148
  "object"
6333
6149
  ],
6334
- description: "Single action (if only one action, button will directly trigger onClick)"
6150
+ description: "Payload to include with the dispatched action event."
6335
6151
  },
6336
6152
  actions: {
6337
6153
  types: [
6338
6154
  "array"
6339
6155
  ],
6340
- description: "Multiple actions (if provided, button will expand to show all actions)"
6156
+ description: "Multiple actions. When provided, the button expands to show all of them."
6341
6157
  },
6342
6158
  icon: {
6343
6159
  types: [
6344
6160
  "string"
6345
6161
  ],
6346
- description: "Icon name (simplified API for pattern compatibility)"
6162
+ description: "Icon name (resolves to a Lucide icon by PascalCase / kebab-case lookup)."
6347
6163
  },
6348
6164
  onClick: {
6349
6165
  types: [
6350
6166
  "function"
6351
6167
  ],
6352
- description: "Click handler (simplified API for pattern compatibility)"
6168
+ description: "Optional direct click handler. Runs after the action emit when both are present."
6353
6169
  },
6354
6170
  variant: {
6355
6171
  types: [
6356
6172
  "string"
6357
6173
  ],
6358
- description: "Variant (simplified API for pattern compatibility)",
6174
+ description: "Visual variant.",
6359
6175
  enumValues: [
6360
6176
  "primary",
6361
6177
  "secondary",
@@ -6364,6 +6180,12 @@ var patterns_registry_default = {
6364
6180
  "warning"
6365
6181
  ]
6366
6182
  },
6183
+ label: {
6184
+ types: [
6185
+ "string"
6186
+ ],
6187
+ description: "Optional label shown via `aria-label` (visually hidden in single-action mode; rendered as a tooltip beside expanded actions in multi-action mode)."
6188
+ },
6367
6189
  position: {
6368
6190
  types: [
6369
6191
  "string"
@@ -6976,78 +6798,29 @@ var patterns_registry_default = {
6976
6798
  ],
6977
6799
  typicalSize: "large",
6978
6800
  propsSchema: {
6979
- label: {
6980
- types: [
6981
- "string"
6982
- ],
6983
- description: "label prop",
6984
- required: true
6985
- },
6986
- variant: {
6987
- types: [
6988
- "string"
6989
- ],
6990
- description: "variant prop",
6991
- enumValues: [
6992
- "primary",
6993
- "secondary",
6994
- "ghost",
6995
- "danger",
6996
- "success",
6997
- "warning",
6998
- "default"
6999
- ]
7000
- },
7001
- size: {
7002
- types: [
7003
- "string"
7004
- ],
7005
- description: "size prop",
7006
- enumValues: [
7007
- "sm",
7008
- "md",
7009
- "lg"
7010
- ]
7011
- },
7012
- disabled: {
7013
- types: [
7014
- "boolean"
7015
- ],
7016
- description: "disabled prop"
7017
- },
7018
6801
  onClick: {
7019
6802
  types: [
7020
6803
  "string"
7021
6804
  ],
7022
- description: "onClick prop"
6805
+ description: "Legacy alias for {@link ButtonProps.action} (string event name).",
6806
+ kind: "event"
7023
6807
  },
7024
6808
  event: {
7025
6809
  types: [
7026
6810
  "string"
7027
6811
  ],
7028
- description: "event prop"
7029
- },
7030
- icon: {
7031
- types: [
7032
- "string"
7033
- ],
7034
- description: "icon prop"
6812
+ description: "Legacy alias for {@link ButtonProps.action}.",
6813
+ kind: "event"
7035
6814
  },
7036
6815
  iconPosition: {
7037
6816
  types: [
7038
6817
  "string"
7039
6818
  ],
7040
- description: "iconPosition prop",
6819
+ description: "Icon placement \u2014 maps to Button's `icon` (left) or `iconRight` (right).",
7041
6820
  enumValues: [
7042
6821
  "left",
7043
6822
  "right"
7044
6823
  ]
7045
- },
7046
- className: {
7047
- types: [
7048
- "string"
7049
- ],
7050
- description: "className prop"
7051
6824
  }
7052
6825
  }
7053
6826
  },
@@ -7092,7 +6865,8 @@ var patterns_registry_default = {
7092
6865
  types: [
7093
6866
  "string"
7094
6867
  ],
7095
- description: "Event to emit on click (REQUIRED for interactive elements)"
6868
+ description: "Event to emit on click (REQUIRED for interactive elements)",
6869
+ kind: "event"
7096
6870
  },
7097
6871
  payload: {
7098
6872
  types: [
@@ -8855,12 +8629,6 @@ var patterns_registry_default = {
8855
8629
  ],
8856
8630
  description: "Actions"
8857
8631
  },
8858
- entity: {
8859
- types: [
8860
- "string"
8861
- ],
8862
- description: "Entity name for schema-driven auto-fetch"
8863
- },
8864
8632
  isLoading: {
8865
8633
  types: [
8866
8634
  "boolean"
@@ -8941,7 +8709,9 @@ var patterns_registry_default = {
8941
8709
  types: [
8942
8710
  "array"
8943
8711
  ],
8944
- description: "Actions per item"
8712
+ description: "Actions per item",
8713
+ kind: "event-list",
8714
+ eventField: "event"
8945
8715
  }
8946
8716
  }
8947
8717
  },
@@ -13489,10 +13259,10 @@ var patterns_registry_default = {
13489
13259
  propsSchema: {
13490
13260
  entity: {
13491
13261
  types: [
13492
- "unknown",
13262
+ "object",
13493
13263
  "array"
13494
13264
  ],
13495
- description: "Entity data array",
13265
+ 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.",
13496
13266
  required: true
13497
13267
  },
13498
13268
  fields: {
@@ -13512,7 +13282,9 @@ var patterns_registry_default = {
13512
13282
  types: [
13513
13283
  "array"
13514
13284
  ],
13515
- description: "Per-item action buttons"
13285
+ description: "Per-item action buttons",
13286
+ kind: "event-list",
13287
+ eventField: "event"
13516
13288
  },
13517
13289
  cols: {
13518
13290
  types: [
@@ -13573,7 +13345,8 @@ var patterns_registry_default = {
13573
13345
  types: [
13574
13346
  "string"
13575
13347
  ],
13576
- description: "Selection change event name (emits UI:{selectionEvent} with { selectedIds: string[] })"
13348
+ description: "Selection change event name (emits UI:{selectionEvent} with { selectedIds: string[] })",
13349
+ kind: "event"
13577
13350
  },
13578
13351
  infiniteScroll: {
13579
13352
  types: [
@@ -13585,7 +13358,8 @@ var patterns_registry_default = {
13585
13358
  types: [
13586
13359
  "string"
13587
13360
  ],
13588
- description: "Event emitted when more items needed: UI:{loadMoreEvent}"
13361
+ description: "Event emitted when more items needed: UI:{loadMoreEvent}",
13362
+ kind: "event"
13589
13363
  },
13590
13364
  hasMore: {
13591
13365
  types: [
@@ -13597,7 +13371,7 @@ var patterns_registry_default = {
13597
13371
  types: [
13598
13372
  "function"
13599
13373
  ],
13600
- description: "Render prop for custom per-item content. When provided, `fields` and `itemActions` are ignored."
13374
+ description: "Render prop for custom per-card content, typed to the grid's entity shape `T`. When provided, `fields` and `itemActions` are ignored."
13601
13375
  },
13602
13376
  renderItem: {
13603
13377
  types: [
@@ -13626,10 +13400,10 @@ var patterns_registry_default = {
13626
13400
  propsSchema: {
13627
13401
  entity: {
13628
13402
  types: [
13629
- "unknown",
13403
+ "object",
13630
13404
  "array"
13631
13405
  ],
13632
- description: "Entity data array",
13406
+ 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.",
13633
13407
  required: true
13634
13408
  },
13635
13409
  fields: {
@@ -13649,7 +13423,9 @@ var patterns_registry_default = {
13649
13423
  types: [
13650
13424
  "array"
13651
13425
  ],
13652
- description: "Per-item action buttons"
13426
+ description: "Per-item action buttons",
13427
+ kind: "event-list",
13428
+ eventField: "event"
13653
13429
  },
13654
13430
  gap: {
13655
13431
  types: [
@@ -13721,13 +13497,15 @@ var patterns_registry_default = {
13721
13497
  types: [
13722
13498
  "string"
13723
13499
  ],
13724
- description: "Event emitted on reorder: UI:{reorderEvent} with { fromIndex, toIndex }"
13500
+ description: "Event emitted on reorder: UI:{reorderEvent} with { fromIndex, toIndex }",
13501
+ kind: "event"
13725
13502
  },
13726
13503
  swipeLeftEvent: {
13727
13504
  types: [
13728
13505
  "string"
13729
13506
  ],
13730
- description: "Event emitted on left swipe: UI:{swipeLeftEvent} with { row }"
13507
+ description: "Event emitted on left swipe: UI:{swipeLeftEvent} with { row }",
13508
+ kind: "event"
13731
13509
  },
13732
13510
  swipeLeftActions: {
13733
13511
  types: [
@@ -13739,7 +13517,8 @@ var patterns_registry_default = {
13739
13517
  types: [
13740
13518
  "string"
13741
13519
  ],
13742
- description: "Event emitted on right swipe: UI:{swipeRightEvent} with { row }"
13520
+ description: "Event emitted on right swipe: UI:{swipeRightEvent} with { row }",
13521
+ kind: "event"
13743
13522
  },
13744
13523
  swipeRightActions: {
13745
13524
  types: [
@@ -13751,7 +13530,8 @@ var patterns_registry_default = {
13751
13530
  types: [
13752
13531
  "string"
13753
13532
  ],
13754
- description: "Event emitted on long press: UI:{longPressEvent} with { row }"
13533
+ description: "Event emitted on long press: UI:{longPressEvent} with { row }",
13534
+ kind: "event"
13755
13535
  },
13756
13536
  infiniteScroll: {
13757
13537
  types: [
@@ -13763,7 +13543,8 @@ var patterns_registry_default = {
13763
13543
  types: [
13764
13544
  "string"
13765
13545
  ],
13766
- description: "Event emitted when more items needed: UI:{loadMoreEvent}"
13546
+ description: "Event emitted when more items needed: UI:{loadMoreEvent}",
13547
+ kind: "event"
13767
13548
  },
13768
13549
  hasMore: {
13769
13550
  types: [
@@ -14065,7 +13846,8 @@ var patterns_registry_default = {
14065
13846
  types: [
14066
13847
  "string"
14067
13848
  ],
14068
- description: "Declarative event name for value changes"
13849
+ description: "Declarative event name for value changes",
13850
+ kind: "event"
14069
13851
  },
14070
13852
  actionPayload: {
14071
13853
  types: [
@@ -14318,7 +14100,8 @@ var patterns_registry_default = {
14318
14100
  types: [
14319
14101
  "string"
14320
14102
  ],
14321
- description: "Declarative event name for value changes"
14103
+ description: "Declarative event name for value changes",
14104
+ kind: "event"
14322
14105
  },
14323
14106
  actionPayload: {
14324
14107
  types: [
@@ -14394,7 +14177,8 @@ var patterns_registry_default = {
14394
14177
  types: [
14395
14178
  "string"
14396
14179
  ],
14397
- description: "Declarative event name for rating changes"
14180
+ description: "Declarative event name for rating changes",
14181
+ kind: "event"
14398
14182
  },
14399
14183
  actionPayload: {
14400
14184
  types: [
@@ -14480,7 +14264,8 @@ var patterns_registry_default = {
14480
14264
  types: [
14481
14265
  "string"
14482
14266
  ],
14483
- description: "Declarative event name for file selection"
14267
+ description: "Declarative event name for file selection",
14268
+ kind: "event"
14484
14269
  },
14485
14270
  actionPayload: {
14486
14271
  types: [
@@ -14515,23 +14300,29 @@ var patterns_registry_default = {
14515
14300
  propsSchema: {
14516
14301
  value: {
14517
14302
  types: [
14303
+ "number",
14518
14304
  "string"
14519
14305
  ],
14520
- description: 'Target value to count to (e.g. "500+", "99.9%", "3x")',
14306
+ description: 'The target value to animate to. Strings are parsed numerically (e.g. "500", "99.9").',
14521
14307
  required: true
14522
14308
  },
14523
- label: {
14309
+ duration: {
14310
+ types: [
14311
+ "number"
14312
+ ],
14313
+ description: "Animation duration in milliseconds"
14314
+ },
14315
+ prefix: {
14524
14316
  types: [
14525
14317
  "string"
14526
14318
  ],
14527
- description: "Label displayed below the number",
14528
- required: true
14319
+ description: "Text to display before the number"
14529
14320
  },
14530
- duration: {
14321
+ suffix: {
14531
14322
  types: [
14532
- "number"
14323
+ "string"
14533
14324
  ],
14534
- description: "Animation duration in ms"
14325
+ description: "Text to display after the number"
14535
14326
  },
14536
14327
  className: {
14537
14328
  types: [
@@ -14596,7 +14387,8 @@ var patterns_registry_default = {
14596
14387
  "string"
14597
14388
  ],
14598
14389
  description: "Event name to emit when load-more is triggered (emitted as UI:{loadMoreEvent})",
14599
- required: true
14390
+ required: true,
14391
+ kind: "event"
14600
14392
  },
14601
14393
  loadMorePayload: {
14602
14394
  types: [
@@ -14768,7 +14560,8 @@ var patterns_registry_default = {
14768
14560
  "string"
14769
14561
  ],
14770
14562
  description: "Event name to emit on refresh (emitted as UI:{refreshEvent})",
14771
- required: true
14563
+ required: true,
14564
+ kind: "event"
14772
14565
  },
14773
14566
  refreshPayload: {
14774
14567
  types: [
@@ -14827,7 +14620,8 @@ var patterns_registry_default = {
14827
14620
  "string"
14828
14621
  ],
14829
14622
  description: "reorderEvent prop",
14830
- required: true
14623
+ required: true,
14624
+ kind: "event"
14831
14625
  },
14832
14626
  reorderPayload: {
14833
14627
  types: [
@@ -14868,13 +14662,17 @@ var patterns_registry_default = {
14868
14662
  types: [
14869
14663
  "array"
14870
14664
  ],
14871
- description: "leftActions prop"
14665
+ description: "leftActions prop",
14666
+ kind: "event-list",
14667
+ eventField: "event"
14872
14668
  },
14873
14669
  rightActions: {
14874
14670
  types: [
14875
14671
  "array"
14876
14672
  ],
14877
- description: "rightActions prop"
14673
+ description: "rightActions prop",
14674
+ kind: "event-list",
14675
+ eventField: "event"
14878
14676
  },
14879
14677
  threshold: {
14880
14678
  types: [
@@ -24675,7 +24473,7 @@ var integrators_registry_default = {
24675
24473
  // src/component-mapping.json
24676
24474
  var component_mapping_default = {
24677
24475
  version: "1.0.0",
24678
- exportedAt: "2026-04-21T13:35:57.135Z",
24476
+ exportedAt: "2026-04-25T12:02:50.943Z",
24679
24477
  mappings: {
24680
24478
  "page-header": {
24681
24479
  component: "PageHeader",
@@ -26486,7 +26284,7 @@ var component_mapping_default = {
26486
26284
  // src/event-contracts.json
26487
26285
  var event_contracts_default = {
26488
26286
  version: "1.0.0",
26489
- exportedAt: "2026-04-21T13:35:57.135Z",
26287
+ exportedAt: "2026-04-25T12:02:50.943Z",
26490
26288
  contracts: {
26491
26289
  form: {
26492
26290
  emits: [
@@ -27016,7 +26814,7 @@ var event_contracts_default = {
27016
26814
  stats: {
27017
26815
  emits: [],
27018
26816
  requires: [],
27019
- entityAware: true
26817
+ entityAware: false
27020
26818
  },
27021
26819
  card: {
27022
26820
  emits: [
@@ -27795,6 +27593,26 @@ var event_contracts_default = {
27795
27593
  ],
27796
27594
  requires: [],
27797
27595
  entityAware: false
27596
+ },
27597
+ "ui-slot-renderer": {
27598
+ emits: [
27599
+ {
27600
+ event: "CLOSE",
27601
+ trigger: "action",
27602
+ payload: {
27603
+ type: "object"
27604
+ }
27605
+ },
27606
+ {
27607
+ event: "CANCEL",
27608
+ trigger: "action",
27609
+ payload: {
27610
+ type: "object"
27611
+ }
27612
+ }
27613
+ ],
27614
+ requires: [],
27615
+ entityAware: true
27798
27616
  }
27799
27617
  }
27800
27618
  };