@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
@@ -112,7 +112,9 @@
112
112
  "ref": "AppShell.traits.AppLayout",
113
113
  "name": "PlanAppLayout",
114
114
  "config": {
115
- "searchEvent": "PLAN_SEARCH",
115
+ "appName": "Subscription Billing",
116
+ "notifications": [],
117
+ "contentTrait": "@trait.PlanCatalog",
116
118
  "navItems": [
117
119
  {
118
120
  "label": "Plans",
@@ -120,20 +122,18 @@
120
122
  "icon": "credit-card"
121
123
  },
122
124
  {
125
+ "icon": "receipt",
123
126
  "label": "Invoices",
124
- "href": "/invoices",
125
- "icon": "receipt"
127
+ "href": "/invoices"
126
128
  },
127
129
  {
128
- "icon": "alert-triangle",
129
130
  "label": "Dunning",
130
- "href": "/dunning"
131
+ "href": "/dunning",
132
+ "icon": "alert-triangle"
131
133
  }
132
134
  ],
133
- "appName": "Subscription Billing",
134
- "notifications": [],
135
- "notificationClickEvent": "PLAN_NOTIFICATIONS_OPEN",
136
- "contentTrait": "@trait.PlanCatalog"
135
+ "searchEvent": "PLAN_SEARCH",
136
+ "notificationClickEvent": "PLAN_NOTIFICATIONS_OPEN"
137
137
  },
138
138
  "events": {
139
139
  "SEARCH": "PLAN_SEARCH",
@@ -220,20 +220,19 @@
220
220
  "render-ui",
221
221
  "main",
222
222
  {
223
- "type": "stack",
224
223
  "gap": "lg",
225
224
  "children": [
226
225
  {
227
- "type": "stack",
228
226
  "direction": "horizontal",
227
+ "type": "stack",
229
228
  "gap": "md",
230
- "justify": "between",
231
229
  "align": "center",
232
230
  "children": [
233
231
  {
234
232
  "gap": "sm",
235
- "type": "stack",
236
233
  "direction": "horizontal",
234
+ "align": "center",
235
+ "type": "stack",
237
236
  "children": [
238
237
  {
239
238
  "type": "icon",
@@ -244,37 +243,37 @@
244
243
  "content": "Plans",
245
244
  "variant": "h2"
246
245
  }
247
- ],
248
- "align": "center"
246
+ ]
249
247
  },
250
248
  {
251
- "direction": "horizontal",
252
249
  "gap": "sm",
253
250
  "type": "stack",
251
+ "direction": "horizontal",
254
252
  "children": [
255
253
  {
256
254
  "type": "button",
257
- "label": "New Plan",
258
- "variant": "primary",
259
255
  "icon": "plus",
256
+ "variant": "primary",
257
+ "label": "New Plan",
260
258
  "action": "CREATE"
261
259
  }
262
260
  ]
263
261
  }
264
- ]
262
+ ],
263
+ "justify": "between"
265
264
  },
266
265
  {
267
266
  "type": "divider"
268
267
  },
269
268
  {
269
+ "align": "center",
270
+ "type": "stack",
271
+ "gap": "md",
270
272
  "children": [
271
273
  "@trait.PlanSearch",
272
274
  "@trait.PlanFilter"
273
275
  ],
274
- "type": "stack",
275
- "gap": "md",
276
- "direction": "horizontal",
277
- "align": "center"
276
+ "direction": "horizontal"
278
277
  },
279
278
  "@trait.PlanStats",
280
279
  "@trait.PlanGraphs",
@@ -296,11 +295,12 @@
296
295
  },
297
296
  {
298
297
  "variant": "h3",
299
- "type": "typography",
300
- "content": "Trials"
298
+ "content": "Trials",
299
+ "type": "typography"
301
300
  },
302
301
  "@trait.PlanTrialManage"
303
302
  ],
303
+ "type": "stack",
304
304
  "direction": "vertical"
305
305
  }
306
306
  ]
@@ -320,34 +320,34 @@
320
320
  "render-ui",
321
321
  "main",
