@almadar/std 16.9.1 → 16.9.2

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 (252) hide show
  1. package/behaviors/registry/core/atoms/std-app-layout.orb +81 -78
  2. package/behaviors/registry/core/atoms/std-approval-gate.orb +84 -83
  3. package/behaviors/registry/core/atoms/std-audit-capture.orb +16 -15
  4. package/behaviors/registry/core/atoms/std-billable-hour.orb +125 -125
  5. package/behaviors/registry/core/atoms/std-board.orb +289 -288
  6. package/behaviors/registry/core/atoms/std-branching-logic.orb +118 -118
  7. package/behaviors/registry/core/atoms/std-browse.orb +118 -115
  8. package/behaviors/registry/core/atoms/std-cache-aside.orb +120 -120
  9. package/behaviors/registry/core/atoms/std-calendar.orb +48 -47
  10. package/behaviors/registry/core/atoms/std-cascade-on-delete.orb +7 -7
  11. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +210 -210
  12. package/behaviors/registry/core/atoms/std-confirmation.orb +33 -32
  13. package/behaviors/registry/core/atoms/std-cross-reference.orb +19 -19
  14. package/behaviors/registry/core/atoms/std-dashboard-grid-embedded.orb +81 -81
  15. package/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +84 -84
  16. package/behaviors/registry/core/atoms/std-dashboard-summary.orb +84 -84
  17. package/behaviors/registry/core/atoms/std-data-erasure.orb +71 -71
  18. package/behaviors/registry/core/atoms/std-date-range.orb +24 -24
  19. package/behaviors/registry/core/atoms/std-drawer.orb +12 -9
  20. package/behaviors/registry/core/atoms/std-esign-request.orb +32 -32
  21. package/behaviors/registry/core/atoms/std-event-log.orb +170 -170
  22. package/behaviors/registry/core/atoms/std-export.orb +63 -63
  23. package/behaviors/registry/core/atoms/std-file-store.orb +157 -157
  24. package/behaviors/registry/core/atoms/std-filter.orb +36 -36
  25. package/behaviors/registry/core/atoms/std-flag.orb +92 -92
  26. package/behaviors/registry/core/atoms/std-form-advanced.orb +66 -66
  27. package/behaviors/registry/core/atoms/std-gallery.orb +30 -29
  28. package/behaviors/registry/core/atoms/std-geosearch.orb +27 -27
  29. package/behaviors/registry/core/atoms/std-graphs.orb +180 -180
  30. package/behaviors/registry/core/atoms/std-hero-banner.orb +22 -22
  31. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +63 -63
  32. package/behaviors/registry/core/atoms/std-lifecycle.orb +28 -28
  33. package/behaviors/registry/core/atoms/std-mod-queue.orb +53 -53
  34. package/behaviors/registry/core/atoms/std-modal.orb +39 -36
  35. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +598 -597
  36. package/behaviors/registry/core/atoms/std-notify-on-event.orb +37 -31
  37. package/behaviors/registry/core/atoms/std-page-tree.orb +132 -132
  38. package/behaviors/registry/core/atoms/std-pagination.orb +11 -11
  39. package/behaviors/registry/core/atoms/std-push.orb +43 -43
  40. package/behaviors/registry/core/atoms/std-rate-limiter.orb +216 -216
  41. package/behaviors/registry/core/atoms/std-rating-review.orb +647 -647
  42. package/behaviors/registry/core/atoms/std-recurrence.orb +169 -169
  43. package/behaviors/registry/core/atoms/std-related.orb +34 -31
  44. package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +9 -9
  45. package/behaviors/registry/core/atoms/std-rich-editor.orb +113 -113
  46. package/behaviors/registry/core/atoms/std-row-access-control.orb +21 -20
  47. package/behaviors/registry/core/atoms/std-saved-search.orb +89 -89
  48. package/behaviors/registry/core/atoms/std-scatter.orb +85 -85
  49. package/behaviors/registry/core/atoms/std-search.orb +11 -11
  50. package/behaviors/registry/core/atoms/std-selection.orb +103 -100
  51. package/behaviors/registry/core/atoms/std-sidebar-meta.orb +77 -77
  52. package/behaviors/registry/core/atoms/std-signature-capture.orb +85 -85
  53. package/behaviors/registry/core/atoms/std-stack-layout.orb +17 -17
  54. package/behaviors/registry/core/atoms/std-stats.orb +326 -325
  55. package/behaviors/registry/core/atoms/std-step-flow.orb +150 -149
  56. package/behaviors/registry/core/atoms/std-tabs.orb +47 -46
  57. package/behaviors/registry/core/atoms/std-tag-taxonomy.orb +63 -63
  58. package/behaviors/registry/core/atoms/std-thread.orb +64 -63
  59. package/behaviors/registry/core/atoms/std-version-history.orb +155 -155
  60. package/behaviors/registry/core/atoms/std-vote.orb +39 -39
  61. package/behaviors/registry/core/atoms/std-wizard-form.orb +177 -177
  62. package/behaviors/registry/core/atoms/std-wizard.orb +183 -183
  63. package/behaviors/registry/core-variations/atoms/std-board-kanban-classic.orb +65 -65
  64. package/behaviors/registry/core-variations/atoms/std-board-swim-lanes.orb +57 -57
  65. package/behaviors/registry/core-variations/atoms/std-board-timeline-roadmap.orb +74 -74
  66. package/behaviors/registry/core-variations/atoms/std-browse-command-palette.orb +61 -61
  67. package/behaviors/registry/core-variations/atoms/std-browse-dense.orb +50 -50
  68. package/behaviors/registry/core-variations/atoms/std-browse-feed.orb +40 -40
  69. package/behaviors/registry/core-variations/atoms/std-browse-gallery.orb +43 -43
  70. package/behaviors/registry/core-variations/atoms/std-browse-triage.orb +60 -60
  71. package/behaviors/registry/core-variations/atoms/std-calendar-agenda-list.orb +44 -44
  72. package/behaviors/registry/core-variations/atoms/std-calendar-week-timeline.orb +32 -32
  73. package/behaviors/registry/core-variations/atoms/std-stats-hero-metric.orb +30 -30
  74. package/behaviors/registry/core-variations/atoms/std-stats-kpi-tiles.orb +91 -91
  75. package/behaviors/registry/core-variations/atoms/std-stats-sparkline-row.orb +83 -83
  76. package/behaviors/registry/core-variations/atoms/std-step-flow-cards-deck.orb +42 -42
  77. package/behaviors/registry/core-variations/atoms/std-step-flow-progress-vertical.orb +56 -56
  78. package/behaviors/registry/core-variations/atoms/std-step-flow-stepper-horizontal.orb +28 -28
  79. package/behaviors/registry/core-variations/atoms/std-tabs-segmented-pills.orb +21 -21
  80. package/behaviors/registry/core-variations/atoms/std-tabs-sidebar-rail.orb +22 -22
  81. package/behaviors/registry/core-variations/atoms/std-thread-chat-bubbles.orb +50 -50
  82. package/behaviors/registry/core-variations/atoms/std-thread-comments-linear.orb +114 -114
  83. package/behaviors/registry/core-variations/atoms/std-thread-email-threaded.orb +101 -101
  84. package/dist/behaviors/behaviors-registry.json +1 -1
  85. package/dist/behaviors/registry/core/atoms/std-app-layout.orb +81 -78
  86. package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +84 -83
  87. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +16 -15
  88. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +125 -125
  89. package/dist/behaviors/registry/core/atoms/std-board.orb +289 -288
  90. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +118 -118
  91. package/dist/behaviors/registry/core/atoms/std-browse.orb +118 -115
  92. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +120 -120
  93. package/dist/behaviors/registry/core/atoms/std-calendar.orb +48 -47
  94. package/dist/behaviors/registry/core/atoms/std-cascade-on-delete.orb +7 -7
  95. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +210 -210
  96. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +33 -32
  97. package/dist/behaviors/registry/core/atoms/std-cross-reference.orb +19 -19
  98. package/dist/behaviors/registry/core/atoms/std-dashboard-grid-embedded.orb +81 -81
  99. package/dist/behaviors/registry/core/atoms/std-dashboard-grid-layout.orb +84 -84
  100. package/dist/behaviors/registry/core/atoms/std-dashboard-summary.orb +84 -84
  101. package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +71 -71
  102. package/dist/behaviors/registry/core/atoms/std-date-range.orb +24 -24
  103. package/dist/behaviors/registry/core/atoms/std-drawer.orb +12 -9
  104. package/dist/behaviors/registry/core/atoms/std-esign-request.orb +32 -32
  105. package/dist/behaviors/registry/core/atoms/std-event-log.orb +170 -170
  106. package/dist/behaviors/registry/core/atoms/std-export.orb +63 -63
  107. package/dist/behaviors/registry/core/atoms/std-file-store.orb +157 -157
  108. package/dist/behaviors/registry/core/atoms/std-filter.orb +36 -36
  109. package/dist/behaviors/registry/core/atoms/std-flag.orb +92 -92
  110. package/dist/behaviors/registry/core/atoms/std-form-advanced.orb +66 -66
  111. package/dist/behaviors/registry/core/atoms/std-gallery.orb +30 -29
  112. package/dist/behaviors/registry/core/atoms/std-geosearch.orb +27 -27
  113. package/dist/behaviors/registry/core/atoms/std-graphs.orb +180 -180
  114. package/dist/behaviors/registry/core/atoms/std-hero-banner.orb +22 -22
  115. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +63 -63
  116. package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +28 -28
  117. package/dist/behaviors/registry/core/atoms/std-mod-queue.orb +53 -53
  118. package/dist/behaviors/registry/core/atoms/std-modal.orb +39 -36
  119. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +598 -597
  120. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +37 -31
  121. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +132 -132
  122. package/dist/behaviors/registry/core/atoms/std-pagination.orb +11 -11
  123. package/dist/behaviors/registry/core/atoms/std-push.orb +43 -43
  124. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +216 -216
  125. package/dist/behaviors/registry/core/atoms/std-rating-review.orb +647 -647
  126. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +169 -169
  127. package/dist/behaviors/registry/core/atoms/std-related.orb +34 -31
  128. package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +9 -9
  129. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +113 -113
  130. package/dist/behaviors/registry/core/atoms/std-row-access-control.orb +21 -20
  131. package/dist/behaviors/registry/core/atoms/std-saved-search.orb +89 -89
  132. package/dist/behaviors/registry/core/atoms/std-scatter.orb +85 -85
  133. package/dist/behaviors/registry/core/atoms/std-search.orb +11 -11
  134. package/dist/behaviors/registry/core/atoms/std-selection.orb +103 -100
  135. package/dist/behaviors/registry/core/atoms/std-sidebar-meta.orb +77 -77
  136. package/dist/behaviors/registry/core/atoms/std-signature-capture.orb +85 -85
  137. package/dist/behaviors/registry/core/atoms/std-stack-layout.orb +17 -17
  138. package/dist/behaviors/registry/core/atoms/std-stats.orb +326 -325
  139. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +150 -149
  140. package/dist/behaviors/registry/core/atoms/std-tabs.orb +47 -46
  141. package/dist/behaviors/registry/core/atoms/std-tag-taxonomy.orb +63 -63
  142. package/dist/behaviors/registry/core/atoms/std-thread.orb +64 -63
  143. package/dist/behaviors/registry/core/atoms/std-version-history.orb +155 -155
  144. package/dist/behaviors/registry/core/atoms/std-vote.orb +39 -39
  145. package/dist/behaviors/registry/core/atoms/std-wizard-form.orb +177 -177
  146. package/dist/behaviors/registry/core/atoms/std-wizard.orb +183 -183
  147. package/dist/behaviors/registry/core-variations/atoms/std-board-kanban-classic.orb +65 -65
  148. package/dist/behaviors/registry/core-variations/atoms/std-board-swim-lanes.orb +57 -57
  149. package/dist/behaviors/registry/core-variations/atoms/std-board-timeline-roadmap.orb +74 -74
  150. package/dist/behaviors/registry/core-variations/atoms/std-browse-command-palette.orb +61 -61
  151. package/dist/behaviors/registry/core-variations/atoms/std-browse-dense.orb +50 -50
  152. package/dist/behaviors/registry/core-variations/atoms/std-browse-feed.orb +40 -40
  153. package/dist/behaviors/registry/core-variations/atoms/std-browse-gallery.orb +43 -43
  154. package/dist/behaviors/registry/core-variations/atoms/std-browse-triage.orb +60 -60
  155. package/dist/behaviors/registry/core-variations/atoms/std-calendar-agenda-list.orb +44 -44
  156. package/dist/behaviors/registry/core-variations/atoms/std-calendar-week-timeline.orb +32 -32
  157. package/dist/behaviors/registry/core-variations/atoms/std-stats-hero-metric.orb +30 -30
  158. package/dist/behaviors/registry/core-variations/atoms/std-stats-kpi-tiles.orb +91 -91
  159. package/dist/behaviors/registry/core-variations/atoms/std-stats-sparkline-row.orb +83 -83
  160. package/dist/behaviors/registry/core-variations/atoms/std-step-flow-cards-deck.orb +42 -42
  161. package/dist/behaviors/registry/core-variations/atoms/std-step-flow-progress-vertical.orb +56 -56
  162. package/dist/behaviors/registry/core-variations/atoms/std-step-flow-stepper-horizontal.orb +28 -28
  163. package/dist/behaviors/registry/core-variations/atoms/std-tabs-segmented-pills.orb +21 -21
  164. package/dist/behaviors/registry/core-variations/atoms/std-tabs-sidebar-rail.orb +22 -22
  165. package/dist/behaviors/registry/core-variations/atoms/std-thread-chat-bubbles.orb +50 -50
  166. package/dist/behaviors/registry/core-variations/atoms/std-thread-comments-linear.orb +114 -114
  167. package/dist/behaviors/registry/core-variations/atoms/std-thread-email-threaded.orb +101 -101
  168. package/dist/behaviors-registry.json +1 -1
  169. package/dist/registry/core/atoms/std-app-layout.orb +81 -78
  170. package/dist/registry/core/atoms/std-approval-gate.orb +84 -83
  171. package/dist/registry/core/atoms/std-audit-capture.orb +16 -15
  172. package/dist/registry/core/atoms/std-billable-hour.orb +125 -125
  173. package/dist/registry/core/atoms/std-board.orb +289 -288
  174. package/dist/registry/core/atoms/std-branching-logic.orb +118 -118
  175. package/dist/registry/core/atoms/std-browse.orb +118 -115
  176. package/dist/registry/core/atoms/std-cache-aside.orb +120 -120
  177. package/dist/registry/core/atoms/std-calendar.orb +48 -47
  178. package/dist/registry/core/atoms/std-cascade-on-delete.orb +7 -7
  179. package/dist/registry/core/atoms/std-circuit-breaker.orb +210 -210
  180. package/dist/registry/core/atoms/std-confirmation.orb +33 -32
  181. package/dist/registry/core/atoms/std-cross-reference.orb +19 -19
  182. package/dist/registry/core/atoms/std-dashboard-grid-embedded.orb +81 -81
  183. package/dist/registry/core/atoms/std-dashboard-grid-layout.orb +84 -84
  184. package/dist/registry/core/atoms/std-dashboard-summary.orb +84 -84
  185. package/dist/registry/core/atoms/std-data-erasure.orb +71 -71
  186. package/dist/registry/core/atoms/std-date-range.orb +24 -24
  187. package/dist/registry/core/atoms/std-drawer.orb +12 -9
  188. package/dist/registry/core/atoms/std-esign-request.orb +32 -32
  189. package/dist/registry/core/atoms/std-event-log.orb +170 -170
  190. package/dist/registry/core/atoms/std-export.orb +63 -63
  191. package/dist/registry/core/atoms/std-file-store.orb +157 -157
  192. package/dist/registry/core/atoms/std-filter.orb +36 -36
  193. package/dist/registry/core/atoms/std-flag.orb +92 -92
  194. package/dist/registry/core/atoms/std-form-advanced.orb +66 -66
  195. package/dist/registry/core/atoms/std-gallery.orb +30 -29
  196. package/dist/registry/core/atoms/std-geosearch.orb +27 -27
  197. package/dist/registry/core/atoms/std-graphs.orb +180 -180
  198. package/dist/registry/core/atoms/std-hero-banner.orb +22 -22
  199. package/dist/registry/core/atoms/std-image-upload-multi.orb +63 -63
  200. package/dist/registry/core/atoms/std-lifecycle.orb +28 -28
  201. package/dist/registry/core/atoms/std-mod-queue.orb +53 -53
  202. package/dist/registry/core/atoms/std-modal.orb +39 -36
  203. package/dist/registry/core/atoms/std-multi-party-flow.orb +598 -597
  204. package/dist/registry/core/atoms/std-notify-on-event.orb +37 -31
  205. package/dist/registry/core/atoms/std-page-tree.orb +132 -132
  206. package/dist/registry/core/atoms/std-pagination.orb +11 -11
  207. package/dist/registry/core/atoms/std-push.orb +43 -43
  208. package/dist/registry/core/atoms/std-rate-limiter.orb +216 -216
  209. package/dist/registry/core/atoms/std-rating-review.orb +647 -647
  210. package/dist/registry/core/atoms/std-recurrence.orb +169 -169
  211. package/dist/registry/core/atoms/std-related.orb +34 -31
  212. package/dist/registry/core/atoms/std-reminder-scheduler.orb +9 -9
  213. package/dist/registry/core/atoms/std-rich-editor.orb +113 -113
  214. package/dist/registry/core/atoms/std-row-access-control.orb +21 -20
  215. package/dist/registry/core/atoms/std-saved-search.orb +89 -89
  216. package/dist/registry/core/atoms/std-scatter.orb +85 -85
  217. package/dist/registry/core/atoms/std-search.orb +11 -11
  218. package/dist/registry/core/atoms/std-selection.orb +103 -100
  219. package/dist/registry/core/atoms/std-sidebar-meta.orb +77 -77
  220. package/dist/registry/core/atoms/std-signature-capture.orb +85 -85
  221. package/dist/registry/core/atoms/std-stack-layout.orb +17 -17
  222. package/dist/registry/core/atoms/std-stats.orb +326 -325
  223. package/dist/registry/core/atoms/std-step-flow.orb +150 -149
  224. package/dist/registry/core/atoms/std-tabs.orb +47 -46
  225. package/dist/registry/core/atoms/std-tag-taxonomy.orb +63 -63
  226. package/dist/registry/core/atoms/std-thread.orb +64 -63
  227. package/dist/registry/core/atoms/std-version-history.orb +155 -155
  228. package/dist/registry/core/atoms/std-vote.orb +39 -39
  229. package/dist/registry/core/atoms/std-wizard-form.orb +177 -177
  230. package/dist/registry/core/atoms/std-wizard.orb +183 -183
  231. package/dist/registry/core-variations/atoms/std-board-kanban-classic.orb +65 -65
  232. package/dist/registry/core-variations/atoms/std-board-swim-lanes.orb +57 -57
  233. package/dist/registry/core-variations/atoms/std-board-timeline-roadmap.orb +74 -74
  234. package/dist/registry/core-variations/atoms/std-browse-command-palette.orb +61 -61
  235. package/dist/registry/core-variations/atoms/std-browse-dense.orb +50 -50
  236. package/dist/registry/core-variations/atoms/std-browse-feed.orb +40 -40
  237. package/dist/registry/core-variations/atoms/std-browse-gallery.orb +43 -43
  238. package/dist/registry/core-variations/atoms/std-browse-triage.orb +60 -60
  239. package/dist/registry/core-variations/atoms/std-calendar-agenda-list.orb +44 -44
  240. package/dist/registry/core-variations/atoms/std-calendar-week-timeline.orb +32 -32
  241. package/dist/registry/core-variations/atoms/std-stats-hero-metric.orb +30 -30
  242. package/dist/registry/core-variations/atoms/std-stats-kpi-tiles.orb +91 -91
  243. package/dist/registry/core-variations/atoms/std-stats-sparkline-row.orb +83 -83
  244. package/dist/registry/core-variations/atoms/std-step-flow-cards-deck.orb +42 -42
  245. package/dist/registry/core-variations/atoms/std-step-flow-progress-vertical.orb +56 -56
  246. package/dist/registry/core-variations/atoms/std-step-flow-stepper-horizontal.orb +28 -28
  247. package/dist/registry/core-variations/atoms/std-tabs-segmented-pills.orb +21 -21
  248. package/dist/registry/core-variations/atoms/std-tabs-sidebar-rail.orb +22 -22
  249. package/dist/registry/core-variations/atoms/std-thread-chat-bubbles.orb +50 -50
  250. package/dist/registry/core-variations/atoms/std-thread-comments-linear.orb +114 -114
  251. package/dist/registry/core-variations/atoms/std-thread-email-threaded.orb +101 -101
  252. package/package.json +1 -1
