@almadar/std 14.15.1 → 14.17.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 (121) 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 +72 -76
  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 +193 -65
  9. package/behaviors/registry/app/atoms/std-kitchen-display.orb +58 -58
  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 +49 -49
  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 +53 -53
  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 +48 -48
  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 +217 -217
  42. package/behaviors/registry/app/organisms/std-field-service.orb +190 -190
  43. package/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  44. package/behaviors/registry/app/organisms/std-forum.orb +141 -141
  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 +157 -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 +134 -134
  55. package/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  56. package/behaviors/registry/app/organisms/std-subscription-billing.orb +183 -183
  57. package/behaviors/registry/app/organisms/std-survey.orb +122 -122
  58. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  59. package/behaviors/registry/app/organisms/std-wiki.orb +144 -144
  60. package/dist/behaviors/behaviors-registry.json +1 -1
  61. package/dist/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  62. package/dist/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  63. package/dist/behaviors/registry/app/atoms/std-dunning.orb +72 -76
  64. package/dist/behaviors/registry/app/atoms/std-event.orb +62 -62
  65. package/dist/behaviors/registry/app/atoms/std-flag.orb +72 -72
  66. package/dist/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  67. package/dist/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  68. package/dist/behaviors/registry/app/atoms/std-invoice.orb +193 -65
  69. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +58 -58
  70. package/dist/behaviors/registry/app/atoms/std-menu.orb +44 -44
  71. package/dist/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  72. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  73. package/dist/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  74. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  75. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  76. package/dist/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  77. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  78. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  79. package/dist/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  80. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +49 -49
  81. package/dist/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  82. package/dist/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  83. package/dist/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  84. package/dist/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  85. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  86. package/dist/behaviors/registry/app/atoms/std-thread.orb +59 -59
  87. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +53 -53
  88. package/dist/behaviors/registry/app/atoms/std-trial.orb +67 -67
  89. package/dist/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  90. package/dist/behaviors/registry/app/atoms/std-vote.orb +40 -40
  91. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  92. package/dist/behaviors/registry/app/atoms/std-work-order.orb +48 -48
  93. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  94. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  95. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  96. package/dist/behaviors/registry/app/organisms/std-cms.orb +265 -265
  97. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  98. package/dist/behaviors/registry/app/organisms/std-crm.orb +258 -258
  99. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  100. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  101. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +217 -217
  102. package/dist/behaviors/registry/app/organisms/std-field-service.orb +190 -190
  103. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  104. package/dist/behaviors/registry/app/organisms/std-forum.orb +141 -141
  105. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  106. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  107. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  108. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  109. package/dist/behaviors/registry/app/organisms/std-listings.orb +157 -157
  110. package/dist/behaviors/registry/app/organisms/std-lms.orb +422 -422
  111. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  112. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  113. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  114. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +134 -134
  115. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  116. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +183 -183
  117. package/dist/behaviors/registry/app/organisms/std-survey.orb +122 -122
  118. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  119. package/dist/behaviors/registry/app/organisms/std-wiki.orb +144 -144
  120. package/dist/behaviors-registry.json +1 -1
  121. package/package.json +1 -1
@@ -112,17 +112,19 @@
112
112
  "ref": "AppShell.traits.AppLayout",
113
113
  "name": "PlanAppLayout",
114
114
  "config": {
115
+ "contentTrait": "@trait.PlanCatalog",
115
116
  "searchEvent": "PLAN_SEARCH",
117
+ "appName": "Subscription Billing",
116
118
  "navItems": [
117
119
  {
120
+ "icon": "credit-card",
118
121
  "label": "Plans",
119
- "href": "/plans",
120
- "icon": "credit-card"
122
+ "href": "/plans"
121
123
  },
122
124
  {
123
125
  "label": "Invoices",
124
- "href": "/invoices",
125
- "icon": "receipt"
126
+ "icon": "receipt",
127
+ "href": "/invoices"
126
128
  },
127
129
  {
128
130
  "icon": "alert-triangle",
@@ -130,14 +132,12 @@
130
132
  "href": "/dunning"
131
133
  }
132
134
  ],
133
- "appName": "Subscription Billing",
134
135
  "notifications": [],
135
- "notificationClickEvent": "PLAN_NOTIFICATIONS_OPEN",
136
- "contentTrait": "@trait.PlanCatalog"
136
+ "notificationClickEvent": "PLAN_NOTIFICATIONS_OPEN"
137
137
  },