322
322
  {
323
- "className": "py-8",
324
323
  "type": "stack",
325
- "gap": "md",
326
324
  "direction": "vertical",
327
- "align": "center",
328
325
  "children": [
329
326
  {
330
- "type": "icon",
331
- "name": "bell"
327
+ "name": "bell",
328
+ "type": "icon"
332
329
  },
333
330
  {
331
+ "content": "No notifications",
334
332
  "type": "typography",
335
- "variant": "h3",
336
- "content": "No notifications"
333
+ "variant": "h3"
337
334
  },
338
335
  {
339
- "type": "typography",
340
336
  "variant": "caption",
341
- "content": "You're all caught up.",
342
- "color": "muted"
337
+ "type": "typography",
338
+ "color": "muted",
339
+ "content": "You're all caught up."
343
340
  },
344
341
  {
345
342
  "type": "button",
346
- "action": "INIT",
343
+ "label": "Back to plans",
347
344
  "variant": "ghost",
348
- "label": "Back to plans"
345
+ "action": "INIT"
349
346
  }
350
- ]
347
+ ],
348
+ "className": "py-8",
349
+ "align": "center",
350
+ "gap": "md"
351
351
  }
352
352
  ]
353
353
  ]
@@ -360,20 +360,19 @@
360
360
  "ref": "Search.traits.SearchResultSearch",
361
361
  "name": "PlanSearch",
362
362
  "config": {
363
- "event": "PLAN_SEARCH",
364
- "placeholder": "Search plans…"
363
+ "placeholder": "Search plans…",
364
+ "event": "PLAN_SEARCH"
365
365
  }
366
366
  },
367
367
  {
368
368
  "ref": "Filter.traits.FilterTargetFilter",
369
369
  "name": "PlanFilter",
370
370
  "config": {
371
- "event": "PLAN_FILTER",
372
371
  "filters": [
373
372
  {
373
+ "label": "Interval",
374
374
  "filterType": "select",
375
375
  "field": "interval",
376
- "label": "Interval",
377
376
  "options": [
378
377
  "monthly",
379
378
  "yearly"
@@ -381,14 +380,15 @@
381
380
  },
382
381
  {
383
382
  "label": "Status",
383
+ "filterType": "select",
384
384
  "options": [
385
385
  "active",
386
386
  "archived"
387
387
  ],
388
- "field": "status",
389
- "filterType": "select"
388
+ "field": "status"
390
389
  }
391
- ]
390
+ ],
391
+ "event": "PLAN_FILTER"
392
392
  }
393
393
  },
394
394
  {
@@ -397,14 +397,18 @@
397
397
  "config": {
398
398
  "metrics": [
399
399
  {
400
- "aggregation": "count",
401
- "format": "number",
402
400
  "label": "Total",
403
- "icon": "credit-card",
404
- "variant": "primary"
401
+ "variant": "primary",
402
+ "format": "number",
403
+ "aggregation": "count",
404
+ "icon": "credit-card"
405
405
  },
406
406
  {
407
+ "label": "Active",
408
+ "aggregation": "count",
409
+ "format": "number",
407
410
  "icon": "check-circle",
411
+ "variant": "success",
408
412
  "filter": [
409
413
  "fn",
410
414
  "row",
@@ -413,16 +417,12 @@
413
417
  "@row.status",
414
418
  "active"
415
419
  ]
416
- ],
417
- "label": "Active",
418
- "aggregation": "count",
419
- "variant": "success",
420
- "format": "number"
420
+ ]
421
421
  },
422
422
  {
423
+ "label": "Archived",
423
424
  "variant": "warning",
424
- "aggregation": "count",
425
- "format": "number",
425
+ "icon": "archive",
426
426
  "filter": [
427
427
  "fn",
428
428
  "row",
@@ -432,8 +432,8 @@
432
432
  "archived"
433
433
  ]
434
434
  ],
435
- "label": "Archived",
436
- "icon": "archive"
435
+ "aggregation": "count",
436
+ "format": "number"
437
437
  }
438
438
  ],
439
439
  "title": "Plans"
@@ -453,13 +453,13 @@
453
453
  "ref": "Graphs.traits.GraphItemGraph",
