@almadar/std 14.16.0 → 14.18.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.
Files changed (123) hide show
  1. package/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  2. package/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  3. package/behaviors/registry/app/atoms/std-dunning.orb +44 -44
  4. package/behaviors/registry/app/atoms/std-event.orb +62 -62
  5. package/behaviors/registry/app/atoms/std-flag.orb +72 -72
  6. package/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  7. package/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  8. package/behaviors/registry/app/atoms/std-invoice.orb +124 -124
  9. package/behaviors/registry/app/atoms/std-kitchen-display.orb +45 -45
  10. package/behaviors/registry/app/atoms/std-menu.orb +44 -44
  11. package/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  12. package/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  13. package/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  14. package/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  15. package/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  16. package/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  17. package/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  18. package/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  19. package/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  20. package/behaviors/registry/app/atoms/std-route-optimize.orb +48 -46
  21. package/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  22. package/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  23. package/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  24. package/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  25. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  26. package/behaviors/registry/app/atoms/std-thread.orb +59 -59
  27. package/behaviors/registry/app/atoms/std-ticket-tier.orb +72 -56
  28. package/behaviors/registry/app/atoms/std-trial.orb +67 -67
  29. package/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  30. package/behaviors/registry/app/atoms/std-vote.orb +40 -40
  31. package/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  32. package/behaviors/registry/app/atoms/std-work-order.orb +61 -61
  33. package/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  34. package/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  35. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  36. package/behaviors/registry/app/organisms/std-cms.orb +265 -265
  37. package/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  38. package/behaviors/registry/app/organisms/std-crm.orb +258 -258
  39. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  40. package/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  41. package/behaviors/registry/app/organisms/std-event-ticketing.orb +193 -201
  42. package/behaviors/registry/app/organisms/std-field-service.orb +170 -174
  43. package/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  44. package/behaviors/registry/app/organisms/std-forum.orb +127 -128
  45. package/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  46. package/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  47. package/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  48. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  49. package/behaviors/registry/app/organisms/std-listings.orb +152 -157
  50. package/behaviors/registry/app/organisms/std-lms.orb +422 -422
  51. package/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  52. package/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  53. package/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  54. package/behaviors/registry/app/organisms/std-restaurant-pos.orb +142 -142
  55. package/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  56. package/behaviors/registry/app/organisms/std-subscription-billing.orb +210 -212
  57. package/behaviors/registry/app/organisms/std-survey.orb +148 -149
  58. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  59. package/behaviors/registry/app/organisms/std-wiki.orb +131 -132
  60. package/behaviors/registry/core/molecules/std-form-advanced.orb +124 -124
  61. package/dist/behaviors/behaviors-registry.json +1 -1
  62. package/dist/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  63. package/dist/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  64. package/dist/behaviors/registry/app/atoms/std-dunning.orb +44 -44
  65. package/dist/behaviors/registry/app/atoms/std-event.orb +62 -62
  66. package/dist/behaviors/registry/app/atoms/std-flag.orb +72 -72
  67. package/dist/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  68. package/dist/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  69. package/dist/behaviors/registry/app/atoms/std-invoice.orb +124 -124
  70. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +45 -45
  71. package/dist/behaviors/registry/app/atoms/std-menu.orb +44 -44
  72. package/dist/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  73. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  74. package/dist/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  75. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  76. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  77. package/dist/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  78. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  79. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  80. package/dist/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  81. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +48 -46
  82. package/dist/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  83. package/dist/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  84. package/dist/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  85. package/dist/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  86. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  87. package/dist/behaviors/registry/app/atoms/std-thread.orb +59 -59
  88. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +72 -56
  89. package/dist/behaviors/registry/app/atoms/std-trial.orb +67 -67
  90. package/dist/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  91. package/dist/behaviors/registry/app/atoms/std-vote.orb +40 -40
  92. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  93. package/dist/behaviors/registry/app/atoms/std-work-order.orb +61 -61
  94. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  95. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  96. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  97. package/dist/behaviors/registry/app/organisms/std-cms.orb +265 -265
  98. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  99. package/dist/behaviors/registry/app/organisms/std-crm.orb +258 -258
  100. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  101. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  102. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +193 -201
  103. package/dist/behaviors/registry/app/organisms/std-field-service.orb +170 -174
  104. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  105. package/dist/behaviors/registry/app/organisms/std-forum.orb +127 -128
  106. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  107. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  108. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  109. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  110. package/dist/behaviors/registry/app/organisms/std-listings.orb +152 -157
  111. package/dist/behaviors/registry/app/organisms/std-lms.orb +422 -422
  112. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  113. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  114. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  115. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +142 -142
  116. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  117. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +210 -212
  118. package/dist/behaviors/registry/app/organisms/std-survey.orb +148 -149
  119. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  120. package/dist/behaviors/registry/app/organisms/std-wiki.orb +131 -132
  121. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +124 -124
  122. package/dist/behaviors-registry.json +1 -1
  123. package/package.json +7 -14
