themelia-react-ui 2.0.5 → 3.0.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 (968) hide show
  1. package/CHANGELOG.md +326 -0
  2. package/MIGRATION.md +858 -0
  3. package/README.md +35 -24
  4. package/dist/{accordion-B9MHG0cT.js → accordion-DNVqwEIC.js} +37 -37
  5. package/dist/accordion-DNVqwEIC.js.map +1 -0
  6. package/dist/action-menu-D5343RwT.js +286 -0
  7. package/dist/action-menu-D5343RwT.js.map +1 -0
  8. package/dist/ai-artifact-otrz9ZwS.js +1214 -0
  9. package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
  10. package/dist/anchored-positioning-1U_eBFNx.js +9 -0
  11. package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
  12. package/dist/app-shell-CPN30Nb1.js +372 -0
  13. package/dist/app-shell-CPN30Nb1.js.map +1 -0
  14. package/dist/{attachment-Dg_69lPS.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-Dg_69lPS.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-DTkkshS8.js → auth-g_oUTDDC.js} +236 -243
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-CeZaFmNH.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-CeZaFmNH.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-xIiV_E7f.js → badge-oGiXblW7.js} +8 -9
  21. package/dist/badge-oGiXblW7.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +2 -2
  29. package/dist/base/cards.js +3 -3
  30. package/dist/base/carousel.js +11 -11
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +2 -2
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +4 -4
  42. package/dist/base/forms-numeric.js +2 -2
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +13 -13
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +203 -2
  48. package/dist/base/media-gallery.js.map +1 -0
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +32 -22
  54. package/dist/base/qr-code.js.map +1 -1
  55. package/dist/base/repeaters.js +208 -198
  56. package/dist/base/repeaters.js.map +1 -1
  57. package/dist/base/sidebar.js +2 -2
  58. package/dist/base/signature-pad.js +14 -14
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +8 -14
  62. package/dist/base/spinner.js.map +1 -1
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +3 -3
  66. package/dist/base/toaster.js +2 -2
  67. package/dist/base/tree.js +2 -2
  68. package/dist/base/upload-queue.js +303 -2
  69. package/dist/base/upload-queue.js.map +1 -0
  70. package/dist/base/upload.js +3 -4
  71. package/dist/base/value-inputs.js +1 -1
  72. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
  74. package/dist/blocks/admin.js +242 -228
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +398 -354
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/charts.js +1022 -0
  79. package/dist/blocks/analytics/charts.js.map +1 -0
  80. package/dist/blocks/analytics/usage-card.js +1 -1
  81. package/dist/blocks/analytics.js +173 -1392
  82. package/dist/blocks/analytics.js.map +1 -1
  83. package/dist/blocks/collaboration.js +1 -1
  84. package/dist/blocks/commerce/receipt.js +1 -1
  85. package/dist/blocks/commerce.js +1533 -1399
  86. package/dist/blocks/commerce.js.map +1 -1
  87. package/dist/blocks/data-display.js +2 -3
  88. package/dist/blocks/onboarding.js +91 -82
  89. package/dist/blocks/onboarding.js.map +1 -1
  90. package/dist/blocks/planning.js +25 -25
  91. package/dist/blocks/planning.js.map +1 -1
  92. package/dist/blocks/timelines.js +2 -2
  93. package/dist/breadcrumbs-CQ9JSlez.js +136 -0
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-S2Cubiiz.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-BedGfygC.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-rNX1M4Xn.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-rNX1M4Xn.js.map → cards-CgWyqvgZ.js.map} +1 -1
  101. package/dist/cascader-Cf05pwaq.js +444 -0
  102. package/dist/cascader-Cf05pwaq.js.map +1 -0
  103. package/dist/{chart-Darg_0Kv.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-Darg_0Kv.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-fflqmODR.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-fflqmODR.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-oJEsrb5Y.js} +195 -184
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BzmM9Eig.js → code-block-BrLD7mCi.js} +44 -60
  110. package/dist/code-block-BrLD7mCi.js.map +1 -0
  111. package/dist/collapsible-CRCCg_bO.js +80 -0
  112. package/dist/collapsible-CRCCg_bO.js.map +1 -0
  113. package/dist/{collection-content-gDh1v6O4.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-D7SoDlYd.js.map} +1 -1
  115. package/dist/combobox-Dl6f6kHz.js +362 -0
  116. package/dist/combobox-Dl6f6kHz.js.map +1 -0
  117. package/dist/combobox-DrDXtSSt.js +929 -0
  118. package/dist/combobox-DrDXtSSt.js.map +1 -0
  119. package/dist/command-CjZ2VzKC.js +432 -0
  120. package/dist/command-CjZ2VzKC.js.map +1 -0
  121. package/dist/comments-C2MZyRmh.js +1214 -0
  122. package/dist/comments-C2MZyRmh.js.map +1 -0
  123. package/dist/components/base/accordion/accordion.d.ts +11 -3
  124. package/dist/components/base/action-menu/action-menu.d.ts +11 -3
  125. package/dist/components/base/buttons/button.d.ts +2 -2
  126. package/dist/components/base/buttons/index.d.ts +1 -1
  127. package/dist/components/base/buttons/loader-button.d.ts +6 -15
  128. package/dist/components/base/cards/index.d.ts +1 -1
  129. package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
  130. package/dist/components/base/cards/smart-card.d.ts +0 -2
  131. package/dist/components/base/cards/smart-card.types.d.ts +12 -10
  132. package/dist/components/base/cascader/cascader.d.ts +8 -2
  133. package/dist/components/base/cascader/cascader.types.d.ts +24 -2
  134. package/dist/components/base/cascader/index.d.ts +1 -1
  135. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  136. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  137. package/dist/components/base/choice-inputs/switch.d.ts +1 -1
  138. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  139. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  140. package/dist/components/base/command/command.d.ts +1 -1
  141. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  142. package/dist/components/base/date-pickers/datepicker.types.d.ts +11 -7
  143. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  144. package/dist/components/base/display/dialog.d.ts +3 -9
  145. package/dist/components/base/display/index.d.ts +2 -3
  146. package/dist/components/base/display/separator.d.ts +1 -1
  147. package/dist/components/base/feedback/alert.d.ts +2 -1
  148. package/dist/components/base/feedback/empty.d.ts +10 -2
  149. package/dist/components/base/feedback/state-display.d.ts +5 -1
  150. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  151. package/dist/components/base/forms/form-field.d.ts +7 -2
  152. package/dist/components/base/forms/workflow.d.ts +2 -2
  153. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  154. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  155. package/dist/components/base/forms-numeric/dimensions-input.d.ts +13 -18
  156. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  157. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  158. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  159. package/dist/components/base/item/item.types.d.ts +6 -2
  160. package/dist/components/base/metadata-list/index.d.ts +1 -3
  161. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  162. package/dist/components/base/navigation/index.d.ts +2 -2
  163. package/dist/components/base/navigation/language-switcher.d.ts +17 -8
  164. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  165. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  166. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  167. package/dist/components/base/navigation/pagination.d.ts +5 -5
  168. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  169. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  170. package/dist/components/base/repeaters/index.d.ts +1 -1
  171. package/dist/components/base/repeaters/key-value-editor.d.ts +6 -1
  172. package/dist/components/base/sheet/sheet.d.ts +6 -15
  173. package/dist/components/base/sidebar/index.d.ts +1 -6
  174. package/dist/components/base/sidebar/sidebar.d.ts +40 -10
  175. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  176. package/dist/components/base/structure/structure.types.d.ts +11 -2
  177. package/dist/components/base/text-inputs/index.d.ts +1 -1
  178. package/dist/components/base/tree/index.d.ts +1 -0
  179. package/dist/components/base/tree/tree.d.ts +2 -2
  180. package/dist/components/base/tree/tree.types.d.ts +7 -1
  181. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  182. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  183. package/dist/components/base/upload/image-upload.d.ts +4 -1
  184. package/dist/components/base/upload/index.d.ts +3 -9
  185. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  186. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  187. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  188. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  189. package/dist/components/blocks/admin/index.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  191. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  192. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  193. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  194. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  195. package/dist/components/blocks/ai/ai-citation/types.d.ts +8 -0
  196. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  197. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  198. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  199. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  200. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  201. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  202. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  203. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  204. package/dist/components/blocks/ai/ai-sources/types.d.ts +10 -2
  205. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  206. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  207. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  208. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +8 -0
  209. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  210. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  211. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  212. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  213. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  214. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  215. package/dist/components/blocks/analytics/index.d.ts +17 -24
  216. package/dist/components/blocks/analytics/metric/metric.d.ts +7 -3
  217. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  218. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  219. package/dist/components/blocks/analytics/types.d.ts +13 -4
  220. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  221. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  222. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  223. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  224. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  225. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  226. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  227. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  228. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  229. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  230. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  231. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  232. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  233. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  234. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  235. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  236. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  237. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  238. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  239. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  240. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  241. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  242. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  243. package/dist/components/blocks/commerce/index.d.ts +8 -8
  244. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  245. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  246. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  247. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  248. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  249. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  250. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/order-status/types.d.ts +12 -8
  252. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  253. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  254. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  255. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  256. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  257. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  258. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  259. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  260. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  261. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  262. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  263. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  264. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  265. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  266. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  267. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  268. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  269. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  270. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  271. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  272. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  273. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  274. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  275. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  276. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  277. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  278. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  279. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  280. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  281. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  282. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  283. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  284. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +10 -3
  285. package/dist/components/blocks/data-display/index.d.ts +0 -1
  286. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  287. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  288. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  289. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  290. package/dist/components/blocks/timelines/index.d.ts +2 -2
  291. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  292. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  293. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  294. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  295. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  296. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  297. package/dist/components/features/activities/activities.types.d.ts +46 -22
  298. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  299. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  300. package/dist/components/features/activities/index.d.ts +1 -1
  301. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  302. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  303. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  304. package/dist/components/features/activities/relative-time.d.ts +18 -0
  305. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  306. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  307. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  308. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  309. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  310. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  311. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  312. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  313. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  314. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +20 -4
  315. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  316. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  317. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  318. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  319. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  320. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  321. package/dist/components/features/combobox/combobox.d.ts +12 -3
  322. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  323. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +4 -3
  324. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  325. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  326. package/dist/components/features/combobox/index.d.ts +1 -1
  327. package/dist/components/features/combobox/types.d.ts +68 -37
  328. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  329. package/dist/components/features/comments/comments.types.d.ts +40 -26
  330. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  331. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  332. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  333. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  334. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  335. package/dist/components/features/email-composer/http.d.ts +2 -0
  336. package/dist/components/features/email-composer/strings.d.ts +17 -2
  337. package/dist/components/features/email-composer/types.d.ts +19 -2
  338. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  339. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  340. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  341. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  342. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  343. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  344. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  345. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  346. package/dist/components/features/filters/facets/range-facet.d.ts +24 -7
  347. package/dist/components/features/filters/filter-context.d.ts +9 -0
  348. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  349. package/dist/components/features/filters/filters.types.d.ts +75 -8
  350. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  351. package/dist/components/features/filters/index.d.ts +2 -2
  352. package/dist/components/features/filters/operator-options.d.ts +25 -2
  353. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  354. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  355. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  356. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  357. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  358. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  359. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  360. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  361. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  362. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  363. package/dist/components/features/filters/utils/filter-utils.d.ts +34 -5
  364. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  365. package/dist/components/features/global-search/global-search.d.ts +7 -1
  366. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  367. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  368. package/dist/components/features/global-search/index.d.ts +1 -1
  369. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  370. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  371. package/dist/components/features/kanban/index.d.ts +2 -2
  372. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  373. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  374. package/dist/components/features/kanban/kanban.d.ts +10 -1
  375. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  376. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  377. package/dist/components/features/map/map.d.ts +4 -0
  378. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  379. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  380. package/dist/components/features/media-library/media-library.d.ts +1 -1
  381. package/dist/components/features/media-library/media-library.strings.d.ts +39 -3
  382. package/dist/components/features/media-library/media-library.types.d.ts +82 -9
  383. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  384. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  385. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  386. package/dist/components/features/mentions/index.d.ts +1 -1
  387. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  388. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  389. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +12 -1
  390. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  391. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  392. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  393. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  394. package/dist/components/features/overlays/dialog.d.ts +1 -1
  395. package/dist/components/features/overlays/drawer.d.ts +1 -1
  396. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  397. package/dist/components/features/overlays/index.d.ts +2 -2
  398. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  399. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  400. package/dist/components/features/products/components/index.d.ts +0 -10
  401. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  402. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  403. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  404. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  405. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  406. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  407. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  408. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  409. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  410. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  411. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  412. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  413. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  414. package/dist/components/features/products/products.strings.d.ts +8 -0
  415. package/dist/components/features/products/products.types.d.ts +26 -8
  416. package/dist/components/features/questionnaire/questionnaire.types.d.ts +7 -2
  417. package/dist/components/features/resource/index.d.ts +2 -3
  418. package/dist/components/features/resource/resource.d.ts +2 -10
  419. package/dist/components/features/resource/resource.types.d.ts +7 -147
  420. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  421. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  422. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  423. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  424. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  425. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  426. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  427. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  428. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  429. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  430. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +5 -4
  431. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  432. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +30 -4
  433. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +10 -1
  434. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  435. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  436. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  437. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  438. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  439. package/dist/components/features/suggestions/suggestions.types.d.ts +13 -5
  440. package/dist/components/features/table/data-table.d.ts +1 -1
  441. package/dist/components/features/table/filter-bar.d.ts +1 -1
  442. package/dist/components/features/table/index.d.ts +1 -0
  443. package/dist/components/features/table/pagination.d.ts +1 -1
  444. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  445. package/dist/components/features/table/table-body.d.ts +1 -1
  446. package/dist/components/features/table/table-header.d.ts +1 -1
  447. package/dist/components/features/table/table-helpers.d.ts +37 -12
  448. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  449. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  450. package/dist/components/features/table/table.strings.d.ts +4 -0
  451. package/dist/components/features/table/table.types.d.ts +91 -49
  452. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  453. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  454. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  455. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  456. package/dist/components/layout/app-shell/index.d.ts +2 -2
  457. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  458. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  459. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  460. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  461. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  462. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  463. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  464. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  465. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  466. package/dist/components/layout/header/header.types.d.ts +19 -8
  467. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  468. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  469. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  470. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  471. package/dist/components/layout/layout.types.d.ts +6 -4
  472. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  473. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  474. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  475. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  476. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  477. package/dist/components/layout/page/index.d.ts +2 -3
  478. package/dist/components/layout/page/page.strings.d.ts +12 -0
  479. package/dist/components/layout/page/page.types.d.ts +7 -110
  480. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  481. package/dist/components/layout/settings/index.d.ts +1 -1
  482. package/dist/components/layout/settings/settings.d.ts +4 -6
  483. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  484. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  485. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  486. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  487. package/dist/components/layout/sidebar/index.d.ts +1 -1
  488. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +17 -7
  489. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  490. package/dist/components/layout/sidebar/sidebar.types.d.ts +12 -12
  491. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  492. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  493. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  494. package/dist/components/primitives/date.d.ts +22 -3
  495. package/dist/components/primitives/file-size.d.ts +8 -2
  496. package/dist/components/primitives/index.d.ts +1 -1
  497. package/dist/components/primitives/initials.d.ts +3 -1
  498. package/dist/components/primitives/link.d.ts +11 -3
  499. package/dist/components/primitives/money.d.ts +2 -2
  500. package/dist/components/primitives/number.d.ts +3 -2
  501. package/dist/components/typography/heading.d.ts +9 -3
  502. package/dist/components/typography/index.d.ts +1 -1
  503. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  504. package/dist/components/typography/text-link.d.ts +10 -3
  505. package/dist/components/ui/badge.d.ts +2 -4
  506. package/dist/components/ui/breadcrumb.d.ts +2 -3
  507. package/dist/components/ui/button.d.ts +8 -2
  508. package/dist/components/ui/collapsible.d.ts +1 -4
  509. package/dist/components/ui/command.d.ts +20 -18
  510. package/dist/components/ui/dialog.d.ts +3 -9
  511. package/dist/components/ui/empty.d.ts +2 -2
  512. package/dist/components/ui/input-group.d.ts +3 -3
  513. package/dist/components/ui/item.d.ts +3 -3
  514. package/dist/components/ui/popover.d.ts +3 -7
  515. package/dist/components/ui/sheet.d.ts +4 -12
  516. package/dist/components/ui/sidebar-state.d.ts +6 -1
  517. package/dist/components/ui/sidebar.d.ts +7 -4
  518. package/dist/components/ui/tabs.d.ts +2 -2
  519. package/dist/components/ui/toggle-group.d.ts +3 -3
  520. package/dist/components/ui/toggle.d.ts +2 -2
  521. package/dist/components/ui/tooltip.d.ts +1 -3
  522. package/dist/{containers-CIxwbZt5.js → containers-BdfLTP4w.js} +37 -32
  523. package/dist/containers-BdfLTP4w.js.map +1 -0
  524. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  525. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  526. package/dist/{copyable-DIznBqiT.js → copyable-Bmr14W0d.js} +6 -6
  527. package/dist/{copyable-DIznBqiT.js.map → copyable-Bmr14W0d.js.map} +1 -1
  528. package/dist/{data-display-BdgCAw8T.js → data-display-CWe9SOYh.js} +264 -250
  529. package/dist/data-display-CWe9SOYh.js.map +1 -0
  530. package/dist/date-3qsCE1ID.js +209 -0
  531. package/dist/date-3qsCE1ID.js.map +1 -0
  532. package/dist/date-picker-D1keJQIG.js +1617 -0
  533. package/dist/date-picker-D1keJQIG.js.map +1 -0
  534. package/dist/date-pickers-D8aJoeHc.js +185 -0
  535. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  536. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  537. package/dist/{display-KsZLw9Ov.js → display-VlmP1I0i.js} +23 -46
  538. package/dist/display-VlmP1I0i.js.map +1 -0
  539. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-B8hjvbkS.js} +9 -9
  540. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  541. package/dist/dropzone-CHBNK3de.js +116 -0
  542. package/dist/dropzone-CHBNK3de.js.map +1 -0
  543. package/dist/features/activities.js +767 -700
  544. package/dist/features/activities.js.map +1 -1
  545. package/dist/features/ai-chat.js +280 -235
  546. package/dist/features/ai-chat.js.map +1 -1
  547. package/dist/features/appointment-calendar.js +430 -334
  548. package/dist/features/appointment-calendar.js.map +1 -1
  549. package/dist/features/async-preview.js +351 -265
  550. package/dist/features/async-preview.js.map +1 -1
  551. package/dist/features/combobox.js +2 -2
  552. package/dist/features/comments.js +1 -1
  553. package/dist/features/data-view.js +212 -151
  554. package/dist/features/data-view.js.map +1 -1
  555. package/dist/features/email-composer/engine.js +1 -1
  556. package/dist/features/email-composer.js +347 -313
  557. package/dist/features/email-composer.js.map +1 -1
  558. package/dist/features/event-calendar.js +501 -348
  559. package/dist/features/event-calendar.js.map +1 -1
  560. package/dist/features/filters.js +2 -2
  561. package/dist/features/global-search.js +250 -210
  562. package/dist/features/global-search.js.map +1 -1
  563. package/dist/features/kanban.js +280 -210
  564. package/dist/features/kanban.js.map +1 -1
  565. package/dist/features/map/style.css +15 -0
  566. package/dist/features/map.js +435 -404
  567. package/dist/features/map.js.map +1 -1
  568. package/dist/features/media-library.js +1745 -1195
  569. package/dist/features/media-library.js.map +1 -1
  570. package/dist/features/mentions.js +2 -2
  571. package/dist/features/overlays.js +2 -2
  572. package/dist/features/products.js +1862 -1759
  573. package/dist/features/products.js.map +1 -1
  574. package/dist/features/questionnaire.js +188 -168
  575. package/dist/features/questionnaire.js.map +1 -1
  576. package/dist/features/resource-assignment.js +223 -191
  577. package/dist/features/resource-assignment.js.map +1 -1
  578. package/dist/features/resource.js +55 -217
  579. package/dist/features/resource.js.map +1 -1
  580. package/dist/features/rich-text-editor.js +28 -19
  581. package/dist/features/rich-text-editor.js.map +1 -1
  582. package/dist/features/schema-form.js +380 -287
  583. package/dist/features/schema-form.js.map +1 -1
  584. package/dist/features/suggestions.js +90 -74
  585. package/dist/features/suggestions.js.map +1 -1
  586. package/dist/features/table.js +2 -2
  587. package/dist/features/theme-tweaker.js +718 -627
  588. package/dist/features/theme-tweaker.js.map +1 -1
  589. package/dist/feedback-DmqmXKLn.js +254 -0
  590. package/dist/feedback-DmqmXKLn.js.map +1 -0
  591. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-DfbMadot.js} +13 -9
  592. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  593. package/dist/field-control-attributes-B6i335wr.js +18 -0
  594. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  595. package/dist/field-state-recipes-EtCxpEy3.js +18 -0
  596. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  597. package/dist/filters-BviMRMLS.js +2692 -0
  598. package/dist/filters-BviMRMLS.js.map +1 -0
  599. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  600. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  601. package/dist/form-field-BdfCwSoQ.js +74 -0
  602. package/dist/form-field-BdfCwSoQ.js.map +1 -0
  603. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-DE_dZw32.js} +3 -3
  604. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  605. package/dist/{forms-C0RGnJTe.js → forms-B8DzJnBN.js} +35 -35
  606. package/dist/forms-B8DzJnBN.js.map +1 -0
  607. package/dist/forms-numeric-DOBswjKj.js +992 -0
  608. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  609. package/dist/{header-DMMxG__r.js → header-Cq3G0ZRP.js} +163 -158
  610. package/dist/header-Cq3G0ZRP.js.map +1 -0
  611. package/dist/hooks/use-files.d.ts +2 -0
  612. package/dist/{hooks-DB6CJ4MR.js → hooks-DHfeSMAO.js} +34 -14
  613. package/dist/hooks-DHfeSMAO.js.map +1 -0
  614. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  615. package/dist/http-Cu-GPpss.js.map +1 -0
  616. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-B0Kq7wom.js} +3 -3
  617. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  618. package/dist/index.js +6 -6
  619. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  620. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  621. package/dist/{input-DMBwAZmr.js → input-2YrgTUrz.js} +3 -3
  622. package/dist/{input-DMBwAZmr.js.map → input-2YrgTUrz.js.map} +1 -1
  623. package/dist/{input-CvyDQlY7.js → input-DfJyrjoR.js} +7 -7
  624. package/dist/{input-CvyDQlY7.js.map → input-DfJyrjoR.js.map} +1 -1
  625. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-DmuS1ase.js} +2 -2
  626. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  627. package/dist/item-GJ9mvCcg.js +279 -0
  628. package/dist/item-GJ9mvCcg.js.map +1 -0
  629. package/dist/layout/app-shell.js +1 -1
  630. package/dist/layout/auth.js +1 -1
  631. package/dist/layout/containers.js +1 -1
  632. package/dist/layout/header.js +1 -1
  633. package/dist/layout/hooks.js +1 -1
  634. package/dist/layout/navigation.js +1 -1
  635. package/dist/layout/page.js +2 -2
  636. package/dist/layout/settings.js +2 -2
  637. package/dist/layout/sidebar.js +3 -3
  638. package/dist/layout/workspace.js +1 -1
  639. package/dist/layout.js +12 -12
  640. package/dist/layout.types-DbtnyAtd.js +33 -0
  641. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  642. package/dist/lib/anchored-positioning.d.ts +11 -0
  643. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  644. package/dist/lib/field-control-attributes.d.ts +11 -0
  645. package/dist/lib/field-state-recipes.d.ts +8 -0
  646. package/dist/lib/focus-recipes.d.ts +7 -0
  647. package/dist/lib/format.d.ts +26 -0
  648. package/dist/lib/money-format.d.ts +6 -0
  649. package/dist/lib/motion-recipes.d.ts +6 -0
  650. package/dist/lib/surface-recipes.d.ts +33 -3
  651. package/dist/lib/theme-scope.d.ts +17 -1
  652. package/dist/lib/token-merge.generated.d.ts +19 -25
  653. package/dist/lib/ui-provider/index.d.ts +1 -1
  654. package/dist/lib/ui-provider/types.d.ts +5 -0
  655. package/dist/lib/use-controllable-state.d.ts +16 -0
  656. package/dist/lib/use-copy-feedback.d.ts +15 -0
  657. package/dist/lib/utils.js +1 -1
  658. package/dist/lib/variant-props.d.ts +9 -0
  659. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  660. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  661. package/dist/mentions-zz0ewNIq.js +670 -0
  662. package/dist/mentions-zz0ewNIq.js.map +1 -0
  663. package/dist/message-BiiVrRrm.js +138 -0
  664. package/dist/message-BiiVrRrm.js.map +1 -0
  665. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-G85roWjS.js} +13 -12
  666. package/dist/metadata-list-G85roWjS.js.map +1 -0
  667. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  668. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  669. package/dist/navigation-C0Be5C3i.js +304 -0
  670. package/dist/navigation-C0Be5C3i.js.map +1 -0
  671. package/dist/navigation-CmqaQR_G.js +257 -0
  672. package/dist/navigation-CmqaQR_G.js.map +1 -0
  673. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  674. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  675. package/dist/number-NFWKIoiK.js +340 -0
  676. package/dist/number-NFWKIoiK.js.map +1 -0
  677. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  678. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  679. package/dist/{overlays-BSgCtM2v.js → overlays-D-gAIfPF.js} +369 -364
  680. package/dist/overlays-D-gAIfPF.js.map +1 -0
  681. package/dist/page-D4pQhgSq.js +216 -0
  682. package/dist/page-D4pQhgSq.js.map +1 -0
  683. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-elelNOfd.js} +29 -29
  684. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  685. package/dist/{pagination-CgCjElfu.js → pagination-BuSWw1US.js} +22 -23
  686. package/dist/pagination-BuSWw1US.js.map +1 -0
  687. package/dist/popover-BpMxbqEK.js +205 -0
  688. package/dist/popover-BpMxbqEK.js.map +1 -0
  689. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-CO-_iiuz.js} +7 -7
  690. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  691. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-BqkdvlZn.js} +3 -4
  692. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  693. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-BPeS4rGB.js} +2 -2
  694. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  695. package/dist/primitives-BlC1lXBr.js +447 -0
  696. package/dist/primitives-BlC1lXBr.js.map +1 -0
  697. package/dist/primitives.js +4 -4
  698. package/dist/{progress-BJhQP9WX.js → progress-RARK8AjB.js} +5 -5
  699. package/dist/{progress-BJhQP9WX.js.map → progress-RARK8AjB.js.map} +1 -1
  700. package/dist/receipt-CUf2Vegp.js +114 -0
  701. package/dist/receipt-CUf2Vegp.js.map +1 -0
  702. package/dist/rich-text-Cypm9__d.js +44 -0
  703. package/dist/rich-text-Cypm9__d.js.map +1 -0
  704. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  705. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  706. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  707. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  708. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  709. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  710. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-B9HKbji0.js} +3 -3
  711. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  712. package/dist/{separator-Ct_WSWTJ.js → separator-DaDe26sf.js} +3 -3
  713. package/dist/separator-DaDe26sf.js.map +1 -0
  714. package/dist/{separator-Bb17I4pu.js → separator-KGsNXt2J.js} +2 -2
  715. package/dist/{separator-Bb17I4pu.js.map → separator-KGsNXt2J.js.map} +1 -1
  716. package/dist/services/actions/action-adapters.d.ts +5 -2
  717. package/dist/services/actions/index.d.ts +1 -1
  718. package/dist/services/actions.js +2 -2
  719. package/dist/services/actions.js.map +1 -1
  720. package/dist/settings-D5j_RJvT.js +160 -0
  721. package/dist/settings-D5j_RJvT.js.map +1 -0
  722. package/dist/sheet-B6j_BE9O.js +241 -0
  723. package/dist/sheet-B6j_BE9O.js.map +1 -0
  724. package/dist/{sidebar-f9gRWXIR.js → sidebar-C-iQ_TJP.js} +379 -350
  725. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  726. package/dist/sidebar-D5VO2W8S.js +715 -0
  727. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  728. package/dist/{skeleton-BapcJd9C.js → skeleton-Cab_KgVo.js} +13 -13
  729. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  730. package/dist/{smart-card-CW0hjetE.js → smart-card-C59z6KFO.js} +217 -210
  731. package/dist/smart-card-C59z6KFO.js.map +1 -0
  732. package/dist/{structure-DuxKl954.js → structure-DElaQwwN.js} +2 -2
  733. package/dist/{structure-DuxKl954.js.map → structure-DElaQwwN.js.map} +1 -1
  734. package/dist/style.css +1 -1
  735. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-DV6rrOFq.js} +11 -3
  736. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  737. package/dist/table-CSRUgpdK.js +180 -0
  738. package/dist/table-CSRUgpdK.js.map +1 -0
  739. package/dist/table-DdXDBsR_.js +1657 -0
  740. package/dist/table-DdXDBsR_.js.map +1 -0
  741. package/dist/tabs-WnHfV2pM.js +192 -0
  742. package/dist/tabs-WnHfV2pM.js.map +1 -0
  743. package/dist/{text-inputs-B1culiSK.js → text-inputs-ljyBYaCd.js} +112 -112
  744. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  745. package/dist/theme.css +21 -5
  746. package/dist/timelines-mOmS9Eh3.js +479 -0
  747. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  748. package/dist/tooltip-yjX-Uv-p.js +112 -0
  749. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  750. package/dist/{tree-CzUJHnFs.js → tree-YpkxUG2Z.js} +80 -72
  751. package/dist/tree-YpkxUG2Z.js.map +1 -0
  752. package/dist/typography/rich-text.js +1 -1
  753. package/dist/{typography-BQnine1k.js → typography-C0dELqYV.js} +46 -40
  754. package/dist/typography-C0dELqYV.js.map +1 -0
  755. package/dist/typography.js +1 -1
  756. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  757. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  758. package/dist/ui-provider.js +2 -2
  759. package/dist/upload-DMuMYJFT.js +875 -0
  760. package/dist/upload-DMuMYJFT.js.map +1 -0
  761. package/dist/{usage-card-BeSLY0i0.js → usage-card-DDPki5P1.js} +57 -54
  762. package/dist/usage-card-DDPki5P1.js.map +1 -0
  763. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  764. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  765. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  766. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  767. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  768. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  769. package/dist/{utils-B6kKb8jB.js → utils-BVbAG2J6.js} +128 -112
  770. package/dist/utils-BVbAG2J6.js.map +1 -0
  771. package/dist/value-inputs-h5MwjGCo.js +982 -0
  772. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  773. package/dist/value-typography-D15uwfj-.js +154 -0
  774. package/dist/value-typography-D15uwfj-.js.map +1 -0
  775. package/dist/workspace-DIryPqBt.js +400 -0
  776. package/dist/workspace-DIryPqBt.js.map +1 -0
  777. package/docs/consumer-skill/SKILL.md +7 -0
  778. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  779. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  780. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  781. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  782. package/docs/consumer-skill/examples/detail.tsx +3 -2
  783. package/docs/consumer-skill/examples/edit.tsx +3 -3
  784. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  785. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  786. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  787. package/docs/consumer-skill/references/agents-md.md +27 -23
  788. package/docs/consumer-skill/references/analytics.md +33 -4
  789. package/docs/consumer-skill/references/building-views.md +213 -0
  790. package/docs/consumer-skill/references/catalogue.md +617 -0
  791. package/docs/consumer-skill/references/component-contracts.json +25852 -32067
  792. package/docs/consumer-skill/references/composition.md +42 -21
  793. package/docs/consumer-skill/references/design-contract.md +1 -0
  794. package/docs/consumer-skill/references/discovery.md +8 -5
  795. package/docs/consumer-skill/references/installation.md +59 -10
  796. package/docs/consumer-skill/references/integration.md +28 -5
  797. package/docs/consumer-skill/references/product-composition.md +2 -2
  798. package/docs/consumer-skill/references/public-api.json +726 -641
  799. package/docs/consumer-skill/references/review.md +57 -15
  800. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  801. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  802. package/docs/consumer-skill/references/theming.md +8 -3
  803. package/docs/consumer-skill/references/tokens.json +4 -4
  804. package/docs/consumer-skill/references/workflows.md +7 -7
  805. package/docs/consumer-skill/scripts/composition-policy.mjs +178 -44
  806. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  807. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  808. package/docs/consumer-skill/scripts/setup-skills.mjs +74 -10
  809. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  810. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  811. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  812. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  813. package/package.json +12 -13
  814. package/templates/README.md +3 -2
  815. package/templates/admin-shell-template.tsx +50 -11
  816. package/templates/analytics-operations-template.tsx +20 -24
  817. package/templates/customers-template.tsx +30 -25
  818. package/templates/index.ts +2 -8
  819. package/templates/orders-template.tsx +28 -24
  820. package/templates/products-template.tsx +14 -4
  821. package/templates/user-permissions-template.tsx +11 -14
  822. package/dist/accordion-B9MHG0cT.js.map +0 -1
  823. package/dist/action-menu-Dr8K-ghE.js +0 -284
  824. package/dist/action-menu-Dr8K-ghE.js.map +0 -1
  825. package/dist/ai-artifact-C58tQcBy.js +0 -1185
  826. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  827. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  828. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  829. package/dist/app-shell-B_IuNWOo.js +0 -321
  830. package/dist/app-shell-B_IuNWOo.js.map +0 -1
  831. package/dist/auth-DTkkshS8.js.map +0 -1
  832. package/dist/badge-xIiV_E7f.js.map +0 -1
  833. package/dist/base/sheet.js +0 -3
  834. package/dist/breadcrumbs-J-K2kl4c.js +0 -129
  835. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  836. package/dist/button-S2Cubiiz.js.map +0 -1
  837. package/dist/buttons-BedGfygC.js.map +0 -1
  838. package/dist/cascader-B1MiqkBq.js +0 -439
  839. package/dist/cascader-B1MiqkBq.js.map +0 -1
  840. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  841. package/dist/code-block-BzmM9Eig.js.map +0 -1
  842. package/dist/collapsible-BkAI_XD4.js +0 -81
  843. package/dist/collapsible-BkAI_XD4.js.map +0 -1
  844. package/dist/combobox-BEx0vJgF.js +0 -362
  845. package/dist/combobox-BEx0vJgF.js.map +0 -1
  846. package/dist/combobox-BwzoXFSG.js +0 -884
  847. package/dist/combobox-BwzoXFSG.js.map +0 -1
  848. package/dist/command-CrlPIL6m.js +0 -425
  849. package/dist/command-CrlPIL6m.js.map +0 -1
  850. package/dist/comments-Dmpp0YIc.js +0 -1169
  851. package/dist/comments-Dmpp0YIc.js.map +0 -1
  852. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  853. package/dist/components/base/display/content-block.d.ts +0 -75
  854. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  855. package/dist/components/base/sheet/index.d.ts +0 -29
  856. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  857. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  858. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -16
  859. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  860. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  861. package/dist/components/features/sync/index.d.ts +0 -26
  862. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  863. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  864. package/dist/components/features/sync/sync.types.d.ts +0 -44
  865. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  866. package/dist/components/ui/slot.d.ts +0 -6
  867. package/dist/containers-CIxwbZt5.js.map +0 -1
  868. package/dist/data-display-BdgCAw8T.js.map +0 -1
  869. package/dist/date-Cq8ioE4o.js +0 -144
  870. package/dist/date-Cq8ioE4o.js.map +0 -1
  871. package/dist/date-picker-RlIzKom_.js +0 -1551
  872. package/dist/date-picker-RlIzKom_.js.map +0 -1
  873. package/dist/date-pickers-DY-CpXS1.js +0 -179
  874. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  875. package/dist/display-KsZLw9Ov.js.map +0 -1
  876. package/dist/features/sync.js +0 -142
  877. package/dist/features/sync.js.map +0 -1
  878. package/dist/feedback-Dm4izqFn.js +0 -240
  879. package/dist/feedback-Dm4izqFn.js.map +0 -1
  880. package/dist/field-affordance-recipes-DWcNcOjh.js.map +0 -1
  881. package/dist/field-state-recipes-BVA2CWHo.js +0 -12
  882. package/dist/field-state-recipes-BVA2CWHo.js.map +0 -1
  883. package/dist/filters-DzgSJpMK.js +0 -2257
  884. package/dist/filters-DzgSJpMK.js.map +0 -1
  885. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  886. package/dist/form-field-BriWAXyg.js +0 -63
  887. package/dist/form-field-BriWAXyg.js.map +0 -1
  888. package/dist/forms-C0RGnJTe.js.map +0 -1
  889. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  890. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  891. package/dist/header-DMMxG__r.js.map +0 -1
  892. package/dist/hooks-DB6CJ4MR.js.map +0 -1
  893. package/dist/http-D_6rOnzU.js.map +0 -1
  894. package/dist/item-DjCcM18E.js +0 -277
  895. package/dist/item-DjCcM18E.js.map +0 -1
  896. package/dist/layout.types-Cn7aUzJp.js +0 -20
  897. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  898. package/dist/media-gallery-C-vChPmE.js +0 -203
  899. package/dist/media-gallery-C-vChPmE.js.map +0 -1
  900. package/dist/mentions-0_4nWuI-.js +0 -570
  901. package/dist/mentions-0_4nWuI-.js.map +0 -1
  902. package/dist/message-g8p7eVtN.js +0 -128
  903. package/dist/message-g8p7eVtN.js.map +0 -1
  904. package/dist/metadata-list-C3MkU-Om.js.map +0 -1
  905. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  906. package/dist/navigation-C90-oQFq.js +0 -255
  907. package/dist/navigation-C90-oQFq.js.map +0 -1
  908. package/dist/navigation-DaRjthVk.js +0 -288
  909. package/dist/navigation-DaRjthVk.js.map +0 -1
  910. package/dist/number-CRU3kGuk.js +0 -354
  911. package/dist/number-CRU3kGuk.js.map +0 -1
  912. package/dist/overlays-BSgCtM2v.js.map +0 -1
  913. package/dist/page-DUUKDAjo.js +0 -331
  914. package/dist/page-DUUKDAjo.js.map +0 -1
  915. package/dist/pagination-CgCjElfu.js.map +0 -1
  916. package/dist/popover-B85RenIl.js +0 -201
  917. package/dist/popover-B85RenIl.js.map +0 -1
  918. package/dist/primitives-ByWgGUgt.js +0 -380
  919. package/dist/primitives-ByWgGUgt.js.map +0 -1
  920. package/dist/receipt-tOc7B3hw.js +0 -116
  921. package/dist/receipt-tOc7B3hw.js.map +0 -1
  922. package/dist/rich-text-Dth5E882.js +0 -78
  923. package/dist/rich-text-Dth5E882.js.map +0 -1
  924. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  925. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  926. package/dist/rich-text-editor-toolbar-laT3tpBT.js +0 -98
  927. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  928. package/dist/sanitize-html-DsQmI48u.js +0 -92
  929. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  930. package/dist/separator-Ct_WSWTJ.js.map +0 -1
  931. package/dist/settings-Bar5wiSo.js +0 -167
  932. package/dist/settings-Bar5wiSo.js.map +0 -1
  933. package/dist/sheet-BGPERY55.js +0 -250
  934. package/dist/sheet-BGPERY55.js.map +0 -1
  935. package/dist/sidebar-D-JYMMbY.js +0 -686
  936. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  937. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  938. package/dist/skeleton-BapcJd9C.js.map +0 -1
  939. package/dist/slot-CLF9kLrS.js +0 -16
  940. package/dist/slot-CLF9kLrS.js.map +0 -1
  941. package/dist/smart-card-CW0hjetE.js.map +0 -1
  942. package/dist/surface-recipes-BKRVW8Os.js.map +0 -1
  943. package/dist/table-B4TE7iOV.js +0 -175
  944. package/dist/table-B4TE7iOV.js.map +0 -1
  945. package/dist/table-CFOWY9pQ.js +0 -1536
  946. package/dist/table-CFOWY9pQ.js.map +0 -1
  947. package/dist/tabs-e7ko9S2o.js +0 -191
  948. package/dist/tabs-e7ko9S2o.js.map +0 -1
  949. package/dist/text-inputs-B1culiSK.js.map +0 -1
  950. package/dist/timelines-D3Sl9ueq.js +0 -458
  951. package/dist/timelines-D3Sl9ueq.js.map +0 -1
  952. package/dist/tooltip-8wz5S_Zr.js +0 -113
  953. package/dist/tooltip-8wz5S_Zr.js.map +0 -1
  954. package/dist/tree-CzUJHnFs.js.map +0 -1
  955. package/dist/typography-BQnine1k.js.map +0 -1
  956. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  957. package/dist/upload-BOW6U2tI.js +0 -855
  958. package/dist/upload-BOW6U2tI.js.map +0 -1
  959. package/dist/upload-queue-qUXn1ykN.js +0 -409
  960. package/dist/upload-queue-qUXn1ykN.js.map +0 -1
  961. package/dist/usage-card-BeSLY0i0.js.map +0 -1
  962. package/dist/utils-B6kKb8jB.js.map +0 -1
  963. package/dist/value-inputs-skdVB2zh.js +0 -980
  964. package/dist/value-inputs-skdVB2zh.js.map +0 -1
  965. package/dist/value-typography-uAmWUAL1.js +0 -116
  966. package/dist/value-typography-uAmWUAL1.js.map +0 -1
  967. package/dist/workspace-DHeHv0qw.js +0 -411
  968. package/dist/workspace-DHeHv0qw.js.map +0 -1
