themelia-react-ui 2.0.0 → 2.0.2

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 (707) hide show
  1. package/CHANGELOG.md +527 -0
  2. package/README.md +47 -14
  3. package/THIRD_PARTY_NOTICES.md +13 -0
  4. package/dist/accordion-Cjb6sx0G.js +208 -0
  5. package/dist/accordion-Cjb6sx0G.js.map +1 -0
  6. package/dist/action-menu-CllU52Mm.js +280 -0
  7. package/dist/action-menu-CllU52Mm.js.map +1 -0
  8. package/dist/affordance-geometry.generated-tF36bREk.js +140 -0
  9. package/dist/affordance-geometry.generated-tF36bREk.js.map +1 -0
  10. package/dist/ai-artifact-DvTwDVyL.js +1148 -0
  11. package/dist/ai-artifact-DvTwDVyL.js.map +1 -0
  12. package/dist/{app-shell-BE_j8-AT.js → app-shell-C4FhvCqF.js} +5 -5
  13. package/dist/{app-shell-BE_j8-AT.js.map → app-shell-C4FhvCqF.js.map} +1 -1
  14. package/dist/attachment-BxDfL2mw.js +246 -0
  15. package/dist/attachment-BxDfL2mw.js.map +1 -0
  16. package/dist/{auth-M3vGMgDR.js → auth-ax2BqjrI.js} +241 -235
  17. package/dist/auth-ax2BqjrI.js.map +1 -0
  18. package/dist/{avatar-djdaaQ_s.js → avatar-DAPlDvhJ.js} +67 -66
  19. package/dist/avatar-DAPlDvhJ.js.map +1 -0
  20. package/dist/badge-HpFqoqSY.js +93 -0
  21. package/dist/badge-HpFqoqSY.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 +3 -0
  28. package/dist/base/buttons.js +2 -3
  29. package/dist/base/cards.js +2 -2
  30. package/dist/base/carousel.js +50 -46
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +69 -81
  33. package/dist/base/cascader.js.map +1 -1
  34. package/dist/base/chart.js +1 -1
  35. package/dist/base/choice-inputs.js +3 -3
  36. package/dist/base/code-block.js +1 -1
  37. package/dist/base/combobox.js +2 -2
  38. package/dist/base/command.js +1 -1
  39. package/dist/base/copyable.js +1 -1
  40. package/dist/base/date-pickers.js +2 -2
  41. package/dist/base/display.js +7 -7
  42. package/dist/base/feedback.js +3 -3
  43. package/dist/base/forms-numeric.js +1 -1
  44. package/dist/base/forms.js +2 -2
  45. package/dist/base/inline-edit.js +20 -20
  46. package/dist/base/inline-edit.js.map +1 -1
  47. package/dist/base/item.js +1 -1
  48. package/dist/base/media-gallery.js +1 -1
  49. package/dist/base/metadata-list.js +3 -0
  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 +1 -1
  54. package/dist/base/repeaters.js +216 -220
  55. package/dist/base/repeaters.js.map +1 -1
  56. package/dist/base/sheet.js +1 -1
  57. package/dist/base/sidebar.js +1 -1
  58. package/dist/base/signature-pad.js +147 -137
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +79 -2
  62. package/dist/base/spinner.js.map +1 -0
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +2 -2
  66. package/dist/base/toaster.js +46 -45
  67. package/dist/base/toaster.js.map +1 -1
  68. package/dist/base/tree.js +1 -1
  69. package/dist/base/upload-queue.js +1 -1
  70. package/dist/base/upload.js +3 -3
  71. package/dist/base/value-inputs.js +2 -2
  72. package/dist/batch-action-bar-DnUJ21NQ.js +105 -0
  73. package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
  74. package/dist/blocks/admin.js +171 -169
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +308 -285
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/usage-card.js +1 -1
  79. package/dist/blocks/analytics.js +626 -589
  80. package/dist/blocks/analytics.js.map +1 -1
  81. package/dist/blocks/collaboration.js +1 -1
  82. package/dist/blocks/commerce/receipt.js +1 -1
  83. package/dist/blocks/commerce.js +2051 -1329
  84. package/dist/blocks/commerce.js.map +1 -1
  85. package/dist/blocks/data-display.js +3 -2
  86. package/dist/blocks/onboarding.js +68 -58
  87. package/dist/blocks/onboarding.js.map +1 -1
  88. package/dist/blocks/planning.js +27 -26
  89. package/dist/blocks/planning.js.map +1 -1
  90. package/dist/blocks/timelines.js +1 -1
  91. package/dist/breadcrumbs-C-oqs1sQ.js +129 -0
  92. package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
  93. package/dist/{button-R9CCoH7A.js → button-DVzspB_G.js} +15 -14
  94. package/dist/button-DVzspB_G.js.map +1 -0
  95. package/dist/{button-BS3KDg00.js → buttons-DPZekJFu.js} +208 -216
  96. package/dist/buttons-DPZekJFu.js.map +1 -0
  97. package/dist/cards-BaBZR-AU.js +68 -0
  98. package/dist/cards-BaBZR-AU.js.map +1 -0
  99. package/dist/{chart-DwYRKKc-.js → chart-ZOYyK2xG.js} +58 -55
  100. package/dist/chart-ZOYyK2xG.js.map +1 -0
  101. package/dist/checkbox-AWIhNhmo.js +36 -0
  102. package/dist/checkbox-AWIhNhmo.js.map +1 -0
  103. package/dist/choice-inputs-CNHvARCJ.js +770 -0
  104. package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
  105. package/dist/code-block-DeneBJR_.js +185 -0
  106. package/dist/code-block-DeneBJR_.js.map +1 -0
  107. package/dist/{collapsible-oMUGM4tr.js → collapsible-C-_l4hpy.js} +4 -4
  108. package/dist/{collapsible-oMUGM4tr.js.map → collapsible-C-_l4hpy.js.map} +1 -1
  109. package/dist/{collection-content-Ys-OZOkY.js → collection-content-By56pLog.js} +3 -3
  110. package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-By56pLog.js.map} +1 -1
  111. package/dist/combobox-C0EQW6dr.js +875 -0
  112. package/dist/combobox-C0EQW6dr.js.map +1 -0
  113. package/dist/combobox-xCQ2RMNE.js +309 -0
  114. package/dist/combobox-xCQ2RMNE.js.map +1 -0
  115. package/dist/{command-kPMPjIxJ.js → command-C25VMRII.js} +7 -7
  116. package/dist/{command-kPMPjIxJ.js.map → command-C25VMRII.js.map} +1 -1
  117. package/dist/{comments-You0Bzbr.js → comments-BYYlTA8E.js} +390 -379
  118. package/dist/comments-BYYlTA8E.js.map +1 -0
  119. package/dist/components/base/action-menu/action-menu.d.ts +21 -4
  120. package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
  121. package/dist/components/base/action-menu/index.d.ts +1 -0
  122. package/dist/components/base/badge/badge.recipes.d.ts +5 -5
  123. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  124. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  125. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  126. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  127. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  128. package/dist/components/base/buttons/loader-button.d.ts +2 -1
  129. package/dist/components/base/cards/card.recipes.d.ts +2 -3
  130. package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +3 -13
  131. package/dist/components/base/cards/smart-card.types.d.ts +11 -4
  132. package/dist/components/base/chart/chart.d.ts +2 -5
  133. package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
  134. package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
  135. package/dist/components/base/combobox/combobox.strings.d.ts +7 -0
  136. package/dist/components/base/combobox/index.d.ts +30 -4
  137. package/dist/components/base/display/alert-dialog.d.ts +6 -5
  138. package/dist/components/base/display/dialog.d.ts +4 -8
  139. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  140. package/dist/components/base/forms/form-sizing.d.ts +26 -15
  141. package/dist/components/base/metadata-list/index.d.ts +12 -0
  142. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  143. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  144. package/dist/components/base/navigation/index.d.ts +1 -1
  145. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  146. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  147. package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
  148. package/dist/components/base/navigation/pagination.d.ts +5 -2
  149. package/dist/components/base/popover/popover.recipes.d.ts +15 -1
  150. package/dist/components/base/sheet/sheet.d.ts +4 -8
  151. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  152. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  153. package/dist/components/base/table/index.d.ts +9 -2
  154. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  155. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  156. package/dist/components/base/upload/upload.recipes.d.ts +25 -3
  157. package/dist/components/base/value-inputs/index.d.ts +5 -5
  158. package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
  159. package/dist/components/blocks/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
  160. package/dist/components/blocks/ai/ai-shimmer/types.d.ts +3 -0
  161. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  162. package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
  163. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  164. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  165. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  166. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  167. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  168. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  169. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  170. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  171. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +45 -0
  172. package/dist/components/blocks/commerce/index.d.ts +13 -5
  173. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  174. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  175. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  176. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  177. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  178. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  179. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  180. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  181. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  182. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  183. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  184. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  185. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  186. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  187. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  188. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  189. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  190. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  191. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  192. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  193. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  194. package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
  195. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  196. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  197. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  198. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  199. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  200. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  201. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  202. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  203. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  204. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  205. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  206. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  207. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  208. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  209. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +16 -8
  210. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  211. package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
  212. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  213. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  214. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +5 -0
  215. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +220 -0
  216. package/dist/components/features/appointment-calendar/appointment-calendar.utils.d.ts +41 -0
  217. package/dist/components/features/appointment-calendar/index.d.ts +3 -0
  218. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +32 -0
  219. package/dist/components/features/appointment-calendar/partials/appointment-month.d.ts +13 -0
  220. package/dist/components/features/combobox/combobox.strings.d.ts +15 -1
  221. package/dist/components/features/combobox/types.d.ts +4 -0
  222. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  223. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  224. package/dist/components/features/kanban/kanban.d.ts +1 -1
  225. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  226. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  227. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  228. package/dist/components/features/media-library/index.d.ts +1 -1
  229. package/dist/components/features/media-library/media-library.d.ts +1 -1
  230. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  231. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  232. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  233. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  234. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  235. package/dist/components/features/overlays/dialog.d.ts +1 -1
  236. package/dist/components/features/overlays/index.d.ts +1 -1
  237. package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
  238. package/dist/components/features/overlays/overlays.types.d.ts +20 -0
  239. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  240. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  241. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  242. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  243. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  244. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  245. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  246. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  247. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  248. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  249. package/dist/components/features/products/products.types.d.ts +9 -2
  250. package/dist/components/features/resource/index.d.ts +1 -1
  251. package/dist/components/features/resource/resource.d.ts +1 -1
  252. package/dist/components/features/resource/resource.types.d.ts +34 -6
  253. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  254. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  255. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  256. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  257. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +7 -1
  258. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  259. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +54 -1
  260. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  261. package/dist/components/features/sync/index.d.ts +26 -3
  262. package/dist/components/features/table/data-table.d.ts +1 -1
  263. package/dist/components/features/table/table-header.d.ts +1 -1
  264. package/dist/components/features/table/table.strings.d.ts +55 -1
  265. package/dist/components/features/table/table.types.d.ts +49 -11
  266. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
  267. package/dist/components/layout/page/index.d.ts +1 -1
  268. package/dist/components/layout/page/page.types.d.ts +33 -36
  269. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  270. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  271. package/dist/components/layout/settings/settings.d.ts +16 -2
  272. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  273. package/dist/components/primitives/number.d.ts +4 -2
  274. package/dist/components/primitives/value.d.ts +3 -1
  275. package/dist/components/typography/rich-text/index.d.ts +1 -1
  276. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  277. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  278. package/dist/components/typography/text-link.d.ts +8 -3
  279. package/dist/components/ui/checkbox.d.ts +4 -3
  280. package/dist/components/ui/combobox.d.ts +6 -2
  281. package/dist/components/ui/item.d.ts +8 -8
  282. package/dist/components/ui/overlay.recipes.d.ts +0 -9
  283. package/dist/components/ui/switch.d.ts +2 -2
  284. package/dist/components/ui/tabs.d.ts +1 -1
  285. package/dist/{containers-D_L4mTVb.js → containers-Mu1LMGV1.js} +36 -35
  286. package/dist/containers-Mu1LMGV1.js.map +1 -0
  287. package/dist/{copyable-DDjTeW_j.js → copyable-ClBuk_UK.js} +6 -6
  288. package/dist/{copyable-DDjTeW_j.js.map → copyable-ClBuk_UK.js.map} +1 -1
  289. package/dist/data-display-DT_khPl_.js +971 -0
  290. package/dist/data-display-DT_khPl_.js.map +1 -0
  291. package/dist/{date-uf3z37Nm.js → date-DCrsDTZc.js} +5 -5
  292. package/dist/{date-uf3z37Nm.js.map → date-DCrsDTZc.js.map} +1 -1
  293. package/dist/date-picker-ay0Pha_a.js +1530 -0
  294. package/dist/date-picker-ay0Pha_a.js.map +1 -0
  295. package/dist/date-pickers-Ccw8DL2b.js +175 -0
  296. package/dist/date-pickers-Ccw8DL2b.js.map +1 -0
  297. package/dist/display-hAc1HjpI.js +344 -0
  298. package/dist/display-hAc1HjpI.js.map +1 -0
  299. package/dist/dropdown-menu-Cl4X7L5S.js +193 -0
  300. package/dist/dropdown-menu-Cl4X7L5S.js.map +1 -0
  301. package/dist/editable-text-recipe-Cn61kEcv.js +10 -0
  302. package/dist/editable-text-recipe-Cn61kEcv.js.map +1 -0
  303. package/dist/features/activities.js +478 -542
  304. package/dist/features/activities.js.map +1 -1
  305. package/dist/features/ai-chat.js +209 -199
  306. package/dist/features/ai-chat.js.map +1 -1
  307. package/dist/features/appointment-calendar.js +683 -0
  308. package/dist/features/appointment-calendar.js.map +1 -0
  309. package/dist/features/async-preview.js +109 -107
  310. package/dist/features/async-preview.js.map +1 -1
  311. package/dist/features/combobox.js +1 -1
  312. package/dist/features/comments.js +1 -1
  313. package/dist/features/data-view.js +30 -29
  314. package/dist/features/data-view.js.map +1 -1
  315. package/dist/features/email-composer/engine.js +1 -1
  316. package/dist/features/email-composer.js +285 -283
  317. package/dist/features/email-composer.js.map +1 -1
  318. package/dist/features/event-calendar.js +282 -273
  319. package/dist/features/event-calendar.js.map +1 -1
  320. package/dist/features/filters.js +1 -1
  321. package/dist/features/global-search.js +318 -318
  322. package/dist/features/global-search.js.map +1 -1
  323. package/dist/features/kanban.js +146 -147
  324. package/dist/features/kanban.js.map +1 -1
  325. package/dist/features/map.js +269 -268
  326. package/dist/features/map.js.map +1 -1
  327. package/dist/features/media-library.js +970 -863
  328. package/dist/features/media-library.js.map +1 -1
  329. package/dist/features/mentions.js +1 -1
  330. package/dist/features/overlays.js +1 -1
  331. package/dist/features/products.js +1137 -1124
  332. package/dist/features/products.js.map +1 -1
  333. package/dist/features/questionnaire.js +206 -194
  334. package/dist/features/questionnaire.js.map +1 -1
  335. package/dist/features/resource-assignment.js +24 -21
  336. package/dist/features/resource-assignment.js.map +1 -1
  337. package/dist/features/resource.js +77 -69
  338. package/dist/features/resource.js.map +1 -1
  339. package/dist/features/rich-text-editor.js +30 -11
  340. package/dist/features/rich-text-editor.js.map +1 -1
  341. package/dist/features/schema-form.js +35 -33
  342. package/dist/features/schema-form.js.map +1 -1
  343. package/dist/features/suggestions.js +3 -3
  344. package/dist/features/sync.js +11 -5
  345. package/dist/features/sync.js.map +1 -1
  346. package/dist/features/table.js +1 -1
  347. package/dist/features/theme-tweaker.js +501 -496
  348. package/dist/features/theme-tweaker.js.map +1 -1
  349. package/dist/feedback-BYIhtitP.js +239 -0
  350. package/dist/feedback-BYIhtitP.js.map +1 -0
  351. package/dist/field-affordance-recipes-DZhnIL_Y.js +41 -0
  352. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +1 -0
  353. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  354. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  355. package/dist/{filters-Da-gNPsE.js → filters-BGfvjP4d.js} +483 -472
  356. package/dist/filters-BGfvjP4d.js.map +1 -0
  357. package/dist/focus-recipes-B653VaLq.js +12 -0
  358. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  359. package/dist/{form-field-VZRULhUK.js → form-field-CwH9y77i.js} +6 -5
  360. package/dist/form-field-CwH9y77i.js.map +1 -0
  361. package/dist/{form-sizing-uWP4lzVh.js → form-sizing-BdP_Mf5p.js} +45 -46
  362. package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
  363. package/dist/{forms-DDeEnXSY.js → forms-B9G_xwzi.js} +22 -22
  364. package/dist/{forms-DDeEnXSY.js.map → forms-B9G_xwzi.js.map} +1 -1
  365. package/dist/forms-numeric-B_jraJaQ.js +906 -0
  366. package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
  367. package/dist/{header-2ycNqGOR.js → header-CGXuhcRm.js} +164 -161
  368. package/dist/header-CGXuhcRm.js.map +1 -0
  369. package/dist/{hooks-DQ5SPwZw.js → hooks-Dkz0K2WT.js} +2 -2
  370. package/dist/{hooks-DQ5SPwZw.js.map → hooks-Dkz0K2WT.js.map} +1 -1
  371. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  372. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  373. package/dist/icon-badge-DYKIwvOV.js +55 -0
  374. package/dist/icon-badge-DYKIwvOV.js.map +1 -0
  375. package/dist/index.js +7 -7
  376. package/dist/input-CZw8iU99.js +21 -0
  377. package/dist/input-CZw8iU99.js.map +1 -0
  378. package/dist/input-DQdEd0YD.js +263 -0
  379. package/dist/input-DQdEd0YD.js.map +1 -0
  380. package/dist/interaction-recipes-XR9ZpVYL.js +25 -0
  381. package/dist/interaction-recipes-XR9ZpVYL.js.map +1 -0
  382. package/dist/item-K5_ghvze.js +275 -0
  383. package/dist/item-K5_ghvze.js.map +1 -0
  384. package/dist/layer-recipes-CCpklYME.js +13 -0
  385. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  386. package/dist/layout/app-shell.js +1 -1
  387. package/dist/layout/auth.js +1 -1
  388. package/dist/layout/containers.js +1 -1
  389. package/dist/layout/header.js +1 -1
  390. package/dist/layout/hooks.js +1 -1
  391. package/dist/layout/navigation.js +1 -1
  392. package/dist/layout/page.js +1 -1
  393. package/dist/layout/settings.js +1 -1
  394. package/dist/layout/sidebar.js +2 -2
  395. package/dist/layout/workspace.js +1 -1
  396. package/dist/layout.js +10 -10
  397. package/dist/lib/affordance-geometry.generated.d.ts +72 -0
  398. package/dist/lib/editable-text-recipe.d.ts +4 -4
  399. package/dist/lib/field-affordance-recipes.d.ts +8 -3
  400. package/dist/lib/field-state-recipes.d.ts +9 -8
  401. package/dist/lib/focus-recipes.d.ts +24 -0
  402. package/dist/lib/interaction-recipes.d.ts +40 -0
  403. package/dist/lib/layer-recipes.d.ts +19 -0
  404. package/dist/lib/motion-recipes.d.ts +1 -0
  405. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
  406. package/dist/lib/safe-image-src.d.ts +10 -0
  407. package/dist/lib/sanitize-html.d.ts +15 -3
  408. package/dist/lib/surface-recipes.d.ts +47 -7
  409. package/dist/lib/theme-mode-css.d.ts +7 -0
  410. package/dist/lib/token-merge.generated.d.ts +9 -6
  411. package/dist/lib/tone-recipes.d.ts +87 -0
  412. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  413. package/dist/lib/ui-provider/index.d.ts +2 -2
  414. package/dist/lib/ui-provider/types.d.ts +11 -2
  415. package/dist/lib/utils.js +1 -1
  416. package/dist/media-gallery-3zIVLMWH.js +203 -0
  417. package/dist/media-gallery-3zIVLMWH.js.map +1 -0
  418. package/dist/mentions-utuUvH1K.js +570 -0
  419. package/dist/mentions-utuUvH1K.js.map +1 -0
  420. package/dist/{message-YfFmbXNP.js → message-DZ_ruyUV.js} +7 -6
  421. package/dist/message-DZ_ruyUV.js.map +1 -0
  422. package/dist/metadata-list-8N16ZMW_.js +405 -0
  423. package/dist/metadata-list-8N16ZMW_.js.map +1 -0
  424. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  425. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  426. package/dist/navigation-Bnotn4AQ.js +145 -0
  427. package/dist/navigation-Bnotn4AQ.js.map +1 -0
  428. package/dist/navigation-BzhHI3lo.js +269 -0
  429. package/dist/navigation-BzhHI3lo.js.map +1 -0
  430. package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
  431. package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
  432. package/dist/{number-CKRBYmZK.js → number-DbV1Dija.js} +36 -34
  433. package/dist/{number-CKRBYmZK.js.map → number-DbV1Dija.js.map} +1 -1
  434. package/dist/overflow-tab-bar-CWY7Nogn.js +282 -0
  435. package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
  436. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  437. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  438. package/dist/overlays-DNWmZrJ4.js +1001 -0
  439. package/dist/overlays-DNWmZrJ4.js.map +1 -0
  440. package/dist/page-Bgl1F560.js +224 -0
  441. package/dist/page-Bgl1F560.js.map +1 -0
  442. package/dist/page-header-commands-DOb6WsfD.js +126 -0
  443. package/dist/page-header-commands-DOb6WsfD.js.map +1 -0
  444. package/dist/pagination-BL25hu2s.js +158 -0
  445. package/dist/pagination-BL25hu2s.js.map +1 -0
  446. package/dist/{popover-Dcv_9jxr.js → popover-7_m66eYW.js} +11 -10
  447. package/dist/popover-7_m66eYW.js.map +1 -0
  448. package/dist/popover-menu-B9WWygpa.js +100 -0
  449. package/dist/popover-menu-B9WWygpa.js.map +1 -0
  450. package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-D3j8R8Yp.js} +18 -11
  451. package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
  452. package/dist/{primitives-BHrwQXFC.js → primitives-BFK08r9M.js} +45 -44
  453. package/dist/primitives-BFK08r9M.js.map +1 -0
  454. package/dist/primitives.js +4 -4
  455. package/dist/{progress-Br9WTFya.js → progress-B1VnCT0K.js} +9 -9
  456. package/dist/{progress-Br9WTFya.js.map → progress-B1VnCT0K.js.map} +1 -1
  457. package/dist/{receipt-CV89q1fs.js → receipt-BVSOH3Xo.js} +9 -6
  458. package/dist/{receipt-CV89q1fs.js.map → receipt-BVSOH3Xo.js.map} +1 -1
  459. package/dist/rich-text-GOUyKQ-s.js +78 -0
  460. package/dist/rich-text-GOUyKQ-s.js.map +1 -0
  461. package/dist/rich-text-editor-cRLC-eBK.js +1196 -0
  462. package/dist/rich-text-editor-cRLC-eBK.js.map +1 -0
  463. package/dist/rich-text-editor-toolbar-DfXg0-VC.js +94 -0
  464. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +1 -0
  465. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  466. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  467. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  468. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  469. package/dist/sanitize-html-DsQmI48u.js +92 -0
  470. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  471. package/dist/scroll-area-DcI-M1UT.js +48 -0
  472. package/dist/scroll-area-DcI-M1UT.js.map +1 -0
  473. package/dist/{separator-Do5GWDYi.js → separator-BDV-Y648.js} +3 -3
  474. package/dist/{separator-Do5GWDYi.js.map → separator-BDV-Y648.js.map} +1 -1
  475. package/dist/{separator-BMEvwnSX.js → separator-Bom7NsGO.js} +2 -2
  476. package/dist/{separator-BMEvwnSX.js.map → separator-Bom7NsGO.js.map} +1 -1
  477. package/dist/services/actions/action-adapters.d.ts +18 -0
  478. package/dist/services/actions/index.d.ts +1 -1
  479. package/dist/services/actions.js +16 -4
  480. package/dist/services/actions.js.map +1 -1
  481. package/dist/settings-ybnjVwbd.js +171 -0
  482. package/dist/settings-ybnjVwbd.js.map +1 -0
  483. package/dist/sheet-CGpB3omz.js +211 -0
  484. package/dist/sheet-CGpB3omz.js.map +1 -0
  485. package/dist/{sidebar-Cb8WzOvE.js → sidebar-A0ElHINE.js} +17 -16
  486. package/dist/sidebar-A0ElHINE.js.map +1 -0
  487. package/dist/{sidebar-Crc9M9JV.js → sidebar-CPx_7YBa.js} +205 -203
  488. package/dist/sidebar-CPx_7YBa.js.map +1 -0
  489. package/dist/{skeleton-DVMXr15h.js → skeleton-Byjnt7qr.js} +9 -9
  490. package/dist/{skeleton-DVMXr15h.js.map → skeleton-Byjnt7qr.js.map} +1 -1
  491. package/dist/smart-card-DiC5aac3.js +604 -0
  492. package/dist/smart-card-DiC5aac3.js.map +1 -0
  493. package/dist/{structure-hzCW-XsV.js → structure-BmisBK-3.js} +2 -2
  494. package/dist/{structure-hzCW-XsV.js.map → structure-BmisBK-3.js.map} +1 -1
  495. package/dist/style.css +1 -1
  496. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  497. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  498. package/dist/table-BweFy_P9.js +1530 -0
  499. package/dist/table-BweFy_P9.js.map +1 -0
  500. package/dist/table-DsfzoUia.js +175 -0
  501. package/dist/table-DsfzoUia.js.map +1 -0
  502. package/dist/tabs-CDocW5D1.js +191 -0
  503. package/dist/tabs-CDocW5D1.js.map +1 -0
  504. package/dist/text-inputs-f9Ia-aCi.js +353 -0
  505. package/dist/text-inputs-f9Ia-aCi.js.map +1 -0
  506. package/dist/theme-mode-css-BB-_RYab.js +14 -0
  507. package/dist/theme-mode-css-BB-_RYab.js.map +1 -0
  508. package/dist/theme-scope-BJ6eE2xt.js +50 -0
  509. package/dist/theme-scope-BJ6eE2xt.js.map +1 -0
  510. package/dist/theme.css +285 -228
  511. package/dist/themes/green.css +16 -12
  512. package/dist/timelines-CwM_9IhD.js +457 -0
  513. package/dist/timelines-CwM_9IhD.js.map +1 -0
  514. package/dist/tone-recipes-BPsRAvhu.js +73 -0
  515. package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
  516. package/dist/tooltip-yiRJUFjp.js +111 -0
  517. package/dist/tooltip-yiRJUFjp.js.map +1 -0
  518. package/dist/{tree-BotPlyiD.js → tree-WnKQzwbq.js} +69 -67
  519. package/dist/tree-WnKQzwbq.js.map +1 -0
  520. package/dist/typography/rich-text.js +1 -1
  521. package/dist/typography-UTnveOEy.js +117 -0
  522. package/dist/typography-UTnveOEy.js.map +1 -0
  523. package/dist/typography.js +2 -2
  524. package/dist/{ui-provider-D2_TeLqw.js → ui-provider-C_U0Xma4.js} +13 -5
  525. package/dist/ui-provider-C_U0Xma4.js.map +1 -0
  526. package/dist/ui-provider.js +3 -3
  527. package/dist/{upload-B0WHW7ak.js → upload-CXyxmQBP.js} +210 -209
  528. package/dist/upload-CXyxmQBP.js.map +1 -0
  529. package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-Boscubn9.js} +111 -111
  530. package/dist/upload-queue-Boscubn9.js.map +1 -0
  531. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  532. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  533. package/dist/{usage-card-U0YBLTNT.js → usage-card-BhO5eqkX.js} +45 -29
  534. package/dist/usage-card-BhO5eqkX.js.map +1 -0
  535. package/dist/{utils-Cospvlj1.js → utils-BRhFDwuU.js} +114 -67
  536. package/dist/utils-BRhFDwuU.js.map +1 -0
  537. package/dist/value-inputs-DXPDjvBU.js +963 -0
  538. package/dist/value-inputs-DXPDjvBU.js.map +1 -0
  539. package/dist/{value-typography-Deb3yQZg.js → value-typography-BP8OG6h5.js} +2 -2
  540. package/dist/{value-typography-Deb3yQZg.js.map → value-typography-BP8OG6h5.js.map} +1 -1
  541. package/dist/workspace-Cdrg7k9f.js +408 -0
  542. package/dist/workspace-Cdrg7k9f.js.map +1 -0
  543. package/docs/consumer-skill/SKILL.md +21 -22
  544. package/docs/consumer-skill/examples/app-layout.tsx +1 -1
  545. package/docs/consumer-skill/examples/composition.tsx +3 -3
  546. package/docs/consumer-skill/examples/detail.tsx +59 -12
  547. package/docs/consumer-skill/examples/edit.tsx +1 -1
  548. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  549. package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
  550. package/docs/consumer-skill/examples/website.tsx +1 -1
  551. package/docs/consumer-skill/references/agents-md.md +33 -0
  552. package/docs/consumer-skill/references/analytics.md +1 -1
  553. package/docs/consumer-skill/references/composition.md +58 -13
  554. package/docs/consumer-skill/references/design-contract.md +12 -3
  555. package/docs/consumer-skill/references/installation.md +11 -1
  556. package/docs/consumer-skill/references/integration.md +4 -3
  557. package/docs/consumer-skill/references/public-api.json +956 -453
  558. package/docs/consumer-skill/references/review.md +32 -5
  559. package/docs/consumer-skill/references/theming.md +78 -9
  560. package/docs/consumer-skill/references/tokens.json +1 -1
  561. package/docs/consumer-skill/references/workflows.md +54 -10
  562. package/docs/consumer-skill/scripts/composition-policy.mjs +42 -11
  563. package/docs/consumer-skill/scripts/surface-policy.mjs +150 -5
  564. package/package.json +17 -5
  565. package/dist/accordion-CQXVcd7Q.js +0 -205
  566. package/dist/accordion-CQXVcd7Q.js.map +0 -1
  567. package/dist/action-menu-BTpyPWJ2.js +0 -264
  568. package/dist/action-menu-BTpyPWJ2.js.map +0 -1
  569. package/dist/affordance-geometry.generated-CCIXb2A1.js +0 -68
  570. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
  571. package/dist/ai-artifact-2PQ2fItc.js +0 -1112
  572. package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
  573. package/dist/attachment-q69dlt5Y.js +0 -244
  574. package/dist/attachment-q69dlt5Y.js.map +0 -1
  575. package/dist/auth-M3vGMgDR.js.map +0 -1
  576. package/dist/avatar-djdaaQ_s.js.map +0 -1
  577. package/dist/badge-0tATj-tW.js +0 -92
  578. package/dist/badge-0tATj-tW.js.map +0 -1
  579. package/dist/breadcrumbs-BG_FfMK4.js +0 -128
  580. package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
  581. package/dist/button-BS3KDg00.js.map +0 -1
  582. package/dist/button-R9CCoH7A.js.map +0 -1
  583. package/dist/buttons-DS0ZIwJ_.js +0 -99
  584. package/dist/buttons-DS0ZIwJ_.js.map +0 -1
  585. package/dist/cards-QoJ4syG9.js +0 -66
  586. package/dist/cards-QoJ4syG9.js.map +0 -1
  587. package/dist/chart-DwYRKKc-.js.map +0 -1
  588. package/dist/checkbox-B7ygNTYp.js +0 -35
  589. package/dist/checkbox-B7ygNTYp.js.map +0 -1
  590. package/dist/choice-inputs-DrJ17tpL.js +0 -752
  591. package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
  592. package/dist/code-block-CD0B7M93.js +0 -183
  593. package/dist/code-block-CD0B7M93.js.map +0 -1
  594. package/dist/combobox-6dvVny2q.js +0 -272
  595. package/dist/combobox-6dvVny2q.js.map +0 -1
  596. package/dist/combobox-CB7039j7.js +0 -865
  597. package/dist/combobox-CB7039j7.js.map +0 -1
  598. package/dist/comments-You0Bzbr.js.map +0 -1
  599. package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
  600. package/dist/containers-D_L4mTVb.js.map +0 -1
  601. package/dist/data-display-3xWQUnMA.js +0 -1335
  602. package/dist/data-display-3xWQUnMA.js.map +0 -1
  603. package/dist/date-picker-DrDFj8Lo.js +0 -1527
  604. package/dist/date-picker-DrDFj8Lo.js.map +0 -1
  605. package/dist/date-pickers-CnFCb0n2.js +0 -174
  606. package/dist/date-pickers-CnFCb0n2.js.map +0 -1
  607. package/dist/display-DrdvPwF0.js +0 -343
  608. package/dist/display-DrdvPwF0.js.map +0 -1
  609. package/dist/dropdown-menu-CURh59jb.js +0 -193
  610. package/dist/dropdown-menu-CURh59jb.js.map +0 -1
  611. package/dist/editable-text-recipe-Bkm6wKHp.js +0 -10
  612. package/dist/editable-text-recipe-Bkm6wKHp.js.map +0 -1
  613. package/dist/feedback-C7nR0UtT.js +0 -232
  614. package/dist/feedback-C7nR0UtT.js.map +0 -1
  615. package/dist/field-affordance-recipes-CkOCdE2y.js +0 -46
  616. package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
  617. package/dist/field-state-recipes-C-MFBX_8.js +0 -11
  618. package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
  619. package/dist/filters-Da-gNPsE.js.map +0 -1
  620. package/dist/form-field-VZRULhUK.js.map +0 -1
  621. package/dist/form-sizing-uWP4lzVh.js.map +0 -1
  622. package/dist/forms-numeric-D3CO60IF.js +0 -905
  623. package/dist/forms-numeric-D3CO60IF.js.map +0 -1
  624. package/dist/header-2ycNqGOR.js.map +0 -1
  625. package/dist/icon-badge-DKlaKXoo.js +0 -53
  626. package/dist/icon-badge-DKlaKXoo.js.map +0 -1
  627. package/dist/input-BoLm9Hks.js +0 -20
  628. package/dist/input-BoLm9Hks.js.map +0 -1
  629. package/dist/input-DhQdBnV3.js +0 -255
  630. package/dist/input-DhQdBnV3.js.map +0 -1
  631. package/dist/item-xzh8Df65.js +0 -264
  632. package/dist/item-xzh8Df65.js.map +0 -1
  633. package/dist/media-gallery-DQUQ0m3O.js +0 -201
  634. package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
  635. package/dist/mentions-DwnO1hh4.js +0 -564
  636. package/dist/mentions-DwnO1hh4.js.map +0 -1
  637. package/dist/message-YfFmbXNP.js.map +0 -1
  638. package/dist/navigation-Cbp5V8gG.js +0 -264
  639. package/dist/navigation-Cbp5V8gG.js.map +0 -1
  640. package/dist/navigation-Cs1npsPm.js +0 -300
  641. package/dist/navigation-Cs1npsPm.js.map +0 -1
  642. package/dist/overlay.recipes-CNO2S9V6.js +0 -34
  643. package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
  644. package/dist/overlays-DhZO7N-I.js +0 -994
  645. package/dist/overlays-DhZO7N-I.js.map +0 -1
  646. package/dist/page-C6R_8jFt.js +0 -325
  647. package/dist/page-C6R_8jFt.js.map +0 -1
  648. package/dist/page-header-hUTzcRZX.js +0 -112
  649. package/dist/page-header-hUTzcRZX.js.map +0 -1
  650. package/dist/pagination-Cm0jqa3I.js +0 -149
  651. package/dist/pagination-Cm0jqa3I.js.map +0 -1
  652. package/dist/popover-Dcv_9jxr.js.map +0 -1
  653. package/dist/popover-menu-DnRFKnHP.js +0 -99
  654. package/dist/popover-menu-DnRFKnHP.js.map +0 -1
  655. package/dist/popover.recipes-wmbvL8Ah.js.map +0 -1
  656. package/dist/primitives-BHrwQXFC.js.map +0 -1
  657. package/dist/rich-text-editor-CF8QYt5p.js +0 -574
  658. package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
  659. package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
  660. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
  661. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  662. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  663. package/dist/rich-text-j-FGAeZW.js +0 -32
  664. package/dist/rich-text-j-FGAeZW.js.map +0 -1
  665. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  666. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  667. package/dist/scroll-area-DRdr16Pt.js +0 -47
  668. package/dist/scroll-area-DRdr16Pt.js.map +0 -1
  669. package/dist/settings-DHk0L2MF.js +0 -161
  670. package/dist/settings-DHk0L2MF.js.map +0 -1
  671. package/dist/sheet-DRFNY1_D.js +0 -207
  672. package/dist/sheet-DRFNY1_D.js.map +0 -1
  673. package/dist/sidebar-Cb8WzOvE.js.map +0 -1
  674. package/dist/sidebar-Crc9M9JV.js.map +0 -1
  675. package/dist/smart-card-Bek-TwUp.js +0 -599
  676. package/dist/smart-card-Bek-TwUp.js.map +0 -1
  677. package/dist/spinner-CmTAbEp0.js +0 -80
  678. package/dist/spinner-CmTAbEp0.js.map +0 -1
  679. package/dist/surface-recipes-DOdoBXGm.js +0 -28
  680. package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
  681. package/dist/table-D6zKeYQX.js +0 -162
  682. package/dist/table-D6zKeYQX.js.map +0 -1
  683. package/dist/table-Dn4XSrSB.js +0 -1444
  684. package/dist/table-Dn4XSrSB.js.map +0 -1
  685. package/dist/tabs-Dk8E_knt.js +0 -189
  686. package/dist/tabs-Dk8E_knt.js.map +0 -1
  687. package/dist/text-inputs-BFpku0Qd.js +0 -331
  688. package/dist/text-inputs-BFpku0Qd.js.map +0 -1
  689. package/dist/theme-scope-kStaAer0.js +0 -39
  690. package/dist/theme-scope-kStaAer0.js.map +0 -1
  691. package/dist/timelines-CxuAFIc2.js +0 -439
  692. package/dist/timelines-CxuAFIc2.js.map +0 -1
  693. package/dist/tree-BotPlyiD.js.map +0 -1
  694. package/dist/typography-CAr3dQhX.js +0 -116
  695. package/dist/typography-CAr3dQhX.js.map +0 -1
  696. package/dist/ui-provider-D2_TeLqw.js.map +0 -1
  697. package/dist/upload-B0WHW7ak.js.map +0 -1
  698. package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
  699. package/dist/usage-card-U0YBLTNT.js.map +0 -1
  700. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  701. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  702. package/dist/utils-Cospvlj1.js.map +0 -1
  703. package/dist/value-inputs-CjfzGMsN.js +0 -854
  704. package/dist/value-inputs-CjfzGMsN.js.map +0 -1
  705. package/dist/workspace-YoFjXi6i.js +0 -394
  706. package/dist/workspace-YoFjXi6i.js.map +0 -1
  707. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -0,0 +1,175 @@