@@ -103,28 +103,28 @@
103
103
  "ref": "AppShell.traits.AppLayout",
104
104
  "name": "TicketAppLayout",
105
105
  "config": {
106
+ "notifications": [],
107
+ "notificationClickEvent": "TICKET_NOTIFICATIONS_OPEN",
106
108
  "navItems": [
107
109
  {
108
- "href": "/tickets",
110
+ "icon": "inbox",
109
111
  "label": "Tickets",
110
- "icon": "inbox"
112
+ "href": "/tickets"
111
113
  },
112
114
  {
113
115
  "icon": "message-circle",
114
- "href": "/replies",
115
- "label": "Replies"
116
+ "label": "Replies",
117
+ "href": "/replies"
116
118
  },
117
119
  {
118
- "label": "Metrics",
120
+ "href": "/metrics",
119
121
  "icon": "layout-list",
120
- "href": "/metrics"
122
+ "label": "Metrics"
121
123
  }
122
124
  ],
123
- "notifications": [],
125
+ "searchEvent": "TICKET_SEARCH",
124
126
  "contentTrait": "@trait.TicketCatalog",
125
- "appName": "Helpdesk",
126
- "notificationClickEvent": "TICKET_NOTIFICATIONS_OPEN",
127
- "searchEvent": "TICKET_SEARCH"
127
+ "appName": "Helpdesk"
128
128
  },
129
129
  "events": {
130
130
  "SEARCH": "TICKET_SEARCH",
@@ -211,22 +211,21 @@
211
211
  "render-ui",
212
212
  "main",
213
213
  {
214
- "type": "stack",
215
- "gap": "lg",
216
- "direction": "vertical",
217
214
  "children": [
218
215
  {
216
+ "align": "center",
217
+ "gap": "md",
219
218
  "type": "stack",
220
219
  "direction": "horizontal",
221
- "gap": "md",
222
220
  "justify": "between",
223
221
  "children": [
224
222
  {
225
- "gap": "sm",
223
+ "align": "center",
224
+ "direction": "horizontal",
226
225
  "children": [
227
226
  {
228
- "type": "icon",
229
- "name": "inbox"
227
+ "name": "inbox",
228
+ "type": "icon"
230
229
  },
231
230
  {
232
231
  "variant": "h2",
@@ -234,39 +233,37 @@
234
233
  "content": "Tickets"
235
234
  }
236
235
  ],
237
- "direction": "horizontal",
238
236
  "type": "stack",
239
- "align": "center"
237
+ "gap": "sm"
240
238
  },
241
239
  {
240
+ "gap": "sm",
241
+ "type": "stack",
242
+ "direction": "horizontal",
242
243
  "children": [
243
244
  {
245
+ "icon": "plus",
244
246
  "label": "New Ticket",
245
247
  "action": "CREATE",
246
248
  "type": "button",
247
- "variant": "primary",
248
- "icon": "plus"
249
+ "variant": "primary"
249
250
  }
250
- ],
251
- "gap": "sm",
252
- "type": "stack",
253
- "direction": "horizontal"
251
+ ]
254
252
  }
255
- ],
256
- "align": "center"
253
+ ]
257
254
  },
258
255
  {
259
256
  "type": "divider"
260
257
  },
261
258
  {
262
259
  "align": "center",
263
- "type": "stack",
260
+ "gap": "md",
261
+ "direction": "horizontal",
264
262
  "children": [
265
263
  "@trait.TicketSearch",
266
264
  "@trait.TicketFilter"
267
265
  ],
268
- "gap": "md",
269
- "direction": "horizontal"
266
+ "type": "stack"
270
267
  },
271
268
  "@trait.TicketStats",
272
269
  "@trait.TicketGraphs",
@@ -274,7 +271,10 @@
274
271
  "type": "divider"
275
272
  },
