themelia-react-ui 2.0.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. package/CHANGELOG.md +326 -0
  2. package/MIGRATION.md +858 -0
  3. package/README.md +35 -24
  4. package/dist/{accordion-B9MHG0cT.js → accordion-DNVqwEIC.js} +37 -37
  5. package/dist/accordion-DNVqwEIC.js.map +1 -0
  6. package/dist/action-menu-D5343RwT.js +286 -0
  7. package/dist/action-menu-D5343RwT.js.map +1 -0
  8. package/dist/ai-artifact-otrz9ZwS.js +1214 -0
  9. package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
  10. package/dist/anchored-positioning-1U_eBFNx.js +9 -0
  11. package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
  12. package/dist/app-shell-CPN30Nb1.js +372 -0
  13. package/dist/app-shell-CPN30Nb1.js.map +1 -0
  14. package/dist/{attachment-Dg_69lPS.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-Dg_69lPS.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-DTkkshS8.js → auth-g_oUTDDC.js} +236 -243
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-CeZaFmNH.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-CeZaFmNH.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-xIiV_E7f.js → badge-oGiXblW7.js} +8 -9
  21. package/dist/badge-oGiXblW7.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +2 -2
  29. package/dist/base/cards.js +3 -3
  30. package/dist/base/carousel.js +11 -11
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +2 -2
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +4 -4
  42. package/dist/base/forms-numeric.js +2 -2
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +13 -13
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +203 -2
  48. package/dist/base/media-gallery.js.map +1 -0
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +32 -22
  54. package/dist/base/qr-code.js.map +1 -1
  55. package/dist/base/repeaters.js +208 -198
  56. package/dist/base/repeaters.js.map +1 -1
  57. package/dist/base/sidebar.js +2 -2
  58. package/dist/base/signature-pad.js +14 -14
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +8 -14
  62. package/dist/base/spinner.js.map +1 -1
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +3 -3
  66. package/dist/base/toaster.js +2 -2
  67. package/dist/base/tree.js +2 -2
  68. package/dist/base/upload-queue.js +303 -2
  69. package/dist/base/upload-queue.js.map +1 -0
  70. package/dist/base/upload.js +3 -4
  71. package/dist/base/value-inputs.js +1 -1
  72. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
  74. package/dist/blocks/admin.js +242 -228
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +398 -354
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/charts.js +1022 -0
  79. package/dist/blocks/analytics/charts.js.map +1 -0
  80. package/dist/blocks/analytics/usage-card.js +1 -1
  81. package/dist/blocks/analytics.js +173 -1392
  82. package/dist/blocks/analytics.js.map +1 -1
  83. package/dist/blocks/collaboration.js +1 -1
  84. package/dist/blocks/commerce/receipt.js +1 -1
  85. package/dist/blocks/commerce.js +1533 -1399
  86. package/dist/blocks/commerce.js.map +1 -1
  87. package/dist/blocks/data-display.js +2 -3
  88. package/dist/blocks/onboarding.js +91 -82
  89. package/dist/blocks/onboarding.js.map +1 -1
  90. package/dist/blocks/planning.js +25 -25
  91. package/dist/blocks/planning.js.map +1 -1
  92. package/dist/blocks/timelines.js +2 -2
  93. package/dist/breadcrumbs-CQ9JSlez.js +136 -0
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-S2Cubiiz.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-BedGfygC.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-rNX1M4Xn.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-rNX1M4Xn.js.map → cards-CgWyqvgZ.js.map} +1 -1
  101. package/dist/cascader-Cf05pwaq.js +444 -0
  102. package/dist/cascader-Cf05pwaq.js.map +1 -0
  103. package/dist/{chart-Darg_0Kv.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-Darg_0Kv.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-fflqmODR.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-fflqmODR.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-oJEsrb5Y.js} +195 -184
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BzmM9Eig.js → code-block-BrLD7mCi.js} +44 -60
  110. package/dist/code-block-BrLD7mCi.js.map +1 -0
  111. package/dist/collapsible-CRCCg_bO.js +80 -0
  112. package/dist/collapsible-CRCCg_bO.js.map +1 -0
  113. package/dist/{collection-content-gDh1v6O4.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-D7SoDlYd.js.map} +1 -1
  115. package/dist/combobox-Dl6f6kHz.js +362 -0
  116. package/dist/combobox-Dl6f6kHz.js.map +1 -0
  117. package/dist/combobox-DrDXtSSt.js +929 -0
  118. package/dist/combobox-DrDXtSSt.js.map +1 -0
  119. package/dist/command-CjZ2VzKC.js +432 -0
  120. package/dist/command-CjZ2VzKC.js.map +1 -0
  121. package/dist/comments-C2MZyRmh.js +1214 -0
  122. package/dist/comments-C2MZyRmh.js.map +1 -0
  123. package/dist/components/base/accordion/accordion.d.ts +11 -3
  124. package/dist/components/base/action-menu/action-menu.d.ts +11 -3
  125. package/dist/components/base/buttons/button.d.ts +2 -2
  126. package/dist/components/base/buttons/index.d.ts +1 -1
  127. package/dist/components/base/buttons/loader-button.d.ts +6 -15
  128. package/dist/components/base/cards/index.d.ts +1 -1
  129. package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
  130. package/dist/components/base/cards/smart-card.d.ts +0 -2
  131. package/dist/components/base/cards/smart-card.types.d.ts +12 -10
  132. package/dist/components/base/cascader/cascader.d.ts +8 -2
  133. package/dist/components/base/cascader/cascader.types.d.ts +24 -2
  134. package/dist/components/base/cascader/index.d.ts +1 -1
  135. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  136. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  137. package/dist/components/base/choice-inputs/switch.d.ts +1 -1
  138. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  139. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  140. package/dist/components/base/command/command.d.ts +1 -1
  141. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  142. package/dist/components/base/date-pickers/datepicker.types.d.ts +11 -7
  143. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  144. package/dist/components/base/display/dialog.d.ts +3 -9
  145. package/dist/components/base/display/index.d.ts +2 -3
  146. package/dist/components/base/display/separator.d.ts +1 -1
  147. package/dist/components/base/feedback/alert.d.ts +2 -1
  148. package/dist/components/base/feedback/empty.d.ts +10 -2
  149. package/dist/components/base/feedback/state-display.d.ts +5 -1
  150. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  151. package/dist/components/base/forms/form-field.d.ts +7 -2
  152. package/dist/components/base/forms/workflow.d.ts +2 -2
  153. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  154. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  155. package/dist/components/base/forms-numeric/dimensions-input.d.ts +13 -18
  156. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  157. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  158. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  159. package/dist/components/base/item/item.types.d.ts +6 -2
  160. package/dist/components/base/metadata-list/index.d.ts +1 -3
  161. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  162. package/dist/components/base/navigation/index.d.ts +2 -2
  163. package/dist/components/base/navigation/language-switcher.d.ts +17 -8
  164. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  165. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  166. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  167. package/dist/components/base/navigation/pagination.d.ts +5 -5
  168. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  169. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  170. package/dist/components/base/repeaters/index.d.ts +1 -1
  171. package/dist/components/base/repeaters/key-value-editor.d.ts +6 -1
  172. package/dist/components/base/sheet/sheet.d.ts +6 -15
  173. package/dist/components/base/sidebar/index.d.ts +1 -6
  174. package/dist/components/base/sidebar/sidebar.d.ts +40 -10
  175. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  176. package/dist/components/base/structure/structure.types.d.ts +11 -2
  177. package/dist/components/base/text-inputs/index.d.ts +1 -1
  178. package/dist/components/base/tree/index.d.ts +1 -0
  179. package/dist/components/base/tree/tree.d.ts +2 -2
  180. package/dist/components/base/tree/tree.types.d.ts +7 -1
  181. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  182. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  183. package/dist/components/base/upload/image-upload.d.ts +4 -1
  184. package/dist/components/base/upload/index.d.ts +3 -9
  185. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  186. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  187. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  188. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  189. package/dist/components/blocks/admin/index.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  191. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  192. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  193. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  194. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  195. package/dist/components/blocks/ai/ai-citation/types.d.ts +8 -0
  196. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  197. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  198. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  199. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  200. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  201. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  202. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  203. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  204. package/dist/components/blocks/ai/ai-sources/types.d.ts +10 -2
  205. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  206. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  207. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  208. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +8 -0
  209. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  210. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  211. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  212. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  213. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  214. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  215. package/dist/components/blocks/analytics/index.d.ts +17 -24
  216. package/dist/components/blocks/analytics/metric/metric.d.ts +7 -3
  217. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  218. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  219. package/dist/components/blocks/analytics/types.d.ts +13 -4
  220. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  221. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  222. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  223. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  224. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  225. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  226. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  227. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  228. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  229. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  230. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  231. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  232. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  233. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  234. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  235. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  236. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  237. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  238. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  239. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  240. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  241. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  242. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  243. package/dist/components/blocks/commerce/index.d.ts +8 -8
  244. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  245. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  246. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  247. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  248. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  249. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  250. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/order-status/types.d.ts +12 -8
  252. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  253. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  254. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  255. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  256. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  257. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  258. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  259. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  260. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  261. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  262. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  263. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  264. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  265. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  266. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  267. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  268. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  269. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  270. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  271. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  272. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  273. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  274. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  275. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  276. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  277. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  278. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  279. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  280. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  281. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  282. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  283. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  284. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +10 -3
  285. package/dist/components/blocks/data-display/index.d.ts +0 -1
  286. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  287. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  288. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  289. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  290. package/dist/components/blocks/timelines/index.d.ts +2 -2
  291. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  292. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  293. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  294. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  295. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  296. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  297. package/dist/components/features/activities/activities.types.d.ts +46 -22
  298. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  299. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  300. package/dist/components/features/activities/index.d.ts +1 -1
  301. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  302. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  303. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  304. package/dist/components/features/activities/relative-time.d.ts +18 -0
  305. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  306. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  307. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  308. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  309. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  310. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  311. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  312. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  313. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  314. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +20 -4
  315. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  316. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  317. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  318. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  319. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  320. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  321. package/dist/components/features/combobox/combobox.d.ts +12 -3
  322. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  323. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +4 -3
  324. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  325. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  326. package/dist/components/features/combobox/index.d.ts +1 -1
  327. package/dist/components/features/combobox/types.d.ts +68 -37
  328. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  329. package/dist/components/features/comments/comments.types.d.ts +40 -26
  330. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  331. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  332. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  333. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  334. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  335. package/dist/components/features/email-composer/http.d.ts +2 -0
  336. package/dist/components/features/email-composer/strings.d.ts +17 -2
  337. package/dist/components/features/email-composer/types.d.ts +19 -2
  338. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  339. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  340. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  341. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  342. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  343. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  344. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  345. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  346. package/dist/components/features/filters/facets/range-facet.d.ts +24 -7
  347. package/dist/components/features/filters/filter-context.d.ts +9 -0
  348. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  349. package/dist/components/features/filters/filters.types.d.ts +75 -8
  350. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  351. package/dist/components/features/filters/index.d.ts +2 -2
  352. package/dist/components/features/filters/operator-options.d.ts +25 -2
  353. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  354. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  355. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  356. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  357. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  358. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  359. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  360. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  361. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  362. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  363. package/dist/components/features/filters/utils/filter-utils.d.ts +34 -5
  364. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  365. package/dist/components/features/global-search/global-search.d.ts +7 -1
  366. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  367. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  368. package/dist/components/features/global-search/index.d.ts +1 -1
  369. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  370. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  371. package/dist/components/features/kanban/index.d.ts +2 -2
  372. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  373. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  374. package/dist/components/features/kanban/kanban.d.ts +10 -1
  375. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  376. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  377. package/dist/components/features/map/map.d.ts +4 -0
  378. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  379. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  380. package/dist/components/features/media-library/media-library.d.ts +1 -1
  381. package/dist/components/features/media-library/media-library.strings.d.ts +39 -3
  382. package/dist/components/features/media-library/media-library.types.d.ts +82 -9
  383. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  384. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  385. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  386. package/dist/components/features/mentions/index.d.ts +1 -1
  387. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  388. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  389. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +12 -1
  390. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  391. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  392. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  393. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  394. package/dist/components/features/overlays/dialog.d.ts +1 -1
  395. package/dist/components/features/overlays/drawer.d.ts +1 -1
  396. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  397. package/dist/components/features/overlays/index.d.ts +2 -2
  398. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  399. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  400. package/dist/components/features/products/components/index.d.ts +0 -10
  401. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  402. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  403. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  404. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  405. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  406. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  407. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  408. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  409. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  410. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  411. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  412. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  413. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  414. package/dist/components/features/products/products.strings.d.ts +8 -0
  415. package/dist/components/features/products/products.types.d.ts +26 -8
  416. package/dist/components/features/questionnaire/questionnaire.types.d.ts +7 -2
  417. package/dist/components/features/resource/index.d.ts +2 -3
  418. package/dist/components/features/resource/resource.d.ts +2 -10
  419. package/dist/components/features/resource/resource.types.d.ts +7 -147
  420. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  421. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  422. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  423. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  424. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  425. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  426. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  427. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  428. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  429. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  430. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +5 -4
  431. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  432. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +30 -4
  433. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +10 -1
  434. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  435. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  436. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  437. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  438. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  439. package/dist/components/features/suggestions/suggestions.types.d.ts +13 -5
  440. package/dist/components/features/table/data-table.d.ts +1 -1
  441. package/dist/components/features/table/filter-bar.d.ts +1 -1
  442. package/dist/components/features/table/index.d.ts +1 -0
  443. package/dist/components/features/table/pagination.d.ts +1 -1
  444. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  445. package/dist/components/features/table/table-body.d.ts +1 -1
  446. package/dist/components/features/table/table-header.d.ts +1 -1
  447. package/dist/components/features/table/table-helpers.d.ts +37 -12
  448. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  449. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  450. package/dist/components/features/table/table.strings.d.ts +4 -0
  451. package/dist/components/features/table/table.types.d.ts +91 -49
  452. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  453. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  454. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  455. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  456. package/dist/components/layout/app-shell/index.d.ts +2 -2
  457. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  458. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  459. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  460. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  461. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  462. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  463. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  464. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  465. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  466. package/dist/components/layout/header/header.types.d.ts +19 -8
  467. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  468. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  469. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  470. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  471. package/dist/components/layout/layout.types.d.ts +6 -4
  472. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  473. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  474. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  475. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  476. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  477. package/dist/components/layout/page/index.d.ts +2 -3
  478. package/dist/components/layout/page/page.strings.d.ts +12 -0
  479. package/dist/components/layout/page/page.types.d.ts +7 -110
  480. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  481. package/dist/components/layout/settings/index.d.ts +1 -1
  482. package/dist/components/layout/settings/settings.d.ts +4 -6
  483. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  484. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  485. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  486. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  487. package/dist/components/layout/sidebar/index.d.ts +1 -1
  488. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +17 -7
  489. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  490. package/dist/components/layout/sidebar/sidebar.types.d.ts +12 -12
  491. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  492. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  493. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  494. package/dist/components/primitives/date.d.ts +22 -3
  495. package/dist/components/primitives/file-size.d.ts +8 -2
  496. package/dist/components/primitives/index.d.ts +1 -1
  497. package/dist/components/primitives/initials.d.ts +3 -1
  498. package/dist/components/primitives/link.d.ts +11 -3
  499. package/dist/components/primitives/money.d.ts +2 -2
  500. package/dist/components/primitives/number.d.ts +3 -2
  501. package/dist/components/typography/heading.d.ts +9 -3
  502. package/dist/components/typography/index.d.ts +1 -1
  503. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  504. package/dist/components/typography/text-link.d.ts +10 -3
  505. package/dist/components/ui/badge.d.ts +2 -4
  506. package/dist/components/ui/breadcrumb.d.ts +2 -3
  507. package/dist/components/ui/button.d.ts +8 -2
  508. package/dist/components/ui/collapsible.d.ts +1 -4
  509. package/dist/components/ui/command.d.ts +20 -18
  510. package/dist/components/ui/dialog.d.ts +3 -9
  511. package/dist/components/ui/empty.d.ts +2 -2
  512. package/dist/components/ui/input-group.d.ts +3 -3
  513. package/dist/components/ui/item.d.ts +3 -3
  514. package/dist/components/ui/popover.d.ts +3 -7
  515. package/dist/components/ui/sheet.d.ts +4 -12
  516. package/dist/components/ui/sidebar-state.d.ts +6 -1
  517. package/dist/components/ui/sidebar.d.ts +7 -4
  518. package/dist/components/ui/tabs.d.ts +2 -2
  519. package/dist/components/ui/toggle-group.d.ts +3 -3
  520. package/dist/components/ui/toggle.d.ts +2 -2
  521. package/dist/components/ui/tooltip.d.ts +1 -3
  522. package/dist/{containers-CIxwbZt5.js → containers-BdfLTP4w.js} +37 -32
  523. package/dist/containers-BdfLTP4w.js.map +1 -0
  524. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  525. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  526. package/dist/{copyable-DIznBqiT.js → copyable-Bmr14W0d.js} +6 -6
  527. package/dist/{copyable-DIznBqiT.js.map → copyable-Bmr14W0d.js.map} +1 -1
  528. package/dist/{data-display-BdgCAw8T.js → data-display-CWe9SOYh.js} +264 -250
  529. package/dist/data-display-CWe9SOYh.js.map +1 -0
  530. package/dist/date-3qsCE1ID.js +209 -0
  531. package/dist/date-3qsCE1ID.js.map +1 -0
  532. package/dist/date-picker-D1keJQIG.js +1617 -0
  533. package/dist/date-picker-D1keJQIG.js.map +1 -0
  534. package/dist/date-pickers-D8aJoeHc.js +185 -0
  535. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  536. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  537. package/dist/{display-KsZLw9Ov.js → display-VlmP1I0i.js} +23 -46
  538. package/dist/display-VlmP1I0i.js.map +1 -0
  539. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-B8hjvbkS.js} +9 -9
  540. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  541. package/dist/dropzone-CHBNK3de.js +116 -0
  542. package/dist/dropzone-CHBNK3de.js.map +1 -0
  543. package/dist/features/activities.js +767 -700
  544. package/dist/features/activities.js.map +1 -1
  545. package/dist/features/ai-chat.js +280 -235
  546. package/dist/features/ai-chat.js.map +1 -1
  547. package/dist/features/appointment-calendar.js +430 -334
  548. package/dist/features/appointment-calendar.js.map +1 -1
  549. package/dist/features/async-preview.js +351 -265
  550. package/dist/features/async-preview.js.map +1 -1
  551. package/dist/features/combobox.js +2 -2
  552. package/dist/features/comments.js +1 -1
  553. package/dist/features/data-view.js +212 -151
  554. package/dist/features/data-view.js.map +1 -1
  555. package/dist/features/email-composer/engine.js +1 -1
  556. package/dist/features/email-composer.js +347 -313
  557. package/dist/features/email-composer.js.map +1 -1
  558. package/dist/features/event-calendar.js +501 -348
  559. package/dist/features/event-calendar.js.map +1 -1
  560. package/dist/features/filters.js +2 -2
  561. package/dist/features/global-search.js +250 -210
  562. package/dist/features/global-search.js.map +1 -1
  563. package/dist/features/kanban.js +280 -210
  564. package/dist/features/kanban.js.map +1 -1
  565. package/dist/features/map/style.css +15 -0
  566. package/dist/features/map.js +435 -404
  567. package/dist/features/map.js.map +1 -1
  568. package/dist/features/media-library.js +1745 -1195
  569. package/dist/features/media-library.js.map +1 -1
  570. package/dist/features/mentions.js +2 -2
  571. package/dist/features/overlays.js +2 -2
  572. package/dist/features/products.js +1862 -1759
  573. package/dist/features/products.js.map +1 -1
  574. package/dist/features/questionnaire.js +188 -168
  575. package/dist/features/questionnaire.js.map +1 -1
  576. package/dist/features/resource-assignment.js +223 -191
  577. package/dist/features/resource-assignment.js.map +1 -1
  578. package/dist/features/resource.js +55 -217
  579. package/dist/features/resource.js.map +1 -1
  580. package/dist/features/rich-text-editor.js +28 -19
  581. package/dist/features/rich-text-editor.js.map +1 -1
  582. package/dist/features/schema-form.js +380 -287
  583. package/dist/features/schema-form.js.map +1 -1
  584. package/dist/features/suggestions.js +90 -74
  585. package/dist/features/suggestions.js.map +1 -1
  586. package/dist/features/table.js +2 -2
  587. package/dist/features/theme-tweaker.js +718 -627
  588. package/dist/features/theme-tweaker.js.map +1 -1
  589. package/dist/feedback-DmqmXKLn.js +254 -0
  590. package/dist/feedback-DmqmXKLn.js.map +1 -0
  591. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-DfbMadot.js} +13 -9
  592. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  593. package/dist/field-control-attributes-B6i335wr.js +18 -0
  594. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  595. package/dist/field-state-recipes-EtCxpEy3.js +18 -0
  596. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  597. package/dist/filters-BviMRMLS.js +2692 -0
  598. package/dist/filters-BviMRMLS.js.map +1 -0
  599. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  600. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  601. package/dist/form-field-BdfCwSoQ.js +74 -0
  602. package/dist/form-field-BdfCwSoQ.js.map +1 -0
  603. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-DE_dZw32.js} +3 -3
  604. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  605. package/dist/{forms-C0RGnJTe.js → forms-B8DzJnBN.js} +35 -35
  606. package/dist/forms-B8DzJnBN.js.map +1 -0
  607. package/dist/forms-numeric-DOBswjKj.js +992 -0
  608. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  609. package/dist/{header-DMMxG__r.js → header-Cq3G0ZRP.js} +163 -158
  610. package/dist/header-Cq3G0ZRP.js.map +1 -0
  611. package/dist/hooks/use-files.d.ts +2 -0
  612. package/dist/{hooks-DB6CJ4MR.js → hooks-DHfeSMAO.js} +34 -14
  613. package/dist/hooks-DHfeSMAO.js.map +1 -0
  614. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  615. package/dist/http-Cu-GPpss.js.map +1 -0
  616. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-B0Kq7wom.js} +3 -3
  617. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  618. package/dist/index.js +6 -6
  619. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  620. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  621. package/dist/{input-DMBwAZmr.js → input-2YrgTUrz.js} +3 -3
  622. package/dist/{input-DMBwAZmr.js.map → input-2YrgTUrz.js.map} +1 -1
  623. package/dist/{input-CvyDQlY7.js → input-DfJyrjoR.js} +7 -7
  624. package/dist/{input-CvyDQlY7.js.map → input-DfJyrjoR.js.map} +1 -1
  625. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-DmuS1ase.js} +2 -2
  626. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  627. package/dist/item-GJ9mvCcg.js +279 -0
  628. package/dist/item-GJ9mvCcg.js.map +1 -0
  629. package/dist/layout/app-shell.js +1 -1
  630. package/dist/layout/auth.js +1 -1
  631. package/dist/layout/containers.js +1 -1
  632. package/dist/layout/header.js +1 -1
  633. package/dist/layout/hooks.js +1 -1
  634. package/dist/layout/navigation.js +1 -1
  635. package/dist/layout/page.js +2 -2
  636. package/dist/layout/settings.js +2 -2
  637. package/dist/layout/sidebar.js +3 -3
  638. package/dist/layout/workspace.js +1 -1
  639. package/dist/layout.js +12 -12
  640. package/dist/layout.types-DbtnyAtd.js +33 -0
  641. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  642. package/dist/lib/anchored-positioning.d.ts +11 -0
  643. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  644. package/dist/lib/field-control-attributes.d.ts +11 -0
  645. package/dist/lib/field-state-recipes.d.ts +8 -0
  646. package/dist/lib/focus-recipes.d.ts +7 -0
  647. package/dist/lib/format.d.ts +26 -0
  648. package/dist/lib/money-format.d.ts +6 -0
  649. package/dist/lib/motion-recipes.d.ts +6 -0
  650. package/dist/lib/surface-recipes.d.ts +33 -3
  651. package/dist/lib/theme-scope.d.ts +17 -1
  652. package/dist/lib/token-merge.generated.d.ts +19 -25
  653. package/dist/lib/ui-provider/index.d.ts +1 -1
  654. package/dist/lib/ui-provider/types.d.ts +5 -0
  655. package/dist/lib/use-controllable-state.d.ts +16 -0
  656. package/dist/lib/use-copy-feedback.d.ts +15 -0
  657. package/dist/lib/utils.js +1 -1
  658. package/dist/lib/variant-props.d.ts +9 -0
  659. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  660. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  661. package/dist/mentions-zz0ewNIq.js +670 -0
  662. package/dist/mentions-zz0ewNIq.js.map +1 -0
  663. package/dist/message-BiiVrRrm.js +138 -0
  664. package/dist/message-BiiVrRrm.js.map +1 -0
  665. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-G85roWjS.js} +13 -12
  666. package/dist/metadata-list-G85roWjS.js.map +1 -0
  667. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  668. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  669. package/dist/navigation-C0Be5C3i.js +304 -0
  670. package/dist/navigation-C0Be5C3i.js.map +1 -0
  671. package/dist/navigation-CmqaQR_G.js +257 -0
  672. package/dist/navigation-CmqaQR_G.js.map +1 -0
  673. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  674. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  675. package/dist/number-NFWKIoiK.js +340 -0
  676. package/dist/number-NFWKIoiK.js.map +1 -0
  677. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  678. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  679. package/dist/{overlays-BSgCtM2v.js → overlays-D-gAIfPF.js} +369 -364
  680. package/dist/overlays-D-gAIfPF.js.map +1 -0
  681. package/dist/page-D4pQhgSq.js +216 -0
  682. package/dist/page-D4pQhgSq.js.map +1 -0
  683. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-elelNOfd.js} +29 -29
  684. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  685. package/dist/{pagination-CgCjElfu.js → pagination-BuSWw1US.js} +22 -23
  686. package/dist/pagination-BuSWw1US.js.map +1 -0
  687. package/dist/popover-BpMxbqEK.js +205 -0
  688. package/dist/popover-BpMxbqEK.js.map +1 -0
  689. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-CO-_iiuz.js} +7 -7
  690. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  691. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-BqkdvlZn.js} +3 -4
  692. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  693. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-BPeS4rGB.js} +2 -2
  694. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  695. package/dist/primitives-BlC1lXBr.js +447 -0
  696. package/dist/primitives-BlC1lXBr.js.map +1 -0
  697. package/dist/primitives.js +4 -4
  698. package/dist/{progress-BJhQP9WX.js → progress-RARK8AjB.js} +5 -5
  699. package/dist/{progress-BJhQP9WX.js.map → progress-RARK8AjB.js.map} +1 -1
  700. package/dist/receipt-CUf2Vegp.js +114 -0
  701. package/dist/receipt-CUf2Vegp.js.map +1 -0
  702. package/dist/rich-text-Cypm9__d.js +44 -0
  703. package/dist/rich-text-Cypm9__d.js.map +1 -0
  704. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  705. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  706. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  707. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  708. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  709. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  710. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-B9HKbji0.js} +3 -3
  711. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  712. package/dist/{separator-Ct_WSWTJ.js → separator-DaDe26sf.js} +3 -3
  713. package/dist/separator-DaDe26sf.js.map +1 -0
  714. package/dist/{separator-Bb17I4pu.js → separator-KGsNXt2J.js} +2 -2
  715. package/dist/{separator-Bb17I4pu.js.map → separator-KGsNXt2J.js.map} +1 -1
  716. package/dist/services/actions/action-adapters.d.ts +5 -2
  717. package/dist/services/actions/index.d.ts +1 -1
  718. package/dist/services/actions.js +2 -2
  719. package/dist/services/actions.js.map +1 -1
  720. package/dist/settings-D5j_RJvT.js +160 -0
  721. package/dist/settings-D5j_RJvT.js.map +1 -0
  722. package/dist/sheet-B6j_BE9O.js +241 -0
  723. package/dist/sheet-B6j_BE9O.js.map +1 -0
  724. package/dist/{sidebar-f9gRWXIR.js → sidebar-C-iQ_TJP.js} +379 -350
  725. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  726. package/dist/sidebar-D5VO2W8S.js +715 -0
  727. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  728. package/dist/{skeleton-BapcJd9C.js → skeleton-Cab_KgVo.js} +13 -13
  729. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  730. package/dist/{smart-card-CW0hjetE.js → smart-card-C59z6KFO.js} +217 -210
  731. package/dist/smart-card-C59z6KFO.js.map +1 -0
  732. package/dist/{structure-DuxKl954.js → structure-DElaQwwN.js} +2 -2
  733. package/dist/{structure-DuxKl954.js.map → structure-DElaQwwN.js.map} +1 -1
  734. package/dist/style.css +1 -1
  735. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-DV6rrOFq.js} +11 -3
  736. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  737. package/dist/table-CSRUgpdK.js +180 -0
  738. package/dist/table-CSRUgpdK.js.map +1 -0
  739. package/dist/table-DdXDBsR_.js +1657 -0
  740. package/dist/table-DdXDBsR_.js.map +1 -0
  741. package/dist/tabs-WnHfV2pM.js +192 -0
  742. package/dist/tabs-WnHfV2pM.js.map +1 -0
  743. package/dist/{text-inputs-B1culiSK.js → text-inputs-ljyBYaCd.js} +112 -112
  744. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  745. package/dist/theme.css +21 -5
  746. package/dist/timelines-mOmS9Eh3.js +479 -0
  747. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  748. package/dist/tooltip-yjX-Uv-p.js +112 -0
  749. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  750. package/dist/{tree-CzUJHnFs.js → tree-YpkxUG2Z.js} +80 -72
  751. package/dist/tree-YpkxUG2Z.js.map +1 -0
  752. package/dist/typography/rich-text.js +1 -1
  753. package/dist/{typography-BQnine1k.js → typography-C0dELqYV.js} +46 -40
  754. package/dist/typography-C0dELqYV.js.map +1 -0
  755. package/dist/typography.js +1 -1
  756. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  757. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  758. package/dist/ui-provider.js +2 -2
  759. package/dist/upload-DMuMYJFT.js +875 -0
  760. package/dist/upload-DMuMYJFT.js.map +1 -0
  761. package/dist/{usage-card-BeSLY0i0.js → usage-card-DDPki5P1.js} +57 -54
  762. package/dist/usage-card-DDPki5P1.js.map +1 -0
  763. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  764. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  765. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  766. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  767. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  768. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  769. package/dist/{utils-B6kKb8jB.js → utils-BVbAG2J6.js} +128 -112
  770. package/dist/utils-BVbAG2J6.js.map +1 -0
  771. package/dist/value-inputs-h5MwjGCo.js +982 -0
  772. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  773. package/dist/value-typography-D15uwfj-.js +154 -0
  774. package/dist/value-typography-D15uwfj-.js.map +1 -0
  775. package/dist/workspace-DIryPqBt.js +400 -0
  776. package/dist/workspace-DIryPqBt.js.map +1 -0
  777. package/docs/consumer-skill/SKILL.md +7 -0
  778. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  779. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  780. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  781. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  782. package/docs/consumer-skill/examples/detail.tsx +3 -2
  783. package/docs/consumer-skill/examples/edit.tsx +3 -3
  784. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  785. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  786. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  787. package/docs/consumer-skill/references/agents-md.md +27 -23
  788. package/docs/consumer-skill/references/analytics.md +33 -4
  789. package/docs/consumer-skill/references/building-views.md +213 -0
  790. package/docs/consumer-skill/references/catalogue.md +617 -0
  791. package/docs/consumer-skill/references/component-contracts.json +25852 -32067
  792. package/docs/consumer-skill/references/composition.md +42 -21
  793. package/docs/consumer-skill/references/design-contract.md +1 -0
  794. package/docs/consumer-skill/references/discovery.md +8 -5
  795. package/docs/consumer-skill/references/installation.md +59 -10
  796. package/docs/consumer-skill/references/integration.md +28 -5
  797. package/docs/consumer-skill/references/product-composition.md +2 -2
  798. package/docs/consumer-skill/references/public-api.json +726 -641
  799. package/docs/consumer-skill/references/review.md +57 -15
  800. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  801. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  802. package/docs/consumer-skill/references/theming.md +8 -3
  803. package/docs/consumer-skill/references/tokens.json +4 -4
  804. package/docs/consumer-skill/references/workflows.md +7 -7
  805. package/docs/consumer-skill/scripts/composition-policy.mjs +178 -44
  806. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  807. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  808. package/docs/consumer-skill/scripts/setup-skills.mjs +74 -10
  809. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  810. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  811. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  812. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  813. package/package.json +12 -13
  814. package/templates/README.md +3 -2
  815. package/templates/admin-shell-template.tsx +50 -11
  816. package/templates/analytics-operations-template.tsx +20 -24
  817. package/templates/customers-template.tsx +30 -25
  818. package/templates/index.ts +2 -8
  819. package/templates/orders-template.tsx +28 -24
  820. package/templates/products-template.tsx +14 -4
  821. package/templates/user-permissions-template.tsx +11 -14
  822. package/dist/accordion-B9MHG0cT.js.map +0 -1
  823. package/dist/action-menu-Dr8K-ghE.js +0 -284
  824. package/dist/action-menu-Dr8K-ghE.js.map +0 -1
  825. package/dist/ai-artifact-C58tQcBy.js +0 -1185
  826. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  827. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  828. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  829. package/dist/app-shell-B_IuNWOo.js +0 -321
  830. package/dist/app-shell-B_IuNWOo.js.map +0 -1
  831. package/dist/auth-DTkkshS8.js.map +0 -1
  832. package/dist/badge-xIiV_E7f.js.map +0 -1
  833. package/dist/base/sheet.js +0 -3
  834. package/dist/breadcrumbs-J-K2kl4c.js +0 -129
  835. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  836. package/dist/button-S2Cubiiz.js.map +0 -1
  837. package/dist/buttons-BedGfygC.js.map +0 -1
  838. package/dist/cascader-B1MiqkBq.js +0 -439
  839. package/dist/cascader-B1MiqkBq.js.map +0 -1
  840. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  841. package/dist/code-block-BzmM9Eig.js.map +0 -1
  842. package/dist/collapsible-BkAI_XD4.js +0 -81
  843. package/dist/collapsible-BkAI_XD4.js.map +0 -1
  844. package/dist/combobox-BEx0vJgF.js +0 -362
  845. package/dist/combobox-BEx0vJgF.js.map +0 -1
  846. package/dist/combobox-BwzoXFSG.js +0 -884
  847. package/dist/combobox-BwzoXFSG.js.map +0 -1
  848. package/dist/command-CrlPIL6m.js +0 -425
  849. package/dist/command-CrlPIL6m.js.map +0 -1
  850. package/dist/comments-Dmpp0YIc.js +0 -1169
  851. package/dist/comments-Dmpp0YIc.js.map +0 -1
  852. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  853. package/dist/components/base/display/content-block.d.ts +0 -75
  854. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  855. package/dist/components/base/sheet/index.d.ts +0 -29
  856. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  857. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  858. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -16
  859. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  860. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  861. package/dist/components/features/sync/index.d.ts +0 -26
  862. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  863. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  864. package/dist/components/features/sync/sync.types.d.ts +0 -44
  865. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  866. package/dist/components/ui/slot.d.ts +0 -6
  867. package/dist/containers-CIxwbZt5.js.map +0 -1
  868. package/dist/data-display-BdgCAw8T.js.map +0 -1
  869. package/dist/date-Cq8ioE4o.js +0 -144
  870. package/dist/date-Cq8ioE4o.js.map +0 -1
  871. package/dist/date-picker-RlIzKom_.js +0 -1551
  872. package/dist/date-picker-RlIzKom_.js.map +0 -1
  873. package/dist/date-pickers-DY-CpXS1.js +0 -179
  874. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  875. package/dist/display-KsZLw9Ov.js.map +0 -1
  876. package/dist/features/sync.js +0 -142
  877. package/dist/features/sync.js.map +0 -1
  878. package/dist/feedback-Dm4izqFn.js +0 -240
  879. package/dist/feedback-Dm4izqFn.js.map +0 -1
  880. package/dist/field-affordance-recipes-DWcNcOjh.js.map +0 -1
  881. package/dist/field-state-recipes-BVA2CWHo.js +0 -12
  882. package/dist/field-state-recipes-BVA2CWHo.js.map +0 -1
  883. package/dist/filters-DzgSJpMK.js +0 -2257
  884. package/dist/filters-DzgSJpMK.js.map +0 -1
  885. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  886. package/dist/form-field-BriWAXyg.js +0 -63
  887. package/dist/form-field-BriWAXyg.js.map +0 -1
  888. package/dist/forms-C0RGnJTe.js.map +0 -1
  889. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  890. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  891. package/dist/header-DMMxG__r.js.map +0 -1
  892. package/dist/hooks-DB6CJ4MR.js.map +0 -1
  893. package/dist/http-D_6rOnzU.js.map +0 -1
  894. package/dist/item-DjCcM18E.js +0 -277
  895. package/dist/item-DjCcM18E.js.map +0 -1
  896. package/dist/layout.types-Cn7aUzJp.js +0 -20
  897. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  898. package/dist/media-gallery-C-vChPmE.js +0 -203
  899. package/dist/media-gallery-C-vChPmE.js.map +0 -1
  900. package/dist/mentions-0_4nWuI-.js +0 -570
  901. package/dist/mentions-0_4nWuI-.js.map +0 -1
  902. package/dist/message-g8p7eVtN.js +0 -128
  903. package/dist/message-g8p7eVtN.js.map +0 -1
  904. package/dist/metadata-list-C3MkU-Om.js.map +0 -1
  905. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  906. package/dist/navigation-C90-oQFq.js +0 -255
  907. package/dist/navigation-C90-oQFq.js.map +0 -1
  908. package/dist/navigation-DaRjthVk.js +0 -288
  909. package/dist/navigation-DaRjthVk.js.map +0 -1
  910. package/dist/number-CRU3kGuk.js +0 -354
  911. package/dist/number-CRU3kGuk.js.map +0 -1
  912. package/dist/overlays-BSgCtM2v.js.map +0 -1
  913. package/dist/page-DUUKDAjo.js +0 -331
  914. package/dist/page-DUUKDAjo.js.map +0 -1
  915. package/dist/pagination-CgCjElfu.js.map +0 -1
  916. package/dist/popover-B85RenIl.js +0 -201
  917. package/dist/popover-B85RenIl.js.map +0 -1
  918. package/dist/primitives-ByWgGUgt.js +0 -380
  919. package/dist/primitives-ByWgGUgt.js.map +0 -1
  920. package/dist/receipt-tOc7B3hw.js +0 -116
  921. package/dist/receipt-tOc7B3hw.js.map +0 -1
  922. package/dist/rich-text-Dth5E882.js +0 -78
  923. package/dist/rich-text-Dth5E882.js.map +0 -1
  924. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  925. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  926. package/dist/rich-text-editor-toolbar-laT3tpBT.js +0 -98
  927. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  928. package/dist/sanitize-html-DsQmI48u.js +0 -92
  929. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  930. package/dist/separator-Ct_WSWTJ.js.map +0 -1
  931. package/dist/settings-Bar5wiSo.js +0 -167
  932. package/dist/settings-Bar5wiSo.js.map +0 -1
  933. package/dist/sheet-BGPERY55.js +0 -250
  934. package/dist/sheet-BGPERY55.js.map +0 -1
  935. package/dist/sidebar-D-JYMMbY.js +0 -686
  936. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  937. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  938. package/dist/skeleton-BapcJd9C.js.map +0 -1
  939. package/dist/slot-CLF9kLrS.js +0 -16
  940. package/dist/slot-CLF9kLrS.js.map +0 -1
  941. package/dist/smart-card-CW0hjetE.js.map +0 -1
  942. package/dist/surface-recipes-BKRVW8Os.js.map +0 -1
  943. package/dist/table-B4TE7iOV.js +0 -175
  944. package/dist/table-B4TE7iOV.js.map +0 -1
  945. package/dist/table-CFOWY9pQ.js +0 -1536
  946. package/dist/table-CFOWY9pQ.js.map +0 -1
  947. package/dist/tabs-e7ko9S2o.js +0 -191
  948. package/dist/tabs-e7ko9S2o.js.map +0 -1
  949. package/dist/text-inputs-B1culiSK.js.map +0 -1
  950. package/dist/timelines-D3Sl9ueq.js +0 -458
  951. package/dist/timelines-D3Sl9ueq.js.map +0 -1
  952. package/dist/tooltip-8wz5S_Zr.js +0 -113
  953. package/dist/tooltip-8wz5S_Zr.js.map +0 -1
  954. package/dist/tree-CzUJHnFs.js.map +0 -1
  955. package/dist/typography-BQnine1k.js.map +0 -1
  956. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  957. package/dist/upload-BOW6U2tI.js +0 -855
  958. package/dist/upload-BOW6U2tI.js.map +0 -1
  959. package/dist/upload-queue-qUXn1ykN.js +0 -409
  960. package/dist/upload-queue-qUXn1ykN.js.map +0 -1
  961. package/dist/usage-card-BeSLY0i0.js.map +0 -1
  962. package/dist/utils-B6kKb8jB.js.map +0 -1
  963. package/dist/value-inputs-skdVB2zh.js +0 -980
  964. package/dist/value-inputs-skdVB2zh.js.map +0 -1
  965. package/dist/value-typography-uAmWUAL1.js +0 -116
  966. package/dist/value-typography-uAmWUAL1.js.map +0 -1
  967. package/dist/workspace-DHeHv0qw.js +0 -411
  968. package/dist/workspace-DHeHv0qw.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-queue-qUXn1ykN.js","names":["_Fragment","resolveComponentScale","useDensityConfig","cn","Button","Text","Stack","SecondaryValue","FileSize","Badge","useFileDropTarget","uploadDropTargetRecipes","AttachmentFileIcon","AttachmentTitle","AttachmentDescription","AttachmentActions","AttachmentMedia","AttachmentContent","AttachmentProgress","Attachment","Fragment$1","FilePickerInput","forwardRef","props","handleClick","event","onClick","handleChange","files","onFiles","className","defaultDropzoneStrings","SIZE_CHROME","assignInputRef","forwardedRef","node","DropzoneImpl","sizeProp","stringsProp","strings","useStrings","generatedId","useId","inputId","inputProps","onDrop","chrome","defaultScale","dropTargetProps","disabled","invalid","isDragging","icon","UploadCloud","children","Dropzone","defaultUploadProgressListStrings","STATUS_TONE","Clock","Check","AlertCircle","X","UploadProgressList","statusLabel","items","mediaVariant","item","tone","Icon","pct","showProgress","onPreview","Eye","onDownload","Download","onCancel","onRetry","RefreshCw","onRemove","defaultUploadTrayStrings","countStatus","completed","failed","uploading","queued","UploadTray","handleDrop","useCallback","onAddFiles","hasItems","dropzone","onClearAll","listStrings"],"sources":["../src/components/base/upload/file-picker-input.tsx","../src/components/base/upload/dropzone.tsx","../src/components/base/upload-queue/upload-progress-list.tsx","../src/components/base/upload-queue/upload-tray.tsx"],"sourcesContent":["import {\n\tforwardRef,\n\ttype ChangeEvent,\n\ttype InputHTMLAttributes,\n\ttype MouseEvent,\n} from 'react';\n\nimport { cn } from '../../../lib/utils';\n\ntype DataAttributes = {\n\t[key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type FilePickerNativeInputProps = Omit<\n\tInputHTMLAttributes<HTMLInputElement>,\n\t'type' | 'value' | 'defaultValue' | 'onChange' | 'children'\n> & DataAttributes;\n\nexport type FilePickerInputProps = FilePickerNativeInputProps & {\n\t/** Return `false` when the native FileList must be cleared (for example, after rejection). */\n\tonFiles: (files: File[]) => boolean | void;\n};\n\n/** Shared native-input plumbing for FileUpload and Dropzone. Not a public export. */\nexport const FilePickerInput = forwardRef<HTMLInputElement, FilePickerInputProps>(\n\tfunction FilePickerInput(\n\t\t{ className, onFiles, onClick, ...props },\n\t\tref,\n\t) {\n\t\tconst handleClick = (event: MouseEvent<HTMLInputElement>) => {\n\t\t\tevent.stopPropagation();\n\t\t\tonClick?.(event);\n\t\t\tif (!event.defaultPrevented) {\n\t\t\t\t// Clearing before the picker opens makes choosing the same file again\n\t\t\t\t// observable without retaining an opaque native FileList as state.\n\t\t\t\tevent.currentTarget.value = '';\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst files = event.currentTarget.files;\n\t\t\tif (files?.length && onFiles(Array.from(files)) === false) {\n\t\t\t\tevent.currentTarget.value = '';\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\t{...props}\n\t\t\t\tref={ref}\n\t\t\t\ttype=\"file\"\n\t\t\t\tdata-slot=\"file-picker-input\"\n\t\t\t\tclassName={cn('file-picker-input--component sr-only', className)}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonChange={handleChange}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nFilePickerInput.displayName = 'FilePickerInput';\n","/**\n * Dropzone — accessible drag-and-drop chrome with a native file-input fallback.\n * It owns no validation or file state; consumers receive local `File` values.\n */\nimport { forwardRef, useId, type ForwardedRef, type ReactNode } from 'react';\nimport { UploadCloud } from 'lucide-react';\n\nimport { Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\n\nimport {\n\tFilePickerInput,\n\ttype FilePickerNativeInputProps,\n} from './file-picker-input';\nimport { useFileDropTarget } from './use-file-drop-target';\nimport { uploadDropTargetRecipes } from './upload.recipes';\n\nexport type DropzoneSize = ComponentScale;\n\nexport interface DropzoneStrings {\n\tinstruction: string;\n\thelper: string;\n\tdragOver: string;\n}\n\nexport const defaultDropzoneStrings: DropzoneStrings = {\n\tinstruction: 'Drag files here or click to browse',\n\thelper: '',\n\tdragOver: 'Release to select',\n};\n\nexport type DropzoneInputProps = Omit<\n\tFilePickerNativeInputProps,\n\t'accept' | 'disabled' | 'multiple'\n>;\n\nexport interface DropzoneProps {\n\tonDrop: (files: File[]) => void;\n\t/** Accepted MIME types or extensions. */\n\taccept?: string;\n\t/** Allows more than one file to be dropped. */\n\tmultiple?: boolean;\n\t/** Disables the control and blocks drops. */\n\tdisabled?: boolean;\n\t/** Applies the invalid styling. */\n\tinvalid?: boolean;\n\t/** Height preset for the drop target. */\n\tsize?: DropzoneSize;\n\t/** Glyph shown inside the drop target. */\n\ticon?: ReactNode;\n\tclassName?: string;\n\t/** Native form, ARIA, data, and event attributes forwarded to the file input. */\n\tinputProps?: DropzoneInputProps;\n\t/** Optional action rendered outside the input label, so nested controls remain valid. */\n\tchildren?: ReactNode;\n\t/** Overrides the prompt and constraint copy. */\n\tstrings?: StringsProp<DropzoneStrings>;\n}\n\nconst SIZE_CHROME: Record<\n\tDropzoneSize,\n\t{ padding: string; minHeight: string; iconSize: string }\n> = {\n\tsm: {\n\t\tpadding: 'p-surface-xs',\n\t\tminHeight: 'min-h-24',\n\t\ticonSize: 'size-icon',\n\t},\n\tmd: {\n\t\tpadding: 'p-surface',\n\t\tminHeight: 'min-h-32',\n\t\ticonSize: 'size-icon-lg',\n\t},\n\tlg: {\n\t\tpadding: 'p-surface-lg',\n\t\tminHeight: 'min-h-40',\n\t\ticonSize: 'size-icon-lg',\n\t},\n};\n\nfunction assignInputRef(\n\tnode: HTMLInputElement | null,\n\tforwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n\tif (typeof forwardedRef === 'function') forwardedRef(node);\n\telse if (forwardedRef) forwardedRef.current = node;\n}\n\nfunction DropzoneImpl(\n\t{\n\t\tonDrop,\n\t\taccept,\n\t\tmultiple = false,\n\t\tdisabled = false,\n\t\tinvalid = false,\n\t\tsize: sizeProp,\n\t\ticon,\n\t\tclassName,\n\t\tinputProps,\n\t\tchildren,\n\t\tstrings: stringsProp,\n\t}: DropzoneProps,\n\tforwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst strings = useStrings(defaultDropzoneStrings, stringsProp);\n\tconst generatedId = useId();\n\tconst inputId = inputProps?.id ?? `dropzone-${generatedId}`;\n\tconst { isDragging, dropTargetProps } = useFileDropTarget({\n\t\tdisabled,\n\t\tonFiles: onDrop,\n\t});\n\tconst resolvedSize = resolveComponentScale(sizeProp, defaultScale);\n\tconst chrome = SIZE_CHROME[resolvedSize];\n\n\treturn (\n\t\t<div\n\t\t\t{...dropTargetProps}\n\t\t\tdata-disabled={disabled || undefined}\n\t\t\tdata-invalid={invalid || undefined}\n\t\t\tdata-dragging={isDragging || undefined}\n\t\t\tclassName={cn(\n\t\t\t\t'dropzone--component relative flex flex-col items-center justify-center gap-space-md rounded-surface border border-dashed text-center transition-colors duration-150',\n\t\t\t\t'has-[[data-slot=file-picker-input]:focus-visible]:ring-3',\n\t\t\t\tchrome.minHeight,\n\t\t\t\tchrome.padding,\n\t\t\t\tinvalid ? cn(uploadDropTargetRecipes.invalid, uploadDropTargetRecipes.focus.filePicker.invalid) : cn(uploadDropTargetRecipes.idle, uploadDropTargetRecipes.focus.filePicker.valid),\n\t\t\t\tinvalid\n\t\t\t\t\t? !disabled && uploadDropTargetRecipes.invalidHover\n\t\t\t\t\t: !disabled && uploadDropTargetRecipes.hover,\n\t\t\t\tdisabled && 'cursor-not-allowed opacity-50',\n\t\t\t\t!disabled && isDragging && (\n\t\t\t\t\tinvalid\n\t\t\t\t\t\t? uploadDropTargetRecipes.invalidDragging\n\t\t\t\t\t\t: uploadDropTargetRecipes.dragging\n\t\t\t\t),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<FilePickerInput\n\t\t\t\t{...inputProps}\n\t\t\t\tref={(node) => assignInputRef(node, forwardedRef)}\n\t\t\t\tid={inputId}\n\t\t\t\taccept={accept}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-invalid={invalid || undefined}\n\t\t\t\tclassName={cn('dropzone--input', inputProps?.className)}\n\t\t\t\tonFiles={onDrop}\n\t\t\t/>\n\n\t\t\t<label\n\t\t\t\thtmlFor={disabled ? undefined : inputId}\n\t\t\t\taria-disabled={disabled || undefined}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'dropzone--trigger flex w-full flex-1 cursor-pointer flex-col items-center justify-center gap-space-md',\n\t\t\t\t\tdisabled && 'cursor-not-allowed',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{/* The glyph names the affordance; it needs no tinted tile around it. */}\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"dropzone--icon inline-flex items-center justify-center text-muted-foreground\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t{icon ?? <UploadCloud className={chrome.iconSize} />}\n\t\t\t\t</span>\n\n\t\t\t\t{/* Text sets its own start alignment, and the copy column is as wide as\n\t\t\t\t its longest line, so each line centres itself. */}\n\t\t\t\t<span className=\"dropzone--copy grid gap-normal\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"dropzone--instruction\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{isDragging ? strings.dragOver : strings.instruction}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{!!strings.helper && (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"dropzone--helper\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.helper}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</label>\n\n\t\t\t{!!children && <div className=\"dropzone--action\">{children}</div>}\n\t\t</div>\n\t);\n}\n\nconst Dropzone = forwardRef<HTMLInputElement, DropzoneProps>(DropzoneImpl);\nDropzone.displayName = 'Dropzone';\n\nexport { Dropzone };\n","/**\n * UploadProgressList — render-only list of in-flight uploads. Each row shows\n * a status icon (queued / uploading / done / error / cancelled), filename,\n * size, a progress bar driven by `progress` (0–100), and an action button\n * that maps to the row's status (cancel while uploading, retry on error,\n * remove when done). Pair with FileUpload / MediaGallery / Dropzone — those\n * components emit raw `File` instances; this one displays the upload UI\n * once the consumer has wired them to its API.\n *\n * Strings overridable for i18n.\n */\nimport { AlertCircle, Check, Clock, RefreshCw, UploadCloud, X, Eye, Download } from 'lucide-react';\nimport { Button } from '../buttons';\nimport { Stack } from '../structure';\nimport { SecondaryValue } from '../../primitives';\nimport { Attachment, AttachmentMedia, AttachmentContent, AttachmentTitle, AttachmentDescription, AttachmentActions, AttachmentProgress, AttachmentFileIcon, type AttachmentKind } from '../attachment';\nimport { FileSize } from '../../primitives';\nimport { Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nexport type UploadStatus = 'queued' | 'uploading' | 'done' | 'error' | 'cancelled';\n\nexport interface UploadItem {\n\t/** Stable identity for this entry. */\n\tid: string;\n\t/** Displayed file name. */\n\tname: string;\n\t/** Pre-formatted size string (e.g. \"2.4 MB\"). */\n\tsize?: string;\n\t/** Numeric file size used when the formatted size is absent. */\n\tbytes?: number;\n\tkind?: AttachmentKind;\n\t/** Upload progress 0–100. Omit for an indeterminate transfer. Ignored when status is `done`/`error`/`cancelled`. */\n\tprogress?: number;\n\tstatus: UploadStatus;\n\t/** Error message rendered under the row when status is `error`. */\n\terror?: string;\n\t/**\n\t * Optional thumbnail URL, shown in place of the status icon.\n\t * The status remains visible beside the file name.\n\t */\n\tpreview?: string;\n}\n\nexport interface UploadProgressListStrings {\n\tqueued: string;\n\tuploading: string;\n\tdone: string;\n\terror: string;\n\tcancelled: string;\n\tcancel: string;\n\tretry: string;\n\tremove: string;\n\tpreview?: string;\n\tdownload?: string;\n}\n\nexport const defaultUploadProgressListStrings: UploadProgressListStrings = {\n\tqueued: 'Queued',\n\tuploading: 'Uploading',\n\tdone: 'Uploaded',\n\terror: 'Failed',\n\tcancelled: 'Cancelled',\n\tcancel: 'Cancel',\n\tretry: 'Retry',\n\tremove: 'Remove',\n\tpreview: 'Preview',\n\tdownload: 'Download',\n};\n\nexport interface UploadProgressListProps {\n\t/** Entries to render, in order. */\n\titems: UploadItem[];\n\t/** File preview action; consumers own the effect. */\n\tonPreview?: (id: string) => void;\n\t/** Download action for completed files. Receives the stable item identity. */\n\tonDownload?: (id: string) => void;\n\tonCancel?: (id: string) => void;\n\tonRetry?: (id: string) => void;\n\tonRemove?: (id: string) => void;\n\tclassName?: string;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<UploadProgressListStrings>;\n}\n\n// Colour is reserved for the state that needs attention. A finished upload shows\n// its neutral file-type icon, like a selected FileUpload row.\nconst STATUS_TONE: Record<UploadStatus, { icon: typeof Check; fg: string }> = {\n\tqueued: { icon: Clock, fg: 'text-muted-foreground' },\n\tuploading: { icon: UploadCloud, fg: 'text-primary-accent' },\n\tdone: { icon: Check, fg: 'text-muted-foreground' },\n\terror: { icon: AlertCircle, fg: 'text-destructive' },\n\tcancelled: { icon: X, fg: 'text-muted-foreground' },\n};\n\nexport function UploadProgressList({\n\titems,\n\tonPreview,\n\tonDownload,\n\tonCancel,\n\tonRetry,\n\tonRemove,\n\tclassName,\n\tstrings: stringsProp,\n}: UploadProgressListProps) {\n\tconst strings = useStrings(defaultUploadProgressListStrings, stringsProp);\n\tconst statusLabel: Record<UploadStatus, string> = {\n\t\tqueued: strings.queued,\n\t\tuploading: strings.uploading,\n\t\tdone: strings.done,\n\t\terror: strings.error,\n\t\tcancelled: strings.cancelled,\n\t};\n\n\tif (items.length === 0) return null;\n\t// One media column per list: once any row shows a thumbnail, icon rows take the\n\t// same thumbnail-sized box, so every file name starts on one edge.\n\tconst mediaVariant = items.some((item) => item.preview) ? 'image' : 'icon';\n\n\treturn (\n\t\t<Stack render={<ul />} gap=\"sm\" className={cn('upload-progress-list--component m-0 p-0 list-none', className)}>\n\t\t\t{items.map((item) => {\n\t\t\t\tconst tone = STATUS_TONE[item.status];\n\t\t\t\tconst Icon = tone.icon;\n\t\t\t\tconst pct = item.progress === undefined ? null : Number.isFinite(item.progress) ? Math.max(0, Math.min(100, item.progress ?? 0)) : 0;\n\t\t\t\tconst showProgress = item.status === 'uploading' || item.status === 'queued';\n\t\t\t\treturn (\n\t\t\t\t\t<Attachment key={item.id} render={<li />} variant=\"outline\" className=\"upload-progress-list--item flex-nowrap bg-card text-card-foreground\">\n\t\t\t\t\t\t<AttachmentMedia variant={mediaVariant} className={cn('upload-progress-list--media self-center group-has-data-[slot=item-description]/item:self-center', tone.fg)}>\n\t\t\t\t\t\t\t{item.preview ? <img src={item.preview} alt=\"\" /> : item.status === 'done' ? <AttachmentFileIcon name={item.name} kind={item.kind} /> : <Icon aria-hidden=\"true\" className={cn('size-icon', item.status === 'uploading' && 'animate-pulse motion-reduce:animate-none')} />}\n\t\t\t\t\t\t</AttachmentMedia>\n\t\t\t\t\t\t{/* Same anatomy as Attachment: name, size line, status line, one gap. */}\n\t\t\t\t\t\t<AttachmentContent className=\"min-w-0 gap-space-xs\">\n\t\t\t\t\t\t\t<AttachmentTitle className=\"min-w-0 max-w-full\" title={item.name}><Text tag=\"span\" type=\"inherit\" weight=\"medium\" className=\"truncate\">{item.name}</Text></AttachmentTitle>\n\t\t\t\t\t\t\t{(item.size !== undefined || item.bytes !== undefined) && (\n\t\t\t\t\t\t\t\t<AttachmentDescription clamp={1}>\n\t\t\t\t\t\t\t\t\t<SecondaryValue size=\"xs\" className=\"tabular-nums\">{item.size ?? <FileSize value={item.bytes} size=\"xs\" type=\"secondary\" />}</SecondaryValue>\n\t\t\t\t\t\t\t\t</AttachmentDescription>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<AttachmentDescription clamp=\"none\"><Text tag=\"span\" size=\"xs\" type={item.status === 'error' ? 'error' : 'secondary'} role={item.status === 'error' ? 'alert' : undefined}>{`${statusLabel[item.status]}${item.status === 'error' && item.error ? ` — ${item.error}` : ''}`}</Text></AttachmentDescription>\n\t\t\t\t\t\t\t{showProgress && <AttachmentProgress value={item.status === 'queued' && pct === null ? 0 : pct} aria-label={item.name} size=\"sm\" tone={item.status === 'queued' ? 'neutral' : 'primary'} className=\"upload-progress-list--progress\" />}\n\t\t\t\t\t\t</AttachmentContent>\n\t\t\t\t\t\t<AttachmentActions className=\"shrink-0\">\n {!!onPreview && <Button type=\"button\" tone=\"secondary\" buttonStyle=\"ghost\" size=\"sm\" iconOnly aria-label={`${strings.preview ?? 'Preview'} ${item.name}`} onClick={() => onPreview(item.id)}><Eye aria-hidden=\"true\" className=\"size-icon-md\" /></Button>}\n {!!onDownload && item.status === 'done' && <Button type=\"button\" tone=\"secondary\" buttonStyle=\"ghost\" size=\"sm\" iconOnly aria-label={`${strings.download ?? 'Download'} ${item.name}`} onClick={() => onDownload(item.id)}><Download aria-hidden=\"true\" className=\"size-icon-md\" /></Button>}\n\n\t\t\t\t\t\t\t\t{(item.status === 'uploading' || item.status === 'queued') && !!onCancel && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\ticonOnly\n\t\t\t\t\t\t\t\t\t\taria-label={`${strings.cancel} ${item.name}`}\n\t\t\t\t\t\t\t\t\t\tonClick={() => onCancel(item.id)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<X className=\"size-icon-md\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{item.status === 'error' && !!onRetry && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\ticonOnly\n\t\t\t\t\t\t\t\t\t\taria-label={`${strings.retry} ${item.name}`}\n\t\t\t\t\t\t\t\t\t\tonClick={() => onRetry(item.id)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<RefreshCw className=\"size-icon-md\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{(item.status === 'done' || item.status === 'error' || item.status === 'cancelled' || (item.status === 'queued' && !onCancel)) && !!onRemove && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\ticonOnly\n\t\t\t\t\t\t\t\t\t\taria-label={`${strings.remove} ${item.name}`}\n\t\t\t\t\t\t\t\t\t\tonClick={() => onRemove(item.id)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<X className=\"size-icon-md\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AttachmentActions>\n\t\t\t\t\t</Attachment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Stack>\n\t);\n}\n\nUploadProgressList.displayName = 'UploadProgressList';\n","/**\n * UploadTray — the canonical \"drag-and-drop area + per-file progress\n * rows + summary toolbar\" surface. Composes:\n *\n * - `Dropzone` — drag/drop chrome + click-to-browse\n * - `UploadProgressList` — per-file row with status icon + progress\n * bar + cancel/retry/remove actions\n * - `Badge` — status counters in the toolbar\n * - `Button` — \"Clear all\" action\n *\n * Framework-agnostic. Every action is callback-driven — the library\n * doesn't perform the upload; it surfaces the UX. The consumer wires\n * the actual transfer (XHR, fetch, S3 multipart, …) and feeds back\n * `progress` / `status` updates by mutating the `items` array.\n *\n * Pair with `useFiles` (the existing client-side validation hook) at\n * the call site if you want pre-flight size/type rejection.\n */\nimport { forwardRef, useCallback } from 'react';\n\nimport { Badge } from '../badge';\nimport { Button } from '../buttons';\nimport { Stack } from '../structure';\nimport { Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport { Dropzone, type DropzoneProps } from '../upload/dropzone';\nimport { UploadProgressList, type UploadItem, type UploadProgressListStrings } from './upload-progress-list';\n\nexport interface UploadTrayStrings {\n\theading: string;\n\tcompletedLabel: string;\n\tfailedLabel: string;\n\tuploadingLabel: string;\n\tqueuedLabel: string;\n\tclearAll: string;\n}\n\nexport const defaultUploadTrayStrings: UploadTrayStrings = {\n\theading: 'Upload progress',\n\tcompletedLabel: 'Completed',\n\tfailedLabel: 'Failed',\n\tuploadingLabel: 'Uploading',\n\tqueuedLabel: 'Queued',\n\tclearAll: 'Clear all',\n};\n\nexport interface UploadTrayProps {\n\t/** Files currently in the tray (queued / uploading / done / error / cancelled). */\n\titems: UploadItem[];\n\t/**\n\t * Fires when the user drops or browses files. The library does NOT\n\t * write to the items array — the consumer turns these into queued\n\t * `UploadItem`s, kicks off the actual transfer, and updates progress.\n\t */\n\tonAddFiles: (files: File[]) => void;\n\t/** Preview callback forwarded with the item identity. */\n\tonPreview?: (id: string) => void;\n\t/** Download callback for completed files, forwarded with the item identity. */\n\tonDownload?: (id: string) => void;\n\t/** Per-row cancel handler (passed through to UploadProgressList). */\n\tonCancel?: (id: string) => void;\n\t/** Per-row retry handler. */\n\tonRetry?: (id: string) => void;\n\t/** Per-row remove handler. */\n\tonRemove?: (id: string) => void;\n\t/**\n\t * Clears the entire tray. When omitted, the \"Clear all\" button is\n\t * hidden — useful for surfaces where in-flight uploads can't be\n\t * cancelled in bulk.\n\t */\n\tonClearAll?: () => void;\n\t/** Forwarded to the inner `<Dropzone>`. Only the meaningful subset. */\n\tdropzone?: Pick<DropzoneProps, 'accept' | 'multiple' | 'size' | 'disabled' | 'invalid' | 'strings'>;\n\tclassName?: string;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<UploadTrayStrings>;\n\t/** Strings forwarded to the inner `<UploadProgressList>`. */\n\tlistStrings?: StringsProp<UploadProgressListStrings>;\n}\n\nfunction countStatus(items: UploadItem[]) {\n\tlet completed = 0;\n\tlet failed = 0;\n\tlet uploading = 0;\n\tlet queued = 0;\n\tfor (const item of items) {\n\t\tif (item.status === 'done') completed += 1;\n\t\telse if (item.status === 'error') failed += 1;\n\t\telse if (item.status === 'uploading') uploading += 1;\n\t\telse if (item.status === 'queued') queued += 1;\n\t}\n\treturn { completed, failed, uploading, queued };\n}\n\nexport const UploadTray = forwardRef<HTMLDivElement, UploadTrayProps>(function UploadTray(\n\t{\n\t\titems,\n\t\tonAddFiles,\n\t\tonPreview,\n\t\tonDownload,\n\t\tonCancel,\n\t\tonRetry,\n\t\tonRemove,\n\t\tonClearAll,\n\t\tdropzone,\n\t\tclassName,\n\t\tstrings: stringsProp,\n\t\tlistStrings,\n\t},\n\tref,\n) {\n\tconst strings = useStrings(defaultUploadTrayStrings, stringsProp);\n\tconst { completed, failed, uploading, queued } = countStatus(items);\n\n\tconst handleDrop = useCallback(\n\t\t(files: File[]) => {\n\t\t\tif (files.length > 0) onAddFiles(files);\n\t\t},\n\t\t[onAddFiles],\n\t);\n\n\tconst hasItems = items.length > 0;\n\n\treturn (\n\t\t<Stack ref={ref} gap=\"md\" className={cn('upload-tray--component', className)}>\n\t\t\t<Dropzone\n\t\t\t\tonDrop={handleDrop}\n\t\t\t\taccept={dropzone?.accept}\n\t\t\t\tmultiple={dropzone?.multiple}\n\t\t\t\tsize={dropzone?.size}\n\t\t\t\tdisabled={dropzone?.disabled}\n\t\t\t\tinvalid={dropzone?.invalid}\n\t\t\t\tstrings={dropzone?.strings}\n\t\t\t/>\n\n\t\t\t{!!hasItems && (\n\t\t\t\t<>\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" justify=\"between\" gap=\"md\">\n\t\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"md\">\n\t\t\t\t\t\t\t<Text tag=\"span\" type=\"inherit\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{strings.heading}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{completed > 0 && (\n\t\t\t\t\t\t\t\t<Badge tone=\"success\">\n\t\t\t\t\t\t\t\t\t{strings.completedLabel}: {completed}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{failed > 0 && (\n\t\t\t\t\t\t\t\t<Badge tone=\"destructive\">\n\t\t\t\t\t\t\t\t\t{strings.failedLabel}: {failed}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{uploading > 0 && (\n\t\t\t\t\t\t\t\t<Badge tone=\"info\">\n\t\t\t\t\t\t\t\t\t{strings.uploadingLabel}: {uploading}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{queued > 0 && (\n\t\t\t\t\t\t\t\t<Badge tone=\"secondary\">\n\t\t\t\t\t\t\t\t\t{strings.queuedLabel}: {queued}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t{!!onClearAll && (\n\t\t\t\t\t\t\t<Button type=\"button\" tone=\"secondary\" buttonStyle=\"ghost\" onClick={onClearAll}>\n\t\t\t\t\t\t\t\t{strings.clearAll}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Stack>\n\n\t\t\t\t\t<UploadProgressList\n\t\t\t\t\t\titems={items}\n\t\t\t\t\t\tonPreview={onPreview}\n\t\t\t\t\t\tonDownload={onDownload}\n\t\t\t\t\t\tonCancel={onCancel}\n\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\tonRemove={onRemove}\n\t\t\t\t\t\tstrings={listStrings}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Stack>\n\t);\n});\n\nUploadTray.displayName = 'UploadTray';\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-card-BeSLY0i0.js","names":["NumberValue","_Fragment","useFormattingConfig","cn","Button","Text","DisplayLabel","Grid","Stack","Card","ProgressTrack","Progress","compositionRhythm","Percent","Number$1","TabsTrigger","TabsContent","TabsList","Tabs","validUsage","value","usageExceeds","actual","expected","tolerance","terms","quotaSummary","used","usedValue","limit","limitValue","kind","ratio","dailySummary","values","days","day","complete","maximum","max","sum","defaultUsageCardStrings","chartColors","categoryColor","category","index","QuotaValue","summary","quota","strings","prominent","Fragment","QuotaProgress","formatting","categories","total","segmented","denominator","unclassified","format","label","DailyUsage","charted","unit","UsageBody","data","categoryTotal","inconsistent","percent","resource","UsageCard","stringsProp","cardProps","useStrings","ready","status","selectedPeriod","period","periods","hasPeriods","body","loadingSlot","errorSlot","onRetry","emptySlot","footer","footerAction","card","item","onPeriodChange"],"sources":["../src/components/blocks/analytics/usage-card/usage-card.data.ts","../src/components/blocks/analytics/usage-card/usage-card.strings.ts","../src/components/blocks/analytics/usage-card/usage-card.tsx"],"sourcesContent":["import type { UsageCardDay } from './types';\n\nexport function validUsage(value: number | null | undefined): number | null {\n\treturn typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : null;\n}\n\n/** Account only for rounding accumulated by positive finite category additions. */\nexport function usageExceeds(actual: number, expected: number, terms = 1): boolean {\n\tif (validUsage(actual) === null || validUsage(expected) === null) return true;\n\tconst magnitude = Math.max(actual, expected);\n\tconst tolerance = magnitude * Number.EPSILON * Math.max(1, terms);\n\treturn actual - expected > tolerance;\n}\n\n/** Retain actual numbers; cap only geometry. Zero quota has no finite percentage. */\nexport function quotaSummary(usedValue: number | null, limitValue: number | null | undefined) {\n\tconst used = validUsage(usedValue);\n\tconst limit = validUsage(limitValue);\n\tconst kind = used === null ? 'unavailable' : limitValue === null ? 'unlimited' : limit === null ? 'unavailable' : 'limited';\n\tconst ratio = used !== null && limit !== null && limit > 0 ? used / limit * 100 : used === 0 && limit === 0 ? 0 : null;\n\tconst percent = ratio !== null && Number.isFinite(ratio) ? ratio : null;\n\treturn {\n\t\tkind, used, limit, percent,\n\t\tprogress: kind === 'limited' ? limit === 0 ? used === 0 ? 0 : 100 : Math.min(100, ratio ?? 0) : null,\n\t\tremaining: kind === 'limited' ? Math.max(0, (limit ?? 0) - (used ?? 0)) : null,\n\t\texcess: kind === 'limited' ? Math.max(0, (used ?? 0) - (limit ?? 0)) : null,\n\t} as const;\n}\n\nexport function dailySummary(days: readonly UsageCardDay[]) {\n\tconst values = days.map(day => validUsage(day.value));\n\tconst complete = values.length > 0 && values.every(value => value !== null);\n\tconst maximum = values.reduce<number>((max, value) => Math.max(max, value ?? 0), 0);\n\treturn {\n\t\tvalues,\n\t\t// Dividing before summing avoids overflow for finite, very large values.\n\t\taverage: complete ? values.reduce<number>((sum, value) => sum + (value ?? 0) / values.length, 0) : null,\n\t\tmaximum: maximum > 0 ? maximum : 1,\n\t};\n}\n","export interface UsageCardStrings {\n\ttitle: string;\n\tusage: string;\n\tused: string;\n\tof: string;\n\tunlimited: string;\n\tunavailable: string;\n\tremaining: string;\n\toverLimit: string;\n\tbreakdown: string;\n\tinconsistentBreakdown: string;\n\tdaily: string;\n\taverage: string;\n\tperDay: string;\n\t/** Shown in place of the daily average when a day's record is missing. Additive. */\n\taverageUnavailable?: string;\n\tresources: string;\n\tperiods: string;\n\tloading: string;\n\terror: string;\n\tempty: string;\n\tretry: string;\n}\nexport const defaultUsageCardStrings: UsageCardStrings = {\n\ttitle: 'Usage', usage: 'Usage', used: 'used', of: 'of', unlimited: 'Unlimited',\n\tunavailable: 'Unavailable', remaining: 'remaining', overLimit: 'over limit',\n\tbreakdown: 'Usage breakdown', inconsistentBreakdown: 'Category totals exceed reported usage.',\n\tdaily: 'Daily usage', average: 'Average', perDay: 'per day', averageUnavailable: 'Average unavailable', resources: 'Resources',\n\tperiods: 'Usage period', loading: 'Loading usage', error: 'Unable to load usage',\n\tempty: 'No usage data', retry: 'Retry',\n};\n","import {compositionRhythm} from '../../../base/structure/composition.recipes';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '../../../base/buttons';\nimport { Card } from '../../../base/cards';\nimport { Progress, ProgressTrack } from '../../../base/feedback';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '../../../base/navigation';\nimport { Grid, Stack } from '../../../base/structure';\nimport { Number as NumberValue, Percent } from '../../../primitives';\nimport { DisplayLabel, Text } from '../../../typography';\nimport { useStrings } from '../../../../lib/strings';\nimport { useFormattingConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\n\nimport { dailySummary, quotaSummary, usageExceeds, validUsage } from './usage-card.data';\nimport { defaultUsageCardStrings, type UsageCardStrings } from './usage-card.strings';\nimport type { UsageCardCategory, UsageCardData, UsageCardDay, UsageCardProps, UsageCardQuota } from './types';\n\nconst chartColors = ['bg-chart-1', 'bg-chart-2', 'bg-chart-3', 'bg-chart-4', 'bg-chart-5'] as const;\nfunction categoryColor(category: UsageCardCategory, index: number) {\n\treturn chartColors[(category.color === undefined ? index : category.color - 1) % chartColors.length];\n}\n\nfunction QuotaValue({ quota, strings, prominent = false }: { quota: UsageCardQuota; strings: UsageCardStrings; prominent?: boolean }) {\n\tconst summary = quotaSummary(quota.used, quota.limit);\n\treturn <Stack gap=\"dense\" className=\"usage-card--quota\">\n\t\t<Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<NumberValue type=\"inherit\" value={summary.used} emptyLabel={strings.unavailable} size={prominent ? 'xl' : undefined} weight={prominent ? 'semibold' : 'medium'} align=\"left\" />\n\t\t\t{!prominent && summary.kind === 'limited' && <>\n\t\t\t\t<Text tag=\"span\" type=\"secondary\">{strings.of}</Text>\n\t\t\t\t<NumberValue value={summary.limit} type=\"secondary\" align=\"left\" />\n\t\t\t</>}\n\t\t\t{quota.unit && <Text tag=\"span\" type=\"secondary\">{quota.unit}</Text>}\n\t\t\t{prominent && summary.used !== null && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.used}</Text>}\n\t\t</Stack>\n\t\t{prominent && summary.kind === 'limited' && <Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.of}</Text>\n\t\t\t<NumberValue value={summary.limit} size=\"xs\" type=\"secondary\" align=\"left\" />\n\t\t</Stack>}\n\t\t{summary.kind === 'unlimited' && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.unlimited}</Text>}\n\t\t{summary.kind === 'unavailable' && summary.used !== null && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.unavailable}</Text>}\n\t</Stack>;\n}\n\nfunction QuotaProgress({ quota, label, strings, categories }: { quota: UsageCardQuota; label: string; strings: UsageCardStrings; categories?: readonly UsageCardCategory[] }) {\n\tconst summary = quotaSummary(quota.used, quota.limit);\n\tconst formatting = useFormattingConfig();\n\tif (summary.kind !== 'limited') return null;\n\tconst sum = categories?.reduce((total, category) => total + (validUsage(category.value) ?? 0), 0) ?? 0;\n\tconst segmented = !!categories?.length && categories.every(category => validUsage(category.value) !== null) && !usageExceeds(sum, summary.used ?? 0, categories.length);\n\tconst maximum = Math.max(summary.limit ?? 0, summary.used ?? 0);\n\tconst denominator = maximum > 0 ? maximum : 1;\n\tconst unclassified = usageExceeds(summary.used ?? 0, sum, categories?.length) ? (summary.used ?? 0) - sum : 0;\n\tconst format = new Intl.NumberFormat(formatting.locale);\n\treturn <Progress\n\t\tvalue={summary.progress ?? 0}\n\t\taria-label={label}\n\t\tgetAriaValueText={() => `${format.format(summary.used ?? 0)} ${strings.of} ${format.format(summary.limit ?? 0)} ${quota.unit ?? ''} ${strings.used}`}\n\t\ttone={summary.excess ? 'destructive' : 'primary'}\n\t\ttrackSlot={segmented ? <ProgressTrack>\n\t\t\t{categories?.map((category, index) => <span key={category.id} aria-hidden=\"true\" className={cn('h-full shrink-0', categoryColor(category, index))} style={{ width: `${(category.value ?? 0) / denominator * 100}%` }} />)}\n\t\t\t{unclassified > 0 && <span aria-hidden=\"true\" className=\"h-full shrink-0 bg-primary\" style={{ width: `${unclassified / denominator * 100}%` }} />}\n\t\t</ProgressTrack> : undefined}\n\t/>;\n}\n\nfunction DailyUsage({ days, unit, strings }: { days: readonly UsageCardDay[]; unit?: string; strings: UsageCardStrings }) {\n\tconst summary = dailySummary(days);\n\t// A trend needs at least two recorded days; one bar stretched across the\n\t// track would read as a chart of nothing. The text equivalent keeps every day.\n\tconst charted = summary.values.filter(value => value !== null).length >= 2;\n\treturn <Stack gap=\"sm\" className=\"usage-card--daily\">\n\t\t<Stack direction=\"horizontal\" justify=\"between\" align=\"baseline\" gap=\"sm\">\n\t\t\t<DisplayLabel className=\"text-inherit\">{strings.daily}</DisplayLabel>\n\t\t\t{summary.average === null\n\t\t\t\t? <Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"usage-card--average\">{strings.averageUnavailable ?? defaultUsageCardStrings.averageUnavailable}</Text>\n\t\t\t\t: <Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\" className=\"usage-card--average\">\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.average}</Text>\n\t\t\t\t\t<NumberValue type=\"inherit\" value={summary.average} options={{ maximumFractionDigits: 0 }} weight=\"medium\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.perDay}</Text>\n\t\t\t\t</Stack>}\n\t\t</Stack>\n\t\t{charted && <>\n\t\t\t<svg viewBox={`0 0 ${days.length * 10} 40`} preserveAspectRatio=\"none\" aria-hidden=\"true\" className=\"usage-card--daily-chart h-control-lg w-full overflow-visible\">\n\t\t\t\t{summary.values.map((value, index) => value === null ? null : <rect key={index} x={index * 10 + 1} y={40 - value / summary.maximum * 40} width={8} height={value / summary.maximum * 40} className=\"fill-chart-1\" />)}\n\t\t\t</svg>\n\t\t\t<Stack direction=\"horizontal\" justify=\"between\" gap=\"sm\" aria-hidden=\"true\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\">{days[0]?.label}</Text>\n\t\t\t\t{days.length > 1 && <Text size=\"xs\" type=\"secondary\">{days[days.length - 1]?.label}</Text>}\n\t\t\t</Stack>\n\t\t</>}\n\t\t<ol className=\"sr-only\" aria-label={strings.daily}>\n\t\t\t{days.map((day, index) => <li key={index}>{day.label}: <NumberValue type=\"inherit\" value={validUsage(day.value)} emptyLabel={strings.unavailable} /> {unit}</li>)}\n\t\t</ol>\n\t</Stack>;\n}\n\nfunction UsageBody({ data, strings }: { data: UsageCardData; strings: UsageCardStrings }) {\n\tconst summary = quotaSummary(data.used, data.limit);\n\tconst categoryTotal = data.categories?.reduce((total, category) => total + (validUsage(category.value) ?? 0), 0) ?? 0;\n\tconst inconsistent = summary.used !== null && usageExceeds(categoryTotal, summary.used, data.categories?.length);\n\treturn <Stack gap=\"lg\">\n\t\t<Stack gap=\"md\" className=\"usage-card--summary\">\n\t\t\t<Stack direction=\"horizontal\" justify=\"between\" align=\"start\" gap=\"sm\">\n\t\t\t\t<QuotaValue quota={data} strings={strings} prominent />\n\t\t\t\t{summary.percent !== null && <Percent value={summary.percent} scaled size=\"lg\" weight=\"medium\" type=\"secondary\" options={{ maximumFractionDigits: 0 }} />}\n\t\t\t</Stack>\n\t\t\t<QuotaProgress quota={data} label={strings.usage} strings={strings} categories={data.categories} />\n\t\t\t{!!data.categories?.length && <Grid render={<ul aria-label={strings.breakdown} />} columns={3} gap=\"sm\" className=\"m-0 list-none p-0 font-sans usage-card--categories grid-cols-[minmax(0,1fr)_auto_minmax(5ch,max-content)]\">\n\t\t\t\t{data.categories.map((category, index) => {\n\t\t\t\t\tconst value = validUsage(category.value);\n\t\t\t\t\tconst percent = summary.used === null || value === null || inconsistent ? null : summary.used === 0 ? 0 : value / summary.used;\n\t\t\t\t\treturn <li key={category.id} className=\"usage-card--category col-span-full grid grid-cols-subgrid items-baseline\">\n\t\t\t\t\t\t<Stack direction=\"horizontal\" gap=\"sm\" align=\"center\" wrap={false} className=\"min-w-0\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\" className={cn('size-icon-sm shrink-0 rounded-full', categoryColor(category, index))} />\n\t\t\t\t\t\t\t<Text type=\"inherit\" tag=\"span\" className=\"break-words\">{category.label}</Text>\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t<NumberValue type=\"inherit\" value={value} emptyLabel={strings.unavailable} weight=\"medium\" className=\"usage-card--category-value\" />\n\t\t\t\t\t\t<Percent value={percent} emptyLabel={strings.unavailable} type=\"secondary\" options={{ maximumFractionDigits: 0 }} className=\"usage-card--category-share\" />\n\t\t\t\t\t</li>;\n\t\t\t\t})}\n\t\t\t</Grid>}\n\t\t\t{inconsistent && <Text size=\"xs\" type=\"secondary\">{strings.inconsistentBreakdown}</Text>}\n\t\t</Stack>\n\t\t{data.daily && <DailyUsage days={data.daily} unit={data.unit} strings={strings} />}\n\t\t{/* The section label heads the group; each resource names itself in the\n\t\t compact secondary caption role so the two levels never read as peers. */}\n\t\t{!!data.resources?.length && <Stack gap=\"md\">\n\t\t\t<DisplayLabel className=\"text-inherit\">{strings.resources}</DisplayLabel>\n\t\t\t<Grid columns={1} gap=\"md\" className=\"usage-card--resources @sm/card:grid-cols-3\">\n\t\t\t\t{data.resources.map(resource => <Stack key={resource.id} gap=\"sm\" className=\"usage-card--resource min-w-0\" role=\"group\" aria-label={resource.label}>\n\t\t\t\t\t<Text type=\"secondary\" tag=\"span\" size=\"xs\">{resource.label}</Text>\n\t\t\t\t\t<QuotaValue quota={resource} strings={strings} />\n\t\t\t\t\t<QuotaProgress quota={resource} label={resource.label} strings={strings} />\n\t\t\t\t</Stack>)}\n\t\t\t</Grid>\n\t\t</Stack>}\n\t</Stack>;\n}\n\n/** App-owned usage data and period callbacks in the canonical Card composition. */\nexport function UsageCard({ data, status = 'ready', periods, period, onPeriodChange, onRetry, loadingSlot, errorSlot, emptySlot, footerAction, strings: stringsProp, ...cardProps }: UsageCardProps) {\n\tconst strings = useStrings(defaultUsageCardStrings, stringsProp);\n\tconst ready = status === 'ready' && !!data;\n\tconst summary = ready ? quotaSummary(data.used, data.limit) : null;\n\tconst selectedPeriod = period ?? periods?.[0]?.value ?? '';\n\tconst hasPeriods = !!periods?.length;\n\tlet body: ReactNode;\n\tif (status === 'loading') body = <div role=\"status\">{loadingSlot ?? <Text type=\"secondary\">{strings.loading}</Text>}</div>;\n\telse if (status === 'error') body = <Stack role=\"alert\" gap=\"sm\">{errorSlot ?? <Text type=\"inherit\">{strings.error}</Text>}{onRetry && <Button tone=\"secondary\" onClick={onRetry}>{strings.retry}</Button>}</Stack>;\n\telse if (!ready) body = <div>{emptySlot ?? <Text type=\"secondary\">{strings.empty}</Text>}</div>;\n\telse body = <UsageBody data={data} strings={strings} />;\n\tconst footer = (summary?.kind === 'limited' || footerAction) && <Stack direction=\"horizontal\" justify=\"between\" align=\"center\" gap=\"md\">\n\t\t{summary?.kind === 'limited' && <Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<NumberValue type=\"inherit\" value={summary.excess ? summary.excess : summary.remaining} weight=\"medium\" />\n\t\t\t{data?.unit && <Text tag=\"span\" type=\"secondary\">{data.unit}</Text>}\n\t\t\t<Text tag=\"span\" type=\"secondary\">{summary.excess ? strings.overLimit : strings.remaining}</Text>\n\t\t</Stack>}\n\t\t{footerAction}\n\t</Stack>;\n\tconst card = <Card\n\t\t{...cardProps}\n\t\ttitle={cardProps.title ?? strings.title}\n\t\tclassName={cn('usage-card--component min-w-0', cardProps.className)}\n\t\tdata-component=\"usage-card\"\n\t\tdata-slot=\"usage-card\"\n\t\taria-busy={status === 'loading' || undefined}\n\t\theaderAction={hasPeriods ? <Stack direction=\"horizontal\" gap={compositionRhythm.commands} align=\"center\" className=\"usage-card--header-actions max-w-full\">\n\t\t\t<TabsList scrollable aria-label={strings.periods}>\n\t\t\t\t{periods.map(item => <TabsTrigger key={item.value} value={item.value} disabled={item.disabled || !onPeriodChange}>{item.label}</TabsTrigger>)}\n\t\t\t</TabsList>\n\t\t\t{cardProps.headerAction}\n\t\t</Stack> : cardProps.headerAction}\n\t\tfooterSlot={footer}\n\t>\n\t\t{hasPeriods ? <TabsContent value={selectedPeriod}>{body}</TabsContent> : body}\n\t</Card>;\n\treturn hasPeriods ? <Tabs value={selectedPeriod} onValueChange={value => { if (typeof value === 'string') onPeriodChange?.(value); }} className=\"min-w-0\">{card}</Tabs> : card;\n}\n\nUsageCard.displayName = 'UsageCard';\n"],"mappings":";;;;;;;;;;;;;;AAEA,SAAgBmB,EAAW,GAAiD;CAC3E,OAAO,OAAOC,KAAU,YAAY,OAAO,SAASA,CAAK,KAAKA,KAAS,IAAIA,IAAQ;AACpF;AAGA,SAAgBC,EAAa,GAAgB,GAAkB,IAAQ,GAAY;CAClF,IAAIF,EAAWG,CAAM,MAAM,QAAQH,EAAWI,CAAQ,MAAM,MAAM,OAAO;CAEzE,IAAMC,IADY,KAAK,IAAIF,GAAQC,CACjB,eAA6B,KAAK,IAAI,GAAGE,CAAK;CAChE,OAAOH,IAASC,IAAWC;AAC5B;AAGA,SAAgBE,EAAa,GAA0B,GAAuC;CAC7F,IAAMC,IAAOR,EAAWS,CAAS,GAC3BC,IAAQV,EAAWW,CAAU,GAC7BC,IAAOJ,MAAS,OAAO,gBAAgBG,MAAe,OAAO,cAAcD,MAAU,OAAO,gBAAgB,WAC5GG,IAAQL,MAAS,QAAQE,MAAU,QAAQA,IAAQ,IAAIF,IAAOE,IAAQ,MAAMF,MAAS,KAAKE,MAAU,IAAI,IAAI;CAElH,OAAO;EACN;EAAM;EAAM;EAAO,SAFJG,MAAU,QAAQ,OAAO,SAASA,CAAK,IAAIA,IAAQ;EAGlE,UAAUD,MAAS,YAAYF,MAAU,IAAIF,MAAS,IAAI,IAAI,MAAM,KAAK,IAAI,KAAKK,KAAS,CAAC,IAAI;EAChG,WAAWD,MAAS,YAAY,KAAK,IAAI,IAAIF,KAAS,MAAMF,KAAQ,EAAE,IAAI;EAC1E,QAAQI,MAAS,YAAY,KAAK,IAAI,IAAIJ,KAAQ,MAAME,KAAS,EAAE,IAAI;CACxE;AACD;AAEA,SAAgBI,EAAa,GAA+B;CAC3D,IAAMC,IAASC,EAAK,KAAI,MAAOhB,EAAWiB,EAAI,KAAK,CAAC,GAC9CC,IAAWH,EAAO,SAAS,KAAKA,EAAO,OAAM,MAASd,MAAU,IAAI,GACpEkB,IAAUJ,EAAO,QAAgB,GAAK,MAAU,KAAK,IAAIK,GAAKnB,KAAS,CAAC,GAAG,CAAC;CAClF,OAAO;EACN;EAEA,SAASiB,IAAWH,EAAO,QAAgB,GAAK,MAAUM,KAAOpB,KAAS,KAAKc,EAAO,QAAQ,CAAC,IAAI;EACnG,SAASI,IAAU,IAAIA,IAAU;CAClC;AACD;;;AChBA,IAAaG,IAA4C;CACxD,OAAO;CAAS,OAAO;CAAS,MAAM;CAAQ,IAAI;CAAM,WAAW;CACnE,aAAa;CAAe,WAAW;CAAa,WAAW;CAC/D,WAAW;CAAmB,uBAAuB;CACrD,OAAO;CAAe,SAAS;CAAW,QAAQ;CAAW,oBAAoB;CAAuB,WAAW;CACnH,SAAS;CAAgB,SAAS;CAAiB,OAAO;CAC1D,OAAO;CAAiB,OAAO;AAChC,GCZMC,IAAc;CAAC;CAAc;CAAc;CAAc;CAAc;AAAY;AACzF,SAASC,EAAc,GAA6B,GAAe;CAClE,OAAOD,GAAaE,EAAS,UAAU,KAAA,IAAYC,IAAQD,EAAS,QAAQ,KAAKF,EAAY;AAC9F;AAEA,SAASI,EAAW,EAAE,UAAO,YAAS,eAAY,MAAoF;CACrI,IAAMC,IAAUrB,EAAasB,EAAM,MAAMA,EAAM,KAAK;CACpD,OAAO,kBAACxC,GAAD;EAAO,KAAI;EAAQ,WAAU;EAA7B,UAAA;GACN,kBAACA,GAAD;IAAO,WAAU;IAAa,KAAI;IAAK,OAAM;IAA7C,UAAA;KACC,kBAACR,GAAD;MAAa,MAAK;MAAU,OAAO+C,EAAQ;MAAM,YAAYE,EAAQ;MAAa,MAAMC,IAAY,OAAO,KAAA;MAAW,QAAQA,IAAY,aAAa;MAAU,OAAM;KAAQ,CAAA;KAC9K,CAACA,KAAaH,EAAQ,SAAS,aAAa,kBAAA9C,GAAA,EAAA,UAAA,CAC5C,kBAACI,GAAD;MAAM,KAAI;MAAO,MAAK;MAAa,UAAA4C,EAAQ;KAAS,CAAA,GACpD,kBAACjD,GAAD;MAAa,OAAO+C,EAAQ;MAAO,MAAK;MAAY,OAAM;KAAQ,CAAA,CACjE,EAAA,CAAA;KACDC,EAAM,QAAQ,kBAAC3C,GAAD;MAAM,KAAI;MAAO,MAAK;MAAa,UAAA2C,EAAM;KAAW,CAAA;KAClEE,KAAaH,EAAQ,SAAS,QAAQ,kBAAC1C,GAAD;MAAM,KAAI;MAAO,MAAK;MAAK,MAAK;MAAa,UAAA4C,EAAQ;KAAW,CAAA;IACjG;;GACNC,KAAaH,EAAQ,SAAS,aAAa,kBAACvC,GAAD;IAAO,WAAU;IAAa,KAAI;IAAK,OAAM;IAA7C,UAAA,CAC3C,kBAACH,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,MAAK;KAAa,UAAA4C,EAAQ;IAAS,CAAA,GAC9D,kBAACjD,GAAD;KAAa,OAAO+C,EAAQ;KAAO,MAAK;KAAK,MAAK;KAAY,OAAM;IAAQ,CAAA,CACtE;;GACNA,EAAQ,SAAS,eAAe,kBAAC1C,GAAD;IAAM,KAAI;IAAO,MAAK;IAAK,MAAK;IAAa,UAAA4C,EAAQ;GAAgB,CAAA;GACrGF,EAAQ,SAAS,iBAAiBA,EAAQ,SAAS,QAAQ,kBAAC1C,GAAD;IAAM,KAAI;IAAO,MAAK;IAAK,MAAK;IAAa,UAAA4C,EAAQ;GAAkB,CAAA;EAC7H;;AACR;AAEA,SAASG,EAAc,EAAE,UAAO,UAAO,YAAS,iBAA8H;CAC7K,IAAML,IAAUrB,EAAasB,EAAM,MAAMA,EAAM,KAAK,GAC9CK,IAAanD,EAAoB;CACvC,IAAI6C,EAAQ,SAAS,WAAW,OAAO;CACvC,IAAMP,IAAMc,GAAY,QAAQ,GAAO,MAAaC,KAASpC,EAAWyB,EAAS,KAAK,KAAK,IAAI,CAAC,KAAK,GAC/FY,IAAY,CAAC,CAACF,GAAY,UAAUA,EAAW,OAAM,MAAYnC,EAAWyB,EAAS,KAAK,MAAM,IAAI,KAAK,CAACvB,EAAamB,GAAKO,EAAQ,QAAQ,GAAGO,EAAW,MAAM,GAChKhB,IAAU,KAAK,IAAIS,EAAQ,SAAS,GAAGA,EAAQ,QAAQ,CAAC,GACxDU,IAAcnB,IAAU,IAAIA,IAAU,GACtCoB,IAAerC,EAAa0B,EAAQ,QAAQ,GAAGP,GAAKc,GAAY,MAAM,KAAKP,EAAQ,QAAQ,KAAKP,IAAM,GACtGmB,IAAS,IAAI,KAAK,aAAaN,EAAW,MAAM;CACtD,OAAO,kBAAC1C,GAAD;EACN,OAAOoC,EAAQ,YAAY;EAC3B,cAAYa;EACZ,wBAAwB,GAAGD,EAAO,OAAOZ,EAAQ,QAAQ,CAAC,EAAE,GAAGE,EAAQ,GAAG,GAAGU,EAAO,OAAOZ,EAAQ,SAAS,CAAC,EAAE,GAAGC,EAAM,QAAQ,GAAG,GAAGC,EAAQ;EAC9I,MAAMF,EAAQ,SAAS,gBAAgB;EACvC,WAAWS,IAAY,kBAAC9C,GAAD,EAAA,UAAA,CACrB4C,GAAY,KAAK,GAAU,MAAU,kBAAC,QAAD;GAAwB,eAAY;GAAO,WAAWnD,EAAG,mBAAmBwC,EAAcC,GAAUC,CAAK,CAAC;GAAG,OAAO,EAAE,OAAO,IAAID,EAAS,SAAS,KAAKa,IAAc,IAAI,GAAG;EAAI,GAAtKb,EAAS,EAA6J,CAAC,GACvNc,IAAe,KAAK,kBAAC,QAAD;GAAM,eAAY;GAAO,WAAU;GAA6B,OAAO,EAAE,OAAO,GAAGA,IAAeD,IAAc,IAAI,GAAG;EAAI,CAAA,CAClI,EAAA,CAAA,IAAI,KAAA;CACnB,CAAA;AACF;AAEA,SAASI,EAAW,EAAE,SAAM,SAAM,cAAwF;CACzH,IAAMd,IAAUd,EAAaE,CAAI,GAG3B2B,IAAUf,EAAQ,OAAO,QAAO,MAAS3B,MAAU,IAAI,CAAC,CAAC,UAAU;CACzE,OAAO,kBAACZ,GAAD;EAAO,KAAI;EAAK,WAAU;EAA1B,UAAA;GACN,kBAACA,GAAD;IAAO,WAAU;IAAa,SAAQ;IAAU,OAAM;IAAW,KAAI;IAArE,UAAA,CACC,kBAACF,GAAD;KAAc,WAAU;KAAgB,UAAA2C,EAAQ;IAAoB,CAAA,GACnEF,EAAQ,YAAY,OAClB,kBAAC1C,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,MAAK;KAAY,WAAU;KAAuB,UAAA4C,EAAQ,sBAAsBR,EAAwB;IAAyB,CAAA,IAC5J,kBAACjC,GAAD;KAAO,WAAU;KAAa,KAAI;KAAK,OAAM;KAAW,WAAU;KAAlE,UAAA;MACD,kBAACH,GAAD;OAAM,KAAI;OAAO,MAAK;OAAK,MAAK;OAAa,UAAA4C,EAAQ;MAAc,CAAA;MACnE,kBAACjD,GAAD;OAAa,MAAK;OAAU,OAAO+C,EAAQ;OAAS,SAAS,EAAE,uBAAuB,EAAE;OAAG,QAAO;MAAU,CAAA;MAC5G,kBAAC1C,GAAD;OAAM,KAAI;OAAO,MAAK;OAAK,MAAK;OAAa,UAAA4C,EAAQ;MAAa,CAAA;KAC5D;IACF,CAAA,CAAA;;GACNa,KAAW,kBAAA7D,GAAA,EAAA,UAAA,CACX,kBAAC,OAAD;IAAK,SAAS,OAAOkC,EAAK,SAAS,GAAG;IAAM,qBAAoB;IAAO,eAAY;IAAO,WAAU;IAClG,UAAAY,EAAQ,OAAO,KAAK,GAAO,MAAU3B,MAAU,OAAO,OAAO,kBAAC,QAAD;KAAkB,GAAGyB,IAAQ,KAAK;KAAG,GAAG,KAAKzB,IAAQ2B,EAAQ,UAAU;KAAI,OAAO;KAAG,QAAQ3B,IAAQ2B,EAAQ,UAAU;KAAI,WAAU;IAAgB,GAA1IF,CAA0I,CAAC;GAChN,CAAA,GACL,kBAACrC,GAAD;IAAO,WAAU;IAAa,SAAQ;IAAU,KAAI;IAAK,eAAY;IAArE,UAAA,CACC,kBAACH,GAAD;KAAM,MAAK;KAAK,MAAK;KAAa,UAAA8B,EAAK,EAAE,EAAE;IAAY,CAAA,GACtDA,EAAK,SAAS,KAAK,kBAAC9B,GAAD;KAAM,MAAK;KAAK,MAAK;KAAa,UAAA8B,EAAKA,EAAK,SAAS,EAAE,EAAE;IAAY,CAAA,CACnF;GACN,CAAA,CAAA,EAAA,CAAA;GACF,kBAAC,MAAD;IAAI,WAAU;IAAU,cAAYc,EAAQ;IAC1C,UAAAd,EAAK,KAAK,GAAK,MAAU,kBAAC,MAAD,EAAA,UAAA;KAAiBC,EAAI;KAAM;KAAE,kBAACpC,GAAD;MAAa,MAAK;MAAU,OAAOmB,EAAWiB,EAAI,KAAK;MAAG,YAAYa,EAAQ;KAAc,CAAA;KAAC;KAAEc;IAAS,EAAA,GAA5HlB,CAA4H,CAAC;GAC7J,CAAA;EACE;;AACR;AAEA,SAASmB,EAAU,EAAE,SAAM,cAA+D;CACzF,IAAMjB,IAAUrB,EAAauC,EAAK,MAAMA,EAAK,KAAK,GAC5CC,IAAgBD,EAAK,YAAY,QAAQ,GAAO,MAAaV,KAASpC,EAAWyB,EAAS,KAAK,KAAK,IAAI,CAAC,KAAK,GAC9GuB,IAAepB,EAAQ,SAAS,QAAQ1B,EAAa6C,GAAenB,EAAQ,MAAMkB,EAAK,YAAY,MAAM;CAC/G,OAAO,kBAACzD,GAAD;EAAO,KAAI;EAAX,UAAA;GACN,kBAACA,GAAD;IAAO,KAAI;IAAK,WAAU;IAA1B,UAAA;KACC,kBAACA,GAAD;MAAO,WAAU;MAAa,SAAQ;MAAU,OAAM;MAAQ,KAAI;MAAlE,UAAA,CACC,kBAACsC,GAAD;OAAY,OAAOmB;OAAe;OAAS,WAAA;MAAW,CAAA,GACrDlB,EAAQ,YAAY,QAAQ,kBAAClC,GAAD;OAAS,OAAOkC,EAAQ;OAAS,QAAA;OAAO,MAAK;OAAK,QAAO;OAAS,MAAK;OAAY,SAAS,EAAE,uBAAuB,EAAE;MAAI,CAAA,CAClJ;;KACP,kBAACK,GAAD;MAAe,OAAOa;MAAM,OAAOhB,EAAQ;MAAgB;MAAS,YAAYgB,EAAK;KAAa,CAAA;KACjG,CAAC,CAACA,EAAK,YAAY,UAAU,kBAAC1D,GAAD;MAAM,QAAQ,kBAAC,MAAD,EAAI,cAAY0C,EAAQ,UAAY,CAAA;MAAG,SAAS;MAAG,KAAI;MAAK,WAAU;MAChH,UAAAgB,EAAK,WAAW,KAAK,GAAU,MAAU;OACzC,IAAM7C,IAAQD,EAAWyB,EAAS,KAAK,GACjCwB,IAAUrB,EAAQ,SAAS,QAAQ3B,MAAU,QAAQ+C,IAAe,OAAOpB,EAAQ,SAAS,IAAI,IAAI3B,IAAQ2B,EAAQ;OAC1H,OAAO,kBAAC,MAAD;QAAsB,WAAU;QAAhC,UAAA;SACN,kBAACvC,GAAD;UAAO,WAAU;UAAa,KAAI;UAAK,OAAM;UAAS,MAAM;UAAO,WAAU;UAA7E,UAAA,CACC,kBAAC,QAAD;WAAM,eAAY;WAAO,WAAWL,EAAG,sCAAsCwC,EAAcC,GAAUC,CAAK,CAAC;UAAI,CAAA,GAC/G,kBAACxC,GAAD;WAAM,MAAK;WAAU,KAAI;WAAO,WAAU;WAAe,UAAAuC,EAAS;UAAY,CAAA,CACxE;;SACP,kBAAC5C,GAAD;UAAa,MAAK;UAAiB;UAAO,YAAYiD,EAAQ;UAAa,QAAO;UAAS,WAAU;SAA8B,CAAA;SACnI,kBAACpC,GAAD;UAAS,OAAOuD;UAAS,YAAYnB,EAAQ;UAAa,MAAK;UAAY,SAAS,EAAE,uBAAuB,EAAE;UAAG,WAAU;SAA8B,CAAA;QACvJ;OAPY,GAAAL,EAAS,EAOrB;MACL,CAAC;KACI,CAAA;KACLuB,KAAgB,kBAAC9D,GAAD;MAAM,MAAK;MAAK,MAAK;MAAa,UAAA4C,EAAQ;KAA4B,CAAA;IACjF;;GACNgB,EAAK,SAAS,kBAACJ,GAAD;IAAY,MAAMI,EAAK;IAAO,MAAMA,EAAK;IAAe;GAAU,CAAA;GAGhF,CAAC,CAACA,EAAK,WAAW,UAAU,kBAACzD,GAAD;IAAO,KAAI;IAAX,UAAA,CAC5B,kBAACF,GAAD;KAAc,WAAU;KAAgB,UAAA2C,EAAQ;IAAwB,CAAA,GACxE,kBAAC1C,GAAD;KAAM,SAAS;KAAG,KAAI;KAAK,WAAU;KACnC,UAAA0D,EAAK,UAAU,KAAI,MAAY,kBAACzD,GAAD;MAAyB,KAAI;MAAK,WAAU;MAA+B,MAAK;MAAQ,cAAY6D,EAAS;MAA7G,UAAA;OAC/B,kBAAChE,GAAD;QAAM,MAAK;QAAY,KAAI;QAAO,MAAK;QAAM,UAAAgE,EAAS;OAAY,CAAA;OAClE,kBAACvB,GAAD;QAAY,OAAOuB;QAAmB;OAAU,CAAA;OAChD,kBAACjB,GAAD;QAAe,OAAOiB;QAAU,OAAOA,EAAS;QAAgB;OAAU,CAAA;MACpE;KAJqC,GAAAA,EAAS,EAI9C,CAAC;IACH,CAAA,CACA;;EACD;;AACR;AAGA,SAAgBC,EAAU,EAAE,SAAM,YAAS,SAAS,YAAS,WAAQ,mBAAgB,YAAS,gBAAa,cAAW,cAAW,iBAAc,SAASC,GAAa,GAAGC,KAA6B;CACpM,IAAMvB,IAAUwB,EAAWhC,GAAyB8B,CAAW,GACzDG,IAAQC,MAAW,WAAW,CAAC,CAACV,GAChClB,IAAU2B,IAAQhD,EAAauC,EAAK,MAAMA,EAAK,KAAK,IAAI,MACxDW,IAAiBC,KAAUC,IAAU,EAAE,EAAE,SAAS,IAClDC,IAAa,CAAC,CAACD,GAAS,QAC1BE;CACJ,AAEiBA,IAFbL,MAAW,YAAkB,kBAAC,OAAD;EAAK,MAAK;EAAU,UAAAM,KAAe,kBAAC5E,GAAD;GAAM,MAAK;GAAa,UAAA4C,EAAQ;EAAc,CAAA;CAAO,CAAA,IAChH0B,MAAW,UAAgB,kBAACnE,GAAD;EAAO,MAAK;EAAQ,KAAI;EAAxB,UAAA,CAA8B0E,KAAa,kBAAC7E,GAAD;GAAM,MAAK;GAAW,UAAA4C,EAAQ;EAAY,CAAA,GAAGkC,KAAW,kBAAC/E,GAAD;GAAQ,MAAK;GAAY,SAAS+E;GAAU,UAAAlC,EAAQ;EAAc,CAAA,CAAS;MACxMyB,IACE,kBAACV,GAAD;EAAiB;EAAe;CAAU,CAAA,IAD9B,kBAAC,OAAD,EAAA,UAAMoB,KAAa,kBAAC/E,GAAD;EAAM,MAAK;EAAa,UAAA4C,EAAQ;CAAY,CAAA,EAAO,CAAA;CAE9F,IAAMoC,KAAUtC,GAAS,SAAS,aAAauC,MAAiB,kBAAC9E,GAAD;EAAO,WAAU;EAAa,SAAQ;EAAU,OAAM;EAAS,KAAI;EAAnE,UAAA,CAC9DuC,GAAS,SAAS,aAAa,kBAACvC,GAAD;GAAO,WAAU;GAAa,KAAI;GAAK,OAAM;GAA7C,UAAA;IAC/B,kBAACR,GAAD;KAAa,MAAK;KAAU,OAAO+C,EAAQ,SAASA,EAAQ,SAASA,EAAQ;KAAW,QAAO;IAAU,CAAA;IACxGkB,GAAM,QAAQ,kBAAC5D,GAAD;KAAM,KAAI;KAAO,MAAK;KAAa,UAAA4D,EAAK;IAAW,CAAA;IAClE,kBAAC5D,GAAD;KAAM,KAAI;KAAO,MAAK;KAAa,UAAA0C,EAAQ,SAASE,EAAQ,YAAYA,EAAQ;IAAgB,CAAA;GAC1F;EACN,CAAA,GAAAqC,CACK;KACDC,IAAO,kBAAC9E,GAAD;EACZ,GAAI+D;EACJ,OAAOA,EAAU,SAASvB,EAAQ;EAClC,WAAW9C,EAAG,iCAAiCqE,EAAU,SAAS;EAClE,kBAAe;EACf,aAAU;EACV,aAAWG,MAAW,aAAa,KAAA;EACnC,cAAcI,IAAa,kBAACvE,GAAD;GAAO,WAAU;GAAa,KAAKI,EAAkB;GAAU,OAAM;GAAS,WAAU;GAAxF,UAAA,CAC1B,kBAACK,GAAD;IAAU,YAAA;IAAW,cAAYgC,EAAQ;IACvC,UAAA6B,EAAQ,KAAI,MAAQ,kBAAC/D,GAAD;KAA8B,OAAOyE,EAAK;KAAO,UAAUA,EAAK,YAAY,CAACC;KAAiB,UAAAD,EAAK;IAAmB,GAApGA,EAAK,KAA+F,CAAC;GACnI,CAAA,GACThB,EAAU,YACL;EAAI,CAAA,IAAAA,EAAU;EACrB,YAAYa;EAEX,UAAAN,IAAa,kBAAC/D,GAAD;GAAa,OAAO4D;GAAiB,UAAAI;EAAkB,CAAA,IAAIA;CACpE,CAAA;CACN,OAAOD,IAAa,kBAAC7D,GAAD;EAAM,OAAO0D;EAAgB,gBAAe,MAAS;GAAE,AAAI,OAAOxD,KAAU,YAAUqE,IAAiBrE,CAAK;EAAG;EAAG,WAAU;EAAW,UAAAmE;CAAW,CAAA,IAAIA;AAC3K;AAEA,EAAU,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-B6kKb8jB.js","names":["tokenClassGroups","\"gap\"","\"h\"","\"mx\"","\"p\"","\"pb\"","\"pt\"","\"px\"","\"py\"","\"right\"","\"rounded\"","\"size\"","\"m\"","\"ml\"","\"ms\"","\"mt\"","\"my\"","\"top\"","\"inset\"","\"w\"","\"bottom\"","\"ps\"","\"end\"","\"text\"","\"font\"","\"pe\"","\"me\"","\"left\"","\"mb\"","\"mr\"","\"pl\"","\"pr\"","\"start\"","tokenCandidates","twMerge","extendTailwindMerge","BEM_HOOK","shippedTokenCandidates","before","prefix","suffix","after","tokenUtilities","groups","group","suffixes","isUnavailableTokenCandidate","depth","start","index","candidate","utility","cn","inputs","classes","clsx","hooks","entry","opaque","survivors","lastUtilityIndex","emitted"],"sources":["../src/lib/token-merge.generated.ts","../src/lib/utils.ts"],"sourcesContent":["/* Generated from emitted contract/library CSS; do not edit. */\nexport const tokenClassGroups = {\n \"gap\": [\n {\n \"gap\": [\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"dense\",\n \"normal\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-3xl\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"h\": [\n {\n \"h\": [\n \"action-sm\",\n \"control\",\n \"control-lg\",\n \"control-sm\",\n \"space-md\",\n \"control-file\",\n \"action\",\n \"action-lg\",\n \"action-xs\",\n \"icon\",\n \"icon-lg\",\n \"icon-sm\",\n \"shell-header\"\n ]\n }\n ],\n \"min-h\": [\n {\n \"min-h\": [\n \"action-lg\",\n \"shell-header\",\n \"action-xs\",\n \"control\",\n \"action\",\n \"action-sm\",\n \"control-lg\",\n \"control-sm\",\n \"icon\",\n \"icon-lg\",\n \"textarea\",\n \"textarea-sm\"\n ]\n }\n ],\n \"mx\": [\n {\n \"mx\": [\n \"space-2xs\",\n \"space-md\",\n \"space-sm\",\n \"row-x\",\n \"space-xs\",\n \"space-2xl\",\n \"space-lg\",\n \"space-xl\"\n ]\n }\n ],\n \"p\": [\n {\n \"p\": [\n \"surface\",\n \"surface-lg\",\n \"surface-xs\",\n \"space-md\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\",\n \"surface-sm\"\n ]\n }\n ],\n \"pb\": [\n {\n \"pb\": [\n \"surface\",\n \"surface-lg\",\n \"surface-xs\",\n \"space-xs\",\n \"space-md\",\n \"space-lg\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-sm\",\n \"space-xl\",\n \"surface-sm\"\n ]\n }\n ],\n \"pt\": [\n {\n \"pt\": [\n \"surface\",\n \"surface-lg\",\n \"surface-xs\",\n \"space-md\",\n \"space-lg\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\",\n \"surface-sm\"\n ]\n }\n ],\n \"px\": [\n {\n \"px\": [\n \"control-sm\",\n \"row-x\",\n \"surface-xs\",\n \"space-xs\",\n \"control\",\n \"control-xs\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"surface\",\n \"surface-lg\",\n \"surface-sm\"\n ]\n }\n ],\n \"py\": [\n {\n \"py\": [\n \"row-y\",\n \"space-2xs\",\n \"control-y-offset\",\n \"row-y-lg\",\n \"row-y-sm\",\n \"space-2xl\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\",\n \"surface\",\n \"surface-lg\",\n \"surface-sm\",\n \"surface-xs\"\n ]\n }\n ],\n \"right\": [\n {\n \"right\": [\n \"space-sm\",\n \"control-px\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"rounded\": [\n {\n \"rounded\": [\n \"radius\",\n \"surface\",\n \"radius-xs\",\n \"radius-lg\",\n \"radius-md\",\n \"radius-sm\",\n \"radius-xl\"\n ]\n }\n ],\n \"size\": [\n {\n \"size\": [\n \"action-xs\",\n \"action\",\n \"icon\",\n \"icon-lg\",\n \"icon-sm\",\n \"icon-md\",\n \"avatar-lg\",\n \"avatar-sm\",\n \"action-lg\",\n \"action-sm\",\n \"avatar\",\n \"control\",\n \"control-clear\",\n \"control-clear-icon\",\n \"control-lg\",\n \"control-sm\",\n \"shell-header-control\",\n \"upload-avatar\",\n \"upload-avatar-large\",\n \"upload-avatar-small\"\n ]\n }\n ],\n \"m\": [\n {\n \"m\": [\n \"space-xs\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\"\n ]\n }\n ],\n \"ml\": [\n {\n \"ml\": [\n \"space-sm\",\n \"space-md\",\n \"control-gap-small\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"ms\": [\n {\n \"ms\": [\n \"space-xl\",\n \"space-lg\",\n \"space-xs\",\n \"space-2xs\",\n \"space-2xl\",\n \"space-md\",\n \"space-sm\"\n ]\n }\n ],\n \"mt\": [\n {\n \"mt\": [\n \"space-md\",\n \"space-xl\",\n \"space-xs\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-sm\"\n ]\n }\n ],\n \"my\": [\n {\n \"my\": [\n \"space-sm\",\n \"space-xs\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-xl\"\n ]\n }\n ],\n \"space-x\": [\n {\n \"space-x\": [\n \"space-sm\",\n \"space-md\"\n ]\n }\n ],\n \"gap-x\": [\n {\n \"gap-x\": [\n \"dense\",\n \"normal\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-3xl\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"gap-y\": [\n {\n \"gap-y\": [\n \"dense\",\n \"normal\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-3xl\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"top\": [\n {\n \"top\": [\n \"space-2xl\",\n \"action-sm-center\",\n \"action-xs-center\",\n \"action-lg-center\",\n \"action-center\",\n \"control-y-offset\",\n \"shell-header\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"inset\": [\n {\n \"inset\": [\n \"space-xs\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\"\n ]\n }\n ],\n \"inset-y\": [\n {\n \"inset-y\": [\n \"space-md\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"w\": [\n {\n \"w\": [\n \"space-2xs\",\n \"shell-sidebar-icon-padded\",\n \"action-sm\",\n \"control\",\n \"control-clear\",\n \"control-lg\",\n \"control-sm\",\n \"shell-sidebar\"\n ]\n }\n ],\n \"bottom\": [\n {\n \"bottom\": [\n \"control-y-offset\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"translate-x\": [\n {\n \"translate-x\": [\n \"space-lg\"\n ]\n }\n ],\n \"ps\": [\n {\n \"ps\": [\n \"control-icon\",\n \"surface\",\n \"space-sm\",\n \"control\",\n \"control-addon\",\n \"control-addon-sm\",\n \"control-icon-sm\",\n \"control-sm\",\n \"control-xs\",\n \"row-x\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-xl\",\n \"space-xs\",\n \"surface-lg\",\n \"surface-sm\",\n \"surface-xs\"\n ]\n }\n ],\n \"end\": [\n {\n \"end\": [\n \"control-icon\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"font-size\": [\n {\n \"text\": [\n \"pxs\",\n \"xxs\"\n ]\n }\n ],\n \"font-family\": [\n {\n \"font\": [\n \"heading\"\n ]\n }\n ],\n \"rounded-l\": [\n {\n \"rounded-l\": [\n \"radius\"\n ]\n }\n ],\n \"rounded-r\": [\n {\n \"rounded-r\": [\n \"radius\"\n ]\n }\n ],\n \"rounded-t\": [\n {\n \"rounded-t\": [\n \"radius\",\n \"radius-sm\",\n \"surface\"\n ]\n }\n ],\n \"rounded-b\": [\n {\n \"rounded-b\": [\n \"radius\",\n \"surface\"\n ]\n }\n ],\n \"pe\": [\n {\n \"pe\": [\n \"space-sm\",\n \"surface\",\n \"action-sm\",\n \"control\",\n \"control-actions\",\n \"control-actions-sm\",\n \"control-addon\",\n \"control-addon-sm\",\n \"control-count\",\n \"control-count-sm\",\n \"control-icon\",\n \"control-icon-sm\",\n \"control-sm\",\n \"control-xs\",\n \"row-x\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-xl\",\n \"space-xs\",\n \"surface-lg\",\n \"surface-sm\",\n \"surface-xs\"\n ]\n }\n ],\n \"me\": [\n {\n \"me\": [\n \"space-xs\",\n \"space-2xs\",\n \"space-2xl\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\"\n ]\n }\n ],\n \"inset-x\": [\n {\n \"inset-x\": [\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"left\": [\n {\n \"left\": [\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"space-y\": [\n {\n \"space-y\": [\n \"space-2xs\",\n \"space-2xl\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"max-w\": [\n {\n \"max-w\": [\n \"content-2xl\",\n \"content-lg\",\n \"content-md\",\n \"content-sm\",\n \"content-xl\"\n ]\n }\n ],\n \"mb\": [\n {\n \"mb\": [\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"min-w\": [\n {\n \"min-w\": [\n \"action\",\n \"action-lg\",\n \"action-sm\",\n \"action-xs\"\n ]\n }\n ],\n \"mr\": [\n {\n \"mr\": [\n \"control-gap\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"pl\": [\n {\n \"pl\": [\n \"row-x\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\",\n \"surface\",\n \"surface-lg\",\n \"surface-sm\",\n \"surface-xs\"\n ]\n }\n ],\n \"pr\": [\n {\n \"pr\": [\n \"row-x\",\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\",\n \"surface\",\n \"surface-lg\",\n \"surface-sm\",\n \"surface-xs\"\n ]\n }\n ],\n \"rounded-e\": [\n {\n \"rounded-e\": [\n \"radius\"\n ]\n }\n ],\n \"rounded-s\": [\n {\n \"rounded-s\": [\n \"radius\"\n ]\n }\n ],\n \"start\": [\n {\n \"start\": [\n \"space-2xl\",\n \"space-2xs\",\n \"space-lg\",\n \"space-md\",\n \"space-sm\",\n \"space-xl\",\n \"space-xs\"\n ]\n }\n ],\n \"translate-y\": [\n {\n \"translate-y\": [\n \"space-lg\"\n ]\n }\n ]\n};\nexport const tokenCandidates = [\n [\"!\",\"gap\",\"space-lg\",\"\"],\n [\"!\",\"gap\",\"space-md\",\"\"],\n [\"!\",\"gap\",\"space-sm\",\"\"],\n [\"!\",\"h\",\"action-sm\",\"\"],\n [\"!\",\"h\",\"control\",\"\"],\n [\"!\",\"h\",\"control-lg\",\"\"],\n [\"!\",\"h\",\"control-sm\",\"\"],\n [\"!\",\"min-h\",\"action-lg\",\"\"],\n [\"!\",\"mx\",\"space-2xs\",\"\"],\n [\"!\",\"mx\",\"space-md\",\"\"],\n [\"!\",\"mx\",\"space-sm\",\"\"],\n [\"!\",\"p\",\"surface\",\"\"],\n [\"!\",\"p\",\"surface-lg\",\"\"],\n [\"!\",\"p\",\"surface-xs\",\"\"],\n [\"!\",\"pb\",\"surface\",\"\"],\n [\"!\",\"pb\",\"surface-lg\",\"\"],\n [\"!\",\"pb\",\"surface-xs\",\"\"],\n [\"!\",\"pt\",\"surface\",\"\"],\n [\"!\",\"pt\",\"surface-lg\",\"\"],\n [\"!\",\"pt\",\"surface-xs\",\"\"],\n [\"!\",\"px\",\"control-sm\",\"\"],\n [\"!\",\"px\",\"row-x\",\"\"],\n [\"!\",\"py\",\"row-y\",\"\"],\n [\"!\",\"right\",\"space-sm\",\"\"],\n [\"!\",\"rounded\",\"radius\",\"\"],\n [\"!\",\"rounded\",\"surface\",\"\"],\n [\"!\",\"size\",\"action-xs\",\"\"],\n [\"*:data-[slot=select-value]:\",\"gap\",\"space-sm\",\"\"],\n [\"-\",\"m\",\"space-xs\",\"\"],\n [\"-\",\"ml\",\"space-sm\",\"\"],\n [\"-\",\"ms\",\"space-xl\",\"\"],\n [\"-\",\"mt\",\"space-md\",\"\"],\n [\"-\",\"mt\",\"space-xl\",\"\"],\n [\"-\",\"mt\",\"space-xs\",\"\"],\n [\"-\",\"mx\",\"row-x\",\"\"],\n [\"-\",\"mx\",\"space-xs\",\"\"],\n [\"-\",\"my\",\"space-sm\",\"\"],\n [\"-\",\"my\",\"space-xs\",\"\"],\n [\"-\",\"space-x\",\"space-sm\",\"\"],\n [\"2xl:\",\"gap\",\"dense\",\"\"],\n [\"2xl:\",\"gap\",\"normal\",\"\"],\n [\"2xl:\",\"gap\",\"space-2xl\",\"\"],\n [\"2xl:\",\"gap\",\"space-2xs\",\"\"],\n [\"2xl:\",\"gap\",\"space-3xl\",\"\"],\n [\"2xl:\",\"gap\",\"space-lg\",\"\"],\n [\"2xl:\",\"gap\",\"space-md\",\"\"],\n [\"2xl:\",\"gap\",\"space-sm\",\"\"],\n [\"2xl:\",\"gap\",\"space-xl\",\"\"],\n [\"2xl:\",\"gap\",\"space-xs\",\"\"],\n [\"2xl:\",\"gap-x\",\"dense\",\"\"],\n [\"2xl:\",\"gap-x\",\"normal\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-2xs\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-3xl\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-lg\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-md\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-sm\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-xl\",\"\"],\n [\"2xl:\",\"gap-x\",\"space-xs\",\"\"],\n [\"2xl:\",\"gap-y\",\"dense\",\"\"],\n [\"2xl:\",\"gap-y\",\"normal\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-2xl\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-2xs\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-3xl\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-lg\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-md\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-sm\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-xl\",\"\"],\n [\"2xl:\",\"gap-y\",\"space-xs\",\"\"],\n [\"@2xl/event-calendar-header:\",\"gap\",\"space-xl\",\"\"],\n [\"@3xl/app-shell:\",\"gap\",\"space-md\",\"\"],\n [\"@3xl/app-shell:\",\"px\",\"surface-xs\",\"\"],\n [\"@3xl:\",\"top\",\"space-2xl\",\"\"],\n [\"@5xl/stacked-shell:\",\"gap\",\"space-2xl\",\"\"],\n [\"@5xl/stacked-shell:\",\"gap\",\"space-md\",\"\"],\n [\"@5xl/stacked-shell:\",\"min-h\",\"shell-header\",\"\"],\n [\"@max-[16rem]/metric-card:\",\"px\",\"space-xs\",\"\"],\n [\"@max-[4rem]/calendar-event:\",\"min-h\",\"action-xs\",\"\"],\n [\"@max-[4rem]/calendar-event:\",\"py\",\"space-2xs\",\"\"],\n [\"@max-md:\",\"size\",\"action\",\"\"],\n [\"@md/auth-method-switch:\",\"gap\",\"space-md\",\"\"],\n [\"@md/auth-method-switch:\",\"px\",\"control\",\"\"],\n [\"@md/order-line-item:\",\"gap-x\",\"space-xl\",\"\"],\n [\"@sm/alert:[&:not(:has(>svg))>[data-slot=alert-action]]:\",\"ms\",\"space-lg\",\"\"],\n [\"[&.border-b]:!\",\"pb\",\"surface\",\"\"],\n [\"[&.border-t]:!\",\"pt\",\"surface\",\"\"],\n [\"[&>.badge--component]:-\",\"my\",\"space-xs\",\"\"],\n [\"[&>.copyable--component]:-\",\"my\",\"space-sm\",\"\"],\n [\"[&>kbd]:\",\"rounded\",\"radius\",\"\"],\n [\"[&>svg:not([class*='size-'])]:\",\"size\",\"icon\",\"\"],\n [\"[&>svg:not([class*='size-'])]:\",\"size\",\"icon-lg\",\"\"],\n [\"[&>svg:not([class*='size-'])]:\",\"size\",\"icon-sm\",\"\"],\n [\"[&>svg]:\",\"size\",\"icon\",\"\"],\n [\"[&>svg]:\",\"size\",\"icon-lg\",\"\"],\n [\"[&>svg]:\",\"size\",\"icon-md\",\"\"],\n [\"[&>svg]:\",\"size\",\"icon-sm\",\"\"],\n [\"[&_.metadata-list--grid]:\",\"gap\",\"space-sm\",\"\"],\n [\"[&_[cmdk-group-heading]]:\",\"pb\",\"space-xs\",\"\"],\n [\"[&_[cmdk-group-heading]]:\",\"pt\",\"space-md\",\"\"],\n [\"[&_[cmdk-group-heading]]:\",\"px\",\"row-x\",\"\"],\n [\"[&_[data-slot=command-input-wrapper]]:\",\"p\",\"space-md\",\"\"],\n [\"[&_[data-slot=progress-track]]:\",\"h\",\"space-md\",\"\"],\n [\"[&_a]:\",\"rounded\",\"radius-xs\",\"\"],\n [\"[&_svg:not([class*='size-'])]:\",\"size\",\"icon\",\"\"],\n [\"[&_svg:not([class*='size-'])]:\",\"size\",\"icon-lg\",\"\"],\n [\"[&_svg:not([class*='size-'])]:\",\"size\",\"icon-sm\",\"\"],\n [\"[&_svg:not([class*=\\\\'size-\\\\'])]:\",\"size\",\"icon\",\"\"],\n [\"[&_svg:not([class*=size-])]:\",\"size\",\"icon\",\"\"],\n [\"[&_svg]:\",\"size\",\"icon\",\"\"],\n [\"[.border-b]:\",\"pb\",\"space-md\",\"\"],\n [\"[.border-t]:\",\"pt\",\"space-md\",\"\"],\n [\"after:-\",\"inset\",\"space-xs\",\"\"],\n [\"after:\",\"rounded\",\"radius\",\"\"],\n [\"before:\",\"inset-y\",\"space-md\",\"\"],\n [\"before:\",\"my\",\"space-xs\",\"\"],\n [\"before:\",\"w\",\"space-2xs\",\"\"],\n [\"\",\"bottom\",\"control-y-offset\",\"\"],\n [\"\",\"bottom\",\"space-2xl\",\"\"],\n [\"\",\"bottom\",\"space-2xs\",\"\"],\n [\"\",\"bottom\",\"space-lg\",\"\"],\n [\"\",\"bottom\",\"space-md\",\"\"],\n [\"\",\"bottom\",\"space-sm\",\"\"],\n [\"\",\"bottom\",\"space-xl\",\"\"],\n [\"\",\"bottom\",\"space-xs\",\"\"],\n [\"data-[collapsible=icon]:\",\"w\",\"shell-sidebar-icon-padded\",\"\"],\n [\"data-[direction=back]:starting:-\",\"translate-x\",\"space-lg\",\"\"],\n [\"data-[direction=forward]:starting:\",\"translate-x\",\"space-lg\",\"\"],\n [\"data-[orientation=horizontal]:\",\"min-h\",\"control\",\"\"],\n [\"data-[size=default]:\",\"h\",\"control\",\"\"],\n [\"data-[size=lg]:\",\"size\",\"avatar-lg\",\"\"],\n [\"data-[size=sm]:\",\"h\",\"control-sm\",\"\"],\n [\"data-[size=sm]:\",\"size\",\"avatar-sm\",\"\"],\n [\"data-inset:\",\"ps\",\"control-icon\",\"\"],\n [\"\",\"end\",\"control-icon\",\"\"],\n [\"\",\"end\",\"space-2xl\",\"\"],\n [\"\",\"end\",\"space-2xs\",\"\"],\n [\"\",\"end\",\"space-2xs\",\"!\"],\n [\"\",\"end\",\"space-lg\",\"\"],\n [\"\",\"end\",\"space-md\",\"\"],\n [\"\",\"end\",\"space-sm\",\"\"],\n [\"\",\"end\",\"space-sm\",\"!\"],\n [\"\",\"end\",\"space-xl\",\"\"],\n [\"\",\"end\",\"space-xs\",\"\"],\n [\"file:\",\"h\",\"control-file\",\"\"],\n [\"file:\",\"px\",\"control\",\"\"],\n [\"file:\",\"rounded\",\"radius\",\"\"],\n [\"file:\",\"text\",\"pxs\",\"\"],\n [\"first:\",\"ps\",\"surface\",\"\"],\n [\"\",\"font\",\"heading\",\"\"],\n [\"\",\"gap\",\"dense\",\"\"],\n [\"\",\"gap\",\"normal\",\"\"],\n [\"\",\"gap\",\"space-2xl\",\"\"],\n [\"\",\"gap\",\"space-2xs\",\"\"],\n [\"\",\"gap\",\"space-3xl\",\"\"],\n [\"\",\"gap\",\"space-lg\",\"\"],\n [\"\",\"gap\",\"space-md\",\"\"],\n [\"\",\"gap\",\"space-sm\",\"\"],\n [\"\",\"gap\",\"space-xl\",\"\"],\n [\"\",\"gap\",\"space-xs\",\"\"],\n [\"\",\"gap-x\",\"dense\",\"\"],\n [\"\",\"gap-x\",\"normal\",\"\"],\n [\"\",\"gap-x\",\"space-2xl\",\"\"],\n [\"\",\"gap-x\",\"space-2xs\",\"\"],\n [\"\",\"gap-x\",\"space-3xl\",\"\"],\n [\"\",\"gap-x\",\"space-lg\",\"\"],\n [\"\",\"gap-x\",\"space-md\",\"\"],\n [\"\",\"gap-x\",\"space-sm\",\"\"],\n [\"\",\"gap-x\",\"space-xl\",\"\"],\n [\"\",\"gap-x\",\"space-xs\",\"\"],\n [\"\",\"gap-y\",\"dense\",\"\"],\n [\"\",\"gap-y\",\"normal\",\"\"],\n [\"\",\"gap-y\",\"space-2xl\",\"\"],\n [\"\",\"gap-y\",\"space-2xs\",\"\"],\n [\"\",\"gap-y\",\"space-3xl\",\"\"],\n [\"\",\"gap-y\",\"space-lg\",\"\"],\n [\"\",\"gap-y\",\"space-md\",\"\"],\n [\"\",\"gap-y\",\"space-sm\",\"\"],\n [\"\",\"gap-y\",\"space-xl\",\"\"],\n [\"\",\"gap-y\",\"space-xs\",\"\"],\n [\"group-data-[collapsible=icon]:\",\"px\",\"control-sm\",\"!\"],\n [\"group-data-[collapsible=icon]:\",\"size\",\"action\",\"!\"],\n [\"group-data-[collapsible=icon]:\",\"size\",\"action-lg\",\"!\"],\n [\"group-data-[collapsible=icon]:\",\"size\",\"action-sm\",\"!\"],\n [\"group-data-[collapsible=icon]:\",\"w\",\"shell-sidebar-icon-padded\",\"\"],\n [\"group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:\",\"rounded-l\",\"radius\",\"\"],\n [\"group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:\",\"rounded-r\",\"radius\",\"\"],\n [\"group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:\",\"rounded-t\",\"radius\",\"\"],\n [\"group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:\",\"rounded-b\",\"radius\",\"\"],\n [\"group-data-[size=xs]/item:[&_svg:not([class*='size-'])]:\",\"size\",\"icon-sm\",\"\"],\n [\"group-data-[size=xs]/item:\",\"gap\",\"dense\",\"\"],\n [\"group-data-[size=xs]/item:\",\"gap\",\"normal\",\"\"],\n [\"group-data-[size=xs]/item:\",\"rounded\",\"radius\",\"\"],\n [\"group-data-[spacing=0]/toggle-group:\",\"px\",\"control-sm\",\"\"],\n [\"group-data-[variant=chips]/tabs-list:\",\"h\",\"action-sm\",\"\"],\n [\"group-data-[variant=chips]/tabs-list:\",\"px\",\"control-sm\",\"\"],\n [\"group-data-[variant=floating]:\",\"rounded\",\"surface\",\"\"],\n [\"group-has-[>input]/input-group:\",\"pb\",\"space-md\",\"\"],\n [\"group-has-[>input]/input-group:\",\"pt\",\"space-md\",\"\"],\n [\"group-has-data-[sidebar=menu-action]/menu-item:\",\"px\",\"control-sm\",\"!\"],\n [\"group-has-data-[size=lg]/avatar-group:[&>svg]:\",\"size\",\"icon-lg\",\"\"],\n [\"group-has-data-[size=lg]/avatar-group:\",\"size\",\"avatar-lg\",\"\"],\n [\"group-has-data-[size=sm]/avatar-group:[&>svg]:\",\"size\",\"icon-sm\",\"\"],\n [\"group-has-data-[size=sm]/avatar-group:\",\"size\",\"avatar-sm\",\"\"],\n [\"\",\"h\",\"action\",\"\"],\n [\"\",\"h\",\"action-lg\",\"\"],\n [\"\",\"h\",\"action-sm\",\"\"],\n [\"\",\"h\",\"action-xs\",\"\"],\n [\"\",\"h\",\"control\",\"\"],\n [\"\",\"h\",\"control-file\",\"\"],\n [\"\",\"h\",\"control-lg\",\"\"],\n [\"\",\"h\",\"control-sm\",\"\"],\n [\"\",\"h\",\"icon\",\"\"],\n [\"\",\"h\",\"icon-lg\",\"\"],\n [\"\",\"h\",\"icon-sm\",\"\"],\n [\"\",\"h\",\"shell-header\",\"\"],\n [\"has-[>[data-align=block-end]]:[&>input]:\",\"pt\",\"space-lg\",\"\"],\n [\"has-[>[data-align=block-start]]:[&>input]:\",\"pb\",\"space-lg\",\"\"],\n [\"has-[>[data-align=inline-end]]:[&>input]:\",\"pe\",\"space-sm\",\"\"],\n [\"has-[>[data-align=inline-start]]:[&>input]:\",\"ps\",\"space-sm\",\"\"],\n [\"has-[>button]:-\",\"me\",\"space-xs\",\"\"],\n [\"has-[>button]:-\",\"ms\",\"space-xs\",\"\"],\n [\"has-[>kbd]:-\",\"me\",\"space-2xs\",\"\"],\n [\"has-[>kbd]:-\",\"ms\",\"space-2xs\",\"\"],\n [\"has-[>svg]:\",\"gap-x\",\"space-lg\",\"\"],\n [\"has-data-[slot=alert-dialog-media]:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"\",\"inset\",\"space-2xl\",\"\"],\n [\"\",\"inset\",\"space-2xs\",\"\"],\n [\"\",\"inset\",\"space-lg\",\"\"],\n [\"\",\"inset\",\"space-md\",\"\"],\n [\"\",\"inset\",\"space-sm\",\"\"],\n [\"\",\"inset\",\"space-xl\",\"\"],\n [\"\",\"inset\",\"space-xs\",\"\"],\n [\"\",\"inset-x\",\"space-2xl\",\"\"],\n [\"\",\"inset-x\",\"space-2xs\",\"\"],\n [\"\",\"inset-x\",\"space-lg\",\"\"],\n [\"\",\"inset-x\",\"space-md\",\"\"],\n [\"\",\"inset-x\",\"space-sm\",\"\"],\n [\"\",\"inset-x\",\"space-xl\",\"\"],\n [\"\",\"inset-x\",\"space-xs\",\"\"],\n [\"\",\"inset-y\",\"space-2xl\",\"\"],\n [\"\",\"inset-y\",\"space-2xs\",\"\"],\n [\"\",\"inset-y\",\"space-lg\",\"\"],\n [\"\",\"inset-y\",\"space-md\",\"\"],\n [\"\",\"inset-y\",\"space-sm\",\"\"],\n [\"\",\"inset-y\",\"space-xl\",\"\"],\n [\"\",\"inset-y\",\"space-xs\",\"\"],\n [\"last:\",\"pe\",\"surface\",\"\"],\n [\"\",\"left\",\"space-2xl\",\"\"],\n [\"\",\"left\",\"space-2xs\",\"\"],\n [\"\",\"left\",\"space-lg\",\"\"],\n [\"\",\"left\",\"space-md\",\"\"],\n [\"\",\"left\",\"space-sm\",\"\"],\n [\"\",\"left\",\"space-xl\",\"\"],\n [\"\",\"left\",\"space-xs\",\"\"],\n [\"lg:\",\"gap\",\"dense\",\"\"],\n [\"lg:\",\"gap\",\"normal\",\"\"],\n [\"lg:\",\"gap\",\"space-2xl\",\"\"],\n [\"lg:\",\"gap\",\"space-2xs\",\"\"],\n [\"lg:\",\"gap\",\"space-3xl\",\"\"],\n [\"lg:\",\"gap\",\"space-lg\",\"\"],\n [\"lg:\",\"gap\",\"space-md\",\"\"],\n [\"lg:\",\"gap\",\"space-sm\",\"\"],\n [\"lg:\",\"gap\",\"space-xl\",\"\"],\n [\"lg:\",\"gap\",\"space-xs\",\"\"],\n [\"lg:\",\"gap-x\",\"dense\",\"\"],\n [\"lg:\",\"gap-x\",\"normal\",\"\"],\n [\"lg:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"lg:\",\"gap-x\",\"space-2xs\",\"\"],\n [\"lg:\",\"gap-x\",\"space-3xl\",\"\"],\n [\"lg:\",\"gap-x\",\"space-lg\",\"\"],\n [\"lg:\",\"gap-x\",\"space-md\",\"\"],\n [\"lg:\",\"gap-x\",\"space-sm\",\"\"],\n [\"lg:\",\"gap-x\",\"space-xl\",\"\"],\n [\"lg:\",\"gap-x\",\"space-xs\",\"\"],\n [\"lg:\",\"gap-y\",\"dense\",\"\"],\n [\"lg:\",\"gap-y\",\"normal\",\"\"],\n [\"lg:\",\"gap-y\",\"space-2xl\",\"\"],\n [\"lg:\",\"gap-y\",\"space-2xs\",\"\"],\n [\"lg:\",\"gap-y\",\"space-3xl\",\"\"],\n [\"lg:\",\"gap-y\",\"space-lg\",\"\"],\n [\"lg:\",\"gap-y\",\"space-md\",\"\"],\n [\"lg:\",\"gap-y\",\"space-sm\",\"\"],\n [\"lg:\",\"gap-y\",\"space-xl\",\"\"],\n [\"lg:\",\"gap-y\",\"space-xs\",\"\"],\n [\"lg:\",\"space-y\",\"space-2xs\",\"\"],\n [\"lg:\",\"top\",\"space-2xl\",\"\"],\n [\"\",\"m\",\"space-2xl\",\"\"],\n [\"\",\"m\",\"space-2xs\",\"\"],\n [\"\",\"m\",\"space-lg\",\"\"],\n [\"\",\"m\",\"space-md\",\"\"],\n [\"\",\"m\",\"space-sm\",\"\"],\n [\"\",\"m\",\"space-xl\",\"\"],\n [\"\",\"m\",\"space-xs\",\"\"],\n [\"max-sm:\",\"size\",\"action\",\"\"],\n [\"max-sm:\",\"size\",\"action-sm\",\"\"],\n [\"\",\"max-w\",\"content-2xl\",\"\"],\n [\"\",\"max-w\",\"content-lg\",\"\"],\n [\"\",\"max-w\",\"content-md\",\"\"],\n [\"\",\"max-w\",\"content-sm\",\"\"],\n [\"\",\"max-w\",\"content-xl\",\"\"],\n [\"\",\"mb\",\"space-2xl\",\"\"],\n [\"\",\"mb\",\"space-2xs\",\"\"],\n [\"\",\"mb\",\"space-lg\",\"\"],\n [\"\",\"mb\",\"space-md\",\"\"],\n [\"\",\"mb\",\"space-sm\",\"\"],\n [\"\",\"mb\",\"space-xl\",\"\"],\n [\"\",\"mb\",\"space-xs\",\"\"],\n [\"md:\",\"gap\",\"dense\",\"\"],\n [\"md:\",\"gap\",\"normal\",\"\"],\n [\"md:\",\"gap\",\"space-2xl\",\"\"],\n [\"md:\",\"gap\",\"space-2xs\",\"\"],\n [\"md:\",\"gap\",\"space-3xl\",\"\"],\n [\"md:\",\"gap\",\"space-lg\",\"\"],\n [\"md:\",\"gap\",\"space-md\",\"\"],\n [\"md:\",\"gap\",\"space-sm\",\"\"],\n [\"md:\",\"gap\",\"space-xl\",\"\"],\n [\"md:\",\"gap\",\"space-xs\",\"\"],\n [\"md:\",\"gap-x\",\"dense\",\"\"],\n [\"md:\",\"gap-x\",\"normal\",\"\"],\n [\"md:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"md:\",\"gap-x\",\"space-2xs\",\"\"],\n [\"md:\",\"gap-x\",\"space-3xl\",\"\"],\n [\"md:\",\"gap-x\",\"space-lg\",\"\"],\n [\"md:\",\"gap-x\",\"space-md\",\"\"],\n [\"md:\",\"gap-x\",\"space-sm\",\"\"],\n [\"md:\",\"gap-x\",\"space-xl\",\"\"],\n [\"md:\",\"gap-x\",\"space-xs\",\"\"],\n [\"md:\",\"gap-y\",\"dense\",\"\"],\n [\"md:\",\"gap-y\",\"normal\",\"\"],\n [\"md:\",\"gap-y\",\"space-2xl\",\"\"],\n [\"md:\",\"gap-y\",\"space-2xs\",\"\"],\n [\"md:\",\"gap-y\",\"space-3xl\",\"\"],\n [\"md:\",\"gap-y\",\"space-lg\",\"\"],\n [\"md:\",\"gap-y\",\"space-md\",\"\"],\n [\"md:\",\"gap-y\",\"space-sm\",\"\"],\n [\"md:\",\"gap-y\",\"space-xl\",\"\"],\n [\"md:\",\"gap-y\",\"space-xs\",\"\"],\n [\"md:\",\"m\",\"space-md\",\"\"],\n [\"md:\",\"p\",\"surface-lg\",\"\"],\n [\"md:peer-data-[variant=inset]:\",\"m\",\"space-md\",\"\"],\n [\"md:peer-data-[variant=inset]:peer-data-[state=collapsed]:\",\"ml\",\"space-md\",\"\"],\n [\"md:peer-data-[variant=inset]:\",\"rounded\",\"surface\",\"\"],\n [\"md:\",\"pt\",\"space-md\",\"\"],\n [\"md:\",\"rounded\",\"surface\",\"\"],\n [\"\",\"me\",\"space-2xl\",\"\"],\n [\"\",\"me\",\"space-2xs\",\"\"],\n [\"\",\"me\",\"space-lg\",\"\"],\n [\"\",\"me\",\"space-md\",\"\"],\n [\"\",\"me\",\"space-sm\",\"\"],\n [\"\",\"me\",\"space-xl\",\"\"],\n [\"\",\"me\",\"space-xs\",\"\"],\n [\"\",\"min-h\",\"action\",\"\"],\n [\"\",\"min-h\",\"action-lg\",\"\"],\n [\"\",\"min-h\",\"action-sm\",\"\"],\n [\"\",\"min-h\",\"action-xs\",\"\"],\n [\"\",\"min-h\",\"control\",\"\"],\n [\"\",\"min-h\",\"control-lg\",\"\"],\n [\"\",\"min-h\",\"control-sm\",\"\"],\n [\"\",\"min-h\",\"icon\",\"\"],\n [\"\",\"min-h\",\"icon-lg\",\"\"],\n [\"\",\"min-h\",\"shell-header\",\"\"],\n [\"\",\"min-h\",\"textarea\",\"\"],\n [\"\",\"min-h\",\"textarea-sm\",\"\"],\n [\"\",\"min-w\",\"action\",\"\"],\n [\"\",\"min-w\",\"action-lg\",\"\"],\n [\"\",\"min-w\",\"action-sm\",\"\"],\n [\"\",\"min-w\",\"action-xs\",\"\"],\n [\"\",\"ml\",\"control-gap-small\",\"\"],\n [\"\",\"ml\",\"space-2xl\",\"\"],\n [\"\",\"ml\",\"space-2xs\",\"\"],\n [\"\",\"ml\",\"space-lg\",\"\"],\n [\"\",\"ml\",\"space-md\",\"\"],\n [\"\",\"ml\",\"space-sm\",\"\"],\n [\"\",\"ml\",\"space-xl\",\"\"],\n [\"\",\"ml\",\"space-xs\",\"\"],\n [\"\",\"mr\",\"control-gap\",\"\"],\n [\"\",\"mr\",\"space-2xl\",\"\"],\n [\"\",\"mr\",\"space-2xs\",\"\"],\n [\"\",\"mr\",\"space-lg\",\"\"],\n [\"\",\"mr\",\"space-md\",\"\"],\n [\"\",\"mr\",\"space-sm\",\"\"],\n [\"\",\"mr\",\"space-xl\",\"\"],\n [\"\",\"mr\",\"space-xs\",\"\"],\n [\"\",\"ms\",\"space-2xl\",\"\"],\n [\"\",\"ms\",\"space-2xs\",\"\"],\n [\"\",\"ms\",\"space-lg\",\"\"],\n [\"\",\"ms\",\"space-md\",\"\"],\n [\"\",\"ms\",\"space-sm\",\"\"],\n [\"\",\"ms\",\"space-xl\",\"\"],\n [\"\",\"ms\",\"space-xs\",\"\"],\n [\"\",\"mt\",\"space-2xl\",\"\"],\n [\"\",\"mt\",\"space-2xs\",\"\"],\n [\"\",\"mt\",\"space-lg\",\"\"],\n [\"\",\"mt\",\"space-md\",\"\"],\n [\"\",\"mt\",\"space-sm\",\"\"],\n [\"\",\"mt\",\"space-xl\",\"\"],\n [\"\",\"mt\",\"space-xs\",\"\"],\n [\"\",\"mx\",\"space-2xl\",\"\"],\n [\"\",\"mx\",\"space-2xs\",\"\"],\n [\"\",\"mx\",\"space-lg\",\"\"],\n [\"\",\"mx\",\"space-md\",\"\"],\n [\"\",\"mx\",\"space-sm\",\"\"],\n [\"\",\"mx\",\"space-xl\",\"\"],\n [\"\",\"mx\",\"space-xs\",\"\"],\n [\"\",\"my\",\"space-2xl\",\"\"],\n [\"\",\"my\",\"space-2xs\",\"\"],\n [\"\",\"my\",\"space-lg\",\"\"],\n [\"\",\"my\",\"space-md\",\"\"],\n [\"\",\"my\",\"space-sm\",\"\"],\n [\"\",\"my\",\"space-xl\",\"\"],\n [\"\",\"my\",\"space-xs\",\"\"],\n [\"\",\"p\",\"space-2xl\",\"\"],\n [\"\",\"p\",\"space-2xs\",\"\"],\n [\"\",\"p\",\"space-lg\",\"\"],\n [\"\",\"p\",\"space-md\",\"\"],\n [\"\",\"p\",\"space-sm\",\"\"],\n [\"\",\"p\",\"space-xl\",\"\"],\n [\"\",\"p\",\"space-xs\",\"\"],\n [\"\",\"p\",\"surface\",\"\"],\n [\"\",\"p\",\"surface-lg\",\"\"],\n [\"\",\"p\",\"surface-sm\",\"\"],\n [\"\",\"p\",\"surface-xs\",\"\"],\n [\"\",\"pb\",\"space-2xl\",\"\"],\n [\"\",\"pb\",\"space-2xs\",\"\"],\n [\"\",\"pb\",\"space-lg\",\"\"],\n [\"\",\"pb\",\"space-md\",\"\"],\n [\"\",\"pb\",\"space-sm\",\"\"],\n [\"\",\"pb\",\"space-xl\",\"\"],\n [\"\",\"pb\",\"space-xs\",\"\"],\n [\"\",\"pb\",\"surface\",\"\"],\n [\"\",\"pb\",\"surface-lg\",\"\"],\n [\"\",\"pb\",\"surface-sm\",\"\"],\n [\"\",\"pb\",\"surface-xs\",\"\"],\n [\"\",\"pe\",\"action-sm\",\"\"],\n [\"\",\"pe\",\"control\",\"\"],\n [\"\",\"pe\",\"control-actions\",\"\"],\n [\"\",\"pe\",\"control-actions-sm\",\"\"],\n [\"\",\"pe\",\"control-addon\",\"\"],\n [\"\",\"pe\",\"control-addon-sm\",\"\"],\n [\"\",\"pe\",\"control-count\",\"\"],\n [\"\",\"pe\",\"control-count-sm\",\"\"],\n [\"\",\"pe\",\"control-icon\",\"\"],\n [\"\",\"pe\",\"control-icon-sm\",\"\"],\n [\"\",\"pe\",\"control-sm\",\"\"],\n [\"\",\"pe\",\"control-xs\",\"\"],\n [\"\",\"pe\",\"row-x\",\"\"],\n [\"\",\"pe\",\"space-2xl\",\"\"],\n [\"\",\"pe\",\"space-2xs\",\"\"],\n [\"\",\"pe\",\"space-lg\",\"\"],\n [\"\",\"pe\",\"space-md\",\"\"],\n [\"\",\"pe\",\"space-sm\",\"\"],\n [\"\",\"pe\",\"space-xl\",\"\"],\n [\"\",\"pe\",\"space-xs\",\"\"],\n [\"\",\"pe\",\"surface\",\"\"],\n [\"\",\"pe\",\"surface-lg\",\"\"],\n [\"\",\"pe\",\"surface-sm\",\"\"],\n [\"\",\"pe\",\"surface-xs\",\"\"],\n [\"peer-data-[sidebar=menu-sub-button]/menu-sub-button:\",\"top\",\"action-sm-center\",\"!\"],\n [\"peer-data-[sidebar=menu-sub-button]/menu-sub-button:\",\"top\",\"action-xs-center\",\"!\"],\n [\"peer-data-[size=lg]/menu-button:\",\"top\",\"action-lg-center\",\"!\"],\n [\"peer-data-[size=sm]/menu-button:\",\"top\",\"action-sm-center\",\"!\"],\n [\"\",\"pl\",\"row-x\",\"\"],\n [\"\",\"pl\",\"space-2xl\",\"\"],\n [\"\",\"pl\",\"space-2xs\",\"\"],\n [\"\",\"pl\",\"space-lg\",\"\"],\n [\"\",\"pl\",\"space-md\",\"\"],\n [\"\",\"pl\",\"space-sm\",\"\"],\n [\"\",\"pl\",\"space-xl\",\"\"],\n [\"\",\"pl\",\"space-xs\",\"\"],\n [\"\",\"pl\",\"surface\",\"\"],\n [\"\",\"pl\",\"surface-lg\",\"\"],\n [\"\",\"pl\",\"surface-sm\",\"\"],\n [\"\",\"pl\",\"surface-xs\",\"\"],\n [\"\",\"pr\",\"row-x\",\"\"],\n [\"\",\"pr\",\"space-2xl\",\"\"],\n [\"\",\"pr\",\"space-2xs\",\"\"],\n [\"\",\"pr\",\"space-lg\",\"\"],\n [\"\",\"pr\",\"space-md\",\"\"],\n [\"\",\"pr\",\"space-sm\",\"\"],\n [\"\",\"pr\",\"space-xl\",\"\"],\n [\"\",\"pr\",\"space-xs\",\"\"],\n [\"\",\"pr\",\"surface\",\"\"],\n [\"\",\"pr\",\"surface-lg\",\"\"],\n [\"\",\"pr\",\"surface-sm\",\"\"],\n [\"\",\"pr\",\"surface-xs\",\"\"],\n [\"\",\"ps\",\"control\",\"\"],\n [\"\",\"ps\",\"control-addon\",\"\"],\n [\"\",\"ps\",\"control-addon-sm\",\"\"],\n [\"\",\"ps\",\"control-icon\",\"\"],\n [\"\",\"ps\",\"control-icon-sm\",\"\"],\n [\"\",\"ps\",\"control-sm\",\"\"],\n [\"\",\"ps\",\"control-xs\",\"\"],\n [\"\",\"ps\",\"row-x\",\"\"],\n [\"\",\"ps\",\"space-2xl\",\"\"],\n [\"\",\"ps\",\"space-2xs\",\"\"],\n [\"\",\"ps\",\"space-lg\",\"\"],\n [\"\",\"ps\",\"space-md\",\"\"],\n [\"\",\"ps\",\"space-sm\",\"\"],\n [\"\",\"ps\",\"space-xl\",\"\"],\n [\"\",\"ps\",\"space-xs\",\"\"],\n [\"\",\"ps\",\"surface\",\"\"],\n [\"\",\"ps\",\"surface-lg\",\"\"],\n [\"\",\"ps\",\"surface-sm\",\"\"],\n [\"\",\"ps\",\"surface-xs\",\"\"],\n [\"\",\"pt\",\"space-2xl\",\"\"],\n [\"\",\"pt\",\"space-2xs\",\"\"],\n [\"\",\"pt\",\"space-lg\",\"\"],\n [\"\",\"pt\",\"space-md\",\"\"],\n [\"\",\"pt\",\"space-sm\",\"\"],\n [\"\",\"pt\",\"space-xl\",\"\"],\n [\"\",\"pt\",\"space-xs\",\"\"],\n [\"\",\"pt\",\"surface\",\"\"],\n [\"\",\"pt\",\"surface-lg\",\"\"],\n [\"\",\"pt\",\"surface-sm\",\"\"],\n [\"\",\"pt\",\"surface-xs\",\"\"],\n [\"\",\"px\",\"control\",\"\"],\n [\"\",\"px\",\"control-sm\",\"\"],\n [\"\",\"px\",\"control-xs\",\"\"],\n [\"\",\"px\",\"row-x\",\"\"],\n [\"\",\"px\",\"space-2xl\",\"\"],\n [\"\",\"px\",\"space-2xs\",\"\"],\n [\"\",\"px\",\"space-lg\",\"\"],\n [\"\",\"px\",\"space-md\",\"\"],\n [\"\",\"px\",\"space-sm\",\"\"],\n [\"\",\"px\",\"space-xl\",\"\"],\n [\"\",\"px\",\"space-xs\",\"\"],\n [\"\",\"px\",\"surface\",\"\"],\n [\"\",\"px\",\"surface-lg\",\"\"],\n [\"\",\"px\",\"surface-sm\",\"\"],\n [\"\",\"px\",\"surface-xs\",\"\"],\n [\"\",\"py\",\"control-y-offset\",\"\"],\n [\"\",\"py\",\"row-y\",\"\"],\n [\"\",\"py\",\"row-y-lg\",\"\"],\n [\"\",\"py\",\"row-y-sm\",\"\"],\n [\"\",\"py\",\"space-2xl\",\"\"],\n [\"\",\"py\",\"space-2xs\",\"\"],\n [\"\",\"py\",\"space-lg\",\"\"],\n [\"\",\"py\",\"space-md\",\"\"],\n [\"\",\"py\",\"space-sm\",\"\"],\n [\"\",\"py\",\"space-xl\",\"\"],\n [\"\",\"py\",\"space-xs\",\"\"],\n [\"\",\"py\",\"surface\",\"\"],\n [\"\",\"py\",\"surface-lg\",\"\"],\n [\"\",\"py\",\"surface-sm\",\"\"],\n [\"\",\"py\",\"surface-xs\",\"\"],\n [\"\",\"right\",\"control-px\",\"\"],\n [\"\",\"right\",\"space-2xl\",\"\"],\n [\"\",\"right\",\"space-2xs\",\"\"],\n [\"\",\"right\",\"space-lg\",\"\"],\n [\"\",\"right\",\"space-md\",\"\"],\n [\"\",\"right\",\"space-sm\",\"\"],\n [\"\",\"right\",\"space-xl\",\"\"],\n [\"\",\"right\",\"space-xs\",\"\"],\n [\"\",\"rounded-b\",\"surface\",\"\"],\n [\"\",\"rounded-e\",\"radius\",\"\"],\n [\"\",\"rounded\",\"radius\",\"\"],\n [\"\",\"rounded\",\"radius-lg\",\"\"],\n [\"\",\"rounded\",\"radius-md\",\"\"],\n [\"\",\"rounded\",\"radius-sm\",\"\"],\n [\"\",\"rounded\",\"radius-xl\",\"\"],\n [\"\",\"rounded\",\"radius-xs\",\"\"],\n [\"\",\"rounded-s\",\"radius\",\"\"],\n [\"\",\"rounded\",\"surface\",\"\"],\n [\"\",\"rounded-t\",\"radius-sm\",\"\"],\n [\"\",\"rounded-t\",\"surface\",\"\"],\n [\"rtl:data-[direction=back]:starting:\",\"translate-x\",\"space-lg\",\"\"],\n [\"rtl:data-[direction=forward]:starting:-\",\"translate-x\",\"space-lg\",\"\"],\n [\"\",\"size\",\"action\",\"\"],\n [\"\",\"size\",\"action-lg\",\"\"],\n [\"\",\"size\",\"action-sm\",\"\"],\n [\"\",\"size\",\"action-xs\",\"\"],\n [\"\",\"size\",\"avatar\",\"\"],\n [\"\",\"size\",\"avatar-lg\",\"\"],\n [\"\",\"size\",\"avatar-sm\",\"\"],\n [\"\",\"size\",\"control\",\"\"],\n [\"\",\"size\",\"control-clear\",\"\"],\n [\"\",\"size\",\"control-clear-icon\",\"\"],\n [\"\",\"size\",\"control-lg\",\"\"],\n [\"\",\"size\",\"control-sm\",\"\"],\n [\"\",\"size\",\"icon\",\"\"],\n [\"\",\"size\",\"icon-lg\",\"\"],\n [\"\",\"size\",\"icon-md\",\"\"],\n [\"\",\"size\",\"icon-sm\",\"\"],\n [\"\",\"size\",\"shell-header-control\",\"\"],\n [\"\",\"size\",\"upload-avatar\",\"\"],\n [\"\",\"size\",\"upload-avatar-large\",\"\"],\n [\"\",\"size\",\"upload-avatar-small\",\"\"],\n [\"sm:!\",\"pe\",\"control\",\"\"],\n [\"sm:!\",\"pe\",\"control-sm\",\"\"],\n [\"sm:!\",\"ps\",\"control\",\"\"],\n [\"sm:!\",\"ps\",\"control-sm\",\"\"],\n [\"sm:\",\"gap\",\"dense\",\"\"],\n [\"sm:\",\"gap\",\"normal\",\"\"],\n [\"sm:\",\"gap\",\"space-2xl\",\"\"],\n [\"sm:\",\"gap\",\"space-2xs\",\"\"],\n [\"sm:\",\"gap\",\"space-3xl\",\"\"],\n [\"sm:\",\"gap\",\"space-lg\",\"\"],\n [\"sm:\",\"gap\",\"space-md\",\"\"],\n [\"sm:\",\"gap\",\"space-sm\",\"\"],\n [\"sm:\",\"gap\",\"space-xl\",\"\"],\n [\"sm:\",\"gap\",\"space-xs\",\"\"],\n [\"sm:\",\"gap-x\",\"dense\",\"\"],\n [\"sm:\",\"gap-x\",\"normal\",\"\"],\n [\"sm:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"sm:\",\"gap-x\",\"space-2xs\",\"\"],\n [\"sm:\",\"gap-x\",\"space-3xl\",\"\"],\n [\"sm:\",\"gap-x\",\"space-lg\",\"\"],\n [\"sm:\",\"gap-x\",\"space-md\",\"\"],\n [\"sm:\",\"gap-x\",\"space-sm\",\"\"],\n [\"sm:\",\"gap-x\",\"space-xl\",\"\"],\n [\"sm:\",\"gap-x\",\"space-xs\",\"\"],\n [\"sm:\",\"gap-y\",\"dense\",\"\"],\n [\"sm:\",\"gap-y\",\"normal\",\"\"],\n [\"sm:\",\"gap-y\",\"space-2xl\",\"\"],\n [\"sm:\",\"gap-y\",\"space-2xs\",\"\"],\n [\"sm:\",\"gap-y\",\"space-3xl\",\"\"],\n [\"sm:\",\"gap-y\",\"space-lg\",\"\"],\n [\"sm:\",\"gap-y\",\"space-md\",\"\"],\n [\"sm:\",\"gap-y\",\"space-sm\",\"\"],\n [\"sm:\",\"gap-y\",\"space-xl\",\"\"],\n [\"sm:\",\"gap-y\",\"space-xs\",\"\"],\n [\"sm:\",\"ms\",\"space-lg\",\"\"],\n [\"sm:\",\"px\",\"control-sm\",\"\"],\n [\"sm:\",\"px\",\"surface-lg\",\"\"],\n [\"\",\"space-x\",\"space-md\",\"\"],\n [\"\",\"space-y\",\"space-2xl\",\"\"],\n [\"\",\"space-y\",\"space-2xs\",\"\"],\n [\"\",\"space-y\",\"space-lg\",\"\"],\n [\"\",\"space-y\",\"space-md\",\"\"],\n [\"\",\"space-y\",\"space-sm\",\"\"],\n [\"\",\"space-y\",\"space-xl\",\"\"],\n [\"\",\"space-y\",\"space-xs\",\"\"],\n [\"\",\"start\",\"space-2xl\",\"\"],\n [\"\",\"start\",\"space-2xs\",\"\"],\n [\"\",\"start\",\"space-lg\",\"\"],\n [\"\",\"start\",\"space-md\",\"\"],\n [\"\",\"start\",\"space-sm\",\"\"],\n [\"\",\"start\",\"space-xl\",\"\"],\n [\"\",\"start\",\"space-xs\",\"\"],\n [\"starting:\",\"translate-y\",\"space-lg\",\"\"],\n [\"\",\"text\",\"pxs\",\"\"],\n [\"\",\"text\",\"xxs\",\"\"],\n [\"\",\"top\",\"action-center\",\"\"],\n [\"\",\"top\",\"action-center\",\"!\"],\n [\"\",\"top\",\"action-lg-center\",\"\"],\n [\"\",\"top\",\"action-sm-center\",\"\"],\n [\"\",\"top\",\"action-xs-center\",\"\"],\n [\"\",\"top\",\"control-y-offset\",\"\"],\n [\"\",\"top\",\"shell-header\",\"\"],\n [\"\",\"top\",\"space-2xl\",\"\"],\n [\"\",\"top\",\"space-2xs\",\"\"],\n [\"\",\"top\",\"space-lg\",\"\"],\n [\"\",\"top\",\"space-md\",\"\"],\n [\"\",\"top\",\"space-sm\",\"\"],\n [\"\",\"top\",\"space-xl\",\"\"],\n [\"\",\"top\",\"space-xs\",\"\"],\n [\"\",\"w\",\"action-sm\",\"\"],\n [\"\",\"w\",\"control\",\"\"],\n [\"\",\"w\",\"control-clear\",\"\"],\n [\"\",\"w\",\"control-lg\",\"\"],\n [\"\",\"w\",\"control-sm\",\"\"],\n [\"\",\"w\",\"shell-sidebar\",\"\"],\n [\"\",\"w\",\"shell-sidebar-icon-padded\",\"\"],\n [\"xl:\",\"gap\",\"dense\",\"\"],\n [\"xl:\",\"gap\",\"normal\",\"\"],\n [\"xl:\",\"gap\",\"space-2xl\",\"\"],\n [\"xl:\",\"gap\",\"space-2xs\",\"\"],\n [\"xl:\",\"gap\",\"space-3xl\",\"\"],\n [\"xl:\",\"gap\",\"space-lg\",\"\"],\n [\"xl:\",\"gap\",\"space-md\",\"\"],\n [\"xl:\",\"gap\",\"space-sm\",\"\"],\n [\"xl:\",\"gap\",\"space-xl\",\"\"],\n [\"xl:\",\"gap\",\"space-xs\",\"\"],\n [\"xl:\",\"gap-x\",\"dense\",\"\"],\n [\"xl:\",\"gap-x\",\"normal\",\"\"],\n [\"xl:\",\"gap-x\",\"space-2xl\",\"\"],\n [\"xl:\",\"gap-x\",\"space-2xs\",\"\"],\n [\"xl:\",\"gap-x\",\"space-3xl\",\"\"],\n [\"xl:\",\"gap-x\",\"space-lg\",\"\"],\n [\"xl:\",\"gap-x\",\"space-md\",\"\"],\n [\"xl:\",\"gap-x\",\"space-sm\",\"\"],\n [\"xl:\",\"gap-x\",\"space-xl\",\"\"],\n [\"xl:\",\"gap-x\",\"space-xs\",\"\"],\n [\"xl:\",\"gap-y\",\"dense\",\"\"],\n [\"xl:\",\"gap-y\",\"normal\",\"\"],\n [\"xl:\",\"gap-y\",\"space-2xl\",\"\"],\n [\"xl:\",\"gap-y\",\"space-2xs\",\"\"],\n [\"xl:\",\"gap-y\",\"space-3xl\",\"\"],\n [\"xl:\",\"gap-y\",\"space-lg\",\"\"],\n [\"xl:\",\"gap-y\",\"space-md\",\"\"],\n [\"xl:\",\"gap-y\",\"space-sm\",\"\"],\n [\"xl:\",\"gap-y\",\"space-xl\",\"\"],\n [\"xl:\",\"gap-y\",\"space-xs\",\"\"]\n];\n","import { clsx, type ClassValue } from \"clsx\"\nimport { extendTailwindMerge } from \"tailwind-merge\"\n\nimport { tokenClassGroups, tokenCandidates } from \"./token-merge.generated\"\n\n/**\n * Extend tailwind-merge so it knows our token-backed utilities\n * (`text-xxs`, `text-sm`, `h-control`, `px-control`, etc. defined in\n * css/token layers against CSS variables) belong to the same groups as\n * native Tailwind utilities.\n *\n * Without this, twMerge either groups custom text sizes with text-color\n * utilities or fails to dedupe token spacing against primitive defaults.\n */\nconst twMerge = extendTailwindMerge<\"arbitrary..font-size\">({\n\textend: {\n\t\tclassGroups: tokenClassGroups,\n\t\tconflictingClassGroups: {\n\t\t\t\"font-size\": [\"arbitrary..font-size\"],\n\t\t\t\"arbitrary..font-size\": [\"font-size\"],\n\t\t},\n\t},\n})\n\n/*\n * Rule 24's DOM contract: every public component stamps a\n * `{kebab-name}--component` hook, and named regions add `--header`, `--title`\n * and friends. Those are structural markers for consumers to select on, not\n * utilities — but tailwind-merge only sees a string, so a hook like\n * `text-button--component` reads as a `text-*` colour utility and annihilates\n * against the real colour beside it. Whichever came second won, silently:\n * TextButton lost its hook, TextLink lost its type colour.\n *\n * So hooks never reach tailwind-merge. The shape is deliberately strict —\n * kebab segments either side of one `--`, and nothing else — which excludes\n * every utility that merely contains dashes: `bg-[var(--brand)]` and\n * `text-(--brand)` carry brackets or parens, variants carry a colon, and\n * negative utilities lead with `-`.\n */\nconst BEM_HOOK = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*--[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/\nconst shippedTokenCandidates = new Set(tokenCandidates.map(([before, prefix, suffix, after]) => `${before}${prefix}-${suffix}${after}`))\nconst tokenUtilities = new Set(Object.values(tokenClassGroups).flatMap(groups => groups.flatMap(group => Object.entries(group).flatMap(([prefix, suffixes]) => suffixes.map(suffix => `${prefix}-${suffix}`)))))\n\nfunction isUnavailableTokenCandidate(candidate: string) {\n\tlet depth = 0\n\tlet start = 0\n\tfor (let index = 0; index < candidate.length; index++) {\n\t\tif (candidate[index] === '[' || candidate[index] === '(') depth++\n\t\telse if (candidate[index] === ']' || candidate[index] === ')') depth--\n\t\telse if (candidate[index] === ':' && depth === 0) start = index + 1\n\t}\n\tconst utility = candidate.slice(start).replace(/^!?-?/, '').replace(/!$/, '')\n\treturn tokenUtilities.has(utility) && !shippedTokenCandidates.has(candidate)\n}\n\nexport function cn(...inputs: ClassValue[]) {\n\tconst classes = clsx(inputs).split(/\\s+/).filter(Boolean)\n\tconst hooks = new Set(classes.filter((entry) => BEM_HOOK.test(entry)))\n\tconst opaque = new Set(classes.filter(isUnavailableTokenCandidate))\n\tif (hooks.size === 0 && opaque.size === 0) return twMerge(classes.join(' '))\n\n\t// Merge only real utilities, then preserve their last occurrence positions.\n\t// Keeping an earlier duplicate can move leading-none before a later text\n\t// size, making another cn() call discard a line height that already won.\n\t// Hooks keep their first position independently of utility precedence.\n\tconst survivors = new Set(\n\t\ttwMerge(classes.filter((entry) => !hooks.has(entry) && !opaque.has(entry)).join(' ')).split(/\\s+/).filter(Boolean),\n\t)\n\tconst lastUtilityIndex = new Map(classes.map((entry, index) => [entry, index]))\n\tconst emitted = new Set<string>()\n\n\treturn classes\n\t\t.filter((entry, index) => {\n\t\t\tif (emitted.has(entry)) return false\n\t\t\tif (!hooks.has(entry) && !opaque.has(entry) && !survivors.has(entry)) return false\n\t\t\tif (!hooks.has(entry) && lastUtilityIndex.get(entry) !== index) return false\n\t\t\temitted.add(entry)\n\t\t\treturn true\n\t\t})\n\t\t.join(' ')\n}\n"],"mappings":";;;AACA,IAAaA,IAAmB;CAC9BC,KAAO,CACL,EACEA,KAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,GAAK,CACH,EACEA,GAAK;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,SAAS,CACP,EACE,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,GAAK,CACH,EACEA,GAAK;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,OAAS,CACP,EACEA,OAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,SAAW,CACT,EACEA,SAAW;EACT;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,MAAQ,CACN,EACEA,MAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,GAAK,CACH,EACEA,GAAK;EACH;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,WAAW,CACT,EACE,WAAW,CACT,YACA,UACF,EACF,CACF;CACA,SAAS,CACP,EACE,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,SAAS,CACP,EACE,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,KAAO,CACL,EACEA,KAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,OAAS,CACP,EACEA,OAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,WAAW,CACT,EACE,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,GAAK,CACH,EACEA,GAAK;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,QAAU,CACR,EACEA,QAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,eAAe,CACb,EACE,eAAe,CACb,UACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,KAAO,CACL,EACEA,KAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,aAAa,CACX,EACEC,MAAQ,CACN,OACA,KACF,EACF,CACF;CACA,eAAe,CACb,EACEC,MAAQ,CACN,SACF,EACF,CACF;CACA,aAAa,CACX,EACE,aAAa,CACX,QACF,EACF,CACF;CACA,aAAa,CACX,EACE,aAAa,CACX,QACF,EACF,CACF;CACA,aAAa,CACX,EACE,aAAa;EACX;EACA;EACA;CACF,EACF,CACF;CACA,aAAa,CACX,EACE,aAAa,CACX,UACA,SACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,WAAW,CACT,EACE,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,MAAQ,CACN,EACEA,MAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,WAAW,CACT,EACE,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,SAAS,CACP,EACE,SAAS;EACP;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACA,SAAS,CACP,EACE,SAAS;EACP;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,IAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,EACF,CACF;CACAC,IAAM,CACJ,EACEA,I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"}