454
454
  "name": "PlanGraphs",
455
455
  "config": {
456
+ "chartType": "bar",
456
457
  "categoryField": "interval",
457
- "title": "Plans by Interval",
458
458
  "height": 240.0,
459
+ "showLegend": false,
459
460
  "subtitle": "Monthly vs yearly distribution",
460
- "chartType": "bar",
461
461
  "aggregation": "count",
462
- "showLegend": false
462
+ "title": "Plans by Interval"
463
463
  },
464
464
  "listens": [
465
465
  {
@@ -477,19 +477,38 @@
477
477
  "name": "PlanBrowseList",
478
478
  "linkedEntity": "Plan",
479
479
  "config": {
480
+ "gap": "sm",
481
+ "itemActions": [
482
+ {
483
+ "label": "View",
484
+ "event": "VIEW",
485
+ "variant": "ghost"
486
+ },
487
+ {
488
+ "label": "Edit",
489
+ "event": "EDIT",
490
+ "variant": "ghost"
491
+ },
492
+ {
493
+ "label": "Delete",
494
+ "event": "DELETE",
495
+ "variant": "danger"
496
+ }
497
+ ],
498
+ "cols": 1.0,
480
499
  "fields": [
481
500
  {
482
- "name": "name",
501
+ "variant": "h3",
483
502
  "icon": "credit-card",
484
- "variant": "h3"
503
+ "name": "name"
485
504
  },
486
505
  {
487
506
  "name": "description",
488
507
  "variant": "caption"
489
508
  },
490
509
  {
491
- "name": "interval",
492
- "variant": "badge"
510
+ "variant": "badge",
511
+ "name": "interval"
493
512
  },
494
513
  {
495
514
  "variant": "body",
@@ -500,29 +519,10 @@
500
519
  "variant": "badge"
501
520
  },
502
521
  {
503
- "name": "status",
504
- "variant": "badge"
505
- }
506
- ],
507
- "gap": "sm",
508
- "itemActions": [
509
- {
510
- "variant": "ghost",
511
- "label": "View",
512
- "event": "VIEW"
513
- },
514
- {
515
- "label": "Edit",
516
- "event": "EDIT",
517
- "variant": "ghost"
518
- },
519
- {
520
- "variant": "danger",
521
- "label": "Delete",
522
- "event": "DELETE"
522
+ "variant": "badge",
523
+ "name": "status"
523
524
  }
524
- ],
525
- "cols": 1.0
525
+ ]
526
526
  },
527
527
  "listens": [
528
528
  {
@@ -572,8 +572,9 @@
572
572
  "name": "PlanCreate",
573
573
  "linkedEntity": "Plan",
574
574
  "config": {
575
- "mode": "create",
576
575
  "title": "New Plan",
576
+ "icon": "plus-circle",
577
+ "mode": "create",
577
578
  "fields": [
578
579
  "name",
579
580
  "description",
@@ -582,8 +583,7 @@
582
583
  "currency",
583
584
  "trialDays",
584
585
  "status"
585
- ],
586
- "icon": "plus-circle"
586
+ ]
587
587
  },
588
588
  "events": {
589
589
  "OPEN": "CREATE"
@@ -636,8 +636,7 @@
636
636
  "name": "PlanView",
637
637
  "linkedEntity": "Plan",
638
638
  "config": {
639
- "mode": "edit",
640
- "title": "View Plan",
639
+ "icon": "eye",
641
640
  "fields": [
642
641
  "name",
643
642
  "description",
@@ -647,7 +646,8 @@
647
646
  "trialDays",
648
647
  "status"
649
648
  ],
650
- "icon": "eye"
649
+ "title": "View Plan",
650
+ "mode": "edit"
651
651
  },
652
652
  "events": {
653
653
  "OPEN": "VIEW"
@@ -668,8 +668,8 @@
668
668
  "name": "PlanDelete",
669
669
  "linkedEntity": "Plan",
670
670
  "config": {
671
- "icon": "alert-triangle",
672
671
  "title": "Delete Plan",
672
+ "icon": "alert-triangle",
673
673
  "alertMessage": "This action cannot be undone.",
674
674
  "confirmLabel": "Delete"
675
675
  },
@@ -999,19 +999,17 @@
999
999
  {
1000
1000
  "ref": "AppShell.traits.AppLayout",
1001
1001
  "name": "InvoiceAppLayout",
1002
- "linkedEntity": "InvoiceNote",
1003
1002
  "config": {
1004
- "contentTrait": "@trait.InvoiceCatalog",
1005
1003
  "navItems": [
1006
1004
  {
1005
+ "label": "Plans",
1007
1006
  "icon": "credit-card",
1008
- "href": "/plans",
1009
- "label": "Plans"
1007
+ "href": "/plans"
1010
1008
  },
1011
1009
  {
1012
- "icon": "receipt",
1010
+ "href": "/invoices",
1013
1011
  "label": "Invoices",
1014
- "href": "/invoices"
1012
+ "icon": "receipt"
1015
1013
  },
1016
1014
  {
1017
1015
  "href": "/dunning",
@@ -1022,11 +1020,12 @@
1022
1020
  "notifications": [],
1023
1021
  "notificationClickEvent": "INVOICE_NOTIFICATIONS_OPEN",
1024
1022
  "appName": "Subscription Billing",
1025
- "searchEvent": "INVOICE_SEARCH"
1023
+ "searchEvent": "INVOICE_SEARCH",
1024
+ "contentTrait": "@trait.InvoiceCatalog"
1026
1025
  },
1027
1026
  "events": {
1028
- "NOTIFY_CLICK": "INVOICE_NOTIFICATIONS_OPEN",
1029
- "SEARCH": "INVOICE_SEARCH"
1027
+ "SEARCH": "INVOICE_SEARCH",
1028
+ "NOTIFY_CLICK": "INVOICE_NOTIFICATIONS_OPEN"
1030
1029
  }
1031
1030
  },
1032
1031
  {
@@ -1109,13 +1108,20 @@
1109
1108
  "render-ui",
1110
1109
  "main",
1111
1110
  {
1111
+ "direction": "vertical",
1112
1112
  "gap": "lg",
1113
1113
  "type": "stack",
1114
1114
  "children": [
1115
1115
  {
1116
+ "gap": "md",
1117
+ "type": "stack",
1118
+ "align": "center",
1119
+ "justify": "between",
1120
+ "direction": "horizontal",
1116
1121
  "children": [
1117
1122
  {
1118
1123
  "gap": "sm",
1124
+ "type": "stack",
1119
1125
  "align": "center",
1120
1126
  "children": [
1121
1127
  {
@@ -1124,33 +1130,27 @@
1124
1130
  },
1125
1131
  {
1126
1132
  "type": "typography",
1127
- "content": "Invoices",
1128
- "variant": "h2"
1133
+ "variant": "h2",
1134
+ "content": "Invoices"
1129
1135
  }
1130
1136
  ],
1131
- "direction": "horizontal",
1132
- "type": "stack"
1137
+ "direction": "horizontal"
1133
1138
  },
1134
1139
  {
1135
- "direction": "horizontal",
1136
1140
  "type": "stack",
1137
1141
  "gap": "sm",
1138
1142
  "children": [
1139
1143
  {
1140
- "type": "button",
1141
1144
  "variant": "primary",
1142
- "label": "Add Note",
1145
+ "type": "button",
1143
1146
  "icon": "plus",
1144
- "action": "CREATE"
1147
+ "action": "CREATE",
1148
+ "label": "Add Note"
1145
1149
  }
1146
- ]
1150
+ ],
1151
+ "direction": "horizontal"
1147
1152
  }
1148
- ],
1149
- "direction": "horizontal",
1150
- "gap": "md",
1151
- "type": "stack",
1152
- "justify": "between",
1153
- "align": "center"
1153
+ ]
1154
1154
  },
1155
1155
  {
1156
1156
  "type": "divider"
@@ -1160,13 +1160,12 @@
1160
1160
  "type": "divider"
1161
1161
  },
1162
1162
  {
1163
+ "variant": "h3",
1163
1164
  "type": "typography",
1164
- "content": "Recent Notes",
1165
- "variant": "h3"
1165
+ "content": "Recent Notes"
1166
1166
  },
1167
1167
  "@trait.InvoiceNoteBrowseList"
1168
- ],
1169
- "direction": "vertical"
1168
+ ]
1170
1169
  }
1171
1170
  ]
1172
1171
  ]
@@ -1185,34 +1184,34 @@
1185
1184
  "render-ui",
1186
1185
  "main",
1187
1186
  {
1188
- "type": "stack",
1189
1187
  "className": "py-8",
1190
- "direction": "vertical",
1191
- "align": "center",
1192
1188
  "children": [
1193
1189
  {
1194
1190
  "name": "bell",
1195
1191
  "type": "icon"
1196
1192
  },
1197
1193
  {
1198
- "type": "typography",
1194
+ "variant": "h3",
1199
1195
  "content": "No notifications",
1200
- "variant": "h3"
1196
+ "type": "typography"
1201
1197
  },
1202
1198
  {
1203
- "color": "muted",
1204
- "variant": "caption",
1205
1199
  "type": "typography",
1206
- "content": "You're all caught up."
1200
+ "variant": "caption",
1201
+ "content": "You're all caught up.",
1202
+ "color": "muted"
1207
1203
  },
1208
1204
  {
1209
- "variant": "ghost",
1210
- "label": "Back to invoices",
1211
1205
  "action": "INIT",
1212
- "type": "button"
1206
+ "type": "button",
1207
+ "variant": "ghost",
1208
+ "label": "Back to invoices"
1213
1209
  }
1214
1210
  ],
1215
- "gap": "md"
1211
+ "gap": "md",
1212
+ "direction": "vertical",
1213
+ "align": "center",
1214
+ "type": "stack"
1216
1215
  }
1217
1216
  ]
1218
1217
  ]
