themelia-react-ui 2.0.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/MIGRATION.md +746 -7
  3. package/README.md +27 -23
  4. package/dist/{accordion-0tQUZ20r.js → accordion-DNVqwEIC.js} +36 -36
  5. package/dist/accordion-DNVqwEIC.js.map +1 -0
  6. package/dist/action-menu-D5343RwT.js +286 -0
  7. package/dist/action-menu-D5343RwT.js.map +1 -0
  8. package/dist/ai-artifact-otrz9ZwS.js +1214 -0
  9. package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
  10. package/dist/anchored-positioning-1U_eBFNx.js +9 -0
  11. package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
  12. package/dist/app-shell-CPN30Nb1.js +372 -0
  13. package/dist/app-shell-CPN30Nb1.js.map +1 -0
  14. package/dist/{attachment-BCpA4e7i.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-BCpA4e7i.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-B0girIk_.js → auth-g_oUTDDC.js} +234 -241
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-B9Jnp-T-.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-B9Jnp-T-.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-wWauMgAt.js → badge-oGiXblW7.js} +8 -9
  21. package/dist/badge-oGiXblW7.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +2 -2
  29. package/dist/base/cards.js +3 -3
  30. package/dist/base/carousel.js +11 -11
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +2 -2
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +4 -4
  42. package/dist/base/forms-numeric.js +2 -2
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +13 -13
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +203 -2
  48. package/dist/base/media-gallery.js.map +1 -0
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +32 -22
  54. package/dist/base/qr-code.js.map +1 -1
  55. package/dist/base/repeaters.js +91 -88
  56. package/dist/base/repeaters.js.map +1 -1
  57. package/dist/base/sidebar.js +2 -2
  58. package/dist/base/signature-pad.js +14 -14
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +6 -12
  62. package/dist/base/spinner.js.map +1 -1
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +3 -3
  66. package/dist/base/toaster.js +2 -2
  67. package/dist/base/tree.js +2 -2
  68. package/dist/base/upload-queue.js +303 -2
  69. package/dist/base/upload-queue.js.map +1 -0
  70. package/dist/base/upload.js +3 -4
  71. package/dist/base/value-inputs.js +1 -1
  72. package/dist/{batch-action-bar-BoqWIIpV.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-BoqWIIpV.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
  74. package/dist/blocks/admin.js +242 -228
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +395 -357
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/charts.js +1022 -0
  79. package/dist/blocks/analytics/charts.js.map +1 -0
  80. package/dist/blocks/analytics/usage-card.js +1 -1
  81. package/dist/blocks/analytics.js +171 -1365
  82. package/dist/blocks/analytics.js.map +1 -1
  83. package/dist/blocks/collaboration.js +1 -1
  84. package/dist/blocks/commerce/receipt.js +1 -1
  85. package/dist/blocks/commerce.js +1487 -1358
  86. package/dist/blocks/commerce.js.map +1 -1
  87. package/dist/blocks/data-display.js +2 -3
  88. package/dist/blocks/onboarding.js +91 -82
  89. package/dist/blocks/onboarding.js.map +1 -1
  90. package/dist/blocks/planning.js +25 -25
  91. package/dist/blocks/planning.js.map +1 -1
  92. package/dist/blocks/timelines.js +2 -2
  93. package/dist/{breadcrumbs-Bp9Ke7kd.js → breadcrumbs-CQ9JSlez.js} +52 -45
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-ChBovTx0.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-DeW0bQeK.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-CNXnmvV5.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-CNXnmvV5.js.map → cards-CgWyqvgZ.js.map} +1 -1
  101. package/dist/cascader-Cf05pwaq.js +444 -0
  102. package/dist/cascader-Cf05pwaq.js.map +1 -0
  103. package/dist/{chart-I7ROnsl8.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-I7ROnsl8.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-MoyHIAPs.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-MoyHIAPs.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-DHGtx0QV.js → choice-inputs-oJEsrb5Y.js} +113 -114
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BSJyq9e-.js → code-block-BrLD7mCi.js} +44 -60
  110. package/dist/code-block-BrLD7mCi.js.map +1 -0
  111. package/dist/collapsible-CRCCg_bO.js +80 -0
  112. package/dist/collapsible-CRCCg_bO.js.map +1 -0
  113. package/dist/{collection-content-CSnwtOTH.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-CSnwtOTH.js.map → collection-content-D7SoDlYd.js.map} +1 -1
  115. package/dist/combobox-Dl6f6kHz.js +362 -0
  116. package/dist/combobox-Dl6f6kHz.js.map +1 -0
  117. package/dist/combobox-DrDXtSSt.js +929 -0
  118. package/dist/combobox-DrDXtSSt.js.map +1 -0
  119. package/dist/command-CjZ2VzKC.js +432 -0
  120. package/dist/command-CjZ2VzKC.js.map +1 -0
  121. package/dist/comments-C2MZyRmh.js +1214 -0
  122. package/dist/comments-C2MZyRmh.js.map +1 -0
  123. package/dist/components/base/accordion/accordion.d.ts +11 -3
  124. package/dist/components/base/action-menu/action-menu.d.ts +11 -3
  125. package/dist/components/base/buttons/button.d.ts +2 -2
  126. package/dist/components/base/buttons/index.d.ts +1 -1
  127. package/dist/components/base/buttons/loader-button.d.ts +6 -15
  128. package/dist/components/base/cards/index.d.ts +1 -1
  129. package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
  130. package/dist/components/base/cards/smart-card.d.ts +0 -2
  131. package/dist/components/base/cards/smart-card.types.d.ts +12 -10
  132. package/dist/components/base/cascader/cascader.d.ts +8 -2
  133. package/dist/components/base/cascader/cascader.types.d.ts +24 -2
  134. package/dist/components/base/cascader/index.d.ts +1 -1
  135. package/dist/components/base/choice-inputs/switch.d.ts +1 -1
  136. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  137. package/dist/components/base/command/command.d.ts +1 -1
  138. package/dist/components/base/date-pickers/datepicker.types.d.ts +1 -3
  139. package/dist/components/base/display/dialog.d.ts +3 -9
  140. package/dist/components/base/display/index.d.ts +2 -3
  141. package/dist/components/base/display/separator.d.ts +1 -1
  142. package/dist/components/base/feedback/alert.d.ts +2 -1
  143. package/dist/components/base/feedback/empty.d.ts +10 -2
  144. package/dist/components/base/forms/workflow.d.ts +2 -2
  145. package/dist/components/base/forms-numeric/dimensions-input.d.ts +9 -17
  146. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  147. package/dist/components/base/item/item.types.d.ts +6 -2
  148. package/dist/components/base/metadata-list/index.d.ts +1 -3
  149. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  150. package/dist/components/base/navigation/index.d.ts +2 -2
  151. package/dist/components/base/navigation/language-switcher.d.ts +7 -6
  152. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  153. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  154. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  155. package/dist/components/base/navigation/pagination.d.ts +5 -5
  156. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  157. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  158. package/dist/components/base/repeaters/index.d.ts +1 -1
  159. package/dist/components/base/repeaters/key-value-editor.d.ts +4 -0
  160. package/dist/components/base/sheet/sheet.d.ts +6 -15
  161. package/dist/components/base/sidebar/index.d.ts +1 -6
  162. package/dist/components/base/sidebar/sidebar.d.ts +38 -10
  163. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  164. package/dist/components/base/structure/structure.types.d.ts +11 -2
  165. package/dist/components/base/text-inputs/index.d.ts +1 -1
  166. package/dist/components/base/tree/index.d.ts +1 -0
  167. package/dist/components/base/tree/tree.d.ts +2 -2
  168. package/dist/components/base/tree/tree.types.d.ts +7 -1
  169. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  170. package/dist/components/base/upload/image-upload.d.ts +2 -0
  171. package/dist/components/base/upload/index.d.ts +3 -9
  172. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  173. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  174. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  175. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  176. package/dist/components/blocks/admin/index.d.ts +1 -1
  177. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  178. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  179. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  180. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  181. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  182. package/dist/components/blocks/ai/ai-citation/types.d.ts +6 -0
  183. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  184. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  185. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  186. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  187. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  188. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  189. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-sources/types.d.ts +8 -2
  191. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  192. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  193. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  194. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +6 -0
  195. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  196. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  197. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  198. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  199. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  200. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  201. package/dist/components/blocks/analytics/index.d.ts +17 -24
  202. package/dist/components/blocks/analytics/metric/metric.d.ts +5 -5
  203. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +2 -2
  204. package/dist/components/blocks/analytics/types.d.ts +12 -3
  205. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  206. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  207. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  208. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  209. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  210. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  211. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  212. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  213. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  214. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  215. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  216. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  217. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  218. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  219. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  220. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  221. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  222. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  223. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  224. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  225. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  226. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  227. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  228. package/dist/components/blocks/commerce/index.d.ts +8 -8
  229. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  230. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  231. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  232. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  233. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  234. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  235. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  236. package/dist/components/blocks/commerce/order-status/types.d.ts +8 -8
  237. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  238. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  239. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  240. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  241. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  242. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  243. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  244. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  245. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  246. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  247. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  248. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  249. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  250. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  252. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  253. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  254. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  255. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  256. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  257. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  258. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  259. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  260. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  261. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  262. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  263. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  264. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  265. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  266. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  267. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  268. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  269. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +6 -0
  270. package/dist/components/blocks/data-display/index.d.ts +0 -1
  271. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  272. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  273. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  274. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  275. package/dist/components/blocks/timelines/index.d.ts +2 -2
  276. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  277. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  278. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  279. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  280. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  281. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  282. package/dist/components/features/activities/activities.types.d.ts +28 -11
  283. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  284. package/dist/components/features/activities/index.d.ts +1 -1
  285. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  286. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  287. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  288. package/dist/components/features/activities/relative-time.d.ts +18 -0
  289. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  290. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  291. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  292. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  293. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  294. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  295. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  296. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  297. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +19 -5
  298. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  299. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  300. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  301. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  302. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  303. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  304. package/dist/components/features/combobox/combobox.d.ts +12 -3
  305. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  306. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -2
  307. package/dist/components/features/combobox/index.d.ts +1 -1
  308. package/dist/components/features/combobox/types.d.ts +47 -45
  309. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  310. package/dist/components/features/comments/comments.types.d.ts +40 -26
  311. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  312. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  313. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  314. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  315. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  316. package/dist/components/features/email-composer/http.d.ts +2 -0
  317. package/dist/components/features/email-composer/strings.d.ts +17 -2
  318. package/dist/components/features/email-composer/types.d.ts +17 -2
  319. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  320. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  321. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  322. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  323. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  324. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  325. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  326. package/dist/components/features/filters/facets/range-facet.d.ts +13 -8
  327. package/dist/components/features/filters/filter-context.d.ts +9 -0
  328. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  329. package/dist/components/features/filters/filters.types.d.ts +72 -5
  330. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  331. package/dist/components/features/filters/index.d.ts +2 -2
  332. package/dist/components/features/filters/operator-options.d.ts +25 -2
  333. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  334. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  335. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  336. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  337. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  338. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  339. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  340. package/dist/components/features/filters/utils/filter-utils.d.ts +29 -4
  341. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  342. package/dist/components/features/global-search/global-search.d.ts +7 -1
  343. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  344. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  345. package/dist/components/features/global-search/index.d.ts +1 -1
  346. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  347. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  348. package/dist/components/features/kanban/index.d.ts +2 -2
  349. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  350. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  351. package/dist/components/features/kanban/kanban.d.ts +10 -1
  352. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  353. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  354. package/dist/components/features/map/map.d.ts +4 -0
  355. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  356. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  357. package/dist/components/features/media-library/media-library.d.ts +1 -1
  358. package/dist/components/features/media-library/media-library.strings.d.ts +33 -3
  359. package/dist/components/features/media-library/media-library.types.d.ts +47 -2
  360. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  361. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  362. package/dist/components/features/mentions/index.d.ts +1 -1
  363. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  364. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  365. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +8 -1
  366. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  367. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  368. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  369. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  370. package/dist/components/features/overlays/dialog.d.ts +1 -1
  371. package/dist/components/features/overlays/drawer.d.ts +1 -1
  372. package/dist/components/features/overlays/index.d.ts +2 -2
  373. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  374. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  375. package/dist/components/features/products/components/index.d.ts +0 -10
  376. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  377. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  378. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  379. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  380. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  381. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  382. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  383. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  384. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  385. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  386. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  387. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  388. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  389. package/dist/components/features/products/products.strings.d.ts +8 -0
  390. package/dist/components/features/products/products.types.d.ts +25 -7
  391. package/dist/components/features/questionnaire/questionnaire.types.d.ts +6 -4
  392. package/dist/components/features/resource/index.d.ts +2 -3
  393. package/dist/components/features/resource/resource.d.ts +2 -10
  394. package/dist/components/features/resource/resource.types.d.ts +7 -149
  395. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  396. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  397. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  398. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  399. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  400. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  401. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  402. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  403. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +2 -3
  404. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +13 -1
  405. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -0
  406. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  407. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  408. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  409. package/dist/components/features/suggestions/suggestions.types.d.ts +12 -4
  410. package/dist/components/features/table/data-table.d.ts +1 -1
  411. package/dist/components/features/table/filter-bar.d.ts +1 -1
  412. package/dist/components/features/table/pagination.d.ts +1 -1
  413. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  414. package/dist/components/features/table/table-body.d.ts +1 -1
  415. package/dist/components/features/table/table-header.d.ts +1 -1
  416. package/dist/components/features/table/table-helpers.d.ts +31 -9
  417. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  418. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  419. package/dist/components/features/table/table.strings.d.ts +1 -0
  420. package/dist/components/features/table/table.types.d.ts +74 -48
  421. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  422. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  423. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  424. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  425. package/dist/components/layout/app-shell/index.d.ts +2 -2
  426. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  427. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  428. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  429. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  430. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  431. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  432. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  433. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  434. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  435. package/dist/components/layout/header/header.types.d.ts +16 -6
  436. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  437. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  438. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  439. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  440. package/dist/components/layout/layout.types.d.ts +2 -2
  441. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  442. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  443. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  444. package/dist/components/layout/page/index.d.ts +2 -3
  445. package/dist/components/layout/page/page.strings.d.ts +12 -0
  446. package/dist/components/layout/page/page.types.d.ts +7 -110
  447. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  448. package/dist/components/layout/settings/index.d.ts +1 -1
  449. package/dist/components/layout/settings/settings.d.ts +3 -5
  450. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  451. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  452. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  453. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  454. package/dist/components/layout/sidebar/index.d.ts +1 -1
  455. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +15 -7
  456. package/dist/components/layout/sidebar/sidebar.types.d.ts +10 -12
  457. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  458. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  459. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  460. package/dist/components/primitives/date.d.ts +22 -3
  461. package/dist/components/primitives/file-size.d.ts +8 -2
  462. package/dist/components/primitives/index.d.ts +1 -1
  463. package/dist/components/primitives/initials.d.ts +3 -1
  464. package/dist/components/primitives/link.d.ts +8 -1
  465. package/dist/components/primitives/money.d.ts +1 -1
  466. package/dist/components/primitives/number.d.ts +2 -1
  467. package/dist/components/typography/heading.d.ts +9 -3
  468. package/dist/components/typography/index.d.ts +1 -1
  469. package/dist/components/typography/text-link.d.ts +10 -3
  470. package/dist/components/ui/badge.d.ts +2 -4
  471. package/dist/components/ui/breadcrumb.d.ts +2 -3
  472. package/dist/components/ui/button.d.ts +8 -2
  473. package/dist/components/ui/collapsible.d.ts +1 -4
  474. package/dist/components/ui/command.d.ts +20 -18
  475. package/dist/components/ui/dialog.d.ts +3 -9
  476. package/dist/components/ui/empty.d.ts +2 -2
  477. package/dist/components/ui/input-group.d.ts +3 -3
  478. package/dist/components/ui/item.d.ts +3 -3
  479. package/dist/components/ui/popover.d.ts +3 -7
  480. package/dist/components/ui/sheet.d.ts +4 -12
  481. package/dist/components/ui/sidebar-state.d.ts +6 -1
  482. package/dist/components/ui/sidebar.d.ts +7 -4
  483. package/dist/components/ui/tabs.d.ts +2 -2
  484. package/dist/components/ui/toggle-group.d.ts +3 -3
  485. package/dist/components/ui/toggle.d.ts +2 -2
  486. package/dist/components/ui/tooltip.d.ts +1 -3
  487. package/dist/{containers-CSdc32h9.js → containers-BdfLTP4w.js} +37 -32
  488. package/dist/containers-BdfLTP4w.js.map +1 -0
  489. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  490. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  491. package/dist/{copyable-3fdHfMR3.js → copyable-Bmr14W0d.js} +6 -6
  492. package/dist/{copyable-3fdHfMR3.js.map → copyable-Bmr14W0d.js.map} +1 -1
  493. package/dist/{data-display-Cmj-xZYl.js → data-display-CWe9SOYh.js} +264 -251
  494. package/dist/data-display-CWe9SOYh.js.map +1 -0
  495. package/dist/date-3qsCE1ID.js +209 -0
  496. package/dist/date-3qsCE1ID.js.map +1 -0
  497. package/dist/{date-picker-CyQlFYsP.js → date-picker-D1keJQIG.js} +129 -129
  498. package/dist/date-picker-D1keJQIG.js.map +1 -0
  499. package/dist/date-pickers-D8aJoeHc.js +185 -0
  500. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  501. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  502. package/dist/{display-CT_N2a3w.js → display-VlmP1I0i.js} +23 -46
  503. package/dist/display-VlmP1I0i.js.map +1 -0
  504. package/dist/{dropdown-menu-C08iIugv.js → dropdown-menu-B8hjvbkS.js} +9 -9
  505. package/dist/{dropdown-menu-C08iIugv.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  506. package/dist/dropzone-CHBNK3de.js +116 -0
  507. package/dist/dropzone-CHBNK3de.js.map +1 -0
  508. package/dist/features/activities.js +682 -628
  509. package/dist/features/activities.js.map +1 -1
  510. package/dist/features/ai-chat.js +258 -226
  511. package/dist/features/ai-chat.js.map +1 -1
  512. package/dist/features/appointment-calendar.js +436 -340
  513. package/dist/features/appointment-calendar.js.map +1 -1
  514. package/dist/features/async-preview.js +351 -265
  515. package/dist/features/async-preview.js.map +1 -1
  516. package/dist/features/combobox.js +2 -2
  517. package/dist/features/comments.js +1 -1
  518. package/dist/features/data-view.js +212 -151
  519. package/dist/features/data-view.js.map +1 -1
  520. package/dist/features/email-composer/engine.js +1 -1
  521. package/dist/features/email-composer.js +344 -315
  522. package/dist/features/email-composer.js.map +1 -1
  523. package/dist/features/event-calendar.js +504 -355
  524. package/dist/features/event-calendar.js.map +1 -1
  525. package/dist/features/filters.js +2 -2
  526. package/dist/features/global-search.js +250 -206
  527. package/dist/features/global-search.js.map +1 -1
  528. package/dist/features/kanban.js +269 -189
  529. package/dist/features/kanban.js.map +1 -1
  530. package/dist/features/map.js +385 -371
  531. package/dist/features/map.js.map +1 -1
  532. package/dist/features/media-library.js +1571 -1199
  533. package/dist/features/media-library.js.map +1 -1
  534. package/dist/features/mentions.js +2 -2
  535. package/dist/features/overlays.js +2 -2
  536. package/dist/features/products.js +1780 -1691
  537. package/dist/features/products.js.map +1 -1
  538. package/dist/features/questionnaire.js +165 -152
  539. package/dist/features/questionnaire.js.map +1 -1
  540. package/dist/features/resource-assignment.js +223 -191
  541. package/dist/features/resource-assignment.js.map +1 -1
  542. package/dist/features/resource.js +55 -220
  543. package/dist/features/resource.js.map +1 -1
  544. package/dist/features/rich-text-editor.js +3 -3
  545. package/dist/features/schema-form.js +280 -228
  546. package/dist/features/schema-form.js.map +1 -1
  547. package/dist/features/suggestions.js +48 -39
  548. package/dist/features/suggestions.js.map +1 -1
  549. package/dist/features/table.js +2 -2
  550. package/dist/features/theme-tweaker.js +723 -633
  551. package/dist/features/theme-tweaker.js.map +1 -1
  552. package/dist/feedback-DmqmXKLn.js +254 -0
  553. package/dist/feedback-DmqmXKLn.js.map +1 -0
  554. package/dist/{field-affordance-recipes-D6H7tVJi.js → field-affordance-recipes-DfbMadot.js} +13 -9
  555. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  556. package/dist/{field-state-recipes-7sza8QbC.js → field-state-recipes-EtCxpEy3.js} +6 -2
  557. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  558. package/dist/filters-BviMRMLS.js +2692 -0
  559. package/dist/filters-BviMRMLS.js.map +1 -0
  560. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  561. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  562. package/dist/{form-field-CAPdwdnZ.js → form-field-BdfCwSoQ.js} +5 -5
  563. package/dist/{form-field-CAPdwdnZ.js.map → form-field-BdfCwSoQ.js.map} +1 -1
  564. package/dist/{form-sizing-CgcrUbLU.js → form-sizing-DE_dZw32.js} +3 -3
  565. package/dist/{form-sizing-CgcrUbLU.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  566. package/dist/{forms-B3W8CH7-.js → forms-B8DzJnBN.js} +35 -35
  567. package/dist/forms-B8DzJnBN.js.map +1 -0
  568. package/dist/forms-numeric-DOBswjKj.js +992 -0
  569. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  570. package/dist/{header-ZIIsRKxP.js → header-Cq3G0ZRP.js} +100 -95
  571. package/dist/header-Cq3G0ZRP.js.map +1 -0
  572. package/dist/{hooks-BitHSh-Y.js → hooks-DHfeSMAO.js} +34 -14
  573. package/dist/hooks-DHfeSMAO.js.map +1 -0
  574. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  575. package/dist/http-Cu-GPpss.js.map +1 -0
  576. package/dist/{icon-badge-npxF1SLX.js → icon-badge-B0Kq7wom.js} +3 -3
  577. package/dist/{icon-badge-npxF1SLX.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  578. package/dist/index.js +6 -6
  579. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  580. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  581. package/dist/{input-DIREVYHs.js → input-2YrgTUrz.js} +3 -3
  582. package/dist/{input-DIREVYHs.js.map → input-2YrgTUrz.js.map} +1 -1
  583. package/dist/{input-7KAc7XQL.js → input-DfJyrjoR.js} +6 -6
  584. package/dist/{input-7KAc7XQL.js.map → input-DfJyrjoR.js.map} +1 -1
  585. package/dist/{interaction-recipes-4wZ2tvfb.js → interaction-recipes-DmuS1ase.js} +2 -2
  586. package/dist/{interaction-recipes-4wZ2tvfb.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  587. package/dist/item-GJ9mvCcg.js +279 -0
  588. package/dist/item-GJ9mvCcg.js.map +1 -0
  589. package/dist/layout/app-shell.js +1 -1
  590. package/dist/layout/auth.js +1 -1
  591. package/dist/layout/containers.js +1 -1
  592. package/dist/layout/header.js +1 -1
  593. package/dist/layout/hooks.js +1 -1
  594. package/dist/layout/navigation.js +1 -1
  595. package/dist/layout/page.js +2 -2
  596. package/dist/layout/settings.js +2 -2
  597. package/dist/layout/sidebar.js +3 -3
  598. package/dist/layout/workspace.js +1 -1
  599. package/dist/layout.js +12 -12
  600. package/dist/{layout.types-E_GAApzO.js → layout.types-DbtnyAtd.js} +11 -8
  601. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  602. package/dist/lib/anchored-positioning.d.ts +11 -0
  603. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  604. package/dist/lib/field-state-recipes.d.ts +6 -0
  605. package/dist/lib/focus-recipes.d.ts +7 -0
  606. package/dist/lib/format.d.ts +25 -0
  607. package/dist/lib/money-format.d.ts +6 -0
  608. package/dist/lib/motion-recipes.d.ts +6 -0
  609. package/dist/lib/surface-recipes.d.ts +32 -2
  610. package/dist/lib/theme-scope.d.ts +17 -1
  611. package/dist/lib/token-merge.generated.d.ts +13 -19
  612. package/dist/lib/ui-provider/index.d.ts +1 -1
  613. package/dist/lib/ui-provider/types.d.ts +5 -0
  614. package/dist/lib/use-controllable-state.d.ts +16 -0
  615. package/dist/lib/use-copy-feedback.d.ts +15 -0
  616. package/dist/lib/utils.js +1 -1
  617. package/dist/lib/variant-props.d.ts +9 -0
  618. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  619. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  620. package/dist/mentions-zz0ewNIq.js +670 -0
  621. package/dist/mentions-zz0ewNIq.js.map +1 -0
  622. package/dist/{message-BJHnn43M.js → message-BiiVrRrm.js} +10 -7
  623. package/dist/{message-BJHnn43M.js.map → message-BiiVrRrm.js.map} +1 -1
  624. package/dist/{metadata-list-XkqZ_UXH.js → metadata-list-G85roWjS.js} +13 -12
  625. package/dist/metadata-list-G85roWjS.js.map +1 -0
  626. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  627. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  628. package/dist/navigation-C0Be5C3i.js +304 -0
  629. package/dist/navigation-C0Be5C3i.js.map +1 -0
  630. package/dist/{navigation-Bt-v7rWP.js → navigation-CmqaQR_G.js} +99 -103
  631. package/dist/navigation-CmqaQR_G.js.map +1 -0
  632. package/dist/number-NFWKIoiK.js +340 -0
  633. package/dist/number-NFWKIoiK.js.map +1 -0
  634. package/dist/{overflow-tab-bar-BQCA2Zn2.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  635. package/dist/{overflow-tab-bar-BQCA2Zn2.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  636. package/dist/overlays-D-gAIfPF.js +1018 -0
  637. package/dist/overlays-D-gAIfPF.js.map +1 -0
  638. package/dist/page-D4pQhgSq.js +216 -0
  639. package/dist/page-D4pQhgSq.js.map +1 -0
  640. package/dist/{page-header-commands-DIKspJfx.js → page-header-commands-elelNOfd.js} +29 -29
  641. package/dist/{page-header-commands-DIKspJfx.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  642. package/dist/{pagination-Br8TdV9A.js → pagination-BuSWw1US.js} +22 -23
  643. package/dist/pagination-BuSWw1US.js.map +1 -0
  644. package/dist/{popover-k8TdUcAt.js → popover-BpMxbqEK.js} +73 -69
  645. package/dist/popover-BpMxbqEK.js.map +1 -0
  646. package/dist/{popover-menu-yn-o0kyA.js → popover-menu-CO-_iiuz.js} +7 -7
  647. package/dist/{popover-menu-yn-o0kyA.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  648. package/dist/{popover.recipes-DJ0AkUan.js → popover.recipes-BqkdvlZn.js} +3 -4
  649. package/dist/{popover.recipes-DJ0AkUan.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  650. package/dist/{portal-recipes-DyUXqUtD.js → portal-recipes-BPeS4rGB.js} +2 -2
  651. package/dist/{portal-recipes-DyUXqUtD.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  652. package/dist/primitives-BlC1lXBr.js +447 -0
  653. package/dist/primitives-BlC1lXBr.js.map +1 -0
  654. package/dist/primitives.js +4 -4
  655. package/dist/{progress-DZFXXzPs.js → progress-RARK8AjB.js} +5 -5
  656. package/dist/{progress-DZFXXzPs.js.map → progress-RARK8AjB.js.map} +1 -1
  657. package/dist/receipt-CUf2Vegp.js +114 -0
  658. package/dist/receipt-CUf2Vegp.js.map +1 -0
  659. package/dist/{rich-text-BnTzZjIo.js → rich-text-Cypm9__d.js} +7 -8
  660. package/dist/{rich-text-BnTzZjIo.js.map → rich-text-Cypm9__d.js.map} +1 -1
  661. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  662. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  663. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  664. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  665. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  666. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  667. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  668. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  669. package/dist/{scroll-area-Bj6CRUif.js → scroll-area-B9HKbji0.js} +3 -3
  670. package/dist/{scroll-area-Bj6CRUif.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  671. package/dist/{separator-DM6gs2vu.js → separator-DaDe26sf.js} +3 -3
  672. package/dist/separator-DaDe26sf.js.map +1 -0
  673. package/dist/{separator-B9ewiCGO.js → separator-KGsNXt2J.js} +2 -2
  674. package/dist/{separator-B9ewiCGO.js.map → separator-KGsNXt2J.js.map} +1 -1
  675. package/dist/services/actions/action-adapters.d.ts +5 -2
  676. package/dist/services/actions/index.d.ts +1 -1
  677. package/dist/services/actions.js +2 -2
  678. package/dist/services/actions.js.map +1 -1
  679. package/dist/settings-D5j_RJvT.js +160 -0
  680. package/dist/settings-D5j_RJvT.js.map +1 -0
  681. package/dist/sheet-B6j_BE9O.js +241 -0
  682. package/dist/sheet-B6j_BE9O.js.map +1 -0
  683. package/dist/{sidebar-CmD6a-HK.js → sidebar-C-iQ_TJP.js} +377 -351
  684. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  685. package/dist/sidebar-D5VO2W8S.js +715 -0
  686. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  687. package/dist/{skeleton-DDgdhmu9.js → skeleton-Cab_KgVo.js} +12 -12
  688. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  689. package/dist/{smart-card-B6vLxqa_.js → smart-card-C59z6KFO.js} +217 -210
  690. package/dist/smart-card-C59z6KFO.js.map +1 -0
  691. package/dist/{structure-DZJ2wbAU.js → structure-DElaQwwN.js} +2 -2
  692. package/dist/{structure-DZJ2wbAU.js.map → structure-DElaQwwN.js.map} +1 -1
  693. package/dist/style.css +1 -1
  694. package/dist/{surface-recipes-C8mNycaY.js → surface-recipes-DV6rrOFq.js} +10 -2
  695. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  696. package/dist/{table-CXSPHH25.js → table-CSRUgpdK.js} +62 -61
  697. package/dist/table-CSRUgpdK.js.map +1 -0
  698. package/dist/table-DdXDBsR_.js +1657 -0
  699. package/dist/table-DdXDBsR_.js.map +1 -0
  700. package/dist/{tabs-C4Kr_hCr.js → tabs-WnHfV2pM.js} +27 -27
  701. package/dist/tabs-WnHfV2pM.js.map +1 -0
  702. package/dist/{text-inputs-jdkS3ReG.js → text-inputs-ljyBYaCd.js} +112 -112
  703. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  704. package/dist/theme.css +21 -5
  705. package/dist/timelines-mOmS9Eh3.js +479 -0
  706. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  707. package/dist/tooltip-yjX-Uv-p.js +112 -0
  708. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  709. package/dist/{tree-CeYVzdFE.js → tree-YpkxUG2Z.js} +80 -72
  710. package/dist/tree-YpkxUG2Z.js.map +1 -0
  711. package/dist/typography/rich-text.js +1 -1
  712. package/dist/{typography-C7-YMW1S.js → typography-C0dELqYV.js} +46 -40
  713. package/dist/typography-C0dELqYV.js.map +1 -0
  714. package/dist/typography.js +1 -1
  715. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  716. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  717. package/dist/ui-provider.js +2 -2
  718. package/dist/{upload-Hdm5gObf.js → upload-DMuMYJFT.js} +276 -268
  719. package/dist/upload-DMuMYJFT.js.map +1 -0
  720. package/dist/{usage-card-9s8hLDfn.js → usage-card-DDPki5P1.js} +57 -54
  721. package/dist/usage-card-DDPki5P1.js.map +1 -0
  722. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  723. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  724. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  725. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  726. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  727. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  728. package/dist/{utils-DhuoqFy4.js → utils-BVbAG2J6.js} +98 -76
  729. package/dist/utils-BVbAG2J6.js.map +1 -0
  730. package/dist/value-inputs-h5MwjGCo.js +982 -0
  731. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  732. package/dist/value-typography-D15uwfj-.js +154 -0
  733. package/dist/value-typography-D15uwfj-.js.map +1 -0
  734. package/dist/workspace-DIryPqBt.js +400 -0
  735. package/dist/workspace-DIryPqBt.js.map +1 -0
  736. package/docs/consumer-skill/SKILL.md +7 -0
  737. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  738. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  739. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  740. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  741. package/docs/consumer-skill/examples/detail.tsx +3 -2
  742. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  743. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  744. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  745. package/docs/consumer-skill/references/agents-md.md +20 -16
  746. package/docs/consumer-skill/references/analytics.md +20 -6
  747. package/docs/consumer-skill/references/building-views.md +213 -0
  748. package/docs/consumer-skill/references/catalogue.md +617 -0
  749. package/docs/consumer-skill/references/component-contracts.json +10202 -18084
  750. package/docs/consumer-skill/references/composition.md +21 -17
  751. package/docs/consumer-skill/references/discovery.md +8 -5
  752. package/docs/consumer-skill/references/installation.md +10 -4
  753. package/docs/consumer-skill/references/integration.md +5 -5
  754. package/docs/consumer-skill/references/product-composition.md +2 -2
  755. package/docs/consumer-skill/references/public-api.json +580 -633
  756. package/docs/consumer-skill/references/review.md +6 -4
  757. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  758. package/docs/consumer-skill/references/theming.md +1 -1
  759. package/docs/consumer-skill/references/tokens.json +4 -4
  760. package/docs/consumer-skill/references/workflows.md +7 -7
  761. package/docs/consumer-skill/scripts/composition-policy.mjs +40 -20
  762. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  763. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  764. package/docs/consumer-skill/scripts/setup-skills.mjs +31 -4
  765. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  766. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  767. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  768. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  769. package/package.json +9 -12
  770. package/templates/README.md +3 -2
  771. package/templates/admin-shell-template.tsx +49 -9
  772. package/templates/analytics-operations-template.tsx +20 -24
  773. package/templates/customers-template.tsx +12 -9
  774. package/templates/index.ts +2 -8
  775. package/templates/orders-template.tsx +28 -24
  776. package/templates/products-template.tsx +14 -4
  777. package/templates/user-permissions-template.tsx +11 -14
  778. package/dist/accordion-0tQUZ20r.js.map +0 -1
  779. package/dist/action-menu-C0gjzLyE.js +0 -284
  780. package/dist/action-menu-C0gjzLyE.js.map +0 -1
  781. package/dist/ai-artifact-CGGpQryR.js +0 -1200
  782. package/dist/ai-artifact-CGGpQryR.js.map +0 -1
  783. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  784. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  785. package/dist/app-shell-EHuuRDGy.js +0 -321
  786. package/dist/app-shell-EHuuRDGy.js.map +0 -1
  787. package/dist/auth-B0girIk_.js.map +0 -1
  788. package/dist/badge-wWauMgAt.js.map +0 -1
  789. package/dist/base/sheet.js +0 -3
  790. package/dist/breadcrumbs-Bp9Ke7kd.js.map +0 -1
  791. package/dist/button-ChBovTx0.js.map +0 -1
  792. package/dist/buttons-DeW0bQeK.js.map +0 -1
  793. package/dist/cascader-CrAl9zD5.js +0 -439
  794. package/dist/cascader-CrAl9zD5.js.map +0 -1
  795. package/dist/choice-inputs-DHGtx0QV.js.map +0 -1
  796. package/dist/code-block-BSJyq9e-.js.map +0 -1
  797. package/dist/collapsible-BzJ91LUG.js +0 -81
  798. package/dist/collapsible-BzJ91LUG.js.map +0 -1
  799. package/dist/combobox-Bcvu5J8O.js +0 -363
  800. package/dist/combobox-Bcvu5J8O.js.map +0 -1
  801. package/dist/combobox-C2JiSQPc.js +0 -915
  802. package/dist/combobox-C2JiSQPc.js.map +0 -1
  803. package/dist/command-9e52NPgK.js +0 -425
  804. package/dist/command-9e52NPgK.js.map +0 -1
  805. package/dist/comments-BsgErEqd.js +0 -1174
  806. package/dist/comments-BsgErEqd.js.map +0 -1
  807. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  808. package/dist/components/base/display/content-block.d.ts +0 -75
  809. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  810. package/dist/components/base/sheet/index.d.ts +0 -29
  811. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  812. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  813. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -10
  814. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  815. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  816. package/dist/components/features/sync/index.d.ts +0 -26
  817. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  818. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  819. package/dist/components/features/sync/sync.types.d.ts +0 -44
  820. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  821. package/dist/components/ui/slot.d.ts +0 -6
  822. package/dist/containers-CSdc32h9.js.map +0 -1
  823. package/dist/data-display-Cmj-xZYl.js.map +0 -1
  824. package/dist/date-Br0FicVv.js +0 -144
  825. package/dist/date-Br0FicVv.js.map +0 -1
  826. package/dist/date-picker-CyQlFYsP.js.map +0 -1
  827. package/dist/date-pickers-tj2MXmXd.js +0 -185
  828. package/dist/date-pickers-tj2MXmXd.js.map +0 -1
  829. package/dist/display-CT_N2a3w.js.map +0 -1
  830. package/dist/features/sync.js +0 -142
  831. package/dist/features/sync.js.map +0 -1
  832. package/dist/feedback-Dzo1xtAU.js +0 -246
  833. package/dist/feedback-Dzo1xtAU.js.map +0 -1
  834. package/dist/field-affordance-recipes-D6H7tVJi.js.map +0 -1
  835. package/dist/field-state-recipes-7sza8QbC.js.map +0 -1
  836. package/dist/filters-Dl80yYtN.js +0 -2415
  837. package/dist/filters-Dl80yYtN.js.map +0 -1
  838. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  839. package/dist/forms-B3W8CH7-.js.map +0 -1
  840. package/dist/forms-numeric-CwjQJe-O.js +0 -991
  841. package/dist/forms-numeric-CwjQJe-O.js.map +0 -1
  842. package/dist/header-ZIIsRKxP.js.map +0 -1
  843. package/dist/hooks-BitHSh-Y.js.map +0 -1
  844. package/dist/http-D_6rOnzU.js.map +0 -1
  845. package/dist/item-FfWnaYST.js +0 -278
  846. package/dist/item-FfWnaYST.js.map +0 -1
  847. package/dist/layout.types-E_GAApzO.js.map +0 -1
  848. package/dist/media-gallery-C81DAnKI.js +0 -203
  849. package/dist/media-gallery-C81DAnKI.js.map +0 -1
  850. package/dist/mentions-qOnedSt4.js +0 -639
  851. package/dist/mentions-qOnedSt4.js.map +0 -1
  852. package/dist/metadata-list-XkqZ_UXH.js.map +0 -1
  853. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  854. package/dist/navigation-BgtPJAhi.js +0 -288
  855. package/dist/navigation-BgtPJAhi.js.map +0 -1
  856. package/dist/navigation-Bt-v7rWP.js.map +0 -1
  857. package/dist/number-CYqBcrSj.js +0 -346
  858. package/dist/number-CYqBcrSj.js.map +0 -1
  859. package/dist/overlays-CC8zI3Du.js +0 -1017
  860. package/dist/overlays-CC8zI3Du.js.map +0 -1
  861. package/dist/page-BoQ1VaFJ.js +0 -331
  862. package/dist/page-BoQ1VaFJ.js.map +0 -1
  863. package/dist/pagination-Br8TdV9A.js.map +0 -1
  864. package/dist/popover-k8TdUcAt.js.map +0 -1
  865. package/dist/primitives-BkkQjYl7.js +0 -385
  866. package/dist/primitives-BkkQjYl7.js.map +0 -1
  867. package/dist/receipt-C7LhOg7Q.js +0 -116
  868. package/dist/receipt-C7LhOg7Q.js.map +0 -1
  869. package/dist/rich-text-editor-CAurDwT5.js +0 -1273
  870. package/dist/rich-text-editor-CAurDwT5.js.map +0 -1
  871. package/dist/rich-text-editor-toolbar-DbXig7Jk.js +0 -99
  872. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +0 -1
  873. package/dist/rich-text-tree-BqyQ_7-R.js +0 -66
  874. package/dist/rich-text-tree-BqyQ_7-R.js.map +0 -1
  875. package/dist/sanitize-html-BWkH4dLM.js +0 -105
  876. package/dist/sanitize-html-BWkH4dLM.js.map +0 -1
  877. package/dist/separator-DM6gs2vu.js.map +0 -1
  878. package/dist/settings-DZPHgpx4.js +0 -155
  879. package/dist/settings-DZPHgpx4.js.map +0 -1
  880. package/dist/sheet-C4DHsgLk.js +0 -250
  881. package/dist/sheet-C4DHsgLk.js.map +0 -1
  882. package/dist/sidebar-C8BnDwTH.js +0 -709
  883. package/dist/sidebar-C8BnDwTH.js.map +0 -1
  884. package/dist/sidebar-CmD6a-HK.js.map +0 -1
  885. package/dist/skeleton-DDgdhmu9.js.map +0 -1
  886. package/dist/slot-CLF9kLrS.js +0 -16
  887. package/dist/slot-CLF9kLrS.js.map +0 -1
  888. package/dist/smart-card-B6vLxqa_.js.map +0 -1
  889. package/dist/surface-recipes-C8mNycaY.js.map +0 -1
  890. package/dist/table-CBonSdTp.js +0 -1584
  891. package/dist/table-CBonSdTp.js.map +0 -1
  892. package/dist/table-CXSPHH25.js.map +0 -1
  893. package/dist/tabs-C4Kr_hCr.js.map +0 -1
  894. package/dist/text-inputs-jdkS3ReG.js.map +0 -1
  895. package/dist/timelines-CoPwdJP0.js +0 -458
  896. package/dist/timelines-CoPwdJP0.js.map +0 -1
  897. package/dist/tooltip-31NwIpTo.js +0 -113
  898. package/dist/tooltip-31NwIpTo.js.map +0 -1
  899. package/dist/tree-CeYVzdFE.js.map +0 -1
  900. package/dist/typography-C7-YMW1S.js.map +0 -1
  901. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  902. package/dist/upload-Hdm5gObf.js.map +0 -1
  903. package/dist/upload-queue-D0sYPuqo.js +0 -409
  904. package/dist/upload-queue-D0sYPuqo.js.map +0 -1
  905. package/dist/usage-card-9s8hLDfn.js.map +0 -1
  906. package/dist/utils-DhuoqFy4.js.map +0 -1
  907. package/dist/value-inputs-D3aPgq9H.js +0 -980
  908. package/dist/value-inputs-D3aPgq9H.js.map +0 -1
  909. package/dist/value-typography-uSzzG9Gf.js +0 -122
  910. package/dist/value-typography-uSzzG9Gf.js.map +0 -1
  911. package/dist/workspace-CC8Vchiu.js +0 -411
  912. package/dist/workspace-CC8Vchiu.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-BoQ1VaFJ.js","names":["_Fragment","buttonVariants","Button","Text","Heading","headingRoleSizes","copyRoleProps","Stack","Empty","EmptyTitle","LoadingState","EmptyDescription","EmptyHeader","ErrorState","compositionRhythm","compositionClasses","ActionMenu","ActionButtons","Badge","hasPageHeaderCommands","PageHeaderCommands","OverflowTabBar","useLayoutLinkRenderer","Container","TwoColumnLayout","Fragment$1","defaultPageStrings","resolveSlot","slot","context","PageHeader","TitleIcon","resolvedRenderLink","defaultBack","backHref","onBack","backLabel","cn","ArrowLeft","titleIconNode","icon","iconClassName","titleIconClassName","titleIconHref","onTitleIconClick","titleIconLabel","backControl","slots","titleStart","hasPrefix","hasCommands","primaryAction","secondaryActions","defaultActions","actions","actionsRegion","hasActions","beforeTitle","afterDescription","defaultSuffix","titleBadges","item","index","titleSuffix","simpleDescription","description","simpleTitle","title","className","contentClassName","textGap","headingTag","titleClassName","descriptionClassName","actionsClassName","tabs","blockPadding","Page","forwardRef","stringsProp","containerProps","strings","useStrings","bodyClassName","bodyProps","slotProps","toolbarClassName","toolbarProps","footerClassName","footerProps","resolvedAside","aside","hasAside","toolbarNode","toolbar","afterHeader","headerNode","header","renderLink","errorDescription","error","customError","body","loading","empty","emptySlot","children","bodyNode","maxWidth","narrow","padding","beforeHeader","asideRatio","defaultPageActionsStrings","PAGE_ACTIONS_MENU_CLASS","DEFAULT_MAX_INLINE_ACTIONS","toActionMenuAction","contextBase","disabled","action","renderAction","PageActions","filtered","useMemo","isNarrow","setIsNarrow","useState","useEffect","display","check","breakpoint","inlineContextBase","renderActionLink","props","inlineClass","inlineClassName","menuContentClass","menuClassName","dropdownActions","entry","inlineLimit","maxInlineActions","inlineCandidates","inline","menu","inlineActions","menuActions"],"sources":["../src/components/layout/page/page.strings.ts","../src/components/layout/page/partials/page-header.tsx","../src/components/layout/page/page.tsx","../src/components/layout/page/page.types.ts","../src/components/layout/page/partials/page-actions.tsx"],"sourcesContent":["/** Copy for Page's primary-body lifecycle states. */\nexport interface PageStrings {\n\tloadingLabel: string;\n\tloadingDescription: string;\n\terrorTitle: string;\n\terrorDescription: string;\n\tretryLabel: string;\n\temptyTitle: string;\n\temptyDescription: string;\n}\n\nexport const defaultPageStrings: PageStrings = {\n\tloadingLabel: 'Loading content',\n\tloadingDescription: 'Preparing the latest data for this view.',\n\terrorTitle: 'Content unavailable',\n\terrorDescription: 'The content could not be loaded.',\n\tretryLabel: 'Try again',\n\temptyTitle: 'No content found',\n\temptyDescription: 'There is no content available for this view.',\n};\n","/** Route header anatomy with four content slots and shared responsive commands. */\nimport { ArrowLeft } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Badge } from '../../../base/badge';\nimport { Button } from '../../../base/buttons';\nimport { Stack } from '../../../base/structure';\nimport { OverflowTabBar } from '../../../base/navigation/overflow-tab-bar';\nimport { hasPageHeaderCommands, PageHeaderCommands } from '../../../base/navigation/page-header/page-header-commands';\nimport { buttonVariants } from '../../../base/buttons/button.variants';\nimport { Heading, Text } from '../../../typography';\nimport { copyRoleProps, headingRoleSizes } from '../../../typography/text.styles';\nimport { cn } from '../../../../lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { PageHeaderProps, PageHeaderRenderContext, PageHeaderRenderSlot } from '../page.types';\n\nfunction resolveSlot(slot: PageHeaderRenderSlot, context: PageHeaderRenderContext): ReactNode {\n return typeof slot === 'function' ? slot(context) : slot ?? context.defaultContent;\n}\n\nexport function PageHeader({\n title, description, textGap = 'dense', headingTag = 'h1',\n titleIcon: TitleIcon, titleIconHref, onTitleIconClick, titleIconLabel = 'Open title link',\n backHref, onBack, backLabel = 'Back', titleBadges = [],\n primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel = 'More actions', tabs, actions, slots,\n renderLink, className, contentClassName, actionsClassName, titleClassName,\n titleIconClassName, descriptionClassName,\n}: PageHeaderProps) {\n const resolvedRenderLink = useLayoutLinkRenderer({renderLink});\n const hasBack = !!backHref || !!onBack;\n\tconst defaultBack = hasBack ? (\n\t\t<div className=\"flex items-center gap-space-sm shrink-0\">\n\t\t\t{backHref && !onBack ? (\n\t\t\t\tresolvedRenderLink({\n\t\t\t\t\thref: backHref,\n\t\t\t\t\t'aria-label': backLabel,\n\t\t\t\t\tclassName: cn('page-header--back-link', buttonVariants({tone:'secondary',buttonStyle:'ghost',size:'sm',iconOnly:true})),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ArrowLeft className=\"size-icon rtl:rotate-180\" aria-hidden=\"true\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"sm\" iconOnly\n\t\t\t\t\tclassName=\"page-header--back-button\"\n\t\t\t\t\tonClick={onBack}\n\t\t\t\t\taria-label={backLabel}\n\t\t\t\t>\n\t\t\t\t\t<ArrowLeft className=\"size-icon rtl:rotate-180\" aria-hidden=\"true\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t) : null;\n\tconst titleIconNode = (() => {\n\t\tif (!TitleIcon) return null;\n\n\t\tconst icon = <TitleIcon className=\"size-icon\" aria-hidden=\"true\" />;\n\t\tconst iconClassName = cn(\n\t\t\t'page-header--title-icon flex size-icon shrink-0 items-center justify-center text-muted-foreground',\n\t\t\ttitleIconClassName,\n\t\t);\n\n\t\tif (titleIconHref && !onTitleIconClick) {\n\t\t\treturn resolvedRenderLink({\n\t\t\t\thref: titleIconHref,\n\t\t\t\t'aria-label': titleIconLabel,\n\t\t\t\tclassName: cn(\n\t\t\t\t\t'page-header--title-icon-link',\n\t\t\t\t\tbuttonVariants({tone:'secondary',buttonStyle:'ghost',size:'sm',iconOnly:true}),\n\t\t\t\t\ttitleIconClassName,\n\t\t\t\t),\n\t\t\t\tchildren: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\n\t\tif (onTitleIconClick) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"sm\" iconOnly\n\t\t\t\t\tclassName={cn('page-header--title-icon-button', titleIconClassName)}\n\t\t\t\t\tonClick={onTitleIconClick}\n\t\t\t\t\taria-label={titleIconLabel}\n\t\t\t\t>\n\t\t\t\t\t{icon}\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<span aria-hidden=\"true\" className={iconClassName}>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t})();\n\n const backControl = slots?.back ?? defaultBack;\n const titleStart = backControl || titleIconNode ? (\n <Stack direction=\"horizontal\" align=\"center\" gap=\"sm\" wrap={false}>{backControl}{titleIconNode}</Stack>\n ) : null;\n const hasPrefix = titleStart != null;\n const hasCommands = hasPageHeaderCommands(primaryAction, secondaryActions);\n const defaultActions = hasCommands ? <>{actions}<PageHeaderCommands primaryAction={primaryAction} secondaryActions={secondaryActions} maxVisibleSecondaryActions={maxVisibleSecondaryActions} moreActionsLabel={moreActionsLabel} renderLink={resolvedRenderLink} /></> : actions;\n const actionsRegion = resolveSlot(slots?.actions, {renderLink:resolvedRenderLink, defaultContent:defaultActions});\n const hasActions = actionsRegion != null && actionsRegion !== false;\n const beforeTitle = resolveSlot(slots?.beforeTitle, {renderLink:resolvedRenderLink, defaultContent:null});\n const afterDescription = resolveSlot(slots?.afterDescription, {renderLink:resolvedRenderLink, defaultContent:null});\n const defaultSuffix = titleBadges.length ? <Stack direction=\"horizontal\" gap=\"sm\" wrap className=\"page-header--badges min-w-0 max-w-full\">\n {titleBadges.map((item,index)=><Badge key={item.key ?? index} tone={item.tone ?? 'secondary'}>{item.label}</Badge>)}\n </Stack> : null;\n const titleSuffix = resolveSlot(slots?.titleSuffix, {renderLink:resolvedRenderLink, defaultContent:defaultSuffix});\n const simpleDescription = typeof description === 'string' || typeof description === 'number' || typeof description === 'bigint';\n const simpleTitle = typeof title === 'string' || typeof title === 'number' || typeof title === 'bigint';\n\n return <header className={cn('layout-page-header--component page-heading--component page-header--component @container/page-header w-full min-w-0', className)}>\n <Stack gap=\"xl\">\n <Stack gap=\"sm\" className={cn('page-header--content-row min-w-0', contentClassName)}>\n {beforeTitle}\n {/* The actions sit beside the copy only while the copy keeps a readable measure\n (12rem beside the compact menu, 24rem once inline commands show at 40rem of\n header width);\n otherwise they wrap below it, so commands never cramp the title. */}\n <div className=\"page-header--headline-row flex min-w-0 flex-wrap items-start gap-x-space-xl gap-y-space-lg\">\n <div className={cn('page-header--copy-column page-header--title-row grid min-w-0 flex-1 basis-48 items-start gap-x-space-md @min-[40rem]/page-header:basis-96', hasPrefix ? 'grid-cols-[auto_minmax(0,1fr)]' : 'grid-cols-1', textGap === 'normal' ? 'gap-y-normal' : 'gap-y-dense')}>\n {hasPrefix && <span className=\"page-header--title-prefix inline-flex shrink-0 items-center self-start\">{titleStart}</span>}\n <Stack gap={textGap} className=\"page-header--copy-content min-w-0\">\n <Stack direction=\"horizontal\" gap=\"md\" align=\"center\" wrap className=\"page-header--title-line min-w-0\">\n {simpleTitle ? <Heading tag={headingTag} size={headingRoleSizes.route} className={cn('page-header--title min-w-0 [overflow-wrap:anywhere] border-0 pb-0',titleClassName)}>{title}</Heading> : title}\n {titleSuffix}\n </Stack>\n {((description != null && description !== false) || (afterDescription != null && afterDescription !== false)) && <Stack gap=\"dense\" className=\"page-header--title-block min-w-0\">\n {simpleDescription ? <Text {...copyRoleProps.structuralDescription} className={cn('page-header--description max-w-2xl [overflow-wrap:anywhere]',descriptionClassName)}>{description}</Text> : description}\n {afterDescription}\n </Stack>}\n </Stack>\n </div>\n {hasActions && <Stack direction=\"horizontal\" gap=\"md\" className={cn('page-header--actions max-w-full shrink-0 self-start', hasCommands && slots?.actions == null && 'justify-end', actionsClassName)}>{actionsRegion}</Stack>}\n </div>\n </Stack>\n {tabs && tabs.items.length > 0 && <OverflowTabBar items={tabs.items} value={tabs.value} onValueChange={tabs.onValueChange} className=\"page-header--tabs\" strings={{navigationLabel:tabs.label ?? 'Sections',more:tabs.moreLabel ?? 'More'}} />}\n </Stack>\n </header>;\n}\n","import { forwardRef } from 'react';\n\nimport { ErrorState, LoadingState, Empty, EmptyHeader, EmptyTitle, EmptyDescription } from '../../base/feedback';\nimport { Stack } from '../../base/structure';\nimport { compositionClasses, compositionRhythm } from '../../base/structure/composition.recipes';\nimport { Container, TwoColumnLayout } from '../containers';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport type { PageProps } from './page.types';\nimport { defaultPageStrings } from './page.strings';\nimport { PageHeader } from './partials/page-header';\n\nconst blockPadding = {none: 'py-0', sm: 'py-surface-xs', md: 'py-surface', lg: 'py-surface-lg'} as const;\n\n/** Route containment, header, lifecycle states and optional secondary context, without owning scrolling. */\nexport const Page = forwardRef<HTMLDivElement, PageProps>(function Page({\n header, children, slotProps, slots, renderLink, maxWidth, narrow = false,\n gutter = 'lg', padding = 'lg', aside, asideRatio = '7/5', stickyAside,\n toolbar, beforeHeader, afterHeader, loading = false, error, onRetry,\n empty = false, emptySlot, strings: stringsProp, className, render,\n ...containerProps\n}, ref) {\n const strings = useStrings(defaultPageStrings, stringsProp);\n const {className: bodyClassName, ...bodyProps} = slotProps?.body ?? {};\n const {className: toolbarClassName, ...toolbarProps} = slotProps?.toolbar ?? {};\n const {className: footerClassName, ...footerProps} = slotProps?.footer ?? {};\n const resolvedAside = slots?.aside ?? aside;\n const hasAside = resolvedAside !== undefined && resolvedAside !== null && resolvedAside !== false;\n const toolbarNode = slots?.toolbar ?? toolbar ?? afterHeader;\n const headerNode = slots?.header ?? (header ? <PageHeader {...header} renderLink={header.renderLink ?? renderLink} /> : null);\n const errorDescription = error instanceof Error ? error.message\n : typeof error === 'string' || typeof error === 'number' ? String(error) : strings.errorDescription;\n const customError = error && typeof error !== 'boolean' && typeof error !== 'string' && typeof error !== 'number' && !(error instanceof Error) ? error : undefined;\n const body = loading ? slots?.loading ?? <LoadingState variant=\"panel\" label={strings.loadingLabel} description={strings.loadingDescription} skeleton lines={4} />\n : error ? slots?.error ?? customError ?? <ErrorState variant=\"panel\" title={strings.errorTitle} description={errorDescription} onRetry={onRetry} retryLabel={strings.retryLabel} />\n : empty ? slots?.empty ?? emptySlot ?? <Empty><EmptyHeader><EmptyTitle>{strings.emptyTitle}</EmptyTitle><EmptyDescription>{strings.emptyDescription}</EmptyDescription></EmptyHeader></Empty>\n : children;\n const bodyNode = body !== undefined && body !== null ? (\n <div {...bodyProps} data-slot=\"page-body\" className={cn('page--body relative flex min-w-0 w-full flex-col', compositionClasses.subjects, bodyClassName)}>\n {body}\n </div>\n ) : null;\n\n return (\n <Container {...containerProps} ref={ref} render={render} maxWidth={maxWidth ?? (narrow ? 'md' : hasAside ? 'xl' : 'lg')}\n gutter={gutter} className={cn('font-sans', blockPadding[padding], className)}>\n <Stack gap={compositionRhythm.page} className=\"page--component\">\n {beforeHeader}\n {headerNode}\n {toolbarNode != null && toolbarNode !== false && <div {...toolbarProps} data-slot=\"page-toolbar\" className={cn('page--toolbar min-w-0', toolbarClassName)}>{toolbarNode}</div>}\n {hasAside ? <TwoColumnLayout adaptTo=\"container\" ratio={asideRatio} stickyAside={stickyAside} main={bodyNode} aside={resolvedAside} slotProps={{aside: slotProps?.aside}} /> : bodyNode}\n {slots?.footer != null && slots.footer !== false && <div {...footerProps} data-slot=\"page-footer\" className={cn('page--footer min-w-0', footerClassName)}>{slots.footer}</div>}\n </Stack>\n </Container>\n );\n});\nPage.displayName = 'Page';\n","/**\n * Page-level types for `Page`, `PageHeader`, `PageActions`, and exported\n * partials. All navigation is framework-neutral via `renderLink`.\n */\nimport type { ComponentType, JSX, Key, ReactNode } from 'react';\n\nimport type {\n\tLayoutLinkRenderer,\n\tLayoutNavigationAdapter,\n\tLayoutSlotAttributes,\n} from '../layout.types';\nimport type { TextGap } from '../../base/structure';\nimport type { ButtonSize } from '../../base/buttons';\nimport type { HeadingTag } from '../../typography';\nimport type { ContainerGutter, ContainerMaxWidth, ContainerProps } from '../containers/containers.types';\nimport type { StringsProp } from '../../../lib/strings';\nimport type { BadgeTone } from '../../base/badge';\nimport type { ActionPresentation } from '../../../lib/action-presentation';\nimport type { PageHeaderAction } from '../../base/navigation/page-header';\nimport type { OverflowTabItem } from '../../base/navigation';\nimport type { TwoColumnLayoutProps } from '../containers';\nimport type { PageStrings } from './page.strings';\n\nexport interface PageTitleBadge {\n\t/** Display label. */\n\tlabel: ReactNode;\n\t/** Semantic color intent. */\n\ttone?: BadgeTone;\n\tkey?: Key;\n}\n\nexport type { PageHeaderAction } from '../../base/navigation/page-header';\n\n/** Section tabs under a record's header. */\nexport interface PageHeaderTabs {\n\t/** Sections in order. `badge` shows a count chip beside the label. */\n\titems: OverflowTabItem[];\n\t/** Id of the active section. */\n\tvalue?: string;\n\t/**\n\t * Fired with the id of the chosen section. Switch the content or route here;\n\t * an item `href` renders a native link.\n\t */\n\tonValueChange?: (id: string) => void;\n\t/** Accessible name of the tab list. Default: `'Sections'`. */\n\tlabel?: string;\n\t/** Label of the trigger that holds tabs which do not fit. Default: `'More'`. */\n\tmoreLabel?: string;\n}\n\nexport interface PageHeaderRenderContext {\n\t/** The framework-neutral link renderer used by this header. */\n\trenderLink: LayoutLinkRenderer;\n\t/** Existing content for this position; actions includes the responsive command row. */\n\tdefaultContent: ReactNode;\n}\n\n/** A content node, or a render callback that can keep or replace its default content. */\nexport type PageHeaderRenderSlot = ReactNode | ((context: PageHeaderRenderContext) => ReactNode);\n\nexport interface PageHeaderSlots {\n\t/** @deprecated Use backHref/onBack for navigation. Retained as a custom back-control escape hatch. */\n\tback?: ReactNode;\n\t/** Context above the title, such as breadcrumbs. */\n\tbeforeTitle?: PageHeaderRenderSlot;\n\t/** Content beside the title, such as a status or count. */\n\ttitleSuffix?: PageHeaderRenderSlot;\n\t/** Context below the description. Compose metadata or other content here. */\n\tafterDescription?: PageHeaderRenderSlot;\n\t/** Keep, wrap or replace defaultContent's responsive command row. */\n\tactions?: PageHeaderRenderSlot;\n}\n\nexport interface PageHeaderProps extends LayoutNavigationAdapter {\n\t/** Surface title. */\n\ttitle: ReactNode;\n\t/** Supporting copy under the title. */\n\tdescription?: ReactNode;\n\t/** Shared title/description rhythm. Defaults to dense for page copy. */\n\ttextGap?: TextGap;\n\t/** Semantic heading level for the title. Defaults to `h1`, the route's main heading; use `h2` when the page sits inside another titled page. */\n\theadingTag?: HeadingTag;\n\t/** @deprecated Compose custom title content with slots.titleSuffix or a React-node title. */\n\ttitleIcon?: ComponentType<{ className?: string }>;\n\t/** @deprecated Compose a linked item in a render slot using its renderLink context. */\n\ttitleIconHref?: string;\n\t/** @deprecated Compose a command in slots.actions or describe it with primaryAction/secondaryActions. */\n\tonTitleIconClick?: () => void;\n\t/** @deprecated Accessible name for the compatibility title-icon control. */\n\ttitleIconLabel?: string;\n\t/** Destination for the back control. */\n\tbackHref?: string;\n\tonBack?: () => void;\n\t/** Copy for the back control. */\n\tbackLabel?: string;\n\t/** @deprecated Render title content with slots.titleSuffix. Retained for existing badge definitions. */\n\ttitleBadges?: PageTitleBadge[];\n\t/**\n\t * The page's one main command: a solid primary button after the secondary\n\t * commands. Compact headers place it first in the More actions menu.\n\t */\n\tprimaryAction?: PageHeaderAction;\n\t/**\n\t * Supporting commands in priority order. The first two render as outline\n\t * buttons before the primary command; the rest, and every destructive\n\t * command, move into the More actions menu, which always closes the row.\n\t * Below 40rem of header width, all commands collapse into that menu.\n\t */\n\tsecondaryActions?: readonly PageHeaderAction[];\n\t/**\n\t * How many routine secondary commands render as outline buttons on wide\n\t * headers; later ones join the More actions menu. Use `1` or `0` when long\n\t * labels beside the primary command would crowd the header; `Infinity`\n\t * keeps every routine command inline. @default 2\n\t */\n\tmaxVisibleSecondaryActions?: number;\n\t/** Accessible name of the More actions menu trigger. */\n\tmoreActionsLabel?: string;\n\t/**\n\t * Section tabs under the header, for a record split into sections such as\n\t * documents and history. Tabs that do not fit move into a More menu, and\n\t * the active tab stays visible.\n\t */\n\ttabs?: PageHeaderTabs;\n\t/**\n\t * @deprecated Customize commands with slots.actions; put other controls in Page toolbar.\n\t */\n\tactions?: ReactNode;\n\t/** Replaces individual regions of the shell. */\n\tslots?: PageHeaderSlots;\n\tclassName?: string;\n\t/** Merged onto the content region. */\n\tcontentClassName?: string;\n\tactionsClassName?: string;\n\ttitleClassName?: string;\n\ttitleIconClassName?: string;\n\tdescriptionClassName?: string;\n}\n\nexport interface PageActionContext {\n\tindex: number;\n\tisInline: boolean;\n\trenderLink: LayoutLinkRenderer;\n}\n\n/** @deprecated Use PageHeaderAction with `primaryAction` and `secondaryActions`. */\nexport interface PageAction extends ActionPresentation {\n\tid?: string;\n\t/** Display label. */\n\tlabel: ReactNode;\n\tonClick?: () => void;\n\t/** Destination for the entry, when it navigates. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\texternal?: boolean;\n\t/** Shows the pending indicator. */\n\tloading?: boolean;\n\t/** Leading glyph. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Optional inline button size. Defaults to the PageActions `size` prop. */\n\tsize?: ButtonSize;\n\tgroup?: string;\n\tplacement?: 'auto' | 'inline' | 'menu';\n\t/** Escape hatch for one action only. Prefer `renderAction` for consistent customization. */\n\telement?: ReactNode | JSX.Element;\n}\n\nexport type PageActionsDisplay = 'flat' | 'dropdown' | 'auto';\n\nexport interface PageActionsStrings {\n\tmenuLabel: string;\n}\n\nexport const defaultPageActionsStrings: PageActionsStrings = {\n\tmenuLabel: 'More actions',\n};\n\nexport interface PageActionsProps extends LayoutNavigationAdapter {\n\t/** Controls offered on the surface. */\n\tactions?: PageAction[];\n\t/** How actions are presented — inline, menu, or responsive. */\n\tdisplay?: PageActionsDisplay;\n\t/**\n\t * Inline action button scale, which the More actions square beside them\n\t * matches. Defaults to `sm`; set `md` for normal page-header buttons. A\n\t * menu-only ribbon follows the provider scale.\n\t */\n\tsize?: ButtonSize;\n\t/** Width at which responsive actions collapse into a menu. */\n\tbreakpoint?: number;\n\t/**\n\t * Maximum non-menu actions rendered inline before overflow moves them into\n\t * the dropdown menu. Defaults to 4 for admin header density.\n\t */\n\tmaxInlineActions?: number;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<PageActionsStrings>;\n\tclassName?: string;\n\t/** Merged onto the inline action row. */\n\tinlineClassName?: string;\n\t/** Merged onto the action menu. */\n\tmenuClassName?: string;\n\t/** Replaces the default action rendering. */\n\trenderAction?: (action: PageAction, context: PageActionContext) => ReactNode;\n}\n\nexport interface PageSlotProps {\n\t/** Native attributes merged onto the page body region. */\n\tbody?: LayoutSlotAttributes<HTMLDivElement>;\n\taside?: LayoutSlotAttributes<HTMLElement>;\n\ttoolbar?: LayoutSlotAttributes<HTMLDivElement>;\n\tfooter?: LayoutSlotAttributes<HTMLDivElement>;\n}\n\nexport interface PageSlots {\n\t/** Replaces the generated PageHeader. */\n\theader?: ReactNode;\n\ttoolbar?: ReactNode;\n\taside?: ReactNode;\n\tfooter?: ReactNode;\n\tloading?: ReactNode;\n\terror?: ReactNode;\n\tempty?: ReactNode;\n}\n\nexport interface PageProps\n\textends LayoutNavigationAdapter, Omit<ContainerProps, 'children'> {\n\t/** Header region of the shell. */\n\theader?: PageHeaderProps;\n\t/** Explicit width wins; otherwise narrow uses md, aside uses xl, and a single column uses lg. */\n\tmaxWidth?: ContainerMaxWidth;\n\t/** Center one resource or form at the existing `md` content measure. */\n\tnarrow?: boolean;\n\t/** Inline page gutters. Defaults to `lg`; none requires an existing padded parent. */\n\tgutter?: ContainerGutter;\n\t/** Block padding around the whole page. Defaults to `lg`, independent of gutter. */\n\tpadding?: ContainerGutter;\n\t/** Secondary context beside the primary body, adapting to the available container width. */\n\taside?: ReactNode;\n\t/** Main/aside proportions. Defaults to 7/5. */\n\tasideRatio?: TwoColumnLayoutProps['ratio'];\n\tstickyAside?: boolean;\n\t/** Query controls or context between header and body. */\n\ttoolbar?: ReactNode;\n\t/** Content above the header. */\n\tbeforeHeader?: ReactNode;\n\t/** Compatible toolbar fallback when toolbar and slots.toolbar are omitted. */\n\tafterHeader?: ReactNode;\n\t/** Replaces only the primary body; header, toolbar and aside remain mounted. */\n\tloading?: boolean;\n\terror?: ReactNode | Error;\n\tonRetry?: () => void;\n\tempty?: boolean;\n\temptySlot?: ReactNode;\n\t/** Region overrides take precedence over direct props. */\n\tslots?: PageSlots;\n\t/** Copy for the default loading, error and empty states. */\n\tstrings?: StringsProp<PageStrings>;\n\tchildren?: ReactNode;\n\t/** Native attributes for stable page regions. */\n\tslotProps?: PageSlotProps;\n}\n","/**\n * PageActions — composable action ribbon for page headers.\n *\n * Links go through `renderLink`, never router imports or DOM click hacks.\n * Use `renderAction` for app-specific rendering while keeping grouping,\n * filtering, breakpoint, and menu placement logic centralized.\n */\nimport { useEffect, useMemo, useState, type ReactElement } from 'react';\n\nimport {\n\tActionButtons,\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../../base/action-menu';\nimport { useStrings } from '../../../../lib/strings';\nimport { cn } from '../../../../lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport {\n\tdefaultPageActionsStrings,\n\ttype PageAction,\n\ttype PageActionContext,\n\ttype PageActionsProps,\n} from '../page.types';\n\nconst PAGE_ACTIONS_MENU_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\nconst DEFAULT_MAX_INLINE_ACTIONS = 4;\n\ntype PageActionEntry = {\n\t/** The action this surface performs. */\n\taction: PageAction;\n\tindex: number;\n};\n\nfunction toActionMenuAction(\n\t{ action, index }: PageActionEntry,\n\tcontextBase: Omit<PageActionContext, 'index' | 'isInline'>,\n\tisInline: boolean,\n\trenderAction?: PageActionsProps['renderAction'],\n): ActionMenuAction {\n\tconst context: PageActionContext = { ...contextBase, index, isInline };\n\tconst disabled = !!action.disabled || !!action.loading;\n\n\treturn {\n\t\tid: action.id ?? String(index),\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: action.href && !action.onClick ? action.href : undefined,\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled,\n\t\ttone: action.tone ?? 'secondary',\n\t\tbuttonStyle: action.buttonStyle ?? 'solid',\n\t\tbuttonSize: action.size,\n\t\tgroup: action.group,\n\t\trender: action.element ?? renderAction?.(action, context),\n\t};\n}\n\n/** @deprecated Pass page commands as `primaryAction` and `secondaryActions`; use ActionButtons for a toolbar row. */\nexport function PageActions({\n\tactions,\n\tdisplay = 'dropdown',\n\tsize = 'sm',\n\tbreakpoint = 1040,\n\tmaxInlineActions = DEFAULT_MAX_INLINE_ACTIONS,\n\trenderLink,\n\tstrings: stringsProp,\n\tclassName,\n\tinlineClassName,\n\tmenuClassName,\n\trenderAction,\n}: PageActionsProps) {\n\tconst strings = useStrings(defaultPageActionsStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink });\n\n\tconst filtered = useMemo<PageActionEntry[]>(\n\t\t() => (actions ?? [])\n\t\t\t.map((action, index) => ({ action, index }))\n\t\t\t.filter(({ action }) => action.visible !== false),\n\t\t[actions],\n\t);\n\n\tconst [isNarrow, setIsNarrow] = useState(false);\n\tuseEffect(() => {\n\t\tif (display !== 'auto' || typeof window === 'undefined') return;\n\n\t\tconst check = () => setIsNarrow(window.innerWidth <= breakpoint);\n\t\tcheck();\n\t\twindow.addEventListener('resize', check);\n\t\treturn () => window.removeEventListener('resize', check);\n\t}, [display, breakpoint]);\n\n\tif (filtered.length === 0) return null;\n\n\tconst inlineContextBase = { renderLink: resolvedRenderLink };\n\tconst renderActionLink = (props: ActionMenuLinkRenderProps) =>\n\t\tresolvedRenderLink({\n\t\t\t...props,\n\t\t\tchildren: props.children ?? null,\n\t\t}) as ReactElement;\n\tconst inlineClass = cn('flex min-w-0 max-w-full flex-wrap items-center gap-space-sm', inlineClassName, className);\n\tconst menuContentClass = cn(PAGE_ACTIONS_MENU_CLASS, menuClassName);\n\n\tif (display === 'dropdown' || (display === 'auto' && isNarrow)) {\n\t\tconst dropdownActions = filtered.map((entry) =>\n\t\t\ttoActionMenuAction(entry, inlineContextBase, false, renderAction),\n\t\t);\n\n\t\treturn (\n\t\t\t<ActionMenu\n\t\t\t\tactions={dropdownActions}\n\t\t\t\tcontext=\"commands\"\n\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\talign=\"end\"\n\t\t\t\tcloseOnSelect\n\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t\tpreserveOrder\n\t\t\t\trenderLink={renderActionLink}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst inlineLimit = Math.max(0, maxInlineActions);\n\tconst inlineCandidates = filtered.filter(({ action }) => (action.placement ?? 'auto') !== 'menu');\n\tconst inline = inlineCandidates.slice(0, inlineLimit);\n\tconst overflow = inlineCandidates.slice(inlineLimit);\n\tconst menu = [\n\t\t...overflow,\n\t\t...filtered.filter(({ action }) => (action.placement ?? 'auto') === 'menu'),\n\t];\n\tconst inlineActions = inline.map((entry) =>\n\t\ttoActionMenuAction(entry, inlineContextBase, true, renderAction),\n\t);\n\tconst menuActions = menu.map((entry) =>\n\t\ttoActionMenuAction(entry, inlineContextBase, false, renderAction),\n\t);\n\n\treturn (\n\t\t<div className={inlineClass}>\n\t\t\t<ActionButtons\n\t\t\t\tactions={inlineActions}\n\t\t\t\tsize={size}\n\t\t\t\trenderLink={renderActionLink}\n\t\t\t/>\n\t\t\t{menu.length > 0 && (\n\t\t\t\t<ActionMenu\n\t\t\t\t\tactions={menuActions}\n\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\tsrText={strings.menuLabel}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tcontentClassName={menuContentClass}\n\t\t\t\t\tpreserveOrder\n\t\t\t\t\trenderLink={renderActionLink}\n\t\t\t\t\t// The square matches the inline commands it ends.\n\t\t\t\t\tbuttonProps={{ size }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-Br8TdV9A.js","names":["PaginationContent","PaginationItem","UIPagination","UIPaginationContent","UIPaginationItem","resolveComponentScale","useDensityConfig","cn","Button","Text","Pagination","props","className","PaginationContent$1","PaginationItem$1","pageMinWidthClasses","pageSquareClasses","defaultPaginationStrings","PaginationStringsContext","createContext","usePaginationStrings","inheritedStrings","useContext","useStrings","stringsProp","isSimpleText","value","PaginationPrimitive","ariaLabel","strings","PaginationContent","PaginationEllipsis","sizeProp","size","defaultScale","MoreHorizontalIcon","label","PaginationItem","PaginationLink","active","children","PaginationPrevious","_children","ChevronLeftIcon","text","PaginationNext","ChevronRightIcon"],"sources":["../src/components/ui/pagination.tsx","../src/components/base/navigation/pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"./button\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\n \"mx-auto flex w-full justify-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex items-center\", className)}\n {...props}\n />\n )\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <Button\n variant={isActive ? \"outline\" : \"ghost\"}\n size={size}\n className={cn(className)}\n nativeButton={false}\n render={\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n {...props}\n />\n }\n />\n )\n}\n\nfunction PaginationPrevious({\n className,\n text = \"Previous\",\n ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"pl-2!\", className)}\n {...props}\n >\n <ChevronLeftIcon data-icon=\"inline-start\" />\n <span className=\"hidden sm:block\">\n {text}\n </span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({\n className,\n text = \"Next\",\n ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"pr-2!\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">{text}</span>\n <ChevronRightIcon data-icon=\"inline-end\" />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\n \"size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-icon flex items-center justify-center\",\n className\n )}\n {...props}\n >\n <MoreHorizontalIcon\n />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n","import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';\nimport { createContext, useContext, type ComponentProps, type ReactNode } from 'react';\n\nimport {\n\tPagination as UIPagination,\n\tPaginationContent as UIPaginationContent,\n\tPaginationItem as UIPaginationItem,\n} from '../../ui/pagination';\nimport { Button, type ButtonProps } from '../buttons';\nimport { Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\nimport { resolveComponentScale, useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\n\nconst pageMinWidthClasses: Record<ComponentScale, string> = {\n\tsm: 'min-w-action-sm', md: 'min-w-action', lg: 'min-w-action-lg',\n};\nconst pageSquareClasses: Record<ComponentScale, string> = {\n\tsm: 'size-action-sm', md: 'size-action', lg: 'size-action-lg',\n};\n\nexport interface PaginationStrings {\n\tnavigationLabel: string;\n\tmorePages: string;\n\tprevious: string;\n\tnext: string;\n\tpreviousLabel: string;\n\tnextLabel: string;\n}\n\nexport const defaultPaginationStrings: PaginationStrings = {\n\tnavigationLabel: 'pagination',\n\tmorePages: 'More pages',\n\tprevious: 'Previous',\n\tnext: 'Next',\n\tpreviousLabel: 'Go to previous page',\n\tnextLabel: 'Go to next page',\n};\n\nconst PaginationStringsContext = createContext<PaginationStrings>(defaultPaginationStrings);\n\nfunction usePaginationStrings(stringsProp?: StringsProp<PaginationStrings>) {\n\tconst inheritedStrings = useContext(PaginationStringsContext);\n\treturn useStrings(inheritedStrings, stringsProp);\n}\n\nexport interface PaginationProps extends ComponentProps<typeof UIPagination> {\n\t/** Pagination items, normally blocks through `PaginationContent`. */\n\tchildren?: ReactNode;\n\t/** Accessible label for the pagination navigation landmark. */\n\t'aria-label'?: string;\n\t/** Additional classes merged with the package pagination root hook. */\n\tclassName?: string;\n\t/** Localizable navigation, direction, and ellipsis labels inherited by compound parts. */\n\tstrings?: StringsProp<PaginationStrings>;\n}\nexport type PaginationContentProps = ComponentProps<typeof UIPaginationContent>;\nexport type PaginationEllipsisProps = ComponentProps<'span'> & {\n\t/** Matches page-link geometry; falls back to the provider scale. */\n\tsize?: ComponentScale;\n\t/** Copy for the control. */\n\tlabel?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\nexport type PaginationItemProps = ComponentProps<typeof UIPaginationItem>;\nexport interface PaginationLinkProps extends Omit<\n\tButtonProps,\n\t'buttonStyle' | 'children' | 'variant'\n> {\n\tchildren?: ReactNode;\n\t/** Marks the current page. */\n\tactive?: boolean;\n}\nexport type PaginationNextProps = PaginationLinkProps & {\n\t/** Visible label for the control. */\n\ttext?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\nexport type PaginationPreviousProps = PaginationLinkProps & {\n\t/** Visible label for the control. */\n\ttext?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/**\n * Tokenized pagination navigation root.\n *\n * Compose it with the exported content, item, link, previous, next, and\n * ellipsis parts when consumers need explicit page navigation markup.\n */\n\nexport function PaginationPrimitive({ className, strings: stringsProp, children, 'aria-label': ariaLabel, ...props }: PaginationProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationStringsContext.Provider value={strings}>\n\t\t\t<UIPagination\n\t\t\t\taria-label={ariaLabel ?? strings.navigationLabel}\n\t\t\t\tclassName={cn('pagination-primitives--component', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</UIPagination>\n\t\t</PaginationStringsContext.Provider>\n\t);\n}\n\nexport function PaginationContent({ className, ...props }: PaginationContentProps) {\n\treturn (\n\t\t<UIPaginationContent\n\t\t\tclassName={cn('pagination-primitives--content m-0 p-0 list-none gap-space-2xs', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n\nexport function PaginationEllipsis({ className, label, size: sizeProp, strings: stringsProp, ...props }: PaginationEllipsisProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"pagination-ellipsis\"\n\t\t\t// Same square as a page link, so the row keeps one rhythm around the gap.\n\t\t\tclassName={cn('pagination-primitives--ellipsis inline-flex shrink-0 items-center justify-center text-muted-foreground', pageSquareClasses[size], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<MoreHorizontalIcon className=\"size-icon\" aria-hidden=\"true\" />\n\t\t\t<Text tag=\"span\" size=\"inherit\" className=\"sr-only\">\n\t\t\t\t{label ?? strings.morePages}\n\t\t\t</Text>\n\t\t</span>\n\t);\n}\n\nexport function PaginationItem(props: PaginationItemProps) {\n\treturn <UIPaginationItem {...props} />;\n}\n\nexport function PaginationLink({ className, children, active = false, size: sizeProp, ...props }: PaginationLinkProps) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\treturn (\n\t\t<Button\n\t\t\tsize={size}\n\t\t\ttone=\"secondary\"\n\t\t\tbuttonStyle={active ? 'outline' : 'ghost'}\n\t\t\taria-current={active ? 'page' : undefined}\n\t\t\tdata-slot=\"pagination-link\"\n\t\t\tdata-active={active || undefined}\n\t\t\t// Page numbers are action-height squares that widen only for long numbers.\n\t\t\tclassName={cn('pagination-primitives--link px-control-xs', pageMinWidthClasses[size], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</Button>\n\t);\n}\n\n\nexport function PaginationPrevious({ className, text, strings: stringsProp, children: _children, ...props }: PaginationPreviousProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationLink\n\t\t\taria-label={strings.previousLabel}\n\t\t\tclassName={cn('pagination-primitives--previous sm:!ps-control-sm sm:!pe-control', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronLeftIcon data-icon=\"inline-start\" aria-hidden=\"true\" />\n\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"hidden text-inherit sm:block\">\n\t\t\t\t{text ?? strings.previous}\n\t\t\t</Text>\n\t\t</PaginationLink>\n\t);\n}\n\n\nexport function PaginationNext({ className, text, strings: stringsProp, children: _children, ...props }: PaginationNextProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationLink\n\t\t\taria-label={strings.nextLabel}\n\t\t\tclassName={cn('pagination-primitives--next sm:!ps-control sm:!pe-control-sm', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"hidden text-inherit sm:block\">\n\t\t\t\t{text ?? strings.next}\n\t\t\t</Text>\n\t\t\t<ChevronRightIcon data-icon=\"inline-end\" aria-hidden=\"true\" />\n\t\t</PaginationLink>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-k8TdUcAt.js","names":["Popover","PopoverPrimitive","React","PopoverContent","PopoverHeader","PopoverTitle","PopoverDescription","React","PopoverContentPrimitive","PopoverHeaderPrimitive","PopoverTitlePrimitive","PopoverDescriptionPrimitive","useThemePortalContainer","Text","anchoredPositionMethod","portalClassName","motionRecipes","Slot","Stack","surfaceDividerRecipes","surfaceInsetClasses","popoverRecipes","usePopupFocusRecovery","React$1","Popover$1","props","Popover","PopoverTrigger","slotRender","asChild","safeRender","render","_nativeButton","rest","renderProps","state","inferredNativeButton","children","resolvedNativeButton","nativeButton","PopoverAnchor","PopoverContent$1","disablePortal","resolvedContainer","container","recoverFocus","onFocusCapture","inlineHost","setInlineHost","content","cn","className","PopoverHeader$1","PopoverTitle$1","PopoverDescription$1","isSimpleText","value","PopoverSurfaceContext","PopoverContent","resolvedType","type","inset","PopoverHeader","surface","copyGap","textGap","band","menu","hasStart","start","PopoverTitle","compact","PopoverDescription","PopoverFooter","childrenAsCaption","caption"],"sources":["../src/components/ui/popover.tsx","../src/components/base/popover/popover.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../lib/anchored-positioning';\nimport { portalClassName } from '../../lib/portal-recipes';\nimport { usePopupFocusRecovery } from '../../lib/use-popup-focus-recovery';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { useThemePortalContainer, type ThemePortalContainer } from '../../lib/theme-scope';\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\nimport * as React from \"react\"\n\nimport { Slot } from \"./slot\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: PopoverPrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n asChild = false,\n ...props\n}: React.ComponentPropsWithoutRef<\"span\"> & { asChild?: boolean }) {\n if (asChild) {\n return <Slot {...props} />\n }\n\n return <span data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n container,\n anchor,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n disablePortal = false,\n positionMethod = disablePortal ? \"absolute\" : anchoredPositionMethod,\n onOpenAutoFocus,\n onInteractOutside,\n onFocusCapture,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"anchor\" | \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"positionMethod\"\n > & {\n disablePortal?: boolean\n onOpenAutoFocus?: (event: Event) => void\n onInteractOutside?: (event: Event) => void\n } & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n const [inlineHost, setInlineHost] = React.useState<HTMLDivElement | null>(null)\n void onOpenAutoFocus\n void onInteractOutside\n\n const content = (\n <PopoverPrimitive.Positioner\n anchor={anchor}\n positionMethod={positionMethod}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"box-border isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n motionRecipes.popup,\n \"bg-popover text-popover-foreground ring-foreground/10 flex flex-col gap-space-xl rounded-surface p-surface text-sm shadow-md ring-1 z-50 w-72 origin-(--transform-origin) outline-hidden\",\n className\n )}\n {...props}\n onFocusCapture={recoverFocus}\n />\n </PopoverPrimitive.Positioner>\n )\n\n if (disablePortal) {\n // Base UI requires Portal context; a local host preserves inline DOM locality.\n return <div data-popover-inline-host=\"\" className=\"contents\" ref={setInlineHost}>\n <PopoverPrimitive.Portal container={inlineHost} className={portalClassName()}>{content}</PopoverPrimitive.Portal>\n </div>\n }\n\n return <PopoverPrimitive.Portal container={resolvedContainer} className={portalClassName()}>{content}</PopoverPrimitive.Portal>\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"m-0 font-sans font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"m-0 font-sans text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","import { surfaceDividerRecipes } from '../../../lib/surface-recipes';\n/**\n * Popover — public wrapper around the internal Base UI popover implementation.\n *\n * What this layer adds on top of the primitive:\n * - Library-default `sideOffset` (6px) and an explicit inset contract:\n * card/multi-content popovers use `default`, item collections use\n * `compact`, and mixed region-owned compositions use `flush`.\n * - A consistent shadow + border treatment matching the rest of the\n * library (one semantic border, no extra primitive ring).\n * - Wraps the primitive parts with stable DOM hooks and adds a separated\n * footer region while preserving the compound-component pattern:\n * `<Popover>`, `<PopoverTrigger>`, `<PopoverContent>` exactly as\n * they would with the primitive.\n *\n * Use the shared inset role for padding; className owns placement. Override\n * `--surface-x` / `--surface-y` / `--space-scale` on a wrapper for surface-wide\n * density tweaks.\n */\nimport * as React from 'react';\n\nimport {\n\tPopover as PopoverPrimitive,\n\tPopoverAnchor,\n\tPopoverContent as PopoverContentPrimitive,\n\tPopoverDescription as PopoverDescriptionPrimitive,\n\tPopoverHeader as PopoverHeaderPrimitive,\n\tPopoverTitle as PopoverTitlePrimitive,\n\tPopoverTrigger,\n} from '../../ui/popover';\nimport { Text } from '../../typography';\nimport { Stack, type TextGap } from '../structure';\nimport { cn } from '../../../lib/utils';\nimport { popoverRecipes, surfaceInsetClasses, type PopoverContentType } from './popover.recipes';\nexport type { PopoverContentType } from './popover.recipes';\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\ntype PopoverContentBaseProps = React.ComponentProps<typeof PopoverContentPrimitive>;\n\nexport type PopoverContentInset = 'default' | 'compact' | 'flush';\n\nexport type PopoverContentProps = PopoverContentBaseProps & {\n\t/**\n\t * Surface inset role. `default` is for card-like or multi-content popovers,\n\t * `compact` for item collections (or the small surface tier with explicit\n\t * type=\"display\"), and `flush` when child regions own their padding.\n\t */\n\tinset?: PopoverContentInset;\n\t/** Anatomy role; supplies the inferred inset only when inset is omitted. */\n\ttype?: PopoverContentType;\n};\n\nconst PopoverSurfaceContext = React.createContext({ type: 'display' as PopoverContentType, flush: false, regionOwned: false });\n\n/** Anchored content surface with a semantic inset role and package popover chrome. */\nfunction PopoverContent({\n\tclassName,\n\tsideOffset = 6,\n\tinset,\n\ttype,\n\tstyle,\n\t...props\n}: PopoverContentProps) {\n const resolvedType = type ?? (inset === 'compact' ? 'menu' : 'display');\n return (\n <PopoverSurfaceContext.Provider value={{ type: resolvedType, flush: inset === 'flush', regionOwned: false }}>\n\t\t<PopoverContentPrimitive\n\t\t\tdata-surface-type={resolvedType}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn('popover--component',\n\t\t\t\t// A popover is a small surface, not a compressed tooltip. The\n\t\t\t\t// unsuffixed surface token is the package-wide default and remains\n\t\t\t\t// responsive to scoped spacing changes.\n\t\t\t\t'gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain',\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tresolvedType === 'display' && inset === 'compact'\n\t\t\t\t\t? popoverRecipes.displayCompact\n\t\t\t\t\t: surfaceInsetClasses[inset ?? (resolvedType === 'menu' ? 'compact' : 'default')],\n\t\t\t\t// The shared recipe owns the semantic hairline border and shadow.\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\t{...props}\n\t\t/>\n </PopoverSurfaceContext.Provider>\n\t);\n}\n\ntype PopoverHeaderBaseProps = React.ComponentProps<typeof PopoverHeaderPrimitive> & {\n /** Leading control, aligned with collection highlight edges rather than label text. */\n start?: React.ReactNode;\n /** Copy rhythm. Defaults to dense for menus and normal for display surfaces. */\n textGap?: TextGap;\n};\n\nfunction PopoverHeader({ className, children, start, textGap, ...props }: PopoverHeaderBaseProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const copyGap = textGap ?? (surface.type === 'menu' ? 'dense' : 'normal');\n const band = surface.flush && !surface.regionOwned;\n const menu = surface.type === 'menu' && !surface.regionOwned;\n const hasStart = start != null && start !== false;\n return (\n\t\t<PopoverHeaderPrimitive\n\t\t\tclassName={cn(\n 'popover-header--component',\n copyGap === 'dense' ? 'gap-dense' : 'gap-normal',\n band && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n !band && menu && 'py-row-y',\n hasStart && 'flex-row items-center gap-space-md',\n band && surfaceDividerRecipes.anchored.header,\n className,\n )}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {start}\n <Stack gap={copyGap} className={cn('popover-header--body min-w-0 flex-1', menu && !hasStart && popoverRecipes.menuCopyInset)}>\n {children}\n </Stack>\n </PopoverSurfaceContext.Provider>\n </PopoverHeaderPrimitive>\n\t);\n}\n\ntype PopoverTitleBaseProps = React.ComponentProps<typeof PopoverTitlePrimitive>;\n\nfunction PopoverTitle({ children, className, ...props }: PopoverTitleBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverTitlePrimitive\n\t\t\t// Plain text sets its own leading; the heading's inherited line box would\n\t\t\t// otherwise add a strut above the description.\n\t\t\tclassName={cn('popover-title--component', isSimpleText(children) && 'leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tsize={compact ? undefined : 'base'}\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tlineHeight=\"snug\"\n\t\t\t\t\tclassName=\"popover-title--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverTitlePrimitive>\n\t);\n}\n\ntype PopoverDescriptionBaseProps = React.ComponentProps<typeof PopoverDescriptionPrimitive>;\n\nfunction PopoverDescription({ children, className, ...props }: PopoverDescriptionBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverDescriptionPrimitive\n\t\t\tclassName={cn('popover-description--component', isSimpleText(children) && 'leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"secondary\"\n size={compact ? 'xs' : undefined}\n\t\t\t\t\tlineHeight={compact ? 'normal' : 'relaxed'}\n\t\t\t\t\tclassName=\"popover-description--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverDescriptionPrimitive>\n\t);\n}\n\ntype PopoverFooterProps = React.ComponentProps<'div'> & {\n /** Leading supporting content, one small step inside the region edge like the header; children are trailing actions. */\n caption?: React.ReactNode;\n};\n\nfunction PopoverFooter({ className, children, caption, ...props }: PopoverFooterProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const childrenAsCaption = caption == null && isSimpleText(children);\n const content = caption ?? (childrenAsCaption ? children : undefined);\n return (\n\t\t<Stack\n\t\t\tdirection=\"horizontal\"\n\t\t\tgap=\"sm\"\n\t\t\tjustify=\"end\"\n\t\t\twrap\n\t\t\tclassName={cn(\n\t\t\t\t'popover-footer--component pt-space-sm', surfaceDividerRecipes.anchored.footer,\n surface.flush && !surface.regionOwned && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {content != null && <div className={cn('popover-footer--caption me-auto min-w-0 max-w-full', surface.type === 'menu' && !surface.regionOwned && popoverRecipes.menuCopyInset)}>\n {isSimpleText(content) ? <Text tag=\"span\" size=\"xs\" type=\"secondary\">{content}</Text> : content}\n </div>}\n {!childrenAsCaption && children}\n </PopoverSurfaceContext.Provider>\n </Stack>\n\t);\n}\n\nexport {\n\tPopoverPrimitive as Popover,\n\tPopoverAnchor,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverFooter,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverTrigger,\n};\n"],"mappings":"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"}
@@ -1,385 +0,0 @@
1
- "use client";
2
- import { f as e, v as t } from "./ui-provider-C-74NVLc.js";
3
- import { t as n } from "./utils-DhuoqFy4.js";
4
- import { c as r, i, l as a, r as o, u as s } from "./typography-C7-YMW1S.js";
5
- import { i as c } from "./text.styles-B64My8RZ.js";
6
- import { n as l, r as u, s as d, t as f } from "./value-typography-uSzzG9Gf.js";
7
- import { t as p } from "./initials-format-CDoQEOd_.js";
8
- import "react";
9
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
10
- //#region src/components/primitives/value.tsx
11
- var _ = {
12
- type: "main",
13
- weight: "regular"
14
- }, v = {
15
- type: "secondary",
16
- weight: "regular",
17
- keepType: !0
18
- }, y = {
19
- type: "main",
20
- weight: "medium",
21
- inTextLineHeight: "none"
22
- };
23
- function b(e) {
24
- return e == null || e === "";
25
- }
26
- function x({ valueRole: e, hookClassName: t, numeric: i = !1, children: a, emptyLabel: o = "—", size: s, align: c, weight: u, type: d, lineHeight: p, className: m, ref: g, ..._ }) {
27
- let v = l({
28
- size: s,
29
- type: d,
30
- weight: u,
31
- lineHeight: p
32
- }, e), y = b(a), x = y ? f(v, u) : v;
33
- return /* @__PURE__ */ h(r, {
34
- ref: g,
35
- tag: "span",
36
- size: x.size,
37
- align: c,
38
- weight: x.weight,
39
- type: x.type,
40
- lineHeight: x.lineHeight,
41
- numeric: i && !y,
42
- className: n(t, m),
43
- ..._,
44
- children: y ? o : a
45
- });
46
- }
47
- function S(e) {
48
- return /* @__PURE__ */ h(x, {
49
- ...e,
50
- valueRole: _,
51
- hookClassName: "value--component inline min-w-0"
52
- });
53
- }
54
- function C(e) {
55
- return /* @__PURE__ */ h(x, {
56
- ...e,
57
- valueRole: v,
58
- hookClassName: "secondary-value--component inline min-w-0"
59
- });
60
- }
61
- function w(e) {
62
- return /* @__PURE__ */ h(x, {
63
- ...e,
64
- valueRole: v,
65
- hookClassName: "muted-value--component inline min-w-0"
66
- });
67
- }
68
- function T(e) {
69
- return /* @__PURE__ */ h(x, {
70
- ...e,
71
- valueRole: y,
72
- numeric: !0,
73
- hookClassName: "mono-value--component inline min-w-0 break-words"
74
- });
75
- }
76
- function E({ children: e = "—", ...t }) {
77
- return /* @__PURE__ */ h(x, {
78
- ...t,
79
- valueRole: v,
80
- emptyLabel: "—",
81
- hookClassName: "empty-value--component inline min-w-0",
82
- children: e
83
- });
84
- }
85
- //#endregion
86
- //#region src/components/primitives/name.tsx
87
- var D = /(\s+)/u, O = /([-'])/u, k = /\p{L}/u, ee = /\p{L}/gu;
88
- function A(e) {
89
- return e.trim().replace(/\s+/g, " ");
90
- }
91
- function j(e) {
92
- return e.match(ee)?.join("") ?? "";
93
- }
94
- function M(e) {
95
- let t = k.exec(e);
96
- return t ? {
97
- index: t.index,
98
- value: t[0]
99
- } : null;
100
- }
101
- function N(e) {
102
- let t = M(e);
103
- if (!t) return !0;
104
- let n = j(e);
105
- if (n.length <= 1) return t.value === t.value.toLocaleUpperCase();
106
- let r = n === n.toLocaleUpperCase(), i = n === n.toLocaleLowerCase();
107
- return t.value === t.value.toLocaleUpperCase() && !r && !i;
108
- }
109
- function P(e) {
110
- return A(e).split(D).filter((e) => e.trim() !== "").every((e) => e.split(O).filter((e) => e !== "-" && e !== "'").every(N));
111
- }
112
- function F(e) {
113
- let t = M(e);
114
- if (!t) return e;
115
- let n = e.slice(0, t.index), r = e.slice(t.index + t.value.length);
116
- return `${n}${t.value.toLocaleUpperCase()}${r.toLocaleLowerCase()}`;
117
- }
118
- function I(e) {
119
- return e.split(O).map((e) => e === "-" || e === "'" ? e : F(e)).join("");
120
- }
121
- function L(e, t = {}) {
122
- if (e == null) return "";
123
- let n = A(e);
124
- return n ? !t.force && P(n) ? n : n.split(D).map((e) => e.trim() === "" ? e : I(e)).join("") : "";
125
- }
126
- function R({ value: e, children: t, force: r, className: i, ref: a, ...o }) {
127
- let s = e ?? (typeof t == "string" ? t : void 0), c = s === void 0 ? t : L(s, { force: r });
128
- return /* @__PURE__ */ h(S, {
129
- ref: a,
130
- className: n("name--component", i),
131
- ...o,
132
- children: c
133
- });
134
- }
135
- //#endregion
136
- //#region src/components/primitives/initials.tsx
137
- function z({ value: e, strategy: t, maxCharacters: r, locale: i, fallback: a, size: o = "inherit", type: s = "inherit", weight: c = "inherit", className: l, ref: u, ...d }) {
138
- return /* @__PURE__ */ h(S, {
139
- ref: u,
140
- ...d,
141
- size: o,
142
- type: s,
143
- weight: c,
144
- className: n("initials--component", l),
145
- children: p(e, {
146
- strategy: t,
147
- maxCharacters: r,
148
- locale: i,
149
- fallback: a
150
- })
151
- });
152
- }
153
- //#endregion
154
- //#region src/components/primitives/link.tsx
155
- function B({ children: e, emptyLabel: r = "—", className: l, ref: u, ...d }) {
156
- let f = s(), { defaultTextSize: p } = t();
157
- return e == null || e === "" ? /* @__PURE__ */ h(V, {
158
- ref: u,
159
- className: n("link--component", l),
160
- emptyLabel: r,
161
- linkProps: d
162
- }) : /* @__PURE__ */ h("a", {
163
- ref: u,
164
- "data-typography": "link",
165
- className: n(c({
166
- type: null,
167
- size: f ? "inherit" : p,
168
- weight: null,
169
- align: null,
170
- lineHeight: f ? null : "normal"
171
- }), "link--component text-link-color wrap-anywhere", o, f ? `${i} hover:decoration-transparent` : "no-underline underline-offset-[0.2em] hover:underline", l),
172
- ...d,
173
- children: /* @__PURE__ */ h(a.Provider, {
174
- value: !0,
175
- children: e
176
- })
177
- });
178
- }
179
- function V({ className: e, emptyLabel: t, ref: n, linkProps: r }) {
180
- let { href: i, target: a, rel: o, download: s, hrefLang: c, ping: l, referrerPolicy: u, media: d, type: f, ...p } = r;
181
- return /* @__PURE__ */ h(E, {
182
- ...p,
183
- ref: n,
184
- className: e,
185
- children: t
186
- });
187
- }
188
- function H({ value: e, display: t, subject: r, body: i, className: a, emptyLabel: o = "—", ref: s, ...c }) {
189
- if (!e) return /* @__PURE__ */ h(V, {
190
- ref: s,
191
- className: n("email--component", a),
192
- emptyLabel: o,
193
- linkProps: c
194
- });
195
- let l = new URLSearchParams();
196
- r && l.set("subject", r), i && l.set("body", i);
197
- let u = `mailto:${e}${l.size ? `?${l.toString()}` : ""}`;
198
- return /* @__PURE__ */ h(B, {
199
- ref: s,
200
- className: n("email--component", a),
201
- href: u,
202
- emptyLabel: o,
203
- ...c,
204
- children: t ?? e
205
- });
206
- }
207
- function U(e) {
208
- return e.replace(/[^\d+*#;,.]/g, "");
209
- }
210
- function W({ value: e, display: t, className: r, emptyLabel: i = "—", ref: a, ...o }) {
211
- return e ? /* @__PURE__ */ h(B, {
212
- ref: a,
213
- className: n("phone--component wrap-normal", r),
214
- href: `tel:${U(e)}`,
215
- emptyLabel: i,
216
- ...o,
217
- children: t ?? e
218
- }) : /* @__PURE__ */ h(V, {
219
- ref: a,
220
- className: n("phone--component", r),
221
- emptyLabel: i,
222
- linkProps: o
223
- });
224
- }
225
- function G(e) {
226
- return /^[a-z][a-z\d+\-.]*:/i.test(e) || e.startsWith("/") || e.startsWith("#") ? e : `https://${e}`;
227
- }
228
- function K({ value: e, display: t, external: r, target: i, rel: a, className: o, emptyLabel: s = "—", ref: c, ...l }) {
229
- if (!e) return /* @__PURE__ */ h(V, {
230
- ref: c,
231
- className: n("url--component", o),
232
- emptyLabel: s,
233
- linkProps: {
234
- ...l,
235
- target: i,
236
- rel: a
237
- }
238
- });
239
- let u = G(e), d = r ?? /^https?:\/\//i.test(u), f = i ?? (d ? "_blank" : void 0), p = a ?? (d ? "noreferrer" : void 0);
240
- return /* @__PURE__ */ h(B, {
241
- ref: c,
242
- className: n("url--component", o),
243
- href: u,
244
- target: f,
245
- rel: p,
246
- emptyLabel: s,
247
- ...l,
248
- children: t ?? e
249
- });
250
- }
251
- //#endregion
252
- //#region src/components/primitives/file-size.tsx
253
- var q = {
254
- type: "main",
255
- weight: "regular"
256
- }, J = [
257
- "B",
258
- "KB",
259
- "MB",
260
- "GB",
261
- "TB"
262
- ], Y = {
263
- bytes: 1,
264
- kb: 1024,
265
- mb: 1024 ** 2,
266
- gb: 1024 ** 3,
267
- tb: 1024 ** 4
268
- };
269
- function X(e, t = "bytes") {
270
- return typeof e != "number" || !Number.isFinite(e) || e <= 0 ? null : e * Y[t];
271
- }
272
- function Z(e, t) {
273
- let n = typeof t == "string" ? t : t?.locale, r = X(e, typeof t == "string" ? "bytes" : t?.from ?? "bytes");
274
- if (r === null) return null;
275
- let i = r, a = 0;
276
- for (; i >= 1024 && a < J.length - 1;) i /= 1024, a += 1;
277
- return `${new Intl.NumberFormat(n, {
278
- maximumFractionDigits: a === 0 ? 0 : 1,
279
- minimumFractionDigits: 0
280
- }).format(i)} ${J[a]}`;
281
- }
282
- function te({ value: t, from: i = "bytes", locale: a, emptyLabel: o = "—", size: s, align: c = "right", weight: u, type: d, className: p, ref: m, ...g }) {
283
- let _ = e(), v = l({
284
- size: s,
285
- type: d,
286
- weight: u
287
- }, q), y = Z(t, {
288
- from: i,
289
- locale: a ?? _.locale
290
- }), b = y === null ? f(v, u) : v;
291
- return /* @__PURE__ */ h(r, {
292
- ref: m,
293
- tag: "span",
294
- size: b.size,
295
- align: c,
296
- weight: b.weight,
297
- type: b.type,
298
- lineHeight: b.lineHeight,
299
- className: n("file-size--component inline tabular-nums", p),
300
- ...g,
301
- children: y ?? o
302
- });
303
- }
304
- //#endregion
305
- //#region src/components/primitives/duration.tsx
306
- var ne = {
307
- type: "main",
308
- weight: "regular"
309
- };
310
- function re({ value: t, from: i = "seconds", locale: a, maxParts: o = 2, unitDisplay: s = "narrow", minimumFractionDigits: c, maximumFractionDigits: d, emptyLabel: p = "—", size: m, align: g = "right", weight: _, type: v, className: y, ref: b, ...x }) {
311
- let S = e(), C = l({
312
- size: m,
313
- type: v,
314
- weight: _
315
- }, ne), w = t == null ? null : u(t, {
316
- from: i,
317
- locale: a ?? S.locale,
318
- maxParts: o,
319
- unitDisplay: s,
320
- minimumFractionDigits: c,
321
- maximumFractionDigits: d ?? (i === "milliseconds" ? 1 : void 0)
322
- }), T = w === null || w === "—", E = T ? f(C, _) : C;
323
- return /* @__PURE__ */ h(r, {
324
- ref: b,
325
- tag: "span",
326
- size: E.size,
327
- align: g,
328
- weight: E.weight,
329
- type: E.type,
330
- lineHeight: E.lineHeight,
331
- className: n("duration--component inline tabular-nums", y),
332
- ...x,
333
- children: T ? p : w
334
- });
335
- }
336
- //#endregion
337
- //#region src/components/primitives/dimensions.tsx
338
- var ie = {
339
- type: "main",
340
- weight: "regular"
341
- };
342
- function Q(e) {
343
- if (e == null || e === "") return null;
344
- if (typeof e == "number") return Number.isFinite(e) ? e : null;
345
- let t = e.trim().replace(",", ".");
346
- if (!t) return null;
347
- let n = Number(t);
348
- return Number.isFinite(n) ? n : null;
349
- }
350
- function $(e, t, { depth: n, unit: r, separator: i = " × ", locale: a, options: o } = {}) {
351
- let s = Q(e), c = Q(t), l = Q(n);
352
- if (s === null || c === null || n != null && n !== "" && l === null) return null;
353
- let u = new Intl.NumberFormat(a, o), f = [s, c];
354
- l !== null && f.push(l);
355
- let p = f.map((e) => d(u, e)).join(i);
356
- return r ? `${p} ${r}` : p;
357
- }
358
- function ae({ width: t, height: i, depth: a, unit: o, separator: s = " × ", locale: c, options: u, emptyLabel: d = "—", size: p, align: _ = "right", weight: v, type: y, className: b, ref: x, ...S }) {
359
- let C = e(), w = l({
360
- size: p,
361
- type: y,
362
- weight: v
363
- }, ie), T = $(t, i, {
364
- depth: a,
365
- separator: typeof s == "string" ? s : " × ",
366
- locale: c ?? C.locale,
367
- options: u
368
- }), E = T === null ? f(w, v) : w;
369
- return /* @__PURE__ */ h(r, {
370
- ref: x,
371
- tag: "span",
372
- size: E.size,
373
- align: _,
374
- weight: E.weight,
375
- type: E.type,
376
- lineHeight: E.lineHeight,
377
- className: n("dimensions--component inline tabular-nums", b),
378
- ...S,
379
- children: T === null ? d : /* @__PURE__ */ g(m, { children: [typeof s == "string" ? T : T.split(" × ").map((e, t) => /* @__PURE__ */ g("span", { children: [t > 0 && s, e] }, `${e}-${t}`)), !!o && /* @__PURE__ */ g(m, { children: [" ", o] })] })
380
- });
381
- }
382
- //#endregion
383
- export { S as _, Z as a, W as c, R as d, L as f, C as g, w as h, te as i, K as l, T as m, $ as n, H as o, E as p, re as r, B as s, ae as t, z as u };
384
-
385
- //# sourceMappingURL=primitives-BkkQjYl7.js.map