138
138
  "events": {
139
- "SEARCH": "PLAN_SEARCH",
140
- "NOTIFY_CLICK": "PLAN_NOTIFICATIONS_OPEN"
139
+ "NOTIFY_CLICK": "PLAN_NOTIFICATIONS_OPEN",
140
+ "SEARCH": "PLAN_SEARCH"
141
141
  }
142
142
  },
143
143
  {
@@ -220,43 +220,41 @@
220
220
  "render-ui",
221
221
  "main",
222
222
  {
223
- "type": "stack",
224
- "gap": "lg",
225
223
  "children": [
226
224
  {
225
+ "justify": "between",
227
226
  "type": "stack",
228
- "direction": "horizontal",
229
227
  "gap": "md",
230
- "justify": "between",
231
228
  "align": "center",
229
+ "direction": "horizontal",
232
230
  "children": [
233
231
  {
234
232
  "gap": "sm",
235
233
  "type": "stack",
236
- "direction": "horizontal",
237
234
  "children": [
238
235
  {
239
236
  "type": "icon",
240
237
  "name": "credit-card"
241
238
  },
242
239
  {
240
+ "variant": "h2",
243
241
  "type": "typography",
244
- "content": "Plans",
245
- "variant": "h2"
242
+ "content": "Plans"
246
243
  }
247
244
  ],
248
- "align": "center"
245
+ "align": "center",
246
+ "direction": "horizontal"
249
247
  },
250
248
  {
251
- "direction": "horizontal",
252
- "gap": "sm",
253
249
  "type": "stack",
250
+ "gap": "sm",
251
+ "direction": "horizontal",
254
252
  "children": [
255
253
  {
256
- "type": "button",
257
- "label": "New Plan",
258
- "variant": "primary",
259
254
  "icon": "plus",
255
+ "variant": "primary",
256
+ "label": "New Plan",
257
+ "type": "button",
260
258
  "action": "CREATE"
261
259
  }
262
260
  ]
@@ -272,8 +270,8 @@
272
270
  "@trait.PlanFilter"
273
271
  ],
274
272
  "type": "stack",
275
- "gap": "md",
276
273
  "direction": "horizontal",
274
+ "gap": "md",
277
275
  "align": "center"
278
276
  },
279
277
  "@trait.PlanStats",
@@ -286,8 +284,8 @@
286
284
  "type": "divider"
287
285
  },
288
286
  {
289
- "variant": "h3",
290
287
  "type": "typography",
288
+ "variant": "h3",
291
289
  "content": "Active Subscriptions"
292
290
  },
293
291
  "@trait.PlanSubscriptionManage",
@@ -295,13 +293,15 @@
295
293
  "type": "divider"
296
294
  },
297
295
  {
298
- "variant": "h3",
296
+ "content": "Trials",
299
297
  "type": "typography",
300
- "content": "Trials"
298
+ "variant": "h3"
301
299
  },
302
300
  "@trait.PlanTrialManage"
303
301
  ],
304
- "direction": "vertical"
302
+ "direction": "vertical",
303
+ "type": "stack",
304
+ "gap": "lg"
305
305
  }
306
306
  ]
307
307
  ]
@@ -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
- "direction": "vertical",
327
324
  "align": "center",
325
+ "direction": "vertical",
326
+ "className": "py-8",
328
327
  "children": [
329
328
  {
330
329
  "type": "icon",
331
330
  "name": "bell"
332
331
  },
333
332
  {
334
- "type": "typography",
335
333
  "variant": "h3",
336
- "content": "No notifications"
334
+ "content": "No notifications",
335
+ "type": "typography"
337
336
  },
338
337
  {
339
- "type": "typography",
340
338
  "variant": "caption",
339
+ "color": "muted",
341
340
  "content": "You're all caught up.",
342
- "color": "muted"
341
+ "type": "typography"
343
342
  },
344
343
  {
345
- "type": "button",
346
344
  "action": "INIT",
345
+ "label": "Back to plans",
347
346
  "variant": "ghost",
348
- "label": "Back to plans"
347
+ "type": "button"
349
348
  }
350
- ]
349
+ ],
350
+ "gap": "md"
351
351
  }
