@almadar/patterns 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/patterns-registry.json
2
2
  var patterns_registry_default = {
3
3
  version: "1.0.0",
4
- exportedAt: "2026-03-09T08:08:00.655Z",
4
+ exportedAt: "2026-03-10T17:18:23.379Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -2159,9 +2159,10 @@ var patterns_registry_default = {
2159
2159
  },
2160
2160
  icon: {
2161
2161
  types: [
2162
- "icon"
2162
+ "icon",
2163
+ "string"
2163
2164
  ],
2164
- description: "Icon to display"
2165
+ description: "Icon to display (Lucide component or icon name string)"
2165
2166
  },
2166
2167
  iconBg: {
2167
2168
  types: [
@@ -2198,6 +2199,12 @@ var patterns_registry_default = {
2198
2199
  "boolean"
2199
2200
  ],
2200
2201
  description: "Compact display mode"
2202
+ },
2203
+ sparklineData: {
2204
+ types: [
2205
+ "unknown"
2206
+ ],
2207
+ description: "Sparkline data points for an inline trend chart"
2201
2208
  }
2202
2209
  }
2203
2210
  },
@@ -2387,6 +2394,12 @@ var patterns_registry_default = {
2387
2394
  "string"
2388
2395
  ],
2389
2396
  description: "Declarative close event \u2014 emits UI:{closeEvent} via eventBus when modal should close"
2397
+ },
2398
+ swipeDownToClose: {
2399
+ types: [
2400
+ "boolean"
2401
+ ],
2402
+ description: "Enable swipe-down-to-close on mobile bottom sheet (default: true)"
2390
2403
  }
2391
2404
  }
2392
2405
  },
@@ -3521,6 +3534,12 @@ var patterns_registry_default = {
3521
3534
  "string"
3522
3535
  ],
3523
3536
  description: "Badge label text (alternative to children for schema-driven rendering)"
3537
+ },
3538
+ icon: {
3539
+ types: [
3540
+ "node"
3541
+ ],
3542
+ description: "Icon name (Lucide icon string) or React node"
3524
3543
  }
3525
3544
  }
3526
3545
  },
@@ -3753,6 +3772,18 @@ var patterns_registry_default = {
3753
3772
  "number"
3754
3773
  ],
3755
3774
  description: "Maximum level"
3775
+ },
3776
+ longPressEvent: {
3777
+ types: [
3778
+ "string"
3779
+ ],
3780
+ description: "Event emitted on long press: UI:{longPressEvent}"
3781
+ },
3782
+ longPressPayload: {
3783
+ types: [
3784
+ "object"
3785
+ ],
3786
+ description: "Additional payload for long-press events"
3756
3787
  }
3757
3788
  }
3758
3789
  },
@@ -4855,6 +4886,12 @@ var patterns_registry_default = {
4855
4886
  "object"
4856
4887
  ],
4857
4888
  description: "Payload to include with the action event"
4889
+ },
4890
+ responsive: {
4891
+ types: [
4892
+ "boolean"
4893
+ ],
4894
+ description: "When true, horizontal stacks flip to vertical below the md breakpoint (768px)"
4858
4895
  }
4859
4896
  }
4860
4897
  },
@@ -8487,7 +8524,7 @@ var patterns_registry_default = {
8487
8524
  },
8488
8525
  "graph-canvas": {
8489
8526
  type: "graph-canvas",
8490
- category: "visualization",
8527
+ category: "game",
8491
8528
  description: "Force-directed graph visualization for node-link data with interactive zoom, pan, and layout",
8492
8529
  suggestedFor: [
8493
8530
  "knowledge graphs",
@@ -12612,6 +12649,7 @@ var patterns_registry_default = {
12612
12649
  propsSchema: {
12613
12650
  preset: {
12614
12651
  types: [
12652
+ "string",
12615
12653
  "physicspreset"
12616
12654
  ],
12617
12655
  description: "preset prop",
@@ -13716,6 +13754,30 @@ var patterns_registry_default = {
13716
13754
  "string"
13717
13755
  ],
13718
13756
  description: "Additional CSS classes"
13757
+ },
13758
+ longPressEvent: {
13759
+ types: [
13760
+ "string"
13761
+ ],
13762
+ description: "Event emitted on long-press of a time slot: UI:{longPressEvent} with { date, time }"
13763
+ },
13764
+ longPressPayload: {
13765
+ types: [
13766
+ "object"
13767
+ ],
13768
+ description: "Additional payload for long-press events"
13769
+ },
13770
+ swipeLeftEvent: {
13771
+ types: [
13772
+ "string"
13773
+ ],
13774
+ description: "Event emitted on swipe left (next week): UI:{swipeLeftEvent}"
13775
+ },
13776
+ swipeRightEvent: {
13777
+ types: [
13778
+ "string"
13779
+ ],
13780
+ description: "Event emitted on swipe right (prev week): UI:{swipeRightEvent}"
13719
13781
  }
13720
13782
  }
13721
13783
  },
@@ -14104,6 +14166,48 @@ var patterns_registry_default = {
14104
14166
  "string"
14105
14167
  ],
14106
14168
  description: "Entity field name containing an image URL for card thumbnails"
14169
+ },
14170
+ selectable: {
14171
+ types: [
14172
+ "boolean"
14173
+ ],
14174
+ description: "Enable multi-select with checkboxes"
14175
+ },
14176
+ selectionEvent: {
14177
+ types: [
14178
+ "string"
14179
+ ],
14180
+ description: "Selection change event name (emits UI:{selectionEvent} with { selectedIds: string[] })"
14181
+ },
14182
+ infiniteScroll: {
14183
+ types: [
14184
+ "boolean"
14185
+ ],
14186
+ description: "Enable infinite scroll loading"
14187
+ },
14188
+ loadMoreEvent: {
14189
+ types: [
14190
+ "string"
14191
+ ],
14192
+ description: "Event emitted when more items needed: UI:{loadMoreEvent}"
14193
+ },
14194
+ hasMore: {
14195
+ types: [
14196
+ "boolean"
14197
+ ],
14198
+ description: "Whether more items are available for infinite scroll"
14199
+ },
14200
+ children: {
14201
+ types: [
14202
+ "function"
14203
+ ],
14204
+ description: "Render prop for custom per-item content. When provided, `fields` and `itemActions` are ignored."
14205
+ },
14206
+ pageSize: {
14207
+ types: [
14208
+ "number"
14209
+ ],
14210
+ description: 'Max items to show before "Show More" button. Defaults to 0 (disabled).'
14107
14211
  }
14108
14212
  }
14109
14213
  },
@@ -14154,6 +14258,24 @@ var patterns_registry_default = {
14154
14258
  ],
14155
14259
  description: "Visual variant"
14156
14260
  },