@@ -9,9 +9,13 @@ Start with the user's decision, representative records, related entities and edi
9
9
 
10
10
  Before JSX, settle task, reading priority, action scope and inset owners. Read [screen decisions](../../consumer-skill/references/screen-decisions.md) for new screens/repairs. Optional props are capabilities, not reasons to add navigation, cards or commands.
11
11
 
12
+ ## Cover the view first
13
+
14
+ Name an owner per region, reaching for a feature, then a block, then layout and base owners, then an app-owned subject. A simple view has no custom region; a domain view is about 70% owners. [Building views](../../consumer-skill/references/building-views.md) has the need → owner map, plan format and custom-part rules; the [catalogue](../../consumer-skill/references/catalogue.md) lists every component. Build custom subjects the way [templates](../../../templates/README.md) and recipes are built.
15
+
12
16
  ## Let the data shape the subject
13
17
 
14
- Discover task-specific owners before choosing custom markup: product options, variant editing and attached media have different owners from generic controls. Compare their data/state/render seams; use a fitting owner or its parts. Custom JSX shapes additional relationships without requiring an API gap. Read [capability comparison and domain coverage](../../consumer-skill/references/custom-composition.md). More data and a new component name do not establish better composition.
18
+ Discover task-specific owners before choosing custom markup: product options, variant editing and attached media have different owners from generic controls. Compare their data/state/render seams; use a fitting owner or its parts. Custom JSX shapes additional relationships without requiring an API gap. Read [capability comparison and domain coverage](../../consumer-skill/references/custom-composition.md).
15
19
 