@@ -113,40 +113,41 @@
113
113
  "render-ui",
114
114
  "main",
115
115
  {
116
- "type": "stack",
117
116
  "direction": "vertical",
117
+ "type": "stack",
118
+ "gap": "lg",
118
119
  "children": [
119
120
  {
120
- "type": "stack",
121
121
  "align": "center",
122
- "gap": "md",
123
- "justify": "between",
124
122
  "direction": "horizontal",
125
123
  "children": [
126
124
  {
127
125
  "children": [
128
126
  {
129
- "name": "shield",
130
- "type": "icon"
127
+ "type": "icon",
128
+ "name": "shield"
131
129
  },
132
130
  {
131
+ "content": "RateBucket Rate Limiter",
133
132
  "variant": "h2",
134
- "type": "typography",
135
- "content": "RateBucket Rate Limiter"
133
+ "type": "typography"
136
134
  }
137
135
  ],
138
- "type": "stack",
136
+ "gap": "md",
139
137
  "align": "center",
140
- "direction": "horizontal",
141
- "gap": "md"
138
+ "type": "stack",
139
+ "direction": "horizontal"
142
140
  },
143
141
  {
144
- "label": "Open",
145
- "status": "online",
146
142
  "type": "status-dot",
147
- "pulse": false
143
+ "pulse": false,
144
+ "label": "Open",
145
+ "status": "online"
148
146
  }
149
- ]
147
+ ],
148
+ "gap": "md",
149
+ "type": "stack",
150
+ "justify": "between"
150
151
  },
151
152
  {
152
153
  "type": "divider"
@@ -156,55 +157,54 @@
156
157
  "cols": 2.0,
157
158
  "children": [
158
159
  {
159
- "type": "stat-display",
160
- "value": "@entity.count",
161
160
  "label": "Requests",
162
- "look": "@config.statLook"
161
+ "look": "@config.statLook",
162
+ "value": "@entity.count",
163
+ "type": "stat-display"
163
164
  },
164
165
  {
165
- "value": "@entity.window",
166
166
  "label": "Window",
167
167
  "type": "stat-display",
168
- "look": "@config.statLook"
168
+ "look": "@config.statLook",
169
+ "value": "@entity.window"
169
170
  }
170
171
  ]
171
172
  },
172
173
  {
174
+ "max": 100.0,
173
175
  "type": "meter",
174
176
  "value": "@entity.count",
175
- "min": 0.0,
176
- "max": 100.0
177
+ "min": 0.0
177
178
  },
178
179
  {
180
+ "showPercentage": true,
179
181
  "type": "progress-bar",
180
- "value": "@entity.count",
181
182
  "max": 100.0,
182
- "showPercentage": true
183
+ "value": "@entity.count"
183
184
  },
184
185
  {
185
186
  "justify": "center",
187
+ "type": "stack",
188
+ "direction": "horizontal",
189
+ "gap": "sm",
186
190
  "children": [
187
191
  {
188
- "variant": "primary",
189
- "action": "REQUEST",
190
- "icon": "send",
191
192
  "label": "Request",
192
- "type": "button"
193
+ "action": "REQUEST",
194
+ "type": "button",
195
+ "variant": "primary",
196
+ "icon": "send"
193
197
  },
194
198
  {
195
- "action": "RESET",
196
199
  "label": "Reset",
197
- "variant": "ghost",
200
+ "icon": "rotate-ccw",
201
+ "action": "RESET",
198
202
  "type": "button",
199
- "icon": "rotate-ccw"
203
+ "variant": "ghost"
200
204
  }
201
- ],
202
- "gap": "sm",
203
- "type": "stack",
204
- "direction": "horizontal"
205
+ ]
205
206
  }