352
352
  ]
353
353
  ]
@@ -360,8 +360,8 @@
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
  {
@@ -372,20 +372,20 @@
372
372
  "filters": [
373
373
  {
374
374
  "filterType": "select",
375
- "field": "interval",
376
375
  "label": "Interval",
376
+ "field": "interval",
377
377
  "options": [
378
378
  "monthly",
379
379
  "yearly"
380
380
  ]
381
381
  },
382
382
  {
383
- "label": "Status",
383
+ "field": "status",
384
384
  "options": [
385
385
  "active",
386
386
  "archived"
387
387
  ],
388
- "field": "status",
388
+ "label": "Status",
389
389
  "filterType": "select"
390
390
  }
391
391
  ]
@@ -397,14 +397,14 @@
397
397
  "config": {
398
398
  "metrics": [
399
399
  {
400
- "aggregation": "count",
400
+ "variant": "primary",
401
401
  "format": "number",
402
402
  "label": "Total",
403
- "icon": "credit-card",
404
- "variant": "primary"
403
+ "aggregation": "count",
404
+ "icon": "credit-card"
405
405
  },
406
406
  {
407
- "icon": "check-circle",
407
+ "format": "number",
408
408
  "filter": [
409
409
  "fn",
410
410
  "row",
@@ -414,15 +414,12 @@
414
414
  "active"
415
415
  ]
416
416
  ],
417
- "label": "Active",
418
- "aggregation": "count",
417
+ "icon": "check-circle",
419
418
  "variant": "success",
420
- "format": "number"
419
+ "aggregation": "count",
420
+ "label": "Active"
421
421
  },
422
422
  {
423
- "variant": "warning",
424
- "aggregation": "count",
425
- "format": "number",
426
423
  "filter": [
427
424
  "fn",
428
425
  "row",
@@ -433,7 +430,10 @@
433
430
  ]
434
431
  ],
435
432
  "label": "Archived",
436
- "icon": "archive"
433
+ "format": "number",
434
+ "aggregation": "count",
435
+ "icon": "archive",
436
+ "variant": "warning"
437
437
  }
438
438
  ],
439
439
  "title": "Plans"
@@ -453,12 +453,12 @@
453
453
  "ref": "Graphs.traits.GraphItemGraph",
454
454
  "name": "PlanGraphs",
455
455
  "config": {
456
- "categoryField": "interval",
457
- "title": "Plans by Interval",
458
- "height": 240.0,
459
456
  "subtitle": "Monthly vs yearly distribution",
460
457
  "chartType": "bar",
458
+ "categoryField": "interval",
461
459
  "aggregation": "count",
460
+ "height": 240.0,
461
+ "title": "Plans by Interval",
462
462
  "showLegend": false
463
463
  },
464
464
  "listens": [
@@ -477,10 +477,28 @@
477
477
  "name": "PlanBrowseList",
478
478
  "linkedEntity": "Plan",
479
479
  "config": {
480
+ "itemActions": [
481
+ {
482
+ "label": "View",
483
+ "event": "VIEW",
484
+ "variant": "ghost"
485
+ },
486
+ {
487
+ "variant": "ghost",
488
+ "event": "EDIT",
489
+ "label": "Edit"
490
+ },
491
+ {
492
+ "event": "DELETE",
493
+ "label": "Delete",
494
+ "variant": "danger"
495
+ }
496
+ ],
497
+ "cols": 1.0,
480
498
  "fields": [
481
499
  {
482
- "name": "name",
483
500
  "icon": "credit-card",
501
+ "name": "name",
484
502
  "variant": "h3"
485
503
  },
486
504
  {
@@ -488,41 +506,23 @@
488
506
  "variant": "caption"
489
507
  },
490
508
  {
491
- "name": "interval",
492
- "variant": "badge"
509
+ "variant": "badge",
510
+ "name": "interval"
493
511
  },
494
512
  {
495
513
  "variant": "body",
496
514
  "name": "amount"
497
515
  },
498
516
  {
499
- "name": "currency",
500
- "variant": "badge"
517
+ "variant": "badge",
518
+ "name": "currency"
501
519
  },
502
520
  {
503
521
  "name": "status",
504
522
  "variant": "badge"
505
523
  }
506
524
  ],
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"
523
- }
524
- ],
525
- "cols": 1.0
525
+ "gap": "sm"
526
526
  },
