@almadar/patterns 2.24.0 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/patterns-registry.json
2
2
  var patterns_registry_default = {
3
3
  version: "1.0.0",
4
- exportedAt: "2026-05-09T16:52:32.798Z",
4
+ exportedAt: "2026-05-10T00:51:00.079Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -15279,6 +15279,12 @@ var patterns_registry_default = {
15279
15279
  ],
15280
15280
  description: "Array of markers to display"
15281
15281
  },
15282
+ routes: {
15283
+ types: [
15284
+ "array"
15285
+ ],
15286
+ description: "Routes (polylines with optional popups) drawn over the tile layer"
15287
+ },
15282
15288
  centerLat: {
15283
15289
  types: [
15284
15290
  "number"
@@ -25885,195 +25891,148 @@ var patterns_registry_default = {
25885
25891
  }
25886
25892
  }
25887
25893
  },
25888
- "dunning-banner": {
25889
- type: "dunning-banner",
25894
+ "likert-scale": {
25895
+ type: "likert-scale",
25890
25896
  category: "component",
25891
- description: "DunningBanner component",
25897
+ description: "LikertScale component",
25892
25898
  suggestedFor: [
25893
- "dunning",
25894
- "banner",
25895
- "dunning banner"
25899
+ "likert",
25900
+ "scale",
25901
+ "likert scale"
25896
25902
  ],
25897
25903
  typicalSize: "medium",
25898
25904
  propsSchema: {
25899
- severity: {
25900
- types: [
25901
- "string"
25902
- ],
25903
- description: "severity prop",
25904
- enumValues: [
25905
- "soft",
25906
- "urgent",
25907
- "final"
25908
- ]
25909
- },
25910
- attemptNumber: {
25911
- types: [
25912
- "number"
25913
- ],
25914
- description: "attemptNumber prop"
25915
- },
25916
- attemptsTotal: {
25917
- types: [
25918
- "number"
25919
- ],
25920
- description: "attemptsTotal prop"
25921
- },
25922
- failedAt: {
25923
- types: [
25924
- "string"
25925
- ],
25926
- description: "failedAt prop"
25927
- },
25928
- nextRetryAt: {
25905
+ question: {
25929
25906
  types: [
25930
25907
  "string"
25931
25908
  ],
25932
- description: "nextRetryAt prop"
25909
+ description: "Optional row prompt above the scale"
25933
25910
  },
25934
- amountDue: {
25911
+ options: {
25935
25912
  types: [
25936
- "number"
25913
+ "array"
25937
25914
  ],
25938
- description: "amountDue prop"
25915
+ description: "Scale points (defaults to a 5-point agree/disagree set)"
25939
25916
  },
25940
- currency: {
25917
+ value: {
25941
25918
  types: [
25919
+ "number",
25942
25920
  "string"
25943
25921
  ],
25944
- description: "currency prop"
25922
+ description: "Selected value (controlled)"
25945
25923
  },
25946
- onUpdatePayment: {
25924
+ onChange: {
25947
25925
  types: [
25948
25926
  "function"
25949
25927
  ],
25950
- description: "onUpdatePayment prop",
25928
+ description: "Change callback",
25951
25929
  kind: "callback",
25952
- callbackArgs: []
25930
+ callbackArgs: [
25931
+ {
25932
+ name: "value",
25933
+ type: "number"
25934
+ }
25935
+ ]
25953
25936
  },
25954
- onContactSupport: {
25937
+ disabled: {
25955
25938
  types: [
25956
- "function"
25939
+ "boolean"
25957
25940
  ],
25958
- description: "onContactSupport prop",
25959
- kind: "callback",
25960
- callbackArgs: []
25941
+ description: "Disabled state"
25961
25942
  },
25962
- onDismiss: {
25943
+ size: {
25963
25944
  types: [
25964
- "function"
25945
+ "string"
25965
25946
  ],
25966
- description: "onDismiss prop",
25967
- kind: "callback",
25968
- callbackArgs: []
25947
+ description: "Size variant",
25948
+ enumValues: [
25949
+ "sm",
25950
+ "md",
25951
+ "lg"
25952
+ ]
25969
25953
  },
25970
- dismissible: {
25954
+ variant: {
25971
25955
  types: [
25972
- "boolean"
25956
+ "string"
25973
25957
  ],
25974
- description: "dismissible prop"
25958
+ description: "Visual variant: classic radios or pill segmented buttons",
25959
+ enumValues: [
25960
+ "radios",
25961
+ "buttons"
25962
+ ]
25975
25963
  },
25976
25964
  className: {
25977
25965
  types: [
25978
25966
  "string"
25979
25967
  ],
25980
- description: "className prop"
25968
+ description: "Additional CSS classes"
25981
25969
  }
25982
25970
  }
25983
25971
  },
25984
- invoice: {
25985
- type: "invoice",
25972
+ "matrix-question": {
25973
+ type: "matrix-question",
25986
25974
  category: "component",
25987
- description: "Invoice component",
25975
+ description: "MatrixQuestion component",
25988
25976
  suggestedFor: [
25989
- "invoice"
25977
+ "matrix",
25978
+ "question",
25979
+ "matrix question"
25990
25980
  ],
25991
25981
  typicalSize: "medium",
25992
25982
  propsSchema: {
25993
- invoiceNumber: {
25994
- types: [
25995
- "string"
25996
- ],
25997
- description: "invoiceNumber prop",
25998
- required: true
25999
- },
26000
- status: {
26001
- types: [
26002
- "string"
26003
- ],
26004
- description: "status prop",
26005
- enumValues: [
26006
- "draft",
26007
- "sent",
26008
- "paid",
26009
- "overdue",
26010
- "void"
26011
- ]
26012
- },
26013
- issuedAt: {
26014
- types: [
26015
- "string"
26016
- ],
26017
- description: "issuedAt prop",
26018
- required: true
26019
- },
26020
- dueAt: {
25983
+ title: {
26021
25984
  types: [
26022
25985
  "string"
26023
25986
  ],
26024
- description: "dueAt prop",
26025
- required: true
26026
- },
26027
- from: {
26028
- types: [
26029
- "object"
26030
- ],
26031
- description: "from prop",
26032
- required: true
26033
- },
26034
- to: {
26035
- types: [
26036
- "object"
26037
- ],
26038
- description: "to prop",
26039
- required: true
25987
+ description: "Optional title rendered above the matrix"
26040
25988
  },
26041
- items: {
25989
+ rows: {
26042
25990
  types: [
26043
25991
  "array"
26044
25992
  ],
26045
- description: "items prop",
25993
+ description: "Question rows",
26046
25994
  required: true
26047
25995
  },
26048
- currency: {
25996
+ columns: {
26049
25997
  types: [
26050
- "string"
25998
+ "array"
26051
25999
  ],
26052
- description: "currency prop"
26000
+ description: "Column definitions; defaults to 5-point Likert"
26053
26001
  },
26054
- taxRateDefault: {
26002
+ values: {
26055
26003
  types: [
26056
- "number"
26004
+ "object"
26057
26005
  ],
26058
- description: "taxRateDefault prop"
26006
+ description: "Selected value per row, keyed by rowId"
26059
26007
  },
26060
- notes: {
26008
+ onChange: {
26061
26009
  types: [
26062
- "string"
26010
+ "function"
26063
26011
  ],
26064
- description: "notes prop"
26012
+ description: "Change handler invoked with rowId and selected column value",
26013
+ kind: "callback",
26014
+ callbackArgs: [
26015
+ {
26016
+ name: "rowId",
26017
+ type: "string"
26018
+ },
26019
+ {
26020
+ name: "value",
26021
+ type: "number"
26022
+ }
26023
+ ]
26065
26024
  },
26066
- paymentUrl: {
26025
+ disabled: {
26067
26026
  types: [
26068
- "string"
26027
+ "boolean"
26069
26028
  ],
26070
- description: "paymentUrl prop"
26029
+ description: "Disable all inputs"
26071
26030
  },
26072
26031
  size: {
26073
26032
  types: [
26074
26033
  "string"
26075
26034
  ],
26076
- description: "size prop",
26035
+ description: "Visual size",
26077
26036
  enumValues: [
26078
26037
  "sm",
26079
26038
  "md"
@@ -26083,92 +26042,79 @@ var patterns_registry_default = {
26083
26042
  types: [
26084
26043
  "string"
26085
26044
  ],
26086
- description: "className prop"
26045
+ description: "Additional CSS classes"
26087
26046
  }
26088
26047
  }
26089
26048
  },
26090
- "kitchen-display-strip": {
26091
- type: "kitchen-display-strip",
26049
+ "qr-scanner": {
26050
+ type: "qr-scanner",
26092
26051
  category: "component",
26093
- description: "KitchenDisplayStrip component",
26052
+ description: "QrScanner component",
26094
26053
  suggestedFor: [
26095
- "kitchen",
26096
- "display",
26097
- "strip",
26098
- "kitchen display strip"
26054
+ "scanner",
26055
+ "qr scanner"
26099
26056
  ],
26100
26057
  typicalSize: "medium",
26101
26058
  propsSchema: {
26102
- orderId: {
26103
- types: [
26104
- "string"
26105
- ],
26106
- description: "orderId prop",
26107
- required: true
26108
- },
26109
- tableLabel: {
26110
- types: [
26111
- "string"
26112
- ],
26113
- description: "tableLabel prop"
26114
- },
26115
- serverName: {
26059
+ onScan: {
26116
26060
  types: [
26117
- "string"
26061
+ "function"
26118
26062
  ],
26119
- description: "serverName prop"
26063
+ description: "onScan prop",
26064
+ kind: "callback",
26065
+ callbackArgs: [
26066
+ {
26067
+ name: "result",
26068
+ type: "object"
26069
+ }
26070
+ ]
26120
26071
  },
26121
- items: {
26072
+ onError: {
26122
26073
  types: [
26123
- "array"
26074
+ "function"
26124
26075
  ],
26125
- description: "items prop",
26126
- required: true
26076
+ description: "onError prop",
26077
+ kind: "callback",
26078
+ callbackArgs: [
26079
+ {
26080
+ name: "error",
26081
+ type: "object"
26082
+ }
26083
+ ]
26127
26084
  },
26128
- status: {
26085
+ facingMode: {
26129
26086
  types: [
26130
26087
  "string"
26131
26088
  ],
26132
- description: "status prop",
26089
+ description: "facingMode prop",
26133
26090
  enumValues: [
26134
- "pending",
26135
- "preparing",
26136
- "ready",
26137
- "served"
26091
+ "environment",
26092
+ "user"
26138
26093
  ]
26139
26094
  },
26140
- receivedAt: {
26095
+ paused: {
26141
26096
  types: [
26142
- "number"
26097
+ "boolean"
26143
26098
  ],
26144
- description: "receivedAt prop",
26145
- required: true
26099
+ description: "paused prop"
26146
26100
  },
26147
- size: {
26101
+ showOverlay: {
26148
26102
  types: [
26149
- "string"
26103
+ "boolean"
26150
26104
  ],
26151
- description: "size prop",
26152
- enumValues: [
26153
- "sm",
26154
- "md"
26155
- ]
26105
+ description: "showOverlay prop"
26156
26106
  },
26157
- onMarkReady: {
26107
+ showCameraControls: {
26158
26108
  types: [
26159
- "function"
26109
+ "boolean"
26160
26110
  ],
26161
- description: "onMarkReady prop",
26162
- kind: "callback",
26163
- callbackArgs: []
26111
+ description: "showCameraControls prop"
26164
26112
  },
26165
- onMarkServed: {
26113
+ fallback: {
26166
26114
  types: [
26167
- "function"
26115
+ "node"
26168
26116
  ],
26169
- description: "onMarkServed prop",
26170
- kind: "callback",
26171
- callbackArgs: []
26117
+ description: "fallback prop"
26172
26118
  },
26173
26119
  className: {
26174
26120
  types: [
@@ -26178,701 +26124,35 @@ var patterns_registry_default = {
26178
26124
  }
26179
26125
  }
26180
26126
  },
26181
- "likert-scale": {
26182
- type: "likert-scale",
26127
+ "vote-stack": {
26128
+ type: "vote-stack",
26183
26129
  category: "component",
26184
- description: "LikertScale component",
26130
+ description: "VoteStack component",
26185
26131
  suggestedFor: [
26186
- "likert",
26187
- "scale",
26188
- "likert scale"
26132
+ "vote",
26133
+ "stack",
26134
+ "vote stack"
26189
26135
  ],
26190
26136
  typicalSize: "medium",
26191
26137
  propsSchema: {
26192
- question: {
26138
+ count: {
26193
26139
  types: [
26194
- "string"
26140
+ "number"
26195
26141
  ],
26196
- description: "Optional row prompt above the scale"
26142
+ description: "Current tally",
26143
+ required: true
26197
26144
  },
26198
- options: {
26145
+ userVote: {
26199
26146
  types: [
26200
- "array"
26147
+ "string"
26201
26148
  ],
26202
- description: "Scale points (defaults to a 5-point agree/disagree set)"
26149
+ description: "Current user's vote (null = no vote cast)",
26150
+ enumValues: [
26151
+ "up",
26152
+ "down"
26153
+ ]
26203
26154
  },
26204
- value: {
26205
- types: [
26206
- "number",
26207
- "string"
26208
- ],
26209
- description: "Selected value (controlled)"
26210
- },
26211
- onChange: {
26212
- types: [
26213
- "function"
26214
- ],
26215
- description: "Change callback",
26216
- kind: "callback",
26217
- callbackArgs: [
26218
- {
26219
- name: "value",
26220
- type: "number"
26221
- }
26222
- ]
26223
- },
26224
- disabled: {
26225
- types: [
26226
- "boolean"
26227
- ],
26228
- description: "Disabled state"
26229
- },
26230
- size: {
26231
- types: [
26232
- "string"
26233
- ],
26234
- description: "Size variant",
26235
- enumValues: [
26236
- "sm",
26237
- "md",
26238
- "lg"
26239
- ]
26240
- },
26241
- variant: {
26242
- types: [
26243
- "string"
26244
- ],
26245
- description: "Visual variant: classic radios or pill segmented buttons",
26246
- enumValues: [
26247
- "radios",
26248
- "buttons"
26249
- ]
26250
- },
26251
- className: {
26252
- types: [
26253
- "string"
26254
- ],
26255
- description: "Additional CSS classes"
26256
- }
26257
- }
26258
- },
26259
- "listing-card": {
26260
- type: "listing-card",
26261
- category: "display",
26262
- description: "ListingCard component",
26263
- suggestedFor: [
26264
- "listing",
26265
- "card",
26266
- "listing card"
26267
- ],
26268
- typicalSize: "medium",
26269
- propsSchema: {
26270
- title: {
26271
- types: [
26272
- "string"
26273
- ],
26274
- description: "title prop",
26275
- required: true
26276
- },
26277
- imageUrl: {
26278
- types: [
26279
- "string"
26280
- ],
26281
- description: "imageUrl prop",
26282
- required: true
26283
- },
26284
- imageAlt: {
26285
- types: [
26286
- "string"
26287
- ],
26288
- description: "imageAlt prop"
26289
- },
26290
- price: {
26291
- types: [
26292
- "string"
26293
- ],
26294
- description: "Pre-formatted price string (e.g. '$525,000', '$45/hr')"
26295
- },
26296
- location: {
26297
- types: [
26298
- "string"
26299
- ],
26300
- description: "location prop"
26301
- },
26302
- rating: {
26303
- types: [
26304
- "number"
26305
- ],
26306
- description: "Numeric rating 0-5"
26307
- },
26308
- reviewCount: {
26309
- types: [
26310
- "number"
26311
- ],
26312
- description: "reviewCount prop"
26313
- },
26314
- facts: {
26315
- types: [
26316
- "array"
26317
- ],
26318
- description: "2-4 quick stats with optional icons"
26319
- },
26320
- badge: {
26321
- types: [
26322
- "string"
26323
- ],
26324
- description: "badge prop",
26325
- enumValues: [
26326
- "new",
26327
- "featured",
26328
- "price-drop",
26329
- "sold",
26330
- "pending"
26331
- ]
26332
- },
26333
- favorite: {
26334
- types: [
26335
- "boolean"
26336
- ],
26337
- description: "favorite prop"
26338
- },
26339
- onFavoriteToggle: {
26340
- types: [
26341
- "function"
26342
- ],
26343
- description: "onFavoriteToggle prop",
26344
- kind: "callback",
26345
- callbackArgs: []
26346
- },
26347
- onClick: {
26348
- types: [
26349
- "function"
26350
- ],
26351
- description: "onClick prop",
26352
- kind: "callback",
26353
- callbackArgs: []
26354
- },
26355
- href: {
26356
- types: [
26357
- "string"
26358
- ],
26359
- description: "Optional link target. When provided, the card renders as an <a> wrapper."
26360
- },
26361
- size: {
26362
- types: [
26363
- "string"
26364
- ],
26365
- description: "size prop",
26366
- enumValues: [
26367
- "sm",
26368
- "md",
26369
- "lg"
26370
- ]
26371
- },
26372
- layout: {
26373
- types: [
26374
- "string"
26375
- ],
26376
- description: "layout prop",
26377
- enumValues: [
26378
- "vertical",
26379
- "horizontal"
26380
- ]
26381
- },
26382
- className: {
26383
- types: [
26384
- "string"
26385
- ],
26386
- description: "className prop"
26387
- }
26388
- }
26389
- },
26390
- "matrix-question": {
26391
- type: "matrix-question",
26392
- category: "component",
26393
- description: "MatrixQuestion component",
26394
- suggestedFor: [
26395
- "matrix",
26396
- "question",
26397
- "matrix question"
26398
- ],
26399
- typicalSize: "medium",
26400
- propsSchema: {
26401
- title: {
26402
- types: [
26403
- "string"
26404
- ],
26405
- description: "Optional title rendered above the matrix"
26406
- },
26407
- rows: {
26408
- types: [
26409
- "array"
26410
- ],
26411
- description: "Question rows",
26412
- required: true
26413
- },
26414
- columns: {
26415
- types: [
26416
- "array"
26417
- ],
26418
- description: "Column definitions; defaults to 5-point Likert"
26419
- },
26420
- values: {
26421
- types: [
26422
- "object"
26423
- ],
26424
- description: "Selected value per row, keyed by rowId"
26425
- },
26426
- onChange: {
26427
- types: [
26428
- "function"
26429
- ],
26430
- description: "Change handler invoked with rowId and selected column value",
26431
- kind: "callback",
26432
- callbackArgs: [
26433
- {
26434
- name: "rowId",
26435
- type: "string"
26436
- },
26437
- {
26438
- name: "value",
26439
- type: "number"
26440
- }
26441
- ]
26442
- },
26443
- disabled: {
26444
- types: [
26445
- "boolean"
26446
- ],
26447
- description: "Disable all inputs"
26448
- },
26449
- size: {
26450
- types: [
26451
- "string"
26452
- ],
26453
- description: "Visual size",
26454
- enumValues: [
26455
- "sm",
26456
- "md"
26457
- ]
26458
- },
26459
- className: {
26460
- types: [
26461
- "string"
26462
- ],
26463
- description: "Additional CSS classes"
26464
- }
26465
- }
26466
- },
26467
- "moderation-queue-row": {
26468
- type: "moderation-queue-row",
26469
- category: "component",
26470
- description: "ModerationQueueRow component",
26471
- suggestedFor: [
26472
- "moderation",
26473
- "queue",
26474
- "row",
26475
- "moderation queue row"
26476
- ],
26477
- typicalSize: "medium",
26478
- propsSchema: {
26479
- contentId: {
26480
- types: [
26481
- "string"
26482
- ],
26483
- description: "contentId prop",
26484
- required: true
26485
- },
26486
- authorName: {
26487
- types: [
26488
- "string"
26489
- ],
26490
- description: "authorName prop",
26491
- required: true
26492
- },
26493
- authorAvatarUrl: {
26494
- types: [
26495
- "string"
26496
- ],
26497
- description: "authorAvatarUrl prop"
26498
- },
26499
- contentPreview: {
26500
- types: [
26501
- "string"
26502
- ],
26503
- description: "contentPreview prop",
26504
- required: true
26505
- },
26506
- contentType: {
26507
- types: [
26508
- "string"
26509
- ],
26510
- description: "contentType prop"
26511
- },
26512
- flaggedAt: {
26513
- types: [
26514
- "string"
26515
- ],
26516
- description: "flaggedAt prop",
26517
- required: true
26518
- },
26519
- flagReason: {
26520
- types: [
26521
- "string"
26522
- ],
26523
- description: "flagReason prop",
26524
- enumValues: [
26525
- "spam",
26526
- "abuse",
26527
- "off-topic",
26528
- "misinformation",
26529
- "nsfw",
26530
- "other"
26531
- ]
26532
- },
26533
- flagCount: {
26534
- types: [
26535
- "number"
26536
- ],
26537
- description: "flagCount prop"
26538
- },
26539
- reportedBy: {
26540
- types: [
26541
- "string"
26542
- ],
26543
- description: "reportedBy prop"
26544
- },
26545
- onApprove: {
26546
- types: [
26547
- "function"
26548
- ],
26549
- description: "onApprove prop",
26550
- kind: "callback",
26551
- callbackArgs: []
26552
- },
26553
- onReject: {
26554
- types: [
26555
- "function"
26556
- ],
26557
- description: "onReject prop",
26558
- kind: "callback",
26559
- callbackArgs: []
26560
- },
26561
- onEscalate: {
26562
- types: [
26563
- "function"
26564
- ],
26565
- description: "onEscalate prop",
26566
- kind: "callback",
26567
- callbackArgs: []
26568
- },
26569
- onView: {
26570
- types: [
26571
- "function"
26572
- ],
26573
- description: "onView prop",
26574
- kind: "callback",
26575
- callbackArgs: []
26576
- },
26577
- className: {
26578
- types: [
26579
- "string"
26580
- ],
26581
- description: "className prop"
26582
- }
26583
- }
26584
- },
26585
- "modifier-group": {
26586
- type: "modifier-group",
26587
- category: "component",
26588
- description: "ModifierGroup Molecule Component Restaurant POS item-customization selector with required/optional/multi constraints. Renders radio inputs for `single` constraint and checkboxes for `multi`. Reports validation errors inline when the current selection violates the constraint. **Atomic Design**: Composed using Typography atom and native form controls.",
26589
- suggestedFor: [
26590
- "modifier",
26591
- "group",
26592
- "modifier group"
26593
- ],
26594
- typicalSize: "medium",
26595
- propsSchema: {
26596
- groupId: {
26597
- types: [
26598
- "string"
26599
- ],
26600
- description: "groupId prop",
26601
- required: true
26602
- },
26603
- title: {
26604
- types: [
26605
- "string"
26606
- ],
26607
- description: "title prop",
26608
- required: true
26609
- },
26610
- description: {
26611
- types: [
26612
- "string"
26613
- ],
26614
- description: "description prop"
26615
- },
26616
- options: {
26617
- types: [
26618
- "array"
26619
- ],
26620
- description: "options prop",
26621
- required: true
26622
- },
26623
- constraint: {
26624
- types: [
26625
- "object"
26626
- ],
26627
- description: "constraint prop",
26628
- required: true
26629
- },
26630
- selected: {
26631
- types: [
26632
- "array"
26633
- ],
26634
- description: "selected prop"
26635
- },
26636
- onChange: {
26637
- types: [
26638
- "function"
26639
- ],
26640
- description: "onChange prop",
26641
- kind: "callback",
26642
- callbackArgs: [
26643
- {
26644
- name: "selected",
26645
- type: "array"
26646
- }
26647
- ]
26648
- },
26649
- size: {
26650
- types: [
26651
- "string"
26652
- ],
26653
- description: "size prop",
26654
- enumValues: [
26655
- "sm",
26656
- "md"
26657
- ]
26658
- },
26659
- className: {
26660
- types: [
26661
- "string"
26662
- ],
26663
- description: "className prop"
26664
- }
26665
- }
26666
- },
26667
- "qr-scanner": {
26668
- type: "qr-scanner",
26669
- category: "component",
26670
- description: "QrScanner component",
26671
- suggestedFor: [
26672
- "scanner",
26673
- "qr scanner"
26674
- ],
26675
- typicalSize: "medium",
26676
- propsSchema: {
26677
- onScan: {
26678
- types: [
26679
- "function"
26680
- ],
26681
- description: "onScan prop",
26682
- kind: "callback",
26683
- callbackArgs: [
26684
- {
26685
- name: "result",
26686
- type: "object"
26687
- }
26688
- ]
26689
- },
26690
- onError: {
26691
- types: [
26692
- "function"
26693
- ],
26694
- description: "onError prop",
26695
- kind: "callback",
26696
- callbackArgs: [
26697
- {
26698
- name: "error",
26699
- type: "object"
26700
- }
26701
- ]
26702
- },
26703
- facingMode: {
26704
- types: [
26705
- "string"
26706
- ],
26707
- description: "facingMode prop",
26708
- enumValues: [
26709
- "environment",
26710
- "user"
26711
- ]
26712
- },
26713
- paused: {
26714
- types: [
26715
- "boolean"
26716
- ],
26717
- description: "paused prop"
26718
- },
26719
- showOverlay: {
26720
- types: [
26721
- "boolean"
26722
- ],
26723
- description: "showOverlay prop"
26724
- },
26725
- showCameraControls: {
26726
- types: [
26727
- "boolean"
26728
- ],
26729
- description: "showCameraControls prop"
26730
- },
26731
- fallback: {
26732
- types: [
26733
- "node"
26734
- ],
26735
- description: "fallback prop"
26736
- },
26737
- className: {
26738
- types: [
26739
- "string"
26740
- ],
26741
- description: "className prop"
26742
- }
26743
- }
26744
- },
26745
- "ticket-stub": {
26746
- type: "ticket-stub",
26747
- category: "component",
26748
- description: "TicketStub component",
26749
- suggestedFor: [
26750
- "ticket",
26751
- "stub",
26752
- "ticket stub"
26753
- ],
26754
- typicalSize: "medium",
26755
- propsSchema: {
26756
- eventName: {
26757
- types: [
26758
- "string"
26759
- ],
26760
- description: "eventName prop",
26761
- required: true
26762
- },
26763
- date: {
26764
- types: [
26765
- "string"
26766
- ],
26767
- description: "date prop"
26768
- },
26769
- venue: {
26770
- types: [
26771
- "string"
26772
- ],
26773
- description: "venue prop"
26774
- },
26775
- tier: {
26776
- types: [
26777
- "string"
26778
- ],
26779
- description: "tier prop",
26780
- required: true
26781
- },
26782
- price: {
26783
- types: [
26784
- "string",
26785
- "number"
26786
- ],
26787
- description: "price prop",
26788
- required: true
26789
- },
26790
- currency: {
26791
- types: [
26792
- "string"
26793
- ],
26794
- description: "currency prop"
26795
- },
26796
- attendeeName: {
26797
- types: [
26798
- "string"
26799
- ],
26800
- description: "attendeeName prop"
26801
- },
26802
- ticketCode: {
26803
- types: [
26804
- "string"
26805
- ],
26806
- description: "ticketCode prop",
26807
- required: true
26808
- },
26809
- qrValue: {
26810
- types: [
26811
- "string"
26812
- ],
26813
- description: "qrValue prop"
26814
- },
26815
- variant: {
26816
- types: [
26817
- "string"
26818
- ],
26819
- description: "variant prop",
26820
- enumValues: [
26821
- "general",
26822
- "vip",
26823
- "early-bird",
26824
- "student",
26825
- "custom"
26826
- ]
26827
- },
26828
- size: {
26829
- types: [
26830
- "string"
26831
- ],
26832
- description: "size prop",
26833
- enumValues: [
26834
- "sm",
26835
- "md",
26836
- "lg"
26837
- ]
26838
- },
26839
- className: {
26840
- types: [
26841
- "string"
26842
- ],
26843
- description: "className prop"
26844
- }
26845
- }
26846
- },
26847
- "vote-stack": {
26848
- type: "vote-stack",
26849
- category: "component",
26850
- description: "VoteStack component",
26851
- suggestedFor: [
26852
- "vote",
26853
- "stack",
26854
- "vote stack"
26855
- ],
26856
- typicalSize: "medium",
26857
- propsSchema: {
26858
- count: {
26859
- types: [
26860
- "number"
26861
- ],
26862
- description: "Current tally",
26863
- required: true
26864
- },
26865
- userVote: {
26866
- types: [
26867
- "string"
26868
- ],
26869
- description: "Current user's vote (null = no vote cast)",
26870
- enumValues: [
26871
- "up",
26872
- "down"
26873
- ]
26874
- },
26875
- onVote: {
26155
+ onVote: {
26876
26156
  types: [
26877
26157
  "function"
26878
26158
  ],
@@ -26926,133 +26206,6 @@ var patterns_registry_default = {
26926
26206
  }
26927
26207
  }
26928
26208
  },
26929
- "work-order-card": {
26930
- type: "work-order-card",
26931
- category: "display",
26932
- description: "WorkOrderCard component",
26933
- suggestedFor: [
26934
- "work",
26935
- "order",
26936
- "card",
26937
- "work order card"
26938
- ],
26939
- typicalSize: "medium",
26940
- propsSchema: {
26941
- orderId: {
26942
- types: [
26943
- "string"
26944
- ],
26945
- description: 'Work order identifier (e.g. "WO-1042")',
26946
- required: true
26947
- },
26948
- customerName: {
26949
- types: [
26950
- "string"
26951
- ],
26952
- description: "Customer name",
26953
- required: true
26954
- },
26955
- serviceType: {
26956
- types: [
26957
- "string"
26958
- ],
26959
- description: 'Service type description (e.g. "Plumbing repair")',
26960
- required: true
26961
- },
26962
- address: {
26963
- types: [
26964
- "string"
26965
- ],
26966
- description: "Service address",
26967
- required: true
26968
- },
26969
- scheduledAt: {
26970
- types: [
26971
- "string"
26972
- ],
26973
- description: "Scheduled date/time, rendered as-is"
26974
- },
26975
- etaMinutes: {
26976
- types: [
26977
- "number"
26978
- ],
26979
- description: "ETA in minutes; surfaced only when status is 'en-route'"
26980
- },
26981
- assignedTo: {
26982
- types: [
26983
- "string"
26984
- ],
26985
- description: 'Assigned technician name; rendered as "Unassigned" when omitted'
26986
- },
26987
- status: {
26988
- types: [
26989
- "string"
26990
- ],
26991
- description: "Current dispatch status",
26992
- enumValues: [
26993
- "created",
26994
- "assigned",
26995
- "en-route",
26996
- "on-site",
26997
- "completed",
26998
- "cancelled"
26999
- ]
27000
- },
27001
- priority: {
27002
- types: [
27003
- "string"
27004
- ],
27005
- description: "Priority level",
27006
- enumValues: [
27007
- "low",
27008
- "normal",
27009
- "high",
27010
- "urgent"
27011
- ]
27012
- },
27013
- size: {
27014
- types: [
27015
- "string"
27016
- ],
27017
- description: "Card size affecting padding and typography",
27018
- enumValues: [
27019
- "sm",
27020
- "md",
27021
- "lg"
27022
- ]
27023
- },
27024
- onAssign: {
27025
- types: [
27026
- "function"
27027
- ],
27028
- description: "Handler for the Assign action",
27029
- kind: "callback",
27030
- callbackArgs: []
27031
- },
27032
- onViewRoute: {
27033
- types: [
27034
- "function"
27035
- ],
27036
- description: "Handler for the View Route action",
27037
- kind: "callback",
27038
- callbackArgs: []
27039
- },
27040
- onMarkCompleted: {
27041
- types: [
27042
- "function"
27043
- ],
27044
- description: "Handler for the Mark Completed action",
27045
- kind: "callback",
27046
- callbackArgs: []
27047
- },
27048
- className: {
27049
- types: [
27050
- "string"
27051
- ],
27052
- description: "Additional class names"
27053
- }
27054
- }
27055
- },
27056
26209
  "branching-logic-builder": {
27057
26210
  type: "branching-logic-builder",
27058
26211
  category: "display",
@@ -27212,137 +26365,42 @@ var patterns_registry_default = {
27212
26365
  ],
27213
26366
  typicalSize: "large",
27214
26367
  propsSchema: {
27215
- initialBlocks: {
27216
- types: [
27217
- "array"
27218
- ],
27219
- description: "initialBlocks prop"
27220
- },
27221
- onChange: {
27222
- types: [
27223
- "function"
27224
- ],
27225
- description: "onChange prop",
27226
- kind: "callback",
27227
- callbackArgs: [
27228
- {
27229
- name: "blocks",
27230
- type: "array"
27231
- }
27232
- ]
27233
- },
27234
- readOnly: {
27235
- types: [
27236
- "boolean"
27237
- ],
27238
- description: "readOnly prop"
27239
- },
27240
- placeholder: {
27241
- types: [
27242
- "string"
27243
- ],
27244
- description: "placeholder prop"
27245
- },
27246
- showToolbar: {
27247
- types: [
27248
- "boolean"
27249
- ],
27250
- description: "showToolbar prop"
27251
- },
27252
- className: {
27253
- types: [
27254
- "string"
27255
- ],
27256
- description: "className prop"
27257
- }
27258
- }
27259
- },
27260
- "route-map": {
27261
- type: "route-map",
27262
- category: "display",
27263
- description: "RouteMap component",
27264
- suggestedFor: [
27265
- "route",
27266
- "map",
27267
- "route map"
27268
- ],
27269
- typicalSize: "large",
27270
- propsSchema: {
27271
- stops: {
27272
- types: [
27273
- "array"
27274
- ],
27275
- description: "stops prop",
27276
- required: true
27277
- },
27278
- origin: {
27279
- types: [
27280
- "object"
27281
- ],
27282
- description: "origin prop"
27283
- },
27284
- selectedStopId: {
27285
- types: [
27286
- "string"
27287
- ],
27288
- description: "selectedStopId prop"
27289
- },
27290
- editable: {
27291
- types: [
27292
- "boolean"
27293
- ],
27294
- description: "editable prop"
27295
- },
27296
- onSelectStop: {
27297
- types: [
27298
- "function"
27299
- ],
27300
- description: "onSelectStop prop",
27301
- kind: "callback",
27302
- callbackArgs: [
27303
- {
27304
- name: "id",
27305
- type: "string"
27306
- }
27307
- ]
26368
+ initialBlocks: {
26369
+ types: [
26370
+ "array"
26371
+ ],
26372
+ description: "initialBlocks prop"
27308
26373
  },
27309
- onReorderStops: {
26374
+ onChange: {
27310
26375
  types: [
27311
26376
  "function"
27312
26377
  ],
27313
- description: "onReorderStops prop",
26378
+ description: "onChange prop",
27314
26379
  kind: "callback",
27315
26380
  callbackArgs: [
27316
26381
  {
27317
- name: "newOrder",
26382
+ name: "blocks",
27318
26383
  type: "array"
27319
26384
  }
27320
26385
  ]
27321
26386
  },
27322
- onSkipStop: {
26387
+ readOnly: {
27323
26388
  types: [
27324
- "function"
26389
+ "boolean"
27325
26390
  ],
27326
- description: "onSkipStop prop",
27327
- kind: "callback",
27328
- callbackArgs: [
27329
- {
27330
- name: "id",
27331
- type: "string"
27332
- }
27333
- ]
26391
+ description: "readOnly prop"
27334
26392
  },
27335
- totalDistanceKm: {
26393
+ placeholder: {
27336
26394
  types: [
27337
- "number"
26395
+ "string"
27338
26396
  ],
27339
- description: "totalDistanceKm prop"
26397
+ description: "placeholder prop"
27340
26398
  },
27341
- totalDurationMinutes: {
26399
+ showToolbar: {
27342
26400
  types: [
27343
- "number"
26401
+ "boolean"
27344
26402
  ],
27345
- description: "totalDurationMinutes prop"
26403
+ description: "showToolbar prop"
27346
26404
  },
27347
26405
  className: {
27348
26406
  types: [
@@ -27352,54 +26410,64 @@ var patterns_registry_default = {
27352
26410
  }
27353
26411
  }
27354
26412
  },
27355
- "table-floor-plan": {
27356
- type: "table-floor-plan",
26413
+ "version-diff": {
26414
+ type: "version-diff",
27357
26415
  category: "display",
27358
- description: "TableFloorPlan component",
26416
+ description: "VersionDiff component",
27359
26417
  suggestedFor: [
27360
- "table",
27361
- "floor",
27362
- "plan",
27363
- "table floor plan"
26418
+ "version",
26419
+ "diff",
26420
+ "version diff"
27364
26421
  ],
27365
26422
  typicalSize: "large",
27366
26423
  propsSchema: {
27367
- tables: {
26424
+ revisions: {
27368
26425
  types: [
27369
26426
  "array"
27370
26427
  ],
27371
- description: "tables prop",
26428
+ description: "All available revisions (at least 2).",
27372
26429
  required: true
27373
26430
  },
27374
- width: {
26431
+ beforeId: {
27375
26432
  types: [
27376
- "number"
26433
+ "string"
27377
26434
  ],
27378
- description: "width prop"
26435
+ description: 'Currently selected "before" revision id.'
27379
26436
  },
27380
- height: {
26437
+ afterId: {
27381
26438
  types: [
27382
- "number"
26439
+ "string"
27383
26440
  ],
27384
- description: "height prop"
26441
+ description: 'Currently selected "after" revision id.'
27385
26442
  },
27386
- selectedId: {
26443
+ view: {
27387
26444
  types: [
27388
26445
  "string"
27389
26446
  ],
27390
- description: "selectedId prop"
26447
+ description: "Display mode.",
26448
+ enumValues: [
26449
+ "side-by-side",
26450
+ "inline"
26451
+ ]
27391
26452
  },
27392
- editable: {
26453
+ onSelectBefore: {
27393
26454
  types: [
27394
- "boolean"
26455
+ "function"
27395
26456
  ],
27396
- description: "editable prop"
26457
+ description: 'Called when the user picks a different "before" revision.',
26458
+ kind: "callback",
26459
+ callbackArgs: [
26460
+ {
26461
+ name: "id",
26462
+ type: "string"
26463
+ }
26464
+ ]
27397
26465
  },
27398
- onSelect: {
26466
+ onSelectAfter: {
27399
26467
  types: [
27400
26468
  "function"
27401
26469
  ],
27402
- description: "onSelect prop",
26470
+ description: 'Called when the user picks a different "after" revision.',
27403
26471
  kind: "callback",
27404
26472
  callbackArgs: [
27405
26473
  {
@@ -27408,104 +26476,106 @@ var patterns_registry_default = {
27408
26476
  }
27409
26477
  ]
27410
26478
  },
27411
- onMove: {
26479
+ onRevert: {
27412
26480
  types: [
27413
26481
  "function"
27414
26482
  ],
27415
- description: "onMove prop",
26483
+ description: 'Called when the user clicks the revert button (passes the "before" id).',
27416
26484
  kind: "callback",
27417
26485
  callbackArgs: [
27418
26486
  {
27419
26487
  name: "id",
27420
26488
  type: "string"
27421
- },
27422
- {
27423
- name: "x",
27424
- type: "number"
27425
- },
27426
- {
27427
- name: "y",
27428
- type: "number"
27429
26489
  }
27430
26490
  ]
27431
26491
  },
26492
+ language: {
26493
+ types: [
26494
+ "string"
26495
+ ],
26496
+ description: "Language label (informational)."
26497
+ },
27432
26498
  className: {
27433
26499
  types: [
27434
26500
  "string"
27435
26501
  ],
27436
- description: "className prop"
26502
+ description: "Additional CSS classes."
27437
26503
  }
27438
26504
  }
27439
26505
  },
27440
- "vendor-onboarding-stepper": {
27441
- type: "vendor-onboarding-stepper",
27442
- category: "game",
27443
- description: "VendorOnboardingStepper component",
26506
+ "option-constraint-group": {
26507
+ type: "option-constraint-group",
26508
+ category: "component",
26509
+ description: 'OptionConstraintGroup Molecule Component Generic constrained option selector (radio for "single", checkbox for "multi") with required/optional/multi constraints. Renders radio inputs for `single` constraint and checkboxes for `multi`. Reports validation errors inline when the current selection violates the constraint. **Atomic Design**: Composed using Typography atom and native form controls.',
27444
26510
  suggestedFor: [
27445
- "vendor",
27446
- "onboarding",
27447
- "stepper",
27448
- "vendor onboarding stepper"
26511
+ "option",
26512
+ "constraint",
26513
+ "group",
26514
+ "option constraint group"
27449
26515
  ],
27450
- typicalSize: "large",
26516
+ typicalSize: "medium",
27451
26517
  propsSchema: {
27452
- initialStep: {
26518
+ groupId: {
27453
26519
  types: [
27454
26520
  "string"
27455
26521
  ],
27456
- description: "initialStep prop",
27457
- enumValues: [
27458
- "business-info",
27459
- "tax-id",
27460
- "bank-link",
27461
- "identity-verify",
27462
- "review",
27463
- "submitted"
27464
- ]
26522
+ description: "groupId prop",
26523
+ required: true
26524
+ },
26525
+ title: {
26526
+ types: [
26527
+ "string"
26528
+ ],
26529
+ description: "title prop",
26530
+ required: true
26531
+ },
26532
+ description: {
26533
+ types: [
26534
+ "string"
26535
+ ],
26536
+ description: "description prop"
26537
+ },
26538
+ options: {
26539
+ types: [
26540
+ "array"
26541
+ ],
26542
+ description: "options prop",
26543
+ required: true
27465
26544
  },
27466
- initialState: {
26545
+ constraint: {
27467
26546
  types: [
27468
26547
  "object"
27469
26548
  ],
27470
- description: "initialState prop"
26549
+ description: "constraint prop",
26550
+ required: true
27471
26551
  },
27472
- onSubmit: {
26552
+ selected: {
27473
26553
  types: [
27474
- "function"
26554
+ "array"
27475
26555
  ],
27476
- description: "onSubmit prop",
27477
- kind: "callback",
27478
- callbackArgs: [
27479
- {
27480
- name: "state",
27481
- type: "object"
27482
- }
27483
- ]
26556
+ description: "selected prop"
27484
26557
  },
27485
- onStepChange: {
26558
+ onChange: {
27486
26559
  types: [
27487
26560
  "function"
27488
26561
  ],
27489
- description: "onStepChange prop",
26562
+ description: "onChange prop",
27490
26563
  kind: "callback",
27491
26564
  callbackArgs: [
27492
26565
  {
27493
- name: "step",
27494
- type: "string"
26566
+ name: "selected",
26567
+ type: "array"
27495
26568
  }
27496
26569
  ]
27497
26570
  },
27498
- onSaveDraft: {
26571
+ size: {
27499
26572
  types: [
27500
- "function"
26573
+ "string"
27501
26574
  ],
27502
- description: "onSaveDraft prop",
27503
- kind: "callback",
27504
- callbackArgs: [
27505
- {
27506
- name: "state",
27507
- type: "object"
27508
- }
26575
+ description: "size prop",
26576
+ enumValues: [
26577
+ "sm",
26578
+ "md"
27509
26579
  ]
27510
26580
  },
27511
26581
  className: {
@@ -27516,64 +26586,53 @@ var patterns_registry_default = {
27516
26586
  }
27517
26587
  }
27518
26588
  },
27519
- "version-diff": {
27520
- type: "version-diff",
27521
- category: "display",
27522
- description: "VersionDiff component",
26589
+ "positioned-canvas": {
26590
+ type: "positioned-canvas",
26591
+ category: "game",
26592
+ description: "PositionedCanvas component",
27523
26593
  suggestedFor: [
27524
- "version",
27525
- "diff",
27526
- "version diff"
26594
+ "positioned",
26595
+ "canvas",
26596
+ "positioned canvas"
27527
26597
  ],
27528
- typicalSize: "large",
26598
+ typicalSize: "medium",
27529
26599
  propsSchema: {
27530
- revisions: {
26600
+ items: {
27531
26601
  types: [
27532
26602
  "array"
27533
26603
  ],
27534
- description: "All available revisions (at least 2).",
26604
+ description: "items prop",
27535
26605
  required: true
27536
26606
  },
27537
- beforeId: {
26607
+ width: {
27538
26608
  types: [
27539
- "string"
26609
+ "number"
27540
26610
  ],
27541
- description: 'Currently selected "before" revision id.'
26611
+ description: "width prop"
27542
26612
  },
27543
- afterId: {
26613
+ height: {
27544
26614
  types: [
27545
- "string"
26615
+ "number"
27546
26616
  ],
27547
- description: 'Currently selected "after" revision id.'
26617
+ description: "height prop"
27548
26618
  },
27549
- view: {
26619
+ selectedId: {
27550
26620
  types: [
27551
26621
  "string"
27552
26622
  ],
27553
- description: "Display mode.",
27554
- enumValues: [
27555
- "side-by-side",
27556
- "inline"
27557
- ]
26623
+ description: "selectedId prop"
27558
26624
  },
27559
- onSelectBefore: {
26625
+ editable: {
27560
26626
  types: [
27561
- "function"
26627
+ "boolean"
27562
26628
  ],
27563
- description: 'Called when the user picks a different "before" revision.',
27564
- kind: "callback",
27565
- callbackArgs: [
27566
- {
27567
- name: "id",
27568
- type: "string"
27569
- }
27570
- ]
26629
+ description: "editable prop"
27571
26630
  },
27572
- onSelectAfter: {
26631
+ onSelect: {
27573
26632
  types: [
27574
26633
  "function"
27575
26634
  ],
27576
- description: 'Called when the user picks a different "after" revision.',
26635
+ description: "onSelect prop",
27577
26636
  kind: "callback",
27578
26637
  callbackArgs: [
27579
26638
  {
@@ -27582,30 +26641,32 @@ var patterns_registry_default = {
27582
26641
  }
27583
26642
  ]
27584
26643
  },
27585
- onRevert: {
26644
+ onMove: {
27586
26645
  types: [
27587
26646
  "function"
27588
26647
  ],
27589
- description: 'Called when the user clicks the revert button (passes the "before" id).',
26648
+ description: "onMove prop",
27590
26649
  kind: "callback",
27591
26650
  callbackArgs: [
27592
26651
  {
27593
26652
  name: "id",
27594
26653
  type: "string"
26654
+ },
26655
+ {
26656
+ name: "x",
26657
+ type: "number"
26658
+ },
26659
+ {
26660
+ name: "y",
26661
+ type: "number"
27595
26662
  }
27596
26663
  ]
27597
26664
  },
27598
- language: {
27599
- types: [
27600
- "string"
27601
- ],
27602
- description: "Language label (informational)."
27603
- },
27604
26665
  className: {
27605
26666
  types: [
27606
26667
  "string"
27607
26668
  ],
27608
- description: "Additional CSS classes."
26669
+ description: "className prop"
27609
26670
  }
27610
26671
  }
27611
26672
  },
@@ -28535,7 +27596,7 @@ var integrators_registry_default = {
28535
27596
  // src/component-mapping.json
28536
27597
  var component_mapping_default = {
28537
27598
  version: "1.0.0",
28538
- exportedAt: "2026-05-09T16:52:32.798Z",
27599
+ exportedAt: "2026-05-10T00:51:00.079Z",
28539
27600
  mappings: {
28540
27601
  "page-header": {
28541
27602
  component: "PageHeader",
@@ -30335,66 +29396,26 @@ var component_mapping_default = {
30335
29396
  importPath: "@/components/atoms/FilterPill",
30336
29397
  category: "filter"
30337
29398
  },
30338
- "dunning-banner": {
30339
- component: "DunningBanner",
30340
- importPath: "@/components/molecules/DunningBanner",
30341
- category: "component"
30342
- },
30343
- invoice: {
30344
- component: "Invoice",
30345
- importPath: "@/components/molecules/Invoice",
30346
- category: "component"
30347
- },
30348
- "kitchen-display-strip": {
30349
- component: "KitchenDisplayStrip",
30350
- importPath: "@/components/molecules/KitchenDisplayStrip",
30351
- category: "component"
30352
- },
30353
29399
  "likert-scale": {
30354
29400
  component: "LikertScale",
30355
29401
  importPath: "@/components/molecules/LikertScale",
30356
29402
  category: "component"
30357
29403
  },
30358
- "listing-card": {
30359
- component: "ListingCard",
30360
- importPath: "@/components/molecules/ListingCard",
30361
- category: "display"
30362
- },
30363
29404
  "matrix-question": {
30364
29405
  component: "MatrixQuestion",
30365
29406
  importPath: "@/components/molecules/MatrixQuestion",
30366
29407
  category: "component"
30367
29408
  },
30368
- "moderation-queue-row": {
30369
- component: "ModerationQueueRow",
30370
- importPath: "@/components/molecules/ModerationQueueRow",
30371
- category: "component"
30372
- },
30373
- "modifier-group": {
30374
- component: "ModifierGroup",
30375
- importPath: "@/components/molecules/ModifierGroup",
30376
- category: "component"
30377
- },
30378
29409
  "qr-scanner": {
30379
29410
  component: "QrScanner",
30380
29411
  importPath: "@/components/molecules/QrScanner",
30381
29412
  category: "component"
30382
29413
  },
30383
- "ticket-stub": {
30384
- component: "TicketStub",
30385
- importPath: "@/components/molecules/TicketStub",
30386
- category: "component"
30387
- },
30388
29414
  "vote-stack": {
30389
29415
  component: "VoteStack",
30390
29416
  importPath: "@/components/molecules/VoteStack",
30391
29417
  category: "component"
30392
29418
  },
30393
- "work-order-card": {
30394
- component: "WorkOrderCard",
30395
- importPath: "@/components/molecules/WorkOrderCard",
30396
- category: "display"
30397
- },
30398
29419
  "branching-logic-builder": {
30399
29420
  component: "BranchingLogicBuilder",
30400
29421
  importPath: "@/components/organisms/BranchingLogicBuilder",
@@ -30410,26 +29431,21 @@ var component_mapping_default = {
30410
29431
  importPath: "@/components/organisms/RichBlockEditor",
30411
29432
  category: "display"
30412
29433
  },
30413
- "route-map": {
30414
- component: "RouteMap",
30415
- importPath: "@/components/organisms/RouteMap",
30416
- category: "display"
30417
- },
30418
- "table-floor-plan": {
30419
- component: "TableFloorPlan",
30420
- importPath: "@/components/organisms/TableFloorPlan",
30421
- category: "display"
30422
- },
30423
- "vendor-onboarding-stepper": {
30424
- component: "VendorOnboardingStepper",
30425
- importPath: "@/components/organisms/VendorOnboardingStepper",
30426
- category: "game"
30427
- },
30428
29434
  "version-diff": {
30429
29435
  component: "VersionDiff",
30430
29436
  importPath: "@/components/organisms/VersionDiff",
30431
29437
  category: "display"
30432
29438
  },
29439
+ "option-constraint-group": {
29440
+ component: "OptionConstraintGroup",
29441
+ importPath: "@/components/molecules/OptionConstraintGroup",
29442
+ category: "component"
29443
+ },
29444
+ "positioned-canvas": {
29445
+ component: "PositionedCanvas",
29446
+ importPath: "@/components/molecules/PositionedCanvas",
29447
+ category: "game"
29448
+ },
30433
29449
  heading: {
30434
29450
  component: "Typography",
30435
29451
  importPath: "@/components/atoms/Typography",
@@ -30446,7 +29462,7 @@ var component_mapping_default = {
30446
29462
  // src/event-contracts.json
30447
29463
  var event_contracts_default = {
30448
29464
  version: "1.0.0",
30449
- exportedAt: "2026-05-09T16:52:32.798Z",
29465
+ exportedAt: "2026-05-10T00:51:00.079Z",
30450
29466
  contracts: {
30451
29467
  form: {
30452
29468
  emits: [