themelia-react-ui 2.0.6 → 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 (912) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/MIGRATION.md +746 -7
  3. package/README.md +27 -23
  4. package/dist/{accordion-0tQUZ20r.js → accordion-DNVqwEIC.js} +36 -36
  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-BCpA4e7i.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-BCpA4e7i.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-B0girIk_.js → auth-g_oUTDDC.js} +234 -241
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-B9Jnp-T-.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-B9Jnp-T-.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-wWauMgAt.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 +91 -88
  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 +6 -12
  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-BoqWIIpV.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-BoqWIIpV.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 +395 -357
  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 +171 -1365
  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 +1487 -1358
  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-Bp9Ke7kd.js → breadcrumbs-CQ9JSlez.js} +52 -45
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-ChBovTx0.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-DeW0bQeK.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-CNXnmvV5.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-CNXnmvV5.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-I7ROnsl8.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-I7ROnsl8.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-MoyHIAPs.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-MoyHIAPs.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-DHGtx0QV.js → choice-inputs-oJEsrb5Y.js} +113 -114
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BSJyq9e-.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-CSnwtOTH.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-CSnwtOTH.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/switch.d.ts +1 -1
  136. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  137. package/dist/components/base/command/command.d.ts +1 -1
  138. package/dist/components/base/date-pickers/datepicker.types.d.ts +1 -3
  139. package/dist/components/base/display/dialog.d.ts +3 -9
  140. package/dist/components/base/display/index.d.ts +2 -3
  141. package/dist/components/base/display/separator.d.ts +1 -1
  142. package/dist/components/base/feedback/alert.d.ts +2 -1
  143. package/dist/components/base/feedback/empty.d.ts +10 -2
  144. package/dist/components/base/forms/workflow.d.ts +2 -2
  145. package/dist/components/base/forms-numeric/dimensions-input.d.ts +9 -17
  146. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  147. package/dist/components/base/item/item.types.d.ts +6 -2
  148. package/dist/components/base/metadata-list/index.d.ts +1 -3
  149. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  150. package/dist/components/base/navigation/index.d.ts +2 -2
  151. package/dist/components/base/navigation/language-switcher.d.ts +7 -6
  152. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  153. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  154. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  155. package/dist/components/base/navigation/pagination.d.ts +5 -5
  156. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  157. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  158. package/dist/components/base/repeaters/index.d.ts +1 -1
  159. package/dist/components/base/repeaters/key-value-editor.d.ts +4 -0
  160. package/dist/components/base/sheet/sheet.d.ts +6 -15
  161. package/dist/components/base/sidebar/index.d.ts +1 -6
  162. package/dist/components/base/sidebar/sidebar.d.ts +38 -10
  163. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  164. package/dist/components/base/structure/structure.types.d.ts +11 -2
  165. package/dist/components/base/text-inputs/index.d.ts +1 -1
  166. package/dist/components/base/tree/index.d.ts +1 -0
  167. package/dist/components/base/tree/tree.d.ts +2 -2
  168. package/dist/components/base/tree/tree.types.d.ts +7 -1
  169. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  170. package/dist/components/base/upload/image-upload.d.ts +2 -0
  171. package/dist/components/base/upload/index.d.ts +3 -9
  172. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  173. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  174. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  175. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  176. package/dist/components/blocks/admin/index.d.ts +1 -1
  177. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  178. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  179. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  180. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  181. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  182. package/dist/components/blocks/ai/ai-citation/types.d.ts +6 -0
  183. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  184. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  185. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  186. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  187. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  188. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  189. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-sources/types.d.ts +8 -2
  191. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  192. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  193. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  194. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +6 -0
  195. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  196. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  197. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  198. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  199. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  200. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  201. package/dist/components/blocks/analytics/index.d.ts +17 -24
  202. package/dist/components/blocks/analytics/metric/metric.d.ts +5 -5
  203. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +2 -2
  204. package/dist/components/blocks/analytics/types.d.ts +12 -3
  205. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  206. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  207. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  208. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  209. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  210. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  211. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  212. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  213. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  214. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  215. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  216. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  217. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  218. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  219. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  220. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  221. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  222. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  223. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  224. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  225. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  226. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  227. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  228. package/dist/components/blocks/commerce/index.d.ts +8 -8
  229. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  230. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  231. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  232. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  233. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  234. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  235. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  236. package/dist/components/blocks/commerce/order-status/types.d.ts +8 -8
  237. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  238. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  239. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  240. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  241. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  242. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  243. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  244. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  245. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  246. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  247. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  248. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  249. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  250. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  252. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  253. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  254. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  255. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  256. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  257. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  258. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  259. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  260. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  261. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  262. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  263. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  264. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  265. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  266. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  267. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  268. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  269. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +6 -0
  270. package/dist/components/blocks/data-display/index.d.ts +0 -1
  271. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  272. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  273. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  274. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  275. package/dist/components/blocks/timelines/index.d.ts +2 -2
  276. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  277. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  278. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  279. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  280. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  281. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  282. package/dist/components/features/activities/activities.types.d.ts +28 -11
  283. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  284. package/dist/components/features/activities/index.d.ts +1 -1
  285. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  286. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  287. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  288. package/dist/components/features/activities/relative-time.d.ts +18 -0
  289. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  290. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  291. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  292. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  293. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  294. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  295. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  296. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  297. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +19 -5
  298. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  299. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  300. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  301. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  302. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  303. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  304. package/dist/components/features/combobox/combobox.d.ts +12 -3
  305. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  306. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -2
  307. package/dist/components/features/combobox/index.d.ts +1 -1
  308. package/dist/components/features/combobox/types.d.ts +47 -45
  309. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  310. package/dist/components/features/comments/comments.types.d.ts +40 -26
  311. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  312. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  313. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  314. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  315. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  316. package/dist/components/features/email-composer/http.d.ts +2 -0
  317. package/dist/components/features/email-composer/strings.d.ts +17 -2
  318. package/dist/components/features/email-composer/types.d.ts +17 -2
  319. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  320. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  321. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  322. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  323. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  324. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  325. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  326. package/dist/components/features/filters/facets/range-facet.d.ts +13 -8
  327. package/dist/components/features/filters/filter-context.d.ts +9 -0
  328. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  329. package/dist/components/features/filters/filters.types.d.ts +72 -5
  330. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  331. package/dist/components/features/filters/index.d.ts +2 -2
  332. package/dist/components/features/filters/operator-options.d.ts +25 -2
  333. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  334. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  335. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  336. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  337. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  338. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  339. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  340. package/dist/components/features/filters/utils/filter-utils.d.ts +29 -4
  341. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  342. package/dist/components/features/global-search/global-search.d.ts +7 -1
  343. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  344. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  345. package/dist/components/features/global-search/index.d.ts +1 -1
  346. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  347. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  348. package/dist/components/features/kanban/index.d.ts +2 -2
  349. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  350. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  351. package/dist/components/features/kanban/kanban.d.ts +10 -1
  352. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  353. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  354. package/dist/components/features/map/map.d.ts +4 -0
  355. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  356. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  357. package/dist/components/features/media-library/media-library.d.ts +1 -1
  358. package/dist/components/features/media-library/media-library.strings.d.ts +33 -3
  359. package/dist/components/features/media-library/media-library.types.d.ts +47 -2
  360. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  361. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  362. package/dist/components/features/mentions/index.d.ts +1 -1
  363. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  364. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  365. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +8 -1
  366. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  367. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  368. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  369. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  370. package/dist/components/features/overlays/dialog.d.ts +1 -1
  371. package/dist/components/features/overlays/drawer.d.ts +1 -1
  372. package/dist/components/features/overlays/index.d.ts +2 -2
  373. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  374. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  375. package/dist/components/features/products/components/index.d.ts +0 -10
  376. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  377. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  378. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  379. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  380. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  381. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  382. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  383. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  384. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  385. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  386. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  387. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  388. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  389. package/dist/components/features/products/products.strings.d.ts +8 -0
  390. package/dist/components/features/products/products.types.d.ts +25 -7
  391. package/dist/components/features/questionnaire/questionnaire.types.d.ts +6 -4
  392. package/dist/components/features/resource/index.d.ts +2 -3
  393. package/dist/components/features/resource/resource.d.ts +2 -10
  394. package/dist/components/features/resource/resource.types.d.ts +7 -149
  395. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  396. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  397. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  398. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  399. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  400. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  401. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  402. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  403. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +2 -3
  404. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +13 -1
  405. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -0
  406. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  407. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  408. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  409. package/dist/components/features/suggestions/suggestions.types.d.ts +12 -4
  410. package/dist/components/features/table/data-table.d.ts +1 -1
  411. package/dist/components/features/table/filter-bar.d.ts +1 -1
  412. package/dist/components/features/table/pagination.d.ts +1 -1
  413. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  414. package/dist/components/features/table/table-body.d.ts +1 -1
  415. package/dist/components/features/table/table-header.d.ts +1 -1
  416. package/dist/components/features/table/table-helpers.d.ts +31 -9
  417. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  418. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  419. package/dist/components/features/table/table.strings.d.ts +1 -0
  420. package/dist/components/features/table/table.types.d.ts +74 -48
  421. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  422. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  423. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  424. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  425. package/dist/components/layout/app-shell/index.d.ts +2 -2
  426. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  427. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  428. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  429. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  430. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  431. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  432. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  433. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  434. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  435. package/dist/components/layout/header/header.types.d.ts +16 -6
  436. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  437. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  438. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  439. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  440. package/dist/components/layout/layout.types.d.ts +2 -2
  441. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  442. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  443. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  444. package/dist/components/layout/page/index.d.ts +2 -3
  445. package/dist/components/layout/page/page.strings.d.ts +12 -0
  446. package/dist/components/layout/page/page.types.d.ts +7 -110
  447. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  448. package/dist/components/layout/settings/index.d.ts +1 -1
  449. package/dist/components/layout/settings/settings.d.ts +3 -5
  450. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  451. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  452. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  453. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  454. package/dist/components/layout/sidebar/index.d.ts +1 -1
  455. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +15 -7
  456. package/dist/components/layout/sidebar/sidebar.types.d.ts +10 -12
  457. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  458. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  459. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  460. package/dist/components/primitives/date.d.ts +22 -3
  461. package/dist/components/primitives/file-size.d.ts +8 -2
  462. package/dist/components/primitives/index.d.ts +1 -1
  463. package/dist/components/primitives/initials.d.ts +3 -1
  464. package/dist/components/primitives/link.d.ts +8 -1
  465. package/dist/components/primitives/money.d.ts +1 -1
  466. package/dist/components/primitives/number.d.ts +2 -1
  467. package/dist/components/typography/heading.d.ts +9 -3
  468. package/dist/components/typography/index.d.ts +1 -1
  469. package/dist/components/typography/text-link.d.ts +10 -3
  470. package/dist/components/ui/badge.d.ts +2 -4
  471. package/dist/components/ui/breadcrumb.d.ts +2 -3
  472. package/dist/components/ui/button.d.ts +8 -2
  473. package/dist/components/ui/collapsible.d.ts +1 -4
  474. package/dist/components/ui/command.d.ts +20 -18
  475. package/dist/components/ui/dialog.d.ts +3 -9
  476. package/dist/components/ui/empty.d.ts +2 -2
  477. package/dist/components/ui/input-group.d.ts +3 -3
  478. package/dist/components/ui/item.d.ts +3 -3
  479. package/dist/components/ui/popover.d.ts +3 -7
  480. package/dist/components/ui/sheet.d.ts +4 -12
  481. package/dist/components/ui/sidebar-state.d.ts +6 -1
  482. package/dist/components/ui/sidebar.d.ts +7 -4
  483. package/dist/components/ui/tabs.d.ts +2 -2
  484. package/dist/components/ui/toggle-group.d.ts +3 -3
  485. package/dist/components/ui/toggle.d.ts +2 -2
  486. package/dist/components/ui/tooltip.d.ts +1 -3
  487. package/dist/{containers-CSdc32h9.js → containers-BdfLTP4w.js} +37 -32
  488. package/dist/containers-BdfLTP4w.js.map +1 -0
  489. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  490. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  491. package/dist/{copyable-3fdHfMR3.js → copyable-Bmr14W0d.js} +6 -6
  492. package/dist/{copyable-3fdHfMR3.js.map → copyable-Bmr14W0d.js.map} +1 -1
  493. package/dist/{data-display-Cmj-xZYl.js → data-display-CWe9SOYh.js} +264 -251
  494. package/dist/data-display-CWe9SOYh.js.map +1 -0
  495. package/dist/date-3qsCE1ID.js +209 -0
  496. package/dist/date-3qsCE1ID.js.map +1 -0
  497. package/dist/{date-picker-CyQlFYsP.js → date-picker-D1keJQIG.js} +129 -129
  498. package/dist/date-picker-D1keJQIG.js.map +1 -0
  499. package/dist/date-pickers-D8aJoeHc.js +185 -0
  500. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  501. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  502. package/dist/{display-CT_N2a3w.js → display-VlmP1I0i.js} +23 -46
  503. package/dist/display-VlmP1I0i.js.map +1 -0
  504. package/dist/{dropdown-menu-C08iIugv.js → dropdown-menu-B8hjvbkS.js} +9 -9
  505. package/dist/{dropdown-menu-C08iIugv.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  506. package/dist/dropzone-CHBNK3de.js +116 -0
  507. package/dist/dropzone-CHBNK3de.js.map +1 -0
  508. package/dist/features/activities.js +682 -628
  509. package/dist/features/activities.js.map +1 -1
  510. package/dist/features/ai-chat.js +258 -226
  511. package/dist/features/ai-chat.js.map +1 -1
  512. package/dist/features/appointment-calendar.js +436 -340
  513. package/dist/features/appointment-calendar.js.map +1 -1
  514. package/dist/features/async-preview.js +351 -265
  515. package/dist/features/async-preview.js.map +1 -1
  516. package/dist/features/combobox.js +2 -2
  517. package/dist/features/comments.js +1 -1
  518. package/dist/features/data-view.js +212 -151
  519. package/dist/features/data-view.js.map +1 -1
  520. package/dist/features/email-composer/engine.js +1 -1
  521. package/dist/features/email-composer.js +344 -315
  522. package/dist/features/email-composer.js.map +1 -1
  523. package/dist/features/event-calendar.js +504 -355
  524. package/dist/features/event-calendar.js.map +1 -1
  525. package/dist/features/filters.js +2 -2
  526. package/dist/features/global-search.js +250 -206
  527. package/dist/features/global-search.js.map +1 -1
  528. package/dist/features/kanban.js +269 -189
  529. package/dist/features/kanban.js.map +1 -1
  530. package/dist/features/map.js +385 -371
  531. package/dist/features/map.js.map +1 -1
  532. package/dist/features/media-library.js +1571 -1199
  533. package/dist/features/media-library.js.map +1 -1
  534. package/dist/features/mentions.js +2 -2
  535. package/dist/features/overlays.js +2 -2
  536. package/dist/features/products.js +1780 -1691
  537. package/dist/features/products.js.map +1 -1
  538. package/dist/features/questionnaire.js +165 -152
  539. package/dist/features/questionnaire.js.map +1 -1
  540. package/dist/features/resource-assignment.js +223 -191
  541. package/dist/features/resource-assignment.js.map +1 -1
  542. package/dist/features/resource.js +55 -220
  543. package/dist/features/resource.js.map +1 -1
  544. package/dist/features/rich-text-editor.js +3 -3
  545. package/dist/features/schema-form.js +280 -228
  546. package/dist/features/schema-form.js.map +1 -1
  547. package/dist/features/suggestions.js +48 -39
  548. package/dist/features/suggestions.js.map +1 -1
  549. package/dist/features/table.js +2 -2
  550. package/dist/features/theme-tweaker.js +723 -633
  551. package/dist/features/theme-tweaker.js.map +1 -1
  552. package/dist/feedback-DmqmXKLn.js +254 -0
  553. package/dist/feedback-DmqmXKLn.js.map +1 -0
  554. package/dist/{field-affordance-recipes-D6H7tVJi.js → field-affordance-recipes-DfbMadot.js} +13 -9
  555. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  556. package/dist/{field-state-recipes-7sza8QbC.js → field-state-recipes-EtCxpEy3.js} +6 -2
  557. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  558. package/dist/filters-BviMRMLS.js +2692 -0
  559. package/dist/filters-BviMRMLS.js.map +1 -0
  560. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  561. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  562. package/dist/{form-field-CAPdwdnZ.js → form-field-BdfCwSoQ.js} +5 -5
  563. package/dist/{form-field-CAPdwdnZ.js.map → form-field-BdfCwSoQ.js.map} +1 -1
  564. package/dist/{form-sizing-CgcrUbLU.js → form-sizing-DE_dZw32.js} +3 -3
  565. package/dist/{form-sizing-CgcrUbLU.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  566. package/dist/{forms-B3W8CH7-.js → forms-B8DzJnBN.js} +35 -35
  567. package/dist/forms-B8DzJnBN.js.map +1 -0
  568. package/dist/forms-numeric-DOBswjKj.js +992 -0
  569. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  570. package/dist/{header-ZIIsRKxP.js → header-Cq3G0ZRP.js} +100 -95
  571. package/dist/header-Cq3G0ZRP.js.map +1 -0
  572. package/dist/{hooks-BitHSh-Y.js → hooks-DHfeSMAO.js} +34 -14
  573. package/dist/hooks-DHfeSMAO.js.map +1 -0
  574. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  575. package/dist/http-Cu-GPpss.js.map +1 -0
  576. package/dist/{icon-badge-npxF1SLX.js → icon-badge-B0Kq7wom.js} +3 -3
  577. package/dist/{icon-badge-npxF1SLX.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  578. package/dist/index.js +6 -6
  579. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  580. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  581. package/dist/{input-DIREVYHs.js → input-2YrgTUrz.js} +3 -3
  582. package/dist/{input-DIREVYHs.js.map → input-2YrgTUrz.js.map} +1 -1
  583. package/dist/{input-7KAc7XQL.js → input-DfJyrjoR.js} +6 -6
  584. package/dist/{input-7KAc7XQL.js.map → input-DfJyrjoR.js.map} +1 -1
  585. package/dist/{interaction-recipes-4wZ2tvfb.js → interaction-recipes-DmuS1ase.js} +2 -2
  586. package/dist/{interaction-recipes-4wZ2tvfb.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  587. package/dist/item-GJ9mvCcg.js +279 -0
  588. package/dist/item-GJ9mvCcg.js.map +1 -0
  589. package/dist/layout/app-shell.js +1 -1
  590. package/dist/layout/auth.js +1 -1
  591. package/dist/layout/containers.js +1 -1
  592. package/dist/layout/header.js +1 -1
  593. package/dist/layout/hooks.js +1 -1
  594. package/dist/layout/navigation.js +1 -1
  595. package/dist/layout/page.js +2 -2
  596. package/dist/layout/settings.js +2 -2
  597. package/dist/layout/sidebar.js +3 -3
  598. package/dist/layout/workspace.js +1 -1
  599. package/dist/layout.js +12 -12
  600. package/dist/{layout.types-E_GAApzO.js → layout.types-DbtnyAtd.js} +11 -8
  601. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  602. package/dist/lib/anchored-positioning.d.ts +11 -0
  603. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  604. package/dist/lib/field-state-recipes.d.ts +6 -0
  605. package/dist/lib/focus-recipes.d.ts +7 -0
  606. package/dist/lib/format.d.ts +25 -0
  607. package/dist/lib/money-format.d.ts +6 -0
  608. package/dist/lib/motion-recipes.d.ts +6 -0
  609. package/dist/lib/surface-recipes.d.ts +32 -2
  610. package/dist/lib/theme-scope.d.ts +17 -1
  611. package/dist/lib/token-merge.generated.d.ts +13 -19
  612. package/dist/lib/ui-provider/index.d.ts +1 -1
  613. package/dist/lib/ui-provider/types.d.ts +5 -0
  614. package/dist/lib/use-controllable-state.d.ts +16 -0
  615. package/dist/lib/use-copy-feedback.d.ts +15 -0
  616. package/dist/lib/utils.js +1 -1
  617. package/dist/lib/variant-props.d.ts +9 -0
  618. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  619. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  620. package/dist/mentions-zz0ewNIq.js +670 -0
  621. package/dist/mentions-zz0ewNIq.js.map +1 -0
  622. package/dist/{message-BJHnn43M.js → message-BiiVrRrm.js} +10 -7
  623. package/dist/{message-BJHnn43M.js.map → message-BiiVrRrm.js.map} +1 -1
  624. package/dist/{metadata-list-XkqZ_UXH.js → metadata-list-G85roWjS.js} +13 -12
  625. package/dist/metadata-list-G85roWjS.js.map +1 -0
  626. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  627. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  628. package/dist/navigation-C0Be5C3i.js +304 -0
  629. package/dist/navigation-C0Be5C3i.js.map +1 -0
  630. package/dist/{navigation-Bt-v7rWP.js → navigation-CmqaQR_G.js} +99 -103
  631. package/dist/navigation-CmqaQR_G.js.map +1 -0
  632. package/dist/number-NFWKIoiK.js +340 -0
  633. package/dist/number-NFWKIoiK.js.map +1 -0
  634. package/dist/{overflow-tab-bar-BQCA2Zn2.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  635. package/dist/{overflow-tab-bar-BQCA2Zn2.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  636. package/dist/overlays-D-gAIfPF.js +1018 -0
  637. package/dist/overlays-D-gAIfPF.js.map +1 -0
  638. package/dist/page-D4pQhgSq.js +216 -0
  639. package/dist/page-D4pQhgSq.js.map +1 -0
  640. package/dist/{page-header-commands-DIKspJfx.js → page-header-commands-elelNOfd.js} +29 -29
  641. package/dist/{page-header-commands-DIKspJfx.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  642. package/dist/{pagination-Br8TdV9A.js → pagination-BuSWw1US.js} +22 -23
  643. package/dist/pagination-BuSWw1US.js.map +1 -0
  644. package/dist/{popover-k8TdUcAt.js → popover-BpMxbqEK.js} +73 -69
  645. package/dist/popover-BpMxbqEK.js.map +1 -0
  646. package/dist/{popover-menu-yn-o0kyA.js → popover-menu-CO-_iiuz.js} +7 -7
  647. package/dist/{popover-menu-yn-o0kyA.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  648. package/dist/{popover.recipes-DJ0AkUan.js → popover.recipes-BqkdvlZn.js} +3 -4
  649. package/dist/{popover.recipes-DJ0AkUan.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  650. package/dist/{portal-recipes-DyUXqUtD.js → portal-recipes-BPeS4rGB.js} +2 -2
  651. package/dist/{portal-recipes-DyUXqUtD.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  652. package/dist/primitives-BlC1lXBr.js +447 -0
  653. package/dist/primitives-BlC1lXBr.js.map +1 -0
  654. package/dist/primitives.js +4 -4
  655. package/dist/{progress-DZFXXzPs.js → progress-RARK8AjB.js} +5 -5
  656. package/dist/{progress-DZFXXzPs.js.map → progress-RARK8AjB.js.map} +1 -1
  657. package/dist/receipt-CUf2Vegp.js +114 -0
  658. package/dist/receipt-CUf2Vegp.js.map +1 -0
  659. package/dist/{rich-text-BnTzZjIo.js → rich-text-Cypm9__d.js} +7 -8
  660. package/dist/{rich-text-BnTzZjIo.js.map → rich-text-Cypm9__d.js.map} +1 -1
  661. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  662. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  663. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  664. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  665. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  666. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  667. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  668. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  669. package/dist/{scroll-area-Bj6CRUif.js → scroll-area-B9HKbji0.js} +3 -3
  670. package/dist/{scroll-area-Bj6CRUif.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  671. package/dist/{separator-DM6gs2vu.js → separator-DaDe26sf.js} +3 -3
  672. package/dist/separator-DaDe26sf.js.map +1 -0
  673. package/dist/{separator-B9ewiCGO.js → separator-KGsNXt2J.js} +2 -2
  674. package/dist/{separator-B9ewiCGO.js.map → separator-KGsNXt2J.js.map} +1 -1
  675. package/dist/services/actions/action-adapters.d.ts +5 -2
  676. package/dist/services/actions/index.d.ts +1 -1
  677. package/dist/services/actions.js +2 -2
  678. package/dist/services/actions.js.map +1 -1
  679. package/dist/settings-D5j_RJvT.js +160 -0
  680. package/dist/settings-D5j_RJvT.js.map +1 -0
  681. package/dist/sheet-B6j_BE9O.js +241 -0
  682. package/dist/sheet-B6j_BE9O.js.map +1 -0
  683. package/dist/{sidebar-CmD6a-HK.js → sidebar-C-iQ_TJP.js} +377 -351
  684. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  685. package/dist/sidebar-D5VO2W8S.js +715 -0
  686. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  687. package/dist/{skeleton-DDgdhmu9.js → skeleton-Cab_KgVo.js} +12 -12
  688. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  689. package/dist/{smart-card-B6vLxqa_.js → smart-card-C59z6KFO.js} +217 -210
  690. package/dist/smart-card-C59z6KFO.js.map +1 -0
  691. package/dist/{structure-DZJ2wbAU.js → structure-DElaQwwN.js} +2 -2
  692. package/dist/{structure-DZJ2wbAU.js.map → structure-DElaQwwN.js.map} +1 -1
  693. package/dist/style.css +1 -1
  694. package/dist/{surface-recipes-C8mNycaY.js → surface-recipes-DV6rrOFq.js} +10 -2
  695. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  696. package/dist/{table-CXSPHH25.js → table-CSRUgpdK.js} +62 -61
  697. package/dist/table-CSRUgpdK.js.map +1 -0
  698. package/dist/table-DdXDBsR_.js +1657 -0
  699. package/dist/table-DdXDBsR_.js.map +1 -0
  700. package/dist/{tabs-C4Kr_hCr.js → tabs-WnHfV2pM.js} +27 -27
  701. package/dist/tabs-WnHfV2pM.js.map +1 -0
  702. package/dist/{text-inputs-jdkS3ReG.js → text-inputs-ljyBYaCd.js} +112 -112
  703. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  704. package/dist/theme.css +21 -5
  705. package/dist/timelines-mOmS9Eh3.js +479 -0
  706. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  707. package/dist/tooltip-yjX-Uv-p.js +112 -0
  708. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  709. package/dist/{tree-CeYVzdFE.js → tree-YpkxUG2Z.js} +80 -72
  710. package/dist/tree-YpkxUG2Z.js.map +1 -0
  711. package/dist/typography/rich-text.js +1 -1
  712. package/dist/{typography-C7-YMW1S.js → typography-C0dELqYV.js} +46 -40
  713. package/dist/typography-C0dELqYV.js.map +1 -0
  714. package/dist/typography.js +1 -1
  715. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  716. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  717. package/dist/ui-provider.js +2 -2
  718. package/dist/{upload-Hdm5gObf.js → upload-DMuMYJFT.js} +276 -268
  719. package/dist/upload-DMuMYJFT.js.map +1 -0
  720. package/dist/{usage-card-9s8hLDfn.js → usage-card-DDPki5P1.js} +57 -54
  721. package/dist/usage-card-DDPki5P1.js.map +1 -0
  722. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  723. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  724. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  725. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  726. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  727. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  728. package/dist/{utils-DhuoqFy4.js → utils-BVbAG2J6.js} +98 -76
  729. package/dist/utils-BVbAG2J6.js.map +1 -0
  730. package/dist/value-inputs-h5MwjGCo.js +982 -0
  731. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  732. package/dist/value-typography-D15uwfj-.js +154 -0
  733. package/dist/value-typography-D15uwfj-.js.map +1 -0
  734. package/dist/workspace-DIryPqBt.js +400 -0
  735. package/dist/workspace-DIryPqBt.js.map +1 -0
  736. package/docs/consumer-skill/SKILL.md +7 -0
  737. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  738. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  739. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  740. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  741. package/docs/consumer-skill/examples/detail.tsx +3 -2
  742. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  743. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  744. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  745. package/docs/consumer-skill/references/agents-md.md +20 -16
  746. package/docs/consumer-skill/references/analytics.md +20 -6
  747. package/docs/consumer-skill/references/building-views.md +213 -0
  748. package/docs/consumer-skill/references/catalogue.md +617 -0
  749. package/docs/consumer-skill/references/component-contracts.json +10202 -18084
  750. package/docs/consumer-skill/references/composition.md +21 -17
  751. package/docs/consumer-skill/references/discovery.md +8 -5
  752. package/docs/consumer-skill/references/installation.md +10 -4
  753. package/docs/consumer-skill/references/integration.md +5 -5
  754. package/docs/consumer-skill/references/product-composition.md +2 -2
  755. package/docs/consumer-skill/references/public-api.json +580 -633
  756. package/docs/consumer-skill/references/review.md +6 -4
  757. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  758. package/docs/consumer-skill/references/theming.md +1 -1
  759. package/docs/consumer-skill/references/tokens.json +4 -4
  760. package/docs/consumer-skill/references/workflows.md +7 -7
  761. package/docs/consumer-skill/scripts/composition-policy.mjs +40 -20
  762. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  763. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  764. package/docs/consumer-skill/scripts/setup-skills.mjs +31 -4
  765. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  766. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  767. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  768. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  769. package/package.json +9 -12
  770. package/templates/README.md +3 -2
  771. package/templates/admin-shell-template.tsx +49 -9
  772. package/templates/analytics-operations-template.tsx +20 -24
  773. package/templates/customers-template.tsx +12 -9
  774. package/templates/index.ts +2 -8
  775. package/templates/orders-template.tsx +28 -24
  776. package/templates/products-template.tsx +14 -4
  777. package/templates/user-permissions-template.tsx +11 -14
  778. package/dist/accordion-0tQUZ20r.js.map +0 -1
  779. package/dist/action-menu-C0gjzLyE.js +0 -284
  780. package/dist/action-menu-C0gjzLyE.js.map +0 -1
  781. package/dist/ai-artifact-CGGpQryR.js +0 -1200
  782. package/dist/ai-artifact-CGGpQryR.js.map +0 -1
  783. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  784. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  785. package/dist/app-shell-EHuuRDGy.js +0 -321
  786. package/dist/app-shell-EHuuRDGy.js.map +0 -1
  787. package/dist/auth-B0girIk_.js.map +0 -1
  788. package/dist/badge-wWauMgAt.js.map +0 -1
  789. package/dist/base/sheet.js +0 -3
  790. package/dist/breadcrumbs-Bp9Ke7kd.js.map +0 -1
  791. package/dist/button-ChBovTx0.js.map +0 -1
  792. package/dist/buttons-DeW0bQeK.js.map +0 -1
  793. package/dist/cascader-CrAl9zD5.js +0 -439
  794. package/dist/cascader-CrAl9zD5.js.map +0 -1
  795. package/dist/choice-inputs-DHGtx0QV.js.map +0 -1
  796. package/dist/code-block-BSJyq9e-.js.map +0 -1
  797. package/dist/collapsible-BzJ91LUG.js +0 -81
  798. package/dist/collapsible-BzJ91LUG.js.map +0 -1
  799. package/dist/combobox-Bcvu5J8O.js +0 -363
  800. package/dist/combobox-Bcvu5J8O.js.map +0 -1
  801. package/dist/combobox-C2JiSQPc.js +0 -915
  802. package/dist/combobox-C2JiSQPc.js.map +0 -1
  803. package/dist/command-9e52NPgK.js +0 -425
  804. package/dist/command-9e52NPgK.js.map +0 -1
  805. package/dist/comments-BsgErEqd.js +0 -1174
  806. package/dist/comments-BsgErEqd.js.map +0 -1
  807. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  808. package/dist/components/base/display/content-block.d.ts +0 -75
  809. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  810. package/dist/components/base/sheet/index.d.ts +0 -29
  811. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  812. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  813. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -10
  814. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  815. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  816. package/dist/components/features/sync/index.d.ts +0 -26
  817. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  818. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  819. package/dist/components/features/sync/sync.types.d.ts +0 -44
  820. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  821. package/dist/components/ui/slot.d.ts +0 -6
  822. package/dist/containers-CSdc32h9.js.map +0 -1
  823. package/dist/data-display-Cmj-xZYl.js.map +0 -1
  824. package/dist/date-Br0FicVv.js +0 -144
  825. package/dist/date-Br0FicVv.js.map +0 -1
  826. package/dist/date-picker-CyQlFYsP.js.map +0 -1
  827. package/dist/date-pickers-tj2MXmXd.js +0 -185
  828. package/dist/date-pickers-tj2MXmXd.js.map +0 -1
  829. package/dist/display-CT_N2a3w.js.map +0 -1
  830. package/dist/features/sync.js +0 -142
  831. package/dist/features/sync.js.map +0 -1
  832. package/dist/feedback-Dzo1xtAU.js +0 -246
  833. package/dist/feedback-Dzo1xtAU.js.map +0 -1
  834. package/dist/field-affordance-recipes-D6H7tVJi.js.map +0 -1
  835. package/dist/field-state-recipes-7sza8QbC.js.map +0 -1
  836. package/dist/filters-Dl80yYtN.js +0 -2415
  837. package/dist/filters-Dl80yYtN.js.map +0 -1
  838. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  839. package/dist/forms-B3W8CH7-.js.map +0 -1
  840. package/dist/forms-numeric-CwjQJe-O.js +0 -991
  841. package/dist/forms-numeric-CwjQJe-O.js.map +0 -1
  842. package/dist/header-ZIIsRKxP.js.map +0 -1
  843. package/dist/hooks-BitHSh-Y.js.map +0 -1
  844. package/dist/http-D_6rOnzU.js.map +0 -1
  845. package/dist/item-FfWnaYST.js +0 -278
  846. package/dist/item-FfWnaYST.js.map +0 -1
  847. package/dist/layout.types-E_GAApzO.js.map +0 -1
  848. package/dist/media-gallery-C81DAnKI.js +0 -203
  849. package/dist/media-gallery-C81DAnKI.js.map +0 -1
  850. package/dist/mentions-qOnedSt4.js +0 -639
  851. package/dist/mentions-qOnedSt4.js.map +0 -1
  852. package/dist/metadata-list-XkqZ_UXH.js.map +0 -1
  853. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  854. package/dist/navigation-BgtPJAhi.js +0 -288
  855. package/dist/navigation-BgtPJAhi.js.map +0 -1
  856. package/dist/navigation-Bt-v7rWP.js.map +0 -1
  857. package/dist/number-CYqBcrSj.js +0 -346
  858. package/dist/number-CYqBcrSj.js.map +0 -1
  859. package/dist/overlays-CC8zI3Du.js +0 -1017
  860. package/dist/overlays-CC8zI3Du.js.map +0 -1
  861. package/dist/page-BoQ1VaFJ.js +0 -331
  862. package/dist/page-BoQ1VaFJ.js.map +0 -1
  863. package/dist/pagination-Br8TdV9A.js.map +0 -1
  864. package/dist/popover-k8TdUcAt.js.map +0 -1
  865. package/dist/primitives-BkkQjYl7.js +0 -385
  866. package/dist/primitives-BkkQjYl7.js.map +0 -1
  867. package/dist/receipt-C7LhOg7Q.js +0 -116
  868. package/dist/receipt-C7LhOg7Q.js.map +0 -1
  869. package/dist/rich-text-editor-CAurDwT5.js +0 -1273
  870. package/dist/rich-text-editor-CAurDwT5.js.map +0 -1
  871. package/dist/rich-text-editor-toolbar-DbXig7Jk.js +0 -99
  872. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +0 -1
  873. package/dist/rich-text-tree-BqyQ_7-R.js +0 -66
  874. package/dist/rich-text-tree-BqyQ_7-R.js.map +0 -1
  875. package/dist/sanitize-html-BWkH4dLM.js +0 -105
  876. package/dist/sanitize-html-BWkH4dLM.js.map +0 -1
  877. package/dist/separator-DM6gs2vu.js.map +0 -1
  878. package/dist/settings-DZPHgpx4.js +0 -155
  879. package/dist/settings-DZPHgpx4.js.map +0 -1
  880. package/dist/sheet-C4DHsgLk.js +0 -250
  881. package/dist/sheet-C4DHsgLk.js.map +0 -1
  882. package/dist/sidebar-C8BnDwTH.js +0 -709
  883. package/dist/sidebar-C8BnDwTH.js.map +0 -1
  884. package/dist/sidebar-CmD6a-HK.js.map +0 -1
  885. package/dist/skeleton-DDgdhmu9.js.map +0 -1
  886. package/dist/slot-CLF9kLrS.js +0 -16
  887. package/dist/slot-CLF9kLrS.js.map +0 -1
  888. package/dist/smart-card-B6vLxqa_.js.map +0 -1
  889. package/dist/surface-recipes-C8mNycaY.js.map +0 -1
  890. package/dist/table-CBonSdTp.js +0 -1584
  891. package/dist/table-CBonSdTp.js.map +0 -1
  892. package/dist/table-CXSPHH25.js.map +0 -1
  893. package/dist/tabs-C4Kr_hCr.js.map +0 -1
  894. package/dist/text-inputs-jdkS3ReG.js.map +0 -1
  895. package/dist/timelines-CoPwdJP0.js +0 -458
  896. package/dist/timelines-CoPwdJP0.js.map +0 -1
  897. package/dist/tooltip-31NwIpTo.js +0 -113
  898. package/dist/tooltip-31NwIpTo.js.map +0 -1
  899. package/dist/tree-CeYVzdFE.js.map +0 -1
  900. package/dist/typography-C7-YMW1S.js.map +0 -1
  901. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  902. package/dist/upload-Hdm5gObf.js.map +0 -1
  903. package/dist/upload-queue-D0sYPuqo.js +0 -409
  904. package/dist/upload-queue-D0sYPuqo.js.map +0 -1
  905. package/dist/usage-card-9s8hLDfn.js.map +0 -1
  906. package/dist/utils-DhuoqFy4.js.map +0 -1
  907. package/dist/value-inputs-D3aPgq9H.js +0 -980
  908. package/dist/value-inputs-D3aPgq9H.js.map +0 -1
  909. package/dist/value-typography-uSzzG9Gf.js +0 -122
  910. package/dist/value-typography-uSzzG9Gf.js.map +0 -1
  911. package/dist/workspace-CC8Vchiu.js +0 -411
  912. package/dist/workspace-CC8Vchiu.js.map +0 -1
@@ -1,37 +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-DhuoqFy4.js";
6
- import { n as c } from "../buttons-DeW0bQeK.js";
7
- import { c as l, s as u } from "../typography-C7-YMW1S.js";
8
- import { t as d } from "../focus-recipes-B653VaLq.js";
9
- import { r as f, t as p } from "../structure-DZJ2wbAU.js";
10
- import { _ as m, g as ee, h, p as te, t as ne, v as g } from "../smart-card-B6vLxqa_.js";
11
- import { n as re } from "../composition.recipes-COdiFhxB.js";
12
- import { i as ie, r as ae } from "../overlays-CC8zI3Du.js";
13
- import { m as oe } from "../primitives-BkkQjYl7.js";
14
- import { t as se } from "../accordion-0tQUZ20r.js";
15
- import { t as _ } from "../badge-wWauMgAt.js";
16
- import { t as ce } from "../theme-mode-css-BB-_RYab.js";
17
- import { t as v } from "../input-7KAc7XQL.js";
18
- import { t as y } from "../form-field-CAPdwdnZ.js";
19
- import { d as le } from "../text-inputs-jdkS3ReG.js";
20
- import { a as b, l as x } from "../choice-inputs-DHGtx0QV.js";
21
- import { i as ue, n as de } from "../value-inputs-D3aPgq9H.js";
22
- import { d as fe } from "../forms-numeric-CwjQJe-O.js";
23
- import { t as pe } from "../item-FfWnaYST.js";
24
- import { i as me, r as he, t as ge } from "../tabs-C4Kr_hCr.js";
25
- import { forwardRef as S, useEffect as _e, useId as C, useImperativeHandle as ve, useMemo as w, useRef as ye, useState as T } from "react";
26
- import { jsx as E, jsxs as D } from "react/jsx-runtime";
27
- import { CheckCircle2 as be, Copy as xe, Download as Se, Info as Ce, LayoutGrid as we, Moon as Te, Palette as O, RotateCcw as Ee, Search as De, Settings2 as Oe, Shapes as ke, ShieldCheck as k, Sun as Ae, Type as je } from "lucide-react";
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";
16
+ import { t as se } from "../theme-mode-css-BB-_RYab.js";
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";
28
29
  //#region src/components/features/theme-tweaker/theme-tweaker.utils.ts
29
- var Me = {
30
+ var Pe = {
30
31
  shared: ":root",
31
32
  light: ":root,\n.light",
32
33
  dark: ".dark"
33
- }, A = /^--[a-z][a-z0-9-]*$/i, j = /[;{}]/, Ne = /[;{}]/;
34
- 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 = {}) {
35
58
  return {
36
59
  mode: e.mode ?? "light",
37
60
  shared: { ...e.shared },
@@ -39,71 +62,68 @@ function M(e = {}) {
39
62
  dark: { ...e.dark }
40
63
  };
41
64
  }
42
- function N(e) {
43
- return A.test(e);
65
+ function Be(e) {
66
+ return Fe.test(e);
44
67
  }
45
- function P(e, t = !0) {
68
+ function M(e, t = !0) {
46
69
  return Object.entries(e).filter((e) => typeof e[1] == "string" && e[1].trim().length > 0).flatMap(([e, n]) => {
47
- if (!N(e)) {
70
+ if (!Be(e)) {
48
71
  if (!t) return [];
49
72
  throw TypeError(`Invalid CSS variable name: ${e}`);
50
73
  }
51
- let r = n.trim(), i = [...r].some((e) => {
52
- let t = e.charCodeAt(0);
53
- return t < 32 || t === 127;
54
- });
55
- if (j.test(r) || i) {
74
+ let r = n.trim();
75
+ if (A(r)) {
56
76
  if (!t) return [];
57
77
  throw TypeError(`Unsafe CSS value for ${e}.`);
58
78
  }
59
79
  return [[e, r]];
60
80
  }).sort(([e], [t]) => e.localeCompare(t));
61
81
  }
62
- function F(e, t) {
82
+ function N(e, t) {
63
83
  let n = e.trim();
64
- if (n.length === 0 || Ne.test(n)) throw TypeError(`Invalid ${t} theme selector.`);
84
+ if (n.length === 0 || k.test(n)) throw TypeError(`Invalid ${t} theme selector.`);
65
85
  return n;
66
86
  }
67
- function I(e, t) {
68
- let n = P(t);
87
+ function P(e, t) {
88
+ let n = M(t);
69
89
  return n.length === 0 ? null : [
70
90
  `${e} {`,
71
91
  ...n.map(([e, t]) => `\t${e}: ${t};`),
72
92
  "}"
73
93
  ].join("\n");
74
94
  }
75
- function L(e, t = {}) {
76
- let n = t.selectors ?? Me, 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)] : [ce(o, {
77
- light: P(e.light).map(([e, t]) => `${e}: ${t};`),
78
- 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};`)
79
99
  })]].filter((e) => e !== null && e.length > 0), c = t.banner === !1 ? null : `/* ${t.banner ?? "themelia-react-ui theme overrides"} */`;
80
100
  return `${[...c ? [c] : [], ...s.length > 0 ? s : ["/* No explicit overrides. */"]].join("\n\n")}\n`;
81
101
  }
82
- function R(t = {}) {
83
- 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;
84
104
  return {
85
- ...n,
105
+ ...t,
86
106
  dates: a
87
107
  };
88
108
  }
89
- function Pe(e = {}) {
90
- let t = R(e);
109
+ function Ve(e = {}) {
110
+ let t = I(e);
91
111
  return `import type { UIConfig } from 'themelia-react-ui/ui-provider';\n\nexport const adminUIConfig = ${JSON.stringify(t, null, " ")} satisfies UIConfig;\n`;
92
112
  }
93
- function z(e, t = e.mode) {
113
+ function He(e, t = e.mode) {
94
114
  return {
95
115
  ...e.shared,
96
116
  ...e[t]
97
117
  };
98
118
  }
99
- function B(e, t = e.mode) {
100
- return Object.fromEntries(P(z(e, t), !1));
119
+ function L(e, t = e.mode) {
120
+ return Object.fromEntries(M(He(e, t), !1));
101
121
  }
102
- function Fe(e) {
103
- 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;
104
124
  }
105
- function Ie(e) {
106
- let t = F(e, "shared");
125
+ function R(e) {
126
+ let t = N(e, "shared");
107
127
  return {
108
128
  shared: t,
109
129
  light: `${t},\n${t}.light,\n.light ${t}`,
@@ -111,62 +131,62 @@ function Ie(e) {
111
131
  modeScope: t
112
132
  };
113
133
  }
114
- function Le(e, t = "admin-ui-theme.css", n = {}, r = {}) {
115
- 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);
116
136
  return {
117
137
  fileName: t,
118
- cssText: L(i, {
138
+ cssText: F(i, {
119
139
  ...n,
120
140
  banner: n.banner ?? "themelia-react-ui complete theme"
121
141
  }),
122
- overrideCssText: L(e, n),
123
- theme: M(e),
142
+ overrideCssText: F(e, n),
143
+ theme: j(e),
124
144
  resolvedTheme: i,
125
- overrideCount: Fe(e),
145
+ overrideCount: Ue(e),
126
146
  providerFileName: r.providerFileName ?? "admin-ui.config.ts",
127
147
  providerConfig: a,
128
- providerConfigText: Pe(a)
148
+ providerConfigText: Ve(a)
129
149
  };
130
150
  }
131
- function Re(e) {
132
- ze({
151
+ function Ge(e) {
152
+ Ke({
133
153
  fileName: e.fileName,
134
154
  text: e.cssText,
135
155
  mimeType: "text/css;charset=utf-8"
136
156
  });
137
157
  }
138
- function ze({ 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" }) {
139
159
  if (typeof document > "u" || typeof URL > "u") throw Error("File download requires a browser document. Provide onExport in non-browser environments.");
140
160
  let r = new Blob([t], { type: n }), i = URL.createObjectURL(r), a = document.createElement("a");
141
161
  a.href = i, a.download = e, a.hidden = !0, document.body.append(a), a.click(), a.remove(), URL.revokeObjectURL(i);
142
162
  }
143
163
  //#endregion
144
164
  //#region src/components/features/theme-tweaker/theme-scope.tsx
145
- var V = S(function({ theme: e, mode: n = e.mode, className: r, style: i, children: a, ...o }, c) {
146
- return /* @__PURE__ */ E(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, {
147
167
  ...o,
148
168
  ref: c,
149
169
  "data-theme-mode": n,
150
170
  className: s("theme-scope--component", n, r),
151
171
  style: {
152
- ...B(e, n),
172
+ ...L(e, n),
153
173
  ...i
154
174
  },
155
175
  children: a
156
176
  });
157
177
  });
158
- V.displayName = "ThemeScope";
178
+ qe.displayName = "ThemeScope";
159
179
  //#endregion
160
180
  //#region src/components/features/theme-tweaker/use-applied-theme.ts
161
- function Be(e, t) {
181
+ function z(e, t) {
162
182
  return e === null ? null : e === "self" ? t.current : e === "document" ? typeof document > "u" ? null : document.documentElement : typeof e == "function" ? e() : e;
163
183
  }
164
- function Ve({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
165
- _e(() => {
184
+ function Je({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
185
+ ve(() => {
166
186
  if (!e || r === "self") return;
167
- let a = Be(r, n);
187
+ let a = z(r, n);
168
188
  if (!a) return;
169
- 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();
170
190
  for (let [e, t] of Object.entries(o)) typeof t == "string" && (s.set(e, {
171
191
  value: a.style.getPropertyValue(e),
172
192
  priority: a.style.getPropertyPriority(e)
@@ -190,22 +210,22 @@ function Ve({ apply: e, manageModeClass: t, selfRef: n, target: r, theme: i }) {
190
210
  }
191
211
  //#endregion
192
212
  //#region src/components/features/theme-tweaker/admin-ui-theme-provider.tsx
193
- var He = S(function({ config: e, theme: t, mode: r = t.mode, target: i = "document", manageModeClass: a = !0, className: o, children: c, ...l }, u) {
194
- let d = ye(null);
195
- ve(u, () => d.current);
196
- let f = w(() => M({
197
- ...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,
198
218
  mode: r
199
- }), [r, t]);
200
- return Ve({
219
+ }), [r, n]);
220
+ return Je({
201
221
  apply: i === "document",
202
222
  manageModeClass: a,
203
223
  selfRef: d,
204
224
  target: i,
205
225
  theme: f
206
- }), /* @__PURE__ */ E(n, {
207
- config: e,
208
- children: /* @__PURE__ */ E(V, {
226
+ }), /* @__PURE__ */ T(e, {
227
+ config: t,
228
+ children: /* @__PURE__ */ T(qe, {
209
229
  ...l,
210
230
  ref: d,
211
231
  theme: f,
@@ -215,10 +235,10 @@ var He = S(function({ config: e, theme: t, mode: r = t.mode, target: i = "docume
215
235
  })
216
236
  });
217
237
  });
218
- He.displayName = "AdminUIThemeProvider";
238
+ B.displayName = "AdminUIThemeProvider";
219
239
  //#endregion
220
240
  //#region src/components/features/theme-tweaker/theme-tweaker.fields.ts
221
- 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 = [
222
242
  "--success",
223
243
  "--success-foreground",
224
244
  "--info",
@@ -237,12 +257,12 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
237
257
  "--inverse-surface-strong",
238
258
  "--inverse-border",
239
259
  "--inverse-decoration"
240
- ], W = ["--overlay-backdrop"], Ue = [
260
+ ], H = ["--overlay-backdrop"], Xe = [
241
261
  "--font-heading",
242
262
  "--font-sans",
243
263
  "--font-serif",
244
264
  "--font-mono"
245
- ], We = [
265
+ ], U = [
246
266
  "xxs",
247
267
  "xs",
248
268
  "pxs",
@@ -258,7 +278,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
258
278
  "7xl",
259
279
  "8xl",
260
280
  "9xl"
261
- ].flatMap((e) => [`--text-${e}`, `--text-${e}--line-height`]), G = [
281
+ ].flatMap((e) => [`--text-${e}`, `--text-${e}--line-height`]), Ze = [
262
282
  "--shadow-2xs",
263
283
  "--shadow-xs",
264
284
  "--shadow-sm",
@@ -267,7 +287,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
267
287
  "--shadow-lg",
268
288
  "--shadow-xl",
269
289
  "--shadow-2xl"
270
- ], K = [
290
+ ], W = [
271
291
  "--space-scale",
272
292
  "--density-scale",
273
293
  "--height-action",
@@ -281,7 +301,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
281
301
  "--avatar",
282
302
  "--shell-header-height",
283
303
  "--shell-sidebar-width"
284
- ], Ge = [
304
+ ], Qe = [
285
305
  "--content-width-sm",
286
306
  "--content-width-md",
287
307
  "--content-width-lg",
@@ -290,7 +310,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
290
310
  "--adaptive-grid-min-sm",
291
311
  "--adaptive-grid-min-md",
292
312
  "--adaptive-grid-min-lg"
293
- ], Ke = {
313
+ ], G = {
294
314
  "--background": "Application canvas and default page background.",
295
315
  "--foreground": "Primary text and icon color on the application canvas.",
296
316
  "--primary": "Brand and primary-action color.",
@@ -327,7 +347,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
327
347
  "--adaptive-grid-min-sm": "Compact minimum peer width used by AdaptiveGrid.",
328
348
  "--adaptive-grid-min-md": "Default minimum peer width used by AdaptiveGrid.",
329
349
  "--adaptive-grid-min-lg": "Spacious minimum peer width used by AdaptiveGrid."
330
- }, qe = {
350
+ }, K = {
331
351
  "--space-scale": "Spacing scale",
332
352
  "--density-scale": "Density scale",
333
353
  "--height-action": "Action height",
@@ -351,7 +371,7 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
351
371
  "--adaptive-grid-min-sm": "Compact adaptive column",
352
372
  "--adaptive-grid-min-md": "Default adaptive column",
353
373
  "--adaptive-grid-min-lg": "Spacious adaptive column"
354
- }, q = {
374
+ }, $e = {
355
375
  "--radius": {
356
376
  type: "range",
357
377
  min: 0,
@@ -543,48 +563,48 @@ var H = /* @__PURE__ */ "--background.--foreground.--card.--card-foreground.--po
543
563
  decimalPlaces: 1
544
564
  }
545
565
  };
546
- function J(e) {
566
+ function et(e) {
547
567
  return e.replace(/^--/, "").replace(/--/g, " · ").split("-").map((e) => e.length <= 3 ? e.toUpperCase() : `${e[0].toUpperCase()}${e.slice(1)}`).join(" ");
548
568
  }
549
- function Je(e, t) {
569
+ function q(e, t) {
550
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.";
551
571
  }
552
- function Y(e, t, n, r, i) {
572
+ function J(e, t, n, r, i) {
553
573
  return e.map((e) => ({
554
574
  name: e,
555
- label: qe[e] ?? J(e),
556
- description: Ke[e] ?? Je(e, t),
575
+ label: K[e] ?? et(e),
576
+ description: G[e] ?? q(e, t),
557
577
  group: t,
558
578
  section: n,
559
579
  scope: r,
560
580
  kind: i,
561
- control: q[e]
581
+ control: $e[e]
562
582
  }));
563
583
  }
564
- var Ye = [
565
- ...Y(H.slice(0, 6), "colors", "surfaces-content", "mode", "color"),
566
- ...Y(W, "colors", "surfaces-content", "shared", "color"),
567
- ...Y(H.slice(6, 19), "colors", "brand-actions", "mode", "color"),
568
- ...Y(H.slice(19, 24), "colors", "charts", "mode", "color"),
569
- ...Y(H.slice(24), "colors", "sidebar", "mode", "color"),
570
- ...Y(U.slice(0, 7), "states", "semantic-feedback", "mode", "color"),
571
- ...Y(U.slice(7), "states", "inverse-surfaces", "mode", "color"),
572
- ...Y(Ue, "typography", "font-families", "shared", "font"),
573
- ...Y(We, "typography", "type-scale", "shared", "length"),
574
- ...Y(["--radius"], "shape", "radius", "shared", "length"),
575
- ...Y(G, "shape", "elevation", "mode", "shadow"),
576
- ...Y(K.slice(0, 2), "structure", "global-scales", "shared", "length"),
577
- ...Y(K.slice(2, 5), "structure", "actions-controls", "shared", "length"),
578
- ...Y(["--gap-normal", "--gap-dense"], "structure", "rows-surfaces", "shared", "length"),
579
- ...Y(K.slice(5, 9), "structure", "rows-surfaces", "shared", "length"),
580
- ...Y(K.slice(9, 11), "structure", "media", "shared", "length"),
581
- ...Y(K.slice(11), "structure", "application-shell", "shared", "length"),
582
- ...Y(Ge.slice(0, 5), "structure", "content-widths", "shared", "length"),
583
- ...Y(Ge.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")
584
604
  ].map((e) => e.name === "--space-scale" || e.name === "--density-scale" ? {
585
605
  ...e,
586
606
  kind: "number"
587
- } : e), X = {
607
+ } : e), Y = {
588
608
  title: "Application defaults",
589
609
  description: "Configure the stable display behavior that accompanies the exported CSS theme.",
590
610
  boundaryTitle: "Root provider recipe",
@@ -643,6 +663,8 @@ var Ye = [
643
663
  },
644
664
  dualPricingDescription: "Show an optional display currency.",
645
665
  displayCurrencyPlaceholder: "Optional",
666
+ invalidLocale: "Enter a valid locale, such as en-US.",
667
+ invalidCurrency: "Enter a three-letter currency code, such as EUR.",
646
668
  options: {
647
669
  default: "Default",
648
670
  decimal: "Decimal",
@@ -697,14 +719,49 @@ var Ye = [
697
719
  xl: "XL"
698
720
  }
699
721
  };
700
- function Z(e, t) {
722
+ function X(e, t) {
701
723
  return e.map((e) => ({
702
724
  value: e,
703
725
  label: t.options[e] ?? e.replaceAll("_", " ").replace(/\b\w/g, (e) => e.toUpperCase())
704
726
  }));
705
727
  }
706
- function Xe({ config: e, onChange: t, strings: n = X }) {
707
- 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 = [
708
765
  "sunday",
709
766
  "monday",
710
767
  "tuesday",
@@ -715,7 +772,7 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
715
772
  ].map((e, t) => ({
716
773
  value: String(t),
717
774
  label: n.options[e]
718
- })), c = (e, n, r) => {
775
+ })), l = n.invalidLocale ?? Y.invalidLocale ?? "", u = n.invalidCurrency ?? Y.invalidCurrency ?? "", d = (e, n, r) => {
719
776
  t({
720
777
  ...a,
721
778
  [e]: {
@@ -724,51 +781,51 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
724
781
  }
725
782
  });
726
783
  };
727
- return /* @__PURE__ */ D(p, {
784
+ return /* @__PURE__ */ E(p, {
728
785
  gap: "lg",
729
786
  className: "theme-tweaker--provider-settings",
730
787
  children: [
731
- /* @__PURE__ */ D(p, {
788
+ /* @__PURE__ */ E(p, {
732
789
  gap: "normal",
733
- children: [/* @__PURE__ */ E(l, {
790
+ children: [/* @__PURE__ */ T(c, {
734
791
  type: "inherit",
735
792
  weight: "semibold",
736
793
  children: n.title
737
- }), /* @__PURE__ */ E(l, {
794
+ }), /* @__PURE__ */ T(c, {
738
795
  size: "xs",
739
796
  type: "secondary",
740
797
  children: n.description
741
798
  })]
742
799
  }),
743
- /* @__PURE__ */ D(te, {
800
+ /* @__PURE__ */ E(h, {
744
801
  tone: "info",
745
802
  role: "note",
746
803
  className: "theme-tweaker--provider-boundary",
747
804
  children: [
748
- /* @__PURE__ */ E(Ce, { "aria-hidden": "true" }),
749
- /* @__PURE__ */ E(g, { children: n.boundaryTitle }),
750
- /* @__PURE__ */ E(h, { children: n.boundaryDescription }),
751
- /* @__PURE__ */ D(ee, { children: [
752
- /* @__PURE__ */ E(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, {
753
810
  label: n.summary.locale,
754
811
  value: a.formatting?.locale ?? n.options.default
755
812
  }),
756
- /* @__PURE__ */ E(m, {
813
+ /* @__PURE__ */ T(g, {
757
814
  label: n.summary.currency,
758
815
  value: a.money?.defaultCurrency ?? n.options.default
759
816
  }),
760
- /* @__PURE__ */ E(m, {
817
+ /* @__PURE__ */ T(g, {
761
818
  label: n.summary.controls,
762
819
  value: n.options[a.density?.defaultScale ?? "md"] ?? a.density?.defaultScale ?? n.options.md
763
820
  }),
764
- /* @__PURE__ */ E(m, {
821
+ /* @__PURE__ */ T(g, {
765
822
  label: n.summary.cards,
766
823
  value: n.options[a.card?.defaultSurface ?? "card"] ?? a.card?.defaultSurface ?? n.options.default
767
824
  })
768
825
  ] })
769
826
  ]
770
827
  }),
771
- /* @__PURE__ */ E(se, {
828
+ /* @__PURE__ */ T(oe, {
772
829
  multiple: !0,
773
830
  defaultValue: ["regional"],
774
831
  variant: "bordered",
@@ -779,57 +836,59 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
779
836
  value: "regional",
780
837
  title: n.sections.regional.title,
781
838
  description: n.sections.regional.description,
782
- content: /* @__PURE__ */ D("div", {
839
+ content: /* @__PURE__ */ E("div", {
783
840
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
784
841
  children: [
785
- /* @__PURE__ */ E(y, {
842
+ /* @__PURE__ */ T(rt, {
786
843
  label: n.labels.locale,
787
- children: /* @__PURE__ */ E(v, {
788
- value: a.formatting?.locale ?? "",
789
- onChange: (e) => c("formatting", "locale", e.target.value)
790
- })
844
+ value: a.formatting?.locale ?? "",
845
+ error: l,
846
+ isValid: nt,
847
+ onCommit: (e) => d("formatting", "locale", e)
791
848
  }),
792
- /* @__PURE__ */ E(y, {
849
+ /* @__PURE__ */ T(rt, {
793
850
  label: n.labels.defaultCurrency,
794
- children: /* @__PURE__ */ E(v, {
795
- value: a.money?.defaultCurrency ?? "",
796
- onChange: (e) => c("money", "defaultCurrency", e.target.value.toUpperCase())
797
- })
851
+ value: a.money?.defaultCurrency ?? "",
852
+ error: u,
853
+ normalize: it,
854
+ isValid: Z,
855
+ onCommit: (e) => d("money", "defaultCurrency", e)
798
856
  }),
799
- /* @__PURE__ */ E(y, {
857
+ /* @__PURE__ */ T(rt, {
800
858
  label: n.labels.displayCurrency,
801
- children: /* @__PURE__ */ E(v, {
802
- value: a.money?.displayCurrency ?? "",
803
- placeholder: n.displayCurrencyPlaceholder,
804
- onChange: (e) => c("money", "displayCurrency", e.target.value.toUpperCase() || void 0)
805
- })
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)
806
865
  }),
807
- /* @__PURE__ */ E(y, {
866
+ /* @__PURE__ */ T(b, {
808
867
  label: n.labels.moneyFormat,
809
- children: /* @__PURE__ */ E(x, {
868
+ children: /* @__PURE__ */ T(S, {
810
869
  value: a.money?.formatMode,
811
- options: Z([
870
+ options: X([
812
871
  "decimal",
813
872
  "with_code",
814
873
  "with_symbol",
815
874
  "locale_aware"
816
875
  ], n),
817
- onValueChange: (e) => c("money", "formatMode", e)
876
+ onValueChange: (e) => d("money", "formatMode", e)
818
877
  })
819
878
  }),
820
- /* @__PURE__ */ E(y, {
879
+ /* @__PURE__ */ T(b, {
821
880
  label: n.labels.firstDay,
822
- children: /* @__PURE__ */ E(x, {
881
+ children: /* @__PURE__ */ T(S, {
823
882
  value: String(a.dates?.weekStartsOn ?? 1),
824
883
  options: s,
825
- onValueChange: (e) => c("dates", "weekStartsOn", Number(e))
884
+ onValueChange: (e) => d("dates", "weekStartsOn", Number(e))
826
885
  })
827
886
  }),
828
- /* @__PURE__ */ E(y, {
887
+ /* @__PURE__ */ T(b, {
829
888
  label: n.labels.dateFormat,
830
- children: /* @__PURE__ */ E(v, {
889
+ children: /* @__PURE__ */ T(y, {
831
890
  value: a.dates?.format ?? "",
832
- onChange: (e) => c("dates", "format", e.target.value)
891
+ onChange: (e) => d("dates", "format", e.target.value)
833
892
  })
834
893
  })
835
894
  ]
@@ -839,14 +898,14 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
839
898
  value: "content",
840
899
  title: n.sections.content.title,
841
900
  description: n.sections.content.description,
842
- content: /* @__PURE__ */ D("div", {
901
+ content: /* @__PURE__ */ E("div", {
843
902
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
844
903
  children: [
845
- /* @__PURE__ */ E(y, {
904
+ /* @__PURE__ */ T(b, {
846
905
  label: n.labels.textSize,
847
- children: /* @__PURE__ */ E(x, {
906
+ children: /* @__PURE__ */ T(S, {
848
907
  value: a.typography?.defaultTextSize,
849
- options: Z([
908
+ options: X([
850
909
  "xxs",
851
910
  "xs",
852
911
  "pxs",
@@ -855,41 +914,41 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
855
914
  "lg",
856
915
  "xl"
857
916
  ], n),
858
- onValueChange: (e) => c("typography", "defaultTextSize", e)
917
+ onValueChange: (e) => d("typography", "defaultTextSize", e)
859
918
  })
860
919
  }),
861
- /* @__PURE__ */ E(y, {
920
+ /* @__PURE__ */ T(b, {
862
921
  label: n.labels.commentComposer,
863
- children: /* @__PURE__ */ E(x, {
922
+ children: /* @__PURE__ */ T(S, {
864
923
  value: a.comments?.composerPosition,
865
- options: Z(["top", "bottom"], n),
866
- onValueChange: (e) => c("comments", "composerPosition", e)
924
+ options: X(["top", "bottom"], n),
925
+ onValueChange: (e) => d("comments", "composerPosition", e)
867
926
  })
868
927
  }),
869
- /* @__PURE__ */ E(b, {
928
+ /* @__PURE__ */ T(x, {
870
929
  label: n.labels.dualPricing,
871
930
  description: n.dualPricingDescription,
872
931
  value: a.money?.dualPricingEnabled ?? !1,
873
- onValueChange: (e) => c("money", "dualPricingEnabled", e)
932
+ onValueChange: (e) => d("money", "dualPricingEnabled", e)
874
933
  }),
875
- /* @__PURE__ */ E(y, {
934
+ /* @__PURE__ */ T(b, {
876
935
  label: n.labels.dualPricingMode,
877
- children: /* @__PURE__ */ E(x, {
936
+ children: /* @__PURE__ */ T(S, {
878
937
  value: a.money?.displayMode,
879
- options: Z([
938
+ options: X([
880
939
  "default_only",
881
940
  "dual",
882
941
  "dynamic"
883
942
  ], n),
884
- onValueChange: (e) => c("money", "displayMode", e)
943
+ onValueChange: (e) => d("money", "displayMode", e)
885
944
  })
886
945
  }),
887
- /* @__PURE__ */ E(y, {
946
+ /* @__PURE__ */ T(b, {
888
947
  label: n.labels.dualPricingLayout,
889
- children: /* @__PURE__ */ E(x, {
948
+ children: /* @__PURE__ */ T(S, {
890
949
  value: a.money?.dualPricingDisplay,
891
- options: Z(["inline", "lines"], n),
892
- onValueChange: (e) => c("money", "dualPricingDisplay", e)
950
+ options: X(["inline", "lines"], n),
951
+ onValueChange: (e) => d("money", "dualPricingDisplay", e)
893
952
  })
894
953
  })
895
954
  ]
@@ -899,90 +958,90 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
899
958
  value: "components",
900
959
  title: n.sections.components.title,
901
960
  description: n.sections.components.description,
902
- content: /* @__PURE__ */ D("div", {
961
+ content: /* @__PURE__ */ E("div", {
903
962
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
904
963
  children: [
905
- /* @__PURE__ */ E(y, {
964
+ /* @__PURE__ */ T(b, {
906
965
  label: n.labels.componentScale,
907
- children: /* @__PURE__ */ E(x, {
966
+ children: /* @__PURE__ */ T(S, {
908
967
  value: a.density?.defaultScale,
909
968
  options: o,
910
- onValueChange: (e) => c("density", "defaultScale", e)
969
+ onValueChange: (e) => d("density", "defaultScale", e)
911
970
  })
912
971
  }),
913
- /* @__PURE__ */ E(y, {
972
+ /* @__PURE__ */ T(b, {
914
973
  label: n.labels.itemVariant,
915
- children: /* @__PURE__ */ E(x, {
974
+ children: /* @__PURE__ */ T(S, {
916
975
  value: a.item?.defaultVariant,
917
- options: Z([
976
+ options: X([
918
977
  "default",
919
978
  "outline",
920
979
  "muted"
921
980
  ], n),
922
- onValueChange: (e) => c("item", "defaultVariant", e)
981
+ onValueChange: (e) => d("item", "defaultVariant", e)
923
982
  })
924
983
  }),
925
- /* @__PURE__ */ E(y, {
984
+ /* @__PURE__ */ T(b, {
926
985
  label: n.labels.buttonTone,
927
- children: /* @__PURE__ */ E(x, {
986
+ children: /* @__PURE__ */ T(S, {
928
987
  value: a.button?.defaultTone,
929
- options: Z(i, n),
930
- onValueChange: (e) => c("button", "defaultTone", e)
988
+ options: X(i, n),
989
+ onValueChange: (e) => d("button", "defaultTone", e)
931
990
  })
932
991
  }),
933
- /* @__PURE__ */ E(y, {
992
+ /* @__PURE__ */ T(b, {
934
993
  label: n.labels.buttonStyle,
935
- children: /* @__PURE__ */ E(x, {
994
+ children: /* @__PURE__ */ T(S, {
936
995
  value: a.button?.defaultButtonStyle,
937
- options: Z([
996
+ options: X([
938
997
  "solid",
939
998
  "outline",
940
999
  "ghost"
941
1000
  ], n),
942
- onValueChange: (e) => c("button", "defaultButtonStyle", e)
1001
+ onValueChange: (e) => d("button", "defaultButtonStyle", e)
943
1002
  })
944
1003
  }),
945
- /* @__PURE__ */ E(y, {
1004
+ /* @__PURE__ */ T(b, {
946
1005
  label: n.labels.badgeTone,
947
- children: /* @__PURE__ */ E(x, {
1006
+ children: /* @__PURE__ */ T(S, {
948
1007
  value: a.badge?.defaultTone,
949
- options: Z(i, n),
950
- onValueChange: (e) => c("badge", "defaultTone", e)
1008
+ options: X(i, n),
1009
+ onValueChange: (e) => d("badge", "defaultTone", e)
951
1010
  })
952
1011
  }),
953
- /* @__PURE__ */ E(y, {
1012
+ /* @__PURE__ */ T(b, {
954
1013
  label: n.labels.cardSurface,
955
- children: /* @__PURE__ */ E(x, {
1014
+ children: /* @__PURE__ */ T(S, {
956
1015
  value: a.card?.defaultSurface,
957
- options: Z([
1016
+ options: X([
958
1017
  "card",
959
1018
  "flat",
960
1019
  "framed"
961
1020
  ], n),
962
- onValueChange: (e) => c("card", "defaultSurface", e)
1021
+ onValueChange: (e) => d("card", "defaultSurface", e)
963
1022
  })
964
1023
  }),
965
- /* @__PURE__ */ E(y, {
1024
+ /* @__PURE__ */ T(b, {
966
1025
  label: n.labels.spinner,
967
- children: /* @__PURE__ */ E(x, {
1026
+ children: /* @__PURE__ */ T(S, {
968
1027
  value: a.spinner?.defaultVariant,
969
- options: Z([
1028
+ options: X([
970
1029
  "default",
971
1030
  "shimmer",
972
1031
  "progress"
973
1032
  ], n),
974
- onValueChange: (e) => c("spinner", "defaultVariant", e)
1033
+ onValueChange: (e) => d("spinner", "defaultVariant", e)
975
1034
  })
976
1035
  }),
977
- /* @__PURE__ */ E(b, {
1036
+ /* @__PURE__ */ T(x, {
978
1037
  label: n.labels.cardDivider,
979
1038
  value: a.card?.defaultHeaderDivider ?? !1,
980
- onValueChange: (e) => c("card", "defaultHeaderDivider", e)
1039
+ onValueChange: (e) => d("card", "defaultHeaderDivider", e)
981
1040
  }),
982
- /* @__PURE__ */ E(b, {
983
- label: n.labels.cardFooterDivider ?? X.labels.cardFooterDivider,
1041
+ /* @__PURE__ */ T(x, {
1042
+ label: n.labels.cardFooterDivider ?? Y.labels.cardFooterDivider,
984
1043
  value: a.card?.defaultFooterDivider ?? !0,
985
- onValueChange: (e) => c("card", "defaultFooterDivider", e)
1044
+ onValueChange: (e) => d("card", "defaultFooterDivider", e)
986
1045
  })
987
1046
  ]
988
1047
  })
@@ -991,14 +1050,14 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
991
1050
  value: "toasts",
992
1051
  title: n.sections.toasts.title,
993
1052
  description: n.sections.toasts.description,
994
- content: /* @__PURE__ */ D("div", {
1053
+ content: /* @__PURE__ */ E("div", {
995
1054
  className: "grid min-w-0 grid-cols-1 gap-space-md @2xl/theme-tweaker-controls:grid-cols-2",
996
1055
  children: [
997
- /* @__PURE__ */ E(y, {
1056
+ /* @__PURE__ */ T(b, {
998
1057
  label: n.labels.toastPosition,
999
- children: /* @__PURE__ */ E(x, {
1058
+ children: /* @__PURE__ */ T(S, {
1000
1059
  value: a.toast?.position,
1001
- options: Z([
1060
+ options: X([
1002
1061
  "top-right",
1003
1062
  "top-left",
1004
1063
  "top-center",
@@ -1006,50 +1065,50 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
1006
1065
  "bottom-left",
1007
1066
  "bottom-center"
1008
1067
  ], n),
1009
- onValueChange: (e) => c("toast", "position", e)
1068
+ onValueChange: (e) => d("toast", "position", e)
1010
1069
  })
1011
1070
  }),
1012
- /* @__PURE__ */ E(y, {
1071
+ /* @__PURE__ */ T(b, {
1013
1072
  label: n.labels.toastTheme,
1014
- children: /* @__PURE__ */ E(x, {
1073
+ children: /* @__PURE__ */ T(S, {
1015
1074
  value: a.toast?.theme,
1016
- options: Z([
1075
+ options: X([
1017
1076
  "light",
1018
1077
  "dark",
1019
1078
  "system"
1020
1079
  ], n),
1021
- onValueChange: (e) => c("toast", "theme", e)
1080
+ onValueChange: (e) => d("toast", "theme", e)
1022
1081
  })
1023
1082
  }),
1024
- /* @__PURE__ */ E(y, {
1083
+ /* @__PURE__ */ T(b, {
1025
1084
  label: n.labels.toastDuration,
1026
- children: /* @__PURE__ */ E(v, {
1085
+ children: /* @__PURE__ */ T(y, {
1027
1086
  type: "number",
1028
1087
  min: 1e3,
1029
1088
  step: 500,
1030
1089
  value: String(a.toast?.duration ?? 5e3),
1031
- onChange: (e) => c("toast", "duration", Number(e.target.value))
1090
+ onChange: (e) => d("toast", "duration", Number(e.target.value))
1032
1091
  })
1033
1092
  }),
1034
- /* @__PURE__ */ E(y, {
1093
+ /* @__PURE__ */ T(b, {
1035
1094
  label: n.labels.visibleToasts,
1036
- children: /* @__PURE__ */ E(v, {
1095
+ children: /* @__PURE__ */ T(y, {
1037
1096
  type: "number",
1038
1097
  min: 1,
1039
1098
  max: 10,
1040
1099
  value: String(a.toast?.visibleToasts ?? 4),
1041
- onChange: (e) => c("toast", "visibleToasts", Number(e.target.value))
1100
+ onChange: (e) => d("toast", "visibleToasts", Number(e.target.value))
1042
1101
  })
1043
1102
  }),
1044
- /* @__PURE__ */ E(b, {
1103
+ /* @__PURE__ */ T(x, {
1045
1104
  label: n.labels.closeButton,
1046
1105
  value: a.toast?.closeButton ?? !0,
1047
- onValueChange: (e) => c("toast", "closeButton", e)
1106
+ onValueChange: (e) => d("toast", "closeButton", e)
1048
1107
  }),
1049
- /* @__PURE__ */ E(b, {
1108
+ /* @__PURE__ */ T(x, {
1050
1109
  label: n.labels.richColors,
1051
1110
  value: a.toast?.richColors ?? !1,
1052
- onValueChange: (e) => c("toast", "richColors", e)
1111
+ onValueChange: (e) => d("toast", "richColors", e)
1053
1112
  })
1054
1113
  ]
1055
1114
  })
@@ -1061,7 +1120,7 @@ function Xe({ config: e, onChange: t, strings: n = X }) {
1061
1120
  }
1062
1121
  //#endregion
1063
1122
  //#region src/components/features/theme-tweaker/theme-tweaker.strings.ts
1064
- var Ze = {
1123
+ var Q = {
1065
1124
  title: "Theme tweaker",
1066
1125
  description: "Edit the public theme contract, calculate coherent recipes, and export complete CSS plus root display defaults.",
1067
1126
  searchLabel: "Search variables",
@@ -1072,8 +1131,6 @@ var Ze = {
1072
1131
  groupNavigationLabel: "Theme categories",
1073
1132
  previousGroup: "Previous categories",
1074
1133
  nextGroup: "Next categories",
1075
- groupNavigationTitle: "Theme controls",
1076
- groupNavigationDescription: "Choose one contract area to edit.",
1077
1134
  sharedScope: "Shared",
1078
1135
  mixedScope: "Mixed scope",
1079
1136
  variableCount: "Variables: {{count}}",
@@ -1083,9 +1140,6 @@ var Ze = {
1083
1140
  reset: "Reset overrides",
1084
1141
  copy: "Copy CSS",
1085
1142
  copyProvider: "Copy provider config",
1086
- copyOverrides: "Copy override-only CSS",
1087
- exportProvider: "Export provider config",
1088
- exportOptions: "More export options",
1089
1143
  export: "Export",
1090
1144
  exportPending: "Downloading…",
1091
1145
  exportDialogTitle: "Export theme",
@@ -1096,6 +1150,11 @@ var Ze = {
1096
1150
  copiedStatus: "Copied to the clipboard.",
1097
1151
  exportedStatus: "File downloaded.",
1098
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.",
1099
1158
  emptySearch: "No public theme variables match this search.",
1100
1159
  inheritValue: "Inherit package value",
1101
1160
  resetVariable: "Reset variable",
@@ -1104,8 +1163,6 @@ var Ze = {
1104
1163
  changedCount: "Overrides: {{count}}",
1105
1164
  cssOutputLabel: "Complete theme CSS",
1106
1165
  cssOutputDescription: "A standalone light, dark, typography, shape, and structure contract for every public variable.",
1107
- overrideOutputLabel: "Override-only CSS",
1108
- overrideOutputDescription: "The compact alternative containing only values changed in this session.",
1109
1166
  providerOutputLabel: "UIProvider config",
1110
1167
  providerOutputDescription: "Mount-once display defaults for the application root.",
1111
1168
  autoPalette: "Derive supporting colors",
@@ -1127,7 +1184,7 @@ var Ze = {
1127
1184
  previewSuccess: "Healthy",
1128
1185
  previewWarning: "Review",
1129
1186
  previewContract: "CSS variables",
1130
- providerSettings: X,
1187
+ providerSettings: Y,
1131
1188
  groups: {
1132
1189
  colors: "Colors",
1133
1190
  states: "States",
@@ -1166,10 +1223,10 @@ var Ze = {
1166
1223
  };
1167
1224
  //#endregion
1168
1225
  //#region src/components/features/theme-tweaker/theme-tweaker.recipes.ts
1169
- function Q(e, t, n) {
1226
+ function $(e, t, n) {
1170
1227
  return Math.min(n, Math.max(t, e));
1171
1228
  }
1172
- function $(e, t) {
1229
+ function ot(e, t) {
1173
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;
1174
1231
  if (r) return [
1175
1232
  0,
@@ -1183,7 +1240,7 @@ function $(e, t) {
1183
1240
  let i = e.match(/oklch\(\s*([\d.]+)(%)?/i), a = Number.parseFloat(i?.[1] ?? "NaN") / (i?.[2] ? 100 : 1);
1184
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)";
1185
1242
  }
1186
- function Qe({ primary: e, mode: t = "light" }) {
1243
+ function st({ primary: e, mode: t = "light" }) {
1187
1244
  let n = t === "dark", r = (e, t) => `color-mix(in oklab, ${n ? t : e} 94%, var(--primary))`;
1188
1245
  return {
1189
1246
  "--primary": e,
@@ -1197,7 +1254,7 @@ function Qe({ primary: e, mode: t = "light" }) {
1197
1254
  "--warning-accent": r("oklch(0.53 0.11 65)", "oklch(0.81 0.12 75)"),
1198
1255
  "--destructive": r("oklch(0.55 0.17 25)", "oklch(0.74 0.14 25)"),
1199
1256
  "--destructive-foreground": n ? "oklch(0.23 0.035 25)" : "oklch(0.985 0 0)",
1200
- "--primary-foreground": $(e, t),
1257
+ "--primary-foreground": ot(e, t),
1201
1258
  "--secondary": "color-mix(in oklab, var(--primary) 10%, var(--background))",
1202
1259
  "--secondary-foreground": "var(--foreground)",
1203
1260
  "--muted": "color-mix(in oklab, var(--primary) 7%, var(--background))",
@@ -1211,6 +1268,9 @@ function Qe({ primary: e, mode: t = "light" }) {
1211
1268
  "--chart-3": r("oklch(0.56 0.15 285)", "oklch(0.76 0.15 285)"),
1212
1269
  "--chart-4": r("oklch(0.58 0.14 330)", "oklch(0.76 0.14 330)"),
1213
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)"),
1214
1274
  "--sidebar-primary": "var(--primary)",
1215
1275
  "--sidebar-primary-foreground": "var(--primary-foreground)",
1216
1276
  "--sidebar-accent": "var(--accent)",
@@ -1219,13 +1279,13 @@ function Qe({ primary: e, mode: t = "light" }) {
1219
1279
  "--sidebar-ring": "var(--ring)"
1220
1280
  };
1221
1281
  }
1222
- var $e = {
1282
+ var ct = {
1223
1283
  xxs: .75,
1224
1284
  xs: .75,
1225
1285
  pxs: .8125,
1226
1286
  sm: .875,
1227
1287
  base: 1
1228
- }, et = [
1288
+ }, lt = [
1229
1289
  "lg",
1230
1290
  "xl",
1231
1291
  "2xl",
@@ -1237,19 +1297,19 @@ var $e = {
1237
1297
  "8xl",
1238
1298
  "9xl"
1239
1299
  ];
1240
- function tt({ baseSize: e, ratio: t = 1.2 }) {
1241
- let n = Q(e, 14, 20), r = Q(t, 1.125, 1.333), i = {};
1242
- for (let [e, t] of Object.entries($e)) {
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)) {
1243
1303
  let r = Math.max(12, n * t);
1244
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))}`;
1245
1305
  }
1246
- return et.forEach((e, t) => {
1306
+ return lt.forEach((e, t) => {
1247
1307
  let a = n * r ** (t + 1);
1248
- 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))}`;
1249
1309
  }), i;
1250
1310
  }
1251
- function nt({ intensity: e }) {
1252
- 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));
1253
1313
  return {
1254
1314
  "--shadow-2xs": `0 1px 2px 0 oklch(0 0 0 / ${n(.06)})`,
1255
1315
  "--shadow-xs": `0 1px 3px 0 oklch(0 0 0 / ${n(.07)})`,
@@ -1263,28 +1323,28 @@ function nt({ intensity: e }) {
1263
1323
  }
1264
1324
  //#endregion
1265
1325
  //#region src/components/features/theme-tweaker/theme-tweaker.tsx
1266
- var rt = [
1326
+ var ft = [
1267
1327
  "colors",
1268
1328
  "states",
1269
1329
  "typography",
1270
1330
  "shape",
1271
1331
  "structure",
1272
1332
  "defaults"
1273
- ], it = {
1274
- colors: O,
1275
- states: k,
1276
- typography: je,
1277
- shape: ke,
1278
- structure: we,
1279
- defaults: Oe
1280
- };
1281
- function at({ title: e, description: t, code: n, copyLabel: r, downloadLabel: i, onCopy: a, onDownload: o, downloading: s = !1 }) {
1282
- let f = C();
1283
- return /* @__PURE__ */ D(p, {
1284
- render: /* @__PURE__ */ E("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 }),
1285
1345
  gap: "md",
1286
1346
  className: "theme-tweaker--export-artifact min-w-0",
1287
- children: [/* @__PURE__ */ D(p, {
1347
+ children: [/* @__PURE__ */ E(p, {
1288
1348
  direction: {
1289
1349
  base: "vertical",
1290
1350
  sm: "horizontal"
@@ -1296,150 +1356,153 @@ function at({ title: e, description: t, code: n, copyLabel: r, downloadLabel: i,
1296
1356
  justify: { sm: "between" },
1297
1357
  gap: "md",
1298
1358
  className: "theme-tweaker--export-artifact-header",
1299
- children: [/* @__PURE__ */ D(p, {
1359
+ children: [/* @__PURE__ */ E(p, {
1300
1360
  gap: "dense",
1301
1361
  className: "min-w-0",
1302
- children: [/* @__PURE__ */ E(u, {
1362
+ children: [/* @__PURE__ */ T(l, {
1303
1363
  className: "text-inherit",
1304
1364
  id: f,
1305
1365
  tag: "h3",
1306
1366
  children: e
1307
- }), /* @__PURE__ */ E(l, {
1367
+ }), /* @__PURE__ */ T(c, {
1308
1368
  size: "xs",
1309
1369
  type: "secondary",
1310
1370
  children: t
1311
1371
  })]
1312
- }), /* @__PURE__ */ D(p, {
1372
+ }), /* @__PURE__ */ E(p, {
1313
1373
  direction: "horizontal",
1314
1374
  gap: "xs",
1315
1375
  align: "center",
1316
1376
  wrap: !0,
1317
1377
  className: "theme-tweaker--export-artifact-actions sm:shrink-0",
1318
- children: [/* @__PURE__ */ E(c, {
1378
+ children: [/* @__PURE__ */ T(d, {
1319
1379
  type: "button",
1320
1380
  size: "sm",
1321
1381
  tone: "secondary",
1322
1382
  buttonStyle: "outline",
1323
- icon: xe,
1383
+ icon: Ce,
1324
1384
  onClick: a,
1325
1385
  children: r
1326
- }), /* @__PURE__ */ E(c, {
1386
+ }), /* @__PURE__ */ T(d, {
1327
1387
  tone: "primary",
1328
1388
  type: "button",
1329
1389
  size: "sm",
1330
- icon: Se,
1390
+ icon: we,
1331
1391
  loading: s,
1332
1392
  onClick: o,
1333
1393
  children: i
1334
1394
  })]
1335
1395
  })]
1336
- }), /* @__PURE__ */ E("pre", {
1396
+ }), /* @__PURE__ */ T("pre", {
1337
1397
  tabIndex: 0,
1338
1398
  "aria-label": e,
1339
- 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`,
1340
- children: /* @__PURE__ */ E("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 })
1341
1401
  })]
1342
1402
  });
1343
1403
  }
1344
- function ot(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) {
1345
1411
  let n = Number.parseFloat(e);
1346
1412
  return Number.isFinite(n) ? Math.min(t.max, Math.max(t.min, n)) : t.min;
1347
1413
  }
1348
- function st(e, t) {
1414
+ function xt(e, t) {
1349
1415
  let n = t.decimalPlaces ?? 3;
1350
1416
  return `${Number(e.toFixed(n))}${t.unit ?? ""}`;
1351
1417
  }
1352
- function ct(e, t) {
1418
+ function St(e, t) {
1353
1419
  return e === "document" ? document.documentElement : e === "self" || e === null ? t : typeof e == "function" ? e() : e ?? t;
1354
1420
  }
1355
- function lt(e, t) {
1356
- if (typeof document > "u" || typeof window > "u") return M(e);
1357
- 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, {
1358
- value: n.style.getPropertyValue(e),
1359
- priority: n.style.getPropertyPriority(e)
1360
- }])), s = (t) => {
1361
- for (let e of r) n.style.removeProperty(e);
1362
- n.classList.toggle("light", t === "light"), n.classList.toggle("dark", t === "dark");
1363
- for (let [r, i] of Object.entries(B(e, t))) typeof i == "string" && n.style.setProperty(r, i);
1364
- let i = window.getComputedStyle(n);
1365
- return Object.fromEntries(r.map((e) => [e, i.getPropertyValue(e).trim()]).filter((e) => e[1].length > 0));
1366
- };
1367
- try {
1368
- let n = s("light"), r = s("dark"), i = new Set(t.filter((e) => e.scope === "shared").map((e) => e.name));
1369
- return M({
1370
- mode: e.mode,
1371
- shared: Object.fromEntries(Object.entries(n).filter(([e]) => i.has(e))),
1372
- light: Object.fromEntries(Object.entries(n).filter(([e]) => !i.has(e))),
1373
- dark: Object.fromEntries(Object.entries(r).filter(([e]) => !i.has(e)))
1374
- });
1375
- } finally {
1376
- for (let e of r) {
1377
- let t = o.get(e);
1378
- 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();
1379
1433
  }
1380
- n.classList.toggle("light", i), n.classList.toggle("dark", a);
1381
- }
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
+ });
1382
1441
  }
1383
- function ut({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, strings: o }) {
1384
- let s = `theme-variable-${C().replace(/:/g, "")}`, u = /* @__PURE__ */ E(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, {
1385
1444
  type: "button",
1386
1445
  iconOnly: !0,
1387
1446
  tone: "secondary",
1388
1447
  buttonStyle: "ghost",
1389
- icon: Ee,
1390
- withTooltip: o.resetVariable,
1391
- "aria-label": `${o.resetVariable}: ${e.label}`,
1448
+ icon: ke,
1449
+ withTooltip: s.resetVariable,
1450
+ "aria-label": `${s.resetVariable}: ${e.label}`,
1392
1451
  disabled: !t,
1393
- onClick: i,
1394
- children: /* @__PURE__ */ E(l, {
1452
+ onClick: o,
1453
+ children: /* @__PURE__ */ T(c, {
1395
1454
  tag: "span",
1396
1455
  size: "inherit",
1397
1456
  className: "sr-only",
1398
- children: o.resetVariable
1457
+ children: s.resetVariable
1399
1458
  })
1400
- }), d = e.placeholder ?? n ?? o.inheritValue, f;
1401
- if (e.kind === "color") f = /* @__PURE__ */ D(p, {
1459
+ }), g = e.placeholder ?? n ?? s.inheritValue, _;
1460
+ if (e.kind === "color") _ = /* @__PURE__ */ E(p, {
1402
1461
  direction: "horizontal",
1403
1462
  gap: "xs",
1404
1463
  align: "center",
1405
1464
  wrap: !1,
1406
- children: [/* @__PURE__ */ E(ue, {
1407
- id: s,
1465
+ children: [/* @__PURE__ */ T(le, {
1466
+ id: l,
1408
1467
  "aria-label": e.label,
1409
1468
  "aria-description": e.description,
1469
+ "aria-describedby": m,
1470
+ invalid: f,
1410
1471
  value: t,
1411
1472
  previewValue: t || n || `var(${e.name})`,
1412
- pickerAriaLabel: a(o.chooseColor, { label: e.label }),
1413
- onValueChange: r,
1414
- placeholder: d,
1473
+ pickerAriaLabel: a(s.chooseColor, { label: e.label }),
1474
+ onValueChange: i,
1475
+ placeholder: g,
1415
1476
  className: "min-w-0 flex-1"
1416
- }), u]
1477
+ }), h]
1417
1478
  });
1418
1479
  else if (e.control?.type === "range") {
1419
- let i = ot(t || n, e.control);
1420
- f = /* @__PURE__ */ D(p, {
1480
+ let r = bt(t || n, e.control);
1481
+ _ = /* @__PURE__ */ E(p, {
1421
1482
  gap: "sm",
1422
- children: [/* @__PURE__ */ E(de, {
1423
- id: `${s}-slider`,
1424
- "aria-label": a(o.adjustVariable, { label: e.label }),
1425
- value: i,
1483
+ children: [/* @__PURE__ */ T(ue, {
1484
+ id: `${l}-slider`,
1485
+ "aria-label": a(s.adjustVariable, { label: e.label }),
1486
+ value: r,
1426
1487
  min: e.control.min,
1427
1488
  max: e.control.max,
1428
1489
  step: e.control.step,
1429
- onValueChange: (t) => r(st(t, e.control))
1430
- }), /* @__PURE__ */ D(p, {
1490
+ onValueChange: (t) => i(xt(t, e.control))
1491
+ }), /* @__PURE__ */ E(p, {
1431
1492
  direction: "horizontal",
1432
1493
  gap: "xs",
1433
1494
  align: "center",
1434
1495
  wrap: !1,
1435
- children: [/* @__PURE__ */ E(p, {
1496
+ children: [/* @__PURE__ */ T(p, {
1436
1497
  gap: "none",
1437
1498
  className: "w-28 max-w-full shrink-0",
1438
- children: /* @__PURE__ */ E(fe, {
1439
- id: s,
1499
+ children: /* @__PURE__ */ T(de, {
1500
+ id: l,
1440
1501
  "aria-label": e.label,
1441
1502
  "aria-description": e.description,
1442
- value: String(i),
1503
+ "aria-describedby": m,
1504
+ invalid: f,
1505
+ value: String(r),
1443
1506
  decimalPlaces: e.control.decimalPlaces ?? 3,
1444
1507
  min: e.control.min,
1445
1508
  max: e.control.max,
@@ -1448,64 +1511,68 @@ function ut({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, st
1448
1511
  endAddon: e.control.unit,
1449
1512
  onChange: (t) => {
1450
1513
  let n = t.target.value.trim();
1451
- r(n ? `${n}${e.control?.unit ?? ""}` : "");
1514
+ i(n ? `${n}${e.control?.unit ?? ""}` : "");
1452
1515
  },
1453
1516
  className: "font-mono tabular-nums"
1454
1517
  })
1455
- }), u]
1518
+ }), h]
1456
1519
  })]
1457
1520
  });
1458
- } else f = e.kind === "font" || e.kind === "shadow" ? /* @__PURE__ */ D(p, {
1521
+ } else _ = e.kind === "font" || e.kind === "shadow" ? /* @__PURE__ */ E(p, {
1459
1522
  direction: "horizontal",
1460
1523
  gap: "xs",
1461
1524
  align: "start",
1462
1525
  wrap: !1,
1463
- children: [/* @__PURE__ */ E(p, {
1526
+ children: [/* @__PURE__ */ T(p, {
1464
1527
  className: "min-w-0 flex-1",
1465
- children: /* @__PURE__ */ E(le, {
1466
- id: s,
1528
+ children: /* @__PURE__ */ T(ce, {
1529
+ id: l,
1467
1530
  "aria-label": e.label,
1468
1531
  "aria-description": e.description,
1532
+ "aria-describedby": m,
1533
+ invalid: f,
1469
1534
  value: t,
1470
- onChange: (e) => r(e.target.value),
1471
- placeholder: d,
1535
+ onChange: (e) => i(e.target.value),
1536
+ placeholder: g,
1472
1537
  minRows: 2,
1473
1538
  autoResize: !0,
1474
1539
  className: "font-mono"
1475
1540
  })
1476
- }), u]
1477
- }) : /* @__PURE__ */ D(p, {
1541
+ }), h]
1542
+ }) : /* @__PURE__ */ E(p, {
1478
1543
  direction: "horizontal",
1479
1544
  gap: "xs",
1480
1545
  align: "center",
1481
1546
  wrap: !1,
1482
- children: [/* @__PURE__ */ E(v, {
1483
- id: s,
1547
+ children: [/* @__PURE__ */ T(y, {
1548
+ id: l,
1484
1549
  "aria-label": e.label,
1485
1550
  "aria-description": e.description,
1551
+ "aria-describedby": m,
1552
+ invalid: f,
1486
1553
  value: t,
1487
- onChange: (e) => r(e.target.value),
1488
- placeholder: d,
1554
+ onChange: (e) => i(e.target.value),
1555
+ placeholder: g,
1489
1556
  className: "min-w-0 flex-1 font-mono"
1490
- }), u]
1557
+ }), h]
1491
1558
  });
1492
- return /* @__PURE__ */ E(y, {
1493
- label: /* @__PURE__ */ D(p, {
1494
- render: /* @__PURE__ */ E("span", {}),
1559
+ return /* @__PURE__ */ T(b, {
1560
+ label: /* @__PURE__ */ E(p, {
1561
+ render: /* @__PURE__ */ T("span", {}),
1495
1562
  direction: "horizontal",
1496
1563
  gap: "sm",
1497
1564
  align: "baseline",
1498
1565
  justify: "between",
1499
1566
  wrap: !0,
1500
1567
  className: "min-w-0 flex-1",
1501
- children: [/* @__PURE__ */ E(l, {
1568
+ children: [/* @__PURE__ */ T(c, {
1502
1569
  type: "inherit",
1503
1570
  tag: "span",
1504
1571
  size: "inherit",
1505
1572
  weight: "medium",
1506
1573
  className: "min-w-0",
1507
1574
  children: e.label
1508
- }), /* @__PURE__ */ E(oe, {
1575
+ }), /* @__PURE__ */ T(ae, {
1509
1576
  size: "xs",
1510
1577
  type: "secondary",
1511
1578
  weight: "regular",
@@ -1513,52 +1580,54 @@ function ut({ field: e, value: t, effectiveValue: n, onChange: r, onReset: i, st
1513
1580
  children: e.name
1514
1581
  })]
1515
1582
  }),
1516
- htmlFor: s,
1583
+ htmlFor: l,
1584
+ error: r,
1585
+ supportingTextId: u,
1517
1586
  className: "theme-tweaker--field min-w-0 border-t border-border/60 py-row-y first:border-t-0",
1518
- children: f
1587
+ children: _
1519
1588
  });
1520
1589
  }
1521
- function dt({ strings: e }) {
1522
- return /* @__PURE__ */ E(ne, {
1590
+ function Tt({ strings: e }) {
1591
+ return /* @__PURE__ */ T(te, {
1523
1592
  title: e.previewTitle,
1524
1593
  description: e.previewDescription,
1525
1594
  className: "theme-tweaker--preview-card",
1526
- children: /* @__PURE__ */ D(p, {
1595
+ children: /* @__PURE__ */ E(p, {
1527
1596
  gap: "lg",
1528
1597
  children: [
1529
- /* @__PURE__ */ D(p, {
1598
+ /* @__PURE__ */ E(p, {
1530
1599
  direction: "horizontal",
1531
1600
  gap: "sm",
1532
1601
  wrap: !0,
1533
1602
  children: [
1534
- /* @__PURE__ */ E(_, {
1603
+ /* @__PURE__ */ T(v, {
1535
1604
  tone: "success",
1536
1605
  children: e.previewSuccess
1537
1606
  }),
1538
- /* @__PURE__ */ E(_, {
1607
+ /* @__PURE__ */ T(v, {
1539
1608
  tone: "warning",
1540
1609
  children: e.previewWarning
1541
1610
  }),
1542
- /* @__PURE__ */ E(_, {
1611
+ /* @__PURE__ */ T(v, {
1543
1612
  tone: "secondary",
1544
1613
  children: e.previewContract
1545
1614
  })
1546
1615
  ]
1547
1616
  }),
1548
- /* @__PURE__ */ E(pe, {
1617
+ /* @__PURE__ */ T(fe, {
1549
1618
  variant: "muted",
1550
1619
  padding: "default",
1551
- media: /* @__PURE__ */ E(O, {}),
1620
+ media: /* @__PURE__ */ T(Oe, {}),
1552
1621
  mediaVariant: "icon",
1553
1622
  title: e.previewItemTitle,
1554
1623
  description: e.previewItemDescription,
1555
- trailing: /* @__PURE__ */ E(be, { className: "size-icon text-success" })
1624
+ trailing: /* @__PURE__ */ T(Se, { className: "size-icon text-success" })
1556
1625
  }),
1557
- /* @__PURE__ */ E(y, {
1626
+ /* @__PURE__ */ T(b, {
1558
1627
  label: e.previewFieldLabel,
1559
- children: /* @__PURE__ */ E(v, { placeholder: e.previewFieldPlaceholder })
1628
+ children: /* @__PURE__ */ T(y, { placeholder: e.previewFieldPlaceholder })
1560
1629
  }),
1561
- /* @__PURE__ */ E(c, {
1630
+ /* @__PURE__ */ T(d, {
1562
1631
  tone: "primary",
1563
1632
  type: "button",
1564
1633
  children: e.previewAction
@@ -1567,60 +1636,60 @@ function dt({ strings: e }) {
1567
1636
  })
1568
1637
  });
1569
1638
  }
1570
- function ft(e, t, n) {
1639
+ function Et(e, t, n) {
1571
1640
  let r = t.scope === "shared" ? "shared" : e.mode, i = { ...e[r] };
1572
1641
  return n.trim().length === 0 ? delete i[t.name] : i[t.name] = n, {
1573
1642
  ...e,
1574
1643
  [r]: i
1575
1644
  };
1576
1645
  }
1577
- var pt = S(function({ value: e, defaultValue: t, onValueChange: n, onModeChange: r, fields: i = Ye, target: d = "self", apply: m = !0, manageModeClass: ee = !0, preview: h, fileName: te = "admin-ui-theme.css", config: g, defaultConfig: oe, onConfigChange: ce, providerFileName: le = "admin-ui.config.ts", showIntro: x = !0, selectors: ue, onExport: fe, onCopy: pe, onReset: S, onError: C, actionsSlot: be, strings: xe, className: Se, ...Ce }, we) {
1578
- let O = o(Ze, xe), [Oe, ke] = T(() => M(t)), k = w(() => e ? M(e) : Oe, [Oe, e]), [je, Me] = T(() => R(oe)), A = w(() => R(g ?? je), [g, je]), [j, Ne] = T("colors"), [N, P] = T(""), [F, I] = T(!0), [L, Pe] = T(16), [z, Ie] = T(1.2), [Be, He] = T(.8), [H, U] = T("idle"), W = ie(), [Ue, We] = T(!1), G = ye(null);
1579
- ve(we, () => G.current), Ve({
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({
1580
1649
  apply: m,
1581
- manageModeClass: ee,
1582
- selfRef: G,
1583
- target: d,
1584
- theme: k
1650
+ manageModeClass: h,
1651
+ selfRef: H,
1652
+ target: u,
1653
+ theme: O
1585
1654
  });
1586
- let [K, Ge] = T(() => M(k)), [Ke, qe] = T({});
1587
- _e(() => {
1655
+ let [U, Ze] = w(() => j(O)), [W, Qe] = w({});
1656
+ ve(() => {
1588
1657
  if (typeof window > "u") return;
1589
1658
  let e = window.setTimeout(() => {
1590
- let e = ct(d, G.current);
1659
+ let e = St(u, H.current);
1591
1660
  if (!e) return;
1592
1661
  let t = window.getComputedStyle(e);
1593
- qe(Object.fromEntries(i.map((e) => [e.name, t.getPropertyValue(e.name).trim()]))), Ge(lt(k, i));
1594
- }, 0);
1662
+ Qe(Object.fromEntries(i.map((e) => [e.name, t.getPropertyValue(e.name).trim()]))), Ze(Ct(O, i, e));
1663
+ }, _t);
1595
1664
  return () => window.clearTimeout(e);
1596
1665
  }, [
1597
1666
  m,
1598
1667
  i,
1599
- d,
1600
- k
1668
+ u,
1669
+ O
1601
1670
  ]);
1602
- let { artifact: q, error: J } = w(() => {
1671
+ let { artifact: G, error: K } = C(() => {
1603
1672
  try {
1604
- let e = M({
1605
- mode: k.mode,
1673
+ let e = j({
1674
+ mode: O.mode,
1606
1675
  shared: {
1607
- ...K.shared,
1608
- ...k.shared
1676
+ ...U.shared,
1677
+ ...O.shared
1609
1678
  },
1610
1679
  light: {
1611
- ...K.light,
1612
- ...k.light
1680
+ ...U.light,
1681
+ ...O.light
1613
1682
  },
1614
1683
  dark: {
1615
- ...K.dark,
1616
- ...k.dark
1684
+ ...U.dark,
1685
+ ...O.dark
1617
1686
  }
1618
1687
  });
1619
1688
  return {
1620
- artifact: Le(k, te, { selectors: ue }, {
1689
+ artifact: We(O, _, { selectors: le }, {
1621
1690
  resolvedTheme: e,
1622
- providerConfig: A,
1623
- providerFileName: le
1691
+ providerConfig: Ie,
1692
+ providerFileName: ce
1624
1693
  }),
1625
1694
  error: null
1626
1695
  };
@@ -1631,23 +1700,27 @@ var pt = S(function({ value: e, defaultValue: t, onValueChange: n, onModeChange:
1631
1700
  };
1632
1701
  }
1633
1702
  }, [
1634
- te,
1635
- A,
1703
+ _,
1704
+ Ie,
1705
+ ce,
1706
+ U,
1636
1707
  le,
1637
- K,
1638
- ue,
1639
- k
1640
- ]), Je = q?.cssText ?? `/* ${O.invalidTheme} */\n`, Y = w(() => Fe(k), [k]), X = N.trim().toLowerCase(), Z = w(() => 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 || [
1641
1714
  e.name,
1642
1715
  e.label,
1643
1716
  e.description
1644
- ].filter(Boolean).some((e) => e?.toLowerCase().includes(X))), [
1717
+ ].filter(Boolean).some((e) => e?.toLowerCase().includes(Y))), [
1645
1718
  i,
1646
- j,
1647
- X
1648
- ]), Q = w(() => {
1719
+ k,
1720
+ Y
1721
+ ]), nt = C(() => {
1649
1722
  let e = /* @__PURE__ */ new Map();
1650
- for (let t of Z) {
1723
+ for (let t of X) {
1651
1724
  let n = `${t.group}:${t.section}`, r = e.get(n);
1652
1725
  r ? r.fields.push(t) : e.set(n, {
1653
1726
  group: t.group,
@@ -1656,438 +1729,455 @@ var pt = S(function({ value: e, defaultValue: t, onValueChange: n, onModeChange:
1656
1729
  });
1657
1730
  }
1658
1731
  return [...e.values()].sort((e, t) => Number(t.section === "brand-actions") - Number(e.section === "brand-actions"));
1659
- }, [Z]), $ = (t) => {
1660
- e === void 0 && ke(t), n?.(t), U("idle");
1661
- }, $e = (e) => {
1662
- g === void 0 && Me(e), ce?.(e), U("idle");
1663
- }, et = (e) => {
1664
- $({
1665
- ...k,
1666
- [k.mode]: {
1667
- ...k[k.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],
1668
1741
  ...e
1669
1742
  }
1670
1743
  });
1671
- }, ot = (e) => {
1672
- $({
1673
- ...k,
1744
+ }, $ = (e) => {
1745
+ Z({
1746
+ ...O,
1674
1747
  shared: {
1675
- ...k.shared,
1748
+ ...O.shared,
1676
1749
  ...e
1677
1750
  }
1678
1751
  });
1679
- }, st = (e) => {
1680
- e !== k.mode && ($({
1681
- ...k,
1752
+ }, ot = (e) => {
1753
+ e !== O.mode && (Z({
1754
+ ...O,
1682
1755
  mode: e
1683
1756
  }), r?.(e));
1684
- }, pt = async () => {
1757
+ }, ct = async () => {
1685
1758
  try {
1686
- if (J) throw J;
1687
- if (We(!0), !q) throw Error(O.invalidTheme);
1688
- fe ? await fe(q) : Re(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");
1689
1762
  } catch (e) {
1690
- C?.(e);
1763
+ z("exportFailed"), Se?.(e);
1691
1764
  } finally {
1692
- We(!1);
1765
+ Ye(!1);
1693
1766
  }
1694
- }, mt = async (e) => {
1767
+ }, lt = async (e) => {
1695
1768
  try {
1696
- if (pe) await pe(e);
1769
+ if (fe) await fe(e);
1697
1770
  else if (typeof navigator < "u" && navigator.clipboard) await navigator.clipboard.writeText(e);
1698
- else throw Error("Clipboard access is unavailable. Provide onCopy for this environment.");
1699
- U("copied");
1771
+ else throw Error(D.clipboardUnavailable ?? Q.clipboardUnavailable);
1772
+ z("copied");
1700
1773
  } catch (e) {
1701
- C?.(e);
1774
+ z("copyFailed"), Se?.(e);
1702
1775
  }
1703
- }, ht = () => {
1776
+ }, bt = () => {
1704
1777
  try {
1705
- if (!q) throw J ?? Error(O.invalidTheme);
1706
- ze({
1707
- fileName: q.providerFileName,
1708
- text: q.providerConfigText,
1778
+ if (!G) throw K ?? Error(D.invalidTheme);
1779
+ Ke({
1780
+ fileName: G.providerFileName,
1781
+ text: G.providerConfigText,
1709
1782
  mimeType: "text/typescript;charset=utf-8"
1710
- }), U("exported");
1783
+ }), z("exported");
1711
1784
  } catch (e) {
1712
- C?.(e);
1785
+ z("exportFailed"), Se?.(e);
1713
1786
  }
1714
- }, gt = () => {
1715
- let e = k, t = M({ mode: k.mode });
1716
- $(t), S?.(e), U("idle");
1717
- }, _t = J ? O.invalidTheme : H === "copied" ? O.copiedStatus : H === "exported" ? O.exportedStatus : null, vt = j === "colors" ? /* @__PURE__ */ E(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, {
1718
1791
  className: "theme-tweaker--recipe",
1719
- label: O.autoPalette,
1720
- description: O.autoPaletteDescription,
1721
- value: F,
1722
- onValueChange: I
1723
- }) : j === "typography" ? /* @__PURE__ */ E(ne, {
1724
- title: O.typeRecipeTitle,
1725
- description: O.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,
1726
1799
  surface: "flat",
1727
1800
  padding: "none",
1728
1801
  className: "theme-tweaker--recipe",
1729
- children: /* @__PURE__ */ D(f, {
1802
+ children: /* @__PURE__ */ E(f, {
1730
1803
  columns: 1,
1731
- gap: re.related,
1804
+ gap: ne.related,
1732
1805
  className: "@2xl/theme-tweaker-controls:grid-cols-2",
1733
- children: [/* @__PURE__ */ E(y, {
1734
- label: O.baseTypeSize,
1735
- children: /* @__PURE__ */ E(de, {
1736
- "aria-label": O.baseTypeSize,
1737
- value: L,
1806
+ children: [/* @__PURE__ */ T(b, {
1807
+ label: D.baseTypeSize,
1808
+ children: /* @__PURE__ */ T(ue, {
1809
+ "aria-label": D.baseTypeSize,
1810
+ value: M,
1738
1811
  min: 14,
1739
1812
  max: 20,
1740
1813
  step: 1,
1741
1814
  onValueChange: (e) => {
1742
- Pe(e), ot(tt({
1815
+ N(e), $(ut({
1743
1816
  baseSize: e,
1744
- ratio: z
1817
+ ratio: P
1745
1818
  }));
1746
1819
  }
1747
1820
  })
1748
- }), /* @__PURE__ */ E(y, {
1749
- label: O.typeRatio,
1750
- children: /* @__PURE__ */ E(de, {
1751
- "aria-label": O.typeRatio,
1752
- value: z,
1821
+ }), /* @__PURE__ */ T(b, {
1822
+ label: D.typeRatio,
1823
+ children: /* @__PURE__ */ T(ue, {
1824
+ "aria-label": D.typeRatio,
1825
+ value: P,
1753
1826
  min: 1.125,
1754
1827
  max: 1.333,
1755
1828
  step: .01,
1756
1829
  onValueChange: (e) => {
1757
- Ie(e), ot(tt({
1758
- baseSize: L,
1830
+ F(e), $(ut({
1831
+ baseSize: M,
1759
1832
  ratio: e
1760
1833
  }));
1761
1834
  }
1762
1835
  })
1763
1836
  })]
1764
1837
  })
1765
- }) : j === "shape" ? /* @__PURE__ */ E(ne, {
1766
- title: O.elevationRecipeTitle,
1767
- description: O.elevationRecipeDescription,
1838
+ }) : k === "shape" ? /* @__PURE__ */ T(te, {
1839
+ title: D.elevationRecipeTitle,
1840
+ description: D.elevationRecipeDescription,
1768
1841
  surface: "flat",
1769
1842
  padding: "none",
1770
1843
  className: "theme-tweaker--recipe",
1771
- children: /* @__PURE__ */ E(y, {
1772
- label: O.elevationIntensity,
1773
- children: /* @__PURE__ */ E(de, {
1774
- "aria-label": O.elevationIntensity,
1775
- value: Be,
1844
+ children: /* @__PURE__ */ T(b, {
1845
+ label: D.elevationIntensity,
1846
+ children: /* @__PURE__ */ T(ue, {
1847
+ "aria-label": D.elevationIntensity,
1848
+ value: Ve,
1776
1849
  min: 0,
1777
1850
  max: 1,
1778
1851
  step: .05,
1779
1852
  onValueChange: (e) => {
1780
- He(e), et(nt({ intensity: e }));
1853
+ He(e), it(dt({ intensity: e }));
1781
1854
  }
1782
1855
  })
1783
1856
  })
1784
- }) : null, yt = /* @__PURE__ */ D("div", {
1785
- 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"),
1786
1859
  children: [
1787
- /* @__PURE__ */ D(p, {
1860
+ /* @__PURE__ */ E(p, {
1788
1861
  gap: "lg",
1789
1862
  className: "theme-tweaker--controls @container/theme-tweaker-controls min-w-0",
1790
- children: [/* @__PURE__ */ D(p, {
1863
+ children: [/* @__PURE__ */ E(p, {
1791
1864
  gap: "lg",
1792
1865
  className: "theme-tweaker--header shrink-0",
1793
1866
  children: [
1794
- x ? /* @__PURE__ */ D(p, {
1867
+ S ? /* @__PURE__ */ E(p, {
1795
1868
  gap: "normal",
1796
1869
  className: "theme-tweaker--intro",
1797
- children: [/* @__PURE__ */ D(p, {
1870
+ children: [/* @__PURE__ */ E(p, {
1798
1871
  direction: "horizontal",
1799
1872
  gap: "sm",
1800
1873
  align: "center",
1801
1874
  wrap: !0,
1802
- children: [/* @__PURE__ */ E(u, {
1875
+ children: [/* @__PURE__ */ T(l, {
1803
1876
  tag: "h2",
1804
1877
  className: "theme-tweaker--title text-inherit",
1805
- children: O.title
1806
- }), /* @__PURE__ */ E(_, {
1878
+ children: D.title
1879
+ }), /* @__PURE__ */ T(v, {
1807
1880
  tone: "secondary",
1808
- children: a(O.changedCount, { count: Y })
1881
+ children: a(D.changedCount, { count: J })
1809
1882
  })]
1810
- }), /* @__PURE__ */ E(l, {
1883
+ }), /* @__PURE__ */ T(c, {
1811
1884
  type: "secondary",
1812
1885
  className: "theme-tweaker--description",
1813
- children: O.description
1886
+ children: D.description
1814
1887
  })]
1815
1888
  }) : null,
1816
- /* @__PURE__ */ D(p, {
1889
+ /* @__PURE__ */ E(p, {
1817
1890
  direction: "horizontal",
1818
1891
  justify: "between",
1819
1892
  align: "center",
1820
1893
  wrap: !0,
1821
1894
  gap: "sm",
1822
1895
  className: "theme-tweaker--toolbar",
1823
- children: [/* @__PURE__ */ E(p, {
1896
+ children: [/* @__PURE__ */ T(p, {
1824
1897
  direction: "horizontal",
1825
1898
  gap: "sm",
1826
1899
  align: "center",
1827
1900
  wrap: !0,
1828
- children: /* @__PURE__ */ E(ge, {
1829
- value: k.mode,
1830
- onValueChange: (e) => st(e),
1831
- children: /* @__PURE__ */ D(he, { children: [/* @__PURE__ */ D(me, {
1901
+ children: /* @__PURE__ */ T(he, {
1902
+ value: O.mode,
1903
+ onValueChange: (e) => ot(e),
1904
+ children: /* @__PURE__ */ E(me, { children: [/* @__PURE__ */ E(pe, {
1832
1905
  value: "light",
1833
- children: [/* @__PURE__ */ E(Ae, { className: "size-icon-sm" }), O.lightMode]
1834
- }), /* @__PURE__ */ D(me, {
1906
+ children: [/* @__PURE__ */ T(Ne, { className: "size-icon-sm" }), D.lightMode]
1907
+ }), /* @__PURE__ */ E(pe, {
1835
1908
  value: "dark",
1836
- children: [/* @__PURE__ */ E(Te, { className: "size-icon-sm" }), O.darkMode]
1909
+ children: [/* @__PURE__ */ T(De, { className: "size-icon-sm" }), D.darkMode]
1837
1910
  })] })
1838
1911
  })
1839
- }), /* @__PURE__ */ D(p, {
1912
+ }), /* @__PURE__ */ E(p, {
1840
1913
  direction: "horizontal",
1841
1914
  gap: "xs",
1842
1915
  align: "center",
1843
1916
  justify: "end",
1844
1917
  wrap: !1,
1845
- className: "theme-tweaker--actions",
1846
- children: [/* @__PURE__ */ E(c, {
1847
- tone: "primary",
1848
- type: "button",
1849
- disabled: !!J,
1850
- onClick: () => {
1851
- U("idle"), W.show();
1852
- },
1853
- children: O.export
1854
- }), be]
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
+ ]
1855
1942
  })]
1856
1943
  }),
1857
- /* @__PURE__ */ E(y, {
1858
- label: /* @__PURE__ */ E(l, {
1944
+ /* @__PURE__ */ T(b, {
1945
+ label: /* @__PURE__ */ T(c, {
1859
1946
  tag: "span",
1860
1947
  size: "inherit",
1861
1948
  className: "sr-only",
1862
- children: O.searchLabel
1949
+ children: D.searchLabel
1863
1950
  }),
1864
1951
  className: "theme-tweaker--search",
1865
- children: /* @__PURE__ */ E(v, {
1866
- value: N,
1867
- onChange: (e) => P(e.target.value),
1868
- placeholder: O.searchPlaceholder,
1869
- startIcon: De,
1952
+ children: /* @__PURE__ */ T(y, {
1953
+ value: Re,
1954
+ onChange: (e) => A(e.target.value),
1955
+ placeholder: D.searchPlaceholder,
1956
+ startIcon: Ae,
1870
1957
  clearable: !0,
1871
- onClear: () => P(""),
1872
- "aria-description": O.searchHint
1958
+ onClear: () => A(""),
1959
+ "aria-description": D.searchHint
1873
1960
  })
1874
1961
  })
1875
1962
  ]
1876
- }), /* @__PURE__ */ D(p, {
1963
+ }), /* @__PURE__ */ E(p, {
1877
1964
  gap: "lg",
1878
1965
  className: "theme-tweaker--workspace min-h-0",
1879
- children: [/* @__PURE__ */ E("nav", {
1880
- "aria-label": O.groupNavigationLabel,
1966
+ children: [/* @__PURE__ */ T("nav", {
1967
+ "aria-label": D.groupNavigationLabel,
1881
1968
  className: "theme-tweaker--navigation min-w-0",
1882
- children: /* @__PURE__ */ E(ge, {
1883
- value: j,
1969
+ children: /* @__PURE__ */ T(he, {
1970
+ value: k,
1884
1971
  onValueChange: (e) => {
1885
- P(""), Ne(e);
1972
+ A(""), Le(e);
1886
1973
  },
1887
1974
  className: "w-full",
1888
- children: /* @__PURE__ */ E(he, {
1975
+ children: /* @__PURE__ */ T(me, {
1889
1976
  scrollable: !0,
1890
1977
  scrollStrings: {
1891
- previous: O.previousGroup,
1892
- next: O.nextGroup
1978
+ previous: D.previousGroup,
1979
+ next: D.nextGroup
1893
1980
  },
1894
1981
  className: "theme-tweaker--group-list",
1895
- children: rt.map((e) => {
1896
- let t = it[e];
1897
- return /* @__PURE__ */ D(me, {
1982
+ children: ft.map((e) => {
1983
+ let t = pt[e];
1984
+ return /* @__PURE__ */ E(pe, {
1898
1985
  value: e,
1899
- onClick: () => P(""),
1986
+ onClick: () => A(""),
1900
1987
  className: "theme-tweaker--group-trigger",
1901
- children: [/* @__PURE__ */ E(t, { "aria-hidden": "true" }), /* @__PURE__ */ E(l, {
1988
+ children: [/* @__PURE__ */ T(t, { "aria-hidden": "true" }), /* @__PURE__ */ T(c, {
1902
1989
  type: "inherit",
1903
1990
  tag: "span",
1904
1991
  size: "inherit",
1905
1992
  weight: "medium",
1906
1993
  className: "min-w-0 flex-1 truncate text-left",
1907
- children: O.groups[e]
1994
+ children: D.groups[e]
1908
1995
  })]
1909
1996
  }, e);
1910
1997
  })
1911
1998
  })
1912
1999
  })
1913
- }), /* @__PURE__ */ D(p, {
2000
+ }), /* @__PURE__ */ E(p, {
1914
2001
  gap: "lg",
1915
2002
  className: "theme-tweaker--body theme-tweaker--editor min-h-0 min-w-0",
1916
2003
  children: [
1917
- /* @__PURE__ */ D(p, {
2004
+ /* @__PURE__ */ E(p, {
1918
2005
  gap: "normal",
1919
2006
  className: "theme-tweaker--editor-heading",
1920
- children: [/* @__PURE__ */ D(p, {
2007
+ children: [/* @__PURE__ */ E(p, {
1921
2008
  direction: "horizontal",
1922
2009
  gap: "sm",
1923
2010
  align: "center",
1924
2011
  wrap: !0,
1925
2012
  children: [
1926
- /* @__PURE__ */ E(u, {
2013
+ /* @__PURE__ */ T(l, {
1927
2014
  className: "text-inherit",
1928
2015
  tag: "h3",
1929
- children: X ? O.allGroups : O.groups[j]
2016
+ children: Y ? D.allGroups : D.groups[k]
1930
2017
  }),
1931
- x ? null : /* @__PURE__ */ E(_, {
2018
+ S ? null : /* @__PURE__ */ T(v, {
1932
2019
  tone: "secondary",
1933
- children: a(O.changedCount, { count: Y })
2020
+ children: a(D.changedCount, { count: J })
1934
2021
  }),
1935
- X ? /* @__PURE__ */ E(_, {
2022
+ Y ? /* @__PURE__ */ T(v, {
1936
2023
  tone: "secondary",
1937
2024
  role: "status",
1938
2025
  "aria-live": "polite",
1939
- children: a(O.searchResults, { count: Z.length })
2026
+ children: a(D.searchResults, { count: X.length })
1940
2027
  }) : null
1941
2028
  ]
1942
- }), /* @__PURE__ */ E(l, {
2029
+ }), /* @__PURE__ */ T(c, {
1943
2030
  size: "xs",
1944
2031
  type: "secondary",
1945
- children: X ? O.searchHint : O.groupDescriptions[j]
2032
+ children: Y ? D.searchHint : D.groupDescriptions[k]
1946
2033
  })]
1947
2034
  }),
1948
- X ? null : vt,
1949
- j === "defaults" && !X ? /* @__PURE__ */ E(Xe, {
1950
- config: A,
1951
- onChange: $e,
1952
- strings: O.providerSettings
1953
- }) : Q.length > 0 ? /* @__PURE__ */ E(se, {
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, {
1954
2041
  multiple: !0,
1955
- defaultValue: [`${Q[0].group}:${Q[0].section}`],
2042
+ defaultValue: [`${nt[0].group}:${nt[0].section}`],
1956
2043
  variant: "bordered",
1957
2044
  iconStyle: "none",
1958
2045
  className: "theme-tweaker--sections shrink-0",
1959
2046
  itemClassName: "theme-tweaker--section",
1960
- items: Q.map((e) => {
1961
- let t = new Set(e.fields.map((e) => e.scope)), n = t.size > 1 ? O.mixedScope : t.has("shared") ? O.sharedScope : k.mode === "light" ? O.lightMode : O.darkMode, r = X ? a(O.groupSectionLabel, {
1962
- group: O.groups[e.group],
1963
- section: O.sections[e.section]
1964
- }) : O.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];
1965
2052
  return {
1966
2053
  value: `${e.group}:${e.section}`,
1967
2054
  title: r,
1968
- description: a(O.variableCount, { count: e.fields.length }),
1969
- badge: /* @__PURE__ */ E(_, {
2055
+ description: a(D.variableCount, { count: e.fields.length }),
2056
+ badge: /* @__PURE__ */ T(v, {
1970
2057
  tone: "secondary",
1971
2058
  children: n
1972
2059
  }),
1973
- content: /* @__PURE__ */ E(p, {
2060
+ content: /* @__PURE__ */ T(p, {
1974
2061
  gap: "none",
1975
2062
  className: "theme-tweaker--fields",
1976
2063
  children: e.fields.map((e) => {
1977
- let t = e.scope === "shared" ? "shared" : k.mode, n = k[t][e.name] ?? "";
1978
- return /* @__PURE__ */ E(ut, {
2064
+ let t = e.scope === "shared" ? "shared" : O.mode, n = O[t][e.name] ?? "";
2065
+ return /* @__PURE__ */ T(wt, {
1979
2066
  field: e,
1980
2067
  value: n,
1981
- effectiveValue: Ke[e.name] ?? "",
1982
- strings: O,
2068
+ effectiveValue: W[e.name] ?? "",
2069
+ error: yt(e, n, D),
2070
+ strings: D,
1983
2071
  onChange: (t) => {
1984
- if (e.name === "--primary" && F && t.trim()) {
1985
- et(Qe({
2072
+ if (e.name === "--primary" && ze && t.trim()) {
2073
+ it(st({
1986
2074
  primary: t,
1987
- mode: k.mode
2075
+ mode: O.mode
1988
2076
  }));
1989
2077
  return;
1990
2078
  }
1991
- $(ft(k, e, t));
2079
+ Z(Et(O, e, t));
1992
2080
  },
1993
- onReset: () => $(ft(k, e, ""))
2081
+ onReset: () => Z(Et(O, e, ""))
1994
2082
  }, e.name);
1995
2083
  })
1996
2084
  })
1997
2085
  };
1998
2086
  })
1999
- }, `${j}:${X}`) : /* @__PURE__ */ E(l, {
2000
- type: "secondary",
2001
- className: "theme-tweaker--empty rounded-radius border border-dashed border-border p-surface",
2002
- children: O.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"
2003
2093
  })
2004
2094
  ]
2005
2095
  })]
2006
2096
  })]
2007
2097
  }),
2008
- h === !1 ? null : /* @__PURE__ */ E(p, {
2098
+ g === !1 ? null : /* @__PURE__ */ T(p, {
2009
2099
  className: "theme-tweaker--preview min-w-0 self-start",
2010
- children: h ?? /* @__PURE__ */ E(dt, { strings: O })
2100
+ children: g ?? /* @__PURE__ */ T(Tt, { strings: D })
2011
2101
  }),
2012
- /* @__PURE__ */ E(ae, {
2013
- ...W.overlayProps,
2014
- title: O.exportDialogTitle,
2015
- description: O.exportDialogDescription,
2102
+ /* @__PURE__ */ T(ie, {
2103
+ ...B.overlayProps,
2104
+ title: D.exportDialogTitle,
2105
+ description: D.exportDialogDescription,
2016
2106
  showCloseButton: !1,
2017
2107
  showCancel: !1,
2018
2108
  showConfirm: !1,
2019
- surfaceStyle: B(k),
2020
- className: s("theme-tweaker--export-dialog sm:max-w-4xl", k.mode),
2021
- footer: /* @__PURE__ */ D(p, {
2109
+ surfaceStyle: L(O),
2110
+ className: s("theme-tweaker--export-dialog sm:max-w-4xl", O.mode),
2111
+ footer: /* @__PURE__ */ E(p, {
2022
2112
  direction: "horizontal",
2023
2113
  align: "center",
2024
2114
  justify: "between",
2025
2115
  className: "theme-tweaker--export-footer w-full",
2026
- children: [/* @__PURE__ */ E(c, {
2116
+ children: [/* @__PURE__ */ T(d, {
2027
2117
  type: "button",
2028
2118
  tone: "secondary",
2029
2119
  buttonStyle: "ghost",
2030
- icon: Ee,
2031
- disabled: Y === 0,
2032
- onClick: gt,
2033
- children: O.reset
2034
- }), /* @__PURE__ */ E(c, {
2035
- onClick: W.hide,
2036
- children: O.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
2037
2127
  })]
2038
2128
  }),
2039
- children: /* @__PURE__ */ D(p, {
2129
+ children: /* @__PURE__ */ E(p, {
2040
2130
  gap: "xl",
2041
2131
  className: "theme-tweaker--export-body",
2042
2132
  children: [
2043
- /* @__PURE__ */ E(at, {
2044
- title: O.cssOutputLabel,
2045
- description: O.cssOutputDescription,
2046
- code: Je,
2047
- copyLabel: O.copy,
2048
- downloadLabel: Ue ? O.exportPending : O.downloadCss,
2049
- downloading: Ue,
2050
- onCopy: () => void mt(Je),
2051
- onDownload: () => void pt()
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()
2052
2142
  }),
2053
- /* @__PURE__ */ E(at, {
2054
- title: O.providerOutputLabel,
2055
- description: O.providerOutputDescription,
2056
- code: q?.providerConfigText ?? "",
2057
- copyLabel: O.copyProvider,
2058
- downloadLabel: O.downloadProvider,
2059
- onCopy: () => void mt(q?.providerConfigText ?? ""),
2060
- onDownload: ht
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
2061
2151
  }),
2062
- _t ? /* @__PURE__ */ E(l, {
2152
+ Ot ? /* @__PURE__ */ T(c, {
2063
2153
  tag: "div",
2064
2154
  size: "xs",
2065
- type: J ? "error" : "secondary",
2066
- role: "status",
2155
+ type: Dt ? "error" : "secondary",
2156
+ role: Dt ? "alert" : "status",
2067
2157
  "aria-live": "polite",
2068
2158
  className: "theme-tweaker--status",
2069
- children: _t
2159
+ children: Ot
2070
2160
  }) : null
2071
2161
  ]
2072
2162
  })
2073
2163
  })
2074
2164
  ]
2075
2165
  });
2076
- return d === "self" ? /* @__PURE__ */ E(V, {
2077
- ...Ce,
2078
- ref: G,
2079
- theme: m ? k : M({ mode: k.mode }),
2080
- className: s("theme-tweaker--component @container/theme-tweaker bg-background text-foreground", Se),
2081
- children: yt
2082
- }) : /* @__PURE__ */ E("div", {
2083
- ...Ce,
2084
- ref: G,
2085
- className: s("theme-tweaker--component @container/theme-tweaker", Se),
2086
- children: yt
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
2087
2177
  });
2088
2178
  });
2089
- pt.displayName = "ThemeTweaker";
2179
+ Dt.displayName = "ThemeTweaker";
2090
2180
  //#endregion
2091
- export { He as AdminUIThemeProvider, V as ThemeScope, pt as ThemeTweaker, B as adminUIThemeToStyle, Fe as countAdminUIThemeOverrides, M as createAdminUITheme, Ie as createScopedAdminUIThemeSelectors, R as createSerializableUIConfig, Le as createThemeTweakerExportArtifact, Me as defaultAdminUIThemeSelectors, X as defaultThemeProviderSettingsStrings, Ye as defaultThemeTweakerFields, Ze as defaultThemeTweakerStrings, nt as deriveAdminUIElevation, Qe as deriveAdminUIPalette, tt as deriveAdminUITypeScale, Re as downloadAdminUITheme, z as getActiveAdminUIThemeOverrides, N as isAdminUIThemeVariableName, L as serializeAdminUITheme, Pe 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 };
2092
2182
 
2093
2183
  //# sourceMappingURL=theme-tweaker.js.map