527
527
  "listens": [
528
528
  {
@@ -573,7 +573,6 @@
573
573
  "linkedEntity": "Plan",
574
574
  "config": {
575
575
  "mode": "create",
576
- "title": "New Plan",
577
576
  "fields": [
578
577
  "name",
579
578
  "description",
@@ -583,6 +582,7 @@
583
582
  "trialDays",
584
583
  "status"
585
584
  ],
585
+ "title": "New Plan",
586
586
  "icon": "plus-circle"
587
587
  },
588
588
  "events": {
@@ -605,7 +605,6 @@
605
605
  "linkedEntity": "Plan",
606
606
  "config": {
607
607
  "icon": "edit",
608
- "title": "Edit Plan",
609
608
  "mode": "edit",
610
609
  "fields": [
611
610
  "name",
@@ -615,7 +614,8 @@
615
614
  "currency",
616
615
  "trialDays",
617
616
  "status"
618
- ]
617
+ ],
618
+ "title": "Edit Plan"
619
619
  },
620
620
  "events": {
621
621
  "OPEN": "EDIT"
@@ -637,7 +637,6 @@
637
637
  "linkedEntity": "Plan",
638
638
  "config": {
639
639
  "mode": "edit",
640
- "title": "View Plan",
641
640
  "fields": [
642
641
  "name",
643
642
  "description",
@@ -647,6 +646,7 @@
647
646
  "trialDays",
648
647
  "status"
649
648
  ],
649
+ "title": "View Plan",
650
650
  "icon": "eye"
651
651
  },
652
652
  "events": {
@@ -668,9 +668,9 @@
668
668
  "name": "PlanDelete",
669
669
  "linkedEntity": "Plan",
670
670
  "config": {
671
+ "alertMessage": "This action cannot be undone.",
671
672
  "icon": "alert-triangle",
672
673
  "title": "Delete Plan",
673
- "alertMessage": "This action cannot be undone.",
674
674
  "confirmLabel": "Delete"
675
675
  },
676
676
  "events": {
@@ -1001,28 +1001,28 @@
1001
1001
  "name": "InvoiceAppLayout",
1002
1002
  "linkedEntity": "InvoiceNote",
1003
1003
  "config": {
1004
+ "appName": "Subscription Billing",
1005
+ "searchEvent": "INVOICE_SEARCH",
1004
1006
  "contentTrait": "@trait.InvoiceCatalog",
1005
1007
  "navItems": [
1006
1008
  {
1007
- "icon": "credit-card",
1008
1009
  "href": "/plans",
1010
+ "icon": "credit-card",
1009
1011
  "label": "Plans"
1010
1012
  },
1011
1013
  {
1012
- "icon": "receipt",
1013
1014
  "label": "Invoices",
1014
- "href": "/invoices"
1015
+ "href": "/invoices",
1016
+ "icon": "receipt"
1015
1017
  },
1016
1018
  {
1017
- "href": "/dunning",
1018
1019
  "label": "Dunning",
1020
+ "href": "/dunning",
1019
1021
  "icon": "alert-triangle"
1020
1022
  }
1021
1023
  ],
1022
- "notifications": [],
1023
1024
  "notificationClickEvent": "INVOICE_NOTIFICATIONS_OPEN",
1024
- "appName": "Subscription Billing",
1025
- "searchEvent": "INVOICE_SEARCH"
1025
+ "notifications": []
1026
1026
  },
1027
1027
  "events": {
1028
1028
  "NOTIFY_CLICK": "INVOICE_NOTIFICATIONS_OPEN",
@@ -1109,14 +1109,15 @@
1109
1109
  "render-ui",
1110
1110
  "main",
1111
1111
  {
1112
- "gap": "lg",
1113
- "type": "stack",
1114
1112
  "children": [
1115
1113
  {
1114
+ "gap": "md",
1115
+ "align": "center",
1116
+ "direction": "horizontal",
1117
+ "type": "stack",
1118
+ "justify": "between",
1116
1119
  "children": [
1117
1120
  {
1118
- "gap": "sm",
1119
- "align": "center",
1120
1121
  "children": [
1121
1122
  {
1122
1123
  "type": "icon",
@@ -1129,28 +1130,25 @@
1129
1130
  }
1130
1131
  ],
1131
1132
  "direction": "horizontal",
1133
+ "gap": "sm",
1134
+ "align": "center",
1132
1135
  "type": "stack"
1133
1136
  },
1134
1137
  {
1135
- "direction": "horizontal",
1136
- "type": "stack",
1137
- "gap": "sm",
1138
1138
  "children": [
1139
1139
  {
1140
- "type": "button",
1141
- "variant": "primary",
1142
1140
  "label": "Add Note",
1141
+ "variant": "primary",
1142
+ "action": "CREATE",
1143
1143
  "icon": "plus",
1144
- "action": "CREATE"
1144
+ "type": "button"
1145
1145
  }
1146
- ]
1146
+ ],
1147
+ "type": "stack",
1148
+ "direction": "horizontal",
1149
+ "gap": "sm"
1147
1150
  }
1148
- ],
1149
- "direction": "horizontal",
1150
- "gap": "md",
1151
- "type": "stack",
1152
- "justify": "between",
1153
- "align": "center"
1151
+ ]
1154
1152
  },
1155
1153
  {
1156
1154
  "type": "divider"
@@ -1166,6 +1164,8 @@
1166
1164
  },
1167
1165
  "@trait.InvoiceNoteBrowseList"
1168
1166
  ],
1167
+ "gap": "lg",
1168
+ "type": "stack",
1169
1169
  "direction": "vertical"
1170
1170
  }
1171
1171
  ]
@@ -1185,34 +1185,34 @@
1185
1185
  "render-ui",
1186
1186
  "main",
1187
1187
  {
1188
- "type": "stack",
1189
- "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
1199
  "color": "muted",
1204
- "variant": "caption",
1205
1200
  "type": "typography",
1201
+ "variant": "caption",
1206
1202
  "content": "You're all caught up."
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
+ "type": "stack",
1212
+ "gap": "md",
1213
+ "align": "center",
1214
+ "direction": "vertical",
1215
+ "className": "py-8"
1216
1216
  }
1217
1217
  ]
1218
1218
  ]
@@ -1225,8 +1225,8 @@
1225
1225
  "ref": "Inv.traits.InvoiceManage",
1226
1226
  "name": "InvoiceManageBlock",
1227
1227
  "config": {
1228
- "refundTiersJson": "[]",
1229
- "title": "Invoices"
1228
+ "title": "Invoices",
1229
+ "refundTiersJson": "[]"
1230
1230
  }
1231
1231
  },
