themelia-react-ui 1.0.2 → 2.0.1

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 (748) hide show
  1. package/CHANGELOG.md +632 -1
  2. package/README.md +31 -13
  3. package/dist/accordion-B6a3vVgA.js +207 -0
  4. package/dist/accordion-B6a3vVgA.js.map +1 -0
  5. package/dist/action-menu-TzCoSlwL.js +280 -0
  6. package/dist/action-menu-TzCoSlwL.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-B5iu-Mkr.js} +9 -3
  8. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-BMJdv-6q.js} +389 -391
  10. package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-ZK5RWdo6.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
  13. package/dist/attachment-BtfhGm8i.js +245 -0
  14. package/dist/attachment-BtfhGm8i.js.map +1 -0
  15. package/dist/{auth-CAQcasMV.js → auth-CYxKfo69.js} +239 -237
  16. package/dist/auth-CYxKfo69.js.map +1 -0
  17. package/dist/{avatar-Bu2HhitA.js → avatar-BBnEJIx8.js} +71 -68
  18. package/dist/avatar-BBnEJIx8.js.map +1 -0
  19. package/dist/badge-MrKVNzW9.js +93 -0
  20. package/dist/badge-MrKVNzW9.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/batch-action-bar.js +3 -0
  27. package/dist/base/buttons.js +2 -3
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +19 -19
  30. package/dist/base/carousel.js.map +1 -1
  31. package/dist/base/cascader.js +234 -224
  32. package/dist/base/cascader.js.map +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +3 -3
  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 +3 -3
  42. package/dist/base/forms-numeric.js +1 -1
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +81 -76
  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 +1 -1
  48. package/dist/base/metadata-list.js +3 -0
  49. package/dist/base/navigation.js +7 -7
  50. package/dist/base/popover-menu.js +1 -1
  51. package/dist/base/popover.js +1 -1
  52. package/dist/base/qr-code.js +7 -4
  53. package/dist/base/qr-code.js.map +1 -1
  54. package/dist/base/repeaters.js +175 -174
  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 +148 -138
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +1 -1
  62. package/dist/base/structure.js +1 -1
  63. package/dist/base/table.js +1 -1
  64. package/dist/base/text-inputs.js +2 -2
  65. package/dist/base/toaster.js +4 -4
  66. package/dist/base/toaster.js.map +1 -1
  67. package/dist/base/tree.js +1 -1
  68. package/dist/base/upload-queue.js +1 -1
  69. package/dist/base/upload.js +3 -3
  70. package/dist/base/value-inputs.js +2 -2
  71. package/dist/batch-action-bar-BZGDG-Si.js +104 -0
  72. package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
  73. package/dist/blocks/admin.js +264 -253
  74. package/dist/blocks/admin.js.map +1 -1
  75. package/dist/blocks/ai.js +293 -323
  76. package/dist/blocks/ai.js.map +1 -1
  77. package/dist/blocks/analytics/usage-card.js +1 -1
  78. package/dist/blocks/analytics.js +596 -587
  79. package/dist/blocks/analytics.js.map +1 -1
  80. package/dist/blocks/collaboration.js +1 -1
  81. package/dist/blocks/commerce/receipt.js +1 -1
  82. package/dist/blocks/commerce.js +2246 -1693
  83. package/dist/blocks/commerce.js.map +1 -1
  84. package/dist/blocks/data-display.js +3 -2
  85. package/dist/blocks/onboarding.js +50 -49
  86. package/dist/blocks/onboarding.js.map +1 -1
  87. package/dist/blocks/planning.js +82 -91
  88. package/dist/blocks/planning.js.map +1 -1
  89. package/dist/blocks/timelines.js +1 -1
  90. package/dist/breadcrumbs-D5t7I023.js +129 -0
  91. package/dist/breadcrumbs-D5t7I023.js.map +1 -0
  92. package/dist/{button-BZyfTvwm.js → button-QYwiyhD2.js} +15 -14
  93. package/dist/button-QYwiyhD2.js.map +1 -0
  94. package/dist/buttons-SbIcm1HJ.js +661 -0
  95. package/dist/buttons-SbIcm1HJ.js.map +1 -0
  96. package/dist/{cards-qGSErLw_.js → cards-CiiHpKYd.js} +8 -8
  97. package/dist/cards-CiiHpKYd.js.map +1 -0
  98. package/dist/{chart-Bsc5BICK.js → chart-QfrARkXl.js} +17 -15
  99. package/dist/chart-QfrARkXl.js.map +1 -0
  100. package/dist/checkbox-DhB6K0bK.js +36 -0
  101. package/dist/checkbox-DhB6K0bK.js.map +1 -0
  102. package/dist/choice-inputs-t6w3ATNz.js +766 -0
  103. package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
  104. package/dist/code-block-Dgbu-CU3.js +185 -0
  105. package/dist/code-block-Dgbu-CU3.js.map +1 -0
  106. package/dist/{collapsible-ClvC7Bj3.js → collapsible-D8AEGU1-.js} +4 -4
  107. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-D8AEGU1-.js.map} +1 -1
  108. package/dist/{collection-content-D6S8cv_n.js → collection-content-uK16Grv0.js} +3 -3
  109. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-uK16Grv0.js.map} +1 -1
  110. package/dist/{combobox-BFnbJJp3.js → combobox-2Ic8N9bL.js} +103 -98
  111. package/dist/combobox-2Ic8N9bL.js.map +1 -0
  112. package/dist/combobox-DLl0bfiq.js +867 -0
  113. package/dist/combobox-DLl0bfiq.js.map +1 -0
  114. package/dist/{command-BnmSchli.js → command-kNR20o7x.js} +34 -30
  115. package/dist/command-kNR20o7x.js.map +1 -0
  116. package/dist/{comments-u5L0OGip.js → comments-BpDuCUUu.js} +304 -301
  117. package/dist/comments-BpDuCUUu.js.map +1 -0
  118. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  119. package/dist/components/base/action-menu/action-menu.d.ts +27 -5
  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/avatar/stacked-avatars.d.ts +5 -4
  123. package/dist/components/base/badge/badge.d.ts +1 -1
  124. package/dist/components/base/badge/badge.recipes.d.ts +6 -6
  125. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  126. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  127. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  128. package/dist/components/base/buttons/base-button.d.ts +7 -0
  129. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  130. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  131. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  132. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  133. package/dist/components/base/buttons/text-button.d.ts +2 -2
  134. package/dist/components/base/carousel/carousel.d.ts +3 -1
  135. package/dist/components/base/chart/chart.d.ts +7 -7
  136. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  137. package/dist/components/base/choice-inputs/choice-types.d.ts +24 -3
  138. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  139. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  140. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  141. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  142. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  143. package/dist/components/base/display/alert-dialog.d.ts +10 -3
  144. package/dist/components/base/display/content-block.d.ts +4 -2
  145. package/dist/components/base/display/date-block.d.ts +1 -1
  146. package/dist/components/base/display/dialog.d.ts +8 -5
  147. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  148. package/dist/components/base/display/surface-title.d.ts +6 -1
  149. package/dist/components/base/feedback/alert.d.ts +1 -1
  150. package/dist/components/base/feedback/state-display.d.ts +5 -4
  151. package/dist/components/base/forms/form-sizing.d.ts +43 -8
  152. package/dist/components/base/forms/workflow.d.ts +2 -0
  153. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  154. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  155. package/dist/components/base/metadata-list/index.d.ts +12 -0
  156. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  157. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  158. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  159. package/dist/components/base/navigation/index.d.ts +1 -1
  160. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  161. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  162. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  163. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  164. package/dist/components/base/navigation/page-header/page-header.d.ts +30 -4
  165. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  166. package/dist/components/base/sheet/index.d.ts +29 -1
  167. package/dist/components/base/sheet/sheet.d.ts +10 -5
  168. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  169. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  170. package/dist/components/base/spinner/spinner.d.ts +3 -2
  171. package/dist/components/base/structure/structure.types.d.ts +1 -1
  172. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  173. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  174. package/dist/components/base/upload/upload.recipes.d.ts +33 -0
  175. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  176. package/dist/components/base/value-inputs/index.d.ts +5 -5
  177. package/dist/components/base/value-inputs/tags-input.d.ts +38 -12
  178. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  179. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  180. package/dist/components/blocks/analytics/index.d.ts +1 -1
  181. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  182. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  183. package/dist/components/blocks/commerce/address-card/types.d.ts +4 -1
  184. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  185. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  186. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  187. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  188. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  189. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  190. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  191. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  192. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  193. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  194. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
  195. package/dist/components/blocks/commerce/index.d.ts +13 -5
  196. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  197. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  198. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  199. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  200. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  201. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  202. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  203. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  204. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  205. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  206. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  207. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  208. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  209. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  210. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  211. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  212. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  213. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  214. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  215. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  216. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  217. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  218. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  219. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  220. package/dist/components/blocks/commerce/payment-method/types.d.ts +14 -1
  221. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  222. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  223. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  224. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  225. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  226. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  227. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  228. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  229. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  230. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  231. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  232. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  233. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  234. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  235. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  236. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  237. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  238. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  239. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  240. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  241. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  242. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  243. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  244. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  245. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  246. package/dist/components/features/kanban/kanban.d.ts +1 -1
  247. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  248. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  249. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  250. package/dist/components/features/media-library/index.d.ts +1 -1
  251. package/dist/components/features/media-library/media-library.d.ts +1 -1
  252. package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
  253. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  254. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  255. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  256. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  257. package/dist/components/features/overlays/dialog.d.ts +1 -1
  258. package/dist/components/features/overlays/drawer.d.ts +1 -1
  259. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  260. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  261. package/dist/components/features/overlays/index.d.ts +1 -1
  262. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  263. package/dist/components/features/overlays/overlays.types.d.ts +62 -19
  264. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  265. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  266. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  267. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  268. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  269. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  270. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  271. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  272. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  273. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  274. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  275. package/dist/components/features/products/partials/index.d.ts +1 -1
  276. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  277. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  278. package/dist/components/features/products/products.types.d.ts +11 -3
  279. package/dist/components/features/resource/index.d.ts +1 -1
  280. package/dist/components/features/resource/resource.d.ts +1 -1
  281. package/dist/components/features/resource/resource.types.d.ts +34 -6
  282. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  283. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  284. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  285. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  286. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  287. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  288. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
  289. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  290. package/dist/components/features/sync/index.d.ts +26 -3
  291. package/dist/components/features/table/data-table.d.ts +1 -1
  292. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  293. package/dist/components/features/table/table.types.d.ts +32 -7
  294. package/dist/components/layout/page/index.d.ts +1 -1
  295. package/dist/components/layout/page/page.types.d.ts +51 -4
  296. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  297. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  298. package/dist/components/layout/settings/settings.d.ts +16 -2
  299. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  300. package/dist/components/primitives/date.d.ts +16 -3
  301. package/dist/components/primitives/dimensions.d.ts +6 -0
  302. package/dist/components/primitives/duration.d.ts +6 -0
  303. package/dist/components/primitives/file-size.d.ts +6 -0
  304. package/dist/components/primitives/index.d.ts +1 -1
  305. package/dist/components/primitives/initials.d.ts +11 -2
  306. package/dist/components/primitives/link.d.ts +7 -0
  307. package/dist/components/primitives/money.d.ts +29 -7
  308. package/dist/components/primitives/number.d.ts +17 -0
  309. package/dist/components/primitives/value-typography.d.ts +54 -0
  310. package/dist/components/primitives/value.d.ts +31 -6
  311. package/dist/components/typography/heading.d.ts +9 -1
  312. package/dist/components/typography/label.d.ts +3 -0
  313. package/dist/components/typography/rich-text/index.d.ts +1 -1
  314. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  315. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  316. package/dist/components/typography/running-text.d.ts +12 -0
  317. package/dist/components/typography/text-link.d.ts +24 -1
  318. package/dist/components/typography/text.d.ts +12 -0
  319. package/dist/components/typography/text.styles.d.ts +35 -13
  320. package/dist/components/ui/button.d.ts +1 -1
  321. package/dist/components/ui/checkbox.d.ts +6 -0
  322. package/dist/components/ui/overlay.recipes.d.ts +6 -2
  323. package/dist/components/ui/select.d.ts +3 -1
  324. package/dist/components/ui/switch.d.ts +5 -0
  325. package/dist/{containers-DqB-bSYE.js → containers-DmWiJa2I.js} +36 -35
  326. package/dist/containers-DmWiJa2I.js.map +1 -0
  327. package/dist/{copyable-BTSByfmq.js → copyable-B3Gwgdqc.js} +6 -6
  328. package/dist/{copyable-BTSByfmq.js.map → copyable-B3Gwgdqc.js.map} +1 -1
  329. package/dist/data-display-DafIvCl5.js +960 -0
  330. package/dist/data-display-DafIvCl5.js.map +1 -0
  331. package/dist/date-BgK3bTdo.js +144 -0
  332. package/dist/date-BgK3bTdo.js.map +1 -0
  333. package/dist/date-picker-CF-DtUpF.js +1529 -0
  334. package/dist/date-picker-CF-DtUpF.js.map +1 -0
  335. package/dist/date-pickers-BmzxJl5l.js +174 -0
  336. package/dist/date-pickers-BmzxJl5l.js.map +1 -0
  337. package/dist/{display-CS6Hbk18.js → display-DsQTVzMz.js} +88 -87
  338. package/dist/display-DsQTVzMz.js.map +1 -0
  339. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-E2qmdC7o.js} +23 -16
  340. package/dist/dropdown-menu-E2qmdC7o.js.map +1 -0
  341. package/dist/features/activities.js +437 -521
  342. package/dist/features/activities.js.map +1 -1
  343. package/dist/features/ai-chat.js +174 -172
  344. package/dist/features/ai-chat.js.map +1 -1
  345. package/dist/features/async-preview.js +8 -8
  346. package/dist/features/async-preview.js.map +1 -1
  347. package/dist/features/combobox.js +1 -1
  348. package/dist/features/comments.js +1 -1
  349. package/dist/features/data-view.js +139 -138
  350. package/dist/features/data-view.js.map +1 -1
  351. package/dist/features/email-composer/engine.js +1 -1
  352. package/dist/features/email-composer.js +353 -352
  353. package/dist/features/email-composer.js.map +1 -1
  354. package/dist/features/event-calendar.js +262 -269
  355. package/dist/features/event-calendar.js.map +1 -1
  356. package/dist/features/filters.js +1 -1
  357. package/dist/features/global-search.js +307 -310
  358. package/dist/features/global-search.js.map +1 -1
  359. package/dist/features/kanban.js +95 -97
  360. package/dist/features/kanban.js.map +1 -1
  361. package/dist/features/map.js +56 -57
  362. package/dist/features/map.js.map +1 -1
  363. package/dist/features/media-library.js +914 -824
  364. package/dist/features/media-library.js.map +1 -1
  365. package/dist/features/mentions.js +1 -1
  366. package/dist/features/overlays.js +1 -1
  367. package/dist/features/products.js +1272 -1311
  368. package/dist/features/products.js.map +1 -1
  369. package/dist/features/questionnaire.js +204 -194
  370. package/dist/features/questionnaire.js.map +1 -1
  371. package/dist/features/resource-assignment.js +103 -95
  372. package/dist/features/resource-assignment.js.map +1 -1
  373. package/dist/features/resource.js +77 -69
  374. package/dist/features/resource.js.map +1 -1
  375. package/dist/features/rich-text-editor.js +30 -11
  376. package/dist/features/rich-text-editor.js.map +1 -1
  377. package/dist/features/schema-form.js +193 -189
  378. package/dist/features/schema-form.js.map +1 -1
  379. package/dist/features/suggestions.js +3 -3
  380. package/dist/features/sync.js +7 -7
  381. package/dist/features/sync.js.map +1 -1
  382. package/dist/features/table.js +1 -1
  383. package/dist/features/theme-tweaker.js +455 -455
  384. package/dist/features/theme-tweaker.js.map +1 -1
  385. package/dist/feedback-qNuMBtRH.js +233 -0
  386. package/dist/feedback-qNuMBtRH.js.map +1 -0
  387. package/dist/field-affordance-recipes-qQeIf4lG.js +48 -0
  388. package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
  389. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  390. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  391. package/dist/{filters-D6FF8L6s.js → filters-BkHH53uv.js} +414 -412
  392. package/dist/filters-BkHH53uv.js.map +1 -0
  393. package/dist/focus-recipes-B653VaLq.js +12 -0
  394. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  395. package/dist/{form-field-CZwrkP7m.js → form-field-DUt4UxSV.js} +7 -7
  396. package/dist/{form-field-CZwrkP7m.js.map → form-field-DUt4UxSV.js.map} +1 -1
  397. package/dist/form-sizing-By94KzXE.js +130 -0
  398. package/dist/form-sizing-By94KzXE.js.map +1 -0
  399. package/dist/{forms-B5NCbkSC.js → forms-Bzha-Y3B.js} +25 -25
  400. package/dist/forms-Bzha-Y3B.js.map +1 -0
  401. package/dist/forms-numeric-C0bvjRPZ.js +906 -0
  402. package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
  403. package/dist/{header-kxruN3RM.js → header-BOefOKd1.js} +38 -41
  404. package/dist/header-BOefOKd1.js.map +1 -0
  405. package/dist/{hooks-BrlnCwQd.js → hooks-9k_TtmKh.js} +2 -2
  406. package/dist/{hooks-BrlnCwQd.js.map → hooks-9k_TtmKh.js.map} +1 -1
  407. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  408. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  409. package/dist/icon-badge-CAuKupo9.js +55 -0
  410. package/dist/icon-badge-CAuKupo9.js.map +1 -0
  411. package/dist/index.js +7 -7
  412. package/dist/input-DWhBBBww.js +262 -0
  413. package/dist/input-DWhBBBww.js.map +1 -0
  414. package/dist/{input-vxcaNCYC.js → input-Ddi_LSYv.js} +3 -3
  415. package/dist/{input-vxcaNCYC.js.map → input-Ddi_LSYv.js.map} +1 -1
  416. package/dist/interaction-recipes-CHr0dJUs.js +24 -0
  417. package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
  418. package/dist/item-DEmDiTlD.js +265 -0
  419. package/dist/item-DEmDiTlD.js.map +1 -0
  420. package/dist/layer-recipes-CCpklYME.js +13 -0
  421. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  422. package/dist/layout/app-shell.js +1 -1
  423. package/dist/layout/auth.js +1 -1
  424. package/dist/layout/containers.js +1 -1
  425. package/dist/layout/header.js +1 -1
  426. package/dist/layout/hooks.js +1 -1
  427. package/dist/layout/navigation.js +1 -1
  428. package/dist/layout/page.js +1 -1
  429. package/dist/layout/settings.js +1 -1
  430. package/dist/layout/sidebar.js +2 -2
  431. package/dist/layout/workspace.js +1 -1
  432. package/dist/layout.js +10 -10
  433. package/dist/lib/affordance-geometry.generated.d.ts +7 -1
  434. package/dist/lib/field-affordance-recipes.d.ts +41 -1
  435. package/dist/lib/field-state-recipes.d.ts +9 -6
  436. package/dist/lib/focus-recipes.d.ts +24 -0
  437. package/dist/lib/format.d.ts +9 -0
  438. package/dist/lib/interaction-recipes.d.ts +35 -0
  439. package/dist/lib/layer-recipes.d.ts +19 -0
  440. package/dist/lib/money-format.d.ts +30 -0
  441. package/dist/lib/motion-recipes.d.ts +1 -0
  442. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -1
  443. package/dist/lib/safe-image-src.d.ts +10 -0
  444. package/dist/lib/sanitize-html.d.ts +15 -3
  445. package/dist/lib/surface-recipes.d.ts +48 -6
  446. package/dist/lib/token-merge.generated.d.ts +17 -14
  447. package/dist/lib/tone-recipes.d.ts +79 -0
  448. package/dist/lib/track-recipes.d.ts +1 -1
  449. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  450. package/dist/lib/ui-provider/index.d.ts +2 -2
  451. package/dist/lib/ui-provider/provider.d.ts +7 -2
  452. package/dist/lib/ui-provider/store.d.ts +6 -2
  453. package/dist/lib/ui-provider/types.d.ts +14 -2
  454. package/dist/lib/utils.js +1 -1
  455. package/dist/media-gallery-DcTtAaeC.js +203 -0
  456. package/dist/media-gallery-DcTtAaeC.js.map +1 -0
  457. package/dist/mentions-D-uyCh01.js +568 -0
  458. package/dist/mentions-D-uyCh01.js.map +1 -0
  459. package/dist/{message-SZUNB1eX.js → message-CdHgIWKf.js} +5 -5
  460. package/dist/{message-SZUNB1eX.js.map → message-CdHgIWKf.js.map} +1 -1
  461. package/dist/metadata-list-X5rYAKSB.js +394 -0
  462. package/dist/metadata-list-X5rYAKSB.js.map +1 -0
  463. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  464. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  465. package/dist/navigation-D3KwXmaq.js +145 -0
  466. package/dist/navigation-D3KwXmaq.js.map +1 -0
  467. package/dist/navigation-HJf5zxlH.js +268 -0
  468. package/dist/navigation-HJf5zxlH.js.map +1 -0
  469. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-BVowojQw.js} +2 -2
  470. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
  471. package/dist/number-DMhe-Vsk.js +352 -0
  472. package/dist/number-DMhe-Vsk.js.map +1 -0
  473. package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
  474. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
  475. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  476. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  477. package/dist/overlays-I0axtYA6.js +999 -0
  478. package/dist/overlays-I0axtYA6.js.map +1 -0
  479. package/dist/{page-hGmT4nWK.js → page-B5dTH9gE.js} +79 -68
  480. package/dist/page-B5dTH9gE.js.map +1 -0
  481. package/dist/page-header-commands-DjzFEq3E.js +126 -0
  482. package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
  483. package/dist/{pagination-NLGqRirf.js → pagination-3bPA_a6K.js} +19 -19
  484. package/dist/{pagination-NLGqRirf.js.map → pagination-3bPA_a6K.js.map} +1 -1
  485. package/dist/{popover-CghIYdQf.js → popover-Di55PyAI.js} +8 -8
  486. package/dist/popover-Di55PyAI.js.map +1 -0
  487. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-B71Tn2Qz.js} +6 -6
  488. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
  489. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-Bdyhj2db.js} +2 -2
  490. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
  491. package/dist/primitives-B-CkiEMU.js +379 -0
  492. package/dist/primitives-B-CkiEMU.js.map +1 -0
  493. package/dist/primitives.js +5 -5
  494. package/dist/{progress-BroqrAyV.js → progress-rnS8-uAW.js} +11 -11
  495. package/dist/progress-rnS8-uAW.js.map +1 -0
  496. package/dist/{receipt-BuJynLgf.js → receipt-D0oswZ0p.js} +6 -6
  497. package/dist/{receipt-BuJynLgf.js.map → receipt-D0oswZ0p.js.map} +1 -1
  498. package/dist/rich-text-DvGulsNJ.js +78 -0
  499. package/dist/rich-text-DvGulsNJ.js.map +1 -0
  500. package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
  501. package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
  502. package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
  503. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
  504. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  505. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  506. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  507. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  508. package/dist/sanitize-html-DsQmI48u.js +92 -0
  509. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  510. package/dist/scroll-area-Bt_vXY2b.js +48 -0
  511. package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
  512. package/dist/{separator-BNIgG3au.js → separator-C8DlRGwF.js} +4 -4
  513. package/dist/separator-C8DlRGwF.js.map +1 -0
  514. package/dist/{separator-BhtFyo4x.js → separator-CYHnjsAb.js} +2 -2
  515. package/dist/{separator-BhtFyo4x.js.map → separator-CYHnjsAb.js.map} +1 -1
  516. package/dist/services/actions/action-adapters.d.ts +22 -0
  517. package/dist/services/actions/index.d.ts +1 -1
  518. package/dist/services/actions.js +23 -6
  519. package/dist/services/actions.js.map +1 -1
  520. package/dist/settings-CQW3b-Cu.js +170 -0
  521. package/dist/settings-CQW3b-Cu.js.map +1 -0
  522. package/dist/sheet-4SEvVYzA.js +210 -0
  523. package/dist/sheet-4SEvVYzA.js.map +1 -0
  524. package/dist/{sidebar-CyR4XKwR.js → sidebar-C7WWR29L.js} +181 -180
  525. package/dist/sidebar-C7WWR29L.js.map +1 -0
  526. package/dist/sidebar-d7Dg80ln.js +511 -0
  527. package/dist/sidebar-d7Dg80ln.js.map +1 -0
  528. package/dist/{skeleton-3F0uhYn3.js → skeleton-Cz890JZF.js} +10 -10
  529. package/dist/skeleton-Cz890JZF.js.map +1 -0
  530. package/dist/smart-card-lFKxn5Hu.js +595 -0
  531. package/dist/smart-card-lFKxn5Hu.js.map +1 -0
  532. package/dist/{spinner-Cpf7oRkF.js → spinner-fa3h1Aif.js} +10 -8
  533. package/dist/spinner-fa3h1Aif.js.map +1 -0
  534. package/dist/{structure-CRdqVawd.js → structure-DC2dygdA.js} +3 -3
  535. package/dist/{structure-CRdqVawd.js.map → structure-DC2dygdA.js.map} +1 -1
  536. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  537. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  538. package/dist/style.css +1 -1
  539. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  540. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  541. package/dist/table-CIKyLUsy.js +163 -0
  542. package/dist/table-CIKyLUsy.js.map +1 -0
  543. package/dist/{table-CcRDZiLP.js → table-CrcLN9Io.js} +544 -530
  544. package/dist/table-CrcLN9Io.js.map +1 -0
  545. package/dist/tabs-DwBJfjxX.js +190 -0
  546. package/dist/tabs-DwBJfjxX.js.map +1 -0
  547. package/dist/{text-inputs-DsR56TR-.js → text-inputs-aaK9wcDT.js} +151 -155
  548. package/dist/text-inputs-aaK9wcDT.js.map +1 -0
  549. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  550. package/dist/text.styles-g4He6UIW.js.map +1 -0
  551. package/dist/theme.css +16 -12
  552. package/dist/themes/green.css +24 -0
  553. package/dist/{timelines-D1pkt3se.js → timelines-C_SBwHNP.js} +154 -164
  554. package/dist/timelines-C_SBwHNP.js.map +1 -0
  555. package/dist/tone-recipes-CPoExcTE.js +70 -0
  556. package/dist/tone-recipes-CPoExcTE.js.map +1 -0
  557. package/dist/tooltip-CsfgrfS7.js +111 -0
  558. package/dist/tooltip-CsfgrfS7.js.map +1 -0
  559. package/dist/track-recipes-CDcKmndW.js +10 -0
  560. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  561. package/dist/{tree-BtmYyMZV.js → tree-BiKhg8AY.js} +72 -70
  562. package/dist/tree-BiKhg8AY.js.map +1 -0
  563. package/dist/typography/rich-text.js +1 -1
  564. package/dist/typography-DTRkE9zL.js +117 -0
  565. package/dist/typography-DTRkE9zL.js.map +1 -0
  566. package/dist/typography.js +2 -2
  567. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-1D_NSYzO.js} +30 -23
  568. package/dist/ui-provider-1D_NSYzO.js.map +1 -0
  569. package/dist/ui-provider.js +3 -3
  570. package/dist/{upload-CDbYw1WN.js → upload-BO8-CLN6.js} +294 -293
  571. package/dist/upload-BO8-CLN6.js.map +1 -0
  572. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-EOC8g1gf.js} +133 -138
  573. package/dist/upload-queue-EOC8g1gf.js.map +1 -0
  574. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  575. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  576. package/dist/{usage-card-VyJLUwRr.js → usage-card-obRaBskq.js} +42 -43
  577. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-obRaBskq.js.map} +1 -1
  578. package/dist/{utils-BvH9PSmq.js → utils-l5LpDw2z.js} +264 -62
  579. package/dist/utils-l5LpDw2z.js.map +1 -0
  580. package/dist/value-inputs-TAYMX111.js +947 -0
  581. package/dist/value-inputs-TAYMX111.js.map +1 -0
  582. package/dist/value-typography-b8wpz1eX.js +116 -0
  583. package/dist/value-typography-b8wpz1eX.js.map +1 -0
  584. package/dist/workspace-DH0v0KcB.js +407 -0
  585. package/dist/workspace-DH0v0KcB.js.map +1 -0
  586. package/docs/consumer-skill/SKILL.md +62 -50
  587. package/docs/consumer-skill/examples/app-layout.tsx +3 -5
  588. package/docs/consumer-skill/examples/composition.tsx +3 -3
  589. package/docs/consumer-skill/examples/detail.tsx +59 -13
  590. package/docs/consumer-skill/examples/edit.tsx +2 -2
  591. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  592. package/docs/consumer-skill/examples/manifest.json +28 -6
  593. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  594. package/docs/consumer-skill/examples/scoped-directory.tsx +3 -3
  595. package/docs/consumer-skill/examples/website.tsx +1 -1
  596. package/docs/consumer-skill/references/agents-md.md +33 -0
  597. package/docs/consumer-skill/references/analytics.md +1 -1
  598. package/docs/consumer-skill/references/composition.md +139 -24
  599. package/docs/consumer-skill/references/design-contract.md +12 -3
  600. package/docs/consumer-skill/references/discovery.md +4 -0
  601. package/docs/consumer-skill/references/installation.md +33 -1
  602. package/docs/consumer-skill/references/integration.md +32 -1
  603. package/docs/consumer-skill/references/public-api.json +1051 -610
  604. package/docs/consumer-skill/references/review.md +44 -8
  605. package/docs/consumer-skill/references/theming.md +14 -4
  606. package/docs/consumer-skill/references/tokens.json +5 -2
  607. package/docs/consumer-skill/references/workflows.md +30 -9
  608. package/docs/consumer-skill/scripts/composition-policy.mjs +127 -6
  609. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  610. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  611. package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
  612. package/package.json +13 -3
  613. package/dist/accordion-BRTcsp8J.js +0 -205
  614. package/dist/accordion-BRTcsp8J.js.map +0 -1
  615. package/dist/action-menu-Drxw_vJk.js +0 -265
  616. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  617. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  618. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  619. package/dist/attachment-DbjUWsP0.js +0 -244
  620. package/dist/attachment-DbjUWsP0.js.map +0 -1
  621. package/dist/auth-CAQcasMV.js.map +0 -1
  622. package/dist/avatar-Bu2HhitA.js.map +0 -1
  623. package/dist/badge-CzId1Wlm.js +0 -92
  624. package/dist/badge-CzId1Wlm.js.map +0 -1
  625. package/dist/breadcrumbs-BuYz5SDU.js +0 -128
  626. package/dist/breadcrumbs-BuYz5SDU.js.map +0 -1
  627. package/dist/button-BZDasD04.js +0 -651
  628. package/dist/button-BZDasD04.js.map +0 -1
  629. package/dist/button-BZyfTvwm.js.map +0 -1
  630. package/dist/buttons-D_6KJvEE.js +0 -99
  631. package/dist/buttons-D_6KJvEE.js.map +0 -1
  632. package/dist/cards-qGSErLw_.js.map +0 -1
  633. package/dist/chart-Bsc5BICK.js.map +0 -1
  634. package/dist/checkbox-BQNDjUCh.js +0 -34
  635. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  636. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  637. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  638. package/dist/code-block-DzHKRybS.js +0 -183
  639. package/dist/code-block-DzHKRybS.js.map +0 -1
  640. package/dist/combobox-BFnbJJp3.js.map +0 -1
  641. package/dist/combobox-hozNwUcc.js +0 -847
  642. package/dist/combobox-hozNwUcc.js.map +0 -1
  643. package/dist/command-BnmSchli.js.map +0 -1
  644. package/dist/comments-u5L0OGip.js.map +0 -1
  645. package/dist/containers-DqB-bSYE.js.map +0 -1
  646. package/dist/data-display-Bihs9Ven.js +0 -1342
  647. package/dist/data-display-Bihs9Ven.js.map +0 -1
  648. package/dist/date-DOKhJPu7.js +0 -140
  649. package/dist/date-DOKhJPu7.js.map +0 -1
  650. package/dist/date-picker-DzP5HQq7.js +0 -1541
  651. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  652. package/dist/date-pickers-BpgGz7S-.js +0 -196
  653. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  654. package/dist/display-CS6Hbk18.js.map +0 -1
  655. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  656. package/dist/feedback-CJkUAapr.js +0 -233
  657. package/dist/feedback-CJkUAapr.js.map +0 -1
  658. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  659. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  660. package/dist/field-state-recipes-DQQpiLWC.js +0 -11
  661. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  662. package/dist/filters-D6FF8L6s.js.map +0 -1
  663. package/dist/form-sizing-QP8aIRaW.js +0 -103
  664. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  665. package/dist/format-iamDSqs2.js +0 -110
  666. package/dist/format-iamDSqs2.js.map +0 -1
  667. package/dist/forms-B5NCbkSC.js.map +0 -1
  668. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  669. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  670. package/dist/header-kxruN3RM.js.map +0 -1
  671. package/dist/icon-badge-Btc6pQrp.js +0 -53
  672. package/dist/icon-badge-Btc6pQrp.js.map +0 -1
  673. package/dist/input-SX9V0AL3.js +0 -255
  674. package/dist/input-SX9V0AL3.js.map +0 -1
  675. package/dist/item-DE4YnuJx.js +0 -258
  676. package/dist/item-DE4YnuJx.js.map +0 -1
  677. package/dist/media-gallery-DLp3HAz0.js +0 -201
  678. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  679. package/dist/mentions-Cl0Kt_Pd.js +0 -565
  680. package/dist/mentions-Cl0Kt_Pd.js.map +0 -1
  681. package/dist/navigation-DnQSNMT0.js +0 -276
  682. package/dist/navigation-DnQSNMT0.js.map +0 -1
  683. package/dist/navigation-DyytsLRB.js +0 -265
  684. package/dist/navigation-DyytsLRB.js.map +0 -1
  685. package/dist/number-DasMFWEG.js +0 -269
  686. package/dist/number-DasMFWEG.js.map +0 -1
  687. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  688. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  689. package/dist/overlays-DUbs1KEi.js +0 -1011
  690. package/dist/overlays-DUbs1KEi.js.map +0 -1
  691. package/dist/page-hGmT4nWK.js.map +0 -1
  692. package/dist/page-header-D8nERkn5.js +0 -112
  693. package/dist/page-header-D8nERkn5.js.map +0 -1
  694. package/dist/popover-CghIYdQf.js.map +0 -1
  695. package/dist/primitives-C7ff0QaI.js +0 -337
  696. package/dist/primitives-C7ff0QaI.js.map +0 -1
  697. package/dist/progress-BroqrAyV.js.map +0 -1
  698. package/dist/rich-text-DlxDOtf4.js +0 -32
  699. package/dist/rich-text-DlxDOtf4.js.map +0 -1
  700. package/dist/rich-text-editor-BKyG7rWz.js +0 -574
  701. package/dist/rich-text-editor-BKyG7rWz.js.map +0 -1
  702. package/dist/rich-text-editor.recipes-B72Nfuze.js +0 -81
  703. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +0 -1
  704. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  705. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  706. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  707. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  708. package/dist/scroll-area-D-pIhEKl.js +0 -47
  709. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  710. package/dist/separator-BNIgG3au.js.map +0 -1
  711. package/dist/settings-DOTOzeZ2.js +0 -161
  712. package/dist/settings-DOTOzeZ2.js.map +0 -1
  713. package/dist/sheet-BFhrNehm.js +0 -205
  714. package/dist/sheet-BFhrNehm.js.map +0 -1
  715. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  716. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  717. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  718. package/dist/skeleton-3F0uhYn3.js.map +0 -1
  719. package/dist/smart-card-DjGVV2xr.js +0 -584
  720. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  721. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  722. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  723. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  724. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  725. package/dist/table-CLtJTxoR.js +0 -147
  726. package/dist/table-CLtJTxoR.js.map +0 -1
  727. package/dist/table-CcRDZiLP.js.map +0 -1
  728. package/dist/tabs-BNgu7g0u.js +0 -188
  729. package/dist/tabs-BNgu7g0u.js.map +0 -1
  730. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  731. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  732. package/dist/timelines-D1pkt3se.js.map +0 -1
  733. package/dist/track-recipes-LLPNVwFg.js +0 -10
  734. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  735. package/dist/tree-BtmYyMZV.js.map +0 -1
  736. package/dist/typography-BxQgiZyw.js +0 -96
  737. package/dist/typography-BxQgiZyw.js.map +0 -1
  738. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  739. package/dist/upload-CDbYw1WN.js.map +0 -1
  740. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  741. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  742. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  743. package/dist/utils-BvH9PSmq.js.map +0 -1
  744. package/dist/value-inputs-D0KCrfVC.js +0 -840
  745. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  746. package/dist/workspace-CcR8r-Nt.js +0 -395
  747. package/dist/workspace-CcR8r-Nt.js.map +0 -1
  748. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-display-DafIvCl5.js","names":["_Fragment","_Fragment","useDensityConfig","cn","DisplayLabel","Heading","Text","Grid","Stack","EmptyContent","EmptyHeader","Empty","EmptyMedia","Value","MonoValue","Badge","Separator","ContentBlock","ItemMedia","ItemActions","ItemGroup","ItemContent","Item","ItemTitle","Fragment$1","ScaleBar","max","i","value","label","KVRow","badge","badgeTone","DenseInfoDashboard","statusBadges","b","className","rows","row","scale","secondaryRows","footerBadges","footerText","InlineStat","ValuePrimitive","mono","labelContent","jsx","labelClassName","layout","valueClassName","defaultDenseInfoStrings","DenseInfoClassification","stringsProp","strings","useStrings","stats","stat","items","item","totalValue","totalLabel","DenseInfoFinancial","headerBadges","lineItems","totalAmount","DenseInfoProjectCard","percentage","totalTasks","completedTasks","circumference","dashOffset","title","statusTone","statusLabel","description","metaPairs","idx","pair","date","priority","DenseInfoScoreCard","barColor","scoreLevel","score","scoreTotal","scoreFilled","defaultEmptyStateStrings","PADDING_CLASS","MEDIA_VARIANT_TO_PRIMITIVE","MEDIA_EXTRA_CLASS","EmptyState","forwardRef","resolvedPadding","padding","defaultScale","resolvedTitle","resolvedDescription","mediaNode","renderMedia","media","showMedia","ariaLabel","border","mediaVariant","actions","footer","DocumentStackIllustration","InboxCleanIllustration","trayClip","useId","SearchGlassIllustration","Search","StackedCardsIllustration","fadeId","UsersCircleIllustration","renderTitleBadge","RelationshipCardFrame","props","hasBody","alertSlot","metadataSlot","primaryActionSlot","selectorSlot","detailsSlot","headerClassName","icon","titleBadge","overflowActionSlot","bodyClassName"],"sources":["../src/components/blocks/data-display/dense-info-card/helpers.tsx","../src/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.tsx","../src/components/blocks/data-display/inline-stat/inline-stat.tsx","../src/components/blocks/data-display/dense-info-card/dense-info.strings.ts","../src/components/blocks/data-display/dense-info-card/partials/dense-info-classification.tsx","../src/components/blocks/data-display/dense-info-card/partials/dense-info-financial.tsx","../src/components/blocks/data-display/dense-info-card/partials/dense-info-project.tsx","../src/components/blocks/data-display/dense-info-card/partials/dense-info-score.tsx","../src/components/blocks/data-display/empty-state/empty-state.strings.ts","../src/components/blocks/data-display/empty-state/empty-state.tsx","../src/components/blocks/data-display/empty-state/partials/illustrations/document-stack.tsx","../src/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.tsx","../src/components/blocks/data-display/empty-state/partials/illustrations/search-glass.tsx","../src/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.tsx","../src/components/blocks/data-display/empty-state/partials/illustrations/users-circle.tsx","../src/components/blocks/data-display/relationship-card-frame.tsx"],"sourcesContent":["import { Badge } from '../../../base/badge';\nimport { Text } from '../../../typography/text';\nimport { Stack } from '../../../base/structure';\nimport { cn } from '../../../../lib/utils';\nimport { type DenseInfoBadgeTone } from './types';\n\n/* ─── Shared: Complexity / Scale Bar ─────────────────────────────────────── */\n\nexport function ScaleBar({\n\tvalue,\n\tmax = 5,\n\tlabel,\n}: {\n\t/** Current amount, used to fill the bar. */\n\tvalue: number;\n\t/** Value representing a full bar. Default: `5`. */\n\tmax?: number;\n\t/** Caption shown beside the bar. */\n\tlabel?: string;\n}) {\n\treturn (\n\t\t<div className={cn('helpers--component', 'flex items-center gap-space-md')}>\n\t\t\t<div className=\"flex items-center gap-space-xs\">\n\t\t\t{Array.from({ length: max }, (_, i) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={i}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'h-1.5 w-3 rounded-full',\n\t\t\t\t\t\ti < value ? 'bg-muted-foreground' : 'bg-muted',\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t</div>\n\t\t\t{!!label && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\n/* ─── Shared: Key-Value Row ──────────────────────────────────────────────── */\n\nexport function KVRow({\n\tlabel,\n\tvalue,\n\tbadge,\n\tbadgeTone,\n}: {\n\t/** Row label. */\n\tlabel: string;\n\t/** Row value. */\n\tvalue?: string;\n\t/** Chip shown after the value. */\n\tbadge?: string;\n\t/** Badge tone for the chip. */\n\tbadgeTone?: DenseInfoBadgeTone;\n}) {\n\treturn (\n\t\t<Stack direction=\"horizontal\" align=\"center\" justify=\"between\" gap=\"md\">\n\t\t\t<Text\n\t\t\t\tsize=\"xs\"\n\t\t\t\tclassName=\"shrink-0 text-muted-foreground\"\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t{!!badge && (\n\t\t\t\t<Badge\n\t\t\t\t\ttone={badgeTone ?? 'secondary'}\n\t\t\t\t>\n\t\t\t\t\t{badge}\n\t\t\t\t</Badge>\n\t\t\t)}\n\t\t\t{!!value && !badge && (\n\t\t\t\t<Text\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tclassName=\"text-right tabular-nums\"\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Stack>\n\t);\n}\n","import { ContentBlock } from '../../../../base/display';\nimport { Badge } from '../../../../base/badge';\nimport { Text } from '../../../../typography/text';\nimport { Stack } from '../../../../base/structure';\nimport { type DenseInfoDashboardProps } from '../types';\nimport { KVRow, ScaleBar } from '../helpers';\nimport { cn } from '../../../../../lib/utils';\n\nexport function DenseInfoDashboard({\n\ttitle,\n\tdescription,\n\tstatusBadges,\n\trows,\n\tsecondaryRows,\n\tscale,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n}: DenseInfoDashboardProps) {\n\treturn (\n\t\t<ContentBlock\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\ttitleSuffix={statusBadges.length > 0 ? (\n\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"sm\">\n\t\t\t\t\t{statusBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</Stack>\n\t\t\t) : undefined}\n\t\t\tactions={actions}\n\t\t\tclassName={cn('dense-info-dashboard--component', className)}\n\t\t>\n\t\t\t{/* Status badges sit with the title; groups below are separated by the\n\t\t\t section gap alone, so no rules divide the card. */}\n\t\t\t<Stack gap=\"2xl\">\n\t\t\t\t<Stack gap=\"md\">\n\t\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t\t<KVRow\n\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\t{...row}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\n\t\t\t\t\t{!!scale && (\n\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{scale.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<ScaleBar\n\t\t\t\t\t\t\t\tvalue={scale.value}\n\t\t\t\t\t\t\t\tmax={scale.max}\n\t\t\t\t\t\t\t\tlabel={`${String(scale.value)}/${String(scale.max ?? 5)}`}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\n\t\t\t\t{!!secondaryRows && secondaryRows.length > 0 && (\n\t\t\t\t\t<Stack gap=\"md\">\n\t\t\t\t\t\t{secondaryRows.map((row) => (\n\t\t\t\t\t\t\t<KVRow\n\t\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\t\t{...row}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"md\">\n\t\t\t\t\t\t{!!footerBadges &&\n\t\t\t\t\t\t\tfooterBadges.map((b) => (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{b.label}\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{!!footerText && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</ContentBlock>\n\t);\n}\n\nDenseInfoDashboard.displayName = 'DenseInfoDashboard';\n","/**\n * InlineStat — label + value pair, the workhorse of detail panels and card\n * footers. Three layouts:\n *\n * - `between` (default): label and value pushed to opposite ends of the row.\n * - `inline`: label sits immediately before the value, separator-style.\n * - `stacked`: label above (xs secondary), value below (md).\n *\n * `mono` switches the value to the monospace identifier role (references,\n * codes, keys). Amounts, counts, percentages and dates stay in the sans UI\n * font: pass `valueClassName=\"tabular-nums\"` (or a value primitive such as\n * `Money` / `Percent`, which are already tabular) when figures should align.\n * Use `valueClassName` for one-off colour/weight overrides; the surrounding\n * row is intentionally plain so consumers can stack many of these without\n * visual clutter.\n */\nimport type { ReactNode } from 'react';\n\nimport { Stack } from '../../../base/structure';\nimport { MonoValue, Value } from '../../../primitives';\nimport { DisplayLabel } from '../../../typography';\nimport { cn } from '../../../../lib/utils';\n\nexport type InlineStatLayout = 'between' | 'inline' | 'stacked';\n\nexport interface InlineStatProps {\n\t/** Display label. Scalar labels use DisplayLabel; rich content owns its typography. */\n\tlabel: ReactNode;\n\t/** The figure to show. */\n\tvalue: ReactNode;\n\t/** Whether the label sits above the value or beside it. */\n\tlayout?: InlineStatLayout;\n\t/** Renders the value in tabular monospace figures. */\n\tmono?: boolean;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n\t/** Merged onto the label. */\n\tlabelClassName?: string;\n\t/** Merged onto the value. */\n\tvalueClassName?: string;\n}\n\nexport function InlineStat({\n\tlabel,\n\tvalue,\n\tlayout = 'between',\n\tmono = false,\n\tclassName,\n\tlabelClassName,\n\tvalueClassName,\n}: InlineStatProps) {\n\tconst ValuePrimitive = mono ? MonoValue : Value;\n\tconst labelContent = typeof label === 'string' || typeof label === 'number'\n\t\t? <DisplayLabel className={labelClassName}>{label}</DisplayLabel>\n\t\t: <span className={labelClassName}>{label}</span>;\n\n\tif (layout === 'stacked') {\n\t\treturn (\n\t\t\t<Stack gap=\"2xs\" className={cn('inline-stat--component', className)}>\n\t\t\t\t{labelContent}\n\t\t\t\t<ValuePrimitive\n\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\tclassName={cn('text-sm leading-snug', mono && 'tabular-nums', valueClassName)}\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</ValuePrimitive>\n\t\t\t</Stack>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"horizontal\"\n\t\t\tgap=\"md\"\n\t\t\tjustify={layout === 'between' ? 'between' : 'start'}\n\t\t\twrap={false}\n\t\t\tclassName={cn('inline-stat--component', className)}\n\t\t>\n\t\t\t{labelContent}\n\t\t\t<ValuePrimitive\n\t\t\t\tsize=\"inherit\"\n\t\t\t\tclassName={cn('text-sm leading-snug', mono && 'tabular-nums', valueClassName)}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</ValuePrimitive>\n\t\t</Stack>\n\t);\n}\n\nInlineStat.displayName = 'InlineStat';\n","export interface DenseInfoStrings {\n\t/** Total number of records across all pages. */\n\ttotal: string;\n\t/** Word after the task count (\"12/20 tasks\"). */\n\ttasks: string;\n\t/** Word after the priority value (\"High priority\"). Additive, so optional for existing dictionaries. */\n\tpriority?: string;\n}\n\nexport const defaultDenseInfoStrings: Required<DenseInfoStrings> = {\n\ttotal: 'Total',\n\ttasks: 'tasks',\n\tpriority: 'priority',\n};\n","import { ContentBlock } from '../../../../base/display';\nimport { Badge } from '../../../../base/badge';\nimport { Grid, Stack } from '../../../../base/structure';\nimport { Value } from '../../../../primitives';\nimport { Text } from '../../../../typography/text';\nimport { Heading } from '../../../../typography/heading';\nimport { InlineStat } from '../../inline-stat/inline-stat';\nimport { Separator } from '../../../../base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '../../../../base/item';\nimport { cn } from '../../../../../lib/utils';\nimport { useStrings } from '../../../../../lib/strings';\nimport { defaultDenseInfoStrings } from '../dense-info.strings';\nimport { type DenseInfoClassificationProps } from '../types';\n\nexport function DenseInfoClassification({\n\ttitle,\n\tdescription,\n\tstats,\n\titems,\n\ttotalLabel,\n\ttotalValue,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n\tstrings: stringsProp,\n}: DenseInfoClassificationProps) {\n\tconst strings = useStrings(defaultDenseInfoStrings, stringsProp);\n\treturn (\n\t\t<ContentBlock\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\tactions={actions}\n\t\t\tclassName={cn('dense-info-classification--component', className)}\n\t\t>\n\t\t\t<Stack gap=\"2xl\">\n\t\t\t\t{/* Plain figures, no tile per stat: the grid gap separates them and the\n\t\t\t\t larger section gap separates the stats from the breakdown. */}\n\t\t\t\t<Grid columns={{ base: 2, sm: 3 }} gap=\"xl\">\n\t\t\t\t\t{stats.map((stat) => (\n\t\t\t\t\t\t<Stack gap=\"dense\" key={stat.label} className=\"min-w-0 items-start\">\n\t\t\t\t\t\t\t<Heading tag=\"h4\" className=\"border-none pb-0 text-base font-semibold tabular-nums\">\n\t\t\t\t\t\t\t\t{stat.value}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\">\n\t\t\t\t\t\t\t\t{stat.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!stat.trendBadge && (\n\t\t\t\t\t\t\t\t<Badge tone={stat.trendTone ?? 'secondary'} className=\"self-start\">\n\t\t\t\t\t\t\t\t\t{stat.trendBadge}\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))}\n\t\t\t\t</Grid>\n\n\t\t\t\t<Stack gap=\"md\">\n\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t<Item key={item.label} size=\"sm\" role=\"listitem\">\n\t\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t\t<span className={cn('h-2 w-2 shrink-0 rounded-full', item.dotColor)} />\n\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t<ItemTitle bold={false} className=\"gap-space-md\">\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge tone={item.badgeTone ?? 'secondary'}>\n\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</ItemTitle>\n\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t\t\t<Value weight=\"semibold\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.value}\n\t\t\t\t\t\t\t\t\t</Value>\n\t\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ItemGroup>\n\n\t\t\t\t\t{/* One rule above the grand total; the Stack gap sits on both sides of it. */}\n\t\t\t\t\t{!!totalValue && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\t\tlabel={<Text tag=\"span\" weight=\"bold\" lineHeight=\"tight\">{totalLabel ?? strings.total}</Text>}\n\t\t\t\t\t\t\t\tvalue={totalValue}\n\t\t\t\t\t\t\t\tvalueClassName=\"text-sm font-bold tabular-nums\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"md\">\n\t\t\t\t\t\t{!!footerBadges && footerBadges.map((b) => (\n\t\t\t\t\t\t\t<Badge key={b.label} tone={b.tone}>\n\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!!footerText && (\n\t\t\t\t\t\t\t<Text size=\"xs\" className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</ContentBlock>\n\t);\n}\n\nDenseInfoClassification.displayName = 'DenseInfoClassification';\n","import { ContentBlock } from '../../../../base/display';\nimport { Stack } from '../../../../base/structure';\nimport { Badge } from '../../../../base/badge';\nimport { Value } from '../../../../primitives';\nimport { Text } from '../../../../typography/text';\nimport { InlineStat } from '../../inline-stat/inline-stat';\nimport { Separator } from '../../../../base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemTitle,\n} from '../../../../base/item';\nimport { type DenseInfoFinancialProps } from '../types';\nimport { cn } from '../../../../../lib/utils';\nimport { useStrings } from '../../../../../lib/strings';\nimport { defaultDenseInfoStrings } from '../dense-info.strings';\n\nexport function DenseInfoFinancial({\n\ttitle,\n\tdescription,\n\theaderBadges,\n\tlineItems,\n\ttotalLabel,\n\ttotalAmount,\n\tfooterBadges,\n\tfooterText,\n\tactions,\n\tclassName,\n\tstrings: stringsProp,\n}: DenseInfoFinancialProps) {\n\tconst strings = useStrings(defaultDenseInfoStrings, stringsProp);\n\treturn (\n\t\t<ContentBlock\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\ttitleSuffix={headerBadges.length > 0 ? (\n\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"sm\">\n\t\t\t\t\t{headerBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</Stack>\n\t\t\t) : undefined}\n\t\t\tactions={actions}\n\t\t\tclassName={cn('dense-info-financial--component', className)}\n\t\t>\n\t\t\t<Stack gap=\"2xl\">\n\t\t\t\t{/* Line items touch (their density padding is the row rhythm); a single\n\t\t\t\t rule sits above the grand total with the Stack gap on both sides. */}\n\t\t\t\t<Stack gap=\"md\">\n\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t{lineItems.map((item) => (\n\t\t\t\t\t\t\t<Item key={item.label} size=\"sm\" role=\"listitem\">\n\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t<ItemTitle className=\"gap-space-md\">\n\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge tone={item.badgeTone ?? 'secondary'}>\n\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</ItemTitle>\n\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t\t\t<Value weight=\"semibold\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t{item.amount}\n\t\t\t\t\t\t\t\t\t</Value>\n\t\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ItemGroup>\n\n\t\t\t\t\t{!!totalAmount && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\t\tlabel={<Text tag=\"span\" weight=\"semibold\" lineHeight=\"tight\">{totalLabel ?? strings.total}</Text>}\n\t\t\t\t\t\t\t\tvalue={totalAmount}\n\t\t\t\t\t\t\t\tvalueClassName=\"text-sm font-semibold tabular-nums\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\n\t\t\t\t{(!!footerBadges || !!footerText) && (\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"md\">\n\t\t\t\t\t\t{!!footerBadges &&\n\t\t\t\t\t\t\tfooterBadges.map((b) => (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{b.label}\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{!!footerText && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{footerText}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</ContentBlock>\n\t);\n}\n\nDenseInfoFinancial.displayName = 'DenseInfoFinancial';\n","import { ContentBlock } from '../../../../base/display';\nimport { Badge } from '../../../../base/badge';\nimport { Text } from '../../../../typography/text';\nimport { Heading } from '../../../../typography/heading';\nimport { Stack } from '../../../../base/structure';\nimport { type DenseInfoProjectCardProps } from '../types';\nimport { cn } from '../../../../../lib/utils';\nimport { useStrings } from '../../../../../lib/strings';\nimport { defaultDenseInfoStrings } from '../dense-info.strings';\n\nexport function DenseInfoProjectCard({\n\ttitle,\n\tdescription,\n\tstatusLabel,\n\tstatusTone,\n\tmetaPairs,\n\tdate,\n\tpriority,\n\tcompletedTasks,\n\ttotalTasks,\n\tactions,\n\tclassName,\n\tstrings: stringsProp,\n}: DenseInfoProjectCardProps) {\n\tconst strings = useStrings(defaultDenseInfoStrings, stringsProp);\n\tconst percentage = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;\n\tconst circumference = 2 * Math.PI * 7;\n\tconst dashOffset = circumference - (percentage / 100) * circumference;\n\n\treturn (\n\t\t<ContentBlock\n\t\t\tpadding=\"md\"\n\t\t\tactions={actions}\n\t\t\tclassName={cn('dense-info-project-card--component', className)}\n\t\t>\n\t\t\t<Stack gap=\"lg\">\n\t\t\t\t{/* The status reads with the title (no decorative folder glyph, no\n\t\t\t\t badge floating where actions go); date and priority are plain\n\t\t\t\t secondary text, and the task count needs no rule above it. */}\n\t\t\t\t<Stack gap=\"normal\">\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"sm\">\n\t\t\t\t\t\t<Heading tag=\"h5\" className=\"font-bold border-none pb-0\">\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t<Badge tone={statusTone} dot>\n\t\t\t\t\t\t\t{statusLabel}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</Stack>\n\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"line-clamp-2\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\n\t\t\t\t{!!metaPairs && metaPairs.length > 0 && (\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"sm\">\n\t\t\t\t\t\t{metaPairs.map((pair, idx) => (\n\t\t\t\t\t\t\t<span key={pair.label} className=\"flex items-center gap-space-xs\">\n\t\t\t\t\t\t\t\t{idx > 0 && (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" type=\"discrete\">&bull;</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!!pair.icon && (\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{pair.icon}</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{pair.label}</Text>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\n\t\t\t\t{(!!date || !!priority) && (\n\t\t\t\t\t<Stack direction=\"horizontal\" align=\"center\" justify=\"between\" gap=\"md\">\n\t\t\t\t\t\t{!!date && <Text size=\"xs\" type=\"secondary\">{date}</Text>}\n\t\t\t\t\t\t{!!priority && <Text size=\"xs\" type=\"secondary\">{priority} {strings.priority}</Text>}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex items-center gap-space-md\">\n\t\t\t\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" className=\"shrink-0\" aria-hidden=\"true\">\n\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\tcx=\"10\"\n\t\t\t\t\t\t\tcy=\"10\"\n\t\t\t\t\t\t\tr=\"7\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\tclassName=\"stroke-border\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\tcx=\"10\"\n\t\t\t\t\t\t\tcy=\"10\"\n\t\t\t\t\t\t\tr=\"7\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\tstrokeDasharray={circumference}\n\t\t\t\t\t\t\tstrokeDashoffset={dashOffset}\n\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\tclassName=\"text-primary-accent\"\n\t\t\t\t\t\t\ttransform=\"rotate(-90 10 10)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t<Text size=\"xs\" weight=\"medium\">\n\t\t\t\t\t\t{completedTasks}/{totalTasks} {strings.tasks}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t</Stack>\n\t\t</ContentBlock>\n\t);\n}\n\nDenseInfoProjectCard.displayName = 'DenseInfoProjectCard';\n","import { ContentBlock } from '../../../../base/display';\nimport { Badge } from '../../../../base/badge';\nimport { Heading, Text } from '../../../../typography';\nimport { InlineStat } from '../../inline-stat/inline-stat';\nimport { Stack } from '../../../../base/structure';\nimport { cn } from '../../../../../lib/utils';\nimport { type DenseInfoScoreCardProps } from '../types';\n\nexport function DenseInfoScoreCard({\n\ttitle,\n\tdescription,\n\tstatusBadges,\n\tscore,\n\tscoreLevel,\n\tscoreFilled,\n\tscoreTotal = 10,\n\trows,\n\tfooterBadges,\n\tactions,\n\tclassName,\n}: DenseInfoScoreCardProps) {\n\tconst barColor =\n\t\tscoreLevel === 'good'\n\t\t\t? 'bg-success'\n\t\t\t: scoreLevel === 'medium'\n\t\t\t\t? 'bg-warning'\n\t\t\t\t: 'bg-destructive';\n\n\treturn (\n\t\t<ContentBlock\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\ttitleSuffix={statusBadges.length > 0 ? (\n\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"sm\">\n\t\t\t\t\t{statusBadges.map((b) => (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t))}\n\t\t\t\t</Stack>\n\t\t\t) : undefined}\n\t\t\tactions={actions}\n\t\t\tclassName={cn('dense-info-score-card--component', className)}\n\t\t>\n\t\t\t{/* The score, its factors and the footer are separated by the section gap\n\t\t\t alone; the segmented bar keeps its status colour. */}\n\t\t\t<Stack gap=\"2xl\">\n\t\t\t\t<Stack gap=\"md\" align=\"center\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttag=\"h2\"\n\t\t\t\t\t\tclassName=\"text-base font-bold tabular-nums border-none pb-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{String(score)}\n\t\t\t\t\t</Heading>\n\n\t\t\t\t\t<Stack direction=\"horizontal\" align=\"center\" justify=\"center\" gap=\"xs\">\n\t\t\t\t\t\t{Array.from({ length: scoreTotal }, (_, i) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'h-5 w-2 rounded-radius-sm',\n\t\t\t\t\t\t\t\t\ti < scoreFilled ? barColor : 'bg-muted',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t</Stack>\n\n\t\t\t\t<Stack gap=\"md\">\n\t\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tkey={row.label}\n\t\t\t\t\t\t\tlabel={<Text tag=\"span\" size=\"xs\" type=\"secondary\" weight=\"medium\" lineHeight=\"tight\">{row.label}</Text>}\n\t\t\t\t\t\t\tvalue={row.value}\n\t\t\t\t\t\t\tvalueClassName=\"text-sm font-semibold text-right tabular-nums\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</Stack>\n\n\t\t\t\t{!!footerBadges && footerBadges.length > 0 && (\n\t\t\t\t\t<Stack direction=\"horizontal\" wrap align=\"center\" gap=\"md\">\n\t\t\t\t\t\t{footerBadges.map((b) => (\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tkey={b.label}\n\t\t\t\t\t\t\t\ttone={b.tone}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{b.label}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</ContentBlock>\n\t);\n}\n\nDenseInfoScoreCard.displayName = 'DenseInfoScoreCard';\n","/**\n * Strings for `<EmptyState>`. English defaults — every piece of copy is\n * deep-merge-overridable per rule 8.\n *\n * `title`/`description` here are the *fallback* defaults the component\n * renders when neither the prop nor a per-illustration preset supplies\n * its own copy. In practice, the consumer usually passes an explicit\n * `title` / `description` per resource (\"No products\", \"No invoices yet\")\n * — these defaults exist so a bare `<EmptyState />` still renders\n * sensibly during scaffolding.\n */\nexport interface EmptyStateStrings {\n\t/** Surface title. */\n\ttitle: string;\n\t/** Supporting copy shown under the label. */\n\tdescription: string;\n\tariaLabel: string;\n}\n\nexport const defaultEmptyStateStrings: EmptyStateStrings = {\n\ttitle: 'Nothing here yet',\n\tdescription: 'Once data lands, it will show up in this view.',\n\tariaLabel: 'Empty state',\n};\n","/**\n * EmptyState — the canonical zero-data surface for any list, table, or\n * collection in the library. Wraps the shadcn `ui/empty` primitive\n * (rule 1, rule 12) and applies our typography, density, and tokens:\n *\n * - Headline through `<Heading tag=\"h3\">` (admin scale, no marketing inflation)\n * - Description through provider-sized secondary Typography so a whole-state\n * explanation remains readable; compact footer metadata stays `xs`\n * - Padding driven by the package scale and CSS variables, not arbitrary literals\n * - Optional dashed-border affordance for \"this slot is a drop zone\"\n *\n * Composability:\n * - Slots: `media`, `actions`, `footer`\n * - Render-prop: `renderMedia(ctx)` for fully custom illustrations\n * - Strings: every piece of copy is overridable via `strings`\n *\n * The library ships a small illustration set under\n * `./partials/illustrations/*` — import explicitly per resource:\n *\n * import { StackedCardsIllustration } from\n * './partials/illustrations';\n *\n * Adaptive shape per resource: pass a different `media` per surface.\n * Don't fork the component.\n */\nimport { forwardRef } from 'react';\n\nimport { Heading, Text } from '../../../typography';\nimport {\n\tEmpty,\n\tEmptyContent,\n\tEmptyHeader,\n\tEmptyMedia,\n} from '../../../base/feedback';\nimport { Stack } from '../../../base/structure';\nimport { useStrings } from '../../../../lib/strings';\nimport { useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\n\nimport { defaultEmptyStateStrings } from './empty-state.strings';\nimport type {\n\tEmptyStateMediaVariant,\n\tEmptyStatePadding,\n\tEmptyStateProps,\n} from './empty-state.types';\n\nconst PADDING_CLASS: Record<EmptyStatePadding, string> = {\n\tsm: '!p-surface-xs',\n\tmd: '!p-surface',\n\tlg: '!p-surface-lg',\n};\n\nconst MEDIA_VARIANT_TO_PRIMITIVE: Record<EmptyStateMediaVariant, 'default' | 'icon'> = {\n\tnone: 'default',\n\ticon: 'icon',\n\t'icon-soft': 'icon',\n\tillustration: 'default',\n};\n\nconst MEDIA_EXTRA_CLASS: Record<EmptyStateMediaVariant, string | undefined> = {\n\tnone: undefined,\n\ticon: undefined,\n\t'icon-soft': 'bg-muted/50 text-muted-foreground',\n\tillustration: 'mb-space-xl',\n};\n\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState({\n\ttitle,\n\tdescription,\n\tmedia,\n\tmediaVariant = 'none',\n\trenderMedia,\n\tactions,\n\tfooter,\n\tpadding,\n\tborder = false,\n\tclassName,\n\tstrings: stringsProp,\n\tariaLabel,\n}, ref) {\n\tconst strings = useStrings(defaultEmptyStateStrings, stringsProp);\n\tconst { defaultScale } = useDensityConfig();\n\tconst resolvedPadding = padding ?? defaultScale ?? 'md';\n\n\tconst resolvedTitle = title ?? strings.title;\n\tconst resolvedDescription =\n\t\tdescription === false ? null : description ?? strings.description;\n\tconst mediaNode = renderMedia ? renderMedia({ mediaVariant }) : media;\n\tconst showMedia = !!mediaNode;\n\n\treturn (\n\t\t<Empty\n\t\t\tref={ref}\n\t\t\trole=\"status\"\n\t\t\taria-label={ariaLabel ?? strings.ariaLabel}\n\t\t\tclassName={cn('empty-state--component', \n\t\t\t\tPADDING_CLASS[resolvedPadding],\n\t\t\t\tborder ? 'border-border border border-dashed' : 'border-border border-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<EmptyHeader className=\"empty-state--header\">\n\t\t\t\t{!!showMedia && (\n\t\t\t\t\t<EmptyMedia\n\t\t\t\t\t\tvariant={MEDIA_VARIANT_TO_PRIMITIVE[mediaVariant]}\n\t\t\t\t\t\tclassName={cn('empty-state--media', MEDIA_EXTRA_CLASS[mediaVariant])}\n\t\t\t\t\t>\n\t\t\t\t\t\t{mediaNode}\n\t\t\t\t\t</EmptyMedia>\n\t\t\t\t)}\n\t\t\t\t<Heading\n\t\t\t\t\ttag=\"h3\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tclassName=\"empty-state--title border-0 pb-0\"\n\t\t\t\t\tdata-slot=\"empty-title\"\n\t\t\t\t>\n\t\t\t\t\t{resolvedTitle}\n\t\t\t\t</Heading>\n\t\t\t\t{!!resolvedDescription && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"empty-state--description leading-relaxed [&>a]:text-primary-accent [&>a]:underline [&>a]:underline-offset-4 hover:[&>a]:no-underline\"\n\t\t\t\t\t\tdata-slot=\"empty-description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{resolvedDescription}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</EmptyHeader>\n\t\t\t{(!!actions || !!footer) && (\n\t\t\t\t<EmptyContent className=\"empty-state--content\">\n\t\t\t\t\t{!!actions && (\n\t\t\t\t\t\t<Stack direction=\"horizontal\" gap=\"md\" justify=\"center\" className=\"empty-state--actions\">\n\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!footer && (\n\t\t\t\t\t\t<Text tag=\"div\" size=\"xs\" type=\"secondary\" align=\"center\" className=\"empty-state--footer\">\n\t\t\t\t\t\t\t{footer}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</EmptyContent>\n\t\t\t)}\n\t\t</Empty>\n\t);\n});\n\nEmptyState.displayName = 'EmptyState';\n","import { cn } from '../../../../../../lib/utils';\nimport type { EmptyStateIllustrationProps } from './types';\n\n/** Two staggered document silhouettes; all coordinates belong to the drawing. */\nexport function DocumentStackIllustration({ className }: EmptyStateIllustrationProps) {\n\treturn (\n\t\t<div className={cn('document-stack-illustration--component relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<svg viewBox=\"0 0 128 96\" className=\"h-full w-full overflow-visible\" focusable=\"false\">\n\t\t\t\t<g transform=\"rotate(-6 44 44)\">\n\t\t\t\t\t<rect x={4.5} y={4.5} width={79} height={79} style={{ rx: 'var(--radius-md)' }} className=\"fill-muted/70 dark:fill-muted/40 stroke-border/50 drop-shadow-xs\" />\n\t\t\t\t\t<rect x={13} y={13} width={48} height={8} rx={4} className=\"fill-muted\" />\n\t\t\t\t\t<rect x={13} y={27} width={40} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t\t<rect x={13} y={39} width={36} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t</g>\n\t\t\t\t<g transform=\"rotate(3 84 48)\">\n\t\t\t\t\t<rect x={44.5} y={8.5} width={79} height={79} style={{ rx: 'var(--radius-md)' }} className=\"fill-background stroke-border drop-shadow-xs\" />\n\t\t\t\t\t<rect x={53} y={17} width={48} height={8} rx={4} className=\"fill-muted\" />\n\t\t\t\t\t<rect x={53} y={31} width={40} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t\t<rect x={53} y={43} width={36} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t\t<circle cx={56} cy={76} r={3} className=\"fill-success\" />\n\t\t\t\t\t<rect x={63} y={73} width={32} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t</g>\n\t\t\t</svg>\n\t\t</div>\n\t);\n}\n\nDocumentStackIllustration.displayName = 'DocumentStackIllustration';\n","import { useId } from 'react';\n\nimport { cn } from '../../../../../../lib/utils';\nimport type { EmptyStateIllustrationProps } from './types';\n\n/** Open inbox tray with a check; the scene has one intrinsic coordinate system. */\nexport function InboxCleanIllustration({ className }: EmptyStateIllustrationProps) {\n\tconst trayClip = useId();\n\treturn (\n\t\t<div className={cn('inbox-clean-illustration--component relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<svg viewBox=\"0 0 128 96\" className=\"h-full w-full overflow-visible\" focusable=\"false\">\n\t\t\t\t<defs>\n\t\t\t\t\t<clipPath id={trayClip}>\n\t\t\t\t\t\t<rect x={0.5} y={40.5} width={127} height={55} style={{ rx: 'var(--radius)' }} />\n\t\t\t\t\t</clipPath>\n\t\t\t\t</defs>\n\t\t\t\t<circle cx={64} cy={16} r={15.5} className=\"fill-success/12 stroke-success/30\" />\n\t\t\t\t<path d=\"M59 16l3 3 7-7\" fill=\"none\" className=\"stroke-success\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n\t\t\t\t<rect x={0.5} y={40.5} width={127} height={55} style={{ rx: 'var(--radius)' }} className=\"fill-background drop-shadow-xs\" />\n\t\t\t\t<g clipPath={`url(#${trayClip})`}>\n\t\t\t\t\t<rect x={1} y={41} width={126} height={12} className=\"fill-muted/30\" />\n\t\t\t\t\t<rect x={13} y={66} width={48} height={6} rx={3} className=\"fill-muted/60\" />\n\t\t\t\t\t<rect x={13} y={76} width={32} height={6} rx={3} className=\"fill-muted/40\" />\n\t\t\t\t\t<circle cx={109} cy={74} r={6} className=\"fill-muted/40\" />\n\t\t\t\t</g>\n\t\t\t\t<rect x={0.5} y={40.5} width={127} height={55} style={{ rx: 'var(--radius)' }} fill=\"none\" className=\"stroke-border\" />\n\t\t\t</svg>\n\t\t</div>\n\t);\n}\n\nInboxCleanIllustration.displayName = 'InboxCleanIllustration';\n","import { Search } from 'lucide-react';\n\nimport { cn } from '../../../../../../lib/utils';\nimport type { EmptyStateIllustrationProps } from './types';\n\n/**\n * Magnifying-glass illustration centered on a soft tinted disk — for\n * \"no search results\", \"nothing matches your filters\" surfaces.\n */\nexport function SearchGlassIllustration({ className }: EmptyStateIllustrationProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'search-glass-illustration--component',\n\t\t\t\t'flex size-20 items-center justify-center rounded-full bg-muted/50 ring-8 ring-muted/30',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<Search className=\"size-8 text-muted-foreground\" />\n\t\t</div>\n\t);\n}\n\nSearchGlassIllustration.displayName = 'SearchGlassIllustration';\n","import { useId } from 'react';\n\nimport { cn } from '../../../../../../lib/utils';\nimport type { EmptyStateIllustrationProps } from './types';\n\n/** Three card silhouettes with a theme-backed fade; coordinates are drawing geometry. */\nexport function StackedCardsIllustration({ className }: EmptyStateIllustrationProps) {\n\tconst fadeId = useId();\n\treturn (\n\t\t<div className={cn('stacked-cards-illustration--component relative h-24 w-52', className)} aria-hidden=\"true\">\n\t\t\t<svg viewBox=\"0 0 208 96\" className=\"h-full w-full overflow-visible\" focusable=\"false\">\n\t\t\t\t<defs>\n\t\t\t\t\t<linearGradient id={fadeId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n\t\t\t\t\t\t<stop stopColor=\"var(--background)\" stopOpacity={0} />\n\t\t\t\t\t\t<stop offset=\"0.5\" stopColor=\"var(--background)\" stopOpacity={0.6} />\n\t\t\t\t\t\t<stop offset=\"1\" stopColor=\"var(--background)\" />\n\t\t\t\t\t</linearGradient>\n\t\t\t\t</defs>\n\t\t\t\t<rect x={24.5} y={0.5} width={159} height={23} style={{ rx: 'var(--radius)' }} className=\"fill-muted/60 dark:fill-muted/30 stroke-border/50\" />\n\t\t\t\t<rect x={12.5} y={12.5} width={183} height={23} style={{ rx: 'var(--radius)' }} className=\"fill-muted/80 dark:fill-muted/50 stroke-border/60\" />\n\t\t\t\t<rect x={0.5} y={24.5} width={207} height={63} style={{ rx: 'var(--radius)' }} className=\"fill-background stroke-border drop-shadow-xs\" />\n\t\t\t\t<rect x={17} y={40} width={32} height={32} rx={4} className=\"fill-muted\" />\n\t\t\t\t<rect x={61} y={44} width={97.5} height={10} rx={4} className=\"fill-muted\" />\n\t\t\t\t<rect x={61} y={60} width={65} height={8} rx={4} className=\"fill-muted/60\" />\n\t\t\t\t<rect y={64} width={208} height={32} fill={`url(#${fadeId})`} />\n\t\t\t</svg>\n\t\t</div>\n\t);\n}\n\nStackedCardsIllustration.displayName = 'StackedCardsIllustration';\n","import { cn } from '../../../../../../lib/utils';\nimport type { EmptyStateIllustrationProps } from './types';\n\n/**\n * Three overlapping avatar circles — for \"no team members\", \"no\n * customers\", \"no contributors\" surfaces.\n */\nexport function UsersCircleIllustration({ className }: EmptyStateIllustrationProps) {\n\treturn (\n\t\t<div className={cn('users-circle-illustration--component relative flex h-24 w-32 items-center justify-center', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/50 border-border absolute left-2 size-12 rounded-full border-2\" />\n\t\t\t<div className=\"bg-muted border-border z-10 size-14 rounded-full border-2 shadow-sm\" />\n\t\t\t<div className=\"bg-muted/50 border-border absolute right-2 size-10 rounded-full border-2\" />\n\t\t</div>\n\t);\n}\n\nUsersCircleIllustration.displayName = 'UsersCircleIllustration';\n","/**\n * RelationshipCardFrame — card-free scaffold for app-owned resource cards.\n *\n * The package owns the visual grammar; the app owns the domain data,\n * selectors, mutations, and routing. Frame it with Card at the page,\n * drawer, or preview call site when card chrome is needed.\n */\nimport { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\n\nimport { Badge, type BadgeProps } from '../../base/badge';\nimport { Stack } from '../../base/structure';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nexport interface RelationshipCardFrameProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n\t/** Leading glyph. */\n\ticon?: ReactNode;\n\t/** Surface title. */\n\ttitle: ReactNode;\n\t/** Chip beside the title. Pass a node, or an object to use the built-in badge. */\n\ttitleBadge?: ReactNode | { label: ReactNode; tone?: BadgeProps['tone']; size?: BadgeProps['size'] };\n\t/** Notice between the header and the body. */\n\talertSlot?: ReactNode;\n\t/** Label/value facts under the title. */\n\tmetadataSlot?: ReactNode;\n\t/** Main control in the header. */\n\tprimaryActionSlot?: ReactNode;\n\t/** Overflow menu at the end of the header. */\n\toverflowActionSlot?: ReactNode;\n\t/** Control that changes which relationship is shown. */\n\tselectorSlot?: ReactNode;\n\t/** Expanded detail region below the body. */\n\tdetailsSlot?: ReactNode;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n\t/** Merged onto the header. */\n\theaderClassName?: string;\n\t/** Merged onto the body. */\n\tbodyClassName?: string;\n}\n\nfunction renderTitleBadge(badge: RelationshipCardFrameProps['titleBadge']) {\n\tif (!badge) return null;\n\tif (typeof badge === 'object' && !Array.isArray(badge) && 'label' in badge) {\n\t\treturn (\n\t\t\t<Badge inline tone={badge.tone ?? 'secondary'} size={badge.size}>\n\t\t\t\t{badge.label}\n\t\t\t</Badge>\n\t\t);\n\t}\n\treturn badge;\n}\n\nexport const RelationshipCardFrame = forwardRef<HTMLDivElement, RelationshipCardFrameProps>(function RelationshipCardFrame({\n\ticon,\n\ttitle,\n\ttitleBadge,\n\talertSlot,\n\tmetadataSlot,\n\tprimaryActionSlot,\n\toverflowActionSlot,\n\tselectorSlot,\n\tdetailsSlot,\n\tclassName,\n\theaderClassName,\n\tbodyClassName,\n\t...props\n}, ref) {\n\tconst hasBody =\n\t\t!!alertSlot ||\n\t\t!!metadataSlot ||\n\t\t!!primaryActionSlot ||\n\t\t!!selectorSlot ||\n\t\t!!detailsSlot;\n\n\treturn (\n\t\t<Stack\n\t\t\tref={ref}\n\t\t\tclassName={cn('relationship-card-frame--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Stack direction=\"horizontal\" gap=\"md\" align=\"start\" justify=\"between\" wrap={false} className={cn('relationship-card-frame--header', headerClassName)}>\n\t\t\t\t<Stack direction=\"horizontal\" gap=\"md\" align=\"start\" wrap={false} className=\"relationship-card-frame--header-start\">\n\t\t\t\t\t{!!icon && (\n\t\t\t\t\t\t<div className=\"relationship-card-frame--icon mt-space-2xs inline-flex shrink-0 items-center text-muted-foreground\">\n\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t<Stack direction=\"horizontal\" gap=\"sm\" className=\"relationship-card-frame--title-row\">\n\t\t\t\t\t\t\t<Text tag=\"div\" weight=\"medium\" className=\"relationship-card-frame--title truncate\">\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t{!!titleBadge && (\n\t\t\t\t\t\t\t\t<span className=\"relationship-card-frame--title-badge inline-flex\">\n\t\t\t\t\t\t\t\t\t{renderTitleBadge(titleBadge)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t</div>\n\t\t\t\t</Stack>\n\t\t\t\t{!!overflowActionSlot && (\n\t\t\t\t\t<div className=\"relationship-card-frame--overflow shrink-0\">\n\t\t\t\t\t\t{overflowActionSlot}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Stack>\n\n\t\t\t{!!hasBody && (\n\t\t\t\t<Stack className={cn('relationship-card-frame--body', bodyClassName)}>\n\t\t\t\t\t{!!alertSlot && <div className=\"relationship-card-frame--alert\">{alertSlot}</div>}\n\t\t\t\t\t{!!selectorSlot && <div className=\"relationship-card-frame--selector\">{selectorSlot}</div>}\n\t\t\t\t\t{!!metadataSlot && <div className=\"relationship-card-frame--metadata\">{metadataSlot}</div>}\n\t\t\t\t\t{!!primaryActionSlot && <div className=\"relationship-card-frame--primary-action\">{primaryActionSlot}</div>}\n\t\t\t\t\t{!!detailsSlot && <div className=\"relationship-card-frame--details\">{detailsSlot}</div>}\n\t\t\t\t</Stack>\n\t\t\t)}\n\t\t</Stack>\n\t);\n});\n\nRelationshipCardFrame.displayName = 'RelationshipCardFrame';\n"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ "use client";
2
+ import { o as e } from "./ui-provider-1D_NSYzO.js";
3
+ import { t } from "./utils-l5LpDw2z.js";
4
+ import { s as n } from "./typography-DTRkE9zL.js";
5
+ import { n as r, t as i } from "./value-typography-b8wpz1eX.js";
6
+ import "react";
7
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { format as c, formatDistanceToNow as l, isValid as u, parseISO as d } from "date-fns";
9
+ //#region src/components/primitives/date.tsx
10
+ var f = {
11
+ compact: "dd MMM",
12
+ short: "P",
13
+ medium: "PP",
14
+ long: "PPP"
15
+ }, p = {
16
+ short: "p",
17
+ medium: "pp"
18
+ }, m = {
19
+ type: "main",
20
+ weight: "regular"
21
+ }, h = {
22
+ type: "secondary",
23
+ weight: "regular"
24
+ };
25
+ function g(e) {
26
+ if (e == null || e === "") return null;
27
+ if (e instanceof globalThis.Date) return u(e) ? e : null;
28
+ let t = typeof e == "string" ? d(e) : new globalThis.Date(e);
29
+ return u(t) ? t : null;
30
+ }
31
+ function _(e, t, n) {
32
+ let r = g(e);
33
+ return r ? c(r, t, n ? { locale: n } : void 0) : null;
34
+ }
35
+ function v(e) {
36
+ return e != null && e !== "";
37
+ }
38
+ function y({ from: e, to: t }, { format: n, preset: r = "medium", locale: i, separator: a = " – " } = {}) {
39
+ let o = n ?? f[r], s = _(e, o, i), c = _(t, o, i);
40
+ return v(e) && s === null || v(t) && c === null ? null : s && c ? `${s}${a}${c}` : s ?? c;
41
+ }
42
+ function b({ componentClassName: e, value: a, formatString: s, locale: c, emptyLabel: l, size: u, align: d, weight: f, type: p, className: h, ref: g, ...v }) {
43
+ let y = r({
44
+ size: u,
45
+ type: p,
46
+ weight: f
47
+ }, m), b = _(a, s, c), x = b === null ? i(y, f) : y;
48
+ return /* @__PURE__ */ o(n, {
49
+ ref: g,
50
+ tag: "span",
51
+ size: x.size,
52
+ align: d,
53
+ weight: x.weight,
54
+ type: x.type,
55
+ lineHeight: x.lineHeight,
56
+ className: t(e, "inline tabular-nums", h),
57
+ ...v,
58
+ children: b ?? l
59
+ });
60
+ }
61
+ function x({ value: t, format: n, preset: r, locale: i, emptyLabel: a = "—", ...s }) {
62
+ let c = e(), l = n ?? (r ? f[r] : c.format ?? f.medium);
63
+ return /* @__PURE__ */ o(b, {
64
+ ...s,
65
+ componentClassName: "date--component",
66
+ value: t,
67
+ formatString: l,
68
+ locale: i ?? c.locale,
69
+ emptyLabel: a
70
+ });
71
+ }
72
+ function S({ value: t, format: n, preset: r = "short", locale: i, emptyLabel: a = "—", ...s }) {
73
+ let c = e();
74
+ return /* @__PURE__ */ o(b, {
75
+ ...s,
76
+ componentClassName: "time--component",
77
+ value: t,
78
+ formatString: n ?? p[r],
79
+ locale: i ?? c.locale,
80
+ emptyLabel: a
81
+ });
82
+ }
83
+ function C({ value: t, format: n, timeFormat: r = "p", preset: i, locale: a, emptyLabel: s = "—", ...c }) {
84
+ let l = e(), u = i ? f[i] : l.format ?? f.medium;
85
+ return /* @__PURE__ */ o(b, {
86
+ ...c,
87
+ componentClassName: "date-time--component",
88
+ value: t,
89
+ formatString: n ?? `${u} ${r}`,
90
+ locale: a ?? l.locale,
91
+ emptyLabel: s
92
+ });
93
+ }
94
+ function w({ from: c, to: l, format: u, preset: d, locale: p, separator: h = " – ", emptyLabel: g = "—", size: y, align: b, weight: x, type: S, className: C, ref: w, ...T }) {
95
+ let E = e(), D = r({
96
+ size: y,
97
+ type: S,
98
+ weight: x
99
+ }, m), O = u ?? (d ? f[d] : E.format ?? f.medium), k = p ?? E.locale, A = _(c, O, k), j = _(l, O, k), M = !(v(c) && A === null || v(l) && j === null) && !!(A || j), N = M ? D : i(D, x);
100
+ return /* @__PURE__ */ o(n, {
101
+ ref: w,
102
+ tag: "span",
103
+ size: N.size,
104
+ align: b,
105
+ weight: N.weight,
106
+ type: N.type,
107
+ lineHeight: N.lineHeight,
108
+ className: t("date-range--component inline tabular-nums", C),
109
+ ...T,
110
+ children: M ? /* @__PURE__ */ s(a, { children: [
111
+ A,
112
+ !!A && !!j && h,
113
+ j
114
+ ] }) : g
115
+ });
116
+ }
117
+ function T({ value: a, locale: s, addSuffix: c = !0, includeSeconds: u, emptyLabel: d = "—", size: f, align: p, weight: m, type: _, formatRelativeTime: v, className: y, ref: b, ...x }) {
118
+ let S = e(), C = r({
119
+ size: f,
120
+ type: _,
121
+ weight: m
122
+ }, h), w = g(a), T = s ?? S.locale, E = w ? v?.(w.toISOString()) ?? S.formatRelativeTime?.(w.toISOString()) ?? l(w, {
123
+ addSuffix: c,
124
+ includeSeconds: u,
125
+ ...T ? { locale: T } : {}
126
+ }) : null, D = E === null ? i(C, m) : C;
127
+ return /* @__PURE__ */ o(n, {
128
+ ref: b,
129
+ tag: "span",
130
+ size: D.size,
131
+ align: p,
132
+ weight: D.weight,
133
+ type: D.type,
134
+ lineHeight: D.lineHeight,
135
+ className: t("relative-time--component inline tabular-nums", y),
136
+ ...x,
137
+ children: E ?? d
138
+ });
139
+ }
140
+ x.displayName = "Date";
141
+ //#endregion
142
+ export { S as a, T as i, w as n, y as o, C as r, g as s, x as t };
143
+
144
+ //# sourceMappingURL=date-BgK3bTdo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-BgK3bTdo.js","names":["formatDateFns","_Fragment","useDatesConfig","Text","useValueTypography","emptyValueTypography","Fragment$1","datePresetFormats","timePresetFormats","DATE_ROLE","RELATIVE_TIME_ROLE","parseDateInput","value","isValid","parsed","parseISO","formatDateValue","format","formatString","locale","hasDateInput","formatDateRange","preset","fromLabel","from","toLabel","to","separator","FormattedDate","props","resolved","label","typography","weight","cn","componentClassName","className","emptyLabel","DatePrimitive","dates","Time","DateTime","dateFormat","timeFormat","DateRange","resolvedLocale","hasLabel","RelativeTime","formatRelativeTime","formatDistanceToNow"],"sources":["../src/components/primitives/date.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';\nimport {\n\tformat as formatDateFns,\n\tformatDistanceToNow,\n\tisValid,\n\tparseISO,\n\ttype Locale,\n} from 'date-fns';\n\nimport { Text, type TextProps } from '../typography';\nimport type { TextSize } from '../../lib/ui-provider';\nimport { EMPTY } from '../../lib/format';\nimport { useDatesConfig } from '../../lib/ui-provider';\nimport { cn } from '../../lib/utils';\n\nimport { emptyValueTypography, useValueTypography, type ValueTypographyRole } from './value-typography';\n\ntype NativeDate = InstanceType<typeof globalThis.Date>;\nexport type DateInput = NativeDate | string | number | null | undefined;\ntype SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;\n\nexport type DatePreset = 'compact' | 'short' | 'medium' | 'long';\n\nexport interface DateProps extends SpanProps {\n\t/** A native Date, ISO string or millisecond timestamp. Unparseable input renders the empty label. */\n\tvalue?: DateInput;\n\t/** date-fns pattern; prefer `preset` so a screen stays consistent. */\n\tformat?: string;\n\t/** Library preset. Defaults to the provider `dates.format`, then `medium`. */\n\tpreset?: DatePreset;\n\t/** date-fns locale. Defaults to the provider `dates.locale`. */\n\tlocale?: Locale;\n\t/** Rendered with the shared empty treatment when the value is absent or invalid. Defaults to an em dash. */\n\temptyLabel?: ReactNode;\n\t/** Text size. Defaults to the provider text size; inside running text, the surrounding size. */\n\tsize?: TextSize;\n\talign?: TextProps['align'];\n\t/** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */\n\tweight?: TextProps['weight'];\n\t/** Colour role. Defaults to `main`; inside running text, the surrounding colour. */\n\ttype?: TextProps['type'];\n\tref?: Ref<HTMLSpanElement>;\n}\n\nexport interface TimeProps extends Omit<DateProps, 'preset'> {\n\tpreset?: 'short' | 'medium';\n}\n\nexport interface DateTimeProps extends DateProps {\n\ttimeFormat?: string;\n}\n\nexport interface DateRangeValue {\n\tfrom?: DateInput;\n\tto?: DateInput;\n}\n\nexport interface FormatDateRangeOptions {\n\tformat?: string;\n\tpreset?: DatePreset;\n\tlocale?: Locale;\n\tseparator?: string;\n}\n\nexport interface DateRangeProps extends Omit<DateProps, 'value'>, DateRangeValue {\n\tseparator?: ReactNode;\n}\n\nexport interface RelativeTimeProps extends SpanProps {\n\tvalue?: DateInput;\n\tlocale?: Locale;\n\t/** Adds \"ago\"/\"in\". Defaults to `true`. */\n\taddSuffix?: boolean;\n\tincludeSeconds?: boolean;\n\t/** Rendered with the shared empty treatment when the value is absent or invalid. Defaults to an em dash. */\n\temptyLabel?: ReactNode;\n\t/** Text size. Defaults to the provider text size; inside running text, the surrounding size. */\n\tsize?: TextSize;\n\talign?: TextProps['align'];\n\t/** Font weight. Defaults to `regular`; inside running text, the surrounding weight. */\n\tweight?: TextProps['weight'];\n\t/** Colour role. Defaults to `secondary` for feeds; inside running text, the surrounding colour. */\n\ttype?: TextProps['type'];\n\tformatRelativeTime?: (iso: string) => string;\n\tref?: Ref<HTMLSpanElement>;\n}\n\nconst datePresetFormats: Record<DatePreset, string> = {\n\tcompact: 'dd MMM',\n\tshort: 'P',\n\tmedium: 'PP',\n\tlong: 'PPP',\n};\n\nconst timePresetFormats: Record<NonNullable<TimeProps['preset']>, string> = {\n\tshort: 'p',\n\tmedium: 'pp',\n};\n\nconst DATE_ROLE: ValueTypographyRole = { type: 'main', weight: 'regular' };\nconst RELATIVE_TIME_ROLE: ValueTypographyRole = { type: 'secondary', weight: 'regular' };\n\nexport function parseDateInput(value: DateInput): NativeDate | null {\n\tif (value === null || value === undefined || value === '') return null;\n\tif (value instanceof globalThis.Date) return isValid(value) ? value : null;\n\tconst parsed = typeof value === 'string' ? parseISO(value) : new globalThis.Date(value);\n\treturn isValid(parsed) ? parsed : null;\n}\n\nfunction formatDateValue(value: DateInput, formatString: string, locale?: Locale) {\n\tconst parsed = parseDateInput(value);\n\tif (!parsed) return null;\n\treturn formatDateFns(parsed, formatString, locale ? { locale } : undefined);\n}\n\nfunction hasDateInput(value: DateInput) {\n\treturn value !== null && value !== undefined && value !== '';\n}\n\nexport function formatDateRange(\n\t{ from, to }: DateRangeValue,\n\t{\n\t\tformat,\n\t\tpreset = 'medium',\n\t\tlocale,\n\t\tseparator = ' – ',\n\t}: FormatDateRangeOptions = {},\n): string | null {\n\tconst formatString = format ?? datePresetFormats[preset];\n\tconst fromLabel = formatDateValue(from, formatString, locale);\n\tconst toLabel = formatDateValue(to, formatString, locale);\n\tif ((hasDateInput(from) && fromLabel === null) || (hasDateInput(to) && toLabel === null)) return null;\n\tif (fromLabel && toLabel) return `${fromLabel}${separator}${toLabel}`;\n\treturn fromLabel ?? toLabel;\n}\n\ninterface FormattedDateProps extends SpanProps {\n\tcomponentClassName: string;\n\tvalue: DateInput;\n\tformatString: string;\n\tlocale?: Locale;\n\temptyLabel: ReactNode;\n\tsize?: TextSize;\n\talign?: TextProps['align'];\n\tweight?: TextProps['weight'];\n\ttype?: TextProps['type'];\n\tref?: Ref<HTMLSpanElement>;\n}\n\n/** Shared span for Date, Time and DateTime: value typography plus the empty treatment. */\nfunction FormattedDate({\n\tcomponentClassName,\n\tvalue,\n\tformatString,\n\tlocale,\n\temptyLabel,\n\tsize,\n\talign,\n\tweight,\n\ttype,\n\tclassName,\n\tref,\n\t...props\n}: FormattedDateProps) {\n\tconst resolved = useValueTypography({ size, type, weight }, DATE_ROLE);\n\tconst label = formatDateValue(value, formatString, locale);\n\tconst typography = label === null ? emptyValueTypography(resolved, weight) : resolved;\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag=\"span\"\n\t\t\tsize={typography.size}\n\t\t\talign={align}\n\t\t\tweight={typography.weight}\n\t\t\ttype={typography.type}\n\t\t\tlineHeight={typography.lineHeight}\n\t\t\tclassName={cn(componentClassName, 'inline tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{label ?? emptyLabel}\n\t\t</Text>\n\t);\n}\n\nexport function DatePrimitive({\n\tvalue,\n\tformat,\n\tpreset,\n\tlocale,\n\temptyLabel = EMPTY,\n\t...props\n}: DateProps) {\n\tconst dates = useDatesConfig();\n\tconst formatString = format ?? (preset ? datePresetFormats[preset] : dates.format ?? datePresetFormats.medium);\n\n\treturn (\n\t\t<FormattedDate\n\t\t\t{...props}\n\t\t\tcomponentClassName=\"date--component\"\n\t\t\tvalue={value}\n\t\t\tformatString={formatString}\n\t\t\tlocale={locale ?? dates.locale}\n\t\t\temptyLabel={emptyLabel}\n\t\t/>\n\t);\n}\n\nexport function Time({\n\tvalue,\n\tformat,\n\tpreset = 'short',\n\tlocale,\n\temptyLabel = EMPTY,\n\t...props\n}: TimeProps) {\n\tconst dates = useDatesConfig();\n\n\treturn (\n\t\t<FormattedDate\n\t\t\t{...props}\n\t\t\tcomponentClassName=\"time--component\"\n\t\t\tvalue={value}\n\t\t\tformatString={format ?? timePresetFormats[preset]}\n\t\t\tlocale={locale ?? dates.locale}\n\t\t\temptyLabel={emptyLabel}\n\t\t/>\n\t);\n}\n\nexport function DateTime({\n\tvalue,\n\tformat,\n\ttimeFormat = 'p',\n\tpreset,\n\tlocale,\n\temptyLabel = EMPTY,\n\t...props\n}: DateTimeProps) {\n\tconst dates = useDatesConfig();\n\tconst dateFormat = preset ? datePresetFormats[preset] : dates.format ?? datePresetFormats.medium;\n\n\treturn (\n\t\t<FormattedDate\n\t\t\t{...props}\n\t\t\tcomponentClassName=\"date-time--component\"\n\t\t\tvalue={value}\n\t\t\tformatString={format ?? `${dateFormat} ${timeFormat}`}\n\t\t\tlocale={locale ?? dates.locale}\n\t\t\temptyLabel={emptyLabel}\n\t\t/>\n\t);\n}\n\nexport function DateRange({\n\tfrom,\n\tto,\n\tformat,\n\tpreset,\n\tlocale,\n\tseparator = ' – ',\n\temptyLabel = EMPTY,\n\tsize,\n\talign,\n\tweight,\n\ttype,\n\tclassName,\n\tref,\n\t...props\n}: DateRangeProps) {\n\tconst dates = useDatesConfig();\n\tconst resolved = useValueTypography({ size, type, weight }, DATE_ROLE);\n\tconst formatString = format ?? (preset ? datePresetFormats[preset] : dates.format ?? datePresetFormats.medium);\n\tconst resolvedLocale = locale ?? dates.locale;\n\tconst fromLabel = formatDateValue(from, formatString, resolvedLocale);\n\tconst toLabel = formatDateValue(to, formatString, resolvedLocale);\n\tconst invalid = (hasDateInput(from) && fromLabel === null) || (hasDateInput(to) && toLabel === null);\n\tconst hasLabel = !invalid && Boolean(fromLabel || toLabel);\n\tconst typography = hasLabel ? resolved : emptyValueTypography(resolved, weight);\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag=\"span\"\n\t\t\tsize={typography.size}\n\t\t\talign={align}\n\t\t\tweight={typography.weight}\n\t\t\ttype={typography.type}\n\t\t\tlineHeight={typography.lineHeight}\n\t\t\tclassName={cn('date-range--component inline tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{hasLabel ? (\n\t\t\t\t<>\n\t\t\t\t\t{fromLabel}\n\t\t\t\t\t{!!fromLabel && !!toLabel && separator}\n\t\t\t\t\t{toLabel}\n\t\t\t\t</>\n\t\t\t) : emptyLabel}\n\t\t</Text>\n\t);\n}\n\nexport function RelativeTime({\n\tvalue,\n\tlocale,\n\taddSuffix = true,\n\tincludeSeconds,\n\temptyLabel = EMPTY,\n\tsize,\n\talign,\n\tweight,\n\ttype,\n\tformatRelativeTime,\n\tclassName,\n\tref,\n\t...props\n}: RelativeTimeProps) {\n\tconst dates = useDatesConfig();\n\tconst resolved = useValueTypography({ size, type, weight }, RELATIVE_TIME_ROLE);\n\tconst parsed = parseDateInput(value);\n\tconst resolvedLocale = locale ?? dates.locale;\n\tconst label = parsed\n\t\t? formatRelativeTime?.(parsed.toISOString()) ??\n\t\t\tdates.formatRelativeTime?.(parsed.toISOString()) ??\n\t\t\tformatDistanceToNow(parsed, {\n\t\t\t\taddSuffix,\n\t\t\t\tincludeSeconds,\n\t\t\t\t...(resolvedLocale ? { locale: resolvedLocale } : {}),\n\t\t\t})\n\t\t: null;\n\tconst typography = label === null ? emptyValueTypography(resolved, weight) : resolved;\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag=\"span\"\n\t\t\tsize={typography.size}\n\t\t\talign={align}\n\t\t\tweight={typography.weight}\n\t\t\ttype={typography.type}\n\t\t\tlineHeight={typography.lineHeight}\n\t\t\tclassName={cn('relative-time--component inline tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{label ?? emptyLabel}\n\t\t</Text>\n\t);\n}\n\nDatePrimitive.displayName = 'Date';\n"],"mappings":"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"}