206
- ],
207
- "gap": "lg"
207
+ ]
208
208
  }
209
209
  ]
210
210
  ]
@@ -219,14 +219,13 @@
219
219
  "render-ui",
220
220
  "main",
221
221
  {
222
+ "gap": "lg",
222
223
  "type": "stack",
223
- "direction": "vertical",
224
224
  "children": [
225
225
  {
226
- "type": "stack",
227
- "direction": "horizontal",
228
- "gap": "md",
229
226
  "align": "center",
227
+ "type": "stack",
228
+ "justify": "between",
230
229
  "children": [
231
230
  {
232
231
  "align": "center",
@@ -241,76 +240,77 @@
241
240
  "variant": "h2"
242
241
  }
243
242
  ],
243
+ "gap": "md",
244
244
  "type": "stack",
245
- "direction": "horizontal",
246
- "gap": "md"
245
+ "direction": "horizontal"
247
246
  },
248
247
  {
249
- "status": "online",
250
248
  "type": "status-dot",
251
249
  "pulse": false,
252
- "label": "Open"
250
+ "label": "Open",
251
+ "status": "online"
253
252
  }
254
253
  ],
255
- "justify": "between"
254
+ "gap": "md",
255
+ "direction": "horizontal"
256
256
  },
257
257
  {
258
258
  "type": "divider"
259
259
  },