14261
+ groupBy: {
14262
+ types: [
14263
+ "string"
14264
+ ],
14265
+ description: "Group items by a field value (renders section headers between groups)"
14266
+ },
14267
+ senderField: {
14268
+ types: [
14269
+ "string"
14270
+ ],
14271
+ description: 'Field name identifying the sender (used with variant: "message")'
14272
+ },
14273
+ currentUser: {
14274
+ types: [
14275
+ "string"
14276
+ ],
14277
+ description: 'Current user identifier; messages matching this value align right (used with variant: "message")'
14278
+ },
14157
14279
  className: {
14158
14280
  types: [
14159
14281
  "string"
@@ -14171,206 +14293,1443 @@ var patterns_registry_default = {
14171
14293
  "error"
14172
14294
  ],
14173
14295
  description: "Error state"
14174
- }
14175
- }
14176
- },
14177
- heading: {
14178
- type: "heading",
14179
- category: "component",
14180
- description: "Alias for typography \u2014 Typography Atom Component Text elements following the KFlow design system with theme-aware styling.",
14181
- suggestedFor: [
14182
- "typography"
14183
- ],
14184
- typicalSize: "small",
14185
- propsSchema: {
14186
- variant: {
14187
- types: [
14188
- "typographyvariant"
14189
- ],
14190
- description: "Typography variant"
14191
14296
  },
14192
- level: {
14297
+ reorderable: {
14193
14298
  types: [
14194
- "number"
14299
+ "boolean"
14195
14300
  ],
14196
- description: "Heading level (1-6) - alternative to variant for headings"
14301
+ description: "Enable drag-to-reorder with grip handles"
14197
14302
  },
14198
- color: {
14303
+ reorderEvent: {
14199
14304
  types: [
14200
14305
  "string"
14201
14306
  ],
14202
- description: "Text color"
14307
+ description: "Event emitted on reorder: UI:{reorderEvent} with { fromIndex, toIndex }"
14203
14308
  },
14204
- align: {
14309
+ swipeLeftEvent: {
14205
14310
  types: [
14206
14311
  "string"
14207
14312
  ],
14208
- description: "Text alignment"
14313
+ description: "Event emitted on left swipe: UI:{swipeLeftEvent} with { row }"
14209
14314
  },
14210
- weight: {
14315
+ swipeLeftActions: {
14211
14316
  types: [
14212
- "string"
14317
+ "unknown"
14213
14318
  ],
14214
- description: "Font weight override"
14319
+ description: "Actions revealed on left swipe"
14215
14320
  },
14216
- size: {
14321
+ swipeRightEvent: {
14217
14322
  types: [
14218
- "typographysize"
14323
+ "string"
14219
14324
  ],
14220
- description: "Font size override"
14325
+ description: "Event emitted on right swipe: UI:{swipeRightEvent} with { row }"
14221
14326
  },
14222
- truncate: {
14327
+ swipeRightActions: {
14223
14328
  types: [
14224
- "boolean"
14329
+ "unknown"
14225
14330
  ],
14226
- description: "Truncate with ellipsis (single line)"
14331
+ description: "Actions revealed on right swipe"
14227
14332
  },
14228
- overflow: {
14333
+ longPressEvent: {
14229
14334
  types: [
14230
14335
  "string"
14231
14336
  ],
14232
- description: "Overflow handling mode"
14233
- },
14234
- as: {
14235
- types: [
14236
- "unknown"
14237
- ],
14238
- description: "Custom HTML element"
14337
+ description: "Event emitted on long press: UI:{longPressEvent} with { row }"
14239
14338
  },
14240
- id: {
14339
+ infiniteScroll: {
14241
14340
  types: [
14242
- "string"
14341
+ "boolean"
14243
14342
  ],
14244
- description: "HTML id attribute"
14343
+ description: "Enable infinite scroll loading"
14245
14344
  },
14246
- className: {
14345
+ loadMoreEvent: {
14247
14346
  types: [
14248
14347
  "string"
14249
14348
  ],
14250
- description: "Additional class names"
14349
+ description: "Event emitted when more items needed: UI:{loadMoreEvent}"
14251
14350
  },
14252
- style: {
14351
+ hasMore: {
14253
14352
  types: [
14254
- "object"
14353
+ "boolean"
14255
14354
  ],
14256
- description: "Inline style"
14355
+ description: "Whether more items are available for infinite scroll"
14257
14356
  },
14258
- content: {
14357
+ children: {
14259
14358
  types: [
14260
- "node"
14359
+ "function"
14261
14360
  ],
14262
- description: "Text content (alternative to children)"
14361
+ description: "Render prop for custom per-item content. When provided, `fields` and `itemActions` are ignored."
14263
14362
  },
14264
- children: {
14363
+ pageSize: {
14265
14364
  types: [
14266
- "node"
14365
+ "number"
14267
14366
  ],
14268
- description: "Children elements"
14367
+ description: 'Max items to show before "Show More" button. Defaults to 5. Set to 0 to disable.'
14269
14368
  }
14270
14369
  }
14271
14370
  },
14272
- text: {
14273
- type: "text",
14274
- category: "component",
14275
- description: "Alias for typography \u2014 Typography Atom Component Text elements following the KFlow design system with theme-aware styling.",
14371
+ "platformer-canvas": {
14372
+ type: "platformer-canvas",
14373
+ category: "game",
14374
+ description: "PlatformerCanvas component",
14276
14375
  suggestedFor: [
14277
- "typography"
14376
+ "platformer",
14377
+ "canvas",
14378
+ "platformer canvas"
14278
14379
  ],
14279
- typicalSize: "small",
14380
+ typicalSize: "large",
14280
14381
  propsSchema: {
14281
- variant: {
14382
+ player: {
14282
14383
  types: [
14283
- "typographyvariant"
14384
+ "platformerplayer"
14284
14385
  ],
14285
- description: "Typography variant"
14386
+ description: "Player entity data"
14286
14387
  },
14287
- level: {
14388
+ platforms: {
14389
+ types: [
14390
+ "unknown"
14391
+ ],
14392
+ description: "Static platforms / level geometry"
14393
+ },
14394
+ worldWidth: {
14288
14395
  types: [
14289
14396
  "number"
14290
14397
  ],
14291
- description: "Heading level (1-6) - alternative to variant for headings"
14398
+ description: "World dimensions"
14292
14399
  },
14293
- color: {
14400
+ worldHeight: {
14401
+ types: [
14402
+ "number"
14403
+ ],
14404
+ description: "worldHeight prop"
14405
+ },
14406
+ canvasWidth: {
14407
+ types: [
14408
+ "number"
14409
+ ],
14410
+ description: "Canvas display size"
14411
+ },
14412
+ canvasHeight: {
14413
+ types: [
14414
+ "number"
14415
+ ],
14416
+ description: "canvasHeight prop"
14417
+ },
14418
+ followCamera: {
14419
+ types: [
14420
+ "boolean"
14421
+ ],
14422
+ description: "Camera follows player"
14423
+ },
14424
+ bgColor: {
14294
14425
  types: [
14295
14426
  "string"
14296
14427
  ],
14297
- description: "Text color"
14428
+ description: "Background color"
14298
14429
  },
14299
- align: {
14430
+ playerSprite: {
14300
14431
  types: [
14301
14432
  "string"
14302
14433
  ],
14303
- description: "Text alignment"
14434
+ description: "Player sprite image URL"
14304
14435
  },
14305
- weight: {
14436
+ tileSprites: {
14437
+ types: [
14438
+ "object"
14439
+ ],
14440
+ description: "Map of platform type to tile sprite URL"
14441
+ },
14442
+ backgroundImage: {
14306
14443
  types: [
14307
14444
  "string"
14308
14445
  ],
14309
- description: "Font weight override"
14446
+ description: "Background image URL"
14310
14447
  },
14311
- size: {
14448
+ assetBaseUrl: {
14312
14449
  types: [
14313
- "typographysize"
14450
+ "string"
14314
14451
  ],
14315
- description: "Font size override"
14452
+ description: "Base URL prefix for asset URLs"
14316
14453
  },
14317
- truncate: {
14454
+ leftEvent: {
14318
14455
  types: [
14319
- "boolean"
14456
+ "string"
14320
14457
  ],
14321
- description: "Truncate with ellipsis (single line)"
14458
+ description: "Event names for keyboard controls"
14322
14459
  },
14323
- overflow: {
14460
+ rightEvent: {
14324
14461
  types: [
14325
14462
  "string"
14326
14463
  ],
14327
- description: "Overflow handling mode"
14464
+ description: "rightEvent prop"
14328
14465
  },
14329
- as: {
14466
+ jumpEvent: {
14330
14467
  types: [
14331
- "unknown"
14468
+ "string"
14332
14469
  ],
14333
- description: "Custom HTML element"
14470
+ description: "jumpEvent prop"
14334
14471
  },
14335
- id: {
14472
+ stopEvent: {
14336
14473
  types: [
14337
14474
  "string"
14338
14475
  ],
14339
- description: "HTML id attribute"
14476
+ description: "stopEvent prop"
14340
14477
  },
14341
14478
  className: {
14342
14479
  types: [
14343
14480
  "string"
14344
14481
  ],
14345
- description: "Additional class names"
14482
+ description: "Additional CSS classes"
14346
14483
  },
14347
- style: {
14484
+ entity: {
14348
14485
  types: [
14349
14486
  "object"
14350
14487
  ],
14351
- description: "Inline style"
14488
+ description: "Entity data (schema binding)"
14489
+ }
14490
+ }
14491
+ },
14492
+ "map-view": {
14493
+ type: "map-view",
14494
+ category: "component",
14495
+ description: "MapView component",
14496
+ suggestedFor: [
14497
+ "map",
14498
+ "view",
14499
+ "map view"
14500
+ ],
14501
+ typicalSize: "medium",
14502
+ propsSchema: {
14503
+ markers: {
14504
+ types: [
14505
+ "array"
14506
+ ],
14507
+ description: "Array of markers to display"
14352
14508
  },
14353
- content: {
14509
+ centerLat: {
14354
14510
  types: [
14355
- "node"
14511
+ "number"
14356
14512
  ],
14357
- description: "Text content (alternative to children)"
14513
+ description: "Map center latitude"
14358
14514
  },
14359
- children: {
14515
+ centerLng: {
14360
14516
  types: [
14361
- "node"
14517
+ "number"
14362
14518
  ],
14363
- description: "Children elements"
14364
- }
14365
- }
14366
- }
14367
- },
14368
- categories: [
14369
- "display",
14370
- "header",
14371
- "form",
14372
- "filter",
14373
- "navigation",
14519
+ description: "Map center longitude"
14520
+ },
14521
+ zoom: {
14522
+ types: [
14523
+ "number"
14524
+ ],
14525
+ description: "Zoom level (1-18, default 13)"
14526
+ },
14527
+ height: {
14528
+ types: [
14529
+ "string"
14530
+ ],
14531
+ description: 'Height of the map container (default "400px")'
14532
+ },
14533
+ onMarkerClick: {
14534
+ types: [
14535
+ "function"
14536
+ ],
14537
+ description: "Callback when a marker is clicked (programmatic use)"
14538
+ },
14539
+ onMapClick: {
14540
+ types: [
14541
+ "function"
14542
+ ],
14543
+ description: "Callback when the map is clicked (programmatic use)"
14544
+ },
14545
+ mapClickEvent: {
14546
+ types: [
14547
+ "string"
14548
+ ],
14549
+ description: "Event name dispatched via event bus when the map is clicked. Payload: { latitude, longitude }"
14550
+ },
14551
+ markerClickEvent: {
14552
+ types: [
14553
+ "string"
14554
+ ],
14555
+ description: "Event name dispatched via event bus when a marker is clicked. Payload: marker data"
14556
+ },
14557
+ showClickedPin: {
14558
+ types: [
14559
+ "boolean"
14560
+ ],
14561
+ description: "Whether to show a pin at the clicked location"
14562
+ },
14563
+ className: {
14564
+ types: [
14565
+ "string"
14566
+ ],
14567
+ description: "Additional CSS classes"
14568
+ },
14569
+ showAttribution: {
14570
+ types: [
14571
+ "boolean"
14572
+ ],
14573
+ description: "Show attribution (default true)"
14574
+ }
14575
+ }
14576
+ },
14577
+ "range-slider": {
14578
+ type: "range-slider",
14579
+ category: "component",
14580
+ description: "RangeSlider component",
14581
+ suggestedFor: [
14582
+ "range",
14583
+ "slider",
14584
+ "range slider"
14585
+ ],
14586
+ typicalSize: "small",
14587
+ propsSchema: {
14588
+ min: {
14589
+ types: [
14590
+ "number"
14591
+ ],
14592
+ description: "Minimum value"
14593
+ },
14594
+ max: {
14595
+ types: [
14596
+ "number"
14597
+ ],
14598
+ description: "Maximum value"
14599
+ },
14600
+ value: {
14601
+ types: [
14602
+ "number"
14603
+ ],
14604
+ description: "Current value"
14605
+ },
14606
+ step: {
14607
+ types: [
14608
+ "number"
14609
+ ],
14610
+ description: "Step increment"
14611
+ },
14612
+ showTooltip: {
14613
+ types: [
14614
+ "boolean"
14615
+ ],
14616
+ description: "Show tooltip with current value on drag"
14617
+ },
14618
+ showTicks: {
14619
+ types: [
14620
+ "boolean"
14621
+ ],
14622
+ description: "Show tick marks at step intervals"
14623
+ },
14624
+ buffered: {
14625
+ types: [
14626
+ "number"
14627
+ ],
14628
+ description: "Buffered range (0-100), for media seek bars"
14629
+ },
14630
+ size: {
14631
+ types: [
14632
+ "rangeslidersize"
14633
+ ],
14634
+ description: "Slider size"
14635
+ },
14636
+ disabled: {
14637
+ types: [
14638
+ "boolean"
14639
+ ],
14640
+ description: "Disabled state"
14641
+ },
14642
+ action: {
14643
+ types: [
14644
+ "string"
14645
+ ],
14646
+ description: "Declarative event name for value changes"
14647
+ },
14648
+ actionPayload: {
14649
+ types: [
14650
+ "object"
14651
+ ],
14652
+ description: "Payload to include with the action event"
14653
+ },
14654
+ onChange: {
14655
+ types: [
14656
+ "function"
14657
+ ],
14658
+ description: "Direct onChange callback"
14659
+ },
14660
+ formatValue: {
14661
+ types: [
14662
+ "function"
14663
+ ],
14664
+ description: "Format function for tooltip display"
14665
+ }
14666
+ }
14667
+ },
14668
+ "status-dot": {
14669
+ type: "status-dot",
14670
+ category: "display",
14671
+ description: "StatusDot component",
14672
+ suggestedFor: [
14673
+ "status",
14674
+ "dot",
14675
+ "status dot"
14676
+ ],
14677
+ typicalSize: "small",
14678
+ propsSchema: {
14679
+ status: {
14680
+ types: [
14681
+ "statusdotstatus"
14682
+ ],
14683
+ description: "Status determines the dot color"
14684
+ },
14685
+ pulse: {
14686
+ types: [
14687
+ "boolean"
14688
+ ],
14689
+ description: "Enable pulse animation for active/critical states"
14690
+ },
14691
+ size: {
14692
+ types: [
14693
+ "statusdotsize"
14694
+ ],
14695
+ description: "Dot size"
14696
+ },
14697
+ label: {
14698
+ types: [
14699
+ "string"
14700
+ ],
14701
+ description: "Accessible label (rendered as sr-only text)"
14702
+ }
14703
+ }
14704
+ },
14705
+ "trend-indicator": {
14706
+ type: "trend-indicator",
14707
+ category: "component",
14708
+ description: "TrendIndicator component",
14709
+ suggestedFor: [
14710
+ "trend",
14711
+ "indicator",
14712
+ "trend indicator"
14713
+ ],
14714
+ typicalSize: "small",
14715
+ propsSchema: {
14716
+ value: {
14717
+ types: [
14718
+ "number"
14719
+ ],
14720
+ description: "Numeric value to display (e.g., 12.5 for +12.5%)"
14721
+ },
14722
+ direction: {
14723
+ types: [
14724
+ "trenddirection"
14725
+ ],
14726
+ description: "Override automatic direction detection (positive=up, negative=down, zero=flat)"
14727
+ },
14728
+ showValue: {
14729
+ types: [
14730
+ "boolean"
14731
+ ],
14732
+ description: "Show the formatted value text next to the arrow"
14733
+ },
14734
+ invert: {
14735
+ types: [
14736
+ "boolean"
14737
+ ],
14738
+ description: "Invert color logic (for metrics where down is good, e.g., error rate, bounce rate)"
14739
+ },
14740
+ label: {
14741
+ types: [
14742
+ "string"
14743
+ ],
14744
+ description: "Accessible label override"
14745
+ },
14746
+ size: {
14747
+ types: [
14748
+ "trendindicatorsize"
14749
+ ],
14750
+ description: "Size of the indicator"
14751
+ }
14752
+ }
14753
+ },
14754
+ lightbox: {
14755
+ type: "lightbox",
14756
+ category: "component",
14757
+ description: "Lightbox component",
14758
+ suggestedFor: [
14759
+ "lightbox"
14760
+ ],
14761
+ typicalSize: "medium",
14762
+ propsSchema: {
14763
+ images: {
14764
+ types: [
14765
+ "array"
14766
+ ],
14767
+ description: "Array of images to display",
14768
+ required: true
14769
+ },
14770
+ currentIndex: {
14771
+ types: [
14772
+ "number"
14773
+ ],
14774
+ description: "Current image index"
14775
+ },
14776
+ isOpen: {
14777
+ types: [
14778
+ "boolean"
14779
+ ],
14780
+ description: "Whether the lightbox is open"
14781
+ },
14782
+ showCounter: {
14783
+ types: [
14784
+ "boolean"
14785
+ ],
14786
+ description: 'Show image counter (e.g., "3 of 12")'
14787
+ },
14788
+ closeAction: {
14789
+ types: [
14790
+ "string"
14791
+ ],
14792
+ description: "Declarative close event name"
14793
+ },
14794
+ onClose: {
14795
+ types: [
14796
+ "function"
14797
+ ],
14798
+ description: "Direct onClose callback"
14799
+ },
14800
+ onIndexChange: {
14801
+ types: [
14802
+ "function"
14803
+ ],
14804
+ description: "Direct onIndexChange callback"
14805
+ },
14806
+ className: {
14807
+ types: [
14808
+ "string"
14809
+ ],
14810
+ description: "Additional CSS classes"
14811
+ }
14812
+ }
14813
+ },
14814
+ "number-stepper": {
14815
+ type: "number-stepper",
14816
+ category: "component",
14817
+ description: "NumberStepper component",
14818
+ suggestedFor: [
14819
+ "number",
14820
+ "stepper",
14821
+ "number stepper"
14822
+ ],
14823
+ typicalSize: "medium",
14824
+ propsSchema: {
14825
+ value: {
14826
+ types: [
14827
+ "number"
14828
+ ],
14829
+ description: "Current value"
14830
+ },
14831
+ min: {
14832
+ types: [
14833
+ "number"
14834
+ ],
14835
+ description: "Minimum value"
14836
+ },
14837
+ max: {
14838
+ types: [
14839
+ "number"
14840
+ ],
14841
+ description: "Maximum value"
14842
+ },
14843
+ step: {
14844
+ types: [
14845
+ "number"
14846
+ ],
14847
+ description: "Step increment"
14848
+ },
14849
+ size: {
14850
+ types: [
14851
+ "numbersteppersize"
14852
+ ],
14853
+ description: "Size variant"
14854
+ },
14855
+ disabled: {
14856
+ types: [
14857
+ "boolean"
14858
+ ],
14859
+ description: "Disabled state"
14860
+ },
14861
+ onChange: {
14862
+ types: [
14863
+ "function"
14864
+ ],
14865
+ description: "Direct onChange callback"
14866
+ },
14867
+ action: {
14868
+ types: [
14869
+ "string"
14870
+ ],
14871
+ description: "Declarative event name for value changes"
14872
+ },
14873
+ actionPayload: {
14874
+ types: [
14875
+ "object"
14876
+ ],
14877
+ description: "Payload to include with the action event"
14878
+ },
14879
+ className: {
14880
+ types: [
14881
+ "string"
14882
+ ],
14883
+ description: "Additional CSS classes"
14884
+ },
14885
+ label: {
14886
+ types: [
14887
+ "string"
14888
+ ],
14889
+ description: "Accessible label"
14890
+ }
14891
+ }
14892
+ },
14893
+ "star-rating": {
14894
+ type: "star-rating",
14895
+ category: "component",
14896
+ description: "StarRating component",
14897
+ suggestedFor: [
14898
+ "star",
14899
+ "rating",
14900
+ "star rating"
14901
+ ],
14902
+ typicalSize: "medium",
14903
+ propsSchema: {
14904
+ value: {
14905
+ types: [
14906
+ "number"
14907
+ ],
14908
+ description: "Current rating value"
14909
+ },
14910
+ max: {
14911
+ types: [
14912
+ "number"
14913
+ ],
14914
+ description: "Maximum number of stars"
14915
+ },
14916
+ readOnly: {
14917
+ types: [
14918
+ "boolean"
14919
+ ],
14920
+ description: "Read-only display mode"
14921
+ },
14922
+ precision: {
14923
+ types: [
14924
+ "starratingprecision"
14925
+ ],
14926
+ description: "Full or half-star precision"
14927
+ },
14928
+ size: {
14929
+ types: [
14930
+ "starratingsize"
14931
+ ],
14932
+ description: "Star size"
14933
+ },
14934
+ action: {
14935
+ types: [
14936
+ "string"
14937
+ ],
14938
+ description: "Declarative event name for rating changes"
14939
+ },
14940
+ actionPayload: {
14941
+ types: [
14942
+ "object"
14943
+ ],
14944
+ description: "Payload to include with the action event"
14945
+ },
14946
+ onChange: {
14947
+ types: [
14948
+ "function"
14949
+ ],
14950
+ description: "Direct onChange callback"
14951
+ },
14952
+ className: {
14953
+ types: [
14954
+ "string"
14955
+ ],
14956
+ description: "Additional CSS classes"
14957
+ },
14958
+ label: {
14959
+ types: [
14960
+ "string"
14961
+ ],
14962
+ description: "Accessible label"
14963
+ }
14964
+ }
14965
+ },
14966
+ "upload-drop-zone": {
14967
+ type: "upload-drop-zone",
14968
+ category: "component",
14969
+ description: "UploadDropZone component",
14970
+ suggestedFor: [
14971
+ "upload",
14972
+ "drop",
14973
+ "zone",
14974
+ "upload drop zone"
14975
+ ],
14976
+ typicalSize: "medium",
14977
+ propsSchema: {
14978
+ accept: {
14979
+ types: [
14980
+ "string"
14981
+ ],
14982
+ description: 'Accepted MIME types (e.g., "image/*", "application/pdf")'
14983
+ },
14984
+ maxSize: {
14985
+ types: [
14986
+ "number"
14987
+ ],
14988
+ description: "Max file size in bytes"
14989
+ },
14990
+ maxFiles: {
14991
+ types: [
14992
+ "number"
14993
+ ],
14994
+ description: "Max number of files"
14995
+ },
14996
+ label: {
14997
+ types: [
14998
+ "string"
14999
+ ],
15000
+ description: "Label text"
15001
+ },
15002
+ description: {
15003
+ types: [
15004
+ "string"
15005
+ ],
15006
+ description: "Description text below label"
15007
+ },
15008
+ icon: {
15009
+ types: [
15010
+ "string"
15011
+ ],
15012
+ description: "Icon name (Lucide string)"
15013
+ },
15014
+ disabled: {
15015
+ types: [
15016
+ "boolean"
15017
+ ],
15018
+ description: "Disabled state"
15019
+ },
15020
+ action: {
15021
+ types: [
15022
+ "string"
15023
+ ],
15024
+ description: "Declarative event name for file selection"
15025
+ },
15026
+ actionPayload: {
15027
+ types: [
15028
+ "object"
15029
+ ],
15030
+ description: "Payload to include with the action event"
15031
+ },
15032
+ onFiles: {
15033
+ types: [
15034
+ "function"
15035
+ ],
15036
+ description: "Direct onFiles callback"
15037
+ },
15038
+ className: {
15039
+ types: [
15040
+ "string"
15041
+ ],
15042
+ description: "Additional CSS classes"
15043
+ }
15044
+ }
15045
+ },
15046
+ "animated-counter": {
15047
+ type: "animated-counter",
15048
+ category: "component",
15049
+ description: "AnimatedCounter component",
15050
+ suggestedFor: [
15051
+ "animated",
15052
+ "counter",
15053
+ "animated counter"
15054
+ ],
15055
+ typicalSize: "small",
15056
+ propsSchema: {
15057
+ value: {
15058
+ types: [
15059
+ "number"
15060
+ ],
15061
+ description: "The target number to animate to",
15062
+ required: true
15063
+ },
15064
+ duration: {
15065
+ types: [
15066
+ "number"
15067
+ ],
15068
+ description: "Animation duration in milliseconds"
15069
+ },
15070
+ prefix: {
15071
+ types: [
15072
+ "string"
15073
+ ],
15074
+ description: "Text to display before the number"
15075
+ },
15076
+ suffix: {
15077
+ types: [
15078
+ "string"
15079
+ ],
15080
+ description: "Text to display after the number"
15081
+ },
15082
+ className: {
15083
+ types: [
15084
+ "string"
15085
+ ],
15086
+ description: "Additional class names"
15087
+ }
15088
+ }
15089
+ },
15090
+ "confetti-effect": {
15091
+ type: "confetti-effect",
15092
+ category: "component",
15093
+ description: "ConfettiEffect component",
15094
+ suggestedFor: [
15095
+ "confetti",
15096
+ "effect",
15097
+ "confetti effect"
15098
+ ],
15099
+ typicalSize: "small",
15100
+ propsSchema: {
15101
+ trigger: {
15102
+ types: [
15103
+ "boolean"
15104
+ ],
15105
+ description: "When this changes from false to true, a burst of particles is spawned",
15106
+ required: true
15107
+ },
15108
+ duration: {
15109
+ types: [
15110
+ "number"
15111
+ ],
15112
+ description: "How long the animation lasts in milliseconds"
15113
+ },
15114
+ particleCount: {
15115
+ types: [
15116
+ "number"
15117
+ ],
15118
+ description: "Number of particles to spawn"
15119
+ },
15120
+ className: {
15121
+ types: [
15122
+ "string"
15123
+ ],
15124
+ description: "Additional class names"
15125
+ }
15126
+ }
15127
+ },
15128
+ "infinite-scroll-sentinel": {
15129
+ type: "infinite-scroll-sentinel",
15130
+ category: "component",
15131
+ description: "InfiniteScrollSentinel component",
15132
+ suggestedFor: [
15133
+ "infinite",
15134
+ "scroll",
15135
+ "sentinel",
15136
+ "infinite scroll sentinel"
15137
+ ],
15138
+ typicalSize: "small",
15139
+ propsSchema: {
15140
+ loadMoreEvent: {
15141
+ types: [
15142
+ "string"
15143
+ ],
15144
+ description: "Event name to emit when load-more is triggered (emitted as UI:{loadMoreEvent})",
15145
+ required: true
15146
+ },
15147
+ loadMorePayload: {
15148
+ types: [
15149
+ "object"
15150
+ ],
15151
+ description: "Optional payload to include with the load-more event"
15152
+ },
15153
+ isLoading: {
15154
+ types: [
15155
+ "boolean"
15156
+ ],
15157
+ description: "Whether a load operation is currently in progress"
15158
+ },
15159
+ hasMore: {
15160
+ types: [
15161
+ "boolean"
15162
+ ],
15163
+ description: "Whether there are more items to load"
15164
+ },
15165
+ threshold: {
15166
+ types: [
15167
+ "string"
15168
+ ],
15169
+ description: "IntersectionObserver rootMargin for early trigger"
15170
+ },
15171
+ className: {
15172
+ types: [
15173
+ "string"
15174
+ ],
15175
+ description: "Additional class names"
15176
+ }
15177
+ }
15178
+ },
15179
+ "typewriter-text": {
15180
+ type: "typewriter-text",
15181
+ category: "component",
15182
+ description: "TypewriterText component",
15183
+ suggestedFor: [
15184
+ "typewriter",
15185
+ "text",
15186
+ "typewriter text"
15187
+ ],
15188
+ typicalSize: "small",
15189
+ propsSchema: {
15190
+ text: {
15191
+ types: [
15192
+ "string"
15193
+ ],
15194
+ description: "The full text to reveal",
15195
+ required: true
15196
+ },
15197
+ speed: {
15198
+ types: [
15199
+ "number"
15200
+ ],
15201
+ description: "Milliseconds per character"
15202
+ },
15203
+ startDelay: {
15204
+ types: [
15205
+ "number"
15206
+ ],
15207
+ description: "Delay before typing starts (ms)"
15208
+ },
15209
+ className: {
15210
+ types: [
15211
+ "string"
15212
+ ],
15213
+ description: "Additional class names"
15214
+ },
15215
+ onComplete: {
15216
+ types: [
15217
+ "function"
15218
+ ],
15219
+ description: "Called when the entire text has been revealed"
15220
+ }
15221
+ }
15222
+ },
15223
+ carousel: {
15224
+ type: "carousel",
15225
+ category: "component",
15226
+ description: "Carousel component",
15227
+ suggestedFor: [
15228
+ "carousel"
15229
+ ],
15230
+ typicalSize: "medium",
15231
+ propsSchema: {
15232
+ items: {
15233
+ types: [
15234
+ "array"
15235
+ ],
15236
+ description: "Array of items to display as slides",
15237
+ required: true
15238
+ },
15239
+ renderItem: {
15240
+ types: [
15241
+ "function"
15242
+ ],
15243
+ description: "Render function for each slide",
15244
+ required: true
15245
+ },
15246
+ autoPlay: {
15247
+ types: [
15248
+ "boolean"
15249
+ ],
15250
+ description: "Enable auto-play rotation"
15251
+ },
15252
+ autoPlayInterval: {
15253
+ types: [
15254
+ "number"
15255
+ ],
15256
+ description: "Auto-play interval in milliseconds (default: 5000)"
15257
+ },
15258
+ showDots: {
15259
+ types: [
15260
+ "boolean"
15261
+ ],
15262
+ description: "Show dot indicators"
15263
+ },
15264
+ showArrows: {
15265
+ types: [
15266
+ "boolean"
15267
+ ],
15268
+ description: "Show prev/next arrow buttons"
15269
+ },
15270
+ loop: {
15271
+ types: [
15272
+ "boolean"
15273
+ ],
15274
+ description: "Enable infinite loop"
15275
+ },
15276
+ slideChangeEvent: {
15277
+ types: [
15278
+ "string"
15279
+ ],
15280
+ description: "Declarative event name for slide change"
15281
+ },
15282
+ slideChangePayload: {
15283
+ types: [
15284
+ "object"
15285
+ ],
15286
+ description: "Payload to include with the slide change event"
15287
+ },
15288
+ className: {
15289
+ types: [
15290
+ "string"
15291
+ ],
15292
+ description: "Additional CSS classes"
15293
+ }
15294
+ }
15295
+ },
15296
+ "pull-to-refresh": {
15297
+ type: "pull-to-refresh",
15298
+ category: "component",
15299
+ description: "PullToRefresh component",
15300
+ suggestedFor: [
15301
+ "pull",
15302
+ "refresh",
15303
+ "pull to refresh"
15304
+ ],
15305
+ typicalSize: "medium",
15306
+ propsSchema: {
15307
+ refreshEvent: {
15308
+ types: [
15309
+ "string"
15310
+ ],
15311
+ description: "Event name to emit on refresh (emitted as UI:{refreshEvent})",
15312
+ required: true
15313
+ },
15314
+ refreshPayload: {
15315
+ types: [
15316
+ "object"
15317
+ ],
15318
+ description: "Payload to include with the refresh event"
15319
+ },
15320
+ threshold: {
15321
+ types: [
15322
+ "number"
15323
+ ],
15324
+ description: "Pull distance threshold to trigger refresh in px (default: 60)"
15325
+ },
15326
+ children: {
15327
+ types: [
15328
+ "node"
15329
+ ],
15330
+ description: "Content to wrap",
15331
+ required: true
15332
+ },
15333
+ className: {
15334
+ types: [
15335
+ "string"
15336
+ ],
15337
+ description: "Additional CSS classes"
15338
+ }
15339
+ }
15340
+ },
15341
+ "sortable-list": {
15342
+ type: "sortable-list",
15343
+ category: "display",
15344
+ description: "SortableList component",
15345
+ suggestedFor: [
15346
+ "sortable",
15347
+ "list",
15348
+ "sortable list"
15349
+ ],
15350
+ typicalSize: "medium",
15351
+ propsSchema: {
15352
+ items: {
15353
+ types: [
15354
+ "array"
15355
+ ],
15356
+ description: "items prop",
15357
+ required: true
15358
+ },
15359
+ renderItem: {
15360
+ types: [
15361
+ "function"
15362
+ ],
15363
+ description: "renderItem prop",
15364
+ required: true
15365
+ },
15366
+ reorderEvent: {
15367
+ types: [
15368
+ "string"
15369
+ ],
15370
+ description: "reorderEvent prop",
15371
+ required: true
15372
+ },
15373
+ reorderPayload: {
15374
+ types: [
15375
+ "object"
15376
+ ],
15377
+ description: "reorderPayload prop"
15378
+ },
15379
+ dragHandlePosition: {
15380
+ types: [
15381
+ "string"
15382
+ ],
15383
+ description: "dragHandlePosition prop"
15384
+ },
15385
+ className: {
15386
+ types: [
15387
+ "string"
15388
+ ],
15389
+ description: "className prop"
15390
+ }
15391
+ }
15392
+ },
15393
+ "swipeable-row": {
15394
+ type: "swipeable-row",
15395
+ category: "component",
15396
+ description: "SwipeableRow component",
15397
+ suggestedFor: [
15398
+ "swipeable",
15399
+ "row",
15400
+ "swipeable row"
15401
+ ],
15402
+ typicalSize: "medium",
15403
+ propsSchema: {
15404
+ leftActions: {
15405
+ types: [
15406
+ "array"
15407
+ ],
15408
+ description: "leftActions prop"
15409
+ },
15410
+ rightActions: {
15411
+ types: [
15412
+ "array"
15413
+ ],
15414
+ description: "rightActions prop"
15415
+ },
15416
+ threshold: {
15417
+ types: [
15418
+ "number"
15419
+ ],
15420
+ description: "threshold prop"
15421
+ },
15422
+ children: {
15423
+ types: [
15424
+ "node"
15425
+ ],
15426
+ description: "children prop",
15427
+ required: true
15428
+ },
15429
+ itemData: {
15430
+ types: [
15431
+ "object"
15432
+ ],
15433
+ description: "itemData prop"
15434
+ },
15435
+ className: {
15436
+ types: [
15437
+ "string"
15438
+ ],
15439
+ description: "className prop"
15440
+ }
15441
+ }
15442
+ },
15443
+ "stat-display": {
15444
+ type: "stat-display",
15445
+ category: "display",
15446
+ description: "StatDisplay component",
15447
+ suggestedFor: [
15448
+ "stat",
15449
+ "display",
15450
+ "stat display"
15451
+ ],
15452
+ typicalSize: "medium",
15453
+ propsSchema: {
15454
+ label: {
15455
+ types: [
15456
+ "string"
15457
+ ],
15458
+ description: 'Display label (e.g., "Total", "Remaining")',
15459
+ required: true
15460
+ },
15461
+ value: {
15462
+ types: [
15463
+ "number",
15464
+ "string"
15465
+ ],
15466
+ description: "Primary value (number or formatted string)"
15467
+ },
15468
+ max: {
15469
+ types: [
15470
+ "number"
15471
+ ],
15472
+ description: 'Maximum value (renders as "value / max")'
15473
+ },
15474
+ icon: {
15475
+ types: [
15476
+ "node"
15477
+ ],
15478
+ description: "Lucide icon name or React node"
15479
+ },
15480
+ iconBg: {
15481
+ types: [
15482
+ "string"
15483
+ ],
15484
+ description: "Icon background color class"
15485
+ },
15486
+ iconColor: {
15487
+ types: [
15488
+ "string"
15489
+ ],
15490
+ description: "Icon color class"
15491
+ },
15492
+ format: {
15493
+ types: [
15494
+ "string"
15495
+ ],
15496
+ description: 'Display format: "number", "currency", "percent"'
15497
+ },
15498
+ size: {
15499
+ types: [
15500
+ "string"
15501
+ ],
15502
+ description: "Size variant"
15503
+ },
15504
+ variant: {
15505
+ types: [
15506
+ "string"
15507
+ ],
15508
+ description: "Color variant"
15509
+ },
15510
+ compact: {
15511
+ types: [
15512
+ "boolean"
15513
+ ],
15514
+ description: "Compact mode (inline, no card wrapper)"
15515
+ },
15516
+ className: {
15517
+ types: [
15518
+ "string"
15519
+ ],
15520
+ description: "Additional CSS classes"
15521
+ },
15522
+ isLoading: {
15523
+ types: [
15524
+ "boolean"
15525
+ ],
15526
+ description: "Loading state"
15527
+ },
15528
+ error: {
15529
+ types: [
15530
+ "error"
15531
+ ],
15532
+ description: "Error state"
15533
+ }
15534
+ }
15535
+ },
15536
+ heading: {
15537
+ type: "heading",
15538
+ category: "component",
15539
+ description: "Alias for typography \u2014 Typography Atom Component Text elements following the KFlow design system with theme-aware styling.",
15540
+ suggestedFor: [
15541
+ "typography"
15542
+ ],
15543
+ typicalSize: "small",
15544
+ propsSchema: {
15545
+ variant: {
15546
+ types: [
15547
+ "typographyvariant"
15548
+ ],
15549
+ description: "Typography variant"
15550
+ },
15551
+ level: {
15552
+ types: [
15553
+ "number"
15554
+ ],
15555
+ description: "Heading level (1-6) - alternative to variant for headings"
15556
+ },
15557
+ color: {
15558
+ types: [
15559
+ "string"
15560
+ ],
15561
+ description: "Text color"
15562
+ },
15563
+ align: {
15564
+ types: [
15565
+ "string"
15566
+ ],
15567
+ description: "Text alignment"
15568
+ },
15569
+ weight: {
15570
+ types: [
15571
+ "string"
15572
+ ],
15573
+ description: "Font weight override"
15574
+ },
15575
+ size: {
15576
+ types: [
15577
+ "typographysize"
15578
+ ],
15579
+ description: "Font size override"
15580
+ },
15581
+ truncate: {
15582
+ types: [
15583
+ "boolean"
15584
+ ],
15585
+ description: "Truncate with ellipsis (single line)"
15586
+ },
15587
+ overflow: {
15588
+ types: [
15589
+ "string"
15590
+ ],
15591
+ description: "Overflow handling mode"
15592
+ },
15593
+ as: {
15594
+ types: [
15595
+ "unknown"
15596
+ ],
15597
+ description: "Custom HTML element"
15598
+ },
15599
+ id: {
15600
+ types: [
15601
+ "string"
15602
+ ],
15603
+ description: "HTML id attribute"
15604
+ },
15605
+ className: {
15606
+ types: [
15607
+ "string"
15608
+ ],
15609
+ description: "Additional class names"
15610
+ },
15611
+ style: {
15612
+ types: [
15613
+ "object"
15614
+ ],
15615
+ description: "Inline style"
15616
+ },
15617
+ content: {
15618
+ types: [
15619
+ "node"
15620
+ ],
15621
+ description: "Text content (alternative to children)"
15622
+ },
15623
+ children: {
15624
+ types: [
15625
+ "node"
15626
+ ],
15627
+ description: "Children elements"
15628
+ }
15629
+ }
15630
+ },
15631
+ text: {
15632
+ type: "text",
15633
+ category: "component",
15634
+ description: "Alias for typography \u2014 Typography Atom Component Text elements following the KFlow design system with theme-aware styling.",
15635
+ suggestedFor: [
15636
+ "typography"
15637
+ ],
15638
+ typicalSize: "small",
15639
+ propsSchema: {
15640
+ variant: {
15641
+ types: [
15642
+ "typographyvariant"
15643
+ ],
15644
+ description: "Typography variant"
15645
+ },
15646
+ level: {
15647
+ types: [
15648
+ "number"
15649
+ ],
15650
+ description: "Heading level (1-6) - alternative to variant for headings"
15651
+ },
15652
+ color: {
15653
+ types: [
15654
+ "string"
15655
+ ],
15656
+ description: "Text color"
15657
+ },
15658
+ align: {
15659
+ types: [
15660
+ "string"
15661
+ ],
15662
+ description: "Text alignment"
15663
+ },
15664
+ weight: {
15665
+ types: [
15666
+ "string"
15667
+ ],
15668
+ description: "Font weight override"
15669
+ },
15670
+ size: {
15671
+ types: [
15672
+ "typographysize"
15673
+ ],
15674
+ description: "Font size override"
15675
+ },
15676
+ truncate: {
15677
+ types: [
15678
+ "boolean"
15679
+ ],
15680
+ description: "Truncate with ellipsis (single line)"
15681
+ },
15682
+ overflow: {
15683
+ types: [
15684
+ "string"
15685
+ ],
15686
+ description: "Overflow handling mode"
15687
+ },
15688
+ as: {
15689
+ types: [
15690
+ "unknown"
15691
+ ],
15692
+ description: "Custom HTML element"
15693
+ },
15694
+ id: {
15695
+ types: [
15696
+ "string"
15697
+ ],
15698
+ description: "HTML id attribute"
15699
+ },
15700
+ className: {
15701
+ types: [
15702
+ "string"
15703
+ ],
15704
+ description: "Additional class names"
15705
+ },
15706
+ style: {
15707
+ types: [
15708
+ "object"
15709
+ ],
15710
+ description: "Inline style"
15711
+ },
15712
+ content: {
15713
+ types: [
15714
+ "node"
15715
+ ],
15716
+ description: "Text content (alternative to children)"
15717
+ },
15718
+ children: {
15719
+ types: [
15720
+ "node"
15721
+ ],
15722
+ description: "Children elements"
15723
+ }
15724
+ }
15725
+ }
15726
+ },
15727
+ categories: [
15728
+ "display",
15729
+ "header",
15730
+ "form",
15731
+ "filter",
15732
+ "navigation",
14374
15733
  "state",
14375
15734
  "dashboard",
14376
15735
  "container",
@@ -14990,7 +16349,7 @@ var integrators_registry_default = {
14990
16349
  // src/component-mapping.json
14991
16350
  var component_mapping_default = {
14992
16351
  version: "1.0.0",
14993
- exportedAt: "2026-03-09T08:08:00.655Z",
16352
+ exportedAt: "2026-03-10T17:18:23.379Z",
14994
16353
  mappings: {
14995
16354
  "page-header": {
14996
16355
  component: "PageHeader",
@@ -15447,7 +16806,12 @@ var component_mapping_default = {
15447
16806
  },
15448
16807
  "stat-badge": {
15449
16808
  component: "StatBadge",
15450
- importPath: "@/components/molecules/StatBadge",
16809
+ importPath: "@/components/molecules/game/StatBadge",
16810
+ category: "game"
16811
+ },
16812
+ "stat-display": {
16813
+ component: "StatDisplay",
16814
+ importPath: "@/components/molecules/StatDisplay",
15451
16815
  category: "display"
15452
16816
  },
15453
16817
  "button-pattern": {
@@ -15567,7 +16931,7 @@ var component_mapping_default = {
15567
16931
  },
15568
16932
  meter: {
15569
16933
  component: "Meter",
15570
- importPath: "@almadar/ui",
16934
+ importPath: "@/components/molecules/Meter",
15571
16935
  category: "visualization"
15572
16936
  },
15573
16937
  timeline: {
@@ -15990,6 +17354,91 @@ var component_mapping_default = {
15990
17354
  importPath: "@/components/molecules/ProgressDots",
15991
17355
  category: "component"
15992
17356
  },
17357
+ "platformer-canvas": {
17358
+ component: "PlatformerCanvas",
17359
+ importPath: "@/components/organisms/PlatformerCanvas",
17360
+ category: "form"
17361
+ },
17362
+ "map-view": {
17363
+ component: "MapView",
17364
+ importPath: "@/components/molecules/MapView",
17365
+ category: "component"
17366
+ },
17367
+ "range-slider": {
17368
+ component: "RangeSlider",
17369
+ importPath: "@/components/atoms/RangeSlider",
17370
+ category: "component"
17371
+ },
17372
+ "status-dot": {
17373
+ component: "StatusDot",
17374
+ importPath: "@/components/atoms/StatusDot",
17375
+ category: "display"
17376
+ },
17377
+ "trend-indicator": {
17378
+ component: "TrendIndicator",
17379
+ importPath: "@/components/atoms/TrendIndicator",
17380
+ category: "component"
17381
+ },
17382
+ lightbox: {
17383
+ component: "Lightbox",
17384
+ importPath: "@/components/molecules/Lightbox",
17385
+ category: "component"
17386
+ },
17387
+ "number-stepper": {
17388
+ component: "NumberStepper",
17389
+ importPath: "@/components/molecules/NumberStepper",
17390
+ category: "component"
17391
+ },
17392
+ "star-rating": {
17393
+ component: "StarRating",
17394
+ importPath: "@/components/molecules/StarRating",
17395
+ category: "component"
17396
+ },
17397
+ "upload-drop-zone": {
17398
+ component: "UploadDropZone",
17399
+ importPath: "@/components/molecules/UploadDropZone",
17400
+ category: "component"
17401
+ },
17402
+ "animated-counter": {
17403
+ component: "AnimatedCounter",
17404
+ importPath: "@/components/atoms/AnimatedCounter",
17405
+ category: "component"
17406
+ },
17407
+ "confetti-effect": {
17408
+ component: "ConfettiEffect",
17409
+ importPath: "@/components/atoms/ConfettiEffect",
17410
+ category: "component"
17411
+ },
17412
+ "infinite-scroll-sentinel": {
17413
+ component: "InfiniteScrollSentinel",
17414
+ importPath: "@/components/atoms/InfiniteScrollSentinel",
17415
+ category: "component"
17416
+ },
17417
+ "typewriter-text": {
17418
+ component: "TypewriterText",
17419
+ importPath: "@/components/atoms/TypewriterText",
17420
+ category: "component"
17421
+ },
17422
+ carousel: {
17423
+ component: "Carousel",
17424
+ importPath: "@/components/molecules/Carousel",
17425
+ category: "component"
17426
+ },
17427
+ "pull-to-refresh": {
17428
+ component: "PullToRefresh",
17429
+ importPath: "@/components/molecules/PullToRefresh",
17430
+ category: "component"
17431
+ },
17432
+ "sortable-list": {
17433
+ component: "SortableList",
17434
+ importPath: "@/components/molecules/SortableList",
17435
+ category: "display"
17436
+ },
17437
+ "swipeable-row": {
17438
+ component: "SwipeableRow",
17439
+ importPath: "@/components/molecules/SwipeableRow",
17440
+ category: "component"
17441
+ },
15993
17442
  heading: {
15994
17443
  component: "Typography",
15995
17444
  importPath: "@/components/atoms/Typography",
@@ -16006,7 +17455,7 @@ var component_mapping_default = {
16006
17455
  // src/event-contracts.json
16007
17456
  var event_contracts_default = {
16008
17457
  version: "1.0.0",
16009
- exportedAt: "2026-03-09T08:08:00.655Z",
17458
+ exportedAt: "2026-03-10T17:18:23.379Z",
16010
17459
  contracts: {
16011
17460
  form: {
16012
17461
  emits: [