1232
1232
  {
@@ -1234,14 +1234,6 @@
1234
1234
  "name": "InvoiceNoteBrowseList",
1235
1235
  "linkedEntity": "InvoiceNote",
1236
1236
  "config": {
1237
- "cols": 1.0,
1238
- "itemActions": [
1239
- {
1240
- "label": "Delete",
1241
- "event": "DELETE",
1242
- "variant": "danger"
1243
- }
1244
- ],
1245
1237
  "fields": [
1246
1238
  {
1247
1239
  "name": "invoiceId",
@@ -1261,6 +1253,14 @@
1261
1253
  "variant": "caption"
1262
1254
  }
1263
1255
  ],
1256
+ "itemActions": [
1257
+ {
1258
+ "label": "Delete",
1259
+ "event": "DELETE",
1260
+ "variant": "danger"
1261
+ }
1262
+ ],
1263
+ "cols": 1.0,
1264
1264
  "gap": "sm"
1265
1265
  },
1266
1266
  "listens": [
@@ -1287,9 +1287,9 @@
1287
1287
  "name": "InvoiceNoteCreate",
1288
1288
  "linkedEntity": "InvoiceNote",
1289
1289
  "config": {
1290
+ "mode": "create",
1290
1291
  "icon": "plus-circle",
1291
1292
  "title": "New Note",
1292
- "mode": "create",
1293
1293
  "fields": [
1294
1294
  "invoiceId",
1295
1295
  "body",
@@ -1533,15 +1533,19 @@
1533
1533
  "name": "DunningAppLayout",
1534
1534
  "linkedEntity": "DunningNote",
1535
1535
  "config": {
1536
+ "notificationClickEvent": "DUNNING_NOTIFICATIONS_OPEN",
1537
+ "appName": "Subscription Billing",
1538
+ "notifications": [],
1539
+ "searchEvent": "DUNNING_SEARCH",
1536
1540
  "navItems": [
1537
1541
  {
1542
+ "icon": "credit-card",
1538
1543
  "label": "Plans",
1539
- "href": "/plans",
1540
- "icon": "credit-card"
1544
+ "href": "/plans"
1541
1545
  },
1542
1546
  {
1543
- "label": "Invoices",
1544
1547
  "href": "/invoices",
1548
+ "label": "Invoices",
1545
1549
  "icon": "receipt"
1546
1550
  },
1547
1551
  {
@@ -1550,15 +1554,11 @@
1550
1554
  "icon": "alert-triangle"
1551
1555
  }
1552
1556
  ],
1553
- "notificationClickEvent": "DUNNING_NOTIFICATIONS_OPEN",
1554
- "appName": "Subscription Billing",
1555
- "contentTrait": "@trait.DunningCatalog",
1556
- "searchEvent": "DUNNING_SEARCH",
1557
- "notifications": []
1557
+ "contentTrait": "@trait.DunningCatalog"
1558
1558
  },
1559
1559
  "events": {
1560
- "NOTIFY_CLICK": "DUNNING_NOTIFICATIONS_OPEN",
1561
- "SEARCH": "DUNNING_SEARCH"
1560
+ "SEARCH": "DUNNING_SEARCH",
1561
+ "NOTIFY_CLICK": "DUNNING_NOTIFICATIONS_OPEN"
1562
1562
  }
1563
1563
  },
1564
1564
  {
@@ -1641,46 +1641,48 @@
1641
1641
  "render-ui",
1642
1642
  "main",
1643
1643
  {
1644
+ "gap": "lg",
1644
1645
  "type": "stack",
1646
+ "direction": "vertical",
1645
1647
  "children": [
1646
1648
  {
1647
- "align": "center",
1649
+ "type": "stack",
1648
1650
  "direction": "horizontal",
1651
+ "align": "center",
1649
1652
  "children": [
1650
1653
  {
1654
+ "type": "stack",
1655
+ "direction": "horizontal",
1656
+ "gap": "sm",
1657
+ "align": "center",
1651
1658
  "children": [
1652
1659
  {
1653
- "type": "icon",
1654
- "name": "alert-triangle"
1660
+ "name": "alert-triangle",
1661
+ "type": "icon"
1655
1662
  },
1656
1663
  {
1664
+ "variant": "h2",
1657
1665
  "type": "typography",
1658
- "content": "Dunning",
1659
- "variant": "h2"
1666
+ "content": "Dunning"
1660
1667
  }
1661
- ],
1662
- "direction": "horizontal",
1663
- "type": "stack",
1664
- "align": "center",
1665
- "gap": "sm"
1668
+ ]
1666
1669
  },
1667
1670
  {
1671
+ "direction": "horizontal",
1672
+ "gap": "sm",
1673
+ "type": "stack",
1668
1674
  "children": [
1669
1675
  {
1670
1676
  "type": "button",
1671
- "label": "Log Note",
1672
- "action": "CREATE",
1673
1677
  "variant": "primary",
1674
- "icon": "plus"
1678
+ "icon": "plus",
1679
+ "action": "CREATE",
1680
+ "label": "Log Note"
1675
1681
  }
1676
- ],
1677
- "gap": "sm",
1678
- "type": "stack",
1679
- "direction": "horizontal"
1682
+ ]
1680
1683
  }
1681
1684
  ],
1682
1685
  "justify": "between",
1683
- "type": "stack",
1684
1686
  "gap": "md"
1685
1687
  },
1686
1688
  {
@@ -1691,14 +1693,12 @@
1691
1693
  "type": "divider"
1692
1694
  },
1693
1695
  {
1694
- "type": "typography",
1695
1696
  "variant": "h3",
1696
- "content": "Case Notes"
1697
+ "content": "Case Notes",
1698
+ "type": "typography"
1697
1699
  },
1698
1700
  "@trait.DunningNoteBrowseList"
1699
- ],
1700
- "gap": "lg",
1701
- "direction": "vertical"
1701
+ ]
1702
1702
  }
1703
1703
  ]