1
+ "use client";
2
+ import { t as e } from "./utils-BRhFDwuU.js";
3
+ import { c as t, o as n } from "./typography-UTnveOEy.js";
4
+ import { t as r } from "./focus-recipes-B653VaLq.js";
5
+ import { t as i } from "./row-recipes-DL8n7t_b.js";
6
+ import * as a from "react";
7
+ import { jsx as o } from "react/jsx-runtime";
8
+ //#region src/components/ui/table.tsx
9
+ function s({ className: t, containerClassName: n, containerProps: r, ...i }) {
10
+ return /* @__PURE__ */ o("div", {
11
+ ...r,
12
+ "data-slot": "table-container",
13
+ className: e("relative w-full overflow-x-auto", n, r?.className),
14
+ children: /* @__PURE__ */ o("table", {
15
+ "data-slot": "table",
16
+ className: e("w-full caption-bottom border-collapse text-sm", t),
17
+ ...i
18
+ })
19
+ });
20
+ }
21
+ function c({ className: t, ...n }) {
22
+ return /* @__PURE__ */ o("thead", {
23
+ "data-slot": "table-header",
24
+ className: e("border-border [&_tr]:border-b [&_tr]:border-border", t),
25
+ ...n
26
+ });
27
+ }
28
+ function l({ className: t, ...n }) {
29
+ return /* @__PURE__ */ o("tbody", {
30
+ "data-slot": "table-body",
31
+ className: e("[&_tr:last-child]:border-0", t),
32
+ ...n
33
+ });
34
+ }
35
+ function u({ className: t, ...n }) {
36
+ return /* @__PURE__ */ o("tfoot", {
37
+ "data-slot": "table-footer",
38
+ className: e("border-border bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", t),
39
+ ...n
40
+ });
41
+ }
42
+ function d({ className: t, ...n }) {
43
+ return /* @__PURE__ */ o("tr", {
44
+ "data-slot": "table-row",
45
+ className: e("border-border hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", t),
46
+ ...n
47
+ });
48
+ }
49
+ function f({ className: t, ...n }) {
50
+ return /* @__PURE__ */ o("th", {
51
+ "data-slot": "table-head",
52
+ className: e("text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0", t),
53
+ ...n
54
+ });
55
+ }
56
+ function p({ className: t, ...n }) {
57
+ return /* @__PURE__ */ o("td", {
58
+ "data-slot": "table-cell",
59
+ className: e("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0", t),
60
+ ...n
61
+ });
62
+ }
63
+ function m({ className: t, ...n }) {
64
+ return /* @__PURE__ */ o("caption", {
65
+ "data-slot": "table-caption",
66
+ className: e("text-muted-foreground mt-space-xl text-sm", t),
67
+ ...n
68
+ });
69
+ }
70
+ //#endregion
71
+ //#region src/components/base/table/index.tsx
72
+ var h = a.createContext("default"), g = {
73
+ compact: i.default,
74
+ default: i.comfortable,
75
+ comfortable: i.comfortable
76
+ };
77
+ function _(e) {
78
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
79
+ }
80
+ function v() {
81
+ let [e, t] = a.useState(!0), n = a.useRef(null);
82
+ return {
83
+ ref: a.useCallback((e) => {
84
+ if (n.current?.disconnect(), n.current = null, !e || typeof ResizeObserver > "u") return;
85
+ let r = () => t(e.scrollWidth > e.clientWidth + 1), i = new ResizeObserver(r);
86
+ i.observe(e), e.firstElementChild && i.observe(e.firstElementChild), n.current = i, r();
87
+ }, []),
88
+ overflowing: e
89
+ };
90
+ }
91
+ function y({ className: t, containerClassName: n, containerProps: i, density: c = "default", ...l }) {
92
+ let { ref: u, overflowing: d } = v(), f = i?.ref, p = a.useCallback((e) => {
93
+ u(e), typeof f == "function" ? f(e) : f && (f.current = e);
94
+ }, [u, f]);
95
+ return /* @__PURE__ */ o(h.Provider, {
96
+ value: c,
97
+ children: /* @__PURE__ */ o(s, {
98
+ containerProps: {
99
+ tabIndex: d ? 0 : void 0,
100
+ ...i,
101
+ ref: p
102
+ },
103
+ containerClassName: e(`table--container relative w-full overflow-x-auto focus-visible:outline-none ${r.edge}`, n),
104
+ "data-density": c,
105
+ className: e("table--component font-sans text-sm", t),
106
+ ...l
107
+ })
108
+ });
109
+ }
110
+ function b({ className: t, ...n }) {
111
+ return /* @__PURE__ */ o(c, {
112
+ className: e("table--header [&_tr]:border-border [&_tr]:hover:bg-transparent", t),
113
+ ...n
114
+ });
115
+ }
116
+ function x({ className: t, ...n }) {
117
+ return /* @__PURE__ */ o(l, {
118
+ className: e("table--body", t),
119
+ ...n
120
+ });
121
+ }
122
+ function S({ className: t, ...n }) {
123
+ return /* @__PURE__ */ o(u, {
124
+ className: e("table--footer border-border", t),
125
+ ...n
126
+ });
127
+ }
128
+ function C({ className: t, ...n }) {
129
+ return /* @__PURE__ */ o(d, {
130
+ className: e("table--row border-border", t),
131
+ ...n
132
+ });
133
+ }
134
+ function w({ className: t, children: r, ...i }) {
135
+ let s = a.useContext(h);
136
+ return /* @__PURE__ */ o(f, {
137
+ className: e("table--head h-auto px-row-x text-sm", g[s], t),
138
+ ...i,
139
+ children: _(r) ? /* @__PURE__ */ o(n, {
140
+ tag: "span",
141
+ className: "table--head-text",
142
+ children: r
143
+ }) : r
144
+ });
145
+ }
146
+ function T({ className: n, children: r, ...s }) {
147
+ let c = a.useContext(h);
148
+ return /* @__PURE__ */ o(p, {
149
+ className: e("table--cell px-row-x text-sm", i[c], n),
150
+ ...s,
151
+ children: _(r) ? /* @__PURE__ */ o(t, {
152
+ tag: "span",
153
+ size: "inherit",
154
+ className: "table--cell-text text-inherit",
155
+ children: r
156
+ }) : r
157
+ });
158
+ }
159
+ function E({ className: n, children: r, ...i }) {
160
+ return /* @__PURE__ */ o(m, {
161
+ className: e("table--caption", n),
162
+ ...i,
163
+ children: _(r) ? /* @__PURE__ */ o(t, {
164
+ tag: "span",
165
+ size: "inherit",
166
+ type: "secondary",
167
+ className: "table--caption-text",
168
+ children: r
169
+ }) : r
170
+ });
171
+ }
172
+ //#endregion
173
+ export { S as a, C as c, T as i, x as n, w as o, E as r, b as s, y as t };
174
+
175
+ //# sourceMappingURL=table-DsfzoUia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-DsfzoUia.js","names":["Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","React","UITable","UITableHeader","UITableBody","UITableFooter","UITableRow","UITableHead","UITableCell","UITableCaption","cn","Text","DisplayLabel","focusRecipes","rowBlockPaddingClasses","React$1","Table$1","props","containerProps","containerClassName","className","TableHeader$1","TableBody$1","TableFooter$1","TableRow$1","TableHead$1","TableCell$1","TableCaption$1","TableDensityContext","headBlockPaddingClasses","isSimpleText","value","useHorizontalOverflow","overflowing","setOverflowing","observerRef","node","measure","observer","Table","overflowRef","consumerRef","containerRef","density","TableHeader","TableBody","TableFooter","TableRow","TableHead","children","TableCell","TableCaption"],"sources":["../src/components/ui/table.tsx","../src/components/base/table/index.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\ntype TableProps = React.ComponentProps<\"table\"> & {\n containerClassName?: string\n containerProps?: React.ComponentProps<\"div\">\n}\n\nfunction Table({ className, containerClassName, containerProps, ...props }: TableProps) {\n return (\n <div\n {...containerProps}\n data-slot=\"table-container\"\n className={cn(\"relative w-full overflow-x-auto\", containerClassName, containerProps?.className)}\n >\n <table\n data-slot=\"table\"\n // The package ships no preflight: collapsed borders are what make the\n // row rules visible and remove the native cell spacing in any host.\n className={cn(\"w-full caption-bottom border-collapse text-sm\", className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"border-border [&_tr]:border-b [&_tr]:border-border\", className)}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\"border-border bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\"border-border hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\", className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\"text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"text-muted-foreground mt-space-xl text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from 'react';\n\nimport {\n\tTable as UITable,\n\tTableBody as UITableBody,\n\tTableCaption as UITableCaption,\n\tTableCell as UITableCell,\n\tTableFooter as UITableFooter,\n\tTableHead as UITableHead,\n\tTableHeader as UITableHeader,\n\tTableRow as UITableRow,\n} from '../../ui/table';\nimport { DisplayLabel, Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { focusRecipes } from '../../../lib/focus-recipes';\nimport { rowBlockPaddingClasses, type RowDensity } from '../../../lib/row-recipes';\n\nexport type TableProps = React.ComponentProps<typeof UITable> & {\n\t/**\n\t * Vertical row rhythm for every header and body cell. Header cells sit one\n\t * row step above their body rows. Defaults to `default`.\n\t */\n\tdensity?: RowDensity;\n};\nexport type TableHeaderProps = React.ComponentProps<typeof UITableHeader>;\nexport type TableBodyProps = React.ComponentProps<typeof UITableBody>;\nexport type TableFooterProps = React.ComponentProps<typeof UITableFooter>;\nexport type TableRowProps = React.ComponentProps<typeof UITableRow>;\nexport type TableHeadProps = React.ComponentProps<typeof UITableHead>;\nexport type TableCellProps = React.ComponentProps<typeof UITableCell>;\nexport type TableCaptionProps = React.ComponentProps<typeof UITableCaption>;\n\n/**\n * The table owns cell geometry once: `Table` publishes its density and every\n * head and cell takes its block padding from the shared row recipe, so a\n * feature passes a density instead of re-styling descendant cells.\n */\nconst TableDensityContext = React.createContext<RowDensity>('default');\n\n/** A header row labels its columns one row step above the body; comfortable is the top step. */\nconst headBlockPaddingClasses: Record<RowDensity, string> = {\n\tcompact: rowBlockPaddingClasses.default,\n\tdefault: rowBlockPaddingClasses.comfortable,\n\tcomfortable: rowBlockPaddingClasses.comfortable,\n};\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/**\n * The scroll container joins the Tab order only while the table actually\n * overflows, so keyboard users can scroll a wide table without every table\n * on a page adding an empty tab stop. An explicit `containerProps.tabIndex` wins.\n */\nfunction useHorizontalOverflow() {\n\tconst [overflowing, setOverflowing] = React.useState(true);\n\tconst observerRef = React.useRef<ResizeObserver | null>(null);\n\tconst ref = React.useCallback((node: HTMLDivElement | null) => {\n\t\tobserverRef.current?.disconnect();\n\t\tobserverRef.current = null;\n\t\tif (!node || typeof ResizeObserver === 'undefined') return;\n\t\tconst measure = () => setOverflowing(node.scrollWidth > node.clientWidth + 1);\n\t\tconst observer = new ResizeObserver(measure);\n\t\tobserver.observe(node);\n\t\tif (node.firstElementChild) observer.observe(node.firstElementChild);\n\t\tobserverRef.current = observer;\n\t\tmeasure();\n\t}, []);\n\treturn { ref, overflowing };\n}\n\nexport function Table({ className, containerClassName, containerProps, density = 'default', ...props }: TableProps) {\n\tconst { ref: overflowRef, overflowing } = useHorizontalOverflow();\n\tconst consumerRef = containerProps?.ref;\n\tconst containerRef = React.useCallback((node: HTMLDivElement | null) => {\n\t\toverflowRef(node);\n\t\tif (typeof consumerRef === 'function') consumerRef(node);\n\t\telse if (consumerRef) (consumerRef as React.RefObject<HTMLDivElement | null>).current = node;\n\t}, [overflowRef, consumerRef]);\n\treturn (\n\t\t<TableDensityContext.Provider value={density}>\n\t\t\t<UITable\n\t\t\t\tcontainerProps={{ tabIndex: overflowing ? 0 : undefined, ...containerProps, ref: containerRef }}\n\t\t\t\tcontainerClassName={cn(\n\t\t\t\t\t`table--container relative w-full overflow-x-auto focus-visible:outline-none ${focusRecipes.edge}`,\n\t\t\t\t\tcontainerClassName,\n\t\t\t\t)}\n\t\t\t\tdata-density={density}\n\t\t\t\tclassName={cn('table--component font-sans text-sm', className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</TableDensityContext.Provider>\n\t);\n}\n\nexport function TableHeader({ className, ...props }: TableHeaderProps) {\n\treturn (\n\t\t<UITableHeader\n\t\t\t// Header rows label columns; they do not take the body's hover tint.\n\t\t\tclassName={cn('table--header [&_tr]:border-border [&_tr]:hover:bg-transparent', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableBody({ className, ...props }: TableBodyProps) {\n\treturn (\n\t\t<UITableBody\n\t\t\tclassName={cn('table--body', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableFooter({ className, ...props }: TableFooterProps) {\n\treturn (\n\t\t<UITableFooter\n\t\t\tclassName={cn('table--footer border-border', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableRow({ className, ...props }: TableRowProps) {\n\treturn (\n\t\t<UITableRow\n\t\t\tclassName={cn('table--row border-border', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableHead({ className, children, ...props }: TableHeadProps) {\n\tconst density = React.useContext(TableDensityContext);\n\treturn (\n\t\t<UITableHead\n\t\t\t// Height comes from the row rhythm plus the label's line, never a fixed box.\n\t\t\tclassName={cn('table--head h-auto px-row-x text-sm', headBlockPaddingClasses[density], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<DisplayLabel tag=\"span\" className=\"table--head-text\">\n\t\t\t\t\t{children}\n\t\t\t\t</DisplayLabel>\n\t\t\t) : children}\n\t\t</UITableHead>\n\t);\n}\n\nexport function TableCell({ className, children, ...props }: TableCellProps) {\n\tconst density = React.useContext(TableDensityContext);\n\treturn (\n\t\t<UITableCell\n\t\t\tclassName={cn('table--cell px-row-x text-sm', rowBlockPaddingClasses[density], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" className=\"table--cell-text text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</UITableCell>\n\t);\n}\n\nexport function TableCaption({ className, children, ...props }: TableCaptionProps) {\n\treturn (\n\t\t<UITableCaption\n\t\t\tclassName={cn('table--caption', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" type=\"secondary\" className=\"table--caption-text\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</UITableCaption>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use client";
2
+ import { s as e } from "./ui-provider-C_U0Xma4.js";
3
+ import { useStrings as t } from "./lib/strings.js";
4
+ import { t as n } from "./utils-BRhFDwuU.js";
5
+ import { n as r } from "./buttons-DPZekJFu.js";
6
+ import { c as i } from "./typography-UTnveOEy.js";
7
+ import { t as a } from "./focus-recipes-B653VaLq.js";
8
+ import { t as o } from "./structure-BmisBK-3.js";
9
+ import { t as s } from "./scroll-area-DcI-M1UT.js";
10
+ import { useLayoutEffect as c, useRef as l, useState as u } from "react";
11
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
12
+ import { ChevronLeft as p, ChevronRight as m } from "lucide-react";
13
+ import { cva as h } from "class-variance-authority";
14
+ import { Tabs as g } from "@base-ui/react/tabs";
15
+ //#region src/components/base/navigation/tab-scroll-viewport.tsx
16
+ var _ = {
17
+ previous: "Previous tabs",
18
+ next: "Next tabs"
19
+ };
20
+ function v({ children: e, strings: n }) {
21
+ let i = t(_, n), a = l(null), h = l(null), [g, v] = u({
22
+ overflow: !1,
23
+ start: !0,
24
+ end: !0
25
+ });
26
+ c(() => {
27
+ let e = h.current;
28
+ if (!e) return;
29
+ let t = () => {
30
+ let t = e.scrollWidth - e.clientWidth, n = Math.abs(e.scrollLeft), r = a.current?.clientWidth || e.clientWidth, i = getComputedStyle(e), o = (parseFloat(i.paddingLeft) || 0) + (parseFloat(i.paddingRight) || 0), s = {
31
+ overflow: e.scrollWidth - o > r + 1,
32
+ start: n <= 1,
33
+ end: n >= t - 1
34
+ };
35
+ v((e) => e.overflow === s.overflow && e.start === s.start && e.end === s.end ? e : s);
36
+ }, n = () => {
37
+ let n = e.querySelector("[aria-selected=\"true\"], [aria-current=\"page\"]");
38
+ if (n) {
39
+ let t = e.getBoundingClientRect(), r = n.getBoundingClientRect();
40
+ r.left < t.left ? e.scrollLeft += r.left - t.left : r.right > t.right && (e.scrollLeft += r.right - t.right);
41
+ }
42
+ t();
43
+ };
44
+ t(), e.addEventListener("scroll", t, { passive: !0 });
45
+ let r = typeof ResizeObserver > "u" ? null : new ResizeObserver(n);
46
+ r?.observe(e), a.current && r?.observe(a.current), e.firstElementChild && r?.observe(e.firstElementChild);
47
+ let i = new MutationObserver(n);
48
+ return i.observe(e, {
49
+ subtree: !0,
50
+ attributes: !0,
51
+ attributeFilter: ["aria-selected", "aria-current"]
52
+ }), n(), () => {
53
+ e.removeEventListener("scroll", t), r?.disconnect(), i.disconnect();
54
+ };
55
+ }, []);
56
+ let y = (e) => {
57
+ let t = h.current;
58
+ if (!t) return;
59
+ let n = getComputedStyle(t).direction === "rtl", r = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
60
+ t.scrollBy({
61
+ left: e * (n ? -1 : 1) * t.clientWidth * .75,
62
+ behavior: r ? "instant" : "smooth"
63
+ });
64
+ };
65
+ return /* @__PURE__ */ f(o, {
66
+ ref: a,
67
+ direction: "horizontal",
68
+ gap: "xs",
69
+ align: "center",
70
+ wrap: !1,
71
+ className: "tab-scroll--component w-full min-w-0",
72
+ children: [
73
+ g.overflow && /* @__PURE__ */ d(r, {
74
+ size: "sm",
75
+ iconOnly: !0,
76
+ icon: p,
77
+ tone: "secondary",
78
+ buttonStyle: "ghost",
79
+ "aria-label": i.previous,
80
+ disabled: g.start,
81
+ onClick: () => y(-1),
82
+ className: "shrink-0 rtl:[&_svg]:rotate-180"
83
+ }),
84
+ /* @__PURE__ */ d(s, {
85
+ orientation: "horizontal",
86
+ viewportRef: h,
87
+ className: "-m-space-xs min-w-0 flex-1",
88
+ viewportClassName: "p-space-xs",
89
+ scrollbarClassName: "hidden",
90
+ children: e
91
+ }),
92
+ g.overflow && /* @__PURE__ */ d(r, {
93
+ size: "sm",
94
+ iconOnly: !0,
95
+ icon: m,
96
+ tone: "secondary",
97
+ buttonStyle: "ghost",
98
+ "aria-label": i.next,
99
+ disabled: g.end,
100
+ onClick: () => y(1),
101
+ className: "shrink-0 rtl:[&_svg]:rotate-180"
102
+ })
103
+ ]
104
+ });
105
+ }
106
+ //#endregion
107
+ //#region src/components/ui/tabs.tsx
108
+ function y({ className: e, orientation: t = "horizontal", ...r }) {
109
+ return /* @__PURE__ */ d(g.Root, {
110
+ "data-slot": "tabs",
111
+ "data-orientation": t,
112
+ className: n("gap-space-md group/tabs flex data-[orientation=horizontal]:flex-col", e),
113
+ ...r
114
+ });
115
+ }
116
+ var b = h("box-border rounded-inner p-space-2xs h-action data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", {
117
+ variants: { variant: {
118
+ default: "bg-muted",
119
+ line: "gap-space-xs bg-transparent",
120
+ chips: "h-auto flex-wrap justify-start gap-space-xs bg-transparent p-0"
121
+ } },
122
+ defaultVariants: { variant: "default" }
123
+ });
124
+ function x({ className: e, variant: t = "default", ...r }) {
125
+ return /* @__PURE__ */ d(g.List, {
126
+ "data-slot": "tabs-list",
127
+ "data-variant": t,
128
+ className: n(b({ variant: t }), e),
129
+ ...r
130
+ });
131
+ }
132
+ function S({ className: e, ...t }) {
133
+ return /* @__PURE__ */ d(g.Tab, {
134
+ "data-slot": "tabs-trigger",
135
+ className: n(`box-border font-sans gap-space-sm rounded-inner border border-transparent px-space-md py-space-xs text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-icon outline-none ${a.frame} text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`, "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-card data-active:text-foreground", "group-data-[variant=chips]/tabs-list:h-action-sm group-data-[variant=chips]/tabs-list:flex-none group-data-[variant=chips]/tabs-list:px-control-sm group-data-[variant=chips]/tabs-list:py-0 group-data-[variant=chips]/tabs-list:after:hidden group-data-[variant=chips]/tabs-list:hover:bg-muted group-data-[variant=chips]/tabs-list:data-active:bg-accent group-data-[variant=chips]/tabs-list:data-active:text-accent-foreground group-data-[variant=chips]/tabs-list:data-active:hover:bg-accent group-data-[variant=chips]/tabs-list:data-active:hover:text-accent-foreground", "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", e),
136
+ ...t
137
+ });
138
+ }
139
+ function C({ className: e, ...t }) {
140
+ return /* @__PURE__ */ d(g.Panel, {
141
+ "data-slot": "tabs-content",
142
+ className: n("text-sm flex-1 outline-none", e),
143
+ ...t
144
+ });
145
+ }
146
+ //#endregion
147
+ //#region src/components/base/navigation/tabs.tsx
148
+ function w(e) {
149
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
150
+ }
151
+ function T({ className: e, ...t }) {
152
+ return /* @__PURE__ */ d(y, {
153
+ className: n("tabs--component", e),
154
+ ...t
155
+ });
156
+ }
157
+ function E({ className: t, scrollable: r = !1, scrollStrings: i, ...a }) {
158
+ let { defaultScale: o } = e(), s = a.variant === "chips" ? void 0 : o === "sm" ? "h-action-sm" : o === "lg" ? "h-action-lg" : "h-action", c = /* @__PURE__ */ d(x, {
159
+ className: n("tabs-list--component", "rounded-inner", s, r && "w-max", t),
160
+ ...a
161
+ });
162
+ return r ? /* @__PURE__ */ d(v, {
163
+ strings: i,
164
+ children: c
165
+ }) : c;
166
+ }
167
+ function D({ className: e, children: t, ...r }) {
168
+ return /* @__PURE__ */ d(S, {
169
+ className: n("tabs-trigger--component", "gap-space-sm rounded-inner px-space-md py-space-xs", e),
170
+ ...r,
171
+ children: w(t) ? /* @__PURE__ */ d(i, {
172
+ tag: "span",
173
+ size: "inherit",
174
+ weight: "medium",
175
+ lineHeight: "tight",
176
+ className: "text-inherit",
177
+ children: t
178
+ }) : t
179
+ });
180
+ }
181
+ function O({ className: e, children: t, ...r }) {
182
+ return /* @__PURE__ */ d(C, {
183
+ className: n("tabs-content--component", e),
184
+ ...r,
185
+ children: w(t) ? /* @__PURE__ */ d(i, { children: t }) : t
186
+ });
187
+ }
188
+ //#endregion
189
+ export { v as a, D as i, O as n, _ as o, E as r, T as t };
190
+
191
+ //# sourceMappingURL=tabs-CDocW5D1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-CDocW5D1.js","names":["Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","Tabs","PrimitiveTabs","PrimitiveTabsList","PrimitiveTabsTrigger","PrimitiveTabsContent","useDensityConfig","cn","Button","Text","focusRecipes","Stack","ScrollArea","defaultTabsScrollStrings","TabScrollViewport","stringsProp","strings","useStrings","frameRef","useRef","viewportRef","edges","setEdges","useState","viewport","measure","maximum","offset","available","style","inset","next","current","reveal","selected","bounds","item","resize","selection","scroll","rtl","reduce","direction","ChevronLeft","ChevronRight","Tabs$2","props","Tabs","orientation","className","tabsListVariants","cva","TabsList$1","variant","TabsTrigger$1","TabsContent$1","isSimpleText","value","Tabs$1","TabsList","height","defaultScale","list","scrollable","scrollStrings","TabsTrigger","children","TabsContent"],"sources":["../src/components/base/navigation/tab-scroll-viewport.tsx","../src/components/ui/tabs.tsx","../src/components/base/navigation/tabs.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { useLayoutEffect, useRef, useState, type ReactNode } from 'react';\n\nimport { Button } from '../buttons';\nimport { ScrollArea } from '../display/scroll-area';\nimport { Stack } from '../structure';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\n\nexport interface TabsScrollStrings {\n\tprevious: string;\n\tnext: string;\n}\n\nexport const defaultTabsScrollStrings: TabsScrollStrings = {\n\tprevious: 'Previous tabs',\n\tnext: 'Next tabs',\n};\n\n/** Shared scroll mechanics for state tabs and route tabs; selection stays with each owner. */\nexport function TabScrollViewport({ children, strings: stringsProp }: {\n\tchildren: ReactNode;\n\tstrings?: StringsProp<TabsScrollStrings>;\n}) {\n\tconst strings = useStrings(defaultTabsScrollStrings, stringsProp);\n\tconst frameRef = useRef<HTMLDivElement>(null);\n\tconst viewportRef = useRef<HTMLDivElement>(null);\n\tconst [edges, setEdges] = useState({ overflow: false, start: true, end: true });\n\n\tuseLayoutEffect(() => {\n\t\tconst viewport = viewportRef.current;\n\t\tif (!viewport) return;\n\t\tconst measure = () => {\n\t\t\tconst maximum = viewport.scrollWidth - viewport.clientWidth;\n\t\t\tconst offset = Math.abs(viewport.scrollLeft);\n\t\t\t// Measure the full row so visible arrows cannot keep themselves alive after a resize.\n\t\t\tconst available = frameRef.current?.clientWidth || viewport.clientWidth;\n\t\t\t// The viewport's ring inset is outside the row (negative margin), so it is not content.\n\t\t\tconst style = getComputedStyle(viewport);\n\t\t\tconst inset = (parseFloat(style.paddingLeft) || 0) + (parseFloat(style.paddingRight) || 0);\n\t\t\tconst next = { overflow: viewport.scrollWidth - inset > available + 1, start: offset <= 1, end: offset >= maximum - 1 };\n\t\t\tsetEdges(current => current.overflow === next.overflow && current.start === next.start && current.end === next.end ? current : next);\n\t\t};\n\t\tconst reveal = () => {\n\t\t\tconst selected = viewport.querySelector<HTMLElement>('[aria-selected=\"true\"], [aria-current=\"page\"]');\n\t\t\tif (selected) {\n\t\t\t\tconst bounds = viewport.getBoundingClientRect();\n\t\t\t\tconst item = selected.getBoundingClientRect();\n\t\t\t\tif (item.left < bounds.left) viewport.scrollLeft += item.left - bounds.left;\n\t\t\t\telse if (item.right > bounds.right) viewport.scrollLeft += item.right - bounds.right;\n\t\t\t}\n\t\t\tmeasure();\n\t\t};\n\t\tmeasure();\n\t\tviewport.addEventListener('scroll', measure, { passive: true });\n\t\tconst resize = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(reveal);\n\t\tresize?.observe(viewport);\n\t\tif (frameRef.current) resize?.observe(frameRef.current);\n\t\tif (viewport.firstElementChild) resize?.observe(viewport.firstElementChild);\n\t\tconst selection = new MutationObserver(reveal);\n\t\tselection.observe(viewport, { subtree: true, attributes: true, attributeFilter: ['aria-selected', 'aria-current'] });\n\t\treveal();\n\t\treturn () => { viewport.removeEventListener('scroll', measure); resize?.disconnect(); selection.disconnect(); };\n\t}, []);\n\n\tconst scroll = (direction: number) => {\n\t\tconst viewport = viewportRef.current;\n\t\tif (!viewport) return;\n\t\tconst rtl = getComputedStyle(viewport).direction === 'rtl';\n\t\tconst reduce = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;\n\t\tviewport.scrollBy({ left: direction * (rtl ? -1 : 1) * viewport.clientWidth * 0.75, behavior: reduce ? 'instant' : 'smooth' });\n\t};\n\n\treturn <Stack ref={frameRef} direction=\"horizontal\" gap=\"xs\" align=\"center\" wrap={false} className=\"tab-scroll--component w-full min-w-0\">\n\t\t{edges.overflow && <Button size=\"sm\" iconOnly icon={ChevronLeft} tone=\"secondary\" buttonStyle=\"ghost\" aria-label={strings.previous} disabled={edges.start} onClick={() => scroll(-1)} className=\"shrink-0 rtl:[&_svg]:rotate-180\" />}\n\t\t{/* The inset only gives focus rings and the active tab's shadow room inside the\n\t\t clipping viewport; the matching negative margin keeps the list on the\n\t\t container's edge and centred on the arrows. The arrows replace the\n\t\t scrollbar, so it no longer needs reserved space under the tabs. */}\n\t\t<ScrollArea orientation=\"horizontal\" viewportRef={viewportRef} className=\"-m-space-xs min-w-0 flex-1\" viewportClassName=\"p-space-xs\" scrollbarClassName=\"hidden\">{children}</ScrollArea>\n\t\t{edges.overflow && <Button size=\"sm\" iconOnly icon={ChevronRight} tone=\"secondary\" buttonStyle=\"ghost\" aria-label={strings.next} disabled={edges.end} onClick={() => scroll(1)} className=\"shrink-0 rtl:[&_svg]:rotate-180\" />}\n\t</Stack>;\n}\n","import { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: TabsPrimitive.Root.Props) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"gap-space-md group/tabs flex data-[orientation=horizontal]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"box-border rounded-inner p-space-2xs h-action data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-space-xs bg-transparent\",\n // Wrapping toggle chips (saved views, filter presets): no track, compact\n // pressed-state triggers that wrap onto further lines.\n chips: \"h-auto flex-wrap justify-start gap-space-xs bg-transparent p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={cn(\n `box-border font-sans gap-space-sm rounded-inner border border-transparent px-space-md py-space-xs text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-icon outline-none ${focusRecipes.frame} text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n // The card fill is lighter than the muted track in both themes; the page\n // background is darker than the track in dark mode and reads as recessed.\n \"data-active:bg-card data-active:text-foreground\",\n // Chips use the toggle recipe: a muted hover and the accent pressed fill.\n \"group-data-[variant=chips]/tabs-list:h-action-sm group-data-[variant=chips]/tabs-list:flex-none group-data-[variant=chips]/tabs-list:px-control-sm group-data-[variant=chips]/tabs-list:py-0 group-data-[variant=chips]/tabs-list:after:hidden group-data-[variant=chips]/tabs-list:hover:bg-muted group-data-[variant=chips]/tabs-list:data-active:bg-accent group-data-[variant=chips]/tabs-list:data-active:text-accent-foreground group-data-[variant=chips]/tabs-list:data-active:hover:bg-accent group-data-[variant=chips]/tabs-list:data-active:hover:text-accent-foreground\",\n \"after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={cn(\"text-sm flex-1 outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n","/**\n * Typography- and token-aware wrappers around the internal shadcn tabs parts.\n *\n * Raw anatomy and these wrappers share token-backed spacing. The wrappers\n * add stable public hooks, canonical corners, scalar text and scroll controls;\n * the primitive owns tab/list interaction and the nested list inset.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport {\n\tTabs as PrimitiveTabs,\n\tTabsContent as PrimitiveTabsContent,\n\tTabsList as PrimitiveTabsList,\n\tTabsTrigger as PrimitiveTabsTrigger,\n} from '../../ui/tabs';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport type { StringsProp } from '../../../lib/strings';\nimport { TabScrollViewport, type TabsScrollStrings } from './tab-scroll-viewport';\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport function Tabs({ className, ...props }: ComponentProps<typeof PrimitiveTabs>) {\n\treturn <PrimitiveTabs className={cn('tabs--component', className)} {...props} />;\n}\n\nexport type TabsListProps = ComponentProps<typeof PrimitiveTabsList> & {\n\t/** Adds previous/next controls when the tab list exceeds its container. */\n\tscrollable?: boolean;\n\t/** Accessible labels for the previous/next scroll controls. */\n\tscrollStrings?: StringsProp<TabsScrollStrings>;\n};\n\nexport function TabsList({ className, scrollable = false, scrollStrings, ...props }: TabsListProps) {\n\tconst { defaultScale } = useDensityConfig();\n\t// Chips wrap onto further lines, so the list takes its height from them.\n\tconst height = props.variant === 'chips' ? undefined : defaultScale === 'sm' ? 'h-action-sm' : defaultScale === 'lg' ? 'h-action-lg' : 'h-action';\n\tconst list = (\n\t\t<PrimitiveTabsList\n\t\t\tclassName={cn('tabs-list--component', 'rounded-inner', height, scrollable && 'w-max', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\treturn scrollable ? <TabScrollViewport strings={scrollStrings}>{list}</TabScrollViewport> : list;\n}\n\nexport function TabsTrigger({ className, children, ...props }: ComponentProps<typeof PrimitiveTabsTrigger>) {\n\treturn (\n\t\t<PrimitiveTabsTrigger\n\t\t\tclassName={cn(\n\t\t\t\t'tabs-trigger--component',\n\t\t\t\t'gap-space-sm rounded-inner px-space-md py-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveTabsTrigger>\n\t);\n}\n\nexport function TabsContent({ className, children, ...props }: ComponentProps<typeof PrimitiveTabsContent>) {\n\treturn (\n\t\t<PrimitiveTabsContent className={cn('tabs-content--component', className)} {...props}>\n\t\t\t{isSimpleText(children) ? <Text>{children}</Text> : children}\n\t\t</PrimitiveTabsContent>\n\t);\n}\n"],"mappings":"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"}