276
273
  "@trait.TicketBrowseList"
277
- ]
274
+ ],
275
+ "type": "stack",
276
+ "direction": "vertical",
277
+ "gap": "lg"
278
278
  }
279
279
  ]
280
280
  ]
@@ -293,32 +293,32 @@
293
293
  "render-ui",
294
294
  "main",
295
295
  {
296
- "className": "py-8",
297
- "gap": "md",
298
296
  "align": "center",
299
297
  "direction": "vertical",
300
298
  "type": "stack",
299
+ "className": "py-8",
300
+ "gap": "md",
301
301
  "children": [
302
302
  {
303
303
  "type": "icon",
304
304
  "name": "bell"
305
305
  },
306
306
  {
307
- "variant": "h3",
307
+ "content": "No notifications",
308
308
  "type": "typography",
309
- "content": "No notifications"
309
+ "variant": "h3"
310
310
  },
311
311
  {
312
- "variant": "caption",
313
312
  "type": "typography",
314
313
  "content": "You're all caught up.",
315
- "color": "muted"
314
+ "color": "muted",
315
+ "variant": "caption"
316
316
  },
317
317
  {
318
318
  "action": "INIT",
319
+ "label": "Back to tickets",
319
320
  "variant": "ghost",
320
- "type": "button",
321
- "label": "Back to tickets"
321
+ "type": "button"
322
322
  }
323
323
  ]
324
324
  }
@@ -343,15 +343,15 @@
343
343
  "config": {
344
344
  "filters": [
345
345
  {
346
- "filterType": "select",
347
346
  "options": [
348
347
  "low",
349
348
  "medium",
350
349
  "high",
351
350
  "critical"
352
351
  ],
352
+ "label": "Priority",
353
353
  "field": "priority",
354
- "label": "Priority"
354
+ "filterType": "select"
355
355
  },
356
356
  {
357
357
  "options": [
@@ -361,8 +361,8 @@
361
361
  "closed"
362
362
  ],
363
363
  "label": "Status",
364
- "filterType": "select",
365
- "field": "status"
364
+ "field": "status",
365
+ "filterType": "select"
366
366
  }
367
367
  ],
368
368
  "event": "TICKET_FILTER"
@@ -375,16 +375,14 @@
375
375
  "title": "Tickets",
376
376
  "metrics": [
377
377
  {
378
- "format": "number",
379
- "variant": "primary",
380
378
  "icon": "inbox",
381
379
  "label": "Total",
382
- "aggregation": "count"
380
+ "aggregation": "count",
381
+ "variant": "primary",
382
+ "format": "number"
383
383
  },
384
384
  {
385
- "icon": "circle",
386
- "label": "Open",
387
- "aggregation": "count",
385
+ "format": "number",
388
386
  "filter": [
389
387
  "fn",
390
388
  "row",
@@ -394,12 +392,15 @@
394
392
  "open"
395
393
  ]
396
394
  ],
397
- "variant": "warning",
398
- "format": "number"
395
+ "label": "Open",
396
+ "aggregation": "count",
397
+ "icon": "circle",
398
+ "variant": "warning"
399
399
  },
400
400
  {
401
401
  "icon": "check-circle",
402
- "variant": "success",
402
+ "label": "Resolved",
403
+ "format": "number",
403
404
  "filter": [
404
405
  "fn",
405
406
  "row",
@@ -409,9 +410,8 @@
409
410
  "resolved"
410
411
  ]
411
412
  ],
412
- "format": "number",
413
413
  "aggregation": "count",
414
- "label": "Resolved"
414
+ "variant": "success"
415
415
  }