16
20
  ## Choose the seam
17
21
 
@@ -23,9 +27,9 @@ Use the [mapper](../../consumer-skill/references/composition-mapping.md) with --
23
27
 
24
28
  ## Assign geometry once
25
29
 
26
- Page narrow centers one-column forms/details at 48rem; aside infers xl/80rem. Explicit TwoColumnLayout needs Page maxWidth="xl". Collections default to lg/64rem. Settings use Page → SettingsShell → FormSection.
30
+ Page narrow centers one-column forms/details at 48rem; aside infers xl/80rem. Explicit TwoColumnLayout needs Page maxWidth="xl". Collections default to lg/64rem. Settings use Page → AsideNavShell → FormSection.
27
31
 
28
- Explicit maxWidth wins, then narrow, then aside width. Page owns h1, commands, lifecycle, gutters and subject gaps. AuthShell owns auth; Container/Section own sites. Header actions defaultContent preserves responsive commands. Loading precedes error then empty; supply copy/onRetry. Resource shells are migration APIs.
32
+ Explicit maxWidth wins, then narrow, then aside width. Page owns h1, commands, lifecycle, gutters and subject gaps. AuthShell owns auth; Container/Section own sites. Header actions defaultContent preserves responsive commands. Loading precedes error then empty; supply copy/onRetry.
29
33
 
