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
@@ -1,36 +1,60 @@
1
1
  "use client";
2
- import { b as e, n as t, y as n } from "../ui-provider-C-74NVLc.js";
2
+ import { b as e, r as t, x as n } from "../ui-provider-Bu1S-o96.js";
3
3
  import { COMPONENT_SCALES as r, SEMANTIC_TONES as i } from "../component-vocabulary.js";
4
4
  import { interpolateString as a, useStrings as o } from "../lib/strings.js";
5
- import { t as s } from "../utils-B6kKb8jB.js";
6
- import { n as c } from "../buttons-BedGfygC.js";
7
- import { c as l, s as u } from "../typography-BQnine1k.js";
8
- import { t as d } from "../focus-recipes-B653VaLq.js";
9
- import { r as f, t as p } from "../structure-DuxKl954.js";
10
- import { _ as m, g as ee, h, p as te, t as ne, v as g } from "../smart-card-CW0hjetE.js";
11
- import { i as re, r as ie } from "../overlays-BSgCtM2v.js";
12
- import { m as ae } from "../primitives-ByWgGUgt.js";
13
- import { t as oe } from "../accordion-B9MHG0cT.js";
14
- import { t as _ } from "../badge-xIiV_E7f.js";
5
+ import { t as s } from "../utils-BVbAG2J6.js";
6
+ import { c, s as l } from "../typography-C0dELqYV.js";
7
+ import { t as u } from "../focus-recipes-DSkiUvUp.js";
8
+ import { n as d } from "../buttons-pZVgPTZn.js";
9
+ import { r as f, t as p } from "../structure-DElaQwwN.js";
10
+ import { _ as m, f as h, g, h as _, m as ee, t as te } from "../smart-card-C59z6KFO.js";
11
+ import { n as ne } from "../composition.recipes-COdiFhxB.js";
12
+ import { i as re, r as ie } from "../overlays-D-gAIfPF.js";
13
+ import { m as ae } from "../primitives-BlC1lXBr.js";
14
+ import { t as oe } from "../accordion-DNVqwEIC.js";
15
+ import { t as v } from "../badge-oGiXblW7.js";
15
16
  import { t as se } from "../theme-mode-css-BB-_RYab.js";
16
- import { t as v } from "../input-CvyDQlY7.js";
17
- import { t as y } from "../form-field-BriWAXyg.js";
18
- import { d as ce } from "../text-inputs-B1culiSK.js";
19
- import { a as b, l as x } from "../choice-inputs-zUgBZfE4.js";
20
- import { i as le, n as S } from "../value-inputs-skdVB2zh.js";
21
- import { d as ue } from "../forms-numeric-DIhghX1Q.js";
22
- import { t as de } from "../item-DjCcM18E.js";
23
- import { i as fe, r as pe, t as me } from "../tabs-e7ko9S2o.js";
24
- import { forwardRef as C, useEffect as he, useId as w, useImperativeHandle as ge, useMemo as T, useRef as _e, useState as E } from "react";
25
- import { jsx as D, jsxs as O } from "react/jsx-runtime";
26
- import { CheckCircle2 as ve, Copy as ye, Download as be, Info as xe, LayoutGrid as Se, Moon as Ce, Palette as k, RotateCcw as we, Search as Te, Settings2 as Ee, Shapes as De, ShieldCheck as A, Sun as Oe, Type as ke } from "lucide-react";
17
+ import { t as y } from "../input-DfJyrjoR.js";
18
+ import { t as b } from "../form-field-BdfCwSoQ.js";
19
+ import { d as ce } from "../text-inputs-ljyBYaCd.js";
20
+ import { a as x, l as S } from "../choice-inputs-oJEsrb5Y.js";
21
+ import { i as le, n as ue } from "../value-inputs-h5MwjGCo.js";
22
+ import { p as de } from "../forms-numeric-DOBswjKj.js";
23
+ import { t as fe } from "../item-GJ9mvCcg.js";
24
+ import { i as pe, r as me, t as he } from "../tabs-WnHfV2pM.js";
25
+ import { s as ge } from "../data-display-CWe9SOYh.js";
26
+ import { forwardRef as _e, useEffect as ve, useId as ye, useImperativeHandle as be, useMemo as C, useRef as xe, useState as w } from "react";
27
+ import { jsx as T, jsxs as E } from "react/jsx-runtime";
28
+ import { CheckCircle2 as Se, Copy as Ce, Download as we, Info as Te, LayoutGrid as Ee, Moon as De, Palette as Oe, RotateCcw as ke, Search as Ae, Settings2 as D, Shapes as je, ShieldCheck as Me, Sun as Ne, Type as O } from "lucide-react";
27
29
  //#region src/components/features/theme-tweaker/theme-tweaker.utils.ts