416
416
  ]
417
417
  },
@@ -430,13 +430,13 @@
430
430
  "ref": "Graphs.traits.GraphItemGraph",
431
431
  "name": "TicketGraphs",
432
432
  "config": {
433
- "subtitle": "Volume across priority buckets",
433
+ "height": 240.0,
434
434
  "categoryField": "priority",
435
- "aggregation": "count",
436
435
  "showLegend": false,
436
+ "title": "Tickets by Priority",
437
+ "subtitle": "Volume across priority buckets",
437
438
  "chartType": "bar",
438
- "height": 240.0,
439
- "title": "Tickets by Priority"
439
+ "aggregation": "count"
440
440
  },
441
441
  "listens": [
442
442
  {
@@ -455,6 +455,7 @@
455
455
  "linkedEntity": "Ticket",
456
456
  "config": {
457
457
  "gap": "sm",
458
+ "cols": 1.0,
458
459
  "itemActions": [
459
460
  {
460
461
  "event": "VIEW",
@@ -467,24 +468,24 @@
467
468
  "variant": "ghost"
468
469
  },
469
470
  {
471
+ "label": "Delete",
470
472
  "variant": "danger",
471
- "event": "DELETE",
472
- "label": "Delete"
473
+ "event": "DELETE"
473
474
  }
474
475
  ],
475
476
  "fields": [
476
477
  {
478
+ "icon": "inbox",
477
479
  "name": "subject",
478
- "variant": "h3",
479
- "icon": "inbox"
480
+ "variant": "h3"
480
481
  },
481
482
  {
482
- "variant": "badge",
483
- "name": "priority"
483
+ "name": "priority",
484
+ "variant": "badge"
484
485
  },
485
486
  {
486
- "name": "status",
487
- "variant": "badge"
487
+ "variant": "badge",
488
+ "name": "status"
488
489
  },
489
490
  {
490
491
  "name": "assignee",
@@ -494,8 +495,7 @@
494
495
  "name": "description",
495
496
  "variant": "caption"
496
497
  }
497
- ],
498
- "cols": 1.0
498
+ ]
499
499
  },
500
500
  "listens": [
501
501
  {
@@ -545,6 +545,8 @@
545
545
  "name": "TicketCreate",
546
546
  "linkedEntity": "Ticket",
547
547
  "config": {
548
+ "icon": "plus-circle",
549
+ "mode": "create",
548
550
  "title": "New Ticket",
549
551
  "fields": [
550
552
  "subject",
@@ -553,9 +555,7 @@
553
555
  "status",
554
556
  "assignee",
555
557
  "customerEmail"
556
- ],
557
- "mode": "create",
558
- "icon": "plus-circle"
558
+ ]
559
559
  },
560
560
  "events": {
561
561
  "OPEN": "CREATE"
@@ -576,7 +576,6 @@
576
576
  "name": "TicketEdit",
577
577
  "linkedEntity": "Ticket",
578
578
  "config": {
579
- "mode": "edit",
580
579
  "icon": "edit",
581
580
  "fields": [
582
581
  "subject",
@@ -586,6 +585,7 @@
586
585
  "assignee",
587
586
  "customerEmail"
588
587
  ],
588
+ "mode": "edit",
589
589
  "title": "Edit Ticket"
590
590
  },
591
591
  "events": {
@@ -607,8 +607,6 @@
607
607
  "name": "TicketView",
608
608
  "linkedEntity": "Ticket",
609
609
  "config": {
610
- "icon": "eye",
611
- "mode": "edit",
612
610
  "fields": [
613
611
  "subject",
614
612
  "description",
@@ -617,7 +615,9 @@
617
615
  "assignee",
618
616
  "customerEmail"
619
617
  ],
620
- "title": "View Ticket"
618
+ "title": "View Ticket",
619
+ "icon": "eye",
620
+ "mode": "edit"
621
621
  },
622
622
  "events": {
623
623
  "OPEN": "VIEW"
@@ -639,13 +639,13 @@
639
639
  "linkedEntity": "Ticket",
640
640
  "config": {
641
641
  "alertMessage": "This action cannot be undone.",
642
+ "icon": "alert-triangle",
642
643
  "confirmLabel": "Delete",
643
- "title": "Delete Ticket",
644
- "icon": "alert-triangle"
644
+ "title": "Delete Ticket"
645
645
  },
646
646
  "events": {
647
- "CONFIRM": "CONFIRM_DELETE",
648
- "REQUEST": "DELETE"
647
+ "REQUEST": "DELETE",
648
+ "CONFIRM": "CONFIRM_DELETE"
649
649
  },
650
650
  "listens": [
651
651
  {
@@ -956,11 +956,15 @@
956
956
  "name": "TicketReplyAppLayout",
957
957
  "linkedEntity": "TicketReply",
958
958
  "config": {
959
+ "notificationClickEvent": "TICKET_REPLY_NOTIFICATIONS_OPEN",
960
+ "appName": "Helpdesk",
961
+ "searchEvent": "TICKET_REPLY_SEARCH",
962
+ "contentTrait": "@trait.TicketReplyBrowse",
959
963
  "navItems": [
960
964
  {
961
- "icon": "inbox",
965
+ "href": "/tickets",
962
966
  "label": "Tickets",
963
- "href": "/tickets"
967
+ "icon": "inbox"
964
968
  },
965
969
  {
966
970
  "icon": "message-circle",
@@ -969,19 +973,15 @@
969
973
  },
970
974
  {
971
975
  "label": "Metrics",
972
- "icon": "layout-list",
973
- "href": "/metrics"
976
+ "href": "/metrics",
977
+ "icon": "layout-list"
974
978
  }
975
979
  ],
976
- "searchEvent": "TICKET_REPLY_SEARCH",
977
- "notifications": [],
978
- "contentTrait": "@trait.TicketReplyBrowse",
979
- "appName": "Helpdesk",
980
- "notificationClickEvent": "TICKET_REPLY_NOTIFICATIONS_OPEN"
980
+ "notifications": []
981
981
  },
982
982
  "events": {
983
- "NOTIFY_CLICK": "TICKET_REPLY_NOTIFICATIONS_OPEN",
984
- "SEARCH": "TICKET_REPLY_SEARCH"
983
+ "SEARCH": "TICKET_REPLY_SEARCH",
984
+ "NOTIFY_CLICK": "TICKET_REPLY_NOTIFICATIONS_OPEN"
985
985
  }
986
986
  },
987
987
  {
@@ -1097,22 +1097,22 @@
1097
1097
  "render-ui",
1098
1098
  "main",
1099
1099
  {
1100
- "align": "center",
1100
+ "gap": "md",
1101
1101
  "className": "py-12",
1102
+ "direction": "vertical",
1103
+ "align": "center",
1104
+ "type": "stack",
1102
1105
  "children": [
1103
1106
  {
1104
1107
  "type": "spinner"
1105
1108
  },
1106
1109
  {
1107
- "variant": "caption",
1108
1110
  "type": "typography",
1109
- "content": "Loading…",
1110
- "color": "muted"
1111
+ "color": "muted",
1112
+ "variant": "caption",
1113
+ "content": "Loading…"
1111
1114
  }
1112
- ],
1113
- "direction": "vertical",
1114
- "type": "stack",
1115
- "gap": "md"
1115
+ ]
1116
1116
  }
1117
1117
  ]
1118
1118
  ]
@@ -1126,21 +1126,21 @@
1126
1126
  "render-ui",
1127
1127
  "main",
1128
1128
  {
1129
+ "gap": "lg",
1129
1130
  "children": [
1130
1131
  {
1131
- "gap": "md",
1132
- "align": "center",
1133
1132
  "type": "stack",
1133
+ "align": "center",
1134
1134
  "direction": "horizontal",
1135
+ "gap": "md",
1135
1136
  "children": [
1136
1137
  {
1137
- "direction": "horizontal",
1138
- "align": "center",
1139
1138
  "type": "stack",
1139
+ "direction": "horizontal",
1140
1140
  "children": [
1141
1141
  {
1142
- "name": "message-circle",
1143
- "type": "icon"
1142
+ "type": "icon",
1143
+ "name": "message-circle"
1144
1144
  },
1145
1145
  {
1146
1146
  "type": "typography",
@@ -1148,14 +1148,15 @@
1148
1148
  "variant": "h2"
1149
1149
  }
1150
1150
  ],
1151
- "gap": "sm"
1151
+ "gap": "sm",
1152
+ "align": "center"
1152
1153
  },
1153
1154
  {
1154
- "type": "button",
1155
+ "action": "CREATE",
1155
1156
  "label": "Compose",
1156
- "icon": "edit",
1157
+ "type": "button",
1157
1158
  "variant": "primary",
1158
- "action": "CREATE"
1159
+ "icon": "edit"
1159
1160
  }
1160
1161
  ],
1161
1162
  "justify": "between"
@@ -1168,32 +1169,31 @@
1168
1169
  "type": "divider"
1169
1170
  },
1170
1171
  {
1172
+ "entity": "@payload.data",
1171
1173
  "gap": "sm",
1172
- "type": "data-list",
1173
1174
  "fields": [
1174
1175
  {
1175
- "variant": "h4",
1176
+ "icon": "message-circle",
1176
1177
  "name": "author",
1177
- "icon": "message-circle"
1178
+ "variant": "h4"
1178
1179
  },
1179
1180
  {
1180
1181
  "variant": "body",
1181
1182
  "name": "body"
1182
1183
  },
1183
1184
  {
1184
- "name": "createdAt",
1185
1185
  "variant": "caption",
1186
- "format": "date"
1186
+ "format": "date",
1187
+ "name": "createdAt"
1187
1188
  }
1188
1189
  ],
1189
- "entity": "@payload.data",
1190
- "variant": "card"
1190
+ "variant": "card",
1191
+ "type": "data-list"
1191
1192
  }
1192
1193
  ],
1194
+ "className": "max-w-5xl mx-auto w-full",
1193
1195
  "type": "stack",
1194
- "direction": "vertical",
1195
- "gap": "lg",
1196
- "className": "max-w-5xl mx-auto w-full"
1196
+ "direction": "vertical"
1197
1197
  }
1198
1198
  ]
1199
1199
  ]
@@ -1207,7 +1207,6 @@
1207
1207
  "render-ui",
1208
1208
  "main",
1209
1209
  {
1210
- "className": "py-12",
1211
1210
  "children": [
1212
1211
  {
1213
1212
  "name": "alert-triangle",
@@ -1215,28 +1214,29 @@
1215
1214
  "type": "icon"
1216
1215
  },
1217
1216
  {
1218
- "variant": "h3",
1217
+ "content": "Failed to load replies",
1219
1218
  "type": "typography",
1220
- "content": "Failed to load replies"
1219
+ "variant": "h3"
1221
1220
  },
1222
1221
  {
1223
- "content": "@payload.error",
1222
+ "variant": "body",
1224
1223
  "type": "typography",
1225
- "color": "muted",
1226
- "variant": "body"
1224
+ "content": "@payload.error",
1225
+ "color": "muted"
1227
1226
  },
1228
1227
  {
1229
1228
  "label": "Retry",
1230
- "variant": "primary",
1231
- "icon": "rotate-ccw",
1229
+ "action": "INIT",
1232
1230
  "type": "button",
1233
- "action": "INIT"
1231
+ "variant": "primary",
1232
+ "icon": "rotate-ccw"
1234
1233
  }
1235
1234
  ],
1236
1235
  "direction": "vertical",
1237
- "type": "stack",
1236
+ "align": "center",
1238
1237
  "gap": "md",
1239
- "align": "center"
1238
+ "className": "py-12",
1239
+ "type": "stack"
1240
1240
  }
1241
1241
  ]
1242
1242
  ]