1704
1704
  ]
@@ -1717,10 +1717,10 @@
1717
1717
  "render-ui",
1718
1718
  "main",
1719
1719
  {
1720
+ "className": "py-8",
1721
+ "type": "stack",
1720
1722
  "direction": "vertical",
1721
- "gap": "md",
1722
1723
  "align": "center",
1723
- "className": "py-8",
1724
1724
  "children": [
1725
1725
  {
1726
1726
  "type": "icon",
@@ -1728,23 +1728,23 @@
1728
1728
  },
1729
1729
  {
1730
1730
  "type": "typography",
1731
- "variant": "h3",
1732
- "content": "No notifications"
1731
+ "content": "No notifications",
1732
+ "variant": "h3"
1733
1733
  },
1734
1734
  {
1735
- "color": "muted",
1736
1735
  "content": "You're all caught up.",
1737
1736
  "type": "typography",
1738
- "variant": "caption"
1737
+ "variant": "caption",
1738
+ "color": "muted"
1739
1739
  },
1740
1740
  {
1741
- "variant": "ghost",
1742
1741
  "action": "INIT",
1743
1742
  "label": "Back to dunning",
1744
- "type": "button"
1743
+ "type": "button",
1744
+ "variant": "ghost"
1745
1745
  }
1746
1746
  ],
1747
- "type": "stack"
1747
+ "gap": "md"
1748
1748
  }