30
34
  Stack/Grid/AdaptiveGrid own peer relationships; Card owns frame/insets. Card flat removes chrome, not padding; use none under an existing inset owner. Blocks stay card-free unless their purpose is a card. Tailwind owns app-specific tracks/queries/overflow; read [domain structures](../../consumer-skill/references/domain-structures.md).
31
35
 
@@ -22,7 +22,11 @@ themes and density.
22
22
  name the focal point; sketch 390 and 1440 wireframes in text; choose an
23
23
  encoding per fact. See [view spec](../../consumer-skill/references/view-spec.md)
24
24
  and [screen decisions](../../consumer-skill/references/screen-decisions.md).
25
- 3. **Find owners.** Map regions to owners with the finder, mapper and inspector
25
+ 3. **Find owners.** Write the coverage plan from
26
+ [building views](../../consumer-skill/references/building-views.md): one owner per region, reaching
27
+ for a feature, then a block, then base and layout owners, and marking only
28
+ the product-specific subject as custom. Scan the
29
+ [catalogue](../../consumer-skill/references/catalogue.md), then use the finder, mapper and inspector
26
30
  described in [discovery](../../consumer-skill/references/discovery.md);
27
31
  [archetypes](../../consumer-skill/references/screen-archetypes.md) and
28
32
  [metrics](../../consumer-skill/references/analytics.md) give starting points.