@@ -1225,8 +1224,8 @@
1225
1224
  "ref": "Inv.traits.InvoiceManage",
1226
1225
  "name": "InvoiceManageBlock",
1227
1226
  "config": {
1228
- "refundTiersJson": "[]",
1229
- "title": "Invoices"
1227
+ "title": "Invoices",
1228
+ "refundTiersJson": "[]"
1230
1229
  }
1231
1230
  },
1232
1231
  {
@@ -1234,33 +1233,33 @@
1234
1233
  "name": "InvoiceNoteBrowseList",
1235
1234
  "linkedEntity": "InvoiceNote",
1236
1235
  "config": {
1237
- "cols": 1.0,
1238
- "itemActions": [
1239
- {
1240
- "label": "Delete",
1241
- "event": "DELETE",
1242
- "variant": "danger"
1243
- }
1244
- ],
1245
1236
  "fields": [
1246
1237
  {
1238
+ "icon": "receipt",
1247
1239
  "name": "invoiceId",
1248
- "variant": "h4",
1249
- "icon": "receipt"
1240
+ "variant": "h4"
1250
1241
  },
1251
1242
  {
1252
- "variant": "body",
1253
- "name": "body"
1243
+ "name": "body",
1244
+ "variant": "body"
1254
1245
  },
1255
1246
  {
1256
1247
  "name": "author",
1257
1248
  "variant": "caption"
1258
1249
  },
1259
1250
  {
1260
- "name": "createdAt",
1261
- "variant": "caption"
1251
+ "variant": "caption",
1252
+ "name": "createdAt"
1253
+ }
1254
+ ],
1255
+ "itemActions": [
1256
+ {
1257
+ "variant": "danger",
1258
+ "event": "DELETE",
1259
+ "label": "Delete"
1262
1260
  }
1263
1261
  ],
1262
+ "cols": 1.0,
1264
1263
  "gap": "sm"
1265
1264
  },
1266
1265
  "listens": [
@@ -1288,13 +1287,13 @@
1288
1287
  "linkedEntity": "InvoiceNote",
1289
1288
  "config": {
1290
1289
  "icon": "plus-circle",
1291
- "title": "New Note",
1292
- "mode": "create",
1293
1290
  "fields": [
1294
1291
  "invoiceId",
1295
1292
  "body",
1296
1293
  "author"
1297
- ]
1294
+ ],
1295
+ "mode": "create",
1296
+ "title": "New Note"
1298
1297
  },
1299
1298
  "events": {
1300
1299
  "OPEN": "CREATE"
@@ -1531,13 +1530,13 @@
1531
1530
  {
1532
1531
  "ref": "AppShell.traits.AppLayout",
1533
1532
  "name": "DunningAppLayout",
1534
- "linkedEntity": "DunningNote",
1535
1533
  "config": {
1534
+ "searchEvent": "DUNNING_SEARCH",
1536
1535
  "navItems": [
1537
1536
  {
1537
+ "icon": "credit-card",
1538
1538
  "label": "Plans",
1539
- "href": "/plans",
1540
- "icon": "credit-card"
1539
+ "href": "/plans"
1541
1540
  },
1542
1541
  {
1543
1542
  "label": "Invoices",
@@ -1545,16 +1544,15 @@
1545
1544
  "icon": "receipt"
1546
1545
  },
1547
1546
  {
1547
+ "icon": "alert-triangle",
1548
1548
  "label": "Dunning",
1549
- "href": "/dunning",
1550
- "icon": "alert-triangle"
1549
+ "href": "/dunning"
1551
1550
  }
1552
1551
  ],
1553
1552
  "notificationClickEvent": "DUNNING_NOTIFICATIONS_OPEN",
1554
1553
  "appName": "Subscription Billing",
1555
- "contentTrait": "@trait.DunningCatalog",
1556
- "searchEvent": "DUNNING_SEARCH",
1557
- "notifications": []
1554
+ "notifications": [],
1555
+ "contentTrait": "@trait.DunningCatalog"
1558
1556
  },
1559
1557
  "events": {
1560
1558
  "NOTIFY_CLICK": "DUNNING_NOTIFICATIONS_OPEN",
@@ -1641,47 +1639,48 @@
1641
1639
  "render-ui",
1642
1640
  "main",
1643
1641
  {
1644
- "type": "stack",
1642
+ "direction": "vertical",
1643
+ "gap": "lg",
1645
1644
  "children": [
1646
1645
  {
1647
1646
  "align": "center",
1647
+ "gap": "md",
1648
+ "type": "stack",
1648
1649
  "direction": "horizontal",
1650
+ "justify": "between",
1649
1651
  "children": [
1650
1652
  {
1653
+ "type": "stack",
1651
1654
  "children": [
1652
1655
  {
1653
- "type": "icon",
1654
- "name": "alert-triangle"
1656
+ "name": "alert-triangle",
1657
+ "type": "icon"
1655
1658
  },
1656
1659
  {
1657
- "type": "typography",
1658
1660
  "content": "Dunning",
1661
+ "type": "typography",
1659
1662
  "variant": "h2"
1660
1663
  }
1661
1664
  ],
1662
1665
  "direction": "horizontal",
1663
- "type": "stack",
1664
1666
  "align": "center",
1665
1667
  "gap": "sm"
1666
1668
  },
1667
1669
  {
1670
+ "gap": "sm",
1671
+ "type": "stack",
1672
+ "direction": "horizontal",
1668
1673
  "children": [
1669
1674
  {
1670
- "type": "button",
1675
+ "variant": "primary",
1671
1676
  "label": "Log Note",
1672
1677
  "action": "CREATE",
1673
- "variant": "primary",
1674
- "icon": "plus"
1678
+ "icon": "plus",
1679
+ "type": "button"
1675
1680
  }
1676
- ],
1677
- "gap": "sm",
1678
- "type": "stack",
1679
- "direction": "horizontal"
1681
+ ]
1680
1682
  }
1681
- ],
1682
- "justify": "between",
1683
- "type": "stack",
1684
- "gap": "md"
1683
+ ]
1685
1684
  },
1686
1685
  {
1687
1686
  "type": "divider"
@@ -1691,14 +1690,13 @@
1691
1690
  "type": "divider"
1692
1691
  },
1693
1692
  {
1693
+ "content": "Case Notes",
1694
1694
  "type": "typography",
1695
- "variant": "h3",
1696
- "content": "Case Notes"
1695
+ "variant": "h3"
1697
1696
  },
1698
1697
  "@trait.DunningNoteBrowseList"
1699
1698
  ],
1700
- "gap": "lg",
1701
- "direction": "vertical"
1699
+ "type": "stack"
1702
1700
  }
1703
1701
  ]
1704
1702
  ]
