@almadar/patterns 2.17.2 → 2.18.2

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-22T03:26:00.903Z",
4
+ exportedAt: "2026-04-25T12:02:50.943Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -700,12 +700,6 @@ var patterns_registry_default = {
700
700
  ],
701
701
  description: "Panel width (CSS value, e.g., '400px', '50%')"
702
702
  },
703
- entityId: {
704
- types: [
705
- "string"
706
- ],
707
- description: "Entity ID for fetching specific entity"
708
- },
709
703
  displayFields: {
710
704
  types: [
711
705
  "array"
@@ -896,11 +890,7 @@ var patterns_registry_default = {
896
890
  types: [
897
891
  "string"
898
892
  ],
899
- description: "Form mode - 'create' for new records, 'edit' for updating existing",
900
- enumValues: [
901
- "create",
902
- "edit"
903
- ]
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'."
904
894
  },
905
895
  fields: {
906
896
  types: [
@@ -966,12 +956,6 @@ var patterns_registry_default = {
966
956
  description: "Event to dispatch on cancel (defaults to 'CANCEL')",
967
957
  kind: "event"
968
958
  },
969
- entityId: {
970
- types: [
971
- "string"
972
- ],
973
- description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
974
- },
975
959
  relationsData: {
976
960
  types: [
977
961
  "object"
@@ -1106,11 +1090,7 @@ var patterns_registry_default = {
1106
1090
  types: [
1107
1091
  "string"
1108
1092
  ],
1109
- description: "Form mode - 'create' for new records, 'edit' for updating existing",
1110
- enumValues: [
1111
- "create",
1112
- "edit"
1113
- ]
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'."
1114
1094
  },
1115
1095
  fields: {
1116
1096
  types: [
@@ -1176,12 +1156,6 @@ var patterns_registry_default = {
1176
1156
  description: "Event to dispatch on cancel (defaults to 'CANCEL')",
1177
1157
  kind: "event"
1178
1158
  },
1179
- entityId: {
1180
- types: [
1181
- "string"
1182
- ],
1183
- description: "Entity ID binding for edit mode (triggers initialData from selectedEntity in compiled code)"
1184
- },
1185
1159
  relationsData: {
1186
1160
  types: [
1187
1161
  "object"
@@ -2110,188 +2084,36 @@ var patterns_registry_default = {
2110
2084
  ],
2111
2085
  typicalSize: "small",
2112
2086
  propsSchema: {
2113
- entity: {
2114
- types: [
2115
- "string"
2116
- ],
2117
- description: "Entity name for schema-driven integration"
2118
- },
2119
- data: {
2120
- types: [
2121
- "array"
2122
- ],
2123
- description: "Data array provided by the trait via render-ui"
2124
- },
2125
- className: {
2126
- types: [
2127
- "string"
2128
- ],
2129
- description: "Additional CSS classes"
2130
- },
2131
- isLoading: {
2132
- types: [
2133
- "boolean"
2134
- ],
2135
- description: "Loading state indicator"
2136
- },
2137
- error: {
2138
- types: [
2139
- "object"
2140
- ],
2141
- description: "Error state"
2142
- },
2143
- sortBy: {
2144
- types: [
2145
- "string"
2146
- ],
2147
- description: "Current sort field"
2148
- },
2149
- sortDirection: {
2150
- types: [
2151
- "string"
2152
- ],
2153
- description: "Current sort direction"
2154
- },
2155
- searchValue: {
2087
+ value: {
2156
2088
  types: [
2157
2089
  "string"
2158
2090
  ],
2159
- description: "Current search query value"
2160
- },
2161
- page: {
2162
- types: [
2163
- "number"
2164
- ],
2165
- description: "Current page number"
2166
- },
2167
- pageSize: {
2168
- types: [
2169
- "number"
2170
- ],
2171
- description: "Number of items per page"
2172
- },
2173
- totalCount: {
2174
- types: [
2175
- "number"
2176
- ],
2177
- description: "Total number of items"
2178
- },
2179
- activeFilters: {
2180
- types: [
2181
- "object"
2182
- ],
2183
- description: "Active filters"
2184
- },
2185
- selectedIds: {
2186
- types: [
2187
- "array"
2188
- ],
2189
- description: "Currently selected item IDs"
2091
+ description: "The stat value to display prominently",
2092
+ required: true
2190
2093
  },
2191
2094
  label: {
2192
2095
  types: [
2193
2096
  "string"
2194
2097
  ],
2195
- description: "Main label"
2196
- },
2197
- title: {
2198
- types: [
2199
- "string"
2200
- ],
2201
- description: "Title (alias for label)"
2202
- },
2203
- value: {
2204
- types: [
2205
- "string",
2206
- "number",
2207
- "array",
2208
- "unknown"
2209
- ],
2210
- description: "Primary value - accepts array/unknown from generated code (will use first element or length)"
2211
- },
2212
- previousValue: {
2213
- types: [
2214
- "number"
2215
- ],
2216
- description: "Previous value for comparison"
2217
- },
2218
- currentValue: {
2219
- types: [
2220
- "number"
2221
- ],
2222
- description: "Current value as number for trend calculation"
2223
- },
2224
- trend: {
2225
- types: [
2226
- "number"
2227
- ],
2228
- description: "Manual trend percentage (overrides calculation)"
2098
+ description: "Label describing the value",
2099
+ required: true
2229
2100
  },
2230
- trendDirection: {
2101
+ size: {
2231
2102
  types: [
2232
2103
  "string"
2233
2104
  ],
2234
- description: "Trend direction (overrides calculation)",
2105
+ description: "Size of the value text",
2235
2106
  enumValues: [
2236
- "up",
2237
- "down",
2238
- "neutral"
2107
+ "sm",
2108
+ "md",
2109
+ "lg"
2239
2110
  ]
2240
2111
  },
2241
- invertTrend: {
2242
- types: [
2243
- "boolean"
2244
- ],
2245
- description: "Whether up is good (green) or bad (red)"
2246
- },
2247
- icon: {
2248
- types: [
2249
- "icon",
2250
- "string"
2251
- ],
2252
- description: "Icon to display (Lucide component or icon name string)"
2253
- },
2254
- iconBg: {
2255
- types: [
2256
- "string"
2257
- ],
2258
- description: "Icon background color"
2259
- },
2260
- iconColor: {
2261
- types: [
2262
- "string"
2263
- ],
2264
- description: "Icon color"
2265
- },
2266
- subtitle: {
2112
+ className: {
2267
2113
  types: [
2268
2114
  "string"
2269
2115
  ],
2270
- description: "Subtitle or description"
2271
- },
2272
- action: {
2273
- types: [
2274
- "object"
2275
- ],
2276
- description: "Action button"
2277
- },
2278
- metrics: {
2279
- types: [
2280
- "array"
2281
- ],
2282
- description: "Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays"
2283
- },
2284
- compact: {
2285
- types: [
2286
- "boolean"
2287
- ],
2288
- description: "Compact display mode"
2289
- },
2290
- sparklineData: {
2291
- types: [
2292
- "array"
2293
- ],
2294
- description: "Sparkline data points for an inline trend chart"
2116
+ description: "Additional class names"
2295
2117
  }
2296
2118
  }
2297
2119
  },
@@ -4108,90 +3930,53 @@ var patterns_registry_default = {
4108
3930
  ],
4109
3931
  typicalSize: "small",
4110
3932
  propsSchema: {
4111
- title: {
4112
- types: [
4113
- "string"
4114
- ],
4115
- description: "Card title"
4116
- },
4117
- subtitle: {
4118
- types: [
4119
- "string"
4120
- ],
4121
- description: "Card subtitle or description"
4122
- },
4123
- image: {
3933
+ variant: {
4124
3934
  types: [
4125
3935
  "string"
4126
3936
  ],
4127
- description: "Image URL to display at top of card"
4128
- },
4129
- actions: {
4130
- types: [
4131
- "array"
4132
- ],
4133
- description: "Action buttons to display in card footer"
4134
- },
4135
- children: {
4136
- types: [
4137
- "node"
4138
- ],
4139
- description: "Card content"
4140
- },
4141
- onClick: {
4142
- types: [
4143
- "function"
4144
- ],
4145
- description: "Click handler for the entire card"
3937
+ description: "variant prop",
3938
+ enumValues: [
3939
+ "default",
3940
+ "bordered",
3941
+ "elevated",
3942
+ "interactive"
3943
+ ]
4146
3944
  },
4147
- className: {
3945
+ padding: {
4148
3946
  types: [
4149
3947
  "string"
4150
3948
  ],
4151
- description: "Additional CSS classes"
3949
+ description: "padding prop",
3950
+ enumValues: [
3951
+ "none",
3952
+ "sm",
3953
+ "md",
3954
+ "lg"
3955
+ ]
4152
3956
  },
4153
- action: {
3957
+ title: {
4154
3958
  types: [
4155
3959
  "string"
4156
3960
  ],
4157
- description: "Declarative event name \u2014 emits UI:{action} via eventBus on card click",
4158
- kind: "event"
3961
+ description: "Card title - renders in header if provided"
4159
3962
  },
4160
- isSelected: {
4161
- types: [
4162
- "boolean"
4163
- ],
4164
- description: "Whether the card is selected (highlighted state)"
4165
- },
4166
- name: {
3963
+ subtitle: {
4167
3964
  types: [
4168
3965
  "string"
4169
3966
  ],
4170
- description: "Card name (alias for title)"
4171
- },
4172
- level: {
4173
- types: [
4174
- "number"
4175
- ],
4176
- description: "Level indicator"
3967
+ description: "Card subtitle - renders below title"
4177
3968
  },
4178
- maxLevel: {
4179
- types: [
4180
- "number"
4181
- ],
4182
- description: "Maximum level"
4183
- },
4184
- longPressEvent: {
3969
+ shadow: {
4185
3970
  types: [
4186
3971
  "string"
4187
3972
  ],
4188
- description: "Event emitted on long press: UI:{longPressEvent}"
4189
- },
4190
- longPressPayload: {
4191
- types: [
4192
- "object"
4193
- ],
4194
- description: "Additional payload for long-press events"
3973
+ description: "Shadow size override",
3974
+ enumValues: [
3975
+ "none",
3976
+ "sm",
3977
+ "md",
3978
+ "lg"
3979
+ ]
4195
3980
  }
4196
3981
  }
4197
3982
  },
@@ -6352,34 +6137,41 @@ var patterns_registry_default = {
6352
6137
  typicalSize: "medium",
6353
6138
  propsSchema: {
6354
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: {
6355
6147
  types: [
6356
6148
  "object"
6357
6149
  ],
6358
- description: "Single action (if only one action, button will directly trigger onClick)"
6150
+ description: "Payload to include with the dispatched action event."
6359
6151
  },
6360
6152
  actions: {
6361
6153
  types: [
6362
6154
  "array"
6363
6155
  ],
6364
- 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."
6365
6157
  },
6366
6158
  icon: {
6367
6159
  types: [
6368
6160
  "string"
6369
6161
  ],
6370
- description: "Icon name (simplified API for pattern compatibility)"
6162
+ description: "Icon name (resolves to a Lucide icon by PascalCase / kebab-case lookup)."
6371
6163
  },
6372
6164
  onClick: {
6373
6165
  types: [
6374
6166
  "function"
6375
6167
  ],
6376
- description: "Click handler (simplified API for pattern compatibility)"
6168
+ description: "Optional direct click handler. Runs after the action emit when both are present."
6377
6169
  },
6378
6170
  variant: {
6379
6171
  types: [
6380
6172
  "string"
6381
6173
  ],
6382
- description: "Variant (simplified API for pattern compatibility)",
6174
+ description: "Visual variant.",
6383
6175
  enumValues: [
6384
6176
  "primary",
6385
6177
  "secondary",
@@ -6388,6 +6180,12 @@ var patterns_registry_default = {
6388
6180
  "warning"
6389
6181
  ]
6390
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
+ },
6391
6189
  position: {
6392
6190
  types: [
6393
6191
  "string"
@@ -7000,78 +6798,29 @@ var patterns_registry_default = {
7000
6798
  ],
7001
6799
  typicalSize: "large",
7002
6800
  propsSchema: {
7003
- label: {
7004
- types: [
7005
- "string"
7006
- ],
7007
- description: "label prop",
7008
- required: true
7009
- },
7010
- variant: {
7011
- types: [
7012
- "string"
7013
- ],
7014
- description: "variant prop",
7015
- enumValues: [
7016
- "primary",
7017
- "secondary",
7018
- "ghost",
7019
- "danger",
7020
- "success",
7021
- "warning",
7022
- "default"
7023
- ]
7024
- },
7025
- size: {
7026
- types: [
7027
- "string"
7028
- ],
7029
- description: "size prop",
7030
- enumValues: [
7031
- "sm",
7032
- "md",
7033
- "lg"
7034
- ]
7035
- },
7036
- disabled: {
7037
- types: [
7038
- "boolean"
7039
- ],
7040
- description: "disabled prop"
7041
- },
7042
6801
  onClick: {
7043
6802
  types: [
7044
6803
  "string"
7045
6804
  ],
7046
- description: "onClick prop"
6805
+ description: "Legacy alias for {@link ButtonProps.action} (string event name).",
6806
+ kind: "event"
7047
6807
  },
7048
6808
  event: {
7049
6809
  types: [
7050
6810
  "string"
7051
6811
  ],
7052
- description: "event prop"
7053
- },
7054
- icon: {
7055
- types: [
7056
- "string"
7057
- ],
7058
- description: "icon prop"
6812
+ description: "Legacy alias for {@link ButtonProps.action}.",
6813
+ kind: "event"
7059
6814
  },
7060
6815
  iconPosition: {
7061
6816
  types: [
7062
6817
  "string"
7063
6818
  ],
7064
- description: "iconPosition prop",
6819
+ description: "Icon placement \u2014 maps to Button's `icon` (left) or `iconRight` (right).",
7065
6820
  enumValues: [
7066
6821
  "left",
7067
6822
  "right"
7068
6823
  ]
7069
- },
7070
- className: {
7071
- types: [
7072
- "string"
7073
- ],
7074
- description: "className prop"
7075
6824
  }
7076
6825
  }
7077
6826
  },
@@ -8880,12 +8629,6 @@ var patterns_registry_default = {
8880
8629
  ],
8881
8630
  description: "Actions"
8882
8631
  },
8883
- entity: {
8884
- types: [
8885
- "string"
8886
- ],
8887
- description: "Entity name for schema-driven auto-fetch"
8888
- },
8889
8632
  isLoading: {
8890
8633
  types: [
8891
8634
  "boolean"
@@ -13516,10 +13259,10 @@ var patterns_registry_default = {
13516
13259
  propsSchema: {
13517
13260
  entity: {
13518
13261
  types: [
13519
- "unknown",
13262
+ "object",
13520
13263
  "array"
13521
13264
  ],
13522
- 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.",
13523
13266
  required: true
13524
13267
  },
13525
13268
  fields: {
@@ -13628,7 +13371,7 @@ var patterns_registry_default = {
13628
13371
  types: [
13629
13372
  "function"
13630
13373
  ],
13631
- 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."
13632
13375
  },
13633
13376
  renderItem: {
13634
13377
  types: [
@@ -13657,10 +13400,10 @@ var patterns_registry_default = {
13657
13400
  propsSchema: {
13658
13401
  entity: {
13659
13402
  types: [
13660
- "unknown",
13403
+ "object",
13661
13404
  "array"
13662
13405
  ],
13663
- 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.",
13664
13407
  required: true
13665
13408
  },
13666
13409
  fields: {
@@ -14557,23 +14300,29 @@ var patterns_registry_default = {
14557
14300
  propsSchema: {
14558
14301
  value: {
14559
14302
  types: [
14303
+ "number",
14560
14304
  "string"
14561
14305
  ],
14562
- 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").',
14563
14307
  required: true
14564
14308
  },
14565
- label: {
14309
+ duration: {
14310
+ types: [
14311
+ "number"
14312
+ ],
14313
+ description: "Animation duration in milliseconds"
14314
+ },
14315
+ prefix: {
14566
14316
  types: [
14567
14317
  "string"
14568
14318
  ],
14569
- description: "Label displayed below the number",
14570
- required: true
14319
+ description: "Text to display before the number"
14571
14320
  },
14572
- duration: {
14321
+ suffix: {
14573
14322
  types: [
14574
- "number"
14323
+ "string"
14575
14324
  ],
14576
- description: "Animation duration in ms"
14325
+ description: "Text to display after the number"
14577
14326
  },
14578
14327
  className: {
14579
14328
  types: [
@@ -24724,7 +24473,7 @@ var integrators_registry_default = {
24724
24473
  // src/component-mapping.json
24725
24474
  var component_mapping_default = {
24726
24475
  version: "1.0.0",
24727
- exportedAt: "2026-04-22T03:26:00.903Z",
24476
+ exportedAt: "2026-04-25T12:02:50.943Z",
24728
24477
  mappings: {
24729
24478
  "page-header": {
24730
24479
  component: "PageHeader",
@@ -26535,7 +26284,7 @@ var component_mapping_default = {
26535
26284
  // src/event-contracts.json
26536
26285
  var event_contracts_default = {
26537
26286
  version: "1.0.0",
26538
- exportedAt: "2026-04-22T03:26:00.903Z",
26287
+ exportedAt: "2026-04-25T12:02:50.943Z",
26539
26288
  contracts: {
26540
26289
  form: {
26541
26290
  emits: [
@@ -27065,7 +26814,7 @@ var event_contracts_default = {
27065
26814
  stats: {
27066
26815
  emits: [],
27067
26816
  requires: [],
27068
- entityAware: true
26817
+ entityAware: false
27069
26818
  },
27070
26819
  card: {
27071
26820
  emits: [
@@ -27844,132 +27593,382 @@ var event_contracts_default = {
27844
27593
  ],
27845
27594
  requires: [],
27846
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
27847
27616
  }
27848
27617
  }
27849
27618
  };
27850
27619
 
27851
27620
  // src/pattern-types.ts
27852
27621
  var PATTERN_TYPES = [
27622
+ "about-page-template",
27853
27623
  "accordion",
27624
+ "action-button",
27854
27625
  "action-buttons",
27626
+ "action-palette",
27627
+ "action-tile",
27855
27628
  "alert",
27629
+ "animated-counter",
27630
+ "animated-graphic",
27631
+ "animated-reveal",
27632
+ "article-section",
27856
27633
  "auth-layout",
27857
27634
  "avatar",
27635
+ "avl-3d-application-scene",
27636
+ "avl-3d-cross-wire",
27637
+ "avl-3d-effects",
27638
+ "avl-3d-entity-core",
27639
+ "avl-3d-expr-tree",
27640
+ "avl-3d-label",
27641
+ "avl-3d-orbital-node",
27642
+ "avl-3d-orbital-scene",
27643
+ "avl-3d-state-node",
27644
+ "avl-3d-tooltip",
27645
+ "avl-3d-trait-scene",
27646
+ "avl-3d-transition-arc",
27647
+ "avl-3d-transition-scene",
27648
+ "avl-3d-viewer",
27649
+ "avl-application",
27650
+ "avl-behavior-glyph",
27651
+ "avl-binding",
27652
+ "avl-binding-ref",
27653
+ "avl-click-target",
27654
+ "avl-closed-circuit",
27655
+ "avl-cosmic-zoom",
27656
+ "avl-effect",
27657
+ "avl-emit-listen",
27658
+ "avl-entity",
27659
+ "avl-event",
27660
+ "avl-expr-tree",
27661
+ "avl-field",
27662
+ "avl-field-type",
27663
+ "avl-guard",
27664
+ "avl-legend",
27665
+ "avl-literal",
27666
+ "avl-operator",
27667
+ "avl-orbital",
27668
+ "avl-orbital-unit",
27669
+ "avl-orbitals-cosmic-zoom",
27670
+ "avl-page",
27671
+ "avl-persistence",
27672
+ "avl-s-expr",
27673
+ "avl-slot-map",
27674
+ "avl-state",
27675
+ "avl-state-machine",
27676
+ "avl-swim-lane",
27677
+ "avl-trait",
27678
+ "avl-trait-scene",
27679
+ "avl-transition",
27680
+ "avl-transition-lane",
27681
+ "avl-transition-scene",
27858
27682
  "badge",
27683
+ "battle-board",
27859
27684
  "battle-template",
27685
+ "behavior-view",
27686
+ "book-chapter-view",
27687
+ "book-cover-page",
27688
+ "book-nav-bar",
27689
+ "book-table-of-contents",
27690
+ "book-viewer",
27860
27691
  "box",
27861
27692
  "breadcrumb",
27693
+ "builder-board",
27862
27694
  "button",
27863
27695
  "button-pattern",
27696
+ "calendar-grid",
27697
+ "camera-3d",
27698
+ "canvas-3d-error-boundary",
27699
+ "canvas-3d-loading-state",
27864
27700
  "canvas-effect",
27865
27701
  "card",
27702
+ "carousel",
27703
+ "case-study-card",
27704
+ "case-study-organism",
27705
+ "castle-board",
27866
27706
  "castle-template",
27867
27707
  "center",
27868
27708
  "chart",
27709
+ "chart-legend",
27869
27710
  "checkbox",
27711
+ "choice-button",
27712
+ "classifier-board",
27713
+ "code-block",
27714
+ "code-example",
27715
+ "code-view",
27870
27716
  "code-viewer",
27717
+ "collapsible-section",
27718
+ "combat-log",
27719
+ "combo-counter",
27720
+ "community-links",
27871
27721
  "conditional-wrapper",
27722
+ "confetti-effect",
27872
27723
  "confirm-dialog",
27873
27724
  "container",
27725
+ "content-renderer",
27726
+ "content-section",
27874
27727
  "control-button",
27875
27728
  "counter-template",
27876
- "crud-template",
27729
+ "crafting-recipe",
27730
+ "cta-banner",
27877
27731
  "custom-pattern",
27878
27732
  "d-pad",
27733
+ "damage-number",
27879
27734
  "dashboard-grid",
27880
27735
  "dashboard-layout",
27736
+ "data-grid",
27737
+ "data-list",
27738
+ "date-range-selector",
27739
+ "day-cell",
27740
+ "debugger-board",
27881
27741
  "detail-panel",
27742
+ "detail-view",
27882
27743
  "dialogue-box",
27744
+ "dialogue-bubble",
27883
27745
  "divider",
27746
+ "doc-breadcrumb",
27747
+ "doc-code-block",
27748
+ "doc-pagination",
27749
+ "doc-search",
27750
+ "doc-sidebar",
27751
+ "doc-toc",
27884
27752
  "document-viewer",
27885
27753
  "drawer",
27886
27754
  "drawer-slot",
27755
+ "edge-decoration",
27887
27756
  "empty-state",
27757
+ "enemy-plate",
27888
27758
  "entity-cards",
27889
27759
  "entity-list",
27890
27760
  "entity-table",
27761
+ "error-boundary",
27891
27762
  "error-state",
27763
+ "event-handler-board",
27764
+ "event-log",
27765
+ "feature-card",
27766
+ "feature-detail-page-template",
27767
+ "feature-grid",
27768
+ "feature-grid-organism",
27769
+ "feature-renderer",
27770
+ "feature-renderer-3d",
27771
+ "file-tree",
27892
27772
  "filter-group",
27893
27773
  "flex",
27774
+ "flip-card",
27775
+ "flip-container",
27894
27776
  "floating-action-button",
27777
+ "flow-canvas",
27895
27778
  "form",
27896
27779
  "form-actions",
27897
27780
  "form-field",
27898
27781
  "form-section",
27899
27782
  "form-section-header",
27900
- "form-template",
27783
+ "game-audio-provider",
27784
+ "game-audio-toggle",
27785
+ "game-canvas-2d",
27786
+ "game-canvas-3d",
27787
+ "game-canvas-3d-battle-template",
27788
+ "game-canvas-3d-castle-template",
27789
+ "game-canvas-3d-world-map-template",
27901
27790
  "game-hud",
27902
27791
  "game-menu",
27903
27792
  "game-over-screen",
27904
27793
  "game-shell",
27905
27794
  "game-template",
27906
27795
  "generic-app-template",
27796
+ "geometric-pattern",
27797
+ "gradient-divider",
27907
27798
  "graph-canvas",
27799
+ "graph-view",
27908
27800
  "grid",
27909
27801
  "header",
27802
+ "heading",
27910
27803
  "health-bar",
27804
+ "health-panel",
27805
+ "hero-organism",
27806
+ "hero-section",
27911
27807
  "icon",
27808
+ "infinite-scroll-sentinel",
27912
27809
  "input",
27913
27810
  "input-group",
27811
+ "install-box",
27812
+ "inventory-grid",
27914
27813
  "inventory-panel",
27915
27814
  "isometric-canvas",
27815
+ "item-slot",
27816
+ "jazari-state-machine",
27916
27817
  "label",
27818
+ "landing-page-template",
27917
27819
  "law-reference-tooltip",
27918
27820
  "layout-pattern",
27919
- "list-template",
27821
+ "lightbox",
27822
+ "lighting-3d",
27823
+ "line-chart",
27920
27824
  "loading-state",
27825
+ "map-view",
27826
+ "markdown-content",
27827
+ "marketing-footer",
27921
27828
  "master-detail",
27922
27829
  "media-gallery",
27923
27830
  "menu",
27924
27831
  "meter",
27832
+ "mini-map",
27833
+ "mini-state-machine",
27925
27834
  "modal",
27926
27835
  "modal-slot",
27836
+ "model-loader",
27837
+ "module-card",
27927
27838
  "navigation",
27839
+ "negotiator-board",
27928
27840
  "notification",
27841
+ "number-stepper",
27842
+ "object-rule-panel",
27843
+ "orb-inspector",
27929
27844
  "orbital-visualization",
27930
27845
  "overlay",
27931
27846
  "page-header",
27932
27847
  "pagination",
27848
+ "pattern-tile",
27849
+ "physics-object-3d",
27850
+ "platformer-canvas",
27933
27851
  "popover",
27852
+ "powerup-slots",
27853
+ "pricing-card",
27854
+ "pricing-grid",
27855
+ "pricing-organism",
27856
+ "pricing-page-template",
27934
27857
  "progress-bar",
27858
+ "progress-dots",
27859
+ "pull-quote",
27860
+ "pull-to-refresh",
27861
+ "quest-tracker",
27862
+ "quiz-block",
27935
27863
  "radio",
27864
+ "range-slider",
27936
27865
  "relation-select",
27937
27866
  "repeatable-form-section",
27867
+ "resource-bar",
27868
+ "resource-counter",
27869
+ "rule-editor",
27938
27870
  "runtime-debugger",
27871
+ "scaled-diagram",
27872
+ "scene-3d",
27873
+ "score-board",
27939
27874
  "score-display",
27940
27875
  "search-input",
27941
27876
  "section",
27877
+ "section-header",
27942
27878
  "select",
27943
- "settings-template",
27879
+ "sequence-bar",
27880
+ "sequencer-board",
27881
+ "service-catalog",
27882
+ "showcase-card",
27883
+ "showcase-organism",
27944
27884
  "side-panel",
27945
27885
  "sidebar",
27946
27886
  "signature-pad",
27947
27887
  "simple-grid",
27888
+ "simulation-canvas",
27889
+ "simulation-controls",
27890
+ "simulation-graph",
27891
+ "simulator-board",
27892
+ "skeleton",
27893
+ "social-proof",
27894
+ "sortable-list",
27948
27895
  "spacer",
27949
27896
  "spinner",
27950
27897
  "split",
27951
27898
  "split-pane",
27899
+ "split-section",
27952
27900
  "sprite",
27953
27901
  "stack",
27902
+ "star-rating",
27954
27903
  "stat-badge",
27904
+ "stat-display",
27905
+ "state-architect-board",
27906
+ "state-indicator",
27907
+ "state-machine-view",
27908
+ "state-node",
27955
27909
  "stats",
27910
+ "stats-grid",
27911
+ "stats-organism",
27912
+ "status-dot",
27913
+ "status-effect",
27914
+ "step-flow-organism",
27915
+ "step-item",
27916
+ "svg-branch",
27917
+ "svg-connection",
27918
+ "svg-flow",
27919
+ "svg-grid",
27920
+ "svg-lobe",
27921
+ "svg-mesh",
27922
+ "svg-morph",
27923
+ "svg-node",
27924
+ "svg-pulse",
27925
+ "svg-ring",
27926
+ "svg-shield",
27927
+ "svg-stack",
27928
+ "swipeable-row",
27956
27929
  "switch",
27930
+ "system-node",
27957
27931
  "tabbed-container",
27958
27932
  "table",
27959
27933
  "tabs",
27934
+ "tag-cloud",
27935
+ "team-card",
27936
+ "team-organism",
27937
+ "text",
27960
27938
  "text-highlight",
27961
27939
  "textarea",
27962
27940
  "theme-toggle",
27941
+ "tile-renderer",
27942
+ "time-slot-cell",
27963
27943
  "timeline",
27944
+ "timer-display",
27964
27945
  "toast-slot",
27965
27946
  "tooltip",
27947
+ "trait-frame",
27948
+ "trait-slot",
27949
+ "trait-state-viewer",
27950
+ "transition-arrow",
27951
+ "trend-indicator",
27952
+ "turn-indicator",
27953
+ "turn-panel",
27954
+ "typewriter-text",
27966
27955
  "typography",
27967
- "u-i-slot-renderer",
27956
+ "ui-slot-renderer",
27957
+ "uncontrolled-battle-board",
27958
+ "unit-command-bar",
27959
+ "unit-renderer",
27960
+ "upload-drop-zone",
27961
+ "variable-panel",
27968
27962
  "violation-alert",
27963
+ "waypoint-marker",
27969
27964
  "wizard-container",
27970
27965
  "wizard-navigation",
27971
27966
  "wizard-progress",
27972
- "world-map-template"
27967
+ "world-map-board",
27968
+ "world-map-template",
27969
+ "xp-bar",
27970
+ "zoom-breadcrumb",
27971
+ "zoom-legend"
27973
27972
  ];
27974
27973
  function isValidPatternType(type) {
27975
27974
  return PATTERN_TYPES.includes(type);