260
260
  {
261
261
  "cols": 2.0,
262
- "type": "simple-grid",
263
262
  "children": [
264
263
  {
265
- "look": "@config.statLook",
266
- "type": "stat-display",
267
264
  "label": "Requests",
265
+ "type": "stat-display",
266
+ "look": "@config.statLook",
268
267
  "value": "@entity.count"
269
268
  },
270
269
  {
271
- "label": "Window",
272
- "look": "@config.statLook",
270
+ "value": "@entity.window",
273
271
  "type": "stat-display",
274
- "value": "@entity.window"
272
+ "label": "Window",
273
+ "look": "@config.statLook"
275
274
  }
276
- ]
275
+ ],
276
+ "type": "simple-grid"
277
277
  },
278
278
  {
279
- "max": 100.0,
280
279
  "value": "@entity.count",
281
- "type": "meter",
282
- "min": 0.0
280
+ "min": 0.0,
281
+ "max": 100.0,
282
+ "type": "meter"
283
283
  },
284
284
  {
285
- "value": "@entity.count",
286
- "type": "progress-bar",
285
+ "showPercentage": true,
287
286
  "max": 100.0,
288
- "showPercentage": true
287
+ "value": "@entity.count",
288
+ "type": "progress-bar"
289
289
  },
290
290
  {
291
291
  "gap": "sm",
292
- "direction": "horizontal",
293
- "type": "stack",
294
- "justify": "center",
295
292
  "children": [
296
293
  {
294
+ "variant": "primary",
297
295
  "action": "REQUEST",
298
296
  "label": "Request",
299
297
  "icon": "send",
300
- "type": "button",
301
- "variant": "primary"
298
+ "type": "button"
302
299
  },
303
300
  {
304
301
  "action": "RESET",
305
- "variant": "ghost",
306
302
  "icon": "rotate-ccw",
307
303
  "type": "button",
308
- "label": "Reset"
304
+ "label": "Reset",
305
+ "variant": "ghost"
309
306
  }
310
- ]
307
+ ],
308
+ "direction": "horizontal",
309
+ "type": "stack",
310
+ "justify": "center"
311
311
  }