@@ -1302,39 +1302,39 @@
1302
1302
  "main",
1303
1303
  {
1304
1304
  "direction": "vertical",
1305
- "type": "stack",
1306
1305
  "gap": "md",
1306
+ "type": "stack",
1307
1307
  "children": [
1308
1308
  {
1309
- "content": "New reply",
1309
+ "variant": "h3",
1310
1310
  "type": "typography",
1311
- "variant": "h3"
1311
+ "content": "New reply"
1312
1312
  },
1313
1313
  {
1314
1314
  "type": "textarea",
1315
1315
  "placeholder": "Write your reply…"
1316
1316
  },
1317
1317
  {
1318
- "direction": "horizontal",
1319
- "justify": "end",
1320
1318
  "type": "stack",
1319
+ "direction": "horizontal",
1320
+ "gap": "sm",
1321
1321
  "children": [
1322
1322
  {
1323
- "icon": "save",
1324
1323
  "type": "button",
1325
1324
  "label": "Save Draft",
1325
+ "icon": "save",
1326
1326
  "action": "CREATE",
1327
1327
  "variant": "ghost"
1328
1328
  },
1329
1329
  {
1330
- "type": "button",
1331
1330
  "label": "Send Reply",
1332
- "icon": "send",
1333
1331
  "variant": "primary",
1334
- "action": "SEND"
1332
+ "action": "SEND",
1333
+ "icon": "send",
1334
+ "type": "button"
1335
1335
  }
1336
1336
  ],
1337
- "gap": "sm"
1337
+ "justify": "end"
1338
1338
  }
1339
1339
  ]
1340
1340
  }