@@ -38,6 +42,8 @@ themes and density.
38
42
  [View craft](../../consumer-skill/references/view-craft.md) holds the detail:
39
43
 
40
44
  - One focal point per view and per region.
45
+ - Good design here is choosing and arranging owners, not drawing. A view
46
+ that looks off usually has hand-written markup where an owner exists.
41
47
  - One solid primary command per surface; at most three text levels per region;
42
48
  tones only for status that changes the action.
43
49
  - Encode by the fact's shape: a figure with its baseline, a trend where shape
@@ -5,7 +5,7 @@ description: Build consistent domain structures with Themelia base/layout compon
5
5
 
6
6
  # Themelia tokenization
7
7
 
8
- Use mostly public base components and layout blocks. When a domain needs a particular structure, compose their content with semantic JSX and token-backed Tailwind on app-owned elements. **themelia-components** verifies APIs; **themelia-composition** decides hierarchy; **themelia-design** judges the rendered view. Read [domain structures](../../consumer-skill/references/domain-structures.md) and its executable allocation example; the [design contract](../../consumer-skill/references/design-contract.md) owns shared roles.
8
+ Use mostly public base components and layout blocks; [building views](../../consumer-skill/references/building-views.md) maps needs to owners and the [catalogue](../../consumer-skill/references/catalogue.md) lists them all. When a domain needs a particular structure, compose their content with semantic JSX and token-backed Tailwind on app-owned elements. **themelia-components** verifies APIs; **themelia-composition** decides hierarchy; **themelia-design** judges the rendered view. Read [domain structures](../../consumer-skill/references/domain-structures.md) and its executable allocation example; the [design contract](../../consumer-skill/references/design-contract.md) owns shared roles.
9
9
 
10
10
  ## Inspect before applying
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "themelia-react-ui",
3
- "version": "2.0.5",
3
+ "version": "3.0.0",
4
4
  "description": "A composable React UI library for modern admin applications, built on Base UI and Tailwind with shadcn-compatible themes, shared design tokens, reusable layouts, blocks and workflows.",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -29,6 +29,7 @@
29
29
  "dist",
30
30
  "README.md",
31
31
  "CHANGELOG.md",
32
+ "MIGRATION.md",
32
33
  "docs/consumer-skill",
33
34
  "docs/consumer-skills",
34
35
  "templates",
@@ -193,10 +194,6 @@
193
194
  "types": "./dist/components/base/repeaters/index.d.ts",
194
195
  "import": "./dist/base/repeaters.js"
195
196
  },
196
- "./base/sheet": {
197
- "types": "./dist/components/base/sheet/index.d.ts",
198
- "import": "./dist/base/sheet.js"
199
- },
200
197
  "./base/sidebar": {
201
198
  "types": "./dist/components/base/sidebar/index.d.ts",
202
199
  "import": "./dist/base/sidebar.js"
@@ -337,10 +334,6 @@
337
334
  "types": "./dist/components/features/suggestions/index.d.ts",
338
335
  "import": "./dist/features/suggestions.js"
339
336
  },
340
- "./features/sync": {
341
- "types": "./dist/components/features/sync/index.d.ts",
342
- "import": "./dist/features/sync.js"
343
- },
344
337
  "./features/table": {
345
338
  "types": "./dist/components/features/table/index.d.ts",
346
339
  "import": "./dist/features/table.js"
@@ -449,6 +442,10 @@
449
442
  "./blocks/analytics/usage-card": {
450
443
  "types": "./dist/components/blocks/analytics/usage-card/index.d.ts",
451
444
  "import": "./dist/blocks/analytics/usage-card.js"
445
+ },
446
+ "./blocks/analytics/charts": {
447
+ "types": "./dist/components/blocks/analytics/charts/index.d.ts",
448
+ "import": "./dist/blocks/analytics/charts.js"
452
449
  }
453
450
  },