312
312
  ],
313
- "gap": "lg"
313
+ "direction": "vertical"
314
314
  }
315
315
  ]
316
316
  ]
@@ -329,90 +329,90 @@
329
329
  "render-ui",
330
330
  "main",
331
331
  {
332
- "type": "stack",
333
332
  "direction": "vertical",
333
+ "type": "stack",
334
+ "gap": "lg",
334
335
  "children": [
335
336
  {
336
- "type": "stack",
337
337
  "children": [
338
338
  {
339
- "type": "stack",
340
- "gap": "md",
341
339
  "direction": "horizontal",
340
+ "align": "center",
341
+ "gap": "md",
342
342
  "children": [
343
343
  {
344
- "name": "shield",
345
- "type": "icon"
344
+ "type": "icon",
345
+ "name": "shield"
346
346
  },
347
347
  {
348
- "variant": "h2",
348
+ "content": "RateBucket Rate Limiter",
349
349
  "type": "typography",
350
- "content": "RateBucket Rate Limiter"
350
+ "variant": "h2"
351
351
  }
352
352
  ],
353
- "align": "center"
353
+ "type": "stack"
354
354
  },
355
355
  {
356
356
  "type": "status-dot",
357
+ "status": "critical",
357
358
  "pulse": true,
358
- "label": "Throttled",
359
- "status": "critical"
359
+ "label": "Throttled"
360
360
  }
361
361
  ],
362
+ "align": "center",
362
363
  "gap": "md",
364
+ "direction": "horizontal",
363
365
  "justify": "between",
364
- "align": "center",
365
- "direction": "horizontal"
366
+ "type": "stack"
366
367
  },
367
368
  {
368
369
  "type": "divider"
369
370
  },
370
371
  {
371
372
  "type": "alert",
372
- "variant": "error",
373
- "message": "Rate limit exceeded. Requests are being throttled."
373
+ "message": "Rate limit exceeded. Requests are being throttled.",
374
+ "variant": "error"
374
375
  },
375
376
  {
376
377
  "children": [
377
378
  {
378
- "look": "@config.statLook",
379
379
  "type": "stat-display",
380
380
  "value": "@entity.count",
381
- "label": "Requests"
381
+ "label": "Requests",
382
+ "look": "@config.statLook"
382
383
  },
383
384
  {
384
- "look": "@config.statLook",
385
385
  "type": "stat-display",
386
386
  "label": "Window",
387
- "value": "@entity.window"
387
+ "value": "@entity.window",
388
+ "look": "@config.statLook"
388
389
  }
389
390
  ],
390
- "type": "simple-grid",
391
- "cols": 2.0
391
+ "cols": 2.0,
392
+ "type": "simple-grid"
392
393
  },
393
394
  {
395
+ "min": 0.0,
394
396
  "value": "@entity.count",
395
397
  "max": 100.0,
396
- "type": "meter",
397
- "min": 0.0
398
+ "type": "meter"
398
399
  },
399
400
  {
400
401
  "gap": "sm",
401
- "type": "stack",
402
402
  "justify": "center",
403
+ "direction": "horizontal",
404
+ "type": "stack",
403
405
  "children": [
404
406
  {
407
+ "label": "Reset",
405
408
  "type": "button",
406
- "icon": "rotate-ccw",
407
409
  "action": "RESET",
408
- "variant": "primary",
409
- "label": "Reset"
410
+ "icon": "rotate-ccw",
411
+ "variant": "primary"
410
412
  }
411
- ],
412
- "direction": "horizontal"
413
+ ]
413
414
  }
414
- ],
415
- "gap": "lg"
415
+ ]
416
416
  }
