@almadar/std 15.15.0 → 15.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  2. package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  3. package/behaviors/registry/app/atoms/std-application.orb +300 -188
  4. package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  5. package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  6. package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  7. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  8. package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  9. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  10. package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  11. package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  12. package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  13. package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  14. package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  15. package/behaviors/registry/app/atoms/std-donor.orb +191 -156
  16. package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  17. package/behaviors/registry/app/atoms/std-driver.orb +440 -202
  18. package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  19. package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  20. package/behaviors/registry/app/atoms/std-event.orb +309 -178
  21. package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  22. package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  23. package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  24. package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  25. package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  26. package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  27. package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  28. package/behaviors/registry/app/atoms/std-lease.orb +411 -178
  29. package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  30. package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  31. package/behaviors/registry/app/atoms/std-matter.orb +415 -189
  32. package/behaviors/registry/app/atoms/std-membership.orb +387 -167
  33. package/behaviors/registry/app/atoms/std-menu.orb +232 -175
  34. package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  35. package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  36. package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  37. package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  38. package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  39. package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  40. package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  45. package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  47. package/behaviors/registry/app/atoms/std-segment.orb +173 -139
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  49. package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  50. package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  54. package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  57. package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  58. package/behaviors/registry/app/atoms/std-trial.orb +401 -183
  59. package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  60. package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  63. package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  64. package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  65. package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  66. package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  67. package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  68. package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  69. package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  70. package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  71. package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  72. package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  73. package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  74. package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  75. package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  76. package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  77. package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  78. package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  79. package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  80. package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  81. package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  82. package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  83. package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  84. package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  85. package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  86. package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  87. package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  88. package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  89. package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  90. package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  91. package/dist/behaviors/behaviors-registry.json +2913 -156
  92. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  93. package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  94. package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
  95. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  96. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  97. package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  98. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  99. package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  100. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  101. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  102. package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  103. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  104. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  105. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  106. package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
  107. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  108. package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
  109. package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  110. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  111. package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
  112. package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  113. package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  114. package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  115. package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  116. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  117. package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  118. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  119. package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
  120. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  121. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  122. package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
  123. package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
  124. package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
  125. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  126. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  127. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  128. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  129. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  130. package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  131. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  132. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  133. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  134. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  135. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  136. package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  137. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  138. package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
  139. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  140. package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  141. package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  142. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  143. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  144. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  145. package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  146. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  147. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  148. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  149. package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
  150. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  151. package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  152. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  153. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  154. package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  155. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  156. package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  157. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  158. package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  159. package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  160. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  161. package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  162. package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  163. package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  164. package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  165. package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  166. package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  167. package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  168. package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  169. package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  170. package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  171. package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  172. package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  173. package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  174. package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  175. package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  176. package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  177. package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  178. package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  179. package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  180. package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  181. package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  182. package/dist/behaviors-registry.json +2913 -156
  183. package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
  184. package/dist/registry/app/atoms/std-applicant.orb +207 -165
  185. package/dist/registry/app/atoms/std-application.orb +300 -188
  186. package/dist/registry/app/atoms/std-approval-request.orb +370 -215
  187. package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
  188. package/dist/registry/app/atoms/std-change-order.orb +458 -194
  189. package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  190. package/dist/registry/app/atoms/std-checkin.orb +215 -151
  191. package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
  192. package/dist/registry/app/atoms/std-class-roster.orb +343 -170
  193. package/dist/registry/app/atoms/std-class-session.orb +321 -190
  194. package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
  195. package/dist/registry/app/atoms/std-customer-account.orb +376 -157
  196. package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
  197. package/dist/registry/app/atoms/std-donor.orb +191 -156
  198. package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
  199. package/dist/registry/app/atoms/std-driver.orb +440 -202
  200. package/dist/registry/app/atoms/std-dunning.orb +431 -167
  201. package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
  202. package/dist/registry/app/atoms/std-event.orb +309 -178
  203. package/dist/registry/app/atoms/std-form-builder.orb +353 -220
  204. package/dist/registry/app/atoms/std-health-score.orb +218 -183
  205. package/dist/registry/app/atoms/std-help-article.orb +425 -162
  206. package/dist/registry/app/atoms/std-help-category.orb +409 -166
  207. package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
  208. package/dist/registry/app/atoms/std-invoice.orb +349 -211
  209. package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
  210. package/dist/registry/app/atoms/std-lease.orb +411 -178
  211. package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
  212. package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
  213. package/dist/registry/app/atoms/std-matter.orb +415 -189
  214. package/dist/registry/app/atoms/std-membership.orb +387 -167
  215. package/dist/registry/app/atoms/std-menu.orb +232 -175
  216. package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
  217. package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
  218. package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
  219. package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
  220. package/dist/registry/app/atoms/std-question-bank.orb +211 -145
  221. package/dist/registry/app/atoms/std-receipt.orb +248 -177
  222. package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
  223. package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
  224. package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
  225. package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
  226. package/dist/registry/app/atoms/std-response-collector.orb +213 -150
  227. package/dist/registry/app/atoms/std-rfi.orb +365 -210
  228. package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
  229. package/dist/registry/app/atoms/std-segment.orb +173 -139
  230. package/dist/registry/app/atoms/std-stock-level.orb +205 -135
  231. package/dist/registry/app/atoms/std-submittal.orb +323 -166
  232. package/dist/registry/app/atoms/std-table-map.orb +187 -63
  233. package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
  234. package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
  235. package/dist/registry/app/atoms/std-template-editor.orb +255 -189
  236. package/dist/registry/app/atoms/std-tenant.orb +375 -147
  237. package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
  238. package/dist/registry/app/atoms/std-time-entry.orb +259 -150
  239. package/dist/registry/app/atoms/std-timesheet.orb +292 -183
  240. package/dist/registry/app/atoms/std-trial.orb +401 -183
  241. package/dist/registry/app/atoms/std-vehicle.orb +447 -205
  242. package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  243. package/dist/registry/app/atoms/std-waitlist.orb +308 -177
  244. package/dist/registry/app/atoms/std-warehouse.orb +211 -141
  245. package/dist/registry/app/atoms/std-work-order.orb +374 -219
  246. package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
  247. package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
  248. package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
  249. package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
  250. package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
  251. package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
  252. package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  253. package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
  254. package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  255. package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
  256. package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  257. package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
  258. package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  259. package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  260. package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  261. package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  262. package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  263. package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
  264. package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  265. package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  266. package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
  267. package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  268. package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
  269. package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  270. package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
  271. package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
  272. package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  273. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-stock-level",