28
- var Ae = {
30
+ var Pe = {
29
31
  shared: ":root",
30
32
  light: ":root,\n.light",
31
33
  dark: ".dark"
32
- }, je = /^--[a-z][a-z0-9-]*$/i, j = /[;{}]/, Me = /[;{}]/;
33
- function M(e = {}) {
34
+ }, Fe = /^--[a-z][a-z0-9-]*$/i, Ie = /[;{}<\\]|\/\*|\*\//, k = /[;{}<]|\/\*|\*\//;
35
+ function Le(e) {
36
+ return [...e].some((e) => {
37
+ let t = e.charCodeAt(0);
38
+ return t < 32 || t === 127;
39
+ });
40
+ }
41
+ function Re(e) {
42
+ let t = null, n = 0;
43
+ for (let r of e) if (t) r === t && (t = null);
44
+ else if (r === "\"" || r === "'") t = r;
45
+ else if (r === "(") n += 1;
46
+ else if (r === ")" && (--n, n < 0)) return !1;
47
+ return t === null && n === 0;
48
+ }
49
+ function A(e) {
50
+ let t = e.trim();
51
+ return Ie.test(t) || Le(t) || !Re(t);
52
+ }
53
+ function ze(e) {
54
+ let t = e.trim();
55
+ return t.length === 0 || typeof CSS > "u" || typeof CSS.supports != "function" || CSS.supports("color", t);
56
+ }
57
+ function j(e = {}) {
34
58
  return {
35
59
  mode: e.mode ?? "light",
36
60
  shared: { ...e.shared },
@@ -38,71 +62,68 @@ function M(e = {}) {
38
62
  dark: { ...e.dark }
39
63
  };
40
64
  }
41
- function N(e) {
42
- return je.test(e);
65
+ function Be(e) {
66
+ return Fe.test(e);
43
67
  }
44
- function P(e, t = !0) {
68
+ function M(e, t = !0) {
45
69
  return Object.entries(e).filter((e) => typeof e[1] == "string" && e[1].trim().length > 0).flatMap(([e, n]) => {
46
- if (!N(e)) {
70
+ if (!Be(e)) {
47
71
  if (!t) return [];
48
72
  throw TypeError(`Invalid CSS variable name: ${e}`);
49
73
  }
50
- let r = n.trim(), i = [...r].some((e) => {
51
- let t = e.charCodeAt(0);
52
- return t < 32 || t === 127;
53
- });
54
- if (j.test(r) || i) {
74
+ let r = n.trim();
75
+ if (A(r)) {
55
76
  if (!t) return [];
56
77
  throw TypeError(`Unsafe CSS value for ${e}.`);
57
78
  }
58
79
  return [[e, r]];
59
80
  }).sort(([e], [t]) => e.localeCompare(t));
60
81
  }
61
- function F(e, t) {
82
+ function N(e, t) {
62
83
  let n = e.trim();
63
- if (n.length === 0 || Me.test(n)) throw TypeError(`Invalid ${t} theme selector.`);
84
+ if (n.length === 0 || k.test(n)) throw TypeError(`Invalid ${t} theme selector.`);
64
85
  return n;
65
86
  }
66
- function I(e, t) {
67
- let n = P(t);
87
+ function P(e, t) {
88
+ let n = M(t);
68
89
  return n.length === 0 ? null : [
69
90
  `${e} {`,
70
91
  ...n.map(([e, t]) => `\t${e}: ${t};`),
71
92
  "}"
72
93
  ].join("\n");
73
94
  }
74
- function L(e, t = {}) {
75
- let n = t.selectors ?? Ae, r = F(n.shared, "shared"), i = F(n.light, "light"), a = F(n.dark, "dark"), o = n.modeScope === void 0 ? void 0 : F(n.modeScope, "modeScope"), s = [I(r, e.shared), ...o === void 0 ? [I(i, e.light), I(a, e.dark)] : [se(o, {
76
- light: P(e.light).map(([e, t]) => `${e}: ${t};`),
77
- dark: P(e.dark).map(([e, t]) => `${e}: ${t};`)
95
+ function F(e, t = {}) {
96
+ let n = t.selectors ?? Pe, r = N(n.shared, "shared"), i = N(n.light, "light"), a = N(n.dark, "dark"), o = n.modeScope === void 0 ? void 0 : N(n.modeScope, "modeScope"), s = [P(r, e.shared), ...o === void 0 ? [P(i, e.light), P(a, e.dark)] : [se(o, {
97
+ light: M(e.light).map(([e, t]) => `${e}: ${t};`),
98
+ dark: M(e.dark).map(([e, t]) => `${e}: ${t};`)
78
99
  })]].filter((e) => e !== null && e.length > 0), c = t.banner === !1 ? null : `/* ${t.banner ?? "themelia-react-ui theme overrides"} */`;
79
100
  return `${[...c ? [c] : [], ...s.length > 0 ? s : ["/* No explicit overrides. */"]].join("\n\n")}\n`;
80
101
  }
81
- function R(t = {}) {
82
- let n = e(t), { locale: r, formatRelativeTime: i, ...a } = n.dates;
102
+ function I(e = {}) {
103
+ let t = n(e), { locale: r, formatRelativeTime: i, ...a } = t.dates;
83
104
  return {
84
- ...n,
105
+ ...t,
85
106
  dates: a
86
107
  };
87
108
  }
88
- function Ne(e = {}) {
89
- let t = R(e);
109
+ function Ve(e = {}) {
110
+ let t = I(e);
90
111
  return `import type { UIConfig } from 'themelia-react-ui/ui-provider';\n\nexport const adminUIConfig = ${JSON.stringify(t, null, " ")} satisfies UIConfig;\n`;
91
112
  }
92
- function z(e, t = e.mode) {
113
+ function He(e, t = e.mode) {
93
114
  return {
94
115
  ...e.shared,
95
116
  ...e[t]
96
117
  };
97
118
  }
98
- function B(e, t = e.mode) {
99
- return Object.fromEntries(P(z(e, t), !1));
119
+ function L(e, t = e.mode) {
120
+ return Object.fromEntries(M(He(e, t), !1));
100
121
  }
101
- function Pe(e) {
102
- return P(e.shared, !1).length + P(e.light, !1).length + P(e.dark, !1).length;
122
+ function Ue(e) {
123
+ return M(e.shared, !1).length + M(e.light, !1).length + M(e.dark, !1).length;
103
124
  }
104
- function Fe(e) {
105
- let t = F(e, "shared");
125
+ function R(e) {
126
+ let t = N(e, "shared");
106
127
  return {
107
128
  shared: t,
108
129
  light: `${t},\n${t}.light,\n.light ${t}`,
@@ -110,62 +131,62 @@ function Fe(e) {
110
131
  modeScope: t
111
132
  };
112
133
  }
113
- function Ie(e, t = "admin-ui-theme.css", n = {}, r = {}) {
114
- let i = M(r.resolvedTheme ?? e), a = R(r.providerConfig);
134
+ function We(e, t = "admin-ui-theme.css", n = {}, r = {}) {
135
+ let i = j(r.resolvedTheme ?? e), a = I(r.providerConfig);
115
136
  return {
116
137
  fileName: t,
117
- cssText: L(i, {
138
+ cssText: F(i, {
118
139
  ...n,
119
140
  banner: n.banner ?? "themelia-react-ui complete theme"
120
141
  }),
121
- overrideCssText: L(e, n),
122
- theme: M(e),
142
+ overrideCssText: F(e, n),
143
+ theme: j(e),
123
144
  resolvedTheme: i,
124
- overrideCount: Pe(e),
145
+ overrideCount: Ue(e),
125
146
  providerFileName: r.providerFileName ?? "admin-ui.config.ts",
126
147
  providerConfig: a,
127
- providerConfigText: Ne(a)
148
+ providerConfigText: Ve(a)
128
149
  };
129
150
  }
130
- function Le(e) {
131
- Re({
151
+ function Ge(e) {
152
+ Ke({
132
153
  fileName: e.fileName,
133
154
  text: e.cssText,
134
155
  mimeType: "text/css;charset=utf-8"
135
156
  });
136
157
  }
137
- function Re({ fileName: e, text: t, mimeType: n = "text/plain;charset=utf-8" }) {
158
+ function Ke({ fileName: e, text: t, mimeType: n = "text/plain;charset=utf-8" }) {
138
159
  if (typeof document > "u" || typeof URL > "u") throw Error("File download requires a browser document. Provide onExport in non-browser environments.");
139
160
  let r = new Blob([t], { type: n }), i = URL.createObjectURL(r), a = document.createElement("a");
140
161
  a.href = i, a.download = e, a.hidden = !0, document.body.append(a), a.click(), a.remove(), URL.revokeObjectURL(i);
141
162
  }
142
163
  //#endregion
143
164
  //#region src/components/features/theme-tweaker/theme-scope.tsx
144
- var V = C(function({ theme: e, mode: n = e.mode, className: r, style: i, children: a, ...o }, c) {
145
- return /* @__PURE__ */ D(t, {
165
+ var qe = _e(function({ theme: e, mode: n = e.mode, className: r, style: i, children: a, ...o }, c) {
166
+ return /* @__PURE__ */ T(t, {
146
167
  ...o,
147
168
  ref: c,
148
169
  "data-theme-mode": n,
149
170
  className: s("theme-scope--component", n, r),
150
171
  style: {
151
- ...B(e, n),
172
+ ...L(e, n),
152
173
  ...i
153
174
  },
154
175
  children: a
155
176
  });
156
177
  });
157
- V.displayName = "ThemeScope";
178
+ qe.displayName = "ThemeScope";
158
179
  //#endregion
159
180
  //#region src/components/features/theme-tweaker/use-applied-theme.ts
160
- function ze(e, t) {
181
+ function z(e, t) {
161
182
  return e === null ? null : e === "self" ? t.current : e === "document" ? typeof document > "u" ? null : document.documentElement : typeof e == "function" ? e() : e;
162
183
  }
163
- function Be({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
164
- he(() => {
184
+ function Je({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
185
+ ve(() => {
165
186
  if (!e || r === "self") return;
166
- let a = ze(r, n);
187
+ let a = z(r, n);
167
188
  if (!a) return;
168
- let o = B(i), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
189
+ let o = L(i), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
169
190
  for (let [e, t] of Object.entries(o)) typeof t == "string" && (s.set(e, {
170
191
  value: a.style.getPropertyValue(e),
171
192
  priority: a.style.getPropertyPriority(e)
@@ -189,22 +210,22 @@ function Be({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
189
210
  }
190
211
  //#endregion
191
212
  //#region src/components/features/theme-tweaker/admin-ui-theme-provider.tsx
192
- var Ve = C(function({ config: e, theme: t, mode: r = t.mode, target: i = "document", manageModeClass: a = !0, className: o, children: c, ...l }, u) {
193
- let d = _e(null);
194
- ge(u, () => d.current);
195
- let f = T(() => M({
196
- ...t,
213
+ var B = _e(function({ config: t, theme: n, mode: r = n.mode, target: i = "document", manageModeClass: a = !0, className: o, children: c, ...l }, u) {
214
+ let d = xe(null);
215
+ be(u, () => d.current);
216
+ let f = C(() => j({
217
+ ...n,
197
218
  mode: r
198
- }), [r, t]);
199
- return Be({
219
+ }), [r, n]);
220
+ return Je({
200
221
  apply: i === "document",
201
222
  manageModeClass: a,
202
223
  selfRef: d,
203
224
  target: i,
204
225
  theme: f
205
- }), /* @__PURE__ */ D(n, {
206
- config: e,
207
- children: /* @__PURE__ */ D(V, {
226
+ }), /* @__PURE__ */ T(e, {
227
+ config: t,
228
+ children: /* @__PURE__ */ T(qe, {
208
229
  ...l,
209
230
  ref: d,
210
231
  theme: f,
@@ -214,10 +235,10 @@ var Ve = C(function({ config: e, theme: t, mode: r = t.mode, target: i = "docume
214
235
  })
215
236
  });
216
237
  });
217
- Ve.displayName = "AdminUIThemeProvider";
238
+ B.displayName = "AdminUIThemeProvider";
218
239
  //#endregion
219
240
  //#region src/components/features/theme-tweaker/theme-tweaker.fields.ts
220
- var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--popover.--popover-foreground.--primary.--primary-foreground.--secondary.--secondary-foreground.--muted.--muted-foreground.--accent.--accent-foreground.--destructive.--destructive-foreground.--border.--input.--ring.--chart-1.--chart-2.--chart-3.--chart-4.--chart-5.--sidebar.--sidebar-foreground.--sidebar-primary.--sidebar-primary-foreground.--sidebar-accent.--sidebar-accent-foreground.--sidebar-border.--sidebar-ring".split("."), U = [
241
+ var V = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--popover.--popover-foreground.--primary.--primary-foreground.--secondary.--secondary-foreground.--muted.--muted-foreground.--accent.--accent-foreground.--destructive.--destructive-foreground.--border.--input.--ring.--chart-1.--chart-2.--chart-3.--chart-4.--chart-5.--chart-6.--chart-7.--chart-8.--sidebar.--sidebar-foreground.--sidebar-primary.--sidebar-primary-foreground.--sidebar-accent.--sidebar-accent-foreground.--sidebar-border.--sidebar-ring".split("."), Ye = [
221
242
  "--success",
222
243
  "--success-foreground",
223
244
  "--info",
@@ -236,12 +257,12 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
236
257
  "--inverse-surface-strong",
237
258
  "--inverse-border",
238
259
  "--inverse-decoration"
239
- ], W = ["--overlay-backdrop"], He = [
260
+ ], H = ["--overlay-backdrop"], Xe = [
240
261
  "--font-heading",
241
262
  "--font-sans",
242
263
  "--font-serif",
243
264
  "--font-mono"
244
- ], Ue = [
265
+ ], U = [
245
266
  "xxs",
246
267
  "xs",
247
268
  "pxs",
@@ -257,7 +278,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
257
278
  "7xl",
258
279
  "8xl",
259
280
  "9xl"
260
- ].flatMap((e) => [`--text-${e}`, `--text-${e}--line-height`]), G = [
281
+ ].flatMap((e) => [`--text-${e}`, `--text-${e}--line-height`]), Ze = [
261
282
  "--shadow-2xs",
262
283
  "--shadow-xs",
263
284
  "--shadow-sm",
@@ -266,7 +287,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
266
287
  "--shadow-lg",
267
288
  "--shadow-xl",
268
289
  "--shadow-2xl"
269
- ], K = [
290
+ ], W = [
270
291
  "--space-scale",
271
292
  "--density-scale",
272
293
  "--height-action",
@@ -280,7 +301,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
280
301
  "--avatar",
281
302
  "--shell-header-height",
282
303
  "--shell-sidebar-width"
283
- ], We = [
304
+ ], Qe = [
284
305
  "--content-width-sm",
285
306
  "--content-width-md",
286
307
  "--content-width-lg",
@@ -289,7 +310,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
289
310
  "--adaptive-grid-min-sm",
290
311
  "--adaptive-grid-min-md",
291
312
  "--adaptive-grid-min-lg"
292
- ], Ge = {
313
+ ], G = {
293
314
  "--background": "Application canvas and default page background.",
294
315
  "--foreground": "Primary text and icon color on the application canvas.",
295
316
  "--primary": "Brand and primary-action color.",
@@ -326,7 +347,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
326
347
  "--adaptive-grid-min-sm": "Compact minimum peer width used by AdaptiveGrid.",
327
348
  "--adaptive-grid-min-md": "Default minimum peer width used by AdaptiveGrid.",
328
349
  "--adaptive-grid-min-lg": "Spacious minimum peer width used by AdaptiveGrid."
329
- }, Ke = {
350
+ }, K = {
330
351
  "--space-scale": "Spacing scale",
331
352
  "--density-scale": "Density scale",
332
353
  "--height-action": "Action height",
@@ -350,7 +371,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
350
371
  "--adaptive-grid-min-sm": "Compact adaptive column",
351
372
  "--adaptive-grid-min-md": "Default adaptive column",
352
373
  "--adaptive-grid-min-lg": "Spacious adaptive column"
353
- }, q = {
374
+ }, $e = {
354
375
  "--radius": {
355
376
  type: "range",
356
377
  min: 0,
@@ -542,48 +563,48 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
542
563
  decimalPlaces: 1
543
564
  }
544
565
  };
545
- function J(e) {
566
+ function et(e) {
546
567
  return e.replace(/^--/, "").replace(/--/g, " · ").split("-").map((e) => e.length <= 3 ? e.toUpperCase() : `${e[0].toUpperCase()}${e.slice(1)}`).join(" ");
547
568
  }
548
- function qe(e, t) {
569
+ function q(e, t) {
549
570
  return e.startsWith("--chart-") ? "Categorical chart-series color; keep status meaning separate." : e.startsWith("--sidebar-") ? "Sidebar-specific theme color." : e.startsWith("--inverse-") ? "Explicitly inverse surface and content color." : e.endsWith("-foreground") ? "Foreground color paired with the matching solid or surface token." : e.endsWith("--line-height") ? "Line height paired with the matching typography step." : e.startsWith("--text-") ? "Font size for the matching typography step." : e.startsWith("--font-") ? "Font family stack for the matching content role." : e.startsWith("--shadow") ? "Elevation shadow used by package surfaces and overlays." : t === "states" ? "Semantic state color shared by package status surfaces." : "Public theme variable used across package components.";
550
571
  }
551
- function Y(e, t, n, r, i) {
572
+ function J(e, t, n, r, i) {
552
573
  return e.map((e) => ({
553
574
  name: e,
554
- label: Ke[e] ?? J(e),
555
- description: Ge[e] ?? qe(e, t),
575
+ label: K[e] ?? et(e),
576
+ description: G[e] ?? q(e, t),
556
577
  group: t,
557
578
  section: n,
558
579
  scope: r,
559
580
  kind: i,
560
- control: q[e]
581
+ control: $e[e]
561
582
  }));
562
583
  }
563
- var Je = [
564
- ...Y(H.slice(0, 6), "colors", "surfaces-content", "mode", "color"),
565
- ...Y(W, "colors", "surfaces-content", "shared", "color"),
566
- ...Y(H.slice(6, 19), "colors", "brand-actions", "mode", "color"),
567
- ...Y(H.slice(19, 24), "colors", "charts", "mode", "color"),
568
- ...Y(H.slice(24), "colors", "sidebar", "mode", "color"),
569
- ...Y(U.slice(0, 7), "states", "semantic-feedback", "mode", "color"),
570
- ...Y(U.slice(7), "states", "inverse-surfaces", "mode", "color"),
571
- ...Y(He, "typography", "font-families", "shared", "font"),
572
- ...Y(Ue, "typography", "type-scale", "shared", "length"),
573
- ...Y(["--radius"], "shape", "radius", "shared", "length"),
574
- ...Y(G, "shape", "elevation", "mode", "shadow"),
575
- ...Y(K.slice(0, 2), "structure", "global-scales", "shared", "length"),
576
- ...Y(K.slice(2, 5), "structure", "actions-controls", "shared", "length"),
577
- ...Y(["--gap-normal", "--gap-dense"], "structure", "rows-surfaces", "shared", "length"),
578
- ...Y(K.slice(5, 9), "structure", "rows-surfaces", "shared", "length"),
579
- ...Y(K.slice(9, 11), "structure", "media", "shared", "length"),
580
- ...Y(K.slice(11), "structure", "application-shell", "shared", "length"),
581
- ...Y(We.slice(0, 5), "structure", "content-widths", "shared", "length"),
582
- ...Y(We.slice(5), "structure", "adaptive-layout", "shared", "length")
584
+ var tt = [
585
+ ...J(V.slice(0, 6), "colors", "surfaces-content", "mode", "color"),
586
+ ...J(H, "colors", "surfaces-content", "shared", "color"),
587
+ ...J(V.slice(6, 19), "colors", "brand-actions", "mode", "color"),
588
+ ...J(V.slice(19, 27), "colors", "charts", "mode", "color"),
589
+ ...J(V.slice(27), "colors", "sidebar", "mode", "color"),
590
+ ...J(Ye.slice(0, 7), "states", "semantic-feedback", "mode", "color"),
591
+ ...J(Ye.slice(7), "states", "inverse-surfaces", "mode", "color"),
592
+ ...J(Xe, "typography", "font-families", "shared", "font"),
593
+ ...J(U, "typography", "type-scale", "shared", "length"),
594
+ ...J(["--radius"], "shape", "radius", "shared", "length"),
595
+ ...J(Ze, "shape", "elevation", "mode", "shadow"),
596
+ ...J(W.slice(0, 2), "structure", "global-scales", "shared", "length"),
597
+ ...J(W.slice(2, 5), "structure", "actions-controls", "shared", "length"),
598
+ ...J(["--gap-normal", "--gap-dense"], "structure", "rows-surfaces", "shared", "length"),
599
+ ...J(W.slice(5, 9), "structure", "rows-surfaces", "shared", "length"),
600
+ ...J(W.slice(9, 11), "structure", "media", "shared", "length"),
601
+ ...J(W.slice(11), "structure", "application-shell", "shared", "length"),
602
+ ...J(Qe.slice(0, 5), "structure", "content-widths", "shared", "length"),
603
+ ...J(Qe.slice(5), "structure", "adaptive-layout", "shared", "length")
583
604
  ].map((e) => e.name === "--space-scale" || e.name === "--density-scale" ? {
584
605
  ...e,
585
606
  kind: "number"
586
- } : e), X = {
607
+ } : e), Y = {
587
608
  title: "Application defaults",
588
609
  description: "Configure the stable display behavior that accompanies the exported CSS theme.",
589
610
  boundaryTitle: "Root provider recipe",
@@ -642,6 +663,8 @@ var Je = [
642
663
  },
643
664
  dualPricingDescription: "Show an optional display currency.",
644
665
  displayCurrencyPlaceholder: "Optional",
666
+ invalidLocale: "Enter a valid locale, such as en-US.",
667
+ invalidCurrency: "Enter a three-letter currency code, such as EUR.",
645
668
  options: {
646
669
  default: "Default",
647
670
  decimal: "Decimal",
@@ -696,14 +719,49 @@ var Je = [
696
719
  xl: "XL"
697
720
  }
698
721
  };
699
- function Z(e, t) {
722
+ function X(e, t) {
700
723
  return e.map((e) => ({
701
724
  value: e,
702
725
  label: t.options[e] ?? e.replaceAll("_", " ").replace(/\b\w/g, (e) => e.toUpperCase())
703
726
  }));
704
727
  }
705
- function Ye({ config: e, onChange: t, strings: n = X }) {
706
- let a = R(e), o = Z(r, n), s = [
728
+ function nt(e) {
729
+ if (e.trim().length === 0) return !1;
730
+ try {
731
+ return Intl.getCanonicalLocales(e), new Intl.NumberFormat(e), !0;
732
+ } catch {
733
+ return !1;
734
+ }
735
+ }
736
+ function Z(e) {
737
+ if (!/^[A-Z]{3}$/.test(e)) return !1;
738
+ try {
739
+ return new Intl.NumberFormat("en", {
740
+ style: "currency",
741
+ currency: e
742
+ }), !0;
743
+ } catch {
744
+ return !1;
745
+ }
746
+ }
747
+ function rt({ label: e, value: t, placeholder: n, error: r, normalize: i, isValid: a, onCommit: o }) {
748
+ let [s, c] = w(null);
749
+ return /* @__PURE__ */ T(b, {
750
+ label: e,
751
+ error: s === null ? void 0 : r,
752
+ children: /* @__PURE__ */ T(y, {
753
+ value: s ?? t,
754
+ placeholder: n,
755
+ onChange: (e) => {
756
+ let t = i ? i(e.target.value) : e.target.value;
757
+ a(t) ? (c(null), o(t)) : c(t);
758
+ }
759
+ })
760
+ });
761
+ }
762
+ var it = (e) => e.toUpperCase();
763
+ function at({ config: e, onChange: t, strings: n = Y }) {
764
+ let a = I(e), o = X(r, n), s = [
707
765
  "sunday",
708
766
  "monday",
709
767
  "tuesday",
@@ -714,7 +772,7 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
714
772
  ].map((e, t) => ({
715
773
  value: String(t),
716
774
  label: n.options[e]
717
- })), c = (e, n, r) => {
775
+ })), l = n.invalidLocale ?? Y.invalidLocale ?? "", u = n.invalidCurrency ?? Y.invalidCurrency ?? "", d = (e, n, r) => {
718
776
  t({
719
777
  ...a,
720
778
  [e]: {
@@ -723,51 +781,51 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
723
781
  }
724
782
  });
725
783
  };
726
- return /* @__PURE__ */ O(p, {
784
+ return /* @__PURE__ */ E(p, {
727
785
  gap: "lg",
728
786
  className: "theme-tweaker--provider-settings",
729
787
  children: [
730
- /* @__PURE__ */ O(p, {
788
+ /* @__PURE__ */ E(p, {
731
789
  gap: "normal",
732
- children: [/* @__PURE__ */ D(l, {
790
+ children: [/* @__PURE__ */ T(c, {
733
791
  type: "inherit",
734
792
  weight: "semibold",
735
793
  children: n.title
736
- }), /* @__PURE__ */ D(l, {
794
+ }), /* @__PURE__ */ T(c, {
737
795
  size: "xs",
738
796
  type: "secondary",
739
797
  children: n.description
740
798
  })]
741
799
  }),
742
- /* @__PURE__ */ O(te, {
800
+ /* @__PURE__ */ E(h, {
743
801
  tone: "info",
744
802
  role: "note",
745
803
  className: "theme-tweaker--provider-boundary",
746
804
  children: [
747
- /* @__PURE__ */ D(xe, { "aria-hidden": "true" }),
748
- /* @__PURE__ */ D(g, { children: n.boundaryTitle }),
749
- /* @__PURE__ */ D(h, { children: n.boundaryDescription }),
750
- /* @__PURE__ */ O(ee, { children: [
751
- /* @__PURE__ */ D(m, {
805
+ /* @__PURE__ */ T(Te, { "aria-hidden": "true" }),
806
+ /* @__PURE__ */ T(m, { children: n.boundaryTitle }),
807
+ /* @__PURE__ */ T(ee, { children: n.boundaryDescription }),
808
+ /* @__PURE__ */ E(_, { children: [
809
+ /* @__PURE__ */ T(g, {
752
810
  label: n.summary.locale,
753
811
  value: a.formatting?.locale ?? n.options.default
754
812
  }),
755
- /* @__PURE__ */ D(m, {
813
+ /* @__PURE__ */ T(g, {
756
814
  label: n.summary.currency,
757
815
  value: a.money?.defaultCurrency ?? n.options.default
758
816
  }),
759
- /* @__PURE__ */ D(m, {
817
+ /* @__PURE__ */ T(g, {
760
818
  label: n.summary.controls,
761
819
  value: n.options[a.density?.defaultScale ?? "md"] ?? a.density?.defaultScale ?? n.options.md
762
820
  }),
763
- /* @__PURE__ */ D(m, {
821
+ /* @__PURE__ */ T(g, {
764
822
  label: n.summary.cards,
765
823
  value: n.options[a.card?.defaultSurface ?? "card"] ?? a.card?.defaultSurface ?? n.options.default
766
824
  })
767
825
  ] })
768
826
  ]
769
827
  }),
770
- /* @__PURE__ */ D(oe, {
828
+ /* @__PURE__ */ T(oe, {
771
829
  multiple: !0,
772
830
  defaultValue: ["regional"],
773
831
  variant: "bordered",
@@ -778,57 +836,59 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
778
836
  value: "regional",
779
837
  title: n.sections.regional.title,
780
838
  description: n.sections.regional.description,
781
- content: /* @__PURE__ */ O("div", {
839
+ content: /* @__PURE__ */ E("div", {
782
840
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
783
841
  children: [
784
- /* @__PURE__ */ D(y, {
842
+ /* @__PURE__ */ T(rt, {
785
843
  label: n.labels.locale,
786
- children: /* @__PURE__ */ D(v, {
787
- value: a.formatting?.locale ?? "",
788
- onChange: (e) => c("formatting", "locale", e.target.value)
789
- })
844
+ value: a.formatting?.locale ?? "",
845
+ error: l,
846
+ isValid: nt,
847
+ onCommit: (e) => d("formatting", "locale", e)
790
848
  }),
791
- /* @__PURE__ */ D(y, {
849
+ /* @__PURE__ */ T(rt, {
792
850
  label: n.labels.defaultCurrency,
793
- children: /* @__PURE__ */ D(v, {
794
- value: a.money?.defaultCurrency ?? "",
795
- onChange: (e) => c("money", "defaultCurrency", e.target.value.toUpperCase())
796
- })
851
+ value: a.money?.defaultCurrency ?? "",
852
+ error: u,
853
+ normalize: it,
854
+ isValid: Z,
855
+ onCommit: (e) => d("money", "defaultCurrency", e)
797
856
  }),
798
- /* @__PURE__ */ D(y, {
857
+ /* @__PURE__ */ T(rt, {
799
858
  label: n.labels.displayCurrency,
800
- children: /* @__PURE__ */ D(v, {
801
- value: a.money?.displayCurrency ?? "",
802
- placeholder: n.displayCurrencyPlaceholder,
803
- onChange: (e) => c("money", "displayCurrency", e.target.value.toUpperCase() || void 0)
804
- })
859
+ value: a.money?.displayCurrency ?? "",
860
+ placeholder: n.displayCurrencyPlaceholder,
861
+ error: u,
862
+ normalize: it,
863
+ isValid: (e) => e === "" || Z(e),
864
+ onCommit: (e) => d("money", "displayCurrency", e || void 0)
805
865
  }),
806
- /* @__PURE__ */ D(y, {
866
+ /* @__PURE__ */ T(b, {
807
867
  label: n.labels.moneyFormat,
808
- children: /* @__PURE__ */ D(x, {
868
+ children: /* @__PURE__ */ T(S, {
809
869
  value: a.money?.formatMode,
810
- options: Z([
870
+ options: X([
811
871
  "decimal",
812
872
  "with_code",
813
873
  "with_symbol",
814
874
  "locale_aware"
815
875
  ], n),
816
- onValueChange: (e) => c("money", "formatMode", e)
876
+ onValueChange: (e) => d("money", "formatMode", e)
817
877
  })
818
878
  }),
819
- /* @__PURE__ */ D(y, {
879
+ /* @__PURE__ */ T(b, {
820
880
  label: n.labels.firstDay,
821
- children: /* @__PURE__ */ D(x, {
881
+ children: /* @__PURE__ */ T(S, {
822
882
  value: String(a.dates?.weekStartsOn ?? 1),
823
883
  options: s,
824
- onValueChange: (e) => c("dates", "weekStartsOn", Number(e))
884
+ onValueChange: (e) => d("dates", "weekStartsOn", Number(e))
825
885
  })
826
886
  }),
827
- /* @__PURE__ */ D(y, {
887
+ /* @__PURE__ */ T(b, {
828
888
  label: n.labels.dateFormat,
829
- children: /* @__PURE__ */ D(v, {
889
+ children: /* @__PURE__ */ T(y, {
830
890
  value: a.dates?.format ?? "",
831
- onChange: (e) => c("dates", "format", e.target.value)
891
+ onChange: (e) => d("dates", "format", e.target.value)
832
892
  })
833
893
  })
834
894
  ]
@@ -838,14 +898,14 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
838
898
  value: "content",
839
899
  title: n.sections.content.title,
840
900
  description: n.sections.content.description,
841
- content: /* @__PURE__ */ O("div", {
901
+ content: /* @__PURE__ */ E("div", {
842
902
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
843
903
  children: [
844
- /* @__PURE__ */ D(y, {
904
+ /* @__PURE__ */ T(b, {
845
905
  label: n.labels.textSize,
846
- children: /* @__PURE__ */ D(x, {
906
+ children: /* @__PURE__ */ T(S, {
847
907
  value: a.typography?.defaultTextSize,
848
- options: Z([
908
+ options: X([
849
909
  "xxs",
850
910
  "xs",
851
911
  "pxs",
@@ -854,41 +914,41 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
854
914
  "lg",
855
915
  "xl"
856
916
  ], n),
857
- onValueChange: (e) => c("typography", "defaultTextSize", e)
917
+ onValueChange: (e) => d("typography", "defaultTextSize", e)
858
918
  })
859
919
  }),
860
- /* @__PURE__ */ D(y, {
920
+ /* @__PURE__ */ T(b, {
861
921
  label: n.labels.commentComposer,
862
- children: /* @__PURE__ */ D(x, {
922
+ children: /* @__PURE__ */ T(S, {
863
923
  value: a.comments?.composerPosition,
864
- options: Z(["top", "bottom"], n),
865
- onValueChange: (e) => c("comments", "composerPosition", e)
924
+ options: X(["top", "bottom"], n),
925
+ onValueChange: (e) => d("comments", "composerPosition", e)
866
926
  })
867
927
  }),
868
- /* @__PURE__ */ D(b, {
928
+ /* @__PURE__ */ T(x, {
869
929
  label: n.labels.dualPricing,
870
930
  description: n.dualPricingDescription,
871
931
  value: a.money?.dualPricingEnabled ?? !1,
872
- onValueChange: (e) => c("money", "dualPricingEnabled", e)
932
+ onValueChange: (e) => d("money", "dualPricingEnabled", e)
873
933
  }),
874
- /* @__PURE__ */ D(y, {
934
+ /* @__PURE__ */ T(b, {
875
935
  label: n.labels.dualPricingMode,
876
- children: /* @__PURE__ */ D(x, {
936
+ children: /* @__PURE__ */ T(S, {
877
937
  value: a.money?.displayMode,
878
- options: Z([
938
+ options: X([
879
939
  "default_only",
880
940
  "dual",
881
941
  "dynamic"
882
942
  ], n),
883
- onValueChange: (e) => c("money", "displayMode", e)
943
+ onValueChange: (e) => d("money", "displayMode", e)
884
944
  })
885
945
  }),
886
- /* @__PURE__ */ D(y, {
946
+ /* @__PURE__ */ T(b, {
887
947
  label: n.labels.dualPricingLayout,
888
- children: /* @__PURE__ */ D(x, {
948
+ children: /* @__PURE__ */ T(S, {
889
949
  value: a.money?.dualPricingDisplay,
890
- options: Z(["inline", "lines"], n),
891
- onValueChange: (e) => c("money", "dualPricingDisplay", e)
950
+ options: X(["inline", "lines"], n),
951
+ onValueChange: (e) => d("money", "dualPricingDisplay", e)
892
952
  })
893
953
  })
894
954
  ]
@@ -898,90 +958,90 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
898
958
  value: "components",
899
959
  title: n.sections.components.title,
900
960
  description: n.sections.components.description,
901
- content: /* @__PURE__ */ O("div", {
961
+ content: /* @__PURE__ */ E("div", {
902
962
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
903
963
  children: [
904
- /* @__PURE__ */ D(y, {
964
+ /* @__PURE__ */ T(b, {
905
965
  label: n.labels.componentScale,
906
- children: /* @__PURE__ */ D(x, {
966
+ children: /* @__PURE__ */ T(S, {
907
967
  value: a.density?.defaultScale,
908
968
  options: o,
909
- onValueChange: (e) => c("density", "defaultScale", e)
969
+ onValueChange: (e) => d("density", "defaultScale", e)
910
970
  })
911
971
  }),
912
- /* @__PURE__ */ D(y, {
972
+ /* @__PURE__ */ T(b, {
913
973
  label: n.labels.itemVariant,
914
- children: /* @__PURE__ */ D(x, {
974
+ children: /* @__PURE__ */ T(S, {
915
975
  value: a.item?.defaultVariant,
916
- options: Z([
976
+ options: X([
917
977
  "default",
918
978
  "outline",
919
979
  "muted"
920
980
  ], n),
921
- onValueChange: (e) => c("item", "defaultVariant", e)
981
+ onValueChange: (e) => d("item", "defaultVariant", e)
922
982
  })
923
983
  }),
924
- /* @__PURE__ */ D(y, {
984
+ /* @__PURE__ */ T(b, {
925
985
  label: n.labels.buttonTone,
926
- children: /* @__PURE__ */ D(x, {
986
+ children: /* @__PURE__ */ T(S, {
927
987
  value: a.button?.defaultTone,
928
- options: Z(i, n),
929
- onValueChange: (e) => c("button", "defaultTone", e)
988
+ options: X(i, n),
989
+ onValueChange: (e) => d("button", "defaultTone", e)
930
990
  })
931
991
  }),
932
- /* @__PURE__ */ D(y, {
992
+ /* @__PURE__ */ T(b, {
933
993
  label: n.labels.buttonStyle,
934
- children: /* @__PURE__ */ D(x, {
994
+ children: /* @__PURE__ */ T(S, {
935
995
  value: a.button?.defaultButtonStyle,
936
- options: Z([
996
+ options: X([
937
997
  "solid",
938
998
  "outline",
939
999
  "ghost"
940
1000
  ], n),
941
- onValueChange: (e) => c("button", "defaultButtonStyle", e)
1001
+ onValueChange: (e) => d("button", "defaultButtonStyle", e)
942
1002
  })
943
1003
  }),
944
- /* @__PURE__ */ D(y, {
1004
+ /* @__PURE__ */ T(b, {
945
1005
  label: n.labels.badgeTone,
946
- children: /* @__PURE__ */ D(x, {
1006
+ children: /* @__PURE__ */ T(S, {
947
1007
  value: a.badge?.defaultTone,
948
- options: Z(i, n),
949
- onValueChange: (e) => c("badge", "defaultTone", e)
1008
+ options: X(i, n),
1009
+ onValueChange: (e) => d("badge", "defaultTone", e)
950
1010
  })
951
1011
  }),
952
- /* @__PURE__ */ D(y, {
1012
+ /* @__PURE__ */ T(b, {
953
1013
  label: n.labels.cardSurface,
954
- children: /* @__PURE__ */ D(x, {
1014
+ children: /* @__PURE__ */ T(S, {
955
1015
  value: a.card?.defaultSurface,
956
- options: Z([
1016
+ options: X([
957
1017
  "card",
958
1018
  "flat",
959
1019
  "framed"
960
1020
  ], n),
961
- onValueChange: (e) => c("card", "defaultSurface", e)
1021
+ onValueChange: (e) => d("card", "defaultSurface", e)
962
1022
  })
963
1023
  }),
964
- /* @__PURE__ */ D(y, {
1024
+ /* @__PURE__ */ T(b, {
965
1025
  label: n.labels.spinner,
966
- children: /* @__PURE__ */ D(x, {
1026
+ children: /* @__PURE__ */ T(S, {
967
1027
  value: a.spinner?.defaultVariant,
968
- options: Z([
1028
+ options: X([
969
1029
  "default",
970
1030
  "shimmer",
971
1031
  "progress"
972
1032
  ], n),
973
- onValueChange: (e) => c("spinner", "defaultVariant", e)
1033
+ onValueChange: (e) => d("spinner", "defaultVariant", e)
974
1034
  })
975
1035
  }),
976
- /* @__PURE__ */ D(b, {
1036
+ /* @__PURE__ */ T(x, {
977
1037
  label: n.labels.cardDivider,
978
1038
  value: a.card?.defaultHeaderDivider ?? !1,
979
- onValueChange: (e) => c("card", "defaultHeaderDivider", e)
1039
+ onValueChange: (e) => d("card", "defaultHeaderDivider", e)
980
1040
  }),
981
- /* @__PURE__ */ D(b, {
982
- label: n.labels.cardFooterDivider ?? X.labels.cardFooterDivider,
1041
+ /* @__PURE__ */ T(x, {
1042
+ label: n.labels.cardFooterDivider ?? Y.labels.cardFooterDivider,
983
1043
  value: a.card?.defaultFooterDivider ?? !0,
984
- onValueChange: (e) => c("card", "defaultFooterDivider", e)
1044
+ onValueChange: (e) => d("card", "defaultFooterDivider", e)
985
1045
  })
986
1046
  ]
987
1047
  })
@@ -990,14 +1050,14 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
990
1050
  value: "toasts",
991
1051
  title: n.sections.toasts.title,
992
1052
  description: n.sections.toasts.description,
993
- content: /* @__PURE__ */ O("div", {
1053
+ content: /* @__PURE__ */ E("div", {
994
1054
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
995
1055
  children: [
996
- /* @__PURE__ */ D(y, {
1056
+ /* @__PURE__ */ T(b, {
997
1057
  label: n.labels.toastPosition,
998
- children: /* @__PURE__ */ D(x, {
1058
+ children: /* @__PURE__ */ T(S, {
999
1059
  value: a.toast?.position,
1000
- options: Z([
1060
+ options: X([
1001
1061
  "top-right",
1002
1062
  "top-left",
1003
1063
  "top-center",
@@ -1005,50 +1065,50 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
1005
1065
  "bottom-left",
1006
1066
  "bottom-center"
1007
1067
  ], n),
1008
- onValueChange: (e) => c("toast", "position", e)
1068
+ onValueChange: (e) => d("toast", "position", e)
1009
1069
  })
1010
1070
  }),
1011
- /* @__PURE__ */ D(y, {
1071
+ /* @__PURE__ */ T(b, {
1012
1072
  label: n.labels.toastTheme,
1013
- children: /* @__PURE__ */ D(x, {
1073
+ children: /* @__PURE__ */ T(S, {
1014
1074
  value: a.toast?.theme,
1015
- options: Z([
1075
+ options: X([
1016
1076
  "light",
1017
1077
  "dark",
1018
1078
  "system"
1019
1079
  ], n),
1020
- onValueChange: (e) => c("toast", "theme", e)
1080
+ onValueChange: (e) => d("toast", "theme", e)
1021
1081
  })
1022
1082
  }),
1023
- /* @__PURE__ */ D(y, {
1083
+ /* @__PURE__ */ T(b, {
1024
1084
  label: n.labels.toastDuration,
1025
- children: /* @__PURE__ */ D(v, {
1085
+ children: /* @__PURE__ */ T(y, {
1026
1086
  type: "number",
1027
1087
  min: 1e3,
1028
1088
  step: 500,
1029
1089
  value: String(a.toast?.duration ?? 5e3),
1030
- onChange: (e) => c("toast", "duration", Number(e.target.value))
1090
+ onChange: (e) => d("toast", "duration", Number(e.target.value))
1031
1091
  })
1032
1092
  }),
1033
- /* @__PURE__ */ D(y, {
1093
+ /* @__PURE__ */ T(b, {
1034
1094
  label: n.labels.visibleToasts,
1035
- children: /* @__PURE__ */ D(v, {
1095
+ children: /* @__PURE__ */ T(y, {
1036
1096
  type: "number",
1037
1097
  min: 1,
1038
1098
  max: 10,
1039
1099
  value: String(a.toast?.visibleToasts ?? 4),
1040
- onChange: (e) => c("toast", "visibleToasts", Number(e.target.value))
1100
+ onChange: (e) => d("toast", "visibleToasts", Number(e.target.value))
1041
1101
  })
1042
1102
  }),
1043
- /* @__PURE__ */ D(b, {
1103
+ /* @__PURE__ */ T(x, {
1044
1104
  label: n.labels.closeButton,
1045
1105
  value: a.toast?.closeButton ?? !0,
1046
- onValueChange: (e) => c("toast", "closeButton", e)
1106
+ onValueChange: (e) => d("toast", "closeButton", e)
1047
1107
  }),
1048
- /* @__PURE__ */ D(b, {
1108
+ /* @__PURE__ */ T(x, {
1049
1109
  label: n.labels.richColors,
1050
1110
  value: a.toast?.richColors ?? !1,
1051
- onValueChange: (e) => c("toast", "richColors", e)
1111
+ onValueChange: (e) => d("toast", "richColors", e)
1052
1112
  })
1053
1113
  ]
1054
1114
  })
@@ -1060,7 +1120,7 @@ function Ye({ config: e, onChange: t, strings: n = X }) {
1060
1120
  }
1061
1121
  //#endregion
1062
1122
  //#region src/components/features/theme-tweaker/theme-tweaker.strings.ts
1063
- var Xe = {
1123
+ var Q = {
1064
1124
  title: "Theme tweaker",
1065
1125
  description: "Edit the public theme contract, calculate coherent recipes, and export complete CSS plus root display defaults.",
1066
1126
  searchLabel: "Search variables",
@@ -1071,8 +1131,6 @@ var Xe = {
1071
1131
  groupNavigationLabel: "Theme categories",
1072
1132
  previousGroup: "Previous categories",
1073
1133
  nextGroup: "Next categories",
1074
- groupNavigationTitle: "Theme controls",
1075
- groupNavigationDescription: "Choose one contract area to edit.",
1076
1134
  sharedScope: "Shared",
1077
1135
  mixedScope: "Mixed scope",
1078
1136
  variableCount: "Variables: {{count}}",
@@ -1082,9 +1140,6 @@ var Xe = {
1082
1140
  reset: "Reset overrides",
1083
1141
  copy: "Copy CSS",
1084
1142
  copyProvider: "Copy provider config",
1085
- copyOverrides: "Copy override-only CSS",
1086
- exportProvider: "Export provider config",
1087
- exportOptions: "More export options",
1088
1143
  export: "Export",
1089
1144
  exportPending: "Downloading…",
1090
1145
  exportDialogTitle: "Export theme",
@@ -1095,6 +1150,11 @@ var Xe = {
1095
1150
  copiedStatus: "Copied to the clipboard.",
1096
1151
  exportedStatus: "File downloaded.",
1097
1152
  invalidTheme: "Fix the invalid CSS override before copying or exporting.",
1153
+ copyFailedStatus: "Could not copy. Select the text and copy it manually.",
1154
+ exportFailedStatus: "Could not download the file. Try again.",
1155
+ clipboardUnavailable: "Clipboard access is unavailable. Provide onCopy for this environment.",
1156
+ invalidValue: "This value cannot be used in CSS. Remove semicolons, braces, angle brackets, backslashes and comment markers, and close every quote and bracket.",
1157
+ invalidColor: "Enter a CSS color, such as oklch(0.6 0.2 250), or a var() reference.",
1098
1158
  emptySearch: "No public theme variables match this search.",
1099
1159
  inheritValue: "Inherit package value",
1100
1160
  resetVariable: "Reset variable",
@@ -1103,8 +1163,6 @@ var Xe = {
1103
1163
  changedCount: "Overrides: {{count}}",
1104
1164
  cssOutputLabel: "Complete theme CSS",
1105
1165
  cssOutputDescription: "A standalone light, dark, typography, shape, and structure contract for every public variable.",
1106
- overrideOutputLabel: "Override-only CSS",
1107
- overrideOutputDescription: "The compact alternative containing only values changed in this session.",
1108
1166
  providerOutputLabel: "UIProvider config",
1109
1167
  providerOutputDescription: "Mount-once display defaults for the application root.",
1110
1168
  autoPalette: "Derive supporting colors",
@@ -1126,7 +1184,7 @@ var Xe = {
1126
1184
  previewSuccess: "Healthy",
1127
1185
  previewWarning: "Review",
1128
1186
  previewContract: "CSS variables",
1129
- providerSettings: X,
1187
+ providerSettings: Y,
1130
1188
  groups: {
1131
1189
  colors: "Colors",
1132
1190
  states: "States",
@@ -1165,10 +1223,10 @@ var Xe = {
1165
1223
  };
1166
1224
  //#endregion
1167
1225
  //#region src/components/features/theme-tweaker/theme-tweaker.recipes.ts
1168
- function Q(e, t, n) {
1226
+ function $(e, t, n) {
1169
1227
  return Math.min(n, Math.max(t, e));
1170
1228
  }
1171
- function $(e, t) {
1229
+ function ot(e, t) {
1172
1230
  let n = e.trim().match(/^#([\da-f]{3}|[\da-f]{6})$/i)?.[1], r = n?.length === 3 ? [...n].map((e) => e + e).join("") : n;
1173
1231
  if (r) return [
1174
1232
  0,
@@ -1182,7 +1240,7 @@ function $(e, t) {
1182
1240
  let i = e.match(/oklch\(\s*([\d.]+)(%)?/i), a = Number.parseFloat(i?.[1] ?? "NaN") / (i?.[2] ? 100 : 1);
1183
1241
  return Number.isFinite(a) ? a > .67 ? "oklch(0.18 0.01 260)" : "oklch(0.985 0 0)" : t === "dark" ? "oklch(0.18 0.01 260)" : "oklch(0.985 0 0)";
1184
1242
  }
1185
- function Ze({ primary: e, mode: t = "light" }) {
1243
+ function st({ primary: e, mode: t = "light" }) {
1186
1244
  let n = t === "dark", r = (e, t) => `color-mix(in oklab, ${n ? t : e} 94%, var(--primary))`;
1187
1245
  return {
1188
1246
  "--primary": e,
@@ -1196,7 +1254,7 @@ function Ze({ primary: e, mode: t = "light" }) {
1196
1254
  "--warning-accent": r("oklch(0.53 0.11 65)", "oklch(0.81 0.12 75)"),
1197
1255
  "--destructive": r("oklch(0.55 0.17 25)", "oklch(0.74 0.14 25)"),
1198
1256
  "--destructive-foreground": n ? "oklch(0.23 0.035 25)" : "oklch(0.985 0 0)",
1199
- "--primary-foreground": $(e, t),
1257
+ "--primary-foreground": ot(e, t),
1200
1258
  "--secondary": "color-mix(in oklab, var(--primary) 10%, var(--background))",
1201
1259
  "--secondary-foreground": "var(--foreground)",
1202
1260
  "--muted": "color-mix(in oklab, var(--primary) 7%, var(--background))",
@@ -1210,6 +1268,9 @@ function Ze({ primary: e, mode: t = "light" }) {
1210
1268
  "--chart-3": r("oklch(0.56 0.15 285)", "oklch(0.76 0.15 285)"),
1211
1269
  "--chart-4": r("oklch(0.58 0.14 330)", "oklch(0.76 0.14 330)"),
1212
1270
  "--chart-5": r("oklch(0.6 0.12 60)", "oklch(0.76 0.12 60)"),
1271
+ "--chart-6": r("oklch(0.55 0.17 20)", "oklch(0.72 0.15 20)"),
1272
+ "--chart-7": r("oklch(0.74 0.13 95)", "oklch(0.86 0.13 95)"),
1273
+ "--chart-8": r("oklch(0.62 0.13 130)", "oklch(0.8 0.14 130)"),
1213
1274
  "--sidebar-primary": "var(--primary)",
1214
1275
  "--sidebar-primary-foreground": "var(--primary-foreground)",
1215
1276
  "--sidebar-accent": "var(--accent)",
@@ -1218,13 +1279,13 @@ function Ze({ primary: e, mode: t = "light" }) {
1218
1279
  "--sidebar-ring": "var(--ring)"
1219
1280
  };
1220
1281
  }
1221
- var Qe = {
1282
+ var ct = {
1222
1283
  xxs: .75,
1223
1284
  xs: .75,
1224
1285
  pxs: .8125,
1225
1286
  sm: .875,
1226
1287
  base: 1
1227
- }, $e = [
1288
+ }, lt = [
1228
1289
  "lg",
1229
1290
  "xl",
1230
1291
  "2xl",
@@ -1236,19 +1297,19 @@ var Qe = {
1236
1297
  "8xl",
1237
1298
  "9xl"
1238
1299
  ];
1239
- function et({ baseSize: e, ratio: t = 1.2 }) {
1240
- let n = Q(e, 14, 20), r = Q(t, 1.125, 1.333), i = {};
1241
- for (let [e, t] of Object.entries(Qe)) {
1300
+ function ut({ baseSize: e, ratio: t = 1.2 }) {
1301
+ let n = $(e, 14, 20), r = $(t, 1.125, 1.333), i = {};
1302
+ for (let [e, t] of Object.entries(ct)) {
1242
1303
  let r = Math.max(12, n * t);
1243
1304
  i[`--text-${e}`] = `${Number((r / 16).toFixed(4))}rem`, i[`--text-${e}--line-height`] = `${Number((Math.max(r + 6, r * 1.45) / r).toFixed(4))}`;
1244
1305
  }
1245
- return $e.forEach((e, t) => {
1306
+ return lt.forEach((e, t) => {
1246
1307
  let a = n * r ** (t + 1);
1247
- i[`--text-${e}`] = `${Number((a / 16).toFixed(4))}rem`, i[`--text-${e}--line-height`] = `${Number(Q(1.55 - t * .065, 1, 1.5).toFixed(4))}`;
1308
+ i[`--text-${e}`] = `${Number((a / 16).toFixed(4))}rem`, i[`--text-${e}--line-height`] = `${Number($(1.55 - t * .065, 1, 1.5).toFixed(4))}`;
1248
1309
  }), i;
1249
1310
  }
1250
- function tt({ intensity: e }) {
1251
- let t = Q(e, 0, 1), n = (e) => Number((t * e).toFixed(3));
1311
+ function dt({ intensity: e }) {
1312
+ let t = $(e, 0, 1), n = (e) => Number((t * e).toFixed(3));
1252
1313
  return {
1253
1314
  "--shadow-2xs": `0 1px 2px 0 oklch(0 0 0 / ${n(.06)})`,
1254
1315
  "--shadow-xs": `0 1px 3px 0 oklch(0 0 0 / ${n(.07)})`,
@@ -1262,28 +1323,28 @@ function tt({ intensity: e }) {
1262
1323
  }
1263
1324
  //#endregion
1264
1325
  //#region src/components/features/theme-tweaker/theme-tweaker.tsx
1265
- var nt = [
1326
+ var ft = [
1266
1327
  "colors",
1267
1328
  "states",
1268
1329
  "typography",
1269
1330
  "shape",
1270
1331
  "structure",
1271
1332
  "defaults"
1272
- ], rt = {
1273
- colors: k,
1274
- states: A,
1275
- typography: ke,
1276
- shape: De,
1277
- structure: Se,
1278
- defaults: Ee
1279
- };
1280
- function it({ title: e, description: t, code: n, copyLabel: r, downloadLabel: i, onCopy: a, onDownload: o, downloading: s = !1 }) {
1281
- let f = w();
1282
- return /* @__PURE__ */ O(p, {
1283
- render: /* @__PURE__ */ D("section", { "aria-labelledby": f }),
1333
+ ], pt = {
1334
+ colors: Oe,
1335
+ states: Me,
1336
+ typography: O,
1337
+ shape: je,
1338
+ structure: Ee,
1339
+ defaults: D
1340
+ }, mt = 16, ht = 1.2, gt = .8, _t = 80;
1341
+ function vt({ title: e, description: t, code: n, copyLabel: r, downloadLabel: i, onCopy: a, onDownload: o, downloading: s = !1 }) {
1342
+ let f = ye();
1343
+ return /* @__PURE__ */ E(p, {
1344
+ render: /* @__PURE__ */ T("section", { "aria-labelledby": f }),
1284
1345
  gap: "md",
1285
1346
  className: "theme-tweaker--export-artifact min-w-0",
1286
- children: [/* @__PURE__ */ O(p, {
1347
+ children: [/* @__PURE__ */ E(p, {
1287
1348
  direction: {
1288
1349
  base: "vertical",
1289
1350
  sm: "horizontal"
@@ -1295,150 +1356,153 @@ function it({ title: e, description: t, code: n, copyLabel: r, downloadLabel: i,
1295
1356
  justify: { sm: "between" },
1296
1357
  gap: "md",
1297
1358
  className: "theme-tweaker--export-artifact-header",
1298
- children: [/* @__PURE__ */ O(p, {
1359
+ children: [/* @__PURE__ */ E(p, {
1299
1360
  gap: "dense",
1300
1361
  className: "min-w-0",
1301
- children: [/* @__PURE__ */ D(u, {
1362
+ children: [/* @__PURE__ */ T(l, {
1302
1363
  className: "text-inherit",
1303
1364
  id: f,
1304
1365
  tag: "h3",
1305
1366
  children: e
1306
- }), /* @__PURE__ */ D(l, {
1367
+ }), /* @__PURE__ */ T(c, {
1307
1368
  size: "xs",
1308
1369
  type: "secondary",
1309
1370
  children: t
1310
1371
  })]
1311
- }), /* @__PURE__ */ O(p, {
1372
+ }), /* @__PURE__ */ E(p, {
1312
1373
  direction: "horizontal",
1313
1374
  gap: "xs",
1314
1375
  align: "center",
1315
1376
  wrap: !0,
1316
1377
  className: "theme-tweaker--export-artifact-actions sm:shrink-0",
1317
- children: [/* @__PURE__ */ D(c, {
1378
+ children: [/* @__PURE__ */ T(d, {
1318
1379
  type: "button",
1319
1380
  size: "sm",
1320
1381
  tone: "secondary",
1321
1382
  buttonStyle: "outline",
1322
- icon: ye,
1383
+ icon: Ce,
1323
1384
  onClick: a,
1324
1385
  children: r
1325
- }), /* @__PURE__ */ D(c, {
1386
+ }), /* @__PURE__ */ T(d, {
1326
1387
  tone: "primary",
1327
1388
  type: "button",
1328
1389
  size: "sm",
1329
- icon: be,
1390
+ icon: we,
1330
1391
  loading: s,
1331
1392
  onClick: o,
1332
1393
  children: i
1333
1394
  })]
1334
1395
  })]
1335
- }), /* @__PURE__ */ D("pre", {
1396
+ }), /* @__PURE__ */ T("pre", {
1336
1397
  tabIndex: 0,
1337
1398
  "aria-label": e,
1338
- className: `theme-tweaker--export-code max-h-48 min-w-0 overflow-auto rounded-radius border border-border bg-muted/30 p-surface-xs font-mono text-xs leading-relaxed text-foreground outline-none ${d.frame} sm:max-h-72`,
1339
- children: /* @__PURE__ */ D("code", { children: n })
1399
+ className: `theme-tweaker--export-code max-h-48 min-w-0 overflow-auto rounded-radius border border-border bg-muted/30 p-surface-xs font-mono text-xs leading-relaxed text-foreground outline-none ${u.frame} sm:max-h-72`,
1400
+ children: /* @__PURE__ */ T("code", { children: n })
1340
1401
  })]
1341
1402
  });
1342
1403
  }
1343
- function at(e, t) {
1404
+ function yt(e, t, n) {
1405
+ if (t && t.trim().length !== 0) {
1406
+ if (A(t)) return n.invalidValue ?? Q.invalidValue;
1407
+ if (e.kind === "color" && !ze(t)) return n.invalidColor ?? Q.invalidColor;
1408
+ }
1409
+ }
1410
+ function bt(e, t) {
1344
1411
  let n = Number.parseFloat(e);
1345
1412
  return Number.isFinite(n) ? Math.min(t.max, Math.max(t.min, n)) : t.min;
1346
1413
  }
1347
- function ot(e, t) {
1414
+ function xt(e, t) {
1348
1415
  let n = t.decimalPlaces ?? 3;
1349
1416
  return `${Number(e.toFixed(n))}${t.unit ?? ""}`;
1350
1417
  }
1351
- function st(e, t) {
1418
+ function St(e, t) {
1352
1419
  return e === "document" ? document.documentElement : e === "self" || e === null ? t : typeof e == "function" ? e() : e ?? t;
1353
1420
  }
1354
- function ct(e, t) {
1355
- if (typeof document > "u" || typeof window > "u") return M(e);
1356
- let n = document.documentElement, r = [...new Set(t.map((e) => e.name))], i = n.classList.contains("light"), a = n.classList.contains("dark"), o = new Map(r.map((e) => [e, {
1357
- value: n.style.getPropertyValue(e),
1358
- priority: n.style.getPropertyPriority(e)
1359
- }])), s = (t) => {
1360
- for (let e of r) n.style.removeProperty(e);
1361
- n.classList.toggle("light", t === "light"), n.classList.toggle("dark", t === "dark");
1362
- for (let [r, i] of Object.entries(B(e, t))) typeof i == "string" && n.style.setProperty(r, i);
1363
- let i = window.getComputedStyle(n);
1364
- return Object.fromEntries(r.map((e) => [e, i.getPropertyValue(e).trim()]).filter((e) => e[1].length > 0));
1365
- };
1366
- try {
1367
- let n = s("light"), r = s("dark"), i = new Set(t.filter((e) => e.scope === "shared").map((e) => e.name));
1368
- return M({
1369
- mode: e.mode,
1370
- shared: Object.fromEntries(Object.entries(n).filter(([e]) => i.has(e))),
1371
- light: Object.fromEntries(Object.entries(n).filter(([e]) => !i.has(e))),
1372
- dark: Object.fromEntries(Object.entries(r).filter(([e]) => !i.has(e)))
1373
- });
1374
- } finally {
1375
- for (let e of r) {
1376
- let t = o.get(e);
1377
- t?.value ? n.style.setProperty(e, t.value, t.priority) : n.style.removeProperty(e);
1421
+ function Ct(e, t, n) {
1422
+ if (typeof document > "u" || typeof window > "u") return j(e);
1423
+ let r = !n || n === document.documentElement ? document.body : n, i = [...new Set(t.map((e) => e.name))], a = (t) => {
1424
+ let n = document.createElement("div");
1425
+ n.setAttribute("data-theme-tweaker-probe", t), n.setAttribute("aria-hidden", "true"), n.hidden = !0, n.className = t;
1426
+ for (let [r, i] of Object.entries(L(e, t))) typeof i == "string" && n.style.setProperty(r, i);
1427
+ r.append(n);
1428
+ try {
1429
+ let e = window.getComputedStyle(n);
1430
+ return Object.fromEntries(i.map((t) => [t, e.getPropertyValue(t).trim()]).filter((e) => e[1].length > 0));
1431
+ } finally {
1432
+ n.remove();
1378
1433
  }
1379
- n.classList.toggle("light", i), n.classList.toggle("dark", a);
1380
- }
1434
+ }, o = a("light"), s = a("dark"), c = new Set(t.filter((e) => e.scope === "shared").map((e) => e.name));
1435
+ return j({
1436
+ mode: e.mode,
1437
+ shared: Object.fromEntries(Object.entries(o).filter(([e]) => c.has(e))),
1438
+ light: Object.fromEntries(Object.entries(o).filter(([e]) => !c.has(e))),
1439
+ dark: Object.fromEntries(Object.entries(s).filter(([e]) => !c.has(e)))
1440
+ });
1381
1441
  }
1382
- function lt({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, strings: o }) {
1383
- let s = `theme-variable-${w().replace(/:/g, "")}`, u = /* @__PURE__ */ D(c, {
1442
+ function wt({ field: e, value: t, effectiveValue: n, error: r, onChange: i, onReset: o, strings: s }) {
1443
+ let l = `theme-variable-${ye().replace(/:/g, "")}`, u = `${l}-error`, f = !!r, m = f ? u : void 0, h = /* @__PURE__ */ T(d, {
1384
1444
  type: "button",
1385
1445
  iconOnly: !0,
1386
1446
  tone: "secondary",
1387
1447
  buttonStyle: "ghost",
1388
- icon: we,
1389
- withTooltip: o.resetVariable,
1390
- "aria-label": `${o.resetVariable}: ${e.label}`,
1448
+ icon: ke,
1449
+ withTooltip: s.resetVariable,
1450
+ "aria-label": `${s.resetVariable}: ${e.label}`,
1391
1451
  disabled: !t,
1392
- onClick: i,
1393
- children: /* @__PURE__ */ D(l, {
1452
+ onClick: o,
1453
+ children: /* @__PURE__ */ T(c, {
1394
1454
  tag: "span",
1395
1455
  size: "inherit",
1396
1456
  className: "sr-only",
1397
- children: o.resetVariable
1457
+ children: s.resetVariable
1398
1458
  })
1399
- }), d = e.placeholder ?? n ?? o.inheritValue, f;
1400
- if (e.kind === "color") f = /* @__PURE__ */ O(p, {
1459
+ }), g = e.placeholder ?? n ?? s.inheritValue, _;
1460
+ if (e.kind === "color") _ = /* @__PURE__ */ E(p, {
1401
1461
  direction: "horizontal",
1402
1462
  gap: "xs",
1403
1463
  align: "center",
1404
1464
  wrap: !1,
1405
- children: [/* @__PURE__ */ D(le, {
1406
- id: s,
1465
+ children: [/* @__PURE__ */ T(le, {
1466
+ id: l,
1407
1467
  "aria-label": e.label,
1408
1468
  "aria-description": e.description,
1469
+ "aria-describedby": m,
1470
+ invalid: f,
1409
1471
  value: t,
1410
1472
  previewValue: t || n || `var(${e.name})`,
1411
- pickerAriaLabel: a(o.chooseColor, { label: e.label }),
1412
- onValueChange: r,
1413
- placeholder: d,
1473
+ pickerAriaLabel: a(s.chooseColor, { label: e.label }),
1474
+ onValueChange: i,
1475
+ placeholder: g,
1414
1476
  className: "min-w-0 flex-1"
1415
- }), u]
1477
+ }), h]
1416
1478
  });
1417
1479
  else if (e.control?.type === "range") {
1418
- let i = at(t || n, e.control);
1419
- f = /* @__PURE__ */ O(p, {
1480
+ let r = bt(t || n, e.control);
1481
+ _ = /* @__PURE__ */ E(p, {
1420
1482
  gap: "sm",
1421
- children: [/* @__PURE__ */ D(S, {
1422
- id: `${s}-slider`,
1423
- "aria-label": a(o.adjustVariable, { label: e.label }),
1424
- value: i,
1483
+ children: [/* @__PURE__ */ T(ue, {
1484
+ id: `${l}-slider`,
1485
+ "aria-label": a(s.adjustVariable, { label: e.label }),
1486
+ value: r,
1425
1487
  min: e.control.min,
1426
1488
  max: e.control.max,
1427
1489
  step: e.control.step,
1428
- onValueChange: (t) => r(ot(t, e.control))
1429
- }), /* @__PURE__ */ O(p, {
1490
+ onValueChange: (t) => i(xt(t, e.control))
1491
+ }), /* @__PURE__ */ E(p, {
1430
1492
  direction: "horizontal",
1431
1493
  gap: "xs",
1432
1494
  align: "center",
1433
1495
  wrap: !1,
1434
- children: [/* @__PURE__ */ D(p, {
1496
+ children: [/* @__PURE__ */ T(p, {
1435
1497
  gap: "none",
1436
1498
  className: "w-28 max-w-full shrink-0",
1437
- children: /* @__PURE__ */ D(ue, {
1438
- id: s,
1499
+ children: /* @__PURE__ */ T(de, {
1500
+ id: l,
1439
1501
  "aria-label": e.label,
1440
1502
  "aria-description": e.description,
1441
- value: String(i),
1503
+ "aria-describedby": m,
1504
+ invalid: f,
1505
+ value: String(r),
1442
1506
  decimalPlaces: e.control.decimalPlaces ?? 3,
1443
1507
  min: e.control.min,
1444
1508
  max: e.control.max,
@@ -1447,64 +1511,68 @@ function lt({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, st
1447
1511
  endAddon: e.control.unit,
1448
1512
  onChange: (t) => {
1449
1513
  let n = t.target.value.trim();
1450
- r(n ? `${n}${e.control?.unit ?? ""}` : "");
1514
+ i(n ? `${n}${e.control?.unit ?? ""}` : "");
1451
1515
  },
1452
1516
  className: "font-mono tabular-nums"
1453
1517
  })
1454
- }), u]
1518
+ }), h]
1455
1519
  })]
1456
1520
  });
1457
- } else f = e.kind === "font" || e.kind === "shadow" ? /* @__PURE__ */ O(p, {
1521
+ } else _ = e.kind === "font" || e.kind === "shadow" ? /* @__PURE__ */ E(p, {
1458
1522
  direction: "horizontal",
1459
1523
  gap: "xs",
1460
1524
  align: "start",
1461
1525
  wrap: !1,
1462
- children: [/* @__PURE__ */ D(p, {
1526
+ children: [/* @__PURE__ */ T(p, {
1463
1527
  className: "min-w-0 flex-1",
1464
- children: /* @__PURE__ */ D(ce, {
1465
- id: s,
1528
+ children: /* @__PURE__ */ T(ce, {
1529
+ id: l,
1466
1530
  "aria-label": e.label,
1467
1531
  "aria-description": e.description,
1532
+ "aria-describedby": m,
1533
+ invalid: f,
1468
1534
  value: t,
1469
- onChange: (e) => r(e.target.value),
1470
- placeholder: d,
1535
+ onChange: (e) => i(e.target.value),
1536
+ placeholder: g,
1471
1537
  minRows: 2,
1472
1538
  autoResize: !0,
1473
1539
  className: "font-mono"
1474
1540
  })
1475
- }), u]
1476
- }) : /* @__PURE__ */ O(p, {
1541
+ }), h]
1542
+ }) : /* @__PURE__ */ E(p, {
1477
1543
  direction: "horizontal",
1478
1544
  gap: "xs",
1479
1545
  align: "center",
1480
1546
  wrap: !1,
1481
- children: [/* @__PURE__ */ D(v, {
1482
- id: s,
1547
+ children: [/* @__PURE__ */ T(y, {
1548
+ id: l,
1483
1549
  "aria-label": e.label,
1484
1550
  "aria-description": e.description,
1551
+ "aria-describedby": m,
1552
+ invalid: f,
1485
1553
  value: t,
1486
- onChange: (e) => r(e.target.value),
1487
- placeholder: d,
1554
+ onChange: (e) => i(e.target.value),
1555
+ placeholder: g,
1488
1556
  className: "min-w-0 flex-1 font-mono"
1489
- }), u]
1557
+ }), h]
1490
1558
  });
1491
- return /* @__PURE__ */ D(y, {
1492
- label: /* @__PURE__ */ O(p, {
1493
- render: /* @__PURE__ */ D("span", {}),
1559
+ return /* @__PURE__ */ T(b, {
1560
+ label: /* @__PURE__ */ E(p, {
1561
+ render: /* @__PURE__ */ T("span", {}),
1494
1562
  direction: "horizontal",
1495
1563
  gap: "sm",
1496
1564
  align: "baseline",
1497
1565
  justify: "between",
1498
1566
  wrap: !0,
1499
1567
  className: "min-w-0 flex-1",
1500
- children: [/* @__PURE__ */ D(l, {
1568
+ children: [/* @__PURE__ */ T(c, {
1501
1569
  type: "inherit",
1502
1570
  tag: "span",
1503
1571
  size: "inherit",
1504
1572
  weight: "medium",
1505
1573
  className: "min-w-0",
1506
1574
  children: e.label
1507
- }), /* @__PURE__ */ D(ae, {
1575
+ }), /* @__PURE__ */ T(ae, {
1508
1576
  size: "xs",
1509
1577
  type: "secondary",
1510
1578
  weight: "regular",
@@ -1512,52 +1580,54 @@ function lt({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, st
1512
1580
  children: e.name
1513
1581
  })]
1514
1582
  }),
1515
- htmlFor: s,
1583
+ htmlFor: l,
1584
+ error: r,
1585
+ supportingTextId: u,
1516
1586
  className: "theme-tweaker--field min-w-0 border-t border-border/60 py-row-y first:border-t-0",
1517
- children: f
1587
+ children: _
1518
1588
  });
1519
1589
  }
1520
- function ut({ strings: e }) {
1521
- return /* @__PURE__ */ D(ne, {
1590
+ function Tt({ strings: e }) {
1591
+ return /* @__PURE__ */ T(te, {
1522
1592
  title: e.previewTitle,
1523
1593
  description: e.previewDescription,
1524
1594
  className: "theme-tweaker--preview-card",
1525
- children: /* @__PURE__ */ O(p, {
1595
+ children: /* @__PURE__ */ E(p, {
1526
1596
  gap: "lg",
1527
1597
  children: [
1528
- /* @__PURE__ */ O(p, {
1598
+ /* @__PURE__ */ E(p, {
1529
1599
  direction: "horizontal",
1530
1600
  gap: "sm",
1531
1601
  wrap: !0,
1532
1602
  children: [
1533
- /* @__PURE__ */ D(_, {
1603
+ /* @__PURE__ */ T(v, {
1534
1604
  tone: "success",
1535
1605
  children: e.previewSuccess
1536
1606
  }),
1537
- /* @__PURE__ */ D(_, {
1607
+ /* @__PURE__ */ T(v, {
1538
1608
  tone: "warning",
1539
1609
  children: e.previewWarning
1540
1610
  }),
1541
- /* @__PURE__ */ D(_, {
1611
+ /* @__PURE__ */ T(v, {
1542
1612
  tone: "secondary",
1543
1613
  children: e.previewContract
1544
1614
  })
1545
1615
  ]
1546
1616
  }),
1547
- /* @__PURE__ */ D(de, {
1617
+ /* @__PURE__ */ T(fe, {
1548
1618
  variant: "muted",
1549
1619
  padding: "default",
1550
- media: /* @__PURE__ */ D(k, {}),
1620
+ media: /* @__PURE__ */ T(Oe, {}),
1551
1621
  mediaVariant: "icon",
1552
1622
  title: e.previewItemTitle,
1553
1623
  description: e.previewItemDescription,
1554
- trailing: /* @__PURE__ */ D(ve, { className: "size-icon text-success" })
1624
+ trailing: /* @__PURE__ */ T(Se, { className: "size-icon text-success" })
1555
1625
  }),
1556
- /* @__PURE__ */ D(y, {
1626
+ /* @__PURE__ */ T(b, {
1557
1627
  label: e.previewFieldLabel,
1558
- children: /* @__PURE__ */ D(v, { placeholder: e.previewFieldPlaceholder })
1628
+ children: /* @__PURE__ */ T(y, { placeholder: e.previewFieldPlaceholder })
1559
1629
  }),
1560
- /* @__PURE__ */ D(c, {
1630
+ /* @__PURE__ */ T(d, {
1561
1631
  tone: "primary",
1562
1632
  type: "button",
1563
1633
  children: e.previewAction
@@ -1566,59 +1636,59 @@ function ut({ strings: e }) {
1566
1636
  })
1567
1637
  });
1568
1638
  }
1569
- function dt(e, t, n) {
1639
+ function Et(e, t, n) {
1570
1640
  let r = t.scope === "shared" ? "shared" : e.mode, i = { ...e[r] };
1571
1641
  return n.trim().length === 0 ? delete i[t.name] : i[t.name] = n, {
1572
1642
  ...e,
1573
1643
  [r]: i
1574
1644
  };
1575
1645
  }
1576
- var ft = C(function({ value: e, defaultValue: t, onValueChange: n, onModeChange: r, fields: i = Je, target: d = "self", apply: m = !0, manageModeClass: ee = !0, preview: h, fileName: te = "admin-ui-theme.css", config: g, defaultConfig: ae, onConfigChange: se, providerFileName: ce = "admin-ui.config.ts", showIntro: x = !0, selectors: le, onExport: ue, onCopy: de, onReset: C, onError: w, actionsSlot: ve, strings: ye, className: be, ...xe }, Se) {
1577
- let k = o(Xe, ye), [Ee, De] = E(() => M(t)), A = T(() => e ? M(e) : Ee, [Ee, e]), [ke, Ae] = E(() => R(ae)), je = T(() => R(g ?? ke), [g, ke]), [j, Me] = E("colors"), [N, P] = E(""), [F, I] = E(!0), [L, Ne] = E(16), [z, Fe] = E(1.2), [ze, Ve] = E(.8), [H, U] = E("idle"), W = re(), [He, Ue] = E(!1), G = _e(null);
1578
- ge(Se, () => G.current), Be({
1646
+ var Dt = _e(function({ value: e, defaultValue: t, onValueChange: n, onModeChange: r, fields: i = tt, target: u = "self", apply: m = !0, manageModeClass: h = !0, preview: g, fileName: _ = "admin-ui-theme.css", config: ee, defaultConfig: ae, onConfigChange: se, providerFileName: ce = "admin-ui.config.ts", showIntro: S = !0, selectors: le, onExport: de, onCopy: fe, onReset: _e, onError: Se, actionsSlot: Ce, strings: we, className: Te, ...Ee }, Oe) {
1647
+ let D = o(Q, we), [je, Me] = w(() => j(t)), O = C(() => e ? j(e) : je, [je, e]), [Pe, Fe] = w(() => I(ae)), Ie = C(() => I(ee ?? Pe), [ee, Pe]), [k, Le] = w("colors"), [Re, A] = w(""), [ze, Be] = w(!0), [M, N] = w(mt), [P, F] = w(ht), [Ve, He] = w(gt), [R, z] = w("idle"), B = re(), [V, Ye] = w(!1), H = xe(null), Xe = `theme-tweaker-status-${ye().replace(/:/g, "")}`;
1648
+ be(Oe, () => H.current), Je({
1579
1649
  apply: m,
1580
- manageModeClass: ee,
1581
- selfRef: G,
1582
- target: d,
1583
- theme: A
1650
+ manageModeClass: h,
1651
+ selfRef: H,
1652
+ target: u,
1653
+ theme: O
1584
1654
  });
1585
- let [K, We] = E(() => M(A)), [Ge, Ke] = E({});
1586
- he(() => {
1655
+ let [U, Ze] = w(() => j(O)), [W, Qe] = w({});
1656
+ ve(() => {
1587
1657
  if (typeof window > "u") return;
1588
1658
  let e = window.setTimeout(() => {
1589
- let e = st(d, G.current);
1659
+ let e = St(u, H.current);
1590
1660
  if (!e) return;
1591
1661
  let t = window.getComputedStyle(e);
1592
- Ke(Object.fromEntries(i.map((e) => [e.name, t.getPropertyValue(e.name).trim()]))), We(ct(A, i));
1593
- }, 0);
1662
+ Qe(Object.fromEntries(i.map((e) => [e.name, t.getPropertyValue(e.name).trim()]))), Ze(Ct(O, i, e));
1663
+ }, _t);
1594
1664
  return () => window.clearTimeout(e);
1595
1665
  }, [
1596
1666
  m,
1597
1667
  i,
1598
- d,
1599
- A
1668
+ u,
1669
+ O
1600
1670
  ]);
1601
- let { artifact: q, error: J } = T(() => {
1671
+ let { artifact: G, error: K } = C(() => {
1602
1672
  try {
1603
- let e = M({
1604
- mode: A.mode,
1673
+ let e = j({
1674
+ mode: O.mode,
1605
1675
  shared: {
1606
- ...K.shared,
1607
- ...A.shared
1676
+ ...U.shared,
1677
+ ...O.shared
1608
1678
  },
1609
1679
  light: {
1610
- ...K.light,
1611
- ...A.light
1680
+ ...U.light,
1681
+ ...O.light
1612
1682
  },
1613
1683
  dark: {
1614
- ...K.dark,
1615
- ...A.dark
1684
+ ...U.dark,
1685
+ ...O.dark
1616
1686
  }
1617
1687
  });
1618
1688
  return {
1619
- artifact: Ie(A, te, { selectors: le }, {
1689
+ artifact: We(O, _, { selectors: le }, {
1620
1690
  resolvedTheme: e,
1621
- providerConfig: je,
1691
+ providerConfig: Ie,
1622
1692
  providerFileName: ce
1623
1693
  }),
1624
1694
  error: null
@@ -1630,23 +1700,27 @@ var ft = C(function({ value: e, defaultValue: t, onValueChange: n, onModeChange:
1630
1700
  };
1631
1701
  }
1632
1702
  }, [
1633
- te,
1634
- je,
1703
+ _,
1704
+ Ie,
1635
1705
  ce,
1636
- K,
1706
+ U,
1637
1707
  le,
1638
- A
1639
- ]), qe = q?.cssText ?? `/* ${k.invalidTheme} */\n`, Y = T(() => Pe(A), [A]), X = N.trim().toLowerCase(), Z = T(() => i.filter((e) => !X && e.group !== j ? !1 : !X || [
1708
+ O
1709
+ ]), $e = G?.cssText ?? `/* ${D.invalidTheme} */\n`, et = C(() => i.some((e) => (e.scope === "shared" ? [O.shared] : [O.light, O.dark]).some((t) => yt(e, t[e.name], D) !== void 0)), [
1710
+ i,
1711
+ D,
1712
+ O
1713
+ ]), q = !!K || et, J = C(() => Ue(O), [O]), Y = Re.trim().toLowerCase(), X = C(() => i.filter((e) => !Y && e.group !== k ? !1 : !Y || [
1640
1714
  e.name,
1641
1715
  e.label,
1642
1716
  e.description
1643
- ].filter(Boolean).some((e) => e?.toLowerCase().includes(X))), [
1717
+ ].filter(Boolean).some((e) => e?.toLowerCase().includes(Y))), [
1644
1718
  i,
1645
- j,
1646
- X
1647
- ]), Q = T(() => {
1719
+ k,
1720
+ Y
1721
+ ]), nt = C(() => {
1648
1722
  let e = /* @__PURE__ */ new Map();
1649
- for (let t of Z) {
1723
+ for (let t of X) {
1650
1724
  let n = `${t.group}:${t.section}`, r = e.get(n);
1651
1725
  r ? r.fields.push(t) : e.set(n, {
1652
1726
  group: t.group,
@@ -1655,438 +1729,455 @@ var ft = C(function({ value: e, defaultValue: t, onValueChange: n, onModeChange:
1655
1729
  });
1656
1730
  }
1657
1731
  return [...e.values()].sort((e, t) => Number(t.section === "brand-actions") - Number(e.section === "brand-actions"));
1658
- }, [Z]), $ = (t) => {
1659
- e === void 0 && De(t), n?.(t), U("idle");
1660
- }, Qe = (e) => {
1661
- g === void 0 && Ae(e), se?.(e), U("idle");
1662
- }, $e = (e) => {
1663
- $({
1664
- ...A,
1665
- [A.mode]: {
1666
- ...A[A.mode],
1732
+ }, [X]), Z = (t) => {
1733
+ e === void 0 && Me(t), n?.(t), z("idle");
1734
+ }, rt = (e) => {
1735
+ ee === void 0 && Fe(e), se?.(e), z("idle");
1736
+ }, it = (e) => {
1737
+ Z({
1738
+ ...O,
1739
+ [O.mode]: {
1740
+ ...O[O.mode],
1667
1741
  ...e
1668
1742
  }
1669
1743
  });
1670
- }, at = (e) => {
1671
- $({
1672
- ...A,
1744
+ }, $ = (e) => {
1745
+ Z({
1746
+ ...O,
1673
1747
  shared: {
1674
- ...A.shared,
1748
+ ...O.shared,
1675
1749
  ...e
1676
1750
  }
1677
1751
  });
1678
1752
  }, ot = (e) => {
1679
- e !== A.mode && ($({
1680
- ...A,
1753
+ e !== O.mode && (Z({
1754
+ ...O,
1681
1755
  mode: e
1682
1756
  }), r?.(e));
1683
- }, ft = async () => {
1757
+ }, ct = async () => {
1684
1758
  try {
1685
- if (J) throw J;
1686
- if (Ue(!0), !q) throw Error(k.invalidTheme);
1687
- ue ? await ue(q) : Le(q), U("exported");
1759
+ if (K) throw K;
1760
+ if (Ye(!0), !G) throw Error(D.invalidTheme);
1761
+ de ? await de(G) : Ge(G), z("exported");
1688
1762
  } catch (e) {
1689
- w?.(e);
1763
+ z("exportFailed"), Se?.(e);
1690
1764
  } finally {
1691
- Ue(!1);
1765
+ Ye(!1);
1692
1766
  }
1693
- }, pt = async (e) => {
1767
+ }, lt = async (e) => {
1694
1768
  try {
1695
- if (de) await de(e);
1769
+ if (fe) await fe(e);
1696
1770
  else if (typeof navigator < "u" && navigator.clipboard) await navigator.clipboard.writeText(e);
1697
- else throw Error("Clipboard access is unavailable. Provide onCopy for this environment.");
1698
- U("copied");
1771
+ else throw Error(D.clipboardUnavailable ?? Q.clipboardUnavailable);
1772
+ z("copied");
1699
1773
  } catch (e) {
1700
- w?.(e);
1774
+ z("copyFailed"), Se?.(e);
1701
1775
  }
1702
- }, mt = () => {
1776
+ }, bt = () => {
1703
1777
  try {
1704
- if (!q) throw J ?? Error(k.invalidTheme);
1705
- Re({
1706
- fileName: q.providerFileName,
1707
- text: q.providerConfigText,
1778
+ if (!G) throw K ?? Error(D.invalidTheme);
1779
+ Ke({
1780
+ fileName: G.providerFileName,
1781
+ text: G.providerConfigText,
1708
1782
  mimeType: "text/typescript;charset=utf-8"
1709
- }), U("exported");
1783
+ }), z("exported");
1710
1784
  } catch (e) {
1711
- w?.(e);
1785
+ z("exportFailed"), Se?.(e);
1712
1786
  }
1713
- }, ht = () => {
1714
- let e = A, t = M({ mode: A.mode });
1715
- $(t), C?.(e), U("idle");
1716
- }, gt = J ? k.invalidTheme : H === "copied" ? k.copiedStatus : H === "exported" ? k.exportedStatus : null, _t = j === "colors" ? /* @__PURE__ */ D(b, {
1787
+ }, xt = () => {
1788
+ let e = O, t = j({ mode: O.mode });
1789
+ Z(t), N(mt), F(ht), He(gt), _e?.(e), z("idle");
1790
+ }, Dt = q || R === "copyFailed" || R === "exportFailed", Ot = q ? D.invalidTheme : R === "copied" ? D.copiedStatus : R === "exported" ? D.exportedStatus : R === "copyFailed" ? D.copyFailedStatus ?? Q.copyFailedStatus : R === "exportFailed" ? D.exportFailedStatus ?? Q.exportFailedStatus : null, kt = k === "colors" ? /* @__PURE__ */ T(x, {
1717
1791
  className: "theme-tweaker--recipe",
1718
- label: k.autoPalette,
1719
- description: k.autoPaletteDescription,
1720
- value: F,
1721
- onValueChange: I
1722
- }) : j === "typography" ? /* @__PURE__ */ D(ne, {
1723
- title: k.typeRecipeTitle,
1724
- description: k.typeRecipeDescription,
1792
+ label: D.autoPalette,
1793
+ description: D.autoPaletteDescription,
1794
+ value: ze,
1795
+ onValueChange: Be
1796
+ }) : k === "typography" ? /* @__PURE__ */ T(te, {
1797
+ title: D.typeRecipeTitle,
1798
+ description: D.typeRecipeDescription,
1725
1799
  surface: "flat",
1726
1800
  padding: "none",
1727
1801
  className: "theme-tweaker--recipe",
1728
- children: /* @__PURE__ */ O(f, {
1802
+ children: /* @__PURE__ */ E(f, {
1729
1803
  columns: 1,
1730
- gap: "md",
1804
+ gap: ne.related,
1731
1805
  className: "@2xl/theme-tweaker-controls:grid-cols-2",
1732
- children: [/* @__PURE__ */ D(y, {
1733
- label: k.baseTypeSize,
1734
- children: /* @__PURE__ */ D(S, {
1735
- "aria-label": k.baseTypeSize,
1736
- value: L,
1806
+ children: [/* @__PURE__ */ T(b, {
1807
+ label: D.baseTypeSize,
1808
+ children: /* @__PURE__ */ T(ue, {
1809
+ "aria-label": D.baseTypeSize,
1810
+ value: M,
1737
1811
  min: 14,
1738
1812
  max: 20,
1739
1813
  step: 1,
1740
1814
  onValueChange: (e) => {
1741
- Ne(e), at(et({
1815
+ N(e), $(ut({
1742
1816
  baseSize: e,
1743
- ratio: z
1817
+ ratio: P
1744
1818
  }));
1745
1819
  }
1746
1820
  })
1747
- }), /* @__PURE__ */ D(y, {
1748
- label: k.typeRatio,
1749
- children: /* @__PURE__ */ D(S, {
1750
- "aria-label": k.typeRatio,
1751
- value: z,
1821
+ }), /* @__PURE__ */ T(b, {
1822
+ label: D.typeRatio,
1823
+ children: /* @__PURE__ */ T(ue, {
1824
+ "aria-label": D.typeRatio,
1825
+ value: P,
1752
1826
  min: 1.125,
1753
1827
  max: 1.333,
1754
1828
  step: .01,
1755
1829
  onValueChange: (e) => {
1756
- Fe(e), at(et({
1757
- baseSize: L,
1830
+ F(e), $(ut({
1831
+ baseSize: M,
1758
1832
  ratio: e
1759
1833
  }));
1760
1834
  }
1761
1835
  })
1762
1836
  })]
1763
1837
  })
1764
- }) : j === "shape" ? /* @__PURE__ */ D(ne, {
1765
- title: k.elevationRecipeTitle,
1766
- description: k.elevationRecipeDescription,
1838
+ }) : k === "shape" ? /* @__PURE__ */ T(te, {
1839
+ title: D.elevationRecipeTitle,
1840
+ description: D.elevationRecipeDescription,
1767
1841
  surface: "flat",
1768
1842
  padding: "none",
1769
1843
  className: "theme-tweaker--recipe",
1770
- children: /* @__PURE__ */ D(y, {
1771
- label: k.elevationIntensity,
1772
- children: /* @__PURE__ */ D(S, {
1773
- "aria-label": k.elevationIntensity,
1774
- value: ze,
1844
+ children: /* @__PURE__ */ T(b, {
1845
+ label: D.elevationIntensity,
1846
+ children: /* @__PURE__ */ T(ue, {
1847
+ "aria-label": D.elevationIntensity,
1848
+ value: Ve,
1775
1849
  min: 0,
1776
1850
  max: 1,
1777
1851
  step: .05,
1778
1852
  onValueChange: (e) => {
1779
- Ve(e), $e(tt({ intensity: e }));
1853
+ He(e), it(dt({ intensity: e }));
1780
1854
  }
1781
1855
  })
1782
1856
  })
1783
- }) : null, vt = /* @__PURE__ */ O("div", {
1784
- className: s("grid min-w-0 grid-cols-1 gap-space-xl theme-tweaker--layout", h !== !1 && "@3xl/theme-tweaker:grid-cols-2"),
1857
+ }) : null, At = /* @__PURE__ */ E("div", {
1858
+ className: s("grid min-w-0 grid-cols-1 gap-space-xl theme-tweaker--layout", g !== !1 && "@3xl/theme-tweaker:grid-cols-2"),
1785
1859
  children: [
1786
- /* @__PURE__ */ O(p, {
1860
+ /* @__PURE__ */ E(p, {
1787
1861
  gap: "lg",
1788
1862
  className: "theme-tweaker--controls @container/theme-tweaker-controls min-w-0",
1789
- children: [/* @__PURE__ */ O(p, {
1863
+ children: [/* @__PURE__ */ E(p, {
1790
1864
  gap: "lg",
1791
1865
  className: "theme-tweaker--header shrink-0",
1792
1866
  children: [
1793
- x ? /* @__PURE__ */ O(p, {
1867
+ S ? /* @__PURE__ */ E(p, {
1794
1868
  gap: "normal",
1795
1869
  className: "theme-tweaker--intro",
1796
- children: [/* @__PURE__ */ O(p, {
1870
+ children: [/* @__PURE__ */ E(p, {
1797
1871
  direction: "horizontal",
1798
1872
  gap: "sm",
1799
1873
  align: "center",
1800
1874
  wrap: !0,
1801
- children: [/* @__PURE__ */ D(u, {
1875
+ children: [/* @__PURE__ */ T(l, {
1802
1876
  tag: "h2",
1803
1877
  className: "theme-tweaker--title text-inherit",
1804
- children: k.title
1805
- }), /* @__PURE__ */ D(_, {
1878
+ children: D.title
1879
+ }), /* @__PURE__ */ T(v, {
1806
1880
  tone: "secondary",
1807
- children: a(k.changedCount, { count: Y })
1881
+ children: a(D.changedCount, { count: J })
1808
1882
  })]
1809
- }), /* @__PURE__ */ D(l, {
1883
+ }), /* @__PURE__ */ T(c, {
1810
1884
  type: "secondary",
1811
1885
  className: "theme-tweaker--description",
1812
- children: k.description
1886
+ children: D.description
1813
1887
  })]
1814
1888
  }) : null,
1815
- /* @__PURE__ */ O(p, {
1889
+ /* @__PURE__ */ E(p, {
1816
1890
  direction: "horizontal",
1817
1891
  justify: "between",
1818
1892
  align: "center",
1819
1893
  wrap: !0,
1820
1894
  gap: "sm",
1821
1895
  className: "theme-tweaker--toolbar",
1822
- children: [/* @__PURE__ */ D(p, {
1896
+ children: [/* @__PURE__ */ T(p, {
1823
1897
  direction: "horizontal",
1824
1898
  gap: "sm",
1825
1899
  align: "center",
1826
1900
  wrap: !0,
1827
- children: /* @__PURE__ */ D(me, {
1828
- value: A.mode,
1901
+ children: /* @__PURE__ */ T(he, {
1902
+ value: O.mode,
1829
1903
  onValueChange: (e) => ot(e),
1830
- children: /* @__PURE__ */ O(pe, { children: [/* @__PURE__ */ O(fe, {
1904
+ children: /* @__PURE__ */ E(me, { children: [/* @__PURE__ */ E(pe, {
1831
1905
  value: "light",
1832
- children: [/* @__PURE__ */ D(Oe, { className: "size-icon-sm" }), k.lightMode]
1833
- }), /* @__PURE__ */ O(fe, {
1906
+ children: [/* @__PURE__ */ T(Ne, { className: "size-icon-sm" }), D.lightMode]
1907
+ }), /* @__PURE__ */ E(pe, {
1834
1908
  value: "dark",
1835
- children: [/* @__PURE__ */ D(Ce, { className: "size-icon-sm" }), k.darkMode]
1909
+ children: [/* @__PURE__ */ T(De, { className: "size-icon-sm" }), D.darkMode]
1836
1910
  })] })
1837
1911
  })
1838
- }), /* @__PURE__ */ O(p, {
1912
+ }), /* @__PURE__ */ E(p, {
1839
1913
  direction: "horizontal",
1840
1914
  gap: "xs",
1841
1915
  align: "center",
1842
1916
  justify: "end",
1843
1917
  wrap: !1,
1844
- className: "theme-tweaker--actions",
1845
- children: [/* @__PURE__ */ D(c, {
1846
- tone: "primary",
1847
- type: "button",
1848
- disabled: !!J,
1849
- onClick: () => {
1850
- U("idle"), W.show();
1851
- },
1852
- children: k.export
1853
- }), ve]
1918
+ className: "theme-tweaker--actions min-w-0",
1919
+ children: [
1920
+ q ? /* @__PURE__ */ T(c, {
1921
+ id: Xe,
1922
+ tag: "span",
1923
+ size: "xs",
1924
+ type: "error",
1925
+ role: "status",
1926
+ "aria-live": "polite",
1927
+ className: "theme-tweaker--toolbar-status min-w-0",
1928
+ children: D.invalidTheme
1929
+ }) : null,
1930
+ /* @__PURE__ */ T(d, {
1931
+ tone: "primary",
1932
+ type: "button",
1933
+ disabled: q,
1934
+ "aria-describedby": q ? Xe : void 0,
1935
+ onClick: () => {
1936
+ z("idle"), B.show();
1937
+ },
1938
+ children: D.export
1939
+ }),
1940
+ Ce
1941
+ ]
1854
1942
  })]
1855
1943
  }),
1856
- /* @__PURE__ */ D(y, {
1857
- label: /* @__PURE__ */ D(l, {
1944
+ /* @__PURE__ */ T(b, {
1945
+ label: /* @__PURE__ */ T(c, {
1858
1946
  tag: "span",
1859
1947
  size: "inherit",
1860
1948
  className: "sr-only",
1861
- children: k.searchLabel
1949
+ children: D.searchLabel
1862
1950
  }),
1863
1951
  className: "theme-tweaker--search",
1864
- children: /* @__PURE__ */ D(v, {
1865
- value: N,
1866
- onChange: (e) => P(e.target.value),
1867
- placeholder: k.searchPlaceholder,
1868
- startIcon: Te,
1952
+ children: /* @__PURE__ */ T(y, {
1953
+ value: Re,
1954
+ onChange: (e) => A(e.target.value),
1955
+ placeholder: D.searchPlaceholder,
1956
+ startIcon: Ae,
1869
1957
  clearable: !0,
1870
- onClear: () => P(""),
1871
- "aria-description": k.searchHint
1958
+ onClear: () => A(""),
1959
+ "aria-description": D.searchHint
1872
1960
  })
1873
1961
  })
1874
1962
  ]
1875
- }), /* @__PURE__ */ O(p, {
1963
+ }), /* @__PURE__ */ E(p, {
1876
1964
  gap: "lg",
1877
1965
  className: "theme-tweaker--workspace min-h-0",
1878
- children: [/* @__PURE__ */ D("nav", {
1879
- "aria-label": k.groupNavigationLabel,
1966
+ children: [/* @__PURE__ */ T("nav", {
1967
+ "aria-label": D.groupNavigationLabel,
1880
1968
  className: "theme-tweaker--navigation min-w-0",
1881
- children: /* @__PURE__ */ D(me, {
1882
- value: j,
1969
+ children: /* @__PURE__ */ T(he, {
1970
+ value: k,
1883
1971
  onValueChange: (e) => {
1884
- P(""), Me(e);
1972
+ A(""), Le(e);
1885
1973
  },
1886
1974
  className: "w-full",
1887
- children: /* @__PURE__ */ D(pe, {
1975
+ children: /* @__PURE__ */ T(me, {
1888
1976
  scrollable: !0,
1889
1977
  scrollStrings: {
1890
- previous: k.previousGroup,
1891
- next: k.nextGroup
1978
+ previous: D.previousGroup,
1979
+ next: D.nextGroup
1892
1980
  },
1893
1981
  className: "theme-tweaker--group-list",
1894
- children: nt.map((e) => {
1895
- let t = rt[e];
1896
- return /* @__PURE__ */ O(fe, {
1982
+ children: ft.map((e) => {
1983
+ let t = pt[e];
1984
+ return /* @__PURE__ */ E(pe, {
1897
1985
  value: e,
1898
- onClick: () => P(""),
1986
+ onClick: () => A(""),
1899
1987
  className: "theme-tweaker--group-trigger",
1900
- children: [/* @__PURE__ */ D(t, { "aria-hidden": "true" }), /* @__PURE__ */ D(l, {
1988
+ children: [/* @__PURE__ */ T(t, { "aria-hidden": "true" }), /* @__PURE__ */ T(c, {
1901
1989
  type: "inherit",
1902
1990
  tag: "span",
1903
1991
  size: "inherit",
1904
1992
  weight: "medium",
1905
1993
  className: "min-w-0 flex-1 truncate text-left",
1906
- children: k.groups[e]
1994
+ children: D.groups[e]
1907
1995
  })]
1908
1996
  }, e);
1909
1997
  })
1910
1998
  })
1911
1999
  })
1912
- }), /* @__PURE__ */ O(p, {
2000
+ }), /* @__PURE__ */ E(p, {
1913
2001
  gap: "lg",
1914
2002
  className: "theme-tweaker--body theme-tweaker--editor min-h-0 min-w-0",
1915
2003
  children: [
1916
- /* @__PURE__ */ O(p, {
2004
+ /* @__PURE__ */ E(p, {
1917
2005
  gap: "normal",
1918
2006
  className: "theme-tweaker--editor-heading",
1919
- children: [/* @__PURE__ */ O(p, {
2007
+ children: [/* @__PURE__ */ E(p, {
1920
2008
  direction: "horizontal",
1921
2009
  gap: "sm",
1922
2010
  align: "center",
1923
2011
  wrap: !0,
1924
2012
  children: [
1925
- /* @__PURE__ */ D(u, {
2013
+ /* @__PURE__ */ T(l, {
1926
2014
  className: "text-inherit",
1927
2015
  tag: "h3",
1928
- children: X ? k.allGroups : k.groups[j]
2016
+ children: Y ? D.allGroups : D.groups[k]
1929
2017
  }),
1930
- x ? null : /* @__PURE__ */ D(_, {
2018
+ S ? null : /* @__PURE__ */ T(v, {
1931
2019
  tone: "secondary",
1932
- children: a(k.changedCount, { count: Y })
2020
+ children: a(D.changedCount, { count: J })
1933
2021
  }),
1934
- X ? /* @__PURE__ */ D(_, {
2022
+ Y ? /* @__PURE__ */ T(v, {
1935
2023
  tone: "secondary",
1936
2024
  role: "status",
1937
2025
  "aria-live": "polite",
1938
- children: a(k.searchResults, { count: Z.length })
2026
+ children: a(D.searchResults, { count: X.length })
1939
2027
  }) : null
1940
2028
  ]
1941
- }), /* @__PURE__ */ D(l, {
2029
+ }), /* @__PURE__ */ T(c, {
1942
2030
  size: "xs",
1943
2031
  type: "secondary",
1944
- children: X ? k.searchHint : k.groupDescriptions[j]
2032
+ children: Y ? D.searchHint : D.groupDescriptions[k]
1945
2033
  })]
1946
2034
  }),
1947
- X ? null : _t,
1948
- j === "defaults" && !X ? /* @__PURE__ */ D(Ye, {
1949
- config: je,
1950
- onChange: Qe,
1951
- strings: k.providerSettings
1952
- }) : Q.length > 0 ? /* @__PURE__ */ D(oe, {
2035
+ Y ? null : kt,
2036
+ k === "defaults" && !Y ? /* @__PURE__ */ T(at, {
2037
+ config: Ie,
2038
+ onChange: rt,
2039
+ strings: D.providerSettings
2040
+ }) : nt.length > 0 ? /* @__PURE__ */ T(oe, {
1953
2041
  multiple: !0,
1954
- defaultValue: [`${Q[0].group}:${Q[0].section}`],
2042
+ defaultValue: [`${nt[0].group}:${nt[0].section}`],
1955
2043
  variant: "bordered",
1956
2044
  iconStyle: "none",
1957
2045
  className: "theme-tweaker--sections shrink-0",
1958
2046
  itemClassName: "theme-tweaker--section",
1959
- items: Q.map((e) => {
1960
- let t = new Set(e.fields.map((e) => e.scope)), n = t.size > 1 ? k.mixedScope : t.has("shared") ? k.sharedScope : A.mode === "light" ? k.lightMode : k.darkMode, r = X ? a(k.groupSectionLabel, {
1961
- group: k.groups[e.group],
1962
- section: k.sections[e.section]
1963
- }) : k.sections[e.section];
2047
+ items: nt.map((e) => {
2048
+ let t = new Set(e.fields.map((e) => e.scope)), n = t.size > 1 ? D.mixedScope : t.has("shared") ? D.sharedScope : O.mode === "light" ? D.lightMode : D.darkMode, r = Y ? a(D.groupSectionLabel, {
2049
+ group: D.groups[e.group],
2050
+ section: D.sections[e.section]
2051
+ }) : D.sections[e.section];
1964
2052
  return {
1965
2053
  value: `${e.group}:${e.section}`,
1966
2054
  title: r,
1967
- description: a(k.variableCount, { count: e.fields.length }),
1968
- badge: /* @__PURE__ */ D(_, {
2055
+ description: a(D.variableCount, { count: e.fields.length }),
2056
+ badge: /* @__PURE__ */ T(v, {
1969
2057
  tone: "secondary",
1970
2058
  children: n
1971
2059
  }),
1972
- content: /* @__PURE__ */ D(p, {
2060
+ content: /* @__PURE__ */ T(p, {
1973
2061
  gap: "none",
1974
2062
  className: "theme-tweaker--fields",
1975
2063
  children: e.fields.map((e) => {
1976
- let t = e.scope === "shared" ? "shared" : A.mode, n = A[t][e.name] ?? "";
1977
- return /* @__PURE__ */ D(lt, {
2064
+ let t = e.scope === "shared" ? "shared" : O.mode, n = O[t][e.name] ?? "";
2065
+ return /* @__PURE__ */ T(wt, {
1978
2066
  field: e,
1979
2067
  value: n,
1980
- effectiveValue: Ge[e.name] ?? "",
1981
- strings: k,
2068
+ effectiveValue: W[e.name] ?? "",
2069
+ error: yt(e, n, D),
2070
+ strings: D,
1982
2071
  onChange: (t) => {
1983
- if (e.name === "--primary" && F && t.trim()) {
1984
- $e(Ze({
2072
+ if (e.name === "--primary" && ze && t.trim()) {
2073
+ it(st({
1985
2074
  primary: t,
1986
- mode: A.mode
2075
+ mode: O.mode
1987
2076
  }));
1988
2077
  return;
1989
2078
  }
1990
- $(dt(A, e, t));
2079
+ Z(Et(O, e, t));
1991
2080
  },
1992
- onReset: () => $(dt(A, e, ""))
2081
+ onReset: () => Z(Et(O, e, ""))
1993
2082
  }, e.name);
1994
2083
  })
1995
2084
  })
1996
2085
  };
1997
2086
  })
1998
- }, `${j}:${X}`) : /* @__PURE__ */ D(l, {
1999
- type: "secondary",
2000
- className: "theme-tweaker--empty rounded-radius border border-dashed border-border p-surface",
2001
- children: k.emptySearch
2087
+ }, `${k}:${Y}`) : /* @__PURE__ */ T(ge, {
2088
+ title: D.emptySearch,
2089
+ description: !1,
2090
+ surface: "wash",
2091
+ padding: "sm",
2092
+ className: "theme-tweaker--empty"
2002
2093
  })
2003
2094
  ]
2004
2095
  })]
2005
2096
  })]
2006
2097
  }),
2007
- h === !1 ? null : /* @__PURE__ */ D(p, {
2098
+ g === !1 ? null : /* @__PURE__ */ T(p, {
2008
2099
  className: "theme-tweaker--preview min-w-0 self-start",
2009
- children: h ?? /* @__PURE__ */ D(ut, { strings: k })
2100
+ children: g ?? /* @__PURE__ */ T(Tt, { strings: D })
2010
2101
  }),
2011
- /* @__PURE__ */ D(ie, {
2012
- ...W.overlayProps,
2013
- title: k.exportDialogTitle,
2014
- description: k.exportDialogDescription,
2102
+ /* @__PURE__ */ T(ie, {
2103
+ ...B.overlayProps,
2104
+ title: D.exportDialogTitle,
2105
+ description: D.exportDialogDescription,
2015
2106
  showCloseButton: !1,
2016
2107
  showCancel: !1,
2017
2108
  showConfirm: !1,
2018
- surfaceStyle: B(A),
2019
- className: s("theme-tweaker--export-dialog sm:max-w-4xl", A.mode),
2020
- footer: /* @__PURE__ */ O(p, {
2109
+ surfaceStyle: L(O),
2110
+ className: s("theme-tweaker--export-dialog sm:max-w-4xl", O.mode),
2111
+ footer: /* @__PURE__ */ E(p, {
2021
2112
  direction: "horizontal",
2022
2113
  align: "center",
2023
2114
  justify: "between",
2024
2115
  className: "theme-tweaker--export-footer w-full",
2025
- children: [/* @__PURE__ */ D(c, {
2116
+ children: [/* @__PURE__ */ T(d, {
2026
2117
  type: "button",
2027
2118
  tone: "secondary",
2028
2119
  buttonStyle: "ghost",
2029
- icon: we,
2030
- disabled: Y === 0,
2031
- onClick: ht,
2032
- children: k.reset
2033
- }), /* @__PURE__ */ D(c, {
2034
- onClick: W.hide,
2035
- children: k.close
2120
+ icon: ke,
2121
+ disabled: J === 0,
2122
+ onClick: xt,
2123
+ children: D.reset
2124
+ }), /* @__PURE__ */ T(d, {
2125
+ onClick: B.hide,
2126
+ children: D.close
2036
2127
  })]
2037
2128
  }),
2038
- children: /* @__PURE__ */ O(p, {
2129
+ children: /* @__PURE__ */ E(p, {
2039
2130
  gap: "xl",
2040
2131
  className: "theme-tweaker--export-body",
2041
2132
  children: [
2042
- /* @__PURE__ */ D(it, {
2043
- title: k.cssOutputLabel,
2044
- description: k.cssOutputDescription,
2045
- code: qe,
2046
- copyLabel: k.copy,
2047
- downloadLabel: He ? k.exportPending : k.downloadCss,
2048
- downloading: He,
2049
- onCopy: () => void pt(qe),
2050
- onDownload: () => void ft()
2133
+ /* @__PURE__ */ T(vt, {
2134
+ title: D.cssOutputLabel,
2135
+ description: D.cssOutputDescription,
2136
+ code: $e,
2137
+ copyLabel: D.copy,
2138
+ downloadLabel: V ? D.exportPending : D.downloadCss,
2139
+ downloading: V,
2140
+ onCopy: () => void lt($e),
2141
+ onDownload: () => void ct()
2051
2142
  }),
2052
- /* @__PURE__ */ D(it, {
2053
- title: k.providerOutputLabel,
2054
- description: k.providerOutputDescription,
2055
- code: q?.providerConfigText ?? "",
2056
- copyLabel: k.copyProvider,
2057
- downloadLabel: k.downloadProvider,
2058
- onCopy: () => void pt(q?.providerConfigText ?? ""),
2059
- onDownload: mt
2143
+ /* @__PURE__ */ T(vt, {
2144
+ title: D.providerOutputLabel,
2145
+ description: D.providerOutputDescription,
2146
+ code: G?.providerConfigText ?? "",
2147
+ copyLabel: D.copyProvider,
2148
+ downloadLabel: D.downloadProvider,
2149
+ onCopy: () => void lt(G?.providerConfigText ?? ""),
2150
+ onDownload: bt
2060
2151
  }),
2061
- gt ? /* @__PURE__ */ D(l, {
2152
+ Ot ? /* @__PURE__ */ T(c, {
2062
2153
  tag: "div",
2063
2154
  size: "xs",
2064
- type: J ? "error" : "secondary",
2065
- role: "status",
2155
+ type: Dt ? "error" : "secondary",
2156
+ role: Dt ? "alert" : "status",
2066
2157
  "aria-live": "polite",
2067
2158
  className: "theme-tweaker--status",
2068
- children: gt
2159
+ children: Ot
2069
2160
  }) : null
2070
2161
  ]
2071
2162
  })
2072
2163
  })
2073
2164
  ]
2074
2165
  });
2075
- return d === "self" ? /* @__PURE__ */ D(V, {
2076
- ...xe,
2077
- ref: G,
2078
- theme: m ? A : M({ mode: A.mode }),
2079
- className: s("theme-tweaker--component @container/theme-tweaker bg-background text-foreground", be),
2080
- children: vt
2081
- }) : /* @__PURE__ */ D("div", {
2082
- ...xe,
2083
- ref: G,
2084
- className: s("theme-tweaker--component @container/theme-tweaker", be),
2085
- children: vt
2166
+ return u === "self" ? /* @__PURE__ */ T(qe, {
2167
+ ...Ee,
2168
+ ref: H,
2169
+ theme: m ? O : j({ mode: O.mode }),
2170
+ className: s("theme-tweaker--component @container/theme-tweaker bg-background text-foreground", Te),
2171
+ children: At
2172
+ }) : /* @__PURE__ */ T("div", {
2173
+ ...Ee,
2174
+ ref: H,
2175
+ className: s("theme-tweaker--component @container/theme-tweaker", Te),
2176
+ children: At
2086
2177
  });
2087
2178
  });
2088
- ft.displayName = "ThemeTweaker";
2179
+ Dt.displayName = "ThemeTweaker";
2089
2180
  //#endregion
2090
- export { Ve as AdminUIThemeProvider, V as ThemeScope, ft as ThemeTweaker, B as adminUIThemeToStyle, Pe as countAdminUIThemeOverrides, M as createAdminUITheme, Fe as createScopedAdminUIThemeSelectors, R as createSerializableUIConfig, Ie as createThemeTweakerExportArtifact, Ae as defaultAdminUIThemeSelectors, X as defaultThemeProviderSettingsStrings, Je as defaultThemeTweakerFields, Xe as defaultThemeTweakerStrings, tt as deriveAdminUIElevation, Ze as deriveAdminUIPalette, et as deriveAdminUITypeScale, Le as downloadAdminUITheme, z as getActiveAdminUIThemeOverrides, N as isAdminUIThemeVariableName, L as serializeAdminUITheme, Ne as serializeUIProviderConfig };
2181
+ export { B as AdminUIThemeProvider, qe as ThemeScope, Dt as ThemeTweaker, L as adminUIThemeToStyle, Ue as countAdminUIThemeOverrides, j as createAdminUITheme, R as createScopedAdminUIThemeSelectors, I as createSerializableUIConfig, We as createThemeTweakerExportArtifact, Pe as defaultAdminUIThemeSelectors, Y as defaultThemeProviderSettingsStrings, tt as defaultThemeTweakerFields, Q as defaultThemeTweakerStrings, dt as deriveAdminUIElevation, st as deriveAdminUIPalette, ut as deriveAdminUITypeScale, Ge as downloadAdminUITheme, He as getActiveAdminUIThemeOverrides, Be as isAdminUIThemeVariableName, F as serializeAdminUITheme, Ve as serializeUIProviderConfig };
2091
2182
 
2092
2183
  //# sourceMappingURL=theme-tweaker.js.map