@@ -1350,8 +1350,6 @@
1350
1350
  "name": "TicketReplyCreate",
1351
1351
  "linkedEntity": "TicketReply",
1352
1352
  "config": {
1353
- "mode": "create",
1354
- "title": "New Reply",
1355
1353
  "fields": [
1356
1354
  "ticketId",
1357
1355
  "body",
@@ -1359,7 +1357,9 @@
1359
1357
  "customerEmail",
1360
1358
  "subject"
1361
1359
  ],
1362
- "icon": "message-circle"
1360
+ "icon": "message-circle",
1361
+ "mode": "create",
1362
+ "title": "New Reply"
1363
1363
  },
1364
1364
  "events": {
1365
1365
  "OPEN": "CREATE"
@@ -1388,10 +1388,10 @@
1388
1388
  "name": "TicketReplyEmail",
1389
1389
  "config": {
1390
1390
  "recipient": "",
1391
+ "sender": "support@example.com",
1391
1392
  "uiTrait": "@trait.TicketReplyComposerForm",
1392
- "body": "",
1393
1393
  "subject": "Re: your ticket",
1394
- "sender": "support@example.com"
1394
+ "body": ""
1395
1395
  },
1396
1396
  "listens": [
1397
1397
  {
@@ -1579,28 +1579,28 @@
1579
1579
  "name": "SupportMetricsAppLayout",
1580
1580
  "linkedEntity": "SupportMetric",
1581
1581
  "config": {
1582
- "searchEvent": "SUPPORT_METRICS_SEARCH",
1583
- "notifications": [],
1584
- "notificationClickEvent": "SUPPORT_METRICS_NOTIFICATIONS_OPEN",
1585
- "appName": "Helpdesk",
1586
1582
  "contentTrait": "@trait.SupportMetricsDisplay",
1583
+ "appName": "Helpdesk",
1584
+ "notifications": [],
1587
1585
  "navItems": [
1588
1586
  {
1589
1587
  "icon": "inbox",
1590
- "label": "Tickets",
1591
- "href": "/tickets"
1588
+ "href": "/tickets",
1589
+ "label": "Tickets"
1592
1590
  },
1593
1591
  {
1592
+ "label": "Replies",
1594
1593
  "href": "/replies",
1595
- "icon": "message-circle",
1596
- "label": "Replies"
1594
+ "icon": "message-circle"
1597
1595
  },
1598
1596
  {
1599
1597
  "href": "/metrics",
1600
1598
  "icon": "layout-list",
1601
1599
  "label": "Metrics"
1602
1600
  }
1603
- ]
1601
+ ],
1602
+ "notificationClickEvent": "SUPPORT_METRICS_NOTIFICATIONS_OPEN",
1603
+ "searchEvent": "SUPPORT_METRICS_SEARCH"
1604
1604
  },
1605
1605
  "events": {
1606
1606
  "SEARCH": "SUPPORT_METRICS_SEARCH",
@@ -1612,30 +1612,30 @@
1612
1612
  "name": "SupportMetricsBrowse",
1613
1613
  "linkedEntity": "SupportMetric",
1614
1614
  "config": {
1615
+ "displayPageSize": 5.0,
1615
1616
  "pageSize": 100.0,
1616
1617
  "fields": [
1617
1618
  {
1618
- "variant": "h4",
1619
+ "name": "name",
1619
1620
  "label": "Name",
1620
- "name": "name"
1621
+ "variant": "h4"
1621
1622
  },
1622
1623
  {
1623
- "variant": "caption",
1624
1624
  "name": "category",
1625
- "label": "Category"
1625
+ "label": "Category",
1626
+ "variant": "caption"
1626
1627
  },
1627
1628
  {
1628
- "label": "Status",
1629
1629
  "variant": "badge",
1630
- "name": "status"
1630
+ "name": "status",
1631
+ "label": "Status"
1631
1632
  },
1632
1633
  {
1633
- "name": "priority",
1634
1634
  "label": "Priority",
1635
+ "name": "priority",
1635
1636
  "variant": "badge"
1636
1637
  }
1637
- ],
1638
- "displayPageSize": 5.0
1638
+ ]
1639
1639
  }
1640
1640
  },
1641
1641
  {
@@ -1664,38 +1664,38 @@
1664
1664
  "render-ui",
1665
1665
  "main",
1666
1666
  {
1667
- "className": "max-w-6xl mx-auto w-full p-4",
1668
- "direction": "vertical",
1669
- "gap": "lg",
1670
1667
  "type": "stack",
1668
+ "className": "max-w-6xl mx-auto w-full p-4",
1671
1669
  "children": [
1672
1670
  {
1673
- "gap": "sm",
1674
- "direction": "horizontal",
1675
- "type": "stack",
1676
1671
  "align": "center",
1672
+ "type": "stack",
1677
1673
  "children": [
1678
1674
  {
1679
- "name": "activity",
1680
- "type": "icon"
1675
+ "type": "icon",
1676
+ "name": "activity"
1681
1677
  },
1682
1678
  {
1683
- "type": "typography",
1684
1679
  "variant": "h2",
1685
- "content": "Support Metrics"
1680
+ "content": "Support Metrics",
1681
+ "type": "typography"
1686
1682
  }
1687
- ]
1683
+ ],
1684
+ "gap": "sm",
1685
+ "direction": "horizontal"
1688
1686
  },
1689
1687
  {
1690
1688
  "type": "divider"
1691
1689
  },
1692
1690
  {
1693
- "type": "typography",
1694
1691
  "variant": "h3",
1692
+ "type": "typography",
1695
1693
  "content": "Recent"
1696
1694
  },
1697
1695
  "@trait.SupportMetricsBrowse"
1698
- ]
1696
+ ],
1697
+ "direction": "vertical",
1698
+ "gap": "lg"
1699
1699
  }
1700
1700
  ]
1701
1701
  ]