3
- "version": "1.1.0",
4
- "description": "std-stock-level — on-hand quantity primitive for a SKU at a location. Lists stock rows in `browsing`; opens row detail in `viewing_single` with Adjust / Recount actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-stock-level — on-hand quantity primitive for a SKU at a location. Lists stock rows; detail offers Adjust / Recount. Exposes Inventory/Logistics knobs (lowStockThreshold, reorderPoint, multiLocationEnabled, …) for the questionnaire.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "StockLevelOrbital",
@@ -255,22 +255,22 @@
255
255
  "render-ui",
256
256
  "main",
257
257
  {
258
- "direction": "vertical",
258
+ "align": "center",
259
+ "gap": "md",
260
+ "type": "stack",
261
+ "className": "py-12",
259
262
  "children": [
260
263
  {
261
264
  "type": "spinner"
262
265
  },
263
266
  {
264
- "content": "Loading stock levels…",
267
+ "color": "muted",
265
268
  "type": "typography",
266
- "variant": "caption",
267
- "color": "muted"
269
+ "content": "Loading stock levels…",
270
+ "variant": "caption"
268
271
  }
269
272
  ],
270
- "type": "stack",
271
- "align": "center",
272
- "gap": "md",
273
- "className": "py-12"
273
+ "direction": "vertical"
274
274
  }
275
275
  ]
276
276
  ]
@@ -284,69 +284,69 @@
284
284
  "render-ui",
285
285
  "main",