1749
1749
  ]
1750
1750
  ]
@@ -1765,24 +1765,24 @@
1765
1765
  "name": "DunningNoteBrowseList",
1766
1766
  "linkedEntity": "DunningNote",
1767
1767
  "config": {
1768
- "gap": "sm",
1769
1768
  "itemActions": [
1770
1769
  {
1771
- "event": "DELETE",
1770
+ "variant": "danger",
1772
1771
  "label": "Delete",
1773
- "variant": "danger"
1772
+ "event": "DELETE"
1774
1773
  }
1775
1774
  ],
1776
1775
  "cols": 1.0,
1776
+ "gap": "sm",
1777
1777
  "fields": [
1778
1778
  {
1779
- "variant": "h4",
1779
+ "name": "caseId",
1780
1780
  "icon": "alert-triangle",
1781
- "name": "caseId"
1781
+ "variant": "h4"
1782
1782
  },
1783
1783
  {
1784
- "variant": "body",
1785
- "name": "body"
1784
+ "name": "body",
1785
+ "variant": "body"
1786
1786
  },
1787
1787
  {
1788
1788
  "name": "author",
@@ -1818,14 +1818,14 @@
1818
1818
  "name": "DunningNoteCreate",
1819
1819
  "linkedEntity": "DunningNote",
1820
1820
  "config": {
1821
- "icon": "plus-circle",
1821
+ "mode": "create",
1822
1822
  "title": "New Note",
1823
+ "icon": "plus-circle",
1823
1824
  "fields": [
1824
1825
  "caseId",
1825
1826
  "body",
1826
1827
  "author"
1827
- ],
1828
- "mode": "create"
1828
+ ]
1829
1829
  },
1830
1830
  "events": {
1831
1831
  "OPEN": "CREATE"