454
451
  "scripts": {
@@ -457,12 +454,13 @@
457
454
  "build:preview": "node scripts/generate-utilities.mjs && vite build --config vite.preview.config.ts",
458
455
  "preview": "vite preview --config vite.preview.config.ts",
459
456
  "typecheck": "tsc --noEmit",
460
- "test": "vitest run",
457
+ "test": "node scripts/run-unit.mjs",
461
458
  "test:watch": "vitest",
462
459
  "test:browser": "npm run build:preview && node scripts/run-browser.mjs",
460
+ "test:browser:quick": "npm run build:preview && node scripts/run-browser.mjs --quick",
463
461
  "check:package": "node scripts/check-package.mjs",
464
- "check": "npm run check:contract && npm run check:preview && npm run check:docs && npm run lint && npm run check:design-lint && npm run typecheck && npm test && npm run build && npm run check:skill && npm run check:maps && npm run check:package && npm run build:preview",
465
- "check:contract": "node --test scripts/test-runtime-ownership.mjs scripts/test-primitive-geometry.mjs scripts/test-source-entrypoints.mjs scripts/test-utility-vocabulary.mjs scripts/test-theme-contrast.mjs scripts/test-theme-modes.mjs && node scripts/check-contract.mjs",
462
+ "check": "node scripts/run-gate.mjs full",
463
+ "check:contract": "node --test scripts/test-runtime-ownership.mjs scripts/test-primitive-geometry.mjs scripts/test-source-entrypoints.mjs scripts/test-utility-vocabulary.mjs scripts/test-example-utilities.mjs scripts/test-theme-contrast.mjs scripts/test-theme-modes.mjs && node scripts/check-contract.mjs",
466
464
  "lint": "node scripts/generate-utilities.mjs && oxlint src/components src/lib src/preview docs/consumer-skill/examples templates --deny-warnings",
467
465
  "check:design-lint": "node scripts/generate-utilities.mjs && node scripts/check-design-lint.mjs",
468
466
  "check:preview": "node scripts/check-preview.mjs",
@@ -475,7 +473,7 @@
475
473
  "check:docs": "node --test scripts/test-public-docs.mjs && node scripts/refresh-prop-docs.mjs --check",
476
474
  "collect:browser": "npm run build:preview && node scripts/run-browser.mjs --collectors",
477
475
  "check:all": "npm run check && node scripts/run-browser.mjs",
478
- "check:quick": "npm run check:contract && npm run lint && npm run check:design-lint && npm run typecheck && npm test && npm run build",
476
+ "check:quick": "node scripts/run-gate.mjs quick",
479
477
  "check:maps": "node scripts/test-client-boundaries.mjs --built",
480
478
  "build:docs": "node scripts/build-static-docs.mjs",
481
479
  "check:static-docs": "node scripts/check-static-docs.mjs",
@@ -521,6 +519,7 @@
521
519
  "hast-util-sanitize": "^5.0.2",
522
520
  "hast-util-to-html": "^9.0.5",
523
521
  "react-resizable-panels": "^4.11.2",
522
+ "style-to-js": "^1.1.21",
524
523
  "tailwind-merge": "^3.5.0",
525
524
  "zustand": "^5.0.12"
526
525
  },