286
286
  {
287
- "type": "stack",
287
+ "gap": "md",
288
288
  "children": [
289
289
  {
290
- "align": "center",
291
290
  "children": [
292
291
  {
293
- "type": "icon",
294
- "name": "package"
292
+ "name": "package",
293
+ "type": "icon"
295
294
  },
296
295
  {
297
296
  "variant": "h3",
298
- "content": "@config.title",
299
- "type": "typography"
297
+ "type": "typography",
298
+ "content": "@config.title"
300
299
  }
301
300
  ],
302
- "gap": "sm",
303
301
  "type": "stack",
304
- "direction": "horizontal"
302
+ "direction": "horizontal",
303
+ "gap": "sm",
304
+ "align": "center"
305
305
  },
306
306
  {
307
+ "type": "simple-grid",
308
+ "cols": 4.0,
307
309
  "children": [
308
310
  {
309
- "type": "stat-display",
310
311
  "icon": "package",
312
+ "type": "stat-display",
311
313
  "label": "Total SKUs",
312
314
  "value": "@payload.data.length"
313
315
  },
314
316
  {
315
- "icon": "alert-triangle",
316
- "label": "Below reorder",
317
317
  "value": "12",
318
- "type": "stat-display"
318
+ "icon": "alert-triangle",
319
+ "type": "stat-display",
320
+ "label": "Below reorder"
319
321
  },
320
322
  {
321
323
  "label": "Total on hand",
322
324
  "icon": "boxes",
323
- "value": "8,420",
324
- "type": "stat-display"
325
+ "type": "stat-display",
326
+ "value": "8,420"
325
327
  },
326
328
  {
327
- "type": "stat-display",
328
- "label": "Reserved",
329
+ "icon": "lock",
329
330
  "value": "1,260",
330
- "icon": "lock"
331
+ "label": "Reserved",
332
+ "type": "stat-display"
331
333
  }
332
- ],
333
- "cols": 4.0,
334
- "type": "simple-grid"
334
+ ]
335
335
  },
336
336
  {
337
337
  "type": "divider"
338
338
  },
339
339
  {
340
- "fields": "@config.fields",
341
- "entity": "@payload.data",
342
340
  "type": "data-grid",
343
- "cols": 1.0,
341
+ "entity": "@payload.data",
344
342
  "gap": "sm",
345
- "itemActions": "@config.itemActions"
343
+ "itemActions": "@config.itemActions",
344
+ "cols": 1.0,
345
+ "fields": "@config.fields"
346
346
  }
347
347
  ],
348
- "direction": "vertical",
349
- "gap": "md"
348
+ "type": "stack",
349
+ "direction": "vertical"
350
350
  }
351
351
  ]
352
352
  ]
@@ -360,9 +360,9 @@
360
360
  "render-ui",
361
361
  "main",
362
362
  {
363
+ "message": "@payload.error",
363
364
  "type": "alert",
364
- "variant": "error",
365
- "message": "@payload.error"
365
+ "variant": "error"
366
366
  }
367
367
  ]
368
368
  ]
@@ -416,16 +416,15 @@
416
416
  "render-ui",
417
417
  "main",
