@almadar/patterns 2.24.0 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/patterns-registry.json
2
2
  var patterns_registry_default = {
3
3
  version: "1.0.0",
4
- exportedAt: "2026-05-09T16:52:32.798Z",
4
+ exportedAt: "2026-05-11T04:42:37.745Z",
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"
@@ -25882,198 +25888,212 @@ var patterns_registry_default = {
25882
25888
  description: "Click handler for the body of the pill (filter toggle)",
25883
25889
  kind: "callback",
25884
25890
  callbackArgs: []
25891
+ },
25892
+ clickEvent: {
25893
+ types: [
25894
+ "string"
25895
+ ],
25896
+ description: "Event name dispatched via event bus when the pill body is clicked. Payload: { label }",
25897
+ kind: "event-ref",
25898
+ emitPayloadSchema: [
25899
+ {
25900
+ name: "label",
25901
+ type: "string",
25902
+ required: true
25903
+ }
25904
+ ]
25905
+ },
25906
+ removeEvent: {
25907
+ types: [
25908
+ "string"
25909
+ ],
25910
+ description: "Event name dispatched via event bus when the remove (\xD7) button is clicked. Payload: { label }",
25911
+ kind: "event-ref",
25912
+ emitPayloadSchema: [
25913
+ {
25914
+ name: "label",
25915
+ type: "string",
25916
+ required: true
25917
+ }
25918
+ ]
25885
25919
  }
25886
25920
  }
25887
25921
  },