@@ -8,7 +8,7 @@ For production create/edit workflows, adapt the [RHF edit page](../docs/consumer
8
8
 
9
9
  | File | Export | Composition demonstrated |
10
10
  | --- | --- | --- |
11
- | [admin-shell-template.tsx](admin-shell-template.tsx) | `AdminStarterShell`, `AdminTemplatesShowcase` | UIProvider defaults, all five AppLayout presets, AppSidebar, workspace context, breadcrumbs, notifications and account/settings menus |
11
+ | [admin-shell-template.tsx](admin-shell-template.tsx) | `AdminStarterShell`, `AdminTemplatesShowcase` | UIProvider defaults, all five AppLayout presets with a skip link, AppSidebar, NavigationTabs route links for the stacked preset, workspace context, breadcrumbs, notifications derived from each item's `read` flag and account/settings menus |
12
12
  | [orders-template.tsx](orders-template.tsx) | `OrdersAdminTemplate` | Page with a fulfillment primary command, TwoColumnLayout, Card, lifecycle-grouped Item rows, MetadataList, Money, AddressCard, PaymentMethod, ActivityLog and refund/tracking/note dialogs |
13
13
  | [products-template.tsx](products-template.tsx) | `ProductsAdminTemplate` | ProductVariantsManager, ProductVariantDetails/Editor, SeoListingCard, publishing/organization forms and variant duplication |
14
14
  | [customers-template.tsx](customers-template.tsx) | `CustomersAdminTemplate` | MetricBar, DataTable order history, MetadataList, AddressCard, ActivityLog, contact drafts and validated store-credit submission |
@@ -20,7 +20,7 @@ For layout selection, read the [owner map](../docs/consumer-skill/references/com
20
20
  ## Boundaries to preserve when adapting
21
21
 
22
22
  - `AdminTemplatesShowcase` supplies UIProvider defaults; embedded preview pages inherit the catalogue's provider. `AdminStarterShell` inherits the application's provider. `defaultDensity` belongs to the standalone showcase.
23
- - Page owns gutters and the default resource measure, TwoColumnLayout owns the main/aside split, and Stack/Grid own peer gaps. These record and overview routes keep the default measure; only a wide directory or comparison opts into `maxWidth="full"`. Ordinary Cards retain the default padding. Compact control density does not shrink Cards. Peer Card stacks use `gap="2xl"`, matching Page and TwoColumnLayout’s 24px default rhythm in both axes; copy and form groups keep their own gaps.
23
+ - Page owns gutters and the default resource measure, TwoColumnLayout owns the main/aside split, and Stack/Grid own peer gaps. Inside a Page the split uses `adaptTo="container"`, so it follows the page's own width beside a docked sidebar instead of the viewport. In the stacked shell the contained measure owns the inline gutter and each Page keeps its defaults. These record and overview routes keep the default measure; only a wide directory or comparison opts into `maxWidth="full"`. Ordinary Cards retain the default padding. Compact control density does not shrink Cards. Peer Card stacks use `gap="2xl"`, matching Page and TwoColumnLayout’s 24px default rhythm in both axes; copy and form groups keep their own gaps.
24
24
  - A headed address, payment, SEO or variants panel uses its own `surface="card"`. It delegates to Card's aligned header/body anatomy and inherits provider separators. Do not wrap it in an untitled padded Card. Omitted surface keeps these blocks unframed for embedding; an embedded header does not inherit an unintended Card separator.
25
25
  - Put page commands in Page's header as `primaryAction` (one) and ordered
26
26
  `secondaryActions`; the header owns their treatment, overflow and narrow-width
@@ -29,6 +29,7 @@ For layout selection, read the [owner map](../docs/consumer-skill/references/com
29
29
  a status shown in the page header is not repeated in a card or fact list. Spacing separates a card's header, body and footer; a body separator is appropriate only between distinct body sections.
30
30
  - Metrics use numeric values and formatting hints. Context such as “12 orders” belongs in a subtitle; it is not a directional trend. The analytics period changes the KPI strip; comparisons, heatmap and quota data are separately described monthly/current snapshots.
31
31
  - Overlay edits start from a snapshot and update committed display state only on Save. Native forms use `formId` so required fields and submission ownership are preserved. App persistence should use the overlay's async contract with pending/error/retry handling before committing; do not bind a draft editor directly to committed record data.
32
+ - Ids for unsaved rows come from a local counter (`useId` plus a ref). `crypto.randomUUID()` exists only in secure contexts and throws on a LAN dev server; let the server assign the real id on save.
32
33
  - Local sidebar navigation preserves native link modifiers and closes the mobile drawer. Replace the local route map with your router adapter and record-aware destinations. Sample records across these pages are independent; a customer route is not an order's customer resolver.
33
34
  - Choose the component that fits the subject. A lifecycle-specific order item group can use Item; editable permission groups can use ToggleField. Do not replace them with an unrelated block merely to increase the component count.
34
35
 
@@ -1,4 +1,4 @@
1
- import { useState, type ReactNode } from 'react';
1
+ import { useState, type MouseEvent, type ReactNode } from 'react';
2
2
  import {
3
3
  BarChart3,
4
4
  Package,
@@ -9,8 +9,8 @@ import {
9
9
  } from 'lucide-react';
10
10
 
11
11
  import { IconBadge } from 'themelia-react-ui/base/display';
12
+ import { NavigationTabs, type NavigationTabItem } from 'themelia-react-ui/base/navigation';
12
13
  import { Stack } from 'themelia-react-ui/base/structure';
13
- import { useSidebar } from 'themelia-react-ui/base/sidebar';
14
14
  import {
15
15
  type BreadcrumbItem,
16
16
  type LayoutLinkRenderProps,
@@ -28,6 +28,7 @@ import {
28
28
  AppSidebar,
29
29
  LayoutSidebarProvider,
30
30
  SidebarNavigationUser,
31
+ useLayoutSidebar,
31
32
  type AppSidebarProps,
32
33
  } from 'themelia-react-ui/layout/sidebar';
33
34
  import { Text } from 'themelia-react-ui/typography';
@@ -102,6 +103,20 @@ const TEMPLATE_ROUTES: Record<AdminTemplateId, TemplateRouteMeta> = {
102
103
  },
103
104
  };
104
105
 
106
+ /** The same destinations as the sidebar, in its order, as route tabs for the stacked shell's header. */
107
+ const STACKED_NAVIGATION: NavigationTabItem[] = (['analytics', 'orders', 'products', 'customers', 'user-permissions'] as const).map((id) => ({
108
+ id,
109
+ title: TEMPLATE_ROUTES[id].label,
110
+ href: TEMPLATE_ROUTES[id].url,
111
+ }));
112
+
113
+ /** A plain primary click is the app's to route; a modified one opens the real destination in the browser. */
114
+ function isPlainClick(event: MouseEvent<HTMLAnchorElement>) {
115
+ return !event.defaultPrevented && event.button === 0 && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey;
116
+ }
117
+
118
+ const SKIP_TO_CONTENT_LABEL = 'Skip to content';
119
+
105
120
  const SIDEBAR_ICON_MAP: NonNullable<AppSidebarProps['iconMap']> = {
106
121
  analytics: BarChart3,
107
122
  orders: ShoppingBag,
@@ -200,19 +215,19 @@ export interface AdminStarterShellProps {
200
215
  children?: ReactNode;
201
216
  }
202
217
 
203
- function TemplateLink({ href, children, active, disabled, external, target, rel, onClick, onNavigate, ...props }: LayoutLinkRenderProps & { onNavigate: (id: AdminTemplateId) => void }) {
204
- const { setOpenMobile } = useSidebar();
205
- return <a {...props} href={disabled ? undefined : href} target={target ?? (external ? '_blank' : undefined)} rel={rel ?? (external ? 'noopener noreferrer' : undefined)} aria-current={active ? 'page' : undefined} aria-disabled={disabled || undefined} onClick={(event) => {
218
+ /** The router seam: a real app renders its router's Link here. Navigation owners pass `aria-current` ready to spread. */
219
+ function TemplateLink({ href, children, active: _active, disabled, external, target, rel, onClick, onNavigate, ...props }: LayoutLinkRenderProps & { onNavigate: (id: AdminTemplateId) => void }) {
220
+ return <a {...props} href={disabled ? undefined : href} target={target ?? (external ? '_blank' : undefined)} rel={rel ?? (external ? 'noopener noreferrer' : undefined)} aria-disabled={disabled || undefined} onClick={(event) => {
206
221
  onClick?.(event);
207
222
  if (disabled) { event.preventDefault(); return; }
208
- if (event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || external || (target && target !== '_self')) return;
223
+ if (!isPlainClick(event) || external || (target && target !== '_self')) return;
209
224
  const route = Object.values(TEMPLATE_ROUTES).find((item) => item.url === href);
210
- if (route) { event.preventDefault(); onNavigate(route.id); setOpenMobile(false); }
225
+ if (route) { event.preventDefault(); onNavigate(route.id); }
211
226
  }}>{children}</a>;
212
227
  }
213
228
 
214
229
  function TemplateUserMenu({ sidebar = false, onNavigate }: { sidebar?: boolean; onNavigate: (id: AdminTemplateId) => void }) {
215
- const { setOpenMobile } = useSidebar();
230
+ const { setOpenMobile } = useLayoutSidebar();
216
231
  const openSettings = () => { onNavigate('user-permissions'); setOpenMobile(false); };
217
232
  return sidebar ? <SidebarNavigationUser user={CURRENT_USER} onSettings={openSettings} /> : <HeaderUserMenu user={CURRENT_USER} onSettings={openSettings} />;
218
233
  }
@@ -283,6 +298,7 @@ export function AdminStarterShell({
283
298
 
284
299
  const trailingToolsNode = (
285
300
  <Stack direction="horizontal" align="center" gap="sm" wrap={false}>
301
+ {/* The unread badge and "Mark all as read" follow each notification's `read` flag. */}
286
302
  <HeaderNotifications
287
303
  notifications={notifications}
288
304
  onMarkAllRead={() =>
@@ -315,6 +331,7 @@ export function AdminStarterShell({
315
331
  <AppLayout
316
332
  variant={defaultShellVariant}
317
333
  className="h-full min-h-0"
334
+ skipToContentLabel={SKIP_TO_CONTENT_LABEL}
318
335
  sidebar={sidebarNode}
319
336
  slots={{
320
337
  toolbarStart: breadcrumbsNode,
@@ -324,15 +341,37 @@ export function AdminStarterShell({
324
341
  {activePageNode}
325
342
  </AppLayout>
326
343
  ) : defaultShellVariant === 'stacked' ? (
327
- <AppLayout variant="stacked" className="h-full min-h-0" logo={brandLogo}
328
- nav={<Stack direction="horizontal" gap="lg">{Object.values(TEMPLATE_ROUTES).map((route) => <TemplateLink key={route.id} href={route.url} active={route.id === activeTemplate} onNavigate={selectTemplate}>{route.label}</TemplateLink>)}</Stack>}
329
- slots={{ headerEnd: trailingToolsNode }}>
344
+ // The stacked shell's contained measure owns the page gutter, so each
345
+ // route Page keeps its defaults. Its navigation is route tabs: real
346
+ // links that bring their own landmark, so the shell's region is a div.
347
+ <AppLayout
348
+ variant="stacked"
349
+ className="h-full min-h-0"
350
+ skipToContentLabel={SKIP_TO_CONTENT_LABEL}
351
+ logo={brandLogo}
352
+ navAs="div"
353
+ nav={
354
+ <NavigationTabs
355
+ items={STACKED_NAVIGATION}
356
+ currentPath={activeMeta.url}
357
+ strings={{ tabsAria: 'Primary navigation' }}
358
+ onSelect={(item, event) => {
359
+ const route = Object.values(TEMPLATE_ROUTES).find((candidate) => candidate.url === item.href);
360
+ if (!route || !isPlainClick(event)) return;
361
+ event.preventDefault();
362
+ selectTemplate(route.id);
363
+ }}
364
+ />
365
+ }
366
+ slots={{ headerEnd: trailingToolsNode }}
367
+ >
330
368
  {activePageNode}
331
369
  </AppLayout>
332
370
  ) : (
333
371
  <AppLayout
334
372
  variant={defaultShellVariant}
335
373
  className="h-full min-h-0"
374
+ skipToContentLabel={SKIP_TO_CONTENT_LABEL}
336
375
  logo={brandLogo}
337
376
  sidebar={sidebarNode}
338
377
  slots={{
@@ -18,14 +18,8 @@ import {
18
18
  ItemTitle,
19
19
  } from 'themelia-react-ui/base/item';
20
20
  import { Grid, Stack } from 'themelia-react-ui/base/structure';
21
- import {
22
- ActivityHeatmap,
23
- MetricBar,
24
- MetricComparison,
25
- UsageCard,
26
- type ActivityHeatmapDay,
27
- type MetricData,
28
- } from 'themelia-react-ui/blocks/analytics';
21
+ import { ActivityHeatmap, MetricComparison, UsageCard, type ActivityHeatmapDay, type MetricData } from 'themelia-react-ui/blocks/analytics';
22
+ import { MetricBar } from 'themelia-react-ui/blocks/analytics/charts';
29
23
  import { MetadataList } from 'themelia-react-ui/base/metadata-list';
30
24
  import { ActivityLog, type ActivityLogEntry } from 'themelia-react-ui/features/activities';
31
25
  import { TwoColumnLayout } from 'themelia-react-ui/layout/containers';
@@ -199,27 +193,29 @@ export function AnalyticsOperationsTemplate({
199
193
  header={{
200
194
  title: 'Store overview',
201
195
  description: 'Sales KPIs for the selected period, with monthly comparisons and a current operations snapshot.',
202
- titleBadges: [{ label: 'Live', tone: 'success' }],
203
- // A period choice is a control, not a command, so it stays in `actions`.
204
- actions: (
205
- <Select
206
- aria-label="Reporting period"
207
- options={[
208
- { value: '7d', label: 'Last 7 days' },
209
- { value: '30d', label: 'Last 30 days' },
210
- ]}
211
- value={period}
212
- onValueChange={(value) => {
213
- if (value === '7d' || value === '30d') setPeriod(value);
214
- }}
215
- />
216
- ),
196
+ slots: { titleSuffix: <Badge tone="success">Live</Badge> },
217
197
  }}
198
+ // A period choice is a control, not a command, so it sits in the page toolbar.
199
+ toolbar={
200
+ <Select
201
+ className="w-auto"
202
+ aria-label="Reporting period"
203
+ options={[
204
+ { value: '7d', label: 'Last 7 days' },
205
+ { value: '30d', label: 'Last 30 days' },
206
+ ]}
207
+ value={period}
208
+ onValueChange={(value) => {
209
+ if (value === '7d' || value === '30d') setPeriod(value);
210
+ }}
211
+ />
212
+ }
218
213
  >
219
214
  <Stack gap="2xl">
220
215
  <MetricBar metrics={kpiMetrics} />
221
216
 
222
217
  <TwoColumnLayout
218
+ adaptTo="container"
223
219
  stickyAside
224
220
  main={
225
221
  <Stack gap="2xl">
@@ -364,7 +360,7 @@ export function AnalyticsOperationsTemplate({
364
360
  title="Recent activity"
365
361
  description="Latest carrier pickups, payouts, and catalog updates."
366
362
  >
367
- <ActivityLog bare entries={STORE_ACTIVITY} itemSpacing="compact" />
363
+ <ActivityLog title={false} entries={STORE_ACTIVITY} itemSpacing="compact" />
368
364
  </Card>
369
365
  </Stack>
370
366
  }
@@ -16,7 +16,7 @@ import { DecimalInput } from 'themelia-react-ui/base/forms-numeric';
16
16
  import { Grid, Stack } from 'themelia-react-ui/base/structure';
17
17
  import { Input, Textarea } from 'themelia-react-ui/base/text-inputs';
18
18
  import { PhoneInput, TagsInput } from 'themelia-react-ui/base/value-inputs';
19
- import { MetricBar, type MetricData } from 'themelia-react-ui/blocks/analytics';
19
+ import { MetricBar, type MetricData } from 'themelia-react-ui/blocks/analytics/charts';
20
20
  import { AddressCard } from 'themelia-react-ui/blocks/commerce';
21
21
  import { MetadataList } from 'themelia-react-ui/base/metadata-list';
22
22
  import { ActivityLog, type ActivityLogEntry } from 'themelia-react-ui/features/activities';
@@ -25,7 +25,7 @@ import { DataTable } from 'themelia-react-ui/features/table';
25
25
  import { TwoColumnLayout } from 'themelia-react-ui/layout/containers';
26
26
  import { Page } from 'themelia-react-ui/layout/page';
27
27
  import { Date as DateValue, Money, useMoneyFormatter } from 'themelia-react-ui/primitives';
28
- import { Text } from 'themelia-react-ui/typography';
28
+ import { Heading, Text } from 'themelia-react-ui/typography';
29
29
 
30
30
  interface CustomerOrderSummary {
31
31
  id: string;
@@ -279,28 +279,31 @@ export function CustomersAdminTemplate() {
279
279
  <MetricBar metrics={customerMetrics} />
280
280
 
281
281
  <TwoColumnLayout
282
+ adaptTo="container"
282
283
  stickyAside
283
284
  main={
284
285
  <Stack gap="2xl">
285
- <Card
286
- title="Orders placed"
287
- titleSuffix={<Badge tone="neutral">{CUSTOMER_ORDERS.length}</Badge>}
288
- description="Orders placed across Online Store and SoHo POS."
289
- >
290
- <DataTable<CustomerOrderSummary>
291
- columns={orderColumns}
292
- data={CUSTOMER_ORDERS}
293
- surface="flat"
294
- enableSorting
295
- getRowId={(order) => order.id}
296
- />
297
- </Card>
286
+ <DataTable<CustomerOrderSummary>
287
+ columns={orderColumns}
288
+ data={CUSTOMER_ORDERS}
289
+ topbarContent={
290
+ <Stack gap="dense">
291
+ <Stack direction="horizontal" align="center" gap="md" wrap>
292
+ <Heading tag="h2" size="base" className="text-inherit">Orders placed</Heading>
293
+ <Badge tone="neutral">{CUSTOMER_ORDERS.length}</Badge>
294
+ </Stack>
295
+ <Text size="xs" type="secondary">Orders placed across Online Store and SoHo POS.</Text>
296
+ </Stack>
297
+ }
298
+ enableSorting
299
+ getRowId={(order) => order.id}
300
+ />
298
301
 
299
302
  <Card
300
303
  title="Timeline"
301
304
  description="Order history, address changes, and store credit adjustments."
302
305
  >
303
- <ActivityLog bare entries={activityEntries} itemSpacing="compact" />
306
+ <ActivityLog title={false} entries={activityEntries} itemSpacing="compact" />
304
307
  </Card>
305
308
  </Stack>
306
309
  }
@@ -361,13 +364,15 @@ export function CustomersAdminTemplate() {
361
364
  <AddressCard
362
365
  surface="card"
363
366
  kind="shipping"
364
- name={customerName}
365
- line1="214 Mercer Street"
366
- line2="Apt 4B"
367
- city="New York, NY"
368
- postalCode="10012"
369
- country="United States"
370
- phone="+1 (212) 555-0192"
367
+ address={{
368
+ name: customerName,
369
+ line1: '214 Mercer Street',
370
+ line2: 'Apt 4B',
371
+ city: 'New York, NY',
372
+ postalCode: '10012',
373
+ country: 'United States',
374
+ phone: '+1 (212) 555-0192',
375
+ }}
371
376
  default
372
377
  />
373
378
 
@@ -418,7 +423,7 @@ export function CustomersAdminTemplate() {
418
423
  >
419
424
  <form id={contactFormId} onSubmit={(event) => { event.preventDefault(); saveContact(); }}>
420
425
  <Stack gap="xl">
421
- <FormSection title="Contact information">
426
+ <FormSection title="Contact information" surface="flat" padding="none">
422
427
  <Grid columns={{ base: 1, sm: 2 }} gap="lg">
423
428
  <FormField label="Full name" required>
424
429
  <Input
@@ -477,7 +482,7 @@ export function CustomersAdminTemplate() {
477
482
  formId={creditFormId}
478
483
  >
479
484
  <form id={creditFormId} onSubmit={(event) => { event.preventDefault(); handleIssueStoreCredit(); }}>
480
- <FormSection title="Store credit adjustment">
485
+ <FormSection title="Store credit adjustment" surface="flat" padding="none">
481
486
  <FormField
482
487
  label="Credit amount (USD)"
483
488
  required
@@ -18,12 +18,6 @@ export { ProductsAdminTemplate } from './products-template';
18
18
 
19
19
  export { CustomersAdminTemplate } from './customers-template';
20
20
 
21
- export {
22
- UserPermissionsTemplate,
23
- UserPermissionsTemplate as UserPermissionsAdminTemplate,
24
- } from './user-permissions-template';
21
+ export { UserPermissionsTemplate } from './user-permissions-template';
25
22
 
26
- export {
27
- AnalyticsOperationsTemplate,
28
- AnalyticsOperationsTemplate as AnalyticsOperationsAdminTemplate,
29
- } from './analytics-operations-template';
23
+ export { AnalyticsOperationsTemplate } from './analytics-operations-template';
@@ -443,16 +443,15 @@ export function OrdersAdminTemplate() {
443
443
  header={{
444
444
  title: 'Order #1042',
445
445
  description: 'October 14, 2026 at 2:14 pm · Online Store',
446
- titleBadges: [
447
- {
448
- label: totalRefundedAmount > 0 ? 'Partially refunded' : 'Paid',
449
- tone: totalRefundedAmount > 0 ? 'warning' : 'success',
450
- },
451
- {
452
- label: unfulfilledUnitCount > 0 ? 'Partially fulfilled' : 'Fulfilled',
453
- tone: unfulfilledUnitCount > 0 ? 'info' : 'success',
454
- },
455
- ],
446
+ slots: {
447
+ // Payment and fulfilment status sit directly after the title.
448
+ titleSuffix: (
449
+ <Stack direction="horizontal" gap="sm" wrap>
450
+ <Badge tone={totalRefundedAmount > 0 ? 'warning' : 'success'}>{totalRefundedAmount > 0 ? 'Partially refunded' : 'Paid'}</Badge>
451
+ <Badge tone={unfulfilledUnitCount > 0 ? 'info' : 'success'}>{unfulfilledUnitCount > 0 ? 'Partially fulfilled' : 'Fulfilled'}</Badge>
452
+ </Stack>
453
+ ),
454
+ },
456
455
  // Fulfillment is the order's next step, so it is the route's one primary command
457
456
  // while physical items remain unfulfilled.
458
457
  primaryAction: {
@@ -464,6 +463,7 @@ export function OrdersAdminTemplate() {
464
463
  }}
465
464
  >
466
465
  <TwoColumnLayout
466
+ adaptTo="container"
467
467
  stickyAside
468
468
  main={
469
469
  <Stack gap="2xl">
@@ -838,7 +838,7 @@ export function OrdersAdminTemplate() {
838
838
 
839
839
  {/* Order Timeline */}
840
840
  <Card title="Timeline">
841
- <ActivityLog bare entries={timeline} itemSpacing="compact" />
841
+ <ActivityLog title={false} entries={timeline} itemSpacing="compact" />
842
842
  </Card>
843
843
  </Stack>
844
844
  }
@@ -888,25 +888,29 @@ export function OrdersAdminTemplate() {
888
888
  surface="card"
889
889
  kind="shipping"
890
890
  default
891
- name="Ava Bennett"
892
- line1="214 Mercer Street"
893
- line2="Apt 4B"
894
- city="New York, NY"
895
- postalCode="10012"
896
- country="United States"
897
- phone="+1 (212) 555-0148"
891
+ address={{
892
+ name: 'Ava Bennett',
893
+ line1: '214 Mercer Street',
894
+ line2: 'Apt 4B',
895
+ city: 'New York, NY',
896
+ postalCode: '10012',
897
+ country: 'United States',
898
+ phone: '+1 (212) 555-0148',
899
+ }}
898
900
  />
899
901
 
900
902
  {/* Billing Address Card */}
901
903
  <AddressCard
902
904
  surface="card"
903
905
  kind="billing"
904
- name="Ava Bennett"
905
- line1="214 Mercer Street"
906
- line2="Apt 4B"
907
- city="New York, NY"
908
- postalCode="10012"
909
- country="United States"
906
+ address={{
907
+ name: 'Ava Bennett',
908
+ line1: '214 Mercer Street',
909
+ line2: 'Apt 4B',
910
+ city: 'New York, NY',
911
+ postalCode: '10012',
912
+ country: 'United States',
913
+ }}
910
914
  />
911
915
 
912
916
  {/* Payment Method Card */}
@@ -1,4 +1,4 @@
1
- import { useMemo, useState } from 'react';
1
+ import { useId, useMemo, useRef, useState } from 'react';
2
2
 
3
3
  import { Badge } from 'themelia-react-ui/base/badge';
4
4
  import { Card } from 'themelia-react-ui/base/cards';
@@ -315,8 +315,17 @@ export function ProductsAdminTemplate() {
315
315
  variantDrawer.show();
316
316
  };
317
317
 
318
+ // Local ids for unsaved variants. `crypto.randomUUID()` exists only in secure
319
+ // contexts, so it throws on a LAN dev server; the server assigns the real id on save.
320
+ const variantIdPrefix = useId();
321
+ const variantIdCount = useRef(0);
322
+ const createVariantId = () => {
323
+ variantIdCount.current += 1;
324
+ return `${variantIdPrefix}new-variant-${variantIdCount.current}`;
325
+ };
326
+
318
327
  const duplicateVariant = (variant: ProductVariantRow) => {
319
- const copy = { ...variant, id: crypto.randomUUID(), sku: `${String(variant.sku ?? 'MWC')}-COPY` };
328
+ const copy = { ...variant, id: createVariantId(), sku: `${String(variant.sku ?? 'MWC')}-COPY` };
320
329
  setVariantState((current) => [...current, copy]);
321
330
  return copy;
322
331
  };
@@ -368,7 +377,7 @@ export function ProductsAdminTemplate() {
368
377
  productDirty ? 'Unsaved product changes' : savedRevision !== null
369
378
  ? `Saved revision #${savedRevision} · Updated just now`
370
379
  : `Men’s Knitwear · ${variantState.length} variants (${totalInventory} in stock)`,
371
- titleBadges: [{ label: productStatus, tone: statusBadgeTone }],
380
+ slots: { titleSuffix: <Badge tone={statusBadgeTone}>{productStatus}</Badge> },
372
381
  primaryAction: {
373
382
  label: 'Save product',
374
383
  disabled: !productDirty,
@@ -378,6 +387,7 @@ export function ProductsAdminTemplate() {
378
387
  }}
379
388
  >
380
389
  <TwoColumnLayout
390
+ adaptTo="container"
381
391
  stickyAside
382
392
  main={
383
393
  <Stack gap="2xl">
@@ -453,7 +463,7 @@ export function ProductsAdminTemplate() {
453
463
  setVariantState((current) => [
454
464
  ...current,
455
465
  {
456
- id: crypto.randomUUID(),
466
+ id: createVariantId(),
457
467
  name: 'Heather Gray / Large',
458
468
  sku: `MWC-GRY-L-${nextIndex}`,
459
469
  price: '145.00',