418
418
  {
419
+ "direction": "vertical",
419
420
  "children": [
420
421
  {
421
- "type": "stack",
422
422
  "direction": "horizontal",
423
- "align": "center",
424
423
  "children": [
425
424
  {
425
+ "type": "button",
426
426
  "label": "Back",
427
427
  "action": "CLOSE_VIEW",
428
- "type": "button",
429
428
  "variant": "ghost"
430
429
  },
431
430
  {
@@ -433,9 +432,9 @@
433
432
  "type": "icon"
434
433
  },
435
434
  {
436
- "type": "typography",
435
+ "content": "@entity.productName",
437
436
  "variant": "h3",
438
- "content": "@entity.productName"
437
+ "type": "typography"
439
438
  },
440
439
  {
441
440
  "type": "badge",
@@ -443,34 +442,36 @@
443
442
  "variant": "primary"
444
443
  }
445
444
  ],
445
+ "align": "center",
446
+ "type": "stack",
446
447
  "gap": "sm"
447
448
  },
448
449
  {
449
450
  "type": "divider"
450
451
  },
451
452
  {
452
- "gap": "sm",
453
- "direction": "vertical",
454
453
  "children": [
455
454
  {
456
455
  "type": "stack",
456
+ "direction": "horizontal",
457
+ "gap": "md",
457
458
  "children": [
458
459
  {
459
- "type": "typography",
460
- "content": "Location",
461
460
  "variant": "caption",
462
- "color": "muted"
461
+ "content": "Location",
462
+ "color": "muted",
463
+ "type": "typography"
463
464
  },
464
465
  {
465
466
  "type": "typography",
466
- "content": "@entity.locationId",
467
- "variant": "body"
467
+ "variant": "body",
468
+ "content": "@entity.locationId"
468
469
  }
469
- ],
470
- "direction": "horizontal",
471
- "gap": "md"
470
+ ]
472
471
  },
473
472
  {
473
+ "type": "stack",
474
+ "gap": "md",
474
475
  "children": [
475
476
  {
476
477
  "color": "muted",
@@ -479,16 +480,16 @@
479
480
  "variant": "caption"
480
481
  },
481
482
  {
482
- "content": "@entity.lastCounted",
483
483
  "type": "typography",
484
+ "content": "@entity.lastCounted",
484
485
  "variant": "body"
485
486
  }
486
487
  ],
487
- "type": "stack",
488
- "direction": "horizontal",
489
- "gap": "md"
488
+ "direction": "horizontal"
490
489
  }
491
490
  ],
491
+ "gap": "sm",
492
+ "direction": "vertical",
492
493
  "type": "stack"
493
494
  },
494
495
  {
@@ -497,57 +498,56 @@
497
498
  {
498
499
  "children": [
499
500
  {
500
- "icon": "boxes",
501
- "type": "stat-display",
502
501
  "value": "@entity.onHand",
502
+ "type": "stat-display",
503
+ "icon": "boxes",
503
504
  "label": "On hand"
504
505
  },
505
506
  {
506
- "label": "Reserved",
507
507
  "type": "stat-display",
508
+ "label": "Reserved",
508
509
  "value": "@entity.reserved",
509
510
  "icon": "lock"
510
511
  },
511
512
  {
512
- "value": "@entity.reorderPoint",
513
+ "type": "stat-display",
513
514
  "label": "Reorder at",
514
- "icon": "alert-triangle",
515
- "type": "stat-display"
515
+ "value": "@entity.reorderPoint",
516
+ "icon": "alert-triangle"
516
517
  }
517
518
  ],
518
- "type": "simple-grid",
519
- "cols": 3.0
519
+ "cols": 3.0,
520
+ "type": "simple-grid"
520
521
  },
521
522
  {
522
523
  "align": "center",
523
- "direction": "horizontal",
524
- "type": "stack",
525
524
  "children": [
526
525
  {
527
- "action": "ADJUST_STOCK",
528
- "type": "button",
529
526
  "label": "Adjust",
530
- "variant": "primary",
527
+ "action": "ADJUST_STOCK",
531
528
  "actionPayload": {
532
529
  "id": "@entity.id"
533
- }
530
+ },
531
+ "type": "button",
532
+ "variant": "primary"
534
533
  },
535
534
  {
535
+ "type": "button",
536
536
  "label": "Recount",
537
537
  "variant": "secondary",
538
538
  "actionPayload": {
539
539
  "id": "@entity.id"
540
540
  },
541
- "type": "button",
542
541
  "action": "RECOUNT"
543
542
  }
544
543
  ],
545
- "gap": "sm"
544
+ "gap": "sm",
545
+ "direction": "horizontal",
546
+ "type": "stack"
546
547
  }
547
548
  ],
548
- "gap": "md",
549
- "direction": "vertical",
550
- "type": "stack"
549
+ "type": "stack",
550
+ "gap": "md"
551
551
  }
552
552
  ]
553
553
  ]
@@ -576,21 +576,21 @@
576
576
  "render-ui",
577
577
  "main",
578
578
  {
579
- "gap": "md",
580
- "align": "center",
581
579
  "direction": "vertical",
580
+ "align": "center",
582
581
  "className": "py-12",
583
582
  "children": [
584
583
  {
585
584
  "type": "spinner"
586
585
  },
587
586
  {
587
+ "type": "typography",
588
588
  "variant": "caption",
589
589
  "content": "Adjusting stock…",
590
- "type": "typography",
591
590
  "color": "muted"
592
591
  }
593
592
  ],
593
+ "gap": "md",
594
594
  "type": "stack"
595
595
  }
596
596
  ]
@@ -620,22 +620,22 @@
620
620
  "render-ui",
621
621
  "main",
622
622
  {
623
- "gap": "md",
624
- "align": "center",
625
- "direction": "vertical",
626
623
  "children": [
627
624
  {
628
625
  "type": "spinner"
629
626
  },
630
627
  {
628
+ "content": "Recounting stock…",
631
629
  "variant": "caption",
632
630
  "type": "typography",
633
- "color": "muted",
634
- "content": "Recounting stock…"
631
+ "color": "muted"
635
632
  }
636
633
  ],
637
- "type": "stack",
638
- "className": "py-12"
634
+ "direction": "vertical",
635
+ "className": "py-12",
636
+ "align": "center",
637
+ "gap": "md",
638
+ "type": "stack"
639
639
  }
640
640
  ]
641
641
  ]
@@ -663,18 +663,18 @@
663
663
  "type": "stack",
664
664
  "align": "center",
665
665
  "className": "py-12",
666
- "direction": "vertical",
667
666
  "children": [
668
667
  {
669
668
  "type": "spinner"
670
669
  },
671
670
  {
672
671
  "type": "typography",
673
- "content": "Loading stock levels…",
672
+ "variant": "caption",
674
673
  "color": "muted",
675
- "variant": "caption"
674
+ "content": "Loading stock levels…"
676
675
  }
677
- ]
676
+ ],
677
+ "direction": "vertical"
678
678
  }