25888
- "dunning-banner": {
25889
- type: "dunning-banner",
25922
+ "likert-scale": {
25923
+ type: "likert-scale",
25890
25924
  category: "component",
25891
- description: "DunningBanner component",
25925
+ description: "LikertScale component",
25892
25926
  suggestedFor: [
25893
- "dunning",
25894
- "banner",
25895
- "dunning banner"
25927
+ "likert",
25928
+ "scale",
25929
+ "likert scale"
25896
25930
  ],
25897
25931
  typicalSize: "medium",
25898
25932
  propsSchema: {
25899
- severity: {
25933
+ question: {
25900
25934
  types: [
25901
25935
  "string"
25902
25936
  ],
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"
25937
+ description: "Optional row prompt above the scale"
25921
25938
  },
25922
- failedAt: {
25939
+ options: {
25923
25940
  types: [
25924
- "string"
25941
+ "array"
25925
25942
  ],
25926
- description: "failedAt prop"
25943
+ description: "Scale points (defaults to a 5-point agree/disagree set)"
25927
25944
  },
25928
- nextRetryAt: {
25945
+ value: {
25929
25946
  types: [
25947
+ "number",
25930
25948
  "string"
25931
25949
  ],
25932
- description: "nextRetryAt prop"
25950
+ description: "Selected value (controlled)"
25933
25951
  },
25934
- amountDue: {
25952
+ onChange: {
25935
25953
  types: [
25936
- "number"
25954
+ "function"
25937
25955
  ],
25938
- description: "amountDue prop"
25956
+ description: "Change callback",
25957
+ kind: "callback",
25958
+ callbackArgs: [
25959
+ {
25960
+ name: "value",
25961
+ type: "number"
25962
+ }
25963
+ ]
25939
25964
  },
25940
- currency: {
25965
+ changeEvent: {
25941
25966
  types: [
25942
25967
  "string"
25943
25968
  ],
25944
- description: "currency prop"
25945
- },
25946
- onUpdatePayment: {
25947
- types: [
25948
- "function"
25949
- ],
25950
- description: "onUpdatePayment prop",
25951
- kind: "callback",
25952
- callbackArgs: []
25969
+ description: "Event name dispatched via event bus on change. Payload: { value: number | string }",
25970
+ kind: "event-ref",
25971
+ emitPayloadSchema: [
25972
+ {
25973
+ name: "value",
25974
+ type: "number",
25975
+ required: true
25976
+ }
25977
+ ]
25953
25978
  },
25954
- onContactSupport: {
25979
+ disabled: {
25955
25980
  types: [
25956
- "function"
25981
+ "boolean"
25957
25982
  ],
25958
- description: "onContactSupport prop",
25959
- kind: "callback",
25960
- callbackArgs: []
25983
+ description: "Disabled state"
25961
25984
  },
25962
- onDismiss: {
25985
+ size: {
25963
25986
  types: [
25964
- "function"
25987
+ "string"
25965
25988
  ],
25966
- description: "onDismiss prop",
25967
- kind: "callback",
25968
- callbackArgs: []
25989
+ description: "Size variant",
25990
+ enumValues: [
25991
+ "sm",
25992
+ "md",
25993
+ "lg"
25994
+ ]
25969
25995
  },
25970
- dismissible: {
25996
+ variant: {
25971
25997
  types: [
25972
- "boolean"
25998
+ "string"
25973
25999
  ],
25974
- description: "dismissible prop"
26000
+ description: "Visual variant: classic radios or pill segmented buttons",
26001
+ enumValues: [
26002
+ "radios",
26003
+ "buttons"
26004
+ ]
25975
26005
  },
25976
26006
  className: {
25977
26007
  types: [
25978
26008
  "string"
25979
26009
  ],
25980
- description: "className prop"
26010
+ description: "Additional CSS classes"
25981
26011
  }
25982
26012
  }
25983
26013
  },
25984
- invoice: {
25985
- type: "invoice",
26014
+ "matrix-question": {
26015
+ type: "matrix-question",
25986
26016
  category: "component",
25987
- description: "Invoice component",
26017
+ description: "MatrixQuestion component",
25988
26018
  suggestedFor: [
25989
- "invoice"
26019
+ "matrix",
26020
+ "question",
26021
+ "matrix question"
25990
26022
  ],
25991
26023
  typicalSize: "medium",
25992
26024
  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: {
26025
+ title: {
26021
26026
  types: [
26022
26027
  "string"
26023
26028
  ],
26024
- description: "dueAt prop",
26025
- required: true
26026
- },
26027
- from: {
26028
- types: [
26029
- "object"
26030
- ],
26031
- description: "from prop",
26032
- required: true
26029
+ description: "Optional title rendered above the matrix"
26033
26030
  },
26034
- to: {
26031
+ rows: {
26035
26032
  types: [
26036
- "object"
26033
+ "array"
26037
26034
  ],
26038
- description: "to prop",
26035
+ description: "Question rows",
26039
26036
  required: true
26040
26037
  },
26041
- items: {
26038
+ columns: {
26042
26039
  types: [
26043
26040
  "array"
26044
26041
  ],
26045
- description: "items prop",
26046
- required: true
26042
+ description: "Column definitions; defaults to 5-point Likert"
26047
26043
  },
26048
- currency: {
26044
+ values: {
26049
26045
  types: [
26050
- "string"
26046
+ "object"
26051
26047
  ],
26052
- description: "currency prop"
26048
+ description: "Selected value per row, keyed by rowId"
26053
26049
  },
26054
- taxRateDefault: {
26050
+ onChange: {
26055
26051
  types: [
26056
- "number"
26052
+ "function"
26057
26053
  ],
26058
- description: "taxRateDefault prop"
26054
+ description: "Change handler invoked with rowId and selected column value",
26055
+ kind: "callback",
26056
+ callbackArgs: [
26057
+ {
26058
+ name: "rowId",
26059
+ type: "string"
26060
+ },
26061
+ {
26062
+ name: "value",
26063
+ type: "number"
26064
+ }
26065
+ ]
26059
26066
  },
26060
- notes: {
26067
+ changeEvent: {
26061
26068
  types: [
26062
26069
  "string"
26063
26070
  ],
26064
- description: "notes prop"
26071
+ description: "Event name dispatched via event bus when a row's value changes. Payload: { rowId, value }",
26072
+ kind: "event-ref",
26073
+ emitPayloadSchema: [
26074
+ {
26075
+ name: "rowId",
26076
+ type: "string",
26077
+ required: true
26078
+ },
26079
+ {
26080
+ name: "value",
26081
+ type: "number",
26082
+ required: true
26083
+ }
26084
+ ]
26065
26085
  },
26066
- paymentUrl: {
26086
+ disabled: {
26067
26087
  types: [
26068
- "string"
26088
+ "boolean"
26069
26089
  ],
26070
- description: "paymentUrl prop"
26090
+ description: "Disable all inputs"
26071
26091
  },
26072
26092
  size: {
26073
26093
  types: [
26074
26094
  "string"
26075
26095
  ],
26076
- description: "size prop",
26096
+ description: "Visual size",
26077
26097
  enumValues: [
26078
26098
  "sm",
26079
26099
  "md"
@@ -26083,636 +26103,83 @@ var patterns_registry_default = {
26083
26103
  types: [
26084
26104
  "string"
26085
26105
  ],
26086
- description: "className prop"
26106
+ description: "Additional CSS classes"
26087
26107
  }
26088
26108
  }
26089
26109
  },
26090
- "kitchen-display-strip": {
26091
- type: "kitchen-display-strip",
26110
+ "qr-scanner": {
26111
+ type: "qr-scanner",
26092
26112
  category: "component",
26093
- description: "KitchenDisplayStrip component",
26113
+ description: "QrScanner component",
26094
26114
  suggestedFor: [
26095
- "kitchen",
26096
- "display",
26097
- "strip",
26098
- "kitchen display strip"
26115
+ "scanner",
26116
+ "qr scanner"
26099
26117
  ],
26100
26118
  typicalSize: "medium",
26101
26119
  propsSchema: {
26102
- orderId: {
26103
- types: [
26104
- "string"
26105
- ],
26106
- description: "orderId prop",
26107
- required: true
26108
- },
26109
- tableLabel: {
26120
+ onScan: {
26110
26121
  types: [
26111
- "string"
26122
+ "function"
26112
26123
  ],
26113
- description: "tableLabel prop"
26124
+ description: "onScan prop",
26125
+ kind: "callback",
26126
+ callbackArgs: [
26127
+ {
26128
+ name: "result",
26129
+ type: "object"
26130
+ }
26131
+ ]
26114
26132
  },
26115
- serverName: {
26133
+ scanEvent: {
26116
26134
  types: [
26117
26135
  "string"
26118
26136
  ],
26119
- description: "serverName prop"
26137
+ description: "scanEvent prop",
26138
+ kind: "event-ref",
26139
+ emitPayloadSchema: [
26140
+ {
26141
+ name: "text",
26142
+ type: "string",
26143
+ required: true
26144
+ },
26145
+ {
26146
+ name: "format",
26147
+ type: "string",
26148
+ required: true
26149
+ },
26150
+ {
26151
+ name: "timestamp",
26152
+ type: "number",
26153
+ required: true
26154
+ }
26155
+ ]
26120
26156
  },
26121
- items: {
26157
+ onError: {
26122
26158
  types: [
26123
- "array"
26159
+ "function"
26124
26160
  ],
26125
- description: "items prop",
26126
- required: true
26161
+ description: "onError prop",
26162
+ kind: "callback",
26163
+ callbackArgs: [
26164
+ {
26165
+ name: "error",
26166
+ type: "object"
26167
+ }
26168
+ ]
26127
26169
  },
26128
- status: {
26170
+ facingMode: {
26129
26171
  types: [
26130
26172
  "string"
26131
26173
  ],
26132
- description: "status prop",
26174
+ description: "facingMode prop",
26133
26175
  enumValues: [
26134
- "pending",
26135
- "preparing",
26136
- "ready",
26137
- "served"
26176
+ "environment",
26177
+ "user"
26138
26178
  ]
26139
26179
  },
26140
- receivedAt: {
26180
+ paused: {
26141
26181
  types: [
26142
- "number"
26143
- ],
26144
- description: "receivedAt prop",
26145
- required: true
26146
- },
26147
- size: {
26148
- types: [
26149
- "string"
26150
- ],
26151
- description: "size prop",
26152
- enumValues: [
26153
- "sm",
26154
- "md"
26155
- ]
26156
- },
26157
- onMarkReady: {
26158
- types: [
26159
- "function"
26160
- ],
26161
- description: "onMarkReady prop",
26162
- kind: "callback",
26163
- callbackArgs: []
26164
- },
26165
- onMarkServed: {
26166
- types: [
26167
- "function"
26168
- ],
26169
- description: "onMarkServed prop",
26170
- kind: "callback",
26171
- callbackArgs: []
26172
- },
26173
- className: {
26174
- types: [
26175
- "string"
26176
- ],
26177
- description: "className prop"
26178
- }
26179
- }
26180
- },
26181
- "likert-scale": {
26182
- type: "likert-scale",
26183
- category: "component",
26184
- description: "LikertScale component",
26185
- suggestedFor: [
26186
- "likert",
26187
- "scale",
26188
- "likert scale"
26189
- ],
26190
- typicalSize: "medium",
26191
- propsSchema: {
26192
- question: {
26193
- types: [
26194
- "string"
26195
- ],
26196
- description: "Optional row prompt above the scale"
26197
- },
26198
- options: {
26199
- types: [
26200
- "array"
26201
- ],
26202
- description: "Scale points (defaults to a 5-point agree/disagree set)"
26203
- },
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"
26182
+ "boolean"
26716
26183
  ],
26717
26184
  description: "paused prop"
26718
26185
  },
@@ -26742,108 +26209,6 @@ var patterns_registry_default = {
26742
26209
  }
26743
26210
  }
26744
26211
  },
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
26212
  "vote-stack": {
26848
26213
  type: "vote-stack",
26849
26214
  category: "component",
@@ -26869,7 +26234,8 @@ var patterns_registry_default = {
26869
26234
  description: "Current user's vote (null = no vote cast)",
26870
26235
  enumValues: [
26871
26236
  "up",
26872
- "down"
26237
+ "down",
26238
+ "none"
26873
26239
  ]
26874
26240
  },
26875
26241
  onVote: {
@@ -26882,174 +26248,61 @@ var patterns_registry_default = {
26882
26248
  {
26883
26249
  name: "next",
26884
26250
  type: "string"
26885
- }
26886
- ]
26887
- },
26888
- disabled: {
26889
- types: [
26890
- "boolean"
26891
- ],
26892
- description: "Disabled state"
26893
- },
26894
- size: {
26895
- types: [
26896
- "string"
26897
- ],
26898
- description: "Size variant",
26899
- enumValues: [
26900
- "sm",
26901
- "md",
26902
- "lg"
26903
- ]
26904
- },
26905
- variant: {
26906
- types: [
26907
- "string"
26908
- ],
26909
- description: "Layout orientation. `vertical` = forum/Q&A column; `horizontal` = compact row.",
26910
- enumValues: [
26911
- "vertical",
26912
- "horizontal"
26913
- ]
26914
- },
26915
- className: {
26916
- types: [
26917
- "string"
26918
- ],
26919
- description: "Additional CSS classes"
26920
- },
26921
- label: {
26922
- types: [
26923
- "string"
26924
- ],
26925
- description: "Accessible label for the group"
26926
- }
26927
- }
26928
- },
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'
26251
+ }
26252
+ ]
26986
26253
  },
26987
- status: {
26254
+ voteEvent: {
26988
26255
  types: [
26989
26256
  "string"
26990
26257
  ],
26991
- description: "Current dispatch status",
26992
- enumValues: [
26993
- "created",
26994
- "assigned",
26995
- "en-route",
26996
- "on-site",
26997
- "completed",
26998
- "cancelled"
26258
+ description: "Event name dispatched on the bus when a vote is cast. Payload: { next: VoteValue }.",
26259
+ kind: "event-ref",
26260
+ emitPayloadSchema: [
26261
+ {
26262
+ name: "next",
26263
+ type: "string",
26264
+ required: true
26265
+ }
26999
26266
  ]
27000
26267
  },
27001
- priority: {
26268
+ disabled: {
27002
26269
  types: [
27003
- "string"
26270
+ "boolean"
27004
26271
  ],
27005
- description: "Priority level",
27006
- enumValues: [
27007
- "low",
27008
- "normal",
27009
- "high",
27010
- "urgent"
27011
- ]
26272
+ description: "Disabled state"
27012
26273
  },
27013
26274
  size: {
27014
26275
  types: [
27015
26276
  "string"
27016
26277
  ],
27017
- description: "Card size affecting padding and typography",
26278
+ description: "Size variant",
27018
26279
  enumValues: [
27019
26280
  "sm",
27020
26281
  "md",
27021
26282
  "lg"
27022
26283
  ]
27023
26284
  },
27024
- onAssign: {
27025
- types: [
27026
- "function"
27027
- ],
27028
- description: "Handler for the Assign action",
27029
- kind: "callback",
27030
- callbackArgs: []
27031
- },
27032
- onViewRoute: {
26285
+ variant: {
27033
26286
  types: [
27034
- "function"
26287
+ "string"
27035
26288
  ],
27036
- description: "Handler for the View Route action",
27037
- kind: "callback",
27038
- callbackArgs: []
26289
+ description: "Layout orientation. `vertical` = forum/Q&A column; `horizontal` = compact row.",
26290
+ enumValues: [
26291
+ "vertical",
26292
+ "horizontal"
26293
+ ]
27039
26294
  },
27040
- onMarkCompleted: {
26295
+ className: {
27041
26296
  types: [
27042
- "function"
26297
+ "string"
27043
26298
  ],
27044
- description: "Handler for the Mark Completed action",
27045
- kind: "callback",
27046
- callbackArgs: []
26299
+ description: "Additional CSS classes"
27047
26300
  },
27048
- className: {
26301
+ label: {
27049
26302
  types: [
27050
26303
  "string"
27051
26304
  ],
27052
- description: "Additional class names"
26305
+ description: "Accessible label for the group"
27053
26306
  }
27054
26307
  }
27055
26308
  },
@@ -27067,16 +26320,18 @@ var patterns_registry_default = {
27067
26320
  propsSchema: {
27068
26321
  questions: {
27069
26322
  types: [
27070
- "array"
26323
+ "array",
26324
+ "object"
27071
26325
  ],
27072
26326
  description: "questions prop",
27073
26327
  required: true
27074
26328
  },
27075
26329
  rules: {
27076
26330
  types: [
27077
- "array"
26331
+ "array",
26332
+ "object"
27078
26333
  ],
27079
- description: "rules prop",
26334
+ description: "Rules. Accepts either a typed array (direct consumers) or the runtime payload shape from a render-ui binding (`@payload.data`). Narrowed to `[]` internally when the value isn't an array.",
27080
26335
  required: true
27081
26336
  },
27082
26337
  onRulesChange: {
@@ -27092,6 +26347,20 @@ var patterns_registry_default = {
27092
26347
  }
27093
26348
  ]
27094
26349
  },
26350
+ rulesChangeEvent: {
26351
+ types: [
26352
+ "string"
26353
+ ],
26354
+ description: "Event name dispatched via event bus when rules change. Payload: `{ rules }`.",
26355
+ kind: "event-ref",
26356
+ emitPayloadSchema: [
26357
+ {
26358
+ name: "rules",
26359
+ type: "array",
26360
+ required: true
26361
+ }
26362
+ ]
26363
+ },
27095
26364
  readOnly: {
27096
26365
  types: [
27097
26366
  "boolean"
@@ -27186,6 +26455,67 @@ var patterns_registry_default = {
27186
26455
  }
27187
26456
  ]
27188
26457
  },
26458
+ voteEvent: {
26459
+ types: [
26460
+ "string"
26461
+ ],
26462
+ description: "voteEvent prop",
26463
+ kind: "event-ref",
26464
+ emitPayloadSchema: [
26465
+ {
26466
+ name: "nodeId",
26467
+ type: "string",
26468
+ required: true
26469
+ },
26470
+ {
26471
+ name: "vote",
26472
+ type: "string",
26473
+ required: true
26474
+ }
26475
+ ]
26476
+ },
26477
+ replyEvent: {
26478
+ types: [
26479
+ "string"
26480
+ ],
26481
+ description: "replyEvent prop",
26482
+ kind: "event-ref",
26483
+ emitPayloadSchema: [
26484
+ {
26485
+ name: "parentNodeId",
26486
+ type: "string",
26487
+ required: true
26488
+ }
26489
+ ]
26490
+ },
26491
+ flagEvent: {
26492
+ types: [
26493
+ "string"
26494
+ ],
26495
+ description: "flagEvent prop",
26496
+ kind: "event-ref",
26497
+ emitPayloadSchema: [
26498
+ {
26499
+ name: "nodeId",
26500
+ type: "string",
26501
+ required: true
26502
+ }
26503
+ ]
26504
+ },
26505
+ continueThreadEvent: {
26506
+ types: [
26507
+ "string"
26508
+ ],
26509
+ description: "continueThreadEvent prop",
26510
+ kind: "event-ref",
26511
+ emitPayloadSchema: [
26512
+ {
26513
+ name: "nodeId",
26514
+ type: "string",
26515
+ required: true
26516
+ }
26517
+ ]
26518
+ },
27189
26519
  showActions: {
27190
26520
  types: [
27191
26521
  "boolean"
@@ -27216,7 +26546,7 @@ var patterns_registry_default = {
27216
26546
  types: [
27217
26547
  "array"
27218
26548
  ],
27219
- description: "initialBlocks prop"
26549
+ description: "Initial block payload. Accepts strongly-typed RichBlock[] from native callers and the wider EntityRow[] shape that orb-bound traits emit (orb `[object]` lowers to `Record<string, FieldValue | undefined>[]`, which is structurally EntityRow[]). Items missing id/type are normalized into paragraph blocks at mount."
27220
26550
  },
27221
26551
  onChange: {
27222
26552
  types: [
@@ -27231,6 +26561,20 @@ var patterns_registry_default = {
27231
26561
  }
27232
26562
  ]
27233
26563
  },
26564
+ changeEvent: {
26565
+ types: [
26566
+ "string"
26567
+ ],
26568
+ description: "changeEvent prop",
26569
+ kind: "event-ref",
26570
+ emitPayloadSchema: [
26571
+ {
26572
+ name: "blocks",
26573
+ type: "array",
26574
+ required: true
26575
+ }
26576
+ ]
26577
+ },
27234
26578
  readOnly: {
27235
26579
  types: [
27236
26580
  "boolean"
@@ -27257,92 +26601,230 @@ var patterns_registry_default = {
27257
26601
  }
27258
26602
  }
27259
26603
  },
27260
- "route-map": {
27261
- type: "route-map",
26604
+ "version-diff": {
26605
+ type: "version-diff",
27262
26606
  category: "display",
27263
- description: "RouteMap component",
26607
+ description: "VersionDiff component",
26608
+ suggestedFor: [
26609
+ "version",
26610
+ "diff",
26611
+ "version diff"
26612
+ ],
26613
+ typicalSize: "large",
26614
+ propsSchema: {
26615
+ revisions: {
26616
+ types: [
26617
+ "array",
26618
+ "object"
26619
+ ],
26620
+ description: "All available revisions (at least 2). Accepts either a typed array (direct consumers) or the runtime payload shape from a render-ui binding (`@payload.revisions`). Narrowed to `[]` internally when the value isn't an array.",
26621
+ required: true
26622
+ },
26623
+ beforeId: {
26624
+ types: [
26625
+ "string"
26626
+ ],
26627
+ description: 'Currently selected "before" revision id.'
26628
+ },
26629
+ afterId: {
26630
+ types: [
26631
+ "string"
26632
+ ],
26633
+ description: 'Currently selected "after" revision id.'
26634
+ },
26635
+ view: {
26636
+ types: [
26637
+ "string"
26638
+ ],
26639
+ description: "Display mode.",
26640
+ enumValues: [
26641
+ "side-by-side",
26642
+ "inline"
26643
+ ]
26644
+ },
26645
+ onSelectBefore: {
26646
+ types: [
26647
+ "function"
26648
+ ],
26649
+ description: 'Called when the user picks a different "before" revision.',
26650
+ kind: "callback",
26651
+ callbackArgs: [
26652
+ {
26653
+ name: "id",
26654
+ type: "string"
26655
+ }
26656
+ ]
26657
+ },
26658
+ onSelectAfter: {
26659
+ types: [
26660
+ "function"
26661
+ ],
26662
+ description: 'Called when the user picks a different "after" revision.',
26663
+ kind: "callback",
26664
+ callbackArgs: [
26665
+ {
26666
+ name: "id",
26667
+ type: "string"
26668
+ }
26669
+ ]
26670
+ },
26671
+ onRevert: {
26672
+ types: [
26673
+ "function"
26674
+ ],
26675
+ description: 'Called when the user clicks the revert button (passes the "before" id).',
26676
+ kind: "callback",
26677
+ callbackArgs: [
26678
+ {
26679
+ name: "id",
26680
+ type: "string"
26681
+ }
26682
+ ]
26683
+ },
26684
+ selectBeforeEvent: {
26685
+ types: [
26686
+ "string"
26687
+ ],
26688
+ description: 'Event name dispatched via event bus when the "before" revision changes. Payload: { id }.',
26689
+ kind: "event-ref",
26690
+ emitPayloadSchema: [
26691
+ {
26692
+ name: "id",
26693
+ type: "string",
26694
+ required: true
26695
+ }
26696
+ ]
26697
+ },
26698
+ selectAfterEvent: {
26699
+ types: [
26700
+ "string"
26701
+ ],
26702
+ description: 'Event name dispatched via event bus when the "after" revision changes. Payload: { id }.',
26703
+ kind: "event-ref",
26704
+ emitPayloadSchema: [
26705
+ {
26706
+ name: "id",
26707
+ type: "string",
26708
+ required: true
26709
+ }
26710
+ ]
26711
+ },
26712
+ revertEvent: {
26713
+ types: [
26714
+ "string"
26715
+ ],
26716
+ description: "Event name dispatched via event bus when the user clicks revert. Payload: { id }.",
26717
+ kind: "event-ref",
26718
+ emitPayloadSchema: [
26719
+ {
26720
+ name: "id",
26721
+ type: "string",
26722
+ required: true
26723
+ }
26724
+ ]
26725
+ },
26726
+ language: {
26727
+ types: [
26728
+ "string"
26729
+ ],
26730
+ description: "Language label (informational)."
26731
+ },
26732
+ className: {
26733
+ types: [
26734
+ "string"
26735
+ ],
26736
+ description: "Additional CSS classes."
26737
+ }
26738
+ }
26739
+ },
26740
+ "option-constraint-group": {
26741
+ type: "option-constraint-group",
26742
+ category: "component",
26743
+ 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.',
27264
26744
  suggestedFor: [
27265
- "route",
27266
- "map",
27267
- "route map"
26745
+ "option",
26746
+ "constraint",
26747
+ "group",
26748
+ "option constraint group"
27268
26749
  ],
27269
- typicalSize: "large",
26750
+ typicalSize: "medium",
27270
26751
  propsSchema: {
27271
- stops: {
26752
+ groupId: {
27272
26753
  types: [
27273
- "array"
26754
+ "string"
27274
26755
  ],
27275
- description: "stops prop",
26756
+ description: "groupId prop",
27276
26757
  required: true
27277
26758
  },
27278
- origin: {
26759
+ title: {
27279
26760
  types: [
27280
- "object"
26761
+ "string"
27281
26762
  ],
27282
- description: "origin prop"
26763
+ description: "title prop",
26764
+ required: true
27283
26765
  },
27284
- selectedStopId: {
26766
+ description: {
27285
26767
  types: [
27286
26768
  "string"
27287
26769
  ],
27288
- description: "selectedStopId prop"
26770
+ description: "description prop"
27289
26771
  },
27290
- editable: {
26772
+ options: {
27291
26773
  types: [
27292
- "boolean"
26774
+ "array"
27293
26775
  ],
27294
- description: "editable prop"
26776
+ description: "options prop",
26777
+ required: true
27295
26778
  },
27296
- onSelectStop: {
26779
+ constraint: {
27297
26780
  types: [
27298
- "function"
26781
+ "object"
27299
26782
  ],
27300
- description: "onSelectStop prop",
27301
- kind: "callback",
27302
- callbackArgs: [
27303
- {
27304
- name: "id",
27305
- type: "string"
27306
- }
27307
- ]
26783
+ description: "constraint prop",
26784
+ required: true
26785
+ },
26786
+ selected: {
26787
+ types: [
26788
+ "array"
26789
+ ],
26790
+ description: "selected prop"
27308
26791
  },
27309
- onReorderStops: {
26792
+ onChange: {
27310
26793
  types: [
27311
26794
  "function"
27312
26795
  ],
27313
- description: "onReorderStops prop",
26796
+ description: "onChange prop",
27314
26797
  kind: "callback",
27315
26798
  callbackArgs: [
27316
26799
  {
27317
- name: "newOrder",
26800
+ name: "selected",
27318
26801
  type: "array"
27319
26802
  }
27320
26803
  ]
27321
26804
  },
27322
- onSkipStop: {
26805
+ changeEvent: {
27323
26806
  types: [
27324
- "function"
26807
+ "string"
27325
26808
  ],
27326
- description: "onSkipStop prop",
27327
- kind: "callback",
27328
- callbackArgs: [
26809
+ description: "changeEvent prop",
26810
+ kind: "event-ref",
26811
+ emitPayloadSchema: [
27329
26812
  {
27330
- name: "id",
27331
- type: "string"
26813
+ name: "selected",
26814
+ type: "array",
26815
+ required: true
27332
26816
  }
27333
26817
  ]
27334
26818
  },
27335
- totalDistanceKm: {
27336
- types: [
27337
- "number"
27338
- ],
27339
- description: "totalDistanceKm prop"
27340
- },
27341
- totalDurationMinutes: {
26819
+ size: {
27342
26820
  types: [
27343
- "number"
26821
+ "string"
27344
26822
  ],
27345
- description: "totalDurationMinutes prop"
26823
+ description: "size prop",
26824
+ enumValues: [
26825
+ "sm",
26826
+ "md"
26827
+ ]
27346
26828
  },
27347
26829
  className: {
27348
26830
  types: [
@@ -27352,23 +26834,23 @@ var patterns_registry_default = {
27352
26834
  }
27353
26835
  }
27354
26836
  },
27355
- "table-floor-plan": {
27356
- type: "table-floor-plan",
27357
- category: "display",
27358
- description: "TableFloorPlan component",
26837
+ "positioned-canvas": {
26838
+ type: "positioned-canvas",
26839
+ category: "game",
26840
+ description: "PositionedCanvas component",
27359
26841
  suggestedFor: [
27360
- "table",
27361
- "floor",
27362
- "plan",
27363
- "table floor plan"
26842
+ "positioned",
26843
+ "canvas",
26844
+ "positioned canvas"
27364
26845
  ],
27365
- typicalSize: "large",
26846
+ typicalSize: "medium",
27366
26847
  propsSchema: {
27367
- tables: {
26848
+ items: {
27368
26849
  types: [
27369
- "array"
26850
+ "array",
26851
+ "object"
27370
26852
  ],
27371
- description: "tables prop",
26853
+ description: "Items to render. Accepts either a typed array (direct consumers) or the runtime payload shape from a render-ui binding (`@payload.data`). The molecule narrows non-array values to `[]` and validates element shape at render time via the `id` / `x` / `y` guards.",
27372
26854
  required: true
27373
26855
  },
27374
26856
  width: {
@@ -27429,183 +26911,49 @@ var patterns_registry_default = {
27429
26911
  }
27430
26912
  ]
27431
26913
  },
27432
- className: {
27433
- types: [
27434
- "string"
27435
- ],
27436
- description: "className prop"
27437
- }
27438
- }
27439
- },
27440
- "vendor-onboarding-stepper": {
27441
- type: "vendor-onboarding-stepper",
27442
- category: "game",
27443
- description: "VendorOnboardingStepper component",
27444
- suggestedFor: [
27445
- "vendor",
27446
- "onboarding",
27447
- "stepper",
27448
- "vendor onboarding stepper"
27449
- ],
27450
- typicalSize: "large",
27451
- propsSchema: {
27452
- initialStep: {
26914
+ selectEvent: {
27453
26915
  types: [
27454
26916
  "string"
27455
26917
  ],
27456
- description: "initialStep prop",
27457
- enumValues: [
27458
- "business-info",
27459
- "tax-id",
27460
- "bank-link",
27461
- "identity-verify",
27462
- "review",
27463
- "submitted"
27464
- ]
27465
- },
27466
- initialState: {
27467
- types: [
27468
- "object"
27469
- ],
27470
- description: "initialState prop"
27471
- },
27472
- onSubmit: {
27473
- types: [
27474
- "function"
27475
- ],
27476
- description: "onSubmit prop",
27477
- kind: "callback",
27478
- callbackArgs: [
27479
- {
27480
- name: "state",
27481
- type: "object"
27482
- }
27483
- ]
27484
- },
27485
- onStepChange: {
27486
- types: [
27487
- "function"
27488
- ],
27489
- description: "onStepChange prop",
27490
- kind: "callback",
27491
- callbackArgs: [
27492
- {
27493
- name: "step",
27494
- type: "string"
27495
- }
27496
- ]
27497
- },
27498
- onSaveDraft: {
27499
- types: [
27500
- "function"
27501
- ],
27502
- description: "onSaveDraft prop",
27503
- kind: "callback",
27504
- callbackArgs: [
26918
+ description: "selectEvent prop",
26919
+ kind: "event-ref",
26920
+ emitPayloadSchema: [
27505
26921
  {
27506
- name: "state",
27507
- type: "object"
26922
+ name: "id",
26923
+ type: "string",
26924
+ required: true
27508
26925
  }
27509
26926
  ]
27510
26927
  },
27511
- className: {
27512
- types: [
27513
- "string"
27514
- ],
27515
- description: "className prop"
27516
- }
27517
- }
27518
- },
27519
- "version-diff": {
27520
- type: "version-diff",
27521
- category: "display",
27522
- description: "VersionDiff component",
27523
- suggestedFor: [
27524
- "version",
27525
- "diff",
27526
- "version diff"
27527
- ],
27528
- typicalSize: "large",
27529
- propsSchema: {
27530
- revisions: {
27531
- types: [
27532
- "array"
27533
- ],
27534
- description: "All available revisions (at least 2).",
27535
- required: true
27536
- },
27537
- beforeId: {
27538
- types: [
27539
- "string"
27540
- ],
27541
- description: 'Currently selected "before" revision id.'
27542
- },
27543
- afterId: {
27544
- types: [
27545
- "string"
27546
- ],
27547
- description: 'Currently selected "after" revision id.'
27548
- },
27549
- view: {
26928
+ moveEvent: {
27550
26929
  types: [
27551
26930
  "string"
27552
26931
  ],
27553
- description: "Display mode.",
27554
- enumValues: [
27555
- "side-by-side",
27556
- "inline"
27557
- ]
27558
- },
27559
- onSelectBefore: {
27560
- types: [
27561
- "function"
27562
- ],
27563
- description: 'Called when the user picks a different "before" revision.',
27564
- kind: "callback",
27565
- callbackArgs: [
26932
+ description: "moveEvent prop",
26933
+ kind: "event-ref",
26934
+ emitPayloadSchema: [
27566
26935
  {
27567
26936
  name: "id",
27568
- type: "string"
27569
- }
27570
- ]
27571
- },
27572
- onSelectAfter: {
27573
- types: [
27574
- "function"
27575
- ],
27576
- description: 'Called when the user picks a different "after" revision.',
27577
- kind: "callback",
27578
- callbackArgs: [
26937
+ type: "string",
26938
+ required: true
26939
+ },
27579
26940
  {
27580
- name: "id",
27581
- type: "string"
27582
- }
27583
- ]
27584
- },
27585
- onRevert: {
27586
- types: [
27587
- "function"
27588
- ],
27589
- description: 'Called when the user clicks the revert button (passes the "before" id).',
27590
- kind: "callback",
27591
- callbackArgs: [
26941
+ name: "x",
26942
+ type: "number",
26943
+ required: true
26944
+ },
27592
26945
  {
27593
- name: "id",
27594
- type: "string"
26946
+ name: "y",
26947
+ type: "number",
26948
+ required: true
27595
26949
  }
27596
26950
  ]
27597
26951
  },
27598
- language: {
27599
- types: [
27600
- "string"
27601
- ],
27602
- description: "Language label (informational)."
27603
- },
27604
26952
  className: {
27605
26953
  types: [
27606
26954
  "string"
27607
26955
  ],
27608
- description: "Additional CSS classes."
26956
+ description: "className prop"
27609
26957
  }
27610
26958
  }
27611
26959
  },
@@ -28535,7 +27883,7 @@ var integrators_registry_default = {
28535
27883
  // src/component-mapping.json
28536
27884
  var component_mapping_default = {
28537
27885
  version: "1.0.0",
28538
- exportedAt: "2026-05-09T16:52:32.798Z",
27886
+ exportedAt: "2026-05-11T04:42:37.745Z",
28539
27887
  mappings: {
28540
27888
  "page-header": {
28541
27889
  component: "PageHeader",
@@ -30335,66 +29683,26 @@ var component_mapping_default = {
30335
29683
  importPath: "@/components/atoms/FilterPill",
30336
29684
  category: "filter"
30337
29685
  },
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
29686
  "likert-scale": {
30354
29687
  component: "LikertScale",
30355
29688
  importPath: "@/components/molecules/LikertScale",
30356
29689
  category: "component"
30357
29690
  },
30358
- "listing-card": {
30359
- component: "ListingCard",
30360
- importPath: "@/components/molecules/ListingCard",
30361
- category: "display"
30362
- },
30363
29691
  "matrix-question": {
30364
29692
  component: "MatrixQuestion",
30365
29693
  importPath: "@/components/molecules/MatrixQuestion",
30366
29694
  category: "component"
30367
29695
  },
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
29696
  "qr-scanner": {
30379
29697
  component: "QrScanner",
30380
29698
  importPath: "@/components/molecules/QrScanner",
30381
29699
  category: "component"
30382
29700
  },
30383
- "ticket-stub": {
30384
- component: "TicketStub",
30385
- importPath: "@/components/molecules/TicketStub",
30386
- category: "component"
30387
- },
30388
29701
  "vote-stack": {
30389
29702
  component: "VoteStack",
30390
29703
  importPath: "@/components/molecules/VoteStack",
30391
29704
  category: "component"
30392
29705
  },
30393
- "work-order-card": {
30394
- component: "WorkOrderCard",
30395
- importPath: "@/components/molecules/WorkOrderCard",
30396
- category: "display"
30397
- },
30398
29706
  "branching-logic-builder": {
30399
29707
  component: "BranchingLogicBuilder",
30400
29708
  importPath: "@/components/organisms/BranchingLogicBuilder",
@@ -30410,26 +29718,21 @@ var component_mapping_default = {
30410
29718
  importPath: "@/components/organisms/RichBlockEditor",
30411
29719
  category: "display"
30412
29720
  },
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
29721
  "version-diff": {
30429
29722
  component: "VersionDiff",
30430
29723
  importPath: "@/components/organisms/VersionDiff",
30431
29724
  category: "display"
30432
29725
  },
29726
+ "option-constraint-group": {
29727
+ component: "OptionConstraintGroup",
29728
+ importPath: "@/components/molecules/OptionConstraintGroup",
29729
+ category: "component"
29730
+ },
29731
+ "positioned-canvas": {
29732
+ component: "PositionedCanvas",
29733
+ importPath: "@/components/molecules/PositionedCanvas",
29734
+ category: "game"
29735
+ },
30433
29736
  heading: {
30434
29737
  component: "Typography",
30435
29738
  importPath: "@/components/atoms/Typography",
@@ -30446,7 +29749,7 @@ var component_mapping_default = {
30446
29749
  // src/event-contracts.json
30447
29750
  var event_contracts_default = {
30448
29751
  version: "1.0.0",
30449
- exportedAt: "2026-05-09T16:52:32.798Z",
29752
+ exportedAt: "2026-05-11T04:42:37.745Z",
30450
29753
  contracts: {
30451
29754
  form: {
30452
29755
  emits: [