417
417
  ]
418
418
  ]
@@ -436,59 +436,60 @@
436
436
  "render-ui",
437
437
  "main",
438
438
  {
439
+ "type": "stack",
439
440
  "children": [
440
441
  {
441
- "justify": "between",
442
+ "type": "stack",
442
443
  "children": [
443
444
  {
444
- "direction": "horizontal",
445
445
  "gap": "md",
446
+ "align": "center",
446
447
  "children": [
447
448
  {
448
449
  "type": "icon",
449
450
  "name": "shield"
450
451
  },
451
452
  {
452
- "type": "typography",
453
453
  "content": "RateBucket Rate Limiter",
454
- "variant": "h2"
454
+ "variant": "h2",
455
+ "type": "typography"
455
456
  }
456
457
  ],
457
- "type": "stack",
458
- "align": "center"
458
+ "direction": "horizontal",
459
+ "type": "stack"
459
460
  },
460
461
  {
461
462
  "type": "status-dot",
462
- "status": "online",
463
463
  "pulse": false,
464
- "label": "Open"
464
+ "label": "Open",
465
+ "status": "online"
465
466
  }
466
467
  ],
467
468
  "direction": "horizontal",
468
- "gap": "md",
469
- "type": "stack",
470
- "align": "center"
469
+ "align": "center",
470
+ "justify": "between",
471
+ "gap": "md"
471
472
  },
472
473
  {
473
474
  "type": "divider"
474
475
  },
475
476
  {
476
- "type": "simple-grid",
477
477
  "cols": 2.0,
478
478
  "children": [
479
479
  {
480
- "look": "@config.statLook",
481
480
  "value": "@entity.count",
482
481
  "label": "Requests",
482
+ "look": "@config.statLook",
483
483
  "type": "stat-display"
484
484
  },
485
485
  {
486
- "label": "Window",
487
- "look": "@config.statLook",
486
+ "value": "@entity.window",
488
487
  "type": "stat-display",
489
- "value": "@entity.window"
488
+ "look": "@config.statLook",
489
+ "label": "Window"
490
490
  }
491
- ]
491
+ ],
492
+ "type": "simple-grid"
492
493
  },
493
494
  {
494
495
  "type": "meter",
@@ -497,35 +498,34 @@
497
498
  "max": 100.0
498
499
  },
499
500
  {
500
- "max": 100.0,
501
- "value": "@entity.count",
502
501
  "type": "progress-bar",
503
- "showPercentage": true
502
+ "value": "@entity.count",
503
+ "showPercentage": true,
504
+ "max": 100.0
504
505
  },
505
506
  {
506
- "type": "stack",
507
- "justify": "center",
508
507
  "children": [
509
508
  {
509
+ "variant": "primary",
510
510
  "icon": "send",
511
511
  "type": "button",
512
- "action": "REQUEST",
513
512
  "label": "Request",
514
- "variant": "primary"
513
+ "action": "REQUEST"
515
514
  },
516
515
  {
517
- "label": "Reset",
518
516
  "type": "button",
519
- "variant": "ghost",
520
517
  "action": "RESET",
521
- "icon": "rotate-ccw"
518
+ "icon": "rotate-ccw",
519
+ "variant": "ghost",
520
+ "label": "Reset"
522
521
  }
523
522
  ],
523
+ "type": "stack",
524
+ "justify": "center",
524
525
  "direction": "horizontal",
525
526
  "gap": "sm"
526
527
  }
527
528
  ],