679
679
  ]
680
680
  ]
@@ -694,8 +694,8 @@
694
694
  "StockLevel",
695
695
  {
696
696
  "emit": {
697
- "success": "StockLevelLoaded",
698
- "failure": "StockLevelLoadFailed"
697
+ "failure": "StockLevelLoadFailed",
698
+ "success": "StockLevelLoaded"
699
699
  }
700
700
  }
701
701
  ],
@@ -703,20 +703,20 @@
703
703
  "render-ui",
704
704
  "main",
705
705
  {
706
- "align": "center",
707
- "className": "py-12",
708
- "direction": "vertical",
709
706
  "gap": "md",
707
+ "align": "center",
710
708
  "type": "stack",
709
+ "direction": "vertical",
710
+ "className": "py-12",
711
711
  "children": [
712
712
  {
713
713
  "type": "spinner"
714
714
  },
715
715
  {
716
716
  "variant": "caption",
717
+ "content": "Adjusting stock…",
717
718
  "type": "typography",
718
- "color": "muted",
719
- "content": "Adjusting stock…"
719
+ "color": "muted"
720
720
  }
721
721
  ]
722
722
  }
@@ -747,22 +747,22 @@
747
747
  "render-ui",
748
748
  "main",
749
749
  {
750
+ "type": "stack",
751
+ "gap": "md",
750
752
  "className": "py-12",
753
+ "align": "center",
754
+ "direction": "vertical",
751
755
  "children": [
752
756
  {
753
757
  "type": "spinner"
754
758
  },
755
759
  {
756
- "color": "muted",
760
+ "variant": "caption",
757
761
  "content": "Recounting stock…",
758
762
  "type": "typography",
759
- "variant": "caption"
763
+ "color": "muted"
760
764
  }
761
- ],
762
- "gap": "md",
763
- "type": "stack",
764
- "direction": "vertical",
765
- "align": "center"
765
+ ]
766
766
  }
767
767
  ]
768
768
  ]
@@ -777,8 +777,8 @@
777
777
  "StockLevel",
778
778
  {
779
779
  "emit": {
780
- "failure": "StockLevelLoadFailed",
781
- "success": "StockLevelLoaded"
780
+ "success": "StockLevelLoaded",
781
+ "failure": "StockLevelLoadFailed"
782
782
  }
783
783
  }
784
784
  ],
@@ -795,19 +795,75 @@
795
795
  ]
796
796
  },
797
797
  "config": {
798
+ "expiryTrackingEnabled": {
799
+ "type": "boolean",
800
+ "default": false,
801
+ "label": "Expiry tracking",
802
+ "description": "Track expiry dates and surface near-expiry rows. v1.2 declarative.",
803
+ "tier": "customization"
804
+ },
805
+ "title": {
806
+ "type": "string",
807
+ "default": "Stock Levels",
808
+ "label": "Section title",
809
+ "description": "Heading shown above the inventory stock list",
810
+ "tier": "customization"
811
+ },
812
+ "defaultWarehouse": {
813
+ "type": "string",
814
+ "default": "",
815
+ "label": "Default warehouse",
816
+ "description": "Warehouse used when a row doesn't specify a location.",
817
+ "tier": "customization"
818
+ },
819
+ "multiLocationEnabled": {
820
+ "type": "boolean",
821
+ "default": false,
822
+ "label": "Multi-location",
823
+ "description": "Track on-hand stock across multiple warehouses.",
824
+ "tier": "customization"
825
+ },
826
+ "reorderPoint": {
827
+ "type": "number",
828
+ "default": 5.0,
829
+ "label": "Default reorder point",
830
+ "description": "Default reorder trigger applied to new stock rows when their per-row reorderPoint isn't set.",
831
+ "tier": "essential"
832
+ },
833
+ "serialTrackingEnabled": {
834
+ "type": "boolean",
835
+ "default": false,
836
+ "label": "Serial tracking",
837
+ "description": "Track individual serial numbers per unit. v1.2 declarative.",
838
+ "tier": "customization"
839
+ },
840
+ "hazmatEnabled": {
841
+ "type": "boolean",
842
+ "default": false,
843
+ "label": "Hazmat-classified inventory",
844
+ "description": "Flag hazmat SKUs for handling/storage compliance.",
845
+ "tier": "advanced"
846
+ },
847
+ "safetyStockDays": {
848
+ "type": "number",
849
+ "default": 7.0,
850
+ "label": "Safety stock (days)",
851
+ "description": "Days of expected demand to keep as buffer above the reorder point.",
852
+ "tier": "customization"
853
+ },
798
854
  "itemActions": {
799
855
  "type": "[ItemAction]",
800
856
  "default": [
801
857
  {
802
- "icon": "arrow-right",
803
858
  "label": "Open",
859
+ "variant": "primary",
804
860
  "event": "OPEN_STOCK",
805
- "variant": "primary"
861
+ "icon": "arrow-right"
806
862
  },
807
863
  {
808
864
  "label": "Adjust",
809
- "variant": "danger",
810
- "event": "ADJUST_STOCK"
865
+ "event": "ADJUST_STOCK",
866
+ "variant": "danger"
811
867
  }
812
868
  ],
813
869
  "label": "Row actions",
@@ -821,13 +877,13 @@
821
877
  "type": "string",
822
878
  "required": false
823
879
  },
824
- "label": {
825
- "name": "label",
880
+ "event": {
881
+ "name": "event",
826
882
  "type": "string",
827
883
  "required": true
828
884
  },
829
- "event": {
830
- "name": "event",
885
+ "label": {
886
+ "name": "label",
831
887
  "type": "string",
832
888
  "required": true
833
889
  },
@@ -839,40 +895,54 @@
839
895
  }
840
896
  }
841
897
  },
