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 +1 @@
1
- {"version":3,"file":"chart-I7ROnsl8.js","names":["React","_Fragment","NumberValue","cn","Text","popoverRecipes","Number","serializeScopedThemeModes","React$1","Fragment$1","RechartsPrimitive","INITIAL_DIMENSION","ChartContext","useChart","context","ChartContainer","props","uniqueId","chartId","id","className","ChartStyle","colorConfig","config","item","declarations","key","itemConfig","color","mode","ChartTooltip","ChartTooltipContent","tooltipLabel","hideLabel","payload","labelKey","getPayloadConfigFromPayload","value","label","labelFormatter","labelClassName","active","nestLabel","indicator","nameKey","payloadFill","indicatorColor","formatter","index","hideIndicator","valueFormatter","ChartLegend","ChartLegendContent","verticalAlign","fallbackLabel","hideIcon","payloadPayload","configLabelKey"],"sources":["../src/components/base/chart/chart.tsx"],"sourcesContent":["/**\n * Chart — Recharts helpers with shadcn-compatible configuration.\n *\n * Localized from the shadcn/ReUI chart helper into the base layer so chart\n * chrome uses this library's tokens, tooltip density, and BEM DOM hooks.\n * The Recharts peer stays isolated to the exact `base/chart` entrypoint.\n */\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { Number as NumberValue } from '../../primitives';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { serializeScopedThemeModes } from '../../../lib/theme-mode-css';\nimport { popoverRecipes } from '../popover/popover.recipes';\n\ntype ChartTheme = 'light' | 'dark';\nconst INITIAL_DIMENSION = { width: 320, height: 200 } as const;\n\nexport type ChartConfig = Record<\n\tstring,\n\t{\n\t\t/** Axis label for the hovered position. Supplied by Recharts. */\n\t\tlabel?: React.ReactNode;\n\t\t/** Leading glyph. */\n\t\ticon?: React.ComponentType;\n\t} & (\n\t\t| { color?: string; theme?: never }\n\t\t| { color?: never; theme: Record<ChartTheme, string> }\n\t)\n>;\n\nexport type ChartPayloadItem = {\n\tdataKey?: string | number;\n\t/** Series name. */\n\tname?: string | number;\n\t/** The series value at the hovered point. */\n\tvalue?: string | number | Array<string | number>;\n\ttype?: string;\n\t/** Overrides the colour of the tooltip indicator. */\n\tcolor?: string;\n\tfill?: string;\n\t/** The raw data row for the hovered point. Supplied by Recharts. */\n\tpayload?: Record<string, unknown>;\n};\n\nexport interface ChartInitialDimension {\n\twidth: number;\n\theight: number;\n}\n\ninterface ChartContextProps {\n\t/** Maps each data key to its label, colour, and icon. */\n\tconfig: ChartConfig;\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error('useChart must be used within a <ChartContainer />');\n\t}\n\n\treturn context;\n}\n\nexport interface ChartContainerProps extends React.ComponentPropsWithoutRef<'div'> {\n\t/** Maps each data key to its label, colour, and icon. */\n\tconfig: ChartConfig;\n\tchildren: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n\t/** Starting width and height, so the chart renders before its container is measured. */\n\tinitialDimension?: ChartInitialDimension;\n}\n\nfunction ChartContainer({\n\tid,\n\tclassName,\n\tchildren,\n\tconfig,\n\tinitialDimension = INITIAL_DIMENSION,\n\t...props\n}: ChartContainerProps) {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id ?? uniqueId.replace(/:/g, '')}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"chart\"\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'chart--component flex aspect-video w-full min-w-0 justify-center text-xs',\n\t\t\t\t\t'[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-axis-tick-label]:fill-muted-foreground [&_.recharts-cartesian-axis-tick-value]:fill-muted-foreground',\n\t\t\t\t\t\"[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50\",\n\t\t\t\t\t'[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n\t\t\t\t\t'[&_.recharts-dot[stroke=\"#fff\"]]:stroke-transparent',\n\t\t\t\t\t'[&_.recharts-layer]:outline-hidden',\n\t\t\t\t\t\"[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border\",\n\t\t\t\t\t'[&_.recharts-radial-bar-background-sector]:fill-muted',\n\t\t\t\t\t'[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted',\n\t\t\t\t\t\"[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border\",\n\t\t\t\t\t'[&_.recharts-sector]:outline-hidden',\n\t\t\t\t\t'[&_.recharts-sector[stroke=\"#fff\"]]:stroke-transparent',\n\t\t\t\t\t'[&_.recharts-surface]:outline-hidden',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer initialDimension={initialDimension}>\n\t\t\t\t\t{children}\n\t\t\t\t</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n}\n\nfunction ChartStyle({ id, config }: { id: string; config: ChartConfig }) {\n\tconst colorConfig = Object.entries(config).filter(([, item]) => item.theme ?? item.color);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\tconst declarations = (mode: ChartTheme) => colorConfig.flatMap(([key, itemConfig]) => {\n\t\tconst color = itemConfig.theme?.[mode] ?? itemConfig.color;\n\t\treturn color ? [`--color-${key}: ${color};`] : [];\n\t});\n\n\treturn (\n\t\t<style\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: serializeScopedThemeModes(`[data-chart=${id}]`, { light: declarations('light'), dark: declarations('dark') }),\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nexport interface ChartTooltipContentProps extends React.ComponentPropsWithoutRef<'div'> {\n\t/** Whether the tooltip is showing. Supplied by Recharts. */\n\tactive?: boolean;\n\t/** Data points under the cursor. Supplied by Recharts. */\n\tpayload?: ChartPayloadItem[];\n\t/** Axis label for the hovered position. Supplied by Recharts. */\n\tlabel?: React.ReactNode;\n\t/** Merged onto the tooltip label. */\n\tlabelClassName?: string;\n\t/** Formats the tooltip label. */\n\tlabelFormatter?: (label: React.ReactNode, payload: ChartPayloadItem[]) => React.ReactNode;\n\t/** Formats each tooltip value. */\n\tformatter?: (\n\t\t/** The series value at the hovered point. */\n\t\tvalue: NonNullable<ChartPayloadItem['value']>,\n\t\t/** Series name. */\n\t\tname: NonNullable<ChartPayloadItem['name']>,\n\t\titem: ChartPayloadItem,\n\t\tindex: number,\n\t\t/** The raw data row for the hovered point. Supplied by Recharts. */\n\t\tpayload?: Record<string, unknown>,\n\t) => React.ReactNode;\n\t/**\n\t * Formats only each value, keeping the colour indicator and series label,\n\t * for example to render currency. `formatter` replaces the whole row.\n\t */\n\tvalueFormatter?: (\n\t\tvalue: NonNullable<ChartPayloadItem['value']>,\n\t\tname: NonNullable<ChartPayloadItem['name']>,\n\t\titem: ChartPayloadItem,\n\t\tindex: number,\n\t) => React.ReactNode;\n\t/** Overrides the colour of the tooltip indicator. */\n\tcolor?: string;\n\t/** Hides the tooltip label row. */\n\thideLabel?: boolean;\n\t/** Hides the colour indicator beside each value. */\n\thideIndicator?: boolean;\n\t/** Shape of the colour indicator. */\n\tindicator?: 'line' | 'dot' | 'dashed';\n\t/** Key in the payload holding each series name. */\n\tnameKey?: string;\n\t/** Key in the payload holding the tooltip label. */\n\tlabelKey?: string;\n}\n\nfunction ChartTooltipContent({\n\tactive,\n\tpayload,\n\tclassName,\n\tindicator = 'dot',\n\thideLabel = false,\n\thideIndicator = false,\n\tlabel,\n\tlabelFormatter,\n\tlabelClassName,\n\tformatter,\n\tvalueFormatter,\n\tcolor,\n\tnameKey,\n\tlabelKey,\n}: ChartTooltipContentProps) {\n\tconst { config } = useChart();\n\n\tconst tooltipLabel = React.useMemo(() => {\n\t\tif (hideLabel || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [item] = payload;\n\t\tconst key = `${labelKey ?? item?.dataKey ?? item?.name ?? 'value'}`;\n\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\tconst value =\n\t\t\t!labelKey && typeof label === 'string'\n\t\t\t\t? (config[label]?.label ?? label)\n\t\t\t\t: itemConfig?.label;\n\n\t\tif (labelFormatter) {\n\t\t\treturn (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\tclassName={cn('chart--tooltip-label', labelClassName)}\n\t\t\t\t>\n\t\t\t\t\t{labelFormatter(value, payload)}\n\t\t\t\t</Text>\n\t\t\t);\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<Text\n\t\t\t\ttag=\"div\"\n\t\t\t\tsize=\"xs\"\n\t\t\t\ttype=\"inherit\"\n\t\t\t\tweight=\"medium\"\n\t\t\t\tclassName={cn('chart--tooltip-label', labelClassName)}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</Text>\n\t\t);\n\t}, [\n\t\tlabel,\n\t\tlabelFormatter,\n\t\tpayload,\n\t\thideLabel,\n\t\tlabelClassName,\n\t\tconfig,\n\t\tlabelKey,\n\t]);\n\n\tif (!active || !payload?.length) {\n\t\treturn null;\n\t}\n\n\tconst nestLabel = payload.length === 1 && indicator !== 'dot';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t// The shared anchored-surface chrome (border, fill, elevation) of popovers and menus.\n\t\t\t\t'chart--tooltip grid min-w-32 items-start gap-space-sm text-xs',\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tpopoverRecipes.displayCompact,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!nestLabel && tooltipLabel}\n\t\t\t<div className=\"grid gap-space-sm\">\n\t\t\t\t{payload\n\t\t\t\t\t.filter((item) => item.type !== 'none')\n\t\t\t\t\t.map((item, index) => {\n\t\t\t\t\t\tconst key = `${nameKey ?? item.name ?? item.dataKey ?? 'value'}`;\n\t\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\t\tconst payloadFill =\n\t\t\t\t\t\t\ttypeof item.payload?.fill === 'string'\n\t\t\t\t\t\t\t\t? item.payload.fill\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\tconst indicatorColor = color ?? payloadFill ?? item.color ?? item.fill;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={`${item.dataKey ?? item.name ?? 'value'}-${index}`}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'chart--tooltip-item flex w-full flex-wrap items-stretch gap-space-md [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'items-center',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!!formatter && item.value !== undefined && item.name !== undefined ? (\n\t\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'shrink-0 rounded-[2px] border-[var(--color-border)] bg-[var(--color-bg)]',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'size-2.5',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'line' && 'h-3 w-1',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'dashed' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'h-0 w-0 border-[1.5px] border-dashed bg-transparent',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnestLabel && indicator === 'dashed' && 'my-0.5',\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-bg': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-border': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'flex flex-1 justify-between gap-space-lg leading-none',\n\t\t\t\t\t\t\t\t\t\t\t\tnestLabel ? 'items-end' : 'items-center',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"grid gap-space-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t{nestLabel && tooltipLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{itemConfig?.label ?? item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{item.value !== undefined && (\n\t\t\t\t\t\t\t\t\t\t\t\tvalueFormatter && item.name !== undefined ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"inherit\" weight=\"medium\" className=\"chart--tooltip-value text-end tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{valueFormatter(item.value, item.name, item, index)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t) : typeof item.value === 'number' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NumberValue value={item.value} size=\"xs\" type=\"inherit\" weight=\"medium\" align=\"right\" />\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Ranges and formatted values stay in the sans UI font with tabular figures.\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"inherit\" weight=\"medium\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.isArray(item.value) ? item.value.join(' - ') : String(item.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nexport interface ChartLegendContentProps extends React.ComponentPropsWithoutRef<'div'> {\n\thideIcon?: boolean;\n\t/** Legend entries, one per series. Supplied by Recharts. */\n\tpayload?: ChartPayloadItem[];\n\tverticalAlign?: 'top' | 'bottom' | 'middle';\n\t/** Key in the payload holding each series name. */\n\tnameKey?: string;\n}\n\nfunction ChartLegendContent({\n\tclassName,\n\thideIcon = false,\n\tpayload,\n\tverticalAlign = 'bottom',\n\tnameKey,\n}: ChartLegendContentProps) {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'chart--legend flex flex-wrap items-center justify-center gap-x-space-xl gap-y-space-md text-xs',\n\t\t\t\tverticalAlign === 'top' ? 'pb-space-lg' : 'pt-space-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{payload\n\t\t\t\t.filter((item) => item.type !== 'none')\n\t\t\t\t.map((item, index) => {\n\t\t\t\t\tconst key = `${nameKey ?? item.dataKey ?? 'value'}`;\n\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\tconst fallbackLabel = item.value ?? item.name ?? item.dataKey ?? key;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${item.value ?? key}-${index}`}\n\t\t\t\t\t\t\tclassName=\"chart--legend-item flex items-center gap-space-sm [&>svg]:size-icon-sm [&>svg]:text-muted-foreground\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"h-2 w-2 shrink-0 rounded-[2px]\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\">\n\t\t\t\t\t\t\t\t{itemConfig?.label ?? fallbackLabel}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</div>\n\t);\n}\n\nfunction getPayloadConfigFromPayload(\n\tconfig: ChartConfig,\n\tpayload: unknown,\n\tkey: string,\n) {\n\tif (typeof payload !== 'object' || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload =\n\t\t'payload' in payload &&\n\t\ttypeof payload.payload === 'object' &&\n\t\tpayload.payload !== null\n\t\t\t? payload.payload\n\t\t\t: undefined;\n\n\tlet configLabelKey = key;\n\n\tif (\n\t\tkey in payload &&\n\t\ttypeof payload[key as keyof typeof payload] === 'string'\n\t) {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (\n\t\tpayloadPayload &&\n\t\tkey in payloadPayload &&\n\t\ttypeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n\t) {\n\t\tconfigLabelKey = payloadPayload[\n\t\t\tkey as keyof typeof payloadPayload\n\t\t] as string;\n\t}\n\n\treturn configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\nexport {\n\tChartContainer,\n\tChartTooltip,\n\tChartTooltipContent,\n\tChartLegend,\n\tChartLegendContent,\n\tChartStyle,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"chart-CygRCyIZ.js","names":["React","_Fragment","NumberValue","cn","Text","popoverRecipes","Number","serializeScopedThemeModes","React$1","Fragment$1","RechartsPrimitive","INITIAL_DIMENSION","ChartContext","useChart","context","ChartContainer","props","uniqueId","chartId","id","className","ChartStyle","colorConfig","config","item","declarations","key","itemConfig","color","mode","ChartTooltip","ChartTooltipContent","tooltipLabel","hideLabel","payload","labelKey","getPayloadConfigFromPayload","value","label","labelFormatter","labelClassName","active","nestLabel","indicator","nameKey","payloadFill","indicatorColor","formatter","index","hideIndicator","valueFormatter","ChartLegend","ChartLegendContent","verticalAlign","fallbackLabel","hideIcon","payloadPayload","configLabelKey"],"sources":["../src/components/base/chart/chart.tsx"],"sourcesContent":["/**\n * Chart — Recharts helpers with shadcn-compatible configuration.\n *\n * Localized from the shadcn/ReUI chart helper into the base layer so chart\n * chrome uses this library's tokens, tooltip density, and BEM DOM hooks.\n * The Recharts peer stays isolated to the exact `base/chart` entrypoint.\n */\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { Number as NumberValue } from '../../primitives';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { serializeScopedThemeModes } from '../../../lib/theme-mode-css';\nimport { popoverRecipes } from '../popover/popover.recipes';\n\ntype ChartTheme = 'light' | 'dark';\nconst INITIAL_DIMENSION = { width: 320, height: 200 } as const;\n\nexport type ChartConfig = Record<\n\tstring,\n\t{\n\t\t/** Axis label for the hovered position. Supplied by Recharts. */\n\t\tlabel?: React.ReactNode;\n\t\t/** Leading glyph. */\n\t\ticon?: React.ComponentType;\n\t} & (\n\t\t| { color?: string; theme?: never }\n\t\t| { color?: never; theme: Record<ChartTheme, string> }\n\t)\n>;\n\nexport type ChartPayloadItem = {\n\tdataKey?: string | number;\n\t/** Series name. */\n\tname?: string | number;\n\t/** The series value at the hovered point. */\n\tvalue?: string | number | Array<string | number>;\n\ttype?: string;\n\t/** Overrides the colour of the tooltip indicator. */\n\tcolor?: string;\n\tfill?: string;\n\t/** The raw data row for the hovered point. Supplied by Recharts. */\n\tpayload?: Record<string, unknown>;\n};\n\nexport interface ChartInitialDimension {\n\twidth: number;\n\theight: number;\n}\n\ninterface ChartContextProps {\n\t/** Maps each data key to its label, colour, and icon. */\n\tconfig: ChartConfig;\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error('useChart must be used within a <ChartContainer />');\n\t}\n\n\treturn context;\n}\n\nexport interface ChartContainerProps extends React.ComponentPropsWithoutRef<'div'> {\n\t/** Maps each data key to its label, colour, and icon. */\n\tconfig: ChartConfig;\n\tchildren: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n\t/** Starting width and height, so the chart renders before its container is measured. */\n\tinitialDimension?: ChartInitialDimension;\n}\n\nfunction ChartContainer({\n\tid,\n\tclassName,\n\tchildren,\n\tconfig,\n\tinitialDimension = INITIAL_DIMENSION,\n\t...props\n}: ChartContainerProps) {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id ?? uniqueId.replace(/:/g, '')}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"chart\"\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'chart--component flex aspect-video w-full min-w-0 justify-center text-xs',\n\t\t\t\t\t'[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-axis-tick-label]:fill-muted-foreground [&_.recharts-cartesian-axis-tick-value]:fill-muted-foreground',\n\t\t\t\t\t\"[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50\",\n\t\t\t\t\t'[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n\t\t\t\t\t'[&_.recharts-dot[stroke=\"#fff\"]]:stroke-transparent',\n\t\t\t\t\t'[&_.recharts-layer]:outline-hidden',\n\t\t\t\t\t\"[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border\",\n\t\t\t\t\t'[&_.recharts-radial-bar-background-sector]:fill-muted',\n\t\t\t\t\t'[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted',\n\t\t\t\t\t\"[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border\",\n\t\t\t\t\t'[&_.recharts-sector]:outline-hidden',\n\t\t\t\t\t'[&_.recharts-sector[stroke=\"#fff\"]]:stroke-transparent',\n\t\t\t\t\t'[&_.recharts-surface]:outline-hidden',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer initialDimension={initialDimension}>\n\t\t\t\t\t{children}\n\t\t\t\t</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n}\n\nfunction ChartStyle({ id, config }: { id: string; config: ChartConfig }) {\n\tconst colorConfig = Object.entries(config).filter(([, item]) => item.theme ?? item.color);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\tconst declarations = (mode: ChartTheme) => colorConfig.flatMap(([key, itemConfig]) => {\n\t\tconst color = itemConfig.theme?.[mode] ?? itemConfig.color;\n\t\treturn color ? [`--color-${key}: ${color};`] : [];\n\t});\n\n\treturn (\n\t\t<style\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: serializeScopedThemeModes(`[data-chart=${id}]`, { light: declarations('light'), dark: declarations('dark') }),\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nexport interface ChartTooltipContentProps extends React.ComponentPropsWithoutRef<'div'> {\n\t/** Whether the tooltip is showing. Supplied by Recharts. */\n\tactive?: boolean;\n\t/** Data points under the cursor. Supplied by Recharts. */\n\tpayload?: ChartPayloadItem[];\n\t/** Axis label for the hovered position. Supplied by Recharts. */\n\tlabel?: React.ReactNode;\n\t/** Merged onto the tooltip label. */\n\tlabelClassName?: string;\n\t/** Formats the tooltip label. */\n\tlabelFormatter?: (label: React.ReactNode, payload: ChartPayloadItem[]) => React.ReactNode;\n\t/** Formats each tooltip value. */\n\tformatter?: (\n\t\t/** The series value at the hovered point. */\n\t\tvalue: NonNullable<ChartPayloadItem['value']>,\n\t\t/** Series name. */\n\t\tname: NonNullable<ChartPayloadItem['name']>,\n\t\titem: ChartPayloadItem,\n\t\tindex: number,\n\t\t/** The raw data row for the hovered point. Supplied by Recharts. */\n\t\tpayload?: Record<string, unknown>,\n\t) => React.ReactNode;\n\t/**\n\t * Formats only each value, keeping the colour indicator and series label,\n\t * for example to render currency. `formatter` replaces the whole row.\n\t */\n\tvalueFormatter?: (\n\t\tvalue: NonNullable<ChartPayloadItem['value']>,\n\t\tname: NonNullable<ChartPayloadItem['name']>,\n\t\titem: ChartPayloadItem,\n\t\tindex: number,\n\t) => React.ReactNode;\n\t/** Overrides the colour of the tooltip indicator. */\n\tcolor?: string;\n\t/** Hides the tooltip label row. */\n\thideLabel?: boolean;\n\t/** Hides the colour indicator beside each value. */\n\thideIndicator?: boolean;\n\t/** Shape of the colour indicator. */\n\tindicator?: 'line' | 'dot' | 'dashed';\n\t/** Key in the payload holding each series name. */\n\tnameKey?: string;\n\t/** Key in the payload holding the tooltip label. */\n\tlabelKey?: string;\n}\n\nfunction ChartTooltipContent({\n\tactive,\n\tpayload,\n\tclassName,\n\tindicator = 'dot',\n\thideLabel = false,\n\thideIndicator = false,\n\tlabel,\n\tlabelFormatter,\n\tlabelClassName,\n\tformatter,\n\tvalueFormatter,\n\tcolor,\n\tnameKey,\n\tlabelKey,\n}: ChartTooltipContentProps) {\n\tconst { config } = useChart();\n\n\tconst tooltipLabel = React.useMemo(() => {\n\t\tif (hideLabel || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [item] = payload;\n\t\tconst key = `${labelKey ?? item?.dataKey ?? item?.name ?? 'value'}`;\n\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\tconst value =\n\t\t\t!labelKey && typeof label === 'string'\n\t\t\t\t? (config[label]?.label ?? label)\n\t\t\t\t: itemConfig?.label;\n\n\t\tif (labelFormatter) {\n\t\t\treturn (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\tclassName={cn('chart--tooltip-label', labelClassName)}\n\t\t\t\t>\n\t\t\t\t\t{labelFormatter(value, payload)}\n\t\t\t\t</Text>\n\t\t\t);\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<Text\n\t\t\t\ttag=\"div\"\n\t\t\t\tsize=\"xs\"\n\t\t\t\ttype=\"inherit\"\n\t\t\t\tweight=\"medium\"\n\t\t\t\tclassName={cn('chart--tooltip-label', labelClassName)}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</Text>\n\t\t);\n\t}, [\n\t\tlabel,\n\t\tlabelFormatter,\n\t\tpayload,\n\t\thideLabel,\n\t\tlabelClassName,\n\t\tconfig,\n\t\tlabelKey,\n\t]);\n\n\tif (!active || !payload?.length) {\n\t\treturn null;\n\t}\n\n\tconst nestLabel = payload.length === 1 && indicator !== 'dot';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t// The shared anchored-surface chrome (border, fill, elevation) of popovers and menus.\n\t\t\t\t'chart--tooltip grid min-w-32 items-start gap-space-sm text-xs',\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tpopoverRecipes.displayCompact,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!nestLabel && tooltipLabel}\n\t\t\t<div className=\"grid gap-space-sm\">\n\t\t\t\t{payload\n\t\t\t\t\t.filter((item) => item.type !== 'none')\n\t\t\t\t\t.map((item, index) => {\n\t\t\t\t\t\tconst key = `${nameKey ?? item.name ?? item.dataKey ?? 'value'}`;\n\t\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\t\tconst payloadFill =\n\t\t\t\t\t\t\ttypeof item.payload?.fill === 'string'\n\t\t\t\t\t\t\t\t? item.payload.fill\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\tconst indicatorColor = color ?? payloadFill ?? item.color ?? item.fill;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={`${item.dataKey ?? item.name ?? 'value'}-${index}`}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'chart--tooltip-item flex w-full flex-wrap items-stretch gap-space-md [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'items-center',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!!formatter && item.value !== undefined && item.name !== undefined ? (\n\t\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'shrink-0 rounded-[2px] border-[var(--color-border)] bg-[var(--color-bg)]',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'size-2.5',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'line' && 'h-3 w-1',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === 'dashed' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'h-0 w-0 border-[1.5px] border-dashed bg-transparent',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnestLabel && indicator === 'dashed' && 'my-0.5',\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-bg': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-border': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'flex flex-1 justify-between gap-space-lg leading-none',\n\t\t\t\t\t\t\t\t\t\t\t\tnestLabel ? 'items-end' : 'items-center',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"grid gap-space-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t{nestLabel && tooltipLabel}\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{itemConfig?.label ?? item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{item.value !== undefined && (\n\t\t\t\t\t\t\t\t\t\t\t\tvalueFormatter && item.name !== undefined ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"inherit\" weight=\"medium\" className=\"chart--tooltip-value text-end tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{valueFormatter(item.value, item.name, item, index)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t) : typeof item.value === 'number' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NumberValue value={item.value} size=\"xs\" type=\"inherit\" weight=\"medium\" align=\"right\" />\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Ranges and formatted values stay in the sans UI font with tabular figures.\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"inherit\" weight=\"medium\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Array.isArray(item.value) ? item.value.join(' - ') : String(item.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nexport interface ChartLegendContentProps extends React.ComponentPropsWithoutRef<'div'> {\n\thideIcon?: boolean;\n\t/** Legend entries, one per series. Supplied by Recharts. */\n\tpayload?: ChartPayloadItem[];\n\tverticalAlign?: 'top' | 'bottom' | 'middle';\n\t/** Key in the payload holding each series name. */\n\tnameKey?: string;\n}\n\nfunction ChartLegendContent({\n\tclassName,\n\thideIcon = false,\n\tpayload,\n\tverticalAlign = 'bottom',\n\tnameKey,\n}: ChartLegendContentProps) {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'chart--legend flex flex-wrap items-center justify-center gap-x-space-xl gap-y-space-md text-xs',\n\t\t\t\tverticalAlign === 'top' ? 'pb-space-lg' : 'pt-space-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{payload\n\t\t\t\t.filter((item) => item.type !== 'none')\n\t\t\t\t.map((item, index) => {\n\t\t\t\t\tconst key = `${nameKey ?? item.dataKey ?? 'value'}`;\n\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\tconst fallbackLabel = item.value ?? item.name ?? item.dataKey ?? key;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${item.value ?? key}-${index}`}\n\t\t\t\t\t\t\tclassName=\"chart--legend-item flex items-center gap-space-sm [&>svg]:size-icon-sm [&>svg]:text-muted-foreground\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"h-2 w-2 shrink-0 rounded-[2px]\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\">\n\t\t\t\t\t\t\t\t{itemConfig?.label ?? fallbackLabel}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t</div>\n\t);\n}\n\nfunction getPayloadConfigFromPayload(\n\tconfig: ChartConfig,\n\tpayload: unknown,\n\tkey: string,\n) {\n\tif (typeof payload !== 'object' || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload =\n\t\t'payload' in payload &&\n\t\ttypeof payload.payload === 'object' &&\n\t\tpayload.payload !== null\n\t\t\t? payload.payload\n\t\t\t: undefined;\n\n\tlet configLabelKey = key;\n\n\tif (\n\t\tkey in payload &&\n\t\ttypeof payload[key as keyof typeof payload] === 'string'\n\t) {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (\n\t\tpayloadPayload &&\n\t\tkey in payloadPayload &&\n\t\ttypeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n\t) {\n\t\tconfigLabelKey = payloadPayload[\n\t\t\tkey as keyof typeof payloadPayload\n\t\t] as string;\n\t}\n\n\treturn configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\nexport {\n\tChartContainer,\n\tChartTooltip,\n\tChartTooltipContent,\n\tChartLegend,\n\tChartLegendContent,\n\tChartStyle,\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { t as e } from "./utils-DhuoqFy4.js";
3
- import { t } from "./focus-recipes-B653VaLq.js";
4
- import { t as n } from "./field-state-recipes-7sza8QbC.js";
2
+ import { t as e } from "./utils-BVbAG2J6.js";
3
+ import { t } from "./focus-recipes-DSkiUvUp.js";
4
+ import { t as n } from "./field-state-recipes-EtCxpEy3.js";
5
5
  import { forwardRef as r } from "react";
6
6
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
7
7
  import { CheckIcon as o, MinusIcon as s } from "lucide-react";
@@ -37,4 +37,4 @@ u.displayName = "Checkbox";
37
37
  //#endregion
38
38
  export { u as t };
39
39
 
40
- //# sourceMappingURL=checkbox-MoyHIAPs.js.map
40
+ //# sourceMappingURL=checkbox-Dy5_XBMZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-MoyHIAPs.js","names":["Checkbox","CheckboxPrimitive","Checkbox","CheckboxPrimitive","cn","fieldStateRecipes","Checkbox$2","props","Checkbox","focusRecipes","className","CheckIcon","MinusIcon","Checkbox$1","forwardRef","ariaInvalid","invalid","onCheckedChange","checked","onValueChange"],"sources":["../src/components/ui/checkbox.tsx","../src/components/base/choice-inputs/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\nimport { CheckIcon, MinusIcon } from \"lucide-react\"\n\nimport { fieldStateRecipes } from \"../../lib/field-state-recipes\"\nimport { cn } from \"../../lib/utils\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\n\nexport interface CheckboxProps extends Omit<CheckboxPrimitive.Root.Props, 'onChange'> {\n\tonCheckedChange?: (checked: boolean | 'indeterminate') => void\n}\n\n/**\n * Raw checkbox recipe. The boundary is the shared `--input` control border, the\n * same one every field and outline button draws; focus is the shared focus frame,\n * and invalid follows the field-state contract (destructive border, destructive\n * halo on focus). Checked and invalid borders win over the focus border.\n */\nfunction Checkbox({\n\tclassName,\n\tonCheckedChange,\n\t...props\n}: CheckboxProps) {\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tdata-slot=\"checkbox\"\n\t\t\tclassName={cn(\n\t\t\t\t\"peer box-border inline-flex size-4 shrink-0 items-center justify-center rounded-radius-xs border border-input bg-transparent shadow-none transition-[color,background-color,border-color,box-shadow] outline-none\",\n\t\t\t\tfocusRecipes.frame,\n\t\t\t\tfieldStateRecipes.invalid,\n\t\t\t\t\"data-[checked]:bg-primary data-[checked]:border-primary data-[checked]:text-primary-foreground\",\n\t\t\t\t\"data-[indeterminate]:bg-primary data-[indeterminate]:border-primary data-[indeterminate]:text-primary-foreground\",\n\t\t\t\t\"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonCheckedChange={onCheckedChange}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator\n\t\t\t\tdata-slot=\"checkbox-indicator\"\n\t\t\t\tclassName=\"group/indicator flex items-center justify-center text-current\"\n\t\t\t>\n\t\t\t\t{/* The indeterminate state draws its own dash instead of a misleading check. */}\n\t\t\t\t<CheckIcon className=\"size-icon-md group-data-[indeterminate]/indicator:hidden\" />\n\t\t\t\t<MinusIcon className=\"hidden size-icon-md group-data-[indeterminate]/indicator:block\" />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t)\n}\n\nexport { Checkbox }\n","import { forwardRef } from 'react';\n\nimport { Checkbox as CheckboxPrimitive, type CheckboxProps as PrimitiveCheckboxProps } from '../../ui/checkbox';\nimport { cn } from '../../../lib/utils';\n\n/**\n * Checkbox — base wrapper around the shadcn/Base UI checkbox primitive.\n *\n * The primitive renders an inline-flex square, so token size utilities render\n * as a box instead of collapsing to the two border lines. Its boundary is the\n * shared `--input` control border, the same one every field, choice control and\n * outline button draws.\n *\n * The root ref accepts the actual HTMLElement, including custom button renders.\n * The compact corner recipe derives from the shared theme radius, so scoped\n * consumer radius overrides still apply. The indeterminate state draws a dash.\n */\nexport interface CheckboxProps extends PrimitiveCheckboxProps {\n\t/** Applies the shared invalid boundary and accessibility state. */\n\tinvalid?: boolean;\n\t/** Boolean checked callback, emitted alongside onCheckedChange. Indeterminate remains a separate visual state. */\n\tonValueChange?: (checked: boolean) => void;\n}\n\nconst Checkbox = forwardRef<HTMLElement, CheckboxProps>(function Checkbox({ className, invalid, onValueChange, onCheckedChange, 'aria-invalid': ariaInvalid, ...props }, ref) {\n\treturn (\n\t\t<CheckboxPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('checkbox--component', className)}\n\t\t\t{...props}\n\t\t\taria-invalid={invalid || ariaInvalid}\n\t\t\tonCheckedChange={(checked) => {\n\t\t\t\tonCheckedChange?.(checked);\n\t\t\t\tonValueChange?.(checked === true);\n\t\t\t}}\n\t\t/>\n\t);\n});\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\n"],"mappings":";;;;;;;;;AAmBA,SAASA,EAAS,EACjB,cACA,oBACA,GAAGO,KACc;CACjB,OACC,kBAACN,EAAkB,MAAnB;EACC,aAAU;EACV,WAAWG,EACV,qNACAK,EAAa,OACbJ,EAAkB,SAClB,kGACA,oHACA,iEACAK,CACD;EACiB;EACjB,GAAIH;EAEJ,UAAA,kBAACN,EAAkB,WAAnB;GACC,aAAU;GACV,WAAU;GAFX,UAAA,CAKC,kBAACU,GAAD,EAAW,WAAU,2DAA4D,CAAA,GACjF,kBAACC,GAAD,EAAW,WAAU,iEAAkE,CAAA,CAC3D;;CACN,CAAA;AAE1B;;;ACzBA,IAAMV,IAAWY,EAAuC,SAAkB,EAAE,cAAW,YAAS,kBAAe,oBAAiB,gBAAgBC,GAAa,GAAGR,KAAS,GAAK;CAC7K,OACC,kBAACJ,GAAD;EACM;EACL,WAAWC,EAAG,uBAAuBM,CAAS;EAC9C,GAAIH;EACJ,gBAAcS,KAAWD;EACzB,kBAAkB,MAAY;GAE7B,AADAE,IAAkBC,CAAO,GACzBC,IAAgBD,MAAY,EAAI;EACjC;CACA,CAAA;AAEH,CAAC;AAED,EAAS,cAAc"}
1
+ {"version":3,"file":"checkbox-Dy5_XBMZ.js","names":["Checkbox","CheckboxPrimitive","Checkbox","CheckboxPrimitive","cn","fieldStateRecipes","Checkbox$2","props","Checkbox","focusRecipes","className","CheckIcon","MinusIcon","Checkbox$1","forwardRef","ariaInvalid","invalid","onCheckedChange","checked","onValueChange"],"sources":["../src/components/ui/checkbox.tsx","../src/components/base/choice-inputs/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\nimport { CheckIcon, MinusIcon } from \"lucide-react\"\n\nimport { fieldStateRecipes } from \"../../lib/field-state-recipes\"\nimport { cn } from \"../../lib/utils\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\n\nexport interface CheckboxProps extends Omit<CheckboxPrimitive.Root.Props, 'onChange'> {\n\tonCheckedChange?: (checked: boolean | 'indeterminate') => void\n}\n\n/**\n * Raw checkbox recipe. The boundary is the shared `--input` control border, the\n * same one every field and outline button draws; focus is the shared focus frame,\n * and invalid follows the field-state contract (destructive border, destructive\n * halo on focus). Checked and invalid borders win over the focus border.\n */\nfunction Checkbox({\n\tclassName,\n\tonCheckedChange,\n\t...props\n}: CheckboxProps) {\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tdata-slot=\"checkbox\"\n\t\t\tclassName={cn(\n\t\t\t\t\"peer box-border inline-flex size-4 shrink-0 items-center justify-center rounded-radius-xs border border-input bg-transparent shadow-none transition-[color,background-color,border-color,box-shadow] outline-none\",\n\t\t\t\tfocusRecipes.frame,\n\t\t\t\tfieldStateRecipes.invalid,\n\t\t\t\t\"data-[checked]:bg-primary data-[checked]:border-primary data-[checked]:text-primary-foreground\",\n\t\t\t\t\"data-[indeterminate]:bg-primary data-[indeterminate]:border-primary data-[indeterminate]:text-primary-foreground\",\n\t\t\t\t\"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonCheckedChange={onCheckedChange}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator\n\t\t\t\tdata-slot=\"checkbox-indicator\"\n\t\t\t\tclassName=\"group/indicator flex items-center justify-center text-current\"\n\t\t\t>\n\t\t\t\t{/* The indeterminate state draws its own dash instead of a misleading check. */}\n\t\t\t\t<CheckIcon className=\"size-icon-md group-data-[indeterminate]/indicator:hidden\" />\n\t\t\t\t<MinusIcon className=\"hidden size-icon-md group-data-[indeterminate]/indicator:block\" />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t)\n}\n\nexport { Checkbox }\n","import { forwardRef } from 'react';\n\nimport { Checkbox as CheckboxPrimitive, type CheckboxProps as PrimitiveCheckboxProps } from '../../ui/checkbox';\nimport { cn } from '../../../lib/utils';\n\n/**\n * Checkbox — base wrapper around the shadcn/Base UI checkbox primitive.\n *\n * The primitive renders an inline-flex square, so token size utilities render\n * as a box instead of collapsing to the two border lines. Its boundary is the\n * shared `--input` control border, the same one every field, choice control and\n * outline button draws.\n *\n * The root ref accepts the actual HTMLElement, including custom button renders.\n * The compact corner recipe derives from the shared theme radius, so scoped\n * consumer radius overrides still apply. The indeterminate state draws a dash.\n */\nexport interface CheckboxProps extends PrimitiveCheckboxProps {\n\t/** Applies the shared invalid boundary and accessibility state. */\n\tinvalid?: boolean;\n\t/** Boolean checked callback, emitted alongside onCheckedChange. Indeterminate remains a separate visual state. */\n\tonValueChange?: (checked: boolean) => void;\n}\n\nconst Checkbox = forwardRef<HTMLElement, CheckboxProps>(function Checkbox({ className, invalid, onValueChange, onCheckedChange, 'aria-invalid': ariaInvalid, ...props }, ref) {\n\treturn (\n\t\t<CheckboxPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('checkbox--component', className)}\n\t\t\t{...props}\n\t\t\taria-invalid={invalid || ariaInvalid}\n\t\t\tonCheckedChange={(checked) => {\n\t\t\t\tonCheckedChange?.(checked);\n\t\t\t\tonValueChange?.(checked === true);\n\t\t\t}}\n\t\t/>\n\t);\n});\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\n"],"mappings":";;;;;;;;;AAmBA,SAASA,EAAS,EACjB,cACA,oBACA,GAAGO,KACc;CACjB,OACC,kBAACN,EAAkB,MAAnB;EACC,aAAU;EACV,WAAWG,EACV,qNACAK,EAAa,OACbJ,EAAkB,SAClB,kGACA,oHACA,iEACAK,CACD;EACiB;EACjB,GAAIH;EAEJ,UAAA,kBAACN,EAAkB,WAAnB;GACC,aAAU;GACV,WAAU;GAFX,UAAA,CAKC,kBAACU,GAAD,EAAW,WAAU,2DAA4D,CAAA,GACjF,kBAACC,GAAD,EAAW,WAAU,iEAAkE,CAAA,CAC3D;;CACN,CAAA;AAE1B;;;ACzBA,IAAMV,IAAWY,EAAuC,SAAkB,EAAE,cAAW,YAAS,kBAAe,oBAAiB,gBAAgBC,GAAa,GAAGR,KAAS,GAAK;CAC7K,OACC,kBAACJ,GAAD;EACM;EACL,WAAWC,EAAG,uBAAuBM,CAAS;EAC9C,GAAIH;EACJ,gBAAcS,KAAWD;EACzB,kBAAkB,MAAY;GAE7B,AADAE,IAAkBC,CAAO,GACzBC,IAAgBD,MAAY,EAAI;EACjC;CACA,CAAA;AAEH,CAAC;AAED,EAAS,cAAc"}
@@ -1,24 +1,25 @@
1
1
  "use client";
2
- import { S as e, d as t, i as n, v as r } from "./ui-provider-C-74NVLc.js";
2
+ import { C as e, a as t, f as n, y as r } from "./ui-provider-Bu1S-o96.js";
3
3
  import { useStrings as i } from "./lib/strings.js";
4
- import { t as a } from "./utils-DhuoqFy4.js";
5
- import { a as o, c as s } from "./typography-C7-YMW1S.js";
4
+ import { t as a } from "./utils-BVbAG2J6.js";
5
+ import { a as o, c as s } from "./typography-C0dELqYV.js";
6
6
  import { o as c, s as l } from "./text.styles-B64My8RZ.js";
7
- import { t as u } from "./focus-recipes-B653VaLq.js";
8
- import { t as d } from "./anchored-positioning-DPnKTvNs.js";
9
- import { t as f } from "./portal-recipes-DyUXqUtD.js";
10
- import { t as p } from "./motion-recipes-DitYv6P2.js";
11
- import { t as m } from "./structure-DZJ2wbAU.js";
12
- import { a as h } from "./surface-recipes-C8mNycaY.js";
13
- import { n as g, r as _, t as v } from "./popover.recipes-DJ0AkUan.js";
14
- import { n as y, t as b } from "./collection-content-CSnwtOTH.js";
15
- import { t as x } from "./interaction-recipes-4wZ2tvfb.js";
16
- import { t as S } from "./field-state-recipes-7sza8QbC.js";
17
- import { r as C } from "./field-affordance-recipes-D6H7tVJi.js";
18
- import { d as w, h as T, p as E, s as D, y as O } from "./form-sizing-CgcrUbLU.js";
19
- import { t as k } from "./checkbox-MoyHIAPs.js";
20
- import * as A from "react";
21
- import { forwardRef as j, memo as M, useCallback as N, useId as P, useMemo as F, useState as I } from "react";
7
+ import { t as u } from "./focus-recipes-DSkiUvUp.js";
8
+ import { n as d } from "./anchored-positioning-1U_eBFNx.js";
9
+ import { t as f } from "./portal-recipes-BPeS4rGB.js";
10
+ import { t as p } from "./motion-recipes-CUc_aHuG.js";
11
+ import { t as m } from "./structure-DElaQwwN.js";
12
+ import { s as h } from "./surface-recipes-DV6rrOFq.js";
13
+ import { n as g, r as _, t as v } from "./popover.recipes-BqkdvlZn.js";
14
+ import { n as y, t as b } from "./collection-content-D7SoDlYd.js";
15
+ import { t as x } from "./interaction-recipes-DmuS1ase.js";
16
+ import { t as S } from "./field-state-recipes-EtCxpEy3.js";
17
+ import { r as C } from "./field-affordance-recipes-DfbMadot.js";
18
+ import { d as w, h as T, p as E, s as D, y as O } from "./form-sizing-DE_dZw32.js";
19
+ import { t as k } from "./use-controllable-state-BlP8SyBI.js";
20
+ import { t as A } from "./checkbox-Dy5_XBMZ.js";
21
+ import * as j from "react";
22
+ import { forwardRef as M, memo as N, useCallback as P, useId as F, useMemo as I } from "react";
22
23
  import { jsx as L, jsxs as R } from "react/jsx-runtime";
23
24
  import { CheckIcon as z, ChevronDownIcon as B, ChevronUpIcon as V, CircleCheck as H } from "lucide-react";
24
25
  import { Select as U } from "@base-ui/react/select";
@@ -53,8 +54,8 @@ function re({ className: e, size: t = "default", iconClassName: n, children: r,
53
54
  }) })]
54
55
  });
55
56
  }
56
- function ie({ className: e, container: t, children: r, side: i = "bottom", sideOffset: o = 4, align: s = "center", alignOffset: c = 0, alignItemWithTrigger: l = !0, positionMethod: u = d, ...m }) {
57
- let g = n(t);
57
+ function ie({ className: e, container: n, children: r, side: i = "bottom", sideOffset: o = 4, align: s = "center", alignOffset: c = 0, alignItemWithTrigger: l = !0, positionMethod: u = d, ...m }) {
58
+ let g = t(n);
58
59
  return /* @__PURE__ */ L(U.Portal, {
59
60
  container: g,
60
61
  className: f(),
@@ -228,8 +229,8 @@ function Se({ option: e, size: t }) {
228
229
  descriptionClassName: "select--option-description line-clamp-2"
229
230
  });
230
231
  }
231
- var Ce = M(j(function(e, n) {
232
- let r = Object.prototype.hasOwnProperty.call(e, "value"), { options: o, density: s, placeholder: c, strings: l, allowClear: u = !1, invalid: d, size: f, className: p, contentClassName: m, onValueChange: h, disabled: g, readOnly: _, defaultOpen: v, open: y, onOpenChange: b, onOpenChangeComplete: x, modal: S, highlightItemOnHover: w, name: T, form: D, autoComplete: k, inputRef: A, id: j, required: M, "aria-label": P, "aria-labelledby": I, "aria-describedby": z, "aria-invalid": B, onFocus: V, onBlur: H, value: U, defaultValue: W, renderOption: G, renderValue: K, ...te } = e, ie = i(he, l), { defaultScale: ae } = t(), q = O(f, ae), J = c ?? ie.placeholder, Y = F(() => {
232
+ var Ce = N(M(function(e, t) {
233
+ let r = Object.prototype.hasOwnProperty.call(e, "value"), { options: o, density: s, placeholder: c, strings: l, allowClear: u = !1, invalid: d, size: f, className: p, contentClassName: m, onValueChange: h, disabled: g, readOnly: _, defaultOpen: v, open: y, onOpenChange: b, onOpenChangeComplete: x, modal: S, highlightItemOnHover: w, name: T, form: D, autoComplete: k, inputRef: A, id: j, required: M, "aria-label": N, "aria-labelledby": F, "aria-describedby": z, "aria-invalid": B, onFocus: V, onBlur: H, value: U, defaultValue: W, renderOption: G, renderValue: K, ...te } = e, ie = i(he, l), { defaultScale: ae } = n(), q = O(f, ae), J = c ?? ie.placeholder, Y = I(() => {
233
234
  let e = o.map((e) => ({
234
235
  option: e,
235
236
  internalValue: _e(e.value)
@@ -245,10 +246,10 @@ var Ce = M(j(function(e, n) {
245
246
  u,
246
247
  o,
247
248
  J
248
- ]), oe = F(() => new Map(Y.map((e) => [e.internalValue, e.option])), [Y]), X = ve(U), se = ve(W), ce = N((e) => {
249
+ ]), oe = I(() => new Map(Y.map((e) => [e.internalValue, e.option])), [Y]), X = ve(U), se = ve(W), ce = P((e) => {
249
250
  let t = ye(e);
250
251
  h?.(t);
251
- }, [h]), fe = N((e) => ye(e) ?? "", []);
252
+ }, [h]), fe = P((e) => ye(e) ?? "", []);
252
253
  return /* @__PURE__ */ R(ee, {
253
254
  onValueChange: ce,
254
255
  disabled: g,
@@ -269,9 +270,9 @@ var Ce = M(j(function(e, n) {
269
270
  itemToStringValue: fe,
270
271
  ...r ? { value: X } : {},
271
272
  children: [/* @__PURE__ */ L(re, {
272
- ref: n,
273
- "aria-label": P,
274
- "aria-labelledby": I,
273
+ ref: t,
274
+ "aria-label": N,
275
+ "aria-labelledby": F,
275
276
  "aria-describedby": z,
276
277
  "aria-invalid": d ? !0 : B,
277
278
  onFocus: V,
@@ -327,14 +328,14 @@ function we({ className: e, size: t = "default", ...n }) {
327
328
  }
328
329
  //#endregion
329
330
  //#region src/components/base/choice-inputs/switch.tsx
330
- var Q = j(function({ onValueChange: n, size: r, invalid: i, className: o, id: s, name: c, "aria-invalid": l, ...u }, d) {
331
- let { defaultScale: f } = t(), p = e(r, f), m = i ? !0 : l, h = m !== void 0 && m !== !1 && m !== "false";
331
+ var Q = M(function({ onValueChange: t, size: r, invalid: i, className: o, id: s, name: c, "aria-invalid": l, ...u }, d) {
332
+ let { defaultScale: f } = n(), p = e(r, f), m = i ? !0 : l, h = m !== void 0 && m !== !1 && m !== "false";
332
333
  return /* @__PURE__ */ L(we, {
333
334
  ref: d,
334
335
  ...u,
335
336
  id: s,
336
337
  name: c,
337
- onCheckedChange: (e) => n?.(e),
338
+ onCheckedChange: (e) => t?.(e),
338
339
  size: p === "sm" ? "sm" : "default",
339
340
  "aria-invalid": m,
340
341
  className: a("switch--component", p === "lg" && "h-6! w-11! [&_[data-slot=switch-thumb]]:size-5! [&[data-checked]_[data-slot=switch-thumb]]:translate-x-[20px]!", h && "data-unchecked:border-destructive", o)
@@ -370,27 +371,26 @@ var Te = {
370
371
  sm: "px-row-x py-row-y-sm",
371
372
  md: "px-row-x py-row-y",
372
373
  lg: "px-row-x py-row-y-lg"
373
- }, Oe = `${x.tileHover} ${u.frame}`, $ = "flex h-lh shrink-0 items-center", ke = "size-action-sm shrink-0 text-primary-foreground fill-primary stroke-primary-foreground", Ae = "inline-flex size-action-sm shrink-0 items-center justify-center", je = A.forwardRef(function({ "aria-describedby": n, "aria-invalid": r, controlRef: i, onBlur: c, id: l, label: u, description: d, hint: f, icon: p, name: h, value: g, defaultValue: _, onValueChange: v, disabled: y = !1, invalid: b, className: x }, C) {
374
- let w = g !== void 0, [E, D] = I(_ ?? !1), O = w ? g ?? !1 : E, { defaultScale: k } = t(), A = T[e(void 0, k)], j = P(), M = l ?? j, F = typeof d == "string" && d.trim() !== "", z = F ? `${M}-description` : void 0, B = N((e) => {
375
- y || (w || D(e), v?.(e));
376
- }, [
377
- y,
378
- w,
379
- v
380
- ]), V = N((e) => {
381
- e.target.closest("[role=\"switch\"]") || B(!O);
382
- }, [O, B]);
374
+ }, Oe = `${x.tileHover} ${u.frame}`, $ = "flex h-lh shrink-0 items-center", ke = "size-action-sm shrink-0 text-primary-foreground fill-primary stroke-primary-foreground", Ae = "inline-flex size-action-sm shrink-0 items-center justify-center", je = j.forwardRef(function({ "aria-describedby": t, "aria-invalid": r, controlRef: i, onBlur: c, id: l, label: u, description: d, hint: f, icon: p, name: h, value: g, defaultValue: _, onValueChange: v, disabled: y = !1, invalid: b, className: x }, C) {
375
+ let [w, E] = k({
376
+ value: g,
377
+ defaultValue: _ ?? !1,
378
+ onChange: v
379
+ }), { defaultScale: D } = n(), O = T[e(void 0, D)], A = F(), j = l ?? A, M = typeof d == "string" && d.trim() !== "", N = M ? `${j}-description` : void 0, I = P((e) => {
380
+ y || E(e);
381
+ }, [y, E]), z = P((e) => {
382
+ e.target.closest("[role=\"switch\"]") || I(!w);
383
+ }, [w, I]);
383
384
  return /* @__PURE__ */ R("div", {
384
385
  ref: C,
385
386
  "aria-invalid": b || r,
386
- onClick: V,
387
- className: a("switch-card--component", "group relative flex items-start gap-space-lg rounded-surface border bg-card text-card-foreground p-surface transition-[background,border-color,box-shadow] duration-150", "border-border", O && "border-primary", S.invalid, !y && "cursor-pointer hover:border-input", y && "cursor-not-allowed opacity-50", x),
387
+ onClick: z,
388
+ className: a("switch-card--component", "group relative flex items-start gap-space-lg rounded-surface border bg-card text-card-foreground p-surface transition-[background,border-color,box-shadow] duration-150", "border-border", w && "border-primary", S.invalid, !y && "cursor-pointer hover:border-input", y && "cursor-not-allowed opacity-50", x),
388
389
  children: [
389
390
  !!h && /* @__PURE__ */ L("input", {
390
391
  type: "hidden",
391
392
  name: h,
392
- value: O ? "1" : "0",
393
- "aria-hidden": "true"
393
+ value: w ? "1" : "0"
394
394
  }),
395
395
  !!p && /* @__PURE__ */ L("span", {
396
396
  className: a("switch-card--icon size-control", "inline-flex shrink-0 items-center justify-center rounded-radius bg-muted text-muted-foreground"),
@@ -401,12 +401,12 @@ var Te = {
401
401
  className: "min-w-0 flex-1",
402
402
  children: [
403
403
  /* @__PURE__ */ L(o, {
404
- htmlFor: M,
404
+ htmlFor: j,
405
405
  className: a("block text-inherit", y ? "cursor-not-allowed" : "cursor-pointer"),
406
406
  children: u
407
407
  }),
408
- !!F && /* @__PURE__ */ L(s, {
409
- id: z,
408
+ !!M && /* @__PURE__ */ L(s, {
409
+ id: N,
410
410
  size: "xs",
411
411
  type: "secondary",
412
412
  children: d
@@ -419,18 +419,18 @@ var Te = {
419
419
  ]
420
420
  }),
421
421
  /* @__PURE__ */ L("div", {
422
- className: a("switch-card--control", $, A),
422
+ className: a("switch-card--control", $, O),
423
423
  children: /* @__PURE__ */ L(Q, {
424
424
  className: "data-disabled:opacity-100",
425
- id: M,
425
+ id: j,
426
426
  ref: i,
427
427
  onBlur: c,
428
- checked: O,
429
- onValueChange: B,
428
+ checked: w,
429
+ onValueChange: I,
430
430
  disabled: y,
431
431
  invalid: b || !!(r && r !== "false"),
432
432
  "aria-label": u,
433
- "aria-describedby": [n, z].filter(Boolean).join(" ") || void 0
433
+ "aria-describedby": [t, N].filter(Boolean).join(" ") || void 0
434
434
  })
435
435
  })
436
436
  ]
@@ -442,51 +442,51 @@ je.displayName = "SwitchCard";
442
442
  function Me(e) {
443
443
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
444
444
  }
445
- var Ne = j(function({ "aria-describedby": n, "aria-invalid": r, controlRef: i, onBlur: c, id: l, label: u, description: d, kind: f = "switch", value: p, defaultValue: h, onValueChange: g, disabled: _ = !1, invalid: v = !1, name: y, className: b, controlPosition: x = "trailing" }, S) {
446
- let C = p !== void 0, [w, E] = I(h ?? !1), D = C ? p ?? !1 : w, { defaultScale: O } = t(), A = a("toggle-field--control", $, T[e(void 0, O)]), j = P(), M = l ?? j, F = `${M}-label`, z = d != null && d !== !1, B = z ? `${M}-description` : void 0, V = N((e) => {
447
- _ || (C || E(e), g?.(e));
448
- }, [
449
- _,
450
- C,
451
- g
452
- ]), H = (e) => {
453
- e.target.closest("[role=\"switch\"], [role=\"checkbox\"], input[type=\"checkbox\"]") || V(!D);
454
- }, U = f === "switch" ? /* @__PURE__ */ L(Q, {
445
+ var Ne = M(function({ "aria-describedby": t, "aria-invalid": r, controlRef: i, onBlur: c, id: l, label: u, description: d, kind: f = "switch", value: p, defaultValue: h, onValueChange: g, disabled: _ = !1, invalid: v = !1, name: y, className: b, controlPosition: x = "trailing" }, S) {
446
+ let [C, w] = k({
447
+ value: p,
448
+ defaultValue: h ?? !1,
449
+ onChange: g
450
+ }), { defaultScale: E } = n(), D = a("toggle-field--control", $, T[e(void 0, E)]), O = F(), j = l ?? O, M = `${j}-label`, N = d != null && d !== !1, I = N ? `${j}-description` : void 0, z = P((e) => {
451
+ _ || w(e);
452
+ }, [_, w]), B = (e) => {
453
+ e.target.closest("[role=\"switch\"], [role=\"checkbox\"], input[type=\"checkbox\"]") || z(!C);
454
+ }, V = f === "switch" ? /* @__PURE__ */ L(Q, {
455
455
  className: "after:inset-x-0",
456
- id: M,
456
+ id: j,
457
457
  ref: i,
458
458
  onBlur: c,
459
459
  name: y,
460
- checked: D,
461
- onValueChange: V,
460
+ checked: C,
461
+ onValueChange: z,
462
462
  disabled: _,
463
463
  invalid: v || !!(r && r !== "false"),
464
- "aria-labelledby": F,
465
- "aria-describedby": [n, B].filter(Boolean).join(" ") || void 0
466
- }) : /* @__PURE__ */ L(k, {
467
- id: M,
464
+ "aria-labelledby": M,
465
+ "aria-describedby": [t, I].filter(Boolean).join(" ") || void 0
466
+ }) : /* @__PURE__ */ L(A, {
467
+ id: j,
468
468
  ref: i,
469
469
  onBlur: c,
470
470
  name: y,
471
- checked: D,
472
- onCheckedChange: (e) => V(e === !0),
471
+ checked: C,
472
+ onCheckedChange: (e) => z(e === !0),
473
473
  disabled: _,
474
474
  "aria-invalid": v || r,
475
- "aria-labelledby": F,
476
- "aria-describedby": [n, B].filter(Boolean).join(" ") || void 0
477
- }), W = /* @__PURE__ */ R(m, {
475
+ "aria-labelledby": M,
476
+ "aria-describedby": [t, I].filter(Boolean).join(" ") || void 0
477
+ }), H = /* @__PURE__ */ R(m, {
478
478
  gap: "dense",
479
479
  className: "min-w-0 flex-1",
480
480
  children: [/* @__PURE__ */ L("div", {
481
- id: F,
481
+ id: M,
482
482
  children: Me(u) ? /* @__PURE__ */ L(o, {
483
- htmlFor: M,
483
+ htmlFor: j,
484
484
  "data-disabled": _ || void 0,
485
485
  className: a("block text-inherit data-disabled:opacity-50", _ ? "cursor-not-allowed" : "cursor-pointer"),
486
486
  children: u
487
487
  }) : u
488
- }), z && /* @__PURE__ */ L("div", {
489
- id: B,
488
+ }), N && /* @__PURE__ */ L("div", {
489
+ id: I,
490
490
  children: Me(d) ? /* @__PURE__ */ L(s, {
491
491
  size: "xs",
492
492
  type: "secondary",
@@ -501,17 +501,17 @@ var Ne = j(function({ "aria-describedby": n, "aria-invalid": r, controlRef: i, o
501
501
  wrap: !1,
502
502
  gap: "md",
503
503
  role: "group",
504
- onClick: H,
504
+ onClick: B,
505
505
  className: a("toggle-field--component rounded-radius py-row-y", _ && "pointer-events-none", b),
506
506
  children: [
507
507
  x === "leading" && /* @__PURE__ */ L("div", {
508
- className: A,
509
- children: U
508
+ className: D,
509
+ children: V
510
510
  }),
511
- W,
511
+ H,
512
512
  x === "trailing" && /* @__PURE__ */ L("div", {
513
- className: A,
514
- children: U
513
+ className: D,
514
+ children: V
515
515
  })
516
516
  ]
517
517
  });
@@ -527,21 +527,20 @@ var Fe = {
527
527
  2: "grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2",
528
528
  3: "grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2 @xl/card-checkbox-group:grid-cols-3",
529
529
  4: "grid grid-cols-1 gap-space-md @sm/card-checkbox-group:grid-cols-2 @2xl/card-checkbox-group:grid-cols-4"
530
- }, Ie = j(function({ "aria-label": e, "aria-labelledby": n, "aria-describedby": i, options: o, value: u, defaultValue: d, onValueChange: f, name: p, columns: h = 3, invalid: g, disabled: _, size: v, className: y }, b) {
531
- let { defaultScale: x } = t(), { defaultTextSize: C } = r(), w = O(v, x), T = a("card-checkbox-group--marker", $, l[C ?? "sm"], c.normal), E = u !== void 0, [D, k] = I(d ?? []), A = F(() => E ? u ?? [] : D, [
532
- D,
533
- E,
534
- u
535
- ]), j = Te[w], M = N((e) => {
530
+ }, Ie = M(function({ "aria-label": e, "aria-labelledby": t, "aria-describedby": i, options: o, value: u, defaultValue: d, onValueChange: f, name: p, columns: h = 3, invalid: g, disabled: _, size: v, className: y }, b) {
531
+ let { defaultScale: x } = n(), { defaultTextSize: C } = r(), w = O(v, x), T = a("card-checkbox-group--marker", $, l[C ?? "sm"], c.normal), [E, D] = k({
532
+ value: u,
533
+ defaultValue: d ?? [],
534
+ onChange: f
535
+ }), A = Te[w], j = P((e) => {
536
536
  if (_ || o.find((t) => t.value === e)?.disabled) return;
537
- let t = A.includes(e) ? A.filter((t) => t !== e) : [...A, e];
538
- E || k(t), f?.(t);
537
+ let t = E.includes(e) ? E.filter((t) => t !== e) : [...E, e];
538
+ D(t);
539
539
  }, [
540
540
  _,
541
541
  o,
542
- A,
543
542
  E,
544
- f
543
+ D
545
544
  ]);
546
545
  return /* @__PURE__ */ L("div", {
547
546
  ref: b,
@@ -550,12 +549,12 @@ var Fe = {
550
549
  className: a("card-checkbox-group--grid", Fe[h]),
551
550
  role: "group",
552
551
  "aria-label": e,
553
- "aria-labelledby": n,
552
+ "aria-labelledby": t,
554
553
  "aria-describedby": i,
555
554
  "aria-invalid": g || void 0,
556
555
  "aria-disabled": _ || void 0,
557
556
  children: o.map((e) => {
558
- let t = e.icon, n = e.label, r = A.includes(e.value), i = _ || e.disabled, o = !!p && r, c = p ? `${p}[]` : void 0;
557
+ let t = e.icon, n = e.label, r = E.includes(e.value), i = _ || e.disabled, o = !!p && r, c = p ? `${p}[]` : void 0;
559
558
  return /* @__PURE__ */ R("div", {
560
559
  className: "relative",
561
560
  children: [/* @__PURE__ */ L("input", {
@@ -569,15 +568,15 @@ var Fe = {
569
568
  type: "button",
570
569
  "aria-pressed": r,
571
570
  "aria-invalid": g || void 0,
572
- onClick: () => M(e.value),
571
+ onClick: () => j(e.value),
573
572
  disabled: i,
574
573
  "data-selected": r,
575
- className: a("box-border group relative flex w-full flex-col items-start text-start outline-none cursor-pointer", "rounded-surface border border-border bg-card text-card-foreground transition-[color,box-shadow,background,border-color] duration-150", Oe, "data-[selected=true]:border-primary", j.padding, j.gap, S.invalid, "disabled:cursor-not-allowed disabled:opacity-50"),
574
+ className: a("box-border group relative flex w-full flex-col items-start text-start outline-none cursor-pointer", "rounded-surface border border-border bg-card text-card-foreground transition-[color,box-shadow,background,border-color] duration-150", Oe, "data-[selected=true]:border-primary", A.padding, A.gap, S.invalid, "disabled:cursor-not-allowed disabled:opacity-50"),
576
575
  children: [!!t && /* @__PURE__ */ L("span", {
577
- className: a("inline-flex shrink-0 items-center justify-center rounded-radius bg-muted text-muted-foreground", j.iconBox),
578
- children: /* @__PURE__ */ L(t, { className: j.iconSize })
576
+ className: a("inline-flex shrink-0 items-center justify-center rounded-radius bg-muted text-muted-foreground", A.iconBox),
577
+ children: /* @__PURE__ */ L(t, { className: A.iconSize })
579
578
  }), /* @__PURE__ */ R("span", {
580
- className: a("card-checkbox-group--body flex w-full min-w-0 items-start", j.gap),
579
+ className: a("card-checkbox-group--body flex w-full min-w-0 items-start", A.gap),
581
580
  children: [/* @__PURE__ */ R(m, {
582
581
  gap: "dense",
583
582
  className: "min-w-0 flex-1",
@@ -618,8 +617,8 @@ var Re = {
618
617
  3: "grid grid-cols-1 gap-space-md @sm/card-radio-group:grid-cols-2 @xl/card-radio-group:grid-cols-3",
619
618
  4: "grid grid-cols-1 gap-space-md @sm/card-radio-group:grid-cols-2 @2xl/card-radio-group:grid-cols-4"
620
619
  };
621
- function ze({ "aria-label": e, "aria-labelledby": n, "aria-describedby": i, options: o, value: u, defaultValue: d, onValueChange: f, name: p, columns: h = 3, invalid: g, disabled: _, size: v, className: y }, b) {
622
- let { defaultScale: x } = t(), { defaultTextSize: C } = r(), w = O(v, x), T = a("card-radio-group--marker", $, l[C ?? "sm"], c.normal), E = Te[w], D = F(() => a("card-radio-group--grid", Re[h]), [h]);
620
+ function ze({ "aria-label": e, "aria-labelledby": t, "aria-describedby": i, options: o, value: u, defaultValue: d, onValueChange: f, name: p, columns: h = 3, invalid: g, disabled: _, size: v, className: y }, b) {
621
+ let { defaultScale: x } = n(), { defaultTextSize: C } = r(), w = O(v, x), T = a("card-radio-group--marker", $, l[C ?? "sm"], c.normal), E = Te[w], D = I(() => a("card-radio-group--grid", Re[h]), [h]);
623
622
  return /* @__PURE__ */ L("div", {
624
623
  ref: b,
625
624
  className: a("card-radio-group--component @container/card-radio-group", y),
@@ -630,7 +629,7 @@ function ze({ "aria-label": e, "aria-labelledby": n, "aria-describedby": i, opti
630
629
  name: p,
631
630
  disabled: _,
632
631
  "aria-label": e,
633
- "aria-labelledby": n,
632
+ "aria-labelledby": t,
634
633
  "aria-describedby": i,
635
634
  "aria-invalid": g || void 0,
636
635
  className: D,
@@ -673,19 +672,19 @@ function ze({ "aria-label": e, "aria-labelledby": n, "aria-describedby": i, opti
673
672
  })
674
673
  });
675
674
  }
676
- var Be = M(A.forwardRef(ze));
675
+ var Be = N(j.forwardRef(ze));
677
676
  Be.displayName = "CardRadioGroup";
678
677
  //#endregion
679
678
  //#region src/components/base/choice-inputs/list-radio-group.tsx
680
679
  function Ve(e) {
681
680
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
682
681
  }
683
- var He = j(function({ "aria-label": e, "aria-labelledby": n, "aria-describedby": i, options: o, value: c, defaultValue: u, onValueChange: d, name: f, invalid: p, disabled: h, size: g, className: _ }, v) {
684
- let { defaultScale: y } = t(), { defaultTextSize: b } = r(), C = De[O(g, y)], w = a(l[b ?? "sm"], "leading-tight");
682
+ var He = M(function({ "aria-label": e, "aria-labelledby": t, "aria-describedby": i, options: o, value: c, defaultValue: u, onValueChange: d, name: f, invalid: p, disabled: h, size: g, className: _ }, v) {
683
+ let { defaultScale: y } = n(), { defaultTextSize: b } = r(), C = De[O(g, y)], w = a(l[b ?? "sm"], "leading-tight");
685
684
  return /* @__PURE__ */ L(K, {
686
685
  ref: v,
687
686
  "aria-label": e,
688
- "aria-labelledby": n,
687
+ "aria-labelledby": t,
689
688
  "aria-describedby": i,
690
689
  value: c,
691
690
  defaultValue: u,
@@ -728,14 +727,14 @@ var He = j(function({ "aria-label": e, "aria-labelledby": n, "aria-describedby":
728
727
  He.displayName = "ListRadioGroup";
729
728
  //#endregion
730
729
  //#region src/components/base/choice-inputs/pill-radio-group.tsx
731
- var Ue = /* @__PURE__ */ new Set(["ArrowRight", "ArrowDown"]), We = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowUp"]), Ge = A.forwardRef(function(e, n) {
732
- let { name: r, value: i, defaultValue: o, options: c, onValueChange: l, allowClear: d = !1, size: f, fullWidth: p = !1, disabled: m = !1, invalid: h = !1, className: g, "aria-label": _, "aria-labelledby": v, "aria-describedby": y } = e, b = Object.hasOwn(e, "value"), [x, C] = A.useState(o ?? null), T = b ? i : x, { defaultScale: E } = t(), D = O(f, E), k = A.useRef([]), j = A.useCallback((e) => !m && !e.disabled, [m]), M = c.findIndex((e) => e.value === T), N = c[M], P = N && j(N) ? M : c.findIndex(j), F = (e) => {
730
+ var Ue = /* @__PURE__ */ new Set(["ArrowRight", "ArrowDown"]), We = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowUp"]), Ge = j.forwardRef(function(e, t) {
731
+ let { name: r, value: i, defaultValue: o, options: c, onValueChange: l, allowClear: d = !1, size: f, fullWidth: p = !1, disabled: m = !1, invalid: h = !1, className: g, "aria-label": _, "aria-labelledby": v, "aria-describedby": y } = e, b = Object.hasOwn(e, "value"), [x, C] = j.useState(o ?? null), T = b ? i : x, { defaultScale: E } = n(), D = O(f, E), k = j.useRef([]), A = j.useCallback((e) => !m && !e.disabled, [m]), M = c.findIndex((e) => e.value === T), N = c[M], P = N && A(N) ? M : c.findIndex(A), F = (e) => {
733
732
  b || C(e), l?.(e);
734
733
  }, I = (e) => {
735
734
  e === T ? d && F(null) : F(e);
736
735
  };
737
736
  return /* @__PURE__ */ R("div", {
738
- ref: n,
737
+ ref: t,
739
738
  "data-name": r,
740
739
  role: "radiogroup",
741
740
  "aria-label": _,
@@ -744,7 +743,7 @@ var Ue = /* @__PURE__ */ new Set(["ArrowRight", "ArrowDown"]), We = /* @__PURE__
744
743
  "aria-invalid": h || void 0,
745
744
  "aria-disabled": m || void 0,
746
745
  onKeyDown: (e) => {
747
- let t = c.map((e, t) => j(e) ? t : -1).filter((e) => e >= 0);
746
+ let t = c.map((e, t) => A(e) ? t : -1).filter((e) => e >= 0);
748
747
  if (!t.length) return;
749
748
  let n = k.current.findIndex((t) => t === e.target);
750
749
  if (n < 0) return;
@@ -775,7 +774,7 @@ var Ue = /* @__PURE__ */ new Set(["ArrowRight", "ArrowDown"]), We = /* @__PURE__
775
774
  children: e.label
776
775
  }) : e.label]
777
776
  }, e.value);
778
- }), r && N && j(N) && /* @__PURE__ */ L("input", {
777
+ }), r && N && A(N) && /* @__PURE__ */ L("input", {
779
778
  type: "hidden",
780
779
  name: r,
781
780
  value: N.value
@@ -786,4 +785,4 @@ Ge.displayName = "PillRadioGroup";
786
785
  //#endregion
787
786
  export { re as _, Ne as a, Q as c, le as d, ue as f, ee as g, me as h, Ie as i, Ce as l, pe as m, He as n, je as o, de as p, Be as r, $ as s, Ge as t, he as u, ne as v };
788
787
 
789
- //# sourceMappingURL=choice-inputs-DHGtx0QV.js.map
788
+ //# sourceMappingURL=choice-inputs-oJEsrb5Y.js.map