528
- "type": "stack",
529
529
  "direction": "vertical",
530
530
  "gap": "lg"
531
531
  }
@@ -553,96 +553,96 @@
553
553
  {
554
554
  "type": "stack",
555
555
  "gap": "lg",
556
- "direction": "vertical",
557
556
  "children": [
558
557
  {
559
- "justify": "between",
558
+ "direction": "horizontal",
559
+ "type": "stack",
560
+ "align": "center",
560
561
  "children": [
561
562
  {
562
- "gap": "md",
563
- "type": "stack",
564
563
  "align": "center",
564
+ "direction": "horizontal",
565
565
  "children": [
566
566
  {
567
567
  "name": "shield",
568
568
  "type": "icon"
569
569
  },
570
570
  {
571
- "content": "RateBucket Rate Limiter",
571
+ "type": "typography",
572
572
  "variant": "h2",
573
- "type": "typography"
573
+ "content": "RateBucket Rate Limiter"
574
574
  }
575
575
  ],
576
- "direction": "horizontal"
576
+ "gap": "md",
577
+ "type": "stack"
577
578
  },
578
579
  {
579
580
  "type": "status-dot",
580
581
  "status": "online",
581
- "label": "Open",
582
- "pulse": false
582
+ "pulse": false,
583
+ "label": "Open"
583
584
  }
584
585
  ],
585
- "type": "stack",
586
- "align": "center",
587
- "direction": "horizontal",
586
+ "justify": "between",
588
587
  "gap": "md"
589
588
  },
590
589
  {
591
590
  "type": "divider"
592
591
  },
593
592
  {
594
- "type": "simple-grid",
595
593
  "cols": 2.0,
596
594
  "children": [
597
595
  {
598
596
  "look": "@config.statLook",
597
+ "label": "Requests",
599
598
  "value": "@entity.count",
600
- "type": "stat-display",
601
- "label": "Requests"
599
+ "type": "stat-display"
602
600
  },
603
601
  {
604
- "type": "stat-display",
605
- "value": "@entity.window",
606
602
  "look": "@config.statLook",
607
- "label": "Window"
603
+ "type": "stat-display",
604
+ "label": "Window",
605
+ "value": "@entity.window"
608
606
  }
609
- ]
607
+ ],
608
+ "type": "simple-grid"
610
609
  },
611
610
  {
612
- "type": "meter",
613
611
  "max": 100.0,
612
+ "type": "meter",
614
613
  "value": "@entity.count",
615
614
  "min": 0.0
616
615
  },
617
616
  {
618
- "type": "progress-bar",
619
617
  "max": 100.0,
618
+ "value": "@entity.count",
620
619
  "showPercentage": true,
621
- "value": "@entity.count"
620
+ "type": "progress-bar"
622
621
  },
623
622
  {
623
+ "gap": "sm",
624
624
  "children": [
625
625
  {
626
- "type": "button",
627
- "variant": "primary",
628
- "action": "REQUEST",
626
+ "icon": "send",
629
627
  "label": "Request",
630
- "icon": "send"
628
+ "action": "REQUEST",
629
+ "variant": "primary",
630
+ "type": "button"
631
631
  },
632
632
  {
633
+ "variant": "ghost",
633
634
  "label": "Reset",
634
- "type": "button",
635
635
  "action": "RESET",
636
- "icon": "rotate-ccw",
637
- "variant": "ghost"
636
+ "type": "button",
637
+ "icon": "rotate-ccw"
638
638
  }
639
639
  ],
640
- "justify": "center",
641
640
  "direction": "horizontal",
642
641
  "type": "stack",
643
- "gap": "sm"
642
+ "justify": "center"
644
643
  }
645
- ]
644
+ ],
645
+ "direction": "vertical"
646
646
  }
647
647
  ]
648
648
  ]
@@ -656,38 +656,39 @@
656
656
  "render-ui",
657
657
  "main",
658
658
  {
659
+ "gap": "lg",
659
660
  "children": [
660
661
  {
662
+ "gap": "md",
663
+ "justify": "between",
661
664
  "children": [
662
665
  {
663
- "direction": "horizontal",
664
666
  "align": "center",
667
+ "type": "stack",
668
+ "direction": "horizontal",
665
669
  "children": [
666
670
  {
667
671
  "name": "shield",
668
672
  "type": "icon"
669
673
  },
670
674
  {
675
+ "variant": "h2",
671
676
  "type": "typography",
672
- "content": "RateBucket Rate Limiter",
673
- "variant": "h2"
677
+ "content": "RateBucket Rate Limiter"
674
678
  }
675
679
  ],
676
- "type": "stack",
677
680
  "gap": "md"
678
681
  },
679
682
  {
680
683
  "pulse": true,
681
- "status": "critical",
684
+ "label": "Throttled",
682
685
  "type": "status-dot",
683
- "label": "Throttled"
686
+ "status": "critical"
684
687
  }
685
688
  ],
686
- "gap": "md",
687
- "align": "center",
688
689
  "direction": "horizontal",
689
690
  "type": "stack",
690
- "justify": "between"
691
+ "align": "center"
691
692
  },
692
693
  {
693
694
  "type": "divider"
@@ -700,16 +701,16 @@
700
701
  {
701
702
  "children": [
702
703
  {
703
- "look": "@config.statLook",
704
704
  "label": "Requests",
705
- "value": "@entity.count",
706
- "type": "stat-display"
705
+ "type": "stat-display",
706
+ "look": "@config.statLook",
707
+ "value": "@entity.count"
707
708
  },
708
709
  {
709
- "label": "Window",
710
- "type": "stat-display",
710
+ "look": "@config.statLook",
711
711
  "value": "@entity.window",
712
- "look": "@config.statLook"
712
+ "label": "Window",
713
+ "type": "stat-display"
713
714
  }
714
715
  ],
715
716
  "type": "simple-grid",
@@ -722,24 +723,23 @@
722
723
  "max": 100.0
723
724
  },
724
725
  {
725
- "type": "stack",
726
- "direction": "horizontal",
727
- "justify": "center",
728
726
  "gap": "sm",
729
727
  "children": [
730
728
  {
731
- "variant": "primary",
732
- "action": "RESET",
729
+ "icon": "rotate-ccw",
733
730
  "label": "Reset",
734
731
  "type": "button",
735
- "icon": "rotate-ccw"
732
+ "variant": "primary",
733
+ "action": "RESET"
736
734
  }
737
- ]
735
+ ],
736
+ "direction": "horizontal",
737
+ "type": "stack",
738
+ "justify": "center"
738
739
  }
739
740
  ],
740
- "type": "stack",
741
741
  "direction": "vertical",
742
- "gap": "lg"
742
+ "type": "stack"
743
743
  }
744
744
  ]
745
745
  ]
@@ -747,6 +747,20 @@
747
747
  ]
748
748
  },
749
749
  "config": {
750
+ "keyStrategy": {
751
+ "type": "string",
752
+ "default": "user",
753
+ "label": "Rate-limit key strategy",
754
+ "description": "What identifier the per-bucket counter is keyed on: source IP, authenticated user, API key, or one global bucket.",
755
+ "synonyms": "limiter key, bucket key",
756
+ "tier": "domain",
757
+ "values": [
758
+ "ip",
759
+ "user",
760
+ "api-key",
761
+ "global"
762
+ ]
763
+ },
750
764
  "statLook": {
751
765
  "type": "string",
752
766
  "default": "elevated",
@@ -761,6 +775,25 @@
761
775
  "sparkline"
762
776
  ]
763
777
  },
778
+ "overrideRoles": {
779
+ "type": "[string]",
780
+ "default": [],
781
+ "label": "Override roles",
782
+ "description": "Roles exempt from rate limiting (e.g. internal services, admin override). Empty = no exemptions.",
783
+ "synonyms": "exempt roles, bypass list",
784
+ "tier": "domain",
785
+ "items": {
786
+ "type": "string"
787
+ }
788
+ },
789
+ "burstSize": {
790
+ "type": "number",
791
+ "default": 10.0,
792
+ "label": "Burst size",
793
+ "description": "Number of requests allowed to burst above the per-minute rate before steady-state throttling kicks in.",
794
+ "synonyms": "burst capacity, allowance",
795
+ "tier": "domain"
796
+ },
764
797
  "enabled": {
765
798
  "type": "boolean",
766
799
  "default": false,
@@ -776,39 +809,6 @@
776
809
  "description": "Maximum number of requests allowed per minute before throttling begins.",
777
810
  "synonyms": "rate limit, request cap, RPS, throttle threshold",
778
811
  "tier": "domain"
779
- },
780
- "burstSize": {
781
- "type": "number",
782
- "default": 10.0,
783
- "label": "Burst size",
784
- "description": "Number of requests allowed to burst above the per-minute rate before steady-state throttling kicks in.",
785
- "synonyms": "burst capacity, allowance",
786
- "tier": "domain"
787
- },
788
- "keyStrategy": {
789
- "type": "string",
790
- "default": "user",
791
- "label": "Rate-limit key strategy",
792
- "description": "What identifier the per-bucket counter is keyed on: source IP, authenticated user, API key, or one global bucket.",
793
- "synonyms": "limiter key, bucket key",
794
- "tier": "domain",
795
- "values": [
796
- "ip",
797
- "user",
798
- "api-key",
799
- "global"
800
- ]
801
- },
802
- "overrideRoles": {
803
- "type": "[string]",
804
- "default": [],
805
- "label": "Override roles",
806
- "description": "Roles exempt from rate limiting (e.g. internal services, admin override). Empty = no exemptions.",
807
- "synonyms": "exempt roles, bypass list",
808
- "tier": "domain",
809
- "items": {
810
- "type": "string"
811
- }
812
812
  }
813
813
  },
814
814
  "scope": "collection"