842
- "title": {
843
- "type": "string",
844
- "default": "Stock Levels",
845
- "label": "Section title",
846
- "description": "Heading shown above the inventory stock list",
898
+ "cycleCountFrequencyDays": {
899
+ "type": "number",
900
+ "default": 30.0,
901
+ "label": "Cycle count cadence (days)",
902
+ "description": "Days between scheduled inventory cycle counts. v1.2 declarative; wire via sibling std-lifecycle when available.",
903
+ "tier": "advanced"
904
+ },
905
+ "lowStockThreshold": {
906
+ "type": "number",
907
+ "default": 10.0,
908
+ "label": "Low-stock threshold",
909
+ "description": "Default on-hand quantity below which a SKU is flagged as low. v1.2 declarative; surfaced for downstream std-notify composition.",
910
+ "tier": "essential"
911
+ },
912
+ "lotTrackingEnabled": {
913
+ "type": "boolean",
914
+ "default": false,
915
+ "label": "Lot tracking",
916
+ "description": "Track lot/batch numbers per receipt. v1.2 declarative.",
847
917
  "tier": "customization"
848
918
  },
849
919
  "fields": {
850
920
  "type": "[FieldSpec]",
851
921
  "default": [
852
922
  {
853
- "variant": "caption",
854
923
  "name": "sku",
855
- "label": "SKU"
924
+ "label": "SKU",
925
+ "variant": "caption"
856
926
  },
857
927
  {
928
+ "variant": "caption",
858
929
  "name": "productName",
859
- "label": "Product",
860
- "variant": "caption"
930
+ "label": "Product"
861
931
  },
862
932
  {
863
- "label": "Location",
933
+ "name": "locationId",
864
934
  "variant": "caption",
865
- "name": "locationId"
935
+ "label": "Location"
866
936
  },
867
937
  {
868
- "name": "onHand",
869
938
  "label": "On Hand",
870
- "variant": "caption"
939
+ "variant": "caption",
940
+ "name": "onHand"
871
941
  },
872
942
  {
873
- "label": "Reorder At",
874
943
  "variant": "caption",
875
- "name": "reorderPoint"
944
+ "name": "reorderPoint",
945
+ "label": "Reorder At"
876
946
  }
877
947
  ],
878
948
  "label": "Columns to show",
@@ -881,11 +951,6 @@
881
951
  "items": {
882
952
  "type": "object",
883
953
  "properties": {
884
- "format": {
885
- "name": "format",
886
- "type": "string",
887
- "required": false
888
- },
889
954
  "key": {
890
955
  "name": "key",
891
956
  "type": "string",
@@ -915,6 +980,11 @@
915
980
  "name": "label",
916
981
  "type": "string",
917
982
  "required": false
983
+ },
984
+ "format": {
985
+ "name": "format",
986
+ "type": "string",
987
+ "required": false
918
988
  }
919
989
  }
920
990
  }
@@ -936,4 +1006,4 @@
936
1006
  ]
937
1007
  }
938
1008
  ]
939
- }
1009
+ }