@@ -1717,10 +1715,6 @@
1717
1715
  "render-ui",
1718
1716
  "main",
1719
1717
  {
1720
- "direction": "vertical",
1721
- "gap": "md",
1722
- "align": "center",
1723
- "className": "py-8",
1724
1718
  "children": [
1725
1719
  {
1726
1720
  "type": "icon",
@@ -1728,23 +1722,27 @@
1728
1722
  },
1729
1723
  {
1730
1724
  "type": "typography",
1731
- "variant": "h3",
1732
- "content": "No notifications"
1725
+ "content": "No notifications",
1726
+ "variant": "h3"
1733
1727
  },
1734
1728
  {
1735
- "color": "muted",
1729
+ "variant": "caption",
1736
1730
  "content": "You're all caught up.",
1737
- "type": "typography",
1738
- "variant": "caption"
1731
+ "color": "muted",
1732
+ "type": "typography"
1739
1733
  },
1740
1734
  {
1741
- "variant": "ghost",
1742
- "action": "INIT",
1743
1735
  "label": "Back to dunning",
1744
- "type": "button"
1736
+ "type": "button",
1737
+ "variant": "ghost",
1738
+ "action": "INIT"
1745
1739
  }
1746
1740
  ],
1747
- "type": "stack"
1741
+ "direction": "vertical",
1742
+ "align": "center",
1743
+ "type": "stack",
1744
+ "className": "py-8",
1745
+ "gap": "md"
1748
1746
  }
1749
1747
  ]
1750
1748
  ]
@@ -1765,34 +1763,34 @@
1765
1763
  "name": "DunningNoteBrowseList",
1766
1764
  "linkedEntity": "DunningNote",
1767
1765
  "config": {
1768
- "gap": "sm",
1769
- "itemActions": [
1770
- {
1771
- "event": "DELETE",
1772
- "label": "Delete",
1773
- "variant": "danger"
1774
- }
1775
- ],
1776
- "cols": 1.0,
1777
1766
  "fields": [
1778
1767
  {
1779
- "variant": "h4",
1768
+ "name": "caseId",
1780
1769
  "icon": "alert-triangle",
1781
- "name": "caseId"
1770
+ "variant": "h4"
1782
1771
  },
1783
1772
  {
1784
- "variant": "body",
1785
- "name": "body"
1773
+ "name": "body",
1774
+ "variant": "body"
1786
1775
  },
1787
1776
  {
1788
1777
  "name": "author",
1789
1778
  "variant": "caption"
1790
1779
  },
1791
1780
  {
1792
- "variant": "caption",
1793
- "name": "createdAt"
1781
+ "name": "createdAt",
1782
+ "variant": "caption"
1794
1783
  }
1795
- ]
1784
+ ],
1785
+ "cols": 1.0,
1786
+ "itemActions": [
1787
+ {
1788
+ "variant": "danger",
1789
+ "event": "DELETE",
1790
+ "label": "Delete"
1791
+ }
1792
+ ],
1793
+ "gap": "sm"
1796
1794
  },
1797
1795
  "listens": [
1798
1796
  {
@@ -1818,14 +1816,14 @@
1818
1816
  "name": "DunningNoteCreate",
1819
1817
  "linkedEntity": "DunningNote",
1820
1818
  "config": {
1819
+ "mode": "create",
1821
1820
  "icon": "plus-circle",
1822
1821
  "title": "New Note",
1823
1822
  "fields": [
1824
1823
  "caseId",
1825
1824
  "body",
1826
1825
  "author"
1827
- ],
1828
- "mode": "create"
1826
+ ]
1829
1827
  },
1830
1828
  "events": {
1831
1829
  "OPEN": "CREATE"