themelia-react-ui 2.0.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/MIGRATION.md +746 -7
  3. package/README.md +27 -23
  4. package/dist/{accordion-0tQUZ20r.js → accordion-DNVqwEIC.js} +36 -36
  5. package/dist/accordion-DNVqwEIC.js.map +1 -0
  6. package/dist/action-menu-D5343RwT.js +286 -0
  7. package/dist/action-menu-D5343RwT.js.map +1 -0
  8. package/dist/ai-artifact-otrz9ZwS.js +1214 -0
  9. package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
  10. package/dist/anchored-positioning-1U_eBFNx.js +9 -0
  11. package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
  12. package/dist/app-shell-CPN30Nb1.js +372 -0
  13. package/dist/app-shell-CPN30Nb1.js.map +1 -0
  14. package/dist/{attachment-BCpA4e7i.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-BCpA4e7i.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-B0girIk_.js → auth-g_oUTDDC.js} +234 -241
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-B9Jnp-T-.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-B9Jnp-T-.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-wWauMgAt.js → badge-oGiXblW7.js} +8 -9
  21. package/dist/badge-oGiXblW7.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +2 -2
  29. package/dist/base/cards.js +3 -3
  30. package/dist/base/carousel.js +11 -11
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +2 -2
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +4 -4
  42. package/dist/base/forms-numeric.js +2 -2
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +13 -13
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +203 -2
  48. package/dist/base/media-gallery.js.map +1 -0
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +32 -22
  54. package/dist/base/qr-code.js.map +1 -1
  55. package/dist/base/repeaters.js +91 -88
  56. package/dist/base/repeaters.js.map +1 -1
  57. package/dist/base/sidebar.js +2 -2
  58. package/dist/base/signature-pad.js +14 -14
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +6 -12
  62. package/dist/base/spinner.js.map +1 -1
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +3 -3
  66. package/dist/base/toaster.js +2 -2
  67. package/dist/base/tree.js +2 -2
  68. package/dist/base/upload-queue.js +303 -2
  69. package/dist/base/upload-queue.js.map +1 -0
  70. package/dist/base/upload.js +3 -4
  71. package/dist/base/value-inputs.js +1 -1
  72. package/dist/{batch-action-bar-BoqWIIpV.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-BoqWIIpV.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
  74. package/dist/blocks/admin.js +242 -228
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +395 -357
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/charts.js +1022 -0
  79. package/dist/blocks/analytics/charts.js.map +1 -0
  80. package/dist/blocks/analytics/usage-card.js +1 -1
  81. package/dist/blocks/analytics.js +171 -1365
  82. package/dist/blocks/analytics.js.map +1 -1
  83. package/dist/blocks/collaboration.js +1 -1
  84. package/dist/blocks/commerce/receipt.js +1 -1
  85. package/dist/blocks/commerce.js +1487 -1358
  86. package/dist/blocks/commerce.js.map +1 -1
  87. package/dist/blocks/data-display.js +2 -3
  88. package/dist/blocks/onboarding.js +91 -82
  89. package/dist/blocks/onboarding.js.map +1 -1
  90. package/dist/blocks/planning.js +25 -25
  91. package/dist/blocks/planning.js.map +1 -1
  92. package/dist/blocks/timelines.js +2 -2
  93. package/dist/{breadcrumbs-Bp9Ke7kd.js → breadcrumbs-CQ9JSlez.js} +52 -45
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-ChBovTx0.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-DeW0bQeK.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-CNXnmvV5.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-CNXnmvV5.js.map → cards-CgWyqvgZ.js.map} +1 -1
  101. package/dist/cascader-Cf05pwaq.js +444 -0
  102. package/dist/cascader-Cf05pwaq.js.map +1 -0
  103. package/dist/{chart-I7ROnsl8.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-I7ROnsl8.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-MoyHIAPs.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-MoyHIAPs.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-DHGtx0QV.js → choice-inputs-oJEsrb5Y.js} +113 -114
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BSJyq9e-.js → code-block-BrLD7mCi.js} +44 -60
  110. package/dist/code-block-BrLD7mCi.js.map +1 -0
  111. package/dist/collapsible-CRCCg_bO.js +80 -0
  112. package/dist/collapsible-CRCCg_bO.js.map +1 -0
  113. package/dist/{collection-content-CSnwtOTH.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-CSnwtOTH.js.map → collection-content-D7SoDlYd.js.map} +1 -1
  115. package/dist/combobox-Dl6f6kHz.js +362 -0
  116. package/dist/combobox-Dl6f6kHz.js.map +1 -0
  117. package/dist/combobox-DrDXtSSt.js +929 -0
  118. package/dist/combobox-DrDXtSSt.js.map +1 -0
  119. package/dist/command-CjZ2VzKC.js +432 -0
  120. package/dist/command-CjZ2VzKC.js.map +1 -0
  121. package/dist/comments-C2MZyRmh.js +1214 -0
  122. package/dist/comments-C2MZyRmh.js.map +1 -0
  123. package/dist/components/base/accordion/accordion.d.ts +11 -3
  124. package/dist/components/base/action-menu/action-menu.d.ts +11 -3
  125. package/dist/components/base/buttons/button.d.ts +2 -2
  126. package/dist/components/base/buttons/index.d.ts +1 -1
  127. package/dist/components/base/buttons/loader-button.d.ts +6 -15
  128. package/dist/components/base/cards/index.d.ts +1 -1
  129. package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
  130. package/dist/components/base/cards/smart-card.d.ts +0 -2
  131. package/dist/components/base/cards/smart-card.types.d.ts +12 -10
  132. package/dist/components/base/cascader/cascader.d.ts +8 -2
  133. package/dist/components/base/cascader/cascader.types.d.ts +24 -2
  134. package/dist/components/base/cascader/index.d.ts +1 -1
  135. package/dist/components/base/choice-inputs/switch.d.ts +1 -1
  136. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  137. package/dist/components/base/command/command.d.ts +1 -1
  138. package/dist/components/base/date-pickers/datepicker.types.d.ts +1 -3
  139. package/dist/components/base/display/dialog.d.ts +3 -9
  140. package/dist/components/base/display/index.d.ts +2 -3
  141. package/dist/components/base/display/separator.d.ts +1 -1
  142. package/dist/components/base/feedback/alert.d.ts +2 -1
  143. package/dist/components/base/feedback/empty.d.ts +10 -2
  144. package/dist/components/base/forms/workflow.d.ts +2 -2
  145. package/dist/components/base/forms-numeric/dimensions-input.d.ts +9 -17
  146. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  147. package/dist/components/base/item/item.types.d.ts +6 -2
  148. package/dist/components/base/metadata-list/index.d.ts +1 -3
  149. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  150. package/dist/components/base/navigation/index.d.ts +2 -2
  151. package/dist/components/base/navigation/language-switcher.d.ts +7 -6
  152. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  153. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  154. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  155. package/dist/components/base/navigation/pagination.d.ts +5 -5
  156. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  157. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  158. package/dist/components/base/repeaters/index.d.ts +1 -1
  159. package/dist/components/base/repeaters/key-value-editor.d.ts +4 -0
  160. package/dist/components/base/sheet/sheet.d.ts +6 -15
  161. package/dist/components/base/sidebar/index.d.ts +1 -6
  162. package/dist/components/base/sidebar/sidebar.d.ts +38 -10
  163. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  164. package/dist/components/base/structure/structure.types.d.ts +11 -2
  165. package/dist/components/base/text-inputs/index.d.ts +1 -1
  166. package/dist/components/base/tree/index.d.ts +1 -0
  167. package/dist/components/base/tree/tree.d.ts +2 -2
  168. package/dist/components/base/tree/tree.types.d.ts +7 -1
  169. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  170. package/dist/components/base/upload/image-upload.d.ts +2 -0
  171. package/dist/components/base/upload/index.d.ts +3 -9
  172. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  173. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  174. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  175. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  176. package/dist/components/blocks/admin/index.d.ts +1 -1
  177. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  178. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  179. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  180. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  181. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  182. package/dist/components/blocks/ai/ai-citation/types.d.ts +6 -0
  183. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  184. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  185. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  186. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  187. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  188. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  189. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-sources/types.d.ts +8 -2
  191. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  192. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  193. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  194. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +6 -0
  195. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  196. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  197. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  198. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  199. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  200. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  201. package/dist/components/blocks/analytics/index.d.ts +17 -24
  202. package/dist/components/blocks/analytics/metric/metric.d.ts +5 -5
  203. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +2 -2
  204. package/dist/components/blocks/analytics/types.d.ts +12 -3
  205. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  206. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  207. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  208. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  209. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  210. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  211. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  212. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  213. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  214. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  215. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  216. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  217. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  218. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  219. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  220. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  221. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  222. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  223. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  224. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  225. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  226. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  227. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  228. package/dist/components/blocks/commerce/index.d.ts +8 -8
  229. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  230. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  231. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  232. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  233. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  234. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  235. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  236. package/dist/components/blocks/commerce/order-status/types.d.ts +8 -8
  237. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  238. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  239. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  240. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  241. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  242. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  243. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  244. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  245. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  246. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  247. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  248. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  249. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  250. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  252. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  253. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  254. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  255. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  256. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  257. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  258. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  259. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  260. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  261. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  262. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  263. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  264. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  265. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  266. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  267. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  268. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  269. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +6 -0
  270. package/dist/components/blocks/data-display/index.d.ts +0 -1
  271. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  272. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  273. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  274. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  275. package/dist/components/blocks/timelines/index.d.ts +2 -2
  276. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  277. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  278. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  279. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  280. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  281. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  282. package/dist/components/features/activities/activities.types.d.ts +28 -11
  283. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  284. package/dist/components/features/activities/index.d.ts +1 -1
  285. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  286. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  287. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  288. package/dist/components/features/activities/relative-time.d.ts +18 -0
  289. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  290. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  291. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  292. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  293. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  294. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  295. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  296. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  297. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +19 -5
  298. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  299. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  300. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  301. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  302. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  303. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  304. package/dist/components/features/combobox/combobox.d.ts +12 -3
  305. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  306. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -2
  307. package/dist/components/features/combobox/index.d.ts +1 -1
  308. package/dist/components/features/combobox/types.d.ts +47 -45
  309. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  310. package/dist/components/features/comments/comments.types.d.ts +40 -26
  311. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  312. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  313. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  314. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  315. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  316. package/dist/components/features/email-composer/http.d.ts +2 -0
  317. package/dist/components/features/email-composer/strings.d.ts +17 -2
  318. package/dist/components/features/email-composer/types.d.ts +17 -2
  319. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  320. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  321. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  322. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  323. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  324. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  325. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  326. package/dist/components/features/filters/facets/range-facet.d.ts +13 -8
  327. package/dist/components/features/filters/filter-context.d.ts +9 -0
  328. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  329. package/dist/components/features/filters/filters.types.d.ts +72 -5
  330. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  331. package/dist/components/features/filters/index.d.ts +2 -2
  332. package/dist/components/features/filters/operator-options.d.ts +25 -2
  333. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  334. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  335. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  336. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  337. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  338. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  339. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  340. package/dist/components/features/filters/utils/filter-utils.d.ts +29 -4
  341. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  342. package/dist/components/features/global-search/global-search.d.ts +7 -1
  343. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  344. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  345. package/dist/components/features/global-search/index.d.ts +1 -1
  346. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  347. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  348. package/dist/components/features/kanban/index.d.ts +2 -2
  349. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  350. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  351. package/dist/components/features/kanban/kanban.d.ts +10 -1
  352. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  353. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  354. package/dist/components/features/map/map.d.ts +4 -0
  355. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  356. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  357. package/dist/components/features/media-library/media-library.d.ts +1 -1
  358. package/dist/components/features/media-library/media-library.strings.d.ts +33 -3
  359. package/dist/components/features/media-library/media-library.types.d.ts +47 -2
  360. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  361. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  362. package/dist/components/features/mentions/index.d.ts +1 -1
  363. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  364. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  365. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +8 -1
  366. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  367. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  368. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  369. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  370. package/dist/components/features/overlays/dialog.d.ts +1 -1
  371. package/dist/components/features/overlays/drawer.d.ts +1 -1
  372. package/dist/components/features/overlays/index.d.ts +2 -2
  373. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  374. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  375. package/dist/components/features/products/components/index.d.ts +0 -10
  376. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  377. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  378. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  379. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  380. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  381. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  382. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  383. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  384. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  385. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  386. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  387. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  388. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  389. package/dist/components/features/products/products.strings.d.ts +8 -0
  390. package/dist/components/features/products/products.types.d.ts +25 -7
  391. package/dist/components/features/questionnaire/questionnaire.types.d.ts +6 -4
  392. package/dist/components/features/resource/index.d.ts +2 -3
  393. package/dist/components/features/resource/resource.d.ts +2 -10
  394. package/dist/components/features/resource/resource.types.d.ts +7 -149
  395. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  396. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  397. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  398. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  399. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  400. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  401. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  402. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  403. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +2 -3
  404. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +13 -1
  405. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -0
  406. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  407. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  408. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  409. package/dist/components/features/suggestions/suggestions.types.d.ts +12 -4
  410. package/dist/components/features/table/data-table.d.ts +1 -1
  411. package/dist/components/features/table/filter-bar.d.ts +1 -1
  412. package/dist/components/features/table/pagination.d.ts +1 -1
  413. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  414. package/dist/components/features/table/table-body.d.ts +1 -1
  415. package/dist/components/features/table/table-header.d.ts +1 -1
  416. package/dist/components/features/table/table-helpers.d.ts +31 -9
  417. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  418. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  419. package/dist/components/features/table/table.strings.d.ts +1 -0
  420. package/dist/components/features/table/table.types.d.ts +74 -48
  421. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  422. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  423. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  424. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  425. package/dist/components/layout/app-shell/index.d.ts +2 -2
  426. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  427. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  428. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  429. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  430. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  431. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  432. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  433. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  434. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  435. package/dist/components/layout/header/header.types.d.ts +16 -6
  436. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  437. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  438. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  439. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  440. package/dist/components/layout/layout.types.d.ts +2 -2
  441. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  442. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  443. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  444. package/dist/components/layout/page/index.d.ts +2 -3
  445. package/dist/components/layout/page/page.strings.d.ts +12 -0
  446. package/dist/components/layout/page/page.types.d.ts +7 -110
  447. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  448. package/dist/components/layout/settings/index.d.ts +1 -1
  449. package/dist/components/layout/settings/settings.d.ts +3 -5
  450. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  451. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  452. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  453. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  454. package/dist/components/layout/sidebar/index.d.ts +1 -1
  455. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +15 -7
  456. package/dist/components/layout/sidebar/sidebar.types.d.ts +10 -12
  457. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  458. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  459. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  460. package/dist/components/primitives/date.d.ts +22 -3
  461. package/dist/components/primitives/file-size.d.ts +8 -2
  462. package/dist/components/primitives/index.d.ts +1 -1
  463. package/dist/components/primitives/initials.d.ts +3 -1
  464. package/dist/components/primitives/link.d.ts +8 -1
  465. package/dist/components/primitives/money.d.ts +1 -1
  466. package/dist/components/primitives/number.d.ts +2 -1
  467. package/dist/components/typography/heading.d.ts +9 -3
  468. package/dist/components/typography/index.d.ts +1 -1
  469. package/dist/components/typography/text-link.d.ts +10 -3
  470. package/dist/components/ui/badge.d.ts +2 -4
  471. package/dist/components/ui/breadcrumb.d.ts +2 -3
  472. package/dist/components/ui/button.d.ts +8 -2
  473. package/dist/components/ui/collapsible.d.ts +1 -4
  474. package/dist/components/ui/command.d.ts +20 -18
  475. package/dist/components/ui/dialog.d.ts +3 -9
  476. package/dist/components/ui/empty.d.ts +2 -2
  477. package/dist/components/ui/input-group.d.ts +3 -3
  478. package/dist/components/ui/item.d.ts +3 -3
  479. package/dist/components/ui/popover.d.ts +3 -7
  480. package/dist/components/ui/sheet.d.ts +4 -12
  481. package/dist/components/ui/sidebar-state.d.ts +6 -1
  482. package/dist/components/ui/sidebar.d.ts +7 -4
  483. package/dist/components/ui/tabs.d.ts +2 -2
  484. package/dist/components/ui/toggle-group.d.ts +3 -3
  485. package/dist/components/ui/toggle.d.ts +2 -2
  486. package/dist/components/ui/tooltip.d.ts +1 -3
  487. package/dist/{containers-CSdc32h9.js → containers-BdfLTP4w.js} +37 -32
  488. package/dist/containers-BdfLTP4w.js.map +1 -0
  489. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  490. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  491. package/dist/{copyable-3fdHfMR3.js → copyable-Bmr14W0d.js} +6 -6
  492. package/dist/{copyable-3fdHfMR3.js.map → copyable-Bmr14W0d.js.map} +1 -1
  493. package/dist/{data-display-Cmj-xZYl.js → data-display-CWe9SOYh.js} +264 -251
  494. package/dist/data-display-CWe9SOYh.js.map +1 -0
  495. package/dist/date-3qsCE1ID.js +209 -0
  496. package/dist/date-3qsCE1ID.js.map +1 -0
  497. package/dist/{date-picker-CyQlFYsP.js → date-picker-D1keJQIG.js} +129 -129
  498. package/dist/date-picker-D1keJQIG.js.map +1 -0
  499. package/dist/date-pickers-D8aJoeHc.js +185 -0
  500. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  501. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  502. package/dist/{display-CT_N2a3w.js → display-VlmP1I0i.js} +23 -46
  503. package/dist/display-VlmP1I0i.js.map +1 -0
  504. package/dist/{dropdown-menu-C08iIugv.js → dropdown-menu-B8hjvbkS.js} +9 -9
  505. package/dist/{dropdown-menu-C08iIugv.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  506. package/dist/dropzone-CHBNK3de.js +116 -0
  507. package/dist/dropzone-CHBNK3de.js.map +1 -0
  508. package/dist/features/activities.js +682 -628
  509. package/dist/features/activities.js.map +1 -1
  510. package/dist/features/ai-chat.js +258 -226
  511. package/dist/features/ai-chat.js.map +1 -1
  512. package/dist/features/appointment-calendar.js +436 -340
  513. package/dist/features/appointment-calendar.js.map +1 -1
  514. package/dist/features/async-preview.js +351 -265
  515. package/dist/features/async-preview.js.map +1 -1
  516. package/dist/features/combobox.js +2 -2
  517. package/dist/features/comments.js +1 -1
  518. package/dist/features/data-view.js +212 -151
  519. package/dist/features/data-view.js.map +1 -1
  520. package/dist/features/email-composer/engine.js +1 -1
  521. package/dist/features/email-composer.js +344 -315
  522. package/dist/features/email-composer.js.map +1 -1
  523. package/dist/features/event-calendar.js +504 -355
  524. package/dist/features/event-calendar.js.map +1 -1
  525. package/dist/features/filters.js +2 -2
  526. package/dist/features/global-search.js +250 -206
  527. package/dist/features/global-search.js.map +1 -1
  528. package/dist/features/kanban.js +269 -189
  529. package/dist/features/kanban.js.map +1 -1
  530. package/dist/features/map.js +385 -371
  531. package/dist/features/map.js.map +1 -1
  532. package/dist/features/media-library.js +1571 -1199
  533. package/dist/features/media-library.js.map +1 -1
  534. package/dist/features/mentions.js +2 -2
  535. package/dist/features/overlays.js +2 -2
  536. package/dist/features/products.js +1780 -1691
  537. package/dist/features/products.js.map +1 -1
  538. package/dist/features/questionnaire.js +165 -152
  539. package/dist/features/questionnaire.js.map +1 -1
  540. package/dist/features/resource-assignment.js +223 -191
  541. package/dist/features/resource-assignment.js.map +1 -1
  542. package/dist/features/resource.js +55 -220
  543. package/dist/features/resource.js.map +1 -1
  544. package/dist/features/rich-text-editor.js +3 -3
  545. package/dist/features/schema-form.js +280 -228
  546. package/dist/features/schema-form.js.map +1 -1
  547. package/dist/features/suggestions.js +48 -39
  548. package/dist/features/suggestions.js.map +1 -1
  549. package/dist/features/table.js +2 -2
  550. package/dist/features/theme-tweaker.js +723 -633
  551. package/dist/features/theme-tweaker.js.map +1 -1
  552. package/dist/feedback-DmqmXKLn.js +254 -0
  553. package/dist/feedback-DmqmXKLn.js.map +1 -0
  554. package/dist/{field-affordance-recipes-D6H7tVJi.js → field-affordance-recipes-DfbMadot.js} +13 -9
  555. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  556. package/dist/{field-state-recipes-7sza8QbC.js → field-state-recipes-EtCxpEy3.js} +6 -2
  557. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  558. package/dist/filters-BviMRMLS.js +2692 -0
  559. package/dist/filters-BviMRMLS.js.map +1 -0
  560. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  561. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  562. package/dist/{form-field-CAPdwdnZ.js → form-field-BdfCwSoQ.js} +5 -5
  563. package/dist/{form-field-CAPdwdnZ.js.map → form-field-BdfCwSoQ.js.map} +1 -1
  564. package/dist/{form-sizing-CgcrUbLU.js → form-sizing-DE_dZw32.js} +3 -3
  565. package/dist/{form-sizing-CgcrUbLU.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  566. package/dist/{forms-B3W8CH7-.js → forms-B8DzJnBN.js} +35 -35
  567. package/dist/forms-B8DzJnBN.js.map +1 -0
  568. package/dist/forms-numeric-DOBswjKj.js +992 -0
  569. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  570. package/dist/{header-ZIIsRKxP.js → header-Cq3G0ZRP.js} +100 -95
  571. package/dist/header-Cq3G0ZRP.js.map +1 -0
  572. package/dist/{hooks-BitHSh-Y.js → hooks-DHfeSMAO.js} +34 -14
  573. package/dist/hooks-DHfeSMAO.js.map +1 -0
  574. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  575. package/dist/http-Cu-GPpss.js.map +1 -0
  576. package/dist/{icon-badge-npxF1SLX.js → icon-badge-B0Kq7wom.js} +3 -3
  577. package/dist/{icon-badge-npxF1SLX.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  578. package/dist/index.js +6 -6
  579. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  580. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  581. package/dist/{input-DIREVYHs.js → input-2YrgTUrz.js} +3 -3
  582. package/dist/{input-DIREVYHs.js.map → input-2YrgTUrz.js.map} +1 -1
  583. package/dist/{input-7KAc7XQL.js → input-DfJyrjoR.js} +6 -6
  584. package/dist/{input-7KAc7XQL.js.map → input-DfJyrjoR.js.map} +1 -1
  585. package/dist/{interaction-recipes-4wZ2tvfb.js → interaction-recipes-DmuS1ase.js} +2 -2
  586. package/dist/{interaction-recipes-4wZ2tvfb.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  587. package/dist/item-GJ9mvCcg.js +279 -0
  588. package/dist/item-GJ9mvCcg.js.map +1 -0
  589. package/dist/layout/app-shell.js +1 -1
  590. package/dist/layout/auth.js +1 -1
  591. package/dist/layout/containers.js +1 -1
  592. package/dist/layout/header.js +1 -1
  593. package/dist/layout/hooks.js +1 -1
  594. package/dist/layout/navigation.js +1 -1
  595. package/dist/layout/page.js +2 -2
  596. package/dist/layout/settings.js +2 -2
  597. package/dist/layout/sidebar.js +3 -3
  598. package/dist/layout/workspace.js +1 -1
  599. package/dist/layout.js +12 -12
  600. package/dist/{layout.types-E_GAApzO.js → layout.types-DbtnyAtd.js} +11 -8
  601. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  602. package/dist/lib/anchored-positioning.d.ts +11 -0
  603. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  604. package/dist/lib/field-state-recipes.d.ts +6 -0
  605. package/dist/lib/focus-recipes.d.ts +7 -0
  606. package/dist/lib/format.d.ts +25 -0
  607. package/dist/lib/money-format.d.ts +6 -0
  608. package/dist/lib/motion-recipes.d.ts +6 -0
  609. package/dist/lib/surface-recipes.d.ts +32 -2
  610. package/dist/lib/theme-scope.d.ts +17 -1
  611. package/dist/lib/token-merge.generated.d.ts +13 -19
  612. package/dist/lib/ui-provider/index.d.ts +1 -1
  613. package/dist/lib/ui-provider/types.d.ts +5 -0
  614. package/dist/lib/use-controllable-state.d.ts +16 -0
  615. package/dist/lib/use-copy-feedback.d.ts +15 -0
  616. package/dist/lib/utils.js +1 -1
  617. package/dist/lib/variant-props.d.ts +9 -0
  618. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  619. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  620. package/dist/mentions-zz0ewNIq.js +670 -0
  621. package/dist/mentions-zz0ewNIq.js.map +1 -0
  622. package/dist/{message-BJHnn43M.js → message-BiiVrRrm.js} +10 -7
  623. package/dist/{message-BJHnn43M.js.map → message-BiiVrRrm.js.map} +1 -1
  624. package/dist/{metadata-list-XkqZ_UXH.js → metadata-list-G85roWjS.js} +13 -12
  625. package/dist/metadata-list-G85roWjS.js.map +1 -0
  626. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  627. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  628. package/dist/navigation-C0Be5C3i.js +304 -0
  629. package/dist/navigation-C0Be5C3i.js.map +1 -0
  630. package/dist/{navigation-Bt-v7rWP.js → navigation-CmqaQR_G.js} +99 -103
  631. package/dist/navigation-CmqaQR_G.js.map +1 -0
  632. package/dist/number-NFWKIoiK.js +340 -0
  633. package/dist/number-NFWKIoiK.js.map +1 -0
  634. package/dist/{overflow-tab-bar-BQCA2Zn2.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  635. package/dist/{overflow-tab-bar-BQCA2Zn2.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  636. package/dist/overlays-D-gAIfPF.js +1018 -0
  637. package/dist/overlays-D-gAIfPF.js.map +1 -0
  638. package/dist/page-D4pQhgSq.js +216 -0
  639. package/dist/page-D4pQhgSq.js.map +1 -0
  640. package/dist/{page-header-commands-DIKspJfx.js → page-header-commands-elelNOfd.js} +29 -29
  641. package/dist/{page-header-commands-DIKspJfx.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  642. package/dist/{pagination-Br8TdV9A.js → pagination-BuSWw1US.js} +22 -23
  643. package/dist/pagination-BuSWw1US.js.map +1 -0
  644. package/dist/{popover-k8TdUcAt.js → popover-BpMxbqEK.js} +73 -69
  645. package/dist/popover-BpMxbqEK.js.map +1 -0
  646. package/dist/{popover-menu-yn-o0kyA.js → popover-menu-CO-_iiuz.js} +7 -7
  647. package/dist/{popover-menu-yn-o0kyA.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  648. package/dist/{popover.recipes-DJ0AkUan.js → popover.recipes-BqkdvlZn.js} +3 -4
  649. package/dist/{popover.recipes-DJ0AkUan.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  650. package/dist/{portal-recipes-DyUXqUtD.js → portal-recipes-BPeS4rGB.js} +2 -2
  651. package/dist/{portal-recipes-DyUXqUtD.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  652. package/dist/primitives-BlC1lXBr.js +447 -0
  653. package/dist/primitives-BlC1lXBr.js.map +1 -0
  654. package/dist/primitives.js +4 -4
  655. package/dist/{progress-DZFXXzPs.js → progress-RARK8AjB.js} +5 -5
  656. package/dist/{progress-DZFXXzPs.js.map → progress-RARK8AjB.js.map} +1 -1
  657. package/dist/receipt-CUf2Vegp.js +114 -0
  658. package/dist/receipt-CUf2Vegp.js.map +1 -0
  659. package/dist/{rich-text-BnTzZjIo.js → rich-text-Cypm9__d.js} +7 -8
  660. package/dist/{rich-text-BnTzZjIo.js.map → rich-text-Cypm9__d.js.map} +1 -1
  661. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  662. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  663. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  664. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  665. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  666. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  667. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  668. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  669. package/dist/{scroll-area-Bj6CRUif.js → scroll-area-B9HKbji0.js} +3 -3
  670. package/dist/{scroll-area-Bj6CRUif.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  671. package/dist/{separator-DM6gs2vu.js → separator-DaDe26sf.js} +3 -3
  672. package/dist/separator-DaDe26sf.js.map +1 -0
  673. package/dist/{separator-B9ewiCGO.js → separator-KGsNXt2J.js} +2 -2
  674. package/dist/{separator-B9ewiCGO.js.map → separator-KGsNXt2J.js.map} +1 -1
  675. package/dist/services/actions/action-adapters.d.ts +5 -2
  676. package/dist/services/actions/index.d.ts +1 -1
  677. package/dist/services/actions.js +2 -2
  678. package/dist/services/actions.js.map +1 -1
  679. package/dist/settings-D5j_RJvT.js +160 -0
  680. package/dist/settings-D5j_RJvT.js.map +1 -0
  681. package/dist/sheet-B6j_BE9O.js +241 -0
  682. package/dist/sheet-B6j_BE9O.js.map +1 -0
  683. package/dist/{sidebar-CmD6a-HK.js → sidebar-C-iQ_TJP.js} +377 -351
  684. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  685. package/dist/sidebar-D5VO2W8S.js +715 -0
  686. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  687. package/dist/{skeleton-DDgdhmu9.js → skeleton-Cab_KgVo.js} +12 -12
  688. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  689. package/dist/{smart-card-B6vLxqa_.js → smart-card-C59z6KFO.js} +217 -210
  690. package/dist/smart-card-C59z6KFO.js.map +1 -0
  691. package/dist/{structure-DZJ2wbAU.js → structure-DElaQwwN.js} +2 -2
  692. package/dist/{structure-DZJ2wbAU.js.map → structure-DElaQwwN.js.map} +1 -1
  693. package/dist/style.css +1 -1
  694. package/dist/{surface-recipes-C8mNycaY.js → surface-recipes-DV6rrOFq.js} +10 -2
  695. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  696. package/dist/{table-CXSPHH25.js → table-CSRUgpdK.js} +62 -61
  697. package/dist/table-CSRUgpdK.js.map +1 -0
  698. package/dist/table-DdXDBsR_.js +1657 -0
  699. package/dist/table-DdXDBsR_.js.map +1 -0
  700. package/dist/{tabs-C4Kr_hCr.js → tabs-WnHfV2pM.js} +27 -27
  701. package/dist/tabs-WnHfV2pM.js.map +1 -0
  702. package/dist/{text-inputs-jdkS3ReG.js → text-inputs-ljyBYaCd.js} +112 -112
  703. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  704. package/dist/theme.css +21 -5
  705. package/dist/timelines-mOmS9Eh3.js +479 -0
  706. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  707. package/dist/tooltip-yjX-Uv-p.js +112 -0
  708. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  709. package/dist/{tree-CeYVzdFE.js → tree-YpkxUG2Z.js} +80 -72
  710. package/dist/tree-YpkxUG2Z.js.map +1 -0
  711. package/dist/typography/rich-text.js +1 -1
  712. package/dist/{typography-C7-YMW1S.js → typography-C0dELqYV.js} +46 -40
  713. package/dist/typography-C0dELqYV.js.map +1 -0
  714. package/dist/typography.js +1 -1
  715. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  716. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  717. package/dist/ui-provider.js +2 -2
  718. package/dist/{upload-Hdm5gObf.js → upload-DMuMYJFT.js} +276 -268
  719. package/dist/upload-DMuMYJFT.js.map +1 -0
  720. package/dist/{usage-card-9s8hLDfn.js → usage-card-DDPki5P1.js} +57 -54
  721. package/dist/usage-card-DDPki5P1.js.map +1 -0
  722. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  723. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  724. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  725. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  726. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  727. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  728. package/dist/{utils-DhuoqFy4.js → utils-BVbAG2J6.js} +98 -76
  729. package/dist/utils-BVbAG2J6.js.map +1 -0
  730. package/dist/value-inputs-h5MwjGCo.js +982 -0
  731. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  732. package/dist/value-typography-D15uwfj-.js +154 -0
  733. package/dist/value-typography-D15uwfj-.js.map +1 -0
  734. package/dist/workspace-DIryPqBt.js +400 -0
  735. package/dist/workspace-DIryPqBt.js.map +1 -0
  736. package/docs/consumer-skill/SKILL.md +7 -0
  737. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  738. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  739. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  740. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  741. package/docs/consumer-skill/examples/detail.tsx +3 -2
  742. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  743. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  744. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  745. package/docs/consumer-skill/references/agents-md.md +20 -16
  746. package/docs/consumer-skill/references/analytics.md +20 -6
  747. package/docs/consumer-skill/references/building-views.md +213 -0
  748. package/docs/consumer-skill/references/catalogue.md +617 -0
  749. package/docs/consumer-skill/references/component-contracts.json +10202 -18084
  750. package/docs/consumer-skill/references/composition.md +21 -17
  751. package/docs/consumer-skill/references/discovery.md +8 -5
  752. package/docs/consumer-skill/references/installation.md +10 -4
  753. package/docs/consumer-skill/references/integration.md +5 -5
  754. package/docs/consumer-skill/references/product-composition.md +2 -2
  755. package/docs/consumer-skill/references/public-api.json +580 -633
  756. package/docs/consumer-skill/references/review.md +6 -4
  757. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  758. package/docs/consumer-skill/references/theming.md +1 -1
  759. package/docs/consumer-skill/references/tokens.json +4 -4
  760. package/docs/consumer-skill/references/workflows.md +7 -7
  761. package/docs/consumer-skill/scripts/composition-policy.mjs +40 -20
  762. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  763. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  764. package/docs/consumer-skill/scripts/setup-skills.mjs +31 -4
  765. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  766. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  767. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  768. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  769. package/package.json +9 -12
  770. package/templates/README.md +3 -2
  771. package/templates/admin-shell-template.tsx +49 -9
  772. package/templates/analytics-operations-template.tsx +20 -24
  773. package/templates/customers-template.tsx +12 -9
  774. package/templates/index.ts +2 -8
  775. package/templates/orders-template.tsx +28 -24
  776. package/templates/products-template.tsx +14 -4
  777. package/templates/user-permissions-template.tsx +11 -14
  778. package/dist/accordion-0tQUZ20r.js.map +0 -1
  779. package/dist/action-menu-C0gjzLyE.js +0 -284
  780. package/dist/action-menu-C0gjzLyE.js.map +0 -1
  781. package/dist/ai-artifact-CGGpQryR.js +0 -1200
  782. package/dist/ai-artifact-CGGpQryR.js.map +0 -1
  783. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  784. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  785. package/dist/app-shell-EHuuRDGy.js +0 -321
  786. package/dist/app-shell-EHuuRDGy.js.map +0 -1
  787. package/dist/auth-B0girIk_.js.map +0 -1
  788. package/dist/badge-wWauMgAt.js.map +0 -1
  789. package/dist/base/sheet.js +0 -3
  790. package/dist/breadcrumbs-Bp9Ke7kd.js.map +0 -1
  791. package/dist/button-ChBovTx0.js.map +0 -1
  792. package/dist/buttons-DeW0bQeK.js.map +0 -1
  793. package/dist/cascader-CrAl9zD5.js +0 -439
  794. package/dist/cascader-CrAl9zD5.js.map +0 -1
  795. package/dist/choice-inputs-DHGtx0QV.js.map +0 -1
  796. package/dist/code-block-BSJyq9e-.js.map +0 -1
  797. package/dist/collapsible-BzJ91LUG.js +0 -81
  798. package/dist/collapsible-BzJ91LUG.js.map +0 -1
  799. package/dist/combobox-Bcvu5J8O.js +0 -363
  800. package/dist/combobox-Bcvu5J8O.js.map +0 -1
  801. package/dist/combobox-C2JiSQPc.js +0 -915
  802. package/dist/combobox-C2JiSQPc.js.map +0 -1
  803. package/dist/command-9e52NPgK.js +0 -425
  804. package/dist/command-9e52NPgK.js.map +0 -1
  805. package/dist/comments-BsgErEqd.js +0 -1174
  806. package/dist/comments-BsgErEqd.js.map +0 -1
  807. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  808. package/dist/components/base/display/content-block.d.ts +0 -75
  809. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  810. package/dist/components/base/sheet/index.d.ts +0 -29
  811. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  812. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  813. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -10
  814. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  815. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  816. package/dist/components/features/sync/index.d.ts +0 -26
  817. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  818. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  819. package/dist/components/features/sync/sync.types.d.ts +0 -44
  820. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  821. package/dist/components/ui/slot.d.ts +0 -6
  822. package/dist/containers-CSdc32h9.js.map +0 -1
  823. package/dist/data-display-Cmj-xZYl.js.map +0 -1
  824. package/dist/date-Br0FicVv.js +0 -144
  825. package/dist/date-Br0FicVv.js.map +0 -1
  826. package/dist/date-picker-CyQlFYsP.js.map +0 -1
  827. package/dist/date-pickers-tj2MXmXd.js +0 -185
  828. package/dist/date-pickers-tj2MXmXd.js.map +0 -1
  829. package/dist/display-CT_N2a3w.js.map +0 -1
  830. package/dist/features/sync.js +0 -142
  831. package/dist/features/sync.js.map +0 -1
  832. package/dist/feedback-Dzo1xtAU.js +0 -246
  833. package/dist/feedback-Dzo1xtAU.js.map +0 -1
  834. package/dist/field-affordance-recipes-D6H7tVJi.js.map +0 -1
  835. package/dist/field-state-recipes-7sza8QbC.js.map +0 -1
  836. package/dist/filters-Dl80yYtN.js +0 -2415
  837. package/dist/filters-Dl80yYtN.js.map +0 -1
  838. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  839. package/dist/forms-B3W8CH7-.js.map +0 -1
  840. package/dist/forms-numeric-CwjQJe-O.js +0 -991
  841. package/dist/forms-numeric-CwjQJe-O.js.map +0 -1
  842. package/dist/header-ZIIsRKxP.js.map +0 -1
  843. package/dist/hooks-BitHSh-Y.js.map +0 -1
  844. package/dist/http-D_6rOnzU.js.map +0 -1
  845. package/dist/item-FfWnaYST.js +0 -278
  846. package/dist/item-FfWnaYST.js.map +0 -1
  847. package/dist/layout.types-E_GAApzO.js.map +0 -1
  848. package/dist/media-gallery-C81DAnKI.js +0 -203
  849. package/dist/media-gallery-C81DAnKI.js.map +0 -1
  850. package/dist/mentions-qOnedSt4.js +0 -639
  851. package/dist/mentions-qOnedSt4.js.map +0 -1
  852. package/dist/metadata-list-XkqZ_UXH.js.map +0 -1
  853. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  854. package/dist/navigation-BgtPJAhi.js +0 -288
  855. package/dist/navigation-BgtPJAhi.js.map +0 -1
  856. package/dist/navigation-Bt-v7rWP.js.map +0 -1
  857. package/dist/number-CYqBcrSj.js +0 -346
  858. package/dist/number-CYqBcrSj.js.map +0 -1
  859. package/dist/overlays-CC8zI3Du.js +0 -1017
  860. package/dist/overlays-CC8zI3Du.js.map +0 -1
  861. package/dist/page-BoQ1VaFJ.js +0 -331
  862. package/dist/page-BoQ1VaFJ.js.map +0 -1
  863. package/dist/pagination-Br8TdV9A.js.map +0 -1
  864. package/dist/popover-k8TdUcAt.js.map +0 -1
  865. package/dist/primitives-BkkQjYl7.js +0 -385
  866. package/dist/primitives-BkkQjYl7.js.map +0 -1
  867. package/dist/receipt-C7LhOg7Q.js +0 -116
  868. package/dist/receipt-C7LhOg7Q.js.map +0 -1
  869. package/dist/rich-text-editor-CAurDwT5.js +0 -1273
  870. package/dist/rich-text-editor-CAurDwT5.js.map +0 -1
  871. package/dist/rich-text-editor-toolbar-DbXig7Jk.js +0 -99
  872. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +0 -1
  873. package/dist/rich-text-tree-BqyQ_7-R.js +0 -66
  874. package/dist/rich-text-tree-BqyQ_7-R.js.map +0 -1
  875. package/dist/sanitize-html-BWkH4dLM.js +0 -105
  876. package/dist/sanitize-html-BWkH4dLM.js.map +0 -1
  877. package/dist/separator-DM6gs2vu.js.map +0 -1
  878. package/dist/settings-DZPHgpx4.js +0 -155
  879. package/dist/settings-DZPHgpx4.js.map +0 -1
  880. package/dist/sheet-C4DHsgLk.js +0 -250
  881. package/dist/sheet-C4DHsgLk.js.map +0 -1
  882. package/dist/sidebar-C8BnDwTH.js +0 -709
  883. package/dist/sidebar-C8BnDwTH.js.map +0 -1
  884. package/dist/sidebar-CmD6a-HK.js.map +0 -1
  885. package/dist/skeleton-DDgdhmu9.js.map +0 -1
  886. package/dist/slot-CLF9kLrS.js +0 -16
  887. package/dist/slot-CLF9kLrS.js.map +0 -1
  888. package/dist/smart-card-B6vLxqa_.js.map +0 -1
  889. package/dist/surface-recipes-C8mNycaY.js.map +0 -1
  890. package/dist/table-CBonSdTp.js +0 -1584
  891. package/dist/table-CBonSdTp.js.map +0 -1
  892. package/dist/table-CXSPHH25.js.map +0 -1
  893. package/dist/tabs-C4Kr_hCr.js.map +0 -1
  894. package/dist/text-inputs-jdkS3ReG.js.map +0 -1
  895. package/dist/timelines-CoPwdJP0.js +0 -458
  896. package/dist/timelines-CoPwdJP0.js.map +0 -1
  897. package/dist/tooltip-31NwIpTo.js +0 -113
  898. package/dist/tooltip-31NwIpTo.js.map +0 -1
  899. package/dist/tree-CeYVzdFE.js.map +0 -1
  900. package/dist/typography-C7-YMW1S.js.map +0 -1
  901. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  902. package/dist/upload-Hdm5gObf.js.map +0 -1
  903. package/dist/upload-queue-D0sYPuqo.js +0 -409
  904. package/dist/upload-queue-D0sYPuqo.js.map +0 -1
  905. package/dist/usage-card-9s8hLDfn.js.map +0 -1
  906. package/dist/utils-DhuoqFy4.js.map +0 -1
  907. package/dist/value-inputs-D3aPgq9H.js +0 -980
  908. package/dist/value-inputs-D3aPgq9H.js.map +0 -1
  909. package/dist/value-typography-uSzzG9Gf.js +0 -122
  910. package/dist/value-typography-uSzzG9Gf.js.map +0 -1
  911. package/dist/workspace-CC8Vchiu.js +0 -411
  912. package/dist/workspace-CC8Vchiu.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"page-header-commands-DIKspJfx.js","names":["_Fragment","resolveComponentScale","useThemeScopeHost","useDensityConfig","cn","Button","focusRecipes","compositionClasses","ActionMenu","Fragment$1","defaultPageHeaderLinkRenderer","props","target","external","rel","INLINE_COMMAND_CLASS","COMPACT_MENU_CLASS","MENU_CONTENT_CLASS","isVisible","action","isVisibleControl","style","node","hasPageHeaderCommands","primaryAction","secondaryActions","presentation","role","linkDestination","CommandButton","href","Icon","hookClassName","className","renderLink","buttonVariants","defaultScale","toMenuAction","key","PageHeaderCommands","menuOpen","setMenuOpen","useState","resizeFocus","useRef","ownedFocus","finalFocus","useCallback","captureFocus","event","captureBlur","next","host","root","header","view","inlineCommand","inlineVisible","recoverFocus","nextInlineVisible","active","droppedHiddenFocus","candidates","observer","context","maxVisibleSecondaryActions","secondary","index","routine","destructive","inlineLimit","inline","overflow","primary","primaryEntry","destructiveMenuEntries","entry","menuActions","compactMenuOnly","ThemeScopeHostProvider","attachHost","nextOpen","moreActionsLabel"],"sources":["../src/components/base/navigation/page-header/page-header-commands.tsx"],"sourcesContent":["/**\n * PageHeaderCommands — role-based commands for page and record headers.\n *\n * The role chooses each command's treatment and place: outline secondary\n * commands, then one solid primary command, then the More actions menu for\n * overflow and destructive commands, which always closes the row. Below the\n * named header container breakpoint, every command collapses into that menu\n * through CSS alone, so server and client markup agree. Both page and section\n * headers use this owner for the same command behavior.\n */\nimport { useCallback, useEffect, useRef, useState, type ComponentType, type FocusEvent, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport {\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../action-menu';\nimport { Button } from '../../buttons';\nimport { buttonVariants } from '../../buttons/button.variants';\nimport {compositionClasses} from '../../structure/composition.recipes';\nimport { resolveComponentScale, useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\nimport { focusRecipes } from '../../../../lib/focus-recipes';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../../lib/theme-scope';\n\n/**\n * A page command described by its role. `primaryAction` and `secondaryActions`\n * choose the treatment, so a command carries no tone or button style.\n */\nexport interface PageHeaderAction {\n\t/** Stable key. Defaults to the command's position. */\n\tid?: string;\n\t/** Visible command text. */\n\tlabel: ReactNode;\n\t/** Runs the command. When both are set, `onClick` wins over `href`. */\n\tonClick?: () => void;\n\t/** Navigates through the header's `renderLink` instead of running a callback. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Leading glyph. Pass a Lucide icon component. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Shows the pending indicator and blocks activation. */\n\tloading?: boolean;\n\t/** Blocks activation while keeping the command visible. */\n\tdisabled?: boolean;\n\t/** Set false to omit the command, for example without permission. */\n\tvisible?: boolean;\n\t/**\n\t * Irreversible or harmful command. A destructive secondary command moves to\n\t * the More actions menu; a destructive primary command keeps its place with\n\t * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.\n\t */\n\tdestructive?: boolean;\n}\n\n/** What a header hands its link renderer for an `href` command. */\nexport interface PageHeaderLinkRenderProps {\n\thref: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app. */\n\texternal?: boolean;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}\n\n/** Renders framework links for `href` commands. Layout `renderLink` functions fit. */\nexport type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;\n\n/** Native anchor fallback, matching the layout default: external links open a new tab. */\nexport const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer = ({ href, external, target, rel, children, ...props }) => (\n\t<a\n\t\thref={href}\n\t\ttarget={target ?? (external ? '_blank' : undefined)}\n\t\trel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</a>\n);\n\n/** Secondary commands rendered as buttons on wide headers; later ones overflow. */\nexport const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;\n\nconst INLINE_COMMAND_CLASS = '@max-[40rem]/page-header:hidden';\nconst COMPACT_MENU_CLASS = '@min-[40rem]/page-header:hidden';\nconst MENU_CONTENT_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\n\ntype CommandRole = 'primary' | 'secondary';\n\ninterface CommandEntry {\n\taction: PageHeaderAction;\n\tkey: string;\n}\n\nexport interface PageHeaderCommandsProps {\n\tprimaryAction?: PageHeaderAction;\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\trenderLink?: PageHeaderLinkRenderer;\n}\n\nfunction isVisible(action: PageHeaderAction | undefined): action is PageHeaderAction {\n\treturn !!action && action.visible !== false;\n}\n\nfunction isVisibleControl(node: HTMLElement) {\n\tconst style = node.ownerDocument.defaultView?.getComputedStyle(node);\n\treturn !!style && style.display !== 'none' && style.visibility !== 'hidden' && !node.closest('[hidden],[inert]');\n}\n\n/** Whether the header has any role-based command to render. */\nexport function hasPageHeaderCommands(\n\tprimaryAction: PageHeaderAction | undefined,\n\tsecondaryActions: readonly PageHeaderAction[] | undefined,\n) {\n\treturn isVisible(primaryAction) || (secondaryActions ?? []).some(isVisible);\n}\n\nfunction presentation(action: PageHeaderAction, role: CommandRole) {\n\tif (role === 'secondary') return { tone: 'secondary', buttonStyle: 'outline' } as const;\n\treturn { tone: action.destructive ? 'destructive' : 'primary', buttonStyle: 'solid' } as const;\n}\n\n/** `onClick` wins over `href`, matching PageAction. */\nfunction linkDestination(action: PageHeaderAction) {\n\treturn action.href && !action.onClick ? action.href : undefined;\n}\n\nfunction CommandButton({\n\taction,\n\trole,\n\trenderLink,\n\tclassName,\n}: {\n\taction: PageHeaderAction;\n\trole: CommandRole;\n\trenderLink: PageHeaderLinkRenderer;\n\tclassName?: string;\n}) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst { tone, buttonStyle } = presentation(action, role);\n\tconst href = linkDestination(action);\n\tconst Icon = action.icon;\n\tconst hookClassName = cn(`page-header--${role}-action`, className);\n\n\tif (href && !action.disabled && !action.loading) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderLink({\n\t\t\t\t\thref,\n\t\t\t\t\ttarget: action.target,\n\t\t\t\t\trel: action.rel,\n\t\t\t\t\texternal: action.external,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'button--component base-button--component',\n\t\t\t\t\t\tbuttonVariants({ tone, buttonStyle, size: resolveComponentScale(undefined, defaultScale) }),\n\t\t\t\t\t\thookClassName,\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{Icon && <Icon className=\"size-icon shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t{action.label}\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);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\ttone={tone}\n\t\t\tbuttonStyle={buttonStyle}\n\t\t\ticon={Icon}\n\t\t\tloading={action.loading}\n\t\t\thandlesLoading={action.loading !== undefined}\n\t\t\tdisabled={action.disabled}\n\t\t\tonClick={action.onClick}\n\t\t\tclassName={hookClassName}\n\t\t>\n\t\t\t{action.label}\n\t\t</Button>\n\t);\n}\n\nfunction toMenuAction({ action, key }: CommandEntry, className?: string): ActionMenuAction {\n\treturn {\n\t\tid: key,\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: linkDestination(action),\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled: !!action.disabled || !!action.loading,\n\t\ttone: action.destructive ? 'destructive' : 'secondary',\n\t\tclassName,\n\t};\n}\n\nexport function PageHeaderCommands({\n\tprimaryAction,\n\tsecondaryActions,\n\tmaxVisibleSecondaryActions,\n\tmoreActionsLabel,\n\trenderLink = defaultPageHeaderLinkRenderer,\n}: PageHeaderCommandsProps) {\n\t// Keep the popup inside its header container so responsive menu entries and\n\t// CSS theme inheritance follow the same boundary as the inline commands.\n\tconst { host, attachHost, context } = useThemeScopeHost<HTMLDivElement>();\n\tconst [menuOpen, setMenuOpen] = useState(false);\n\tconst resizeFocus = useRef<HTMLElement | null>(null);\n\tconst ownedFocus = useRef<HTMLElement | null>(null);\n\tconst finalFocus = useCallback(() => resizeFocus.current ?? true, []);\n\tconst captureFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tif (event.target instanceof HTMLElement) ownedFocus.current = event.target;\n\t}, []);\n\tconst captureBlur = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tconst next = event.relatedTarget;\n\t\tif (next instanceof Node && host.current?.contains(next)) return;\n\t\tconst target = event.target;\n\t\tconst hiddenBlur = target instanceof HTMLElement && target === ownedFocus.current && !isVisibleControl(target)\n\t\t\t&& (next == null || next instanceof HTMLElement && !isVisibleControl(next));\n\t\tif (!hiddenBlur) ownedFocus.current = null;\n\t}, [host]);\n\tuseEffect(() => {\n\t\tconst root = host.current;\n\t\tconst header = root?.closest('.page-header--component');\n\t\tconst view = root?.ownerDocument.defaultView;\n\t\tif (!root || !header || !view) return;\n\t\tconst inlineCommand = root.querySelector<HTMLElement>('.page-header--primary-action,.page-header--secondary-action');\n\t\tif (!inlineCommand) return;\n\t\tlet inlineVisible = isVisibleControl(inlineCommand);\n\t\tconst recoverFocus = () => {\n\t\t\tconst nextInlineVisible = isVisibleControl(inlineCommand);\n\t\t\tif (nextInlineVisible === inlineVisible) return;\n\t\t\tinlineVisible = nextInlineVisible;\n\t\t\tconst active = root.ownerDocument.activeElement;\n\t\t\tconst droppedHiddenFocus = active === root.ownerDocument.body && ownedFocus.current\n\t\t\t\t&& root.contains(ownedFocus.current) && !isVisibleControl(ownedFocus.current);\n\t\t\tif (!active || !root.contains(active) && !droppedHiddenFocus) {\n\t\t\t\townedFocus.current = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// CSS owns the breakpoint. Only react when its actual presentation\n\t\t\t// changes, keeping focus out of a newly hidden row or trigger.\n\t\t\tconst candidates = root.querySelectorAll<HTMLElement>('.page-header--more-actions,.page-header--primary-action,.page-header--secondary-action');\n\t\t\tconst target = [...candidates].find(node => node.matches('.page-header--more-actions') && isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? [...candidates].find(node => isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? root;\n\t\t\tresizeFocus.current = target;\n\t\t\tif (menuOpen) setMenuOpen(false);\n\t\t\ttarget.focus({ preventScroll: true });\n\t\t};\n\t\tconst observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(recoverFocus);\n\t\tobserver?.observe(header);\n\t\tview.addEventListener('resize', recoverFocus);\n\t\treturn () => {\n\t\t\tobserver?.disconnect();\n\t\t\tview.removeEventListener('resize', recoverFocus);\n\t\t};\n\t}, [context.mounted, host, maxVisibleSecondaryActions, menuOpen, primaryAction, secondaryActions]);\n\tconst secondary: CommandEntry[] = (secondaryActions ?? [])\n\t\t.map((action, index) => ({ action, key: action.id ?? `secondary-${index}` }))\n\t\t.filter(({ action }) => isVisible(action));\n\tconst routine = secondary.filter(({ action }) => !action.destructive);\n\tconst destructive = secondary.filter(({ action }) => action.destructive);\n\t// `Infinity` keeps every routine command inline; NaN keeps the default.\n\tconst inlineLimit = maxVisibleSecondaryActions === undefined || Number.isNaN(maxVisibleSecondaryActions)\n\t\t? PAGE_HEADER_INLINE_SECONDARY_LIMIT\n\t\t: Math.max(0, Math.floor(maxVisibleSecondaryActions));\n\tconst inline = routine.slice(0, inlineLimit);\n\tconst overflow = routine.slice(inlineLimit);\n\tconst primary = isVisible(primaryAction) ? primaryAction : undefined;\n\n\tif (!primary && secondary.length === 0) return null;\n\n\tconst primaryEntry = primary ? { action: primary, key: `primary-${primary.id ?? 'action'}` } : undefined;\n\tconst destructiveMenuEntries = [\n\t\t...(primaryEntry && primary?.destructive ? [{ ...primaryEntry, className: COMPACT_MENU_CLASS }] : []),\n\t\t...destructive.map(entry => ({ ...entry, className: undefined })),\n\t];\n\t// Compact entries share one menu with permanent overflow. The primary leads\n\t// routine commands; destructive commands form the final group at any width.\n\tconst menuActions: ActionMenuAction[] = [\n\t\t...(primaryEntry && !primary?.destructive ? [toMenuAction(primaryEntry, COMPACT_MENU_CLASS)] : []),\n\t\t...inline.map(entry => toMenuAction(entry, COMPACT_MENU_CLASS)),\n\t\t...overflow.map(entry => toMenuAction(entry)),\n\t\t...destructiveMenuEntries.map(entry => ({\n\t\t\t...toMenuAction(entry, entry.className),\n\t\t\tgroup: true as const,\n\t\t\t// A boundary survives on wide headers only when both groups have a\n\t\t\t// permanent entry. Otherwise it follows the compact-only commands.\n\t\t\tgroupClassName: overflow.length > 0 && destructive.length > 0 ? undefined : COMPACT_MENU_CLASS,\n\t\t})),\n\t];\n\tconst compactMenuOnly = overflow.length === 0 && destructive.length === 0;\n\tconst renderMenuLink = (props: ActionMenuLinkRenderProps) =>\n\t\trenderLink({ ...props, children: props.children ?? null }) as ReactElement;\n\n\t// Secondary commands lead, the primary command follows them, and the More\n\t// actions menu closes the row. The trigger is one more secondary command:\n\t// outline, at the commands' own height.\n\treturn (\n\t\t<ThemeScopeHostProvider value={context}>\n\t\t\t<div\n\t\t\t\tref={attachHost}\n\t\t\t\tonFocusCapture={captureFocus}\n\t\t\t\tonBlurCapture={captureBlur}\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdata-slot=\"page-header-commands\"\n\t\t\t\tclassName={cn('page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end outline-none', compositionClasses.commands, focusRecipes.inset)}\n\t\t\t>\n\t\t\t\t{inline.map((entry) => (\n\t\t\t\t\t<CommandButton\n\t\t\t\t\t\tkey={entry.key}\n\t\t\t\t\t\taction={entry.action}\n\t\t\t\t\t\trole=\"secondary\"\n\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\tclassName={INLINE_COMMAND_CLASS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{primary && <CommandButton action={primary} role=\"primary\" renderLink={renderLink} className={INLINE_COMMAND_CLASS} />}\n\t\t\t\t{menuActions.length > 0 && (\n\t\t\t\t\t<ActionMenu\n\t\t\t\t\t\topen={menuOpen}\n\t\t\t\t\t\tonOpenChange={nextOpen => {\n\t\t\t\t\t\t\tif (nextOpen) resizeFocus.current = null;\n\t\t\t\t\t\t\tsetMenuOpen(nextOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// Only resizing owns an explicit target. The default close path\n\t\t\t\t\t\t// must respect focus already handed to a command's new overlay.\n\t\t\t\t\t\tfinalFocus={resizeFocus.current ? finalFocus : undefined}\n\t\t\t\t\t\tactions={menuActions}\n\t\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\t\tsrText={moreActionsLabel}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tcloseOnSelect\n\t\t\t\t\t\tpreserveOrder\n\t\t\t\t\t\tcontentClassName={MENU_CONTENT_CLASS}\n\t\t\t\t\t\trenderLink={renderMenuLink}\n\t\t\t\t\t\t// The shared outline overflow square follows the provider scale, like the commands.\n\t\t\t\t\t\tbuttonProps={{ className: cn('page-header--more-actions', compactMenuOnly && COMPACT_MENU_CLASS) }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</ThemeScopeHostProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"page-header-commands-elelNOfd.js","names":["_Fragment","resolveComponentScale","useDensityConfig","ThemeScopeHostProvider","useThemeScopeHost","cn","focusRecipes","buttonVariants","Button","compositionClasses","ActionMenu","Fragment$1","defaultPageHeaderLinkRenderer","props","target","external","rel","INLINE_COMMAND_CLASS","COMPACT_MENU_CLASS","MENU_CONTENT_CLASS","isVisible","action","isVisibleControl","style","node","hasPageHeaderCommands","primaryAction","secondaryActions","presentation","role","linkDestination","CommandButton","href","Icon","hookClassName","className","renderLink","defaultScale","toMenuAction","key","PageHeaderCommands","menuOpen","setMenuOpen","useState","resizeFocus","useRef","ownedFocus","finalFocus","useCallback","captureFocus","event","captureBlur","next","host","root","header","view","inlineCommand","inlineVisible","recoverFocus","nextInlineVisible","active","droppedHiddenFocus","candidates","observer","context","maxVisibleSecondaryActions","secondary","index","routine","destructive","inlineLimit","inline","overflow","primary","primaryEntry","destructiveMenuEntries","entry","menuActions","compactMenuOnly","attachHost","nextOpen","moreActionsLabel"],"sources":["../src/components/base/navigation/page-header/page-header-commands.tsx"],"sourcesContent":["/**\n * PageHeaderCommands — role-based commands for page and record headers.\n *\n * The role chooses each command's treatment and place: outline secondary\n * commands, then one solid primary command, then the More actions menu for\n * overflow and destructive commands, which always closes the row. Below the\n * named header container breakpoint, every command collapses into that menu\n * through CSS alone, so server and client markup agree. Both page and section\n * headers use this owner for the same command behavior.\n */\nimport { useCallback, useEffect, useRef, useState, type ComponentType, type FocusEvent, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport {\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../action-menu';\nimport { Button } from '../../buttons';\nimport { buttonVariants } from '../../buttons/button.variants';\nimport {compositionClasses} from '../../structure/composition.recipes';\nimport { resolveComponentScale, useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\nimport { focusRecipes } from '../../../../lib/focus-recipes';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../../lib/theme-scope';\n\n/**\n * A page command described by its role. `primaryAction` and `secondaryActions`\n * choose the treatment, so a command carries no tone or button style.\n */\nexport interface PageHeaderAction {\n\t/** Stable key. Defaults to the command's position. */\n\tid?: string;\n\t/** Visible command text. */\n\tlabel: ReactNode;\n\t/** Runs the command. When both are set, `onClick` wins over `href`. */\n\tonClick?: () => void;\n\t/** Navigates through the header's `renderLink` instead of running a callback. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Leading glyph. Pass a Lucide icon component. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Shows the pending indicator and blocks activation. */\n\tloading?: boolean;\n\t/** Blocks activation while keeping the command visible. */\n\tdisabled?: boolean;\n\t/** Set false to omit the command, for example without permission. */\n\tvisible?: boolean;\n\t/**\n\t * Irreversible or harmful command. A destructive secondary command moves to\n\t * the More actions menu; a destructive primary command keeps its place with\n\t * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.\n\t */\n\tdestructive?: boolean;\n}\n\n/** What a header hands its link renderer for an `href` command. */\nexport interface PageHeaderLinkRenderProps {\n\thref: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app. */\n\texternal?: boolean;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}\n\n/** Renders framework links for `href` commands. Layout `renderLink` functions fit. */\nexport type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;\n\n/** Native anchor fallback, matching the layout default: external links open a new tab. */\nexport const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer = ({ href, external, target, rel, children, ...props }) => (\n\t<a\n\t\thref={href}\n\t\ttarget={target ?? (external ? '_blank' : undefined)}\n\t\trel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</a>\n);\n\n/** Secondary commands rendered as buttons on wide headers; later ones overflow. */\nexport const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;\n\nconst INLINE_COMMAND_CLASS = '@max-[40rem]/page-header:hidden';\nconst COMPACT_MENU_CLASS = '@min-[40rem]/page-header:hidden';\nconst MENU_CONTENT_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\n\ntype CommandRole = 'primary' | 'secondary';\n\ninterface CommandEntry {\n\taction: PageHeaderAction;\n\tkey: string;\n}\n\nexport interface PageHeaderCommandsProps {\n\tprimaryAction?: PageHeaderAction;\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\trenderLink?: PageHeaderLinkRenderer;\n}\n\nfunction isVisible(action: PageHeaderAction | undefined): action is PageHeaderAction {\n\treturn !!action && action.visible !== false;\n}\n\nfunction isVisibleControl(node: HTMLElement) {\n\tconst style = node.ownerDocument.defaultView?.getComputedStyle(node);\n\treturn !!style && style.display !== 'none' && style.visibility !== 'hidden' && !node.closest('[hidden],[inert]');\n}\n\n/** Whether the header has any role-based command to render. */\nexport function hasPageHeaderCommands(\n\tprimaryAction: PageHeaderAction | undefined,\n\tsecondaryActions: readonly PageHeaderAction[] | undefined,\n) {\n\treturn isVisible(primaryAction) || (secondaryActions ?? []).some(isVisible);\n}\n\nfunction presentation(action: PageHeaderAction, role: CommandRole) {\n\tif (role === 'secondary') return { tone: 'secondary', buttonStyle: 'outline' } as const;\n\treturn { tone: action.destructive ? 'destructive' : 'primary', buttonStyle: 'solid' } as const;\n}\n\n/** `onClick` wins over `href`, matching PageAction. */\nfunction linkDestination(action: PageHeaderAction) {\n\treturn action.href && !action.onClick ? action.href : undefined;\n}\n\nfunction CommandButton({\n\taction,\n\trole,\n\trenderLink,\n\tclassName,\n}: {\n\taction: PageHeaderAction;\n\trole: CommandRole;\n\trenderLink: PageHeaderLinkRenderer;\n\tclassName?: string;\n}) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst { tone, buttonStyle } = presentation(action, role);\n\tconst href = linkDestination(action);\n\tconst Icon = action.icon;\n\tconst hookClassName = cn(`page-header--${role}-action`, className);\n\n\tif (href && !action.disabled && !action.loading) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderLink({\n\t\t\t\t\thref,\n\t\t\t\t\ttarget: action.target,\n\t\t\t\t\trel: action.rel,\n\t\t\t\t\texternal: action.external,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'button--component base-button--component',\n\t\t\t\t\t\tbuttonVariants({ tone, buttonStyle, size: resolveComponentScale(undefined, defaultScale) }),\n\t\t\t\t\t\thookClassName,\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{Icon && <Icon className=\"size-icon shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t{action.label}\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);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\ttone={tone}\n\t\t\tbuttonStyle={buttonStyle}\n\t\t\ticon={Icon}\n\t\t\tloading={action.loading}\n\t\t\thandlesLoading={action.loading !== undefined}\n\t\t\tdisabled={action.disabled}\n\t\t\tonClick={action.onClick}\n\t\t\tclassName={hookClassName}\n\t\t>\n\t\t\t{action.label}\n\t\t</Button>\n\t);\n}\n\nfunction toMenuAction({ action, key }: CommandEntry, className?: string): ActionMenuAction {\n\treturn {\n\t\tid: key,\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: linkDestination(action),\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled: !!action.disabled || !!action.loading,\n\t\ttone: action.destructive ? 'destructive' : 'secondary',\n\t\tclassName,\n\t};\n}\n\nexport function PageHeaderCommands({\n\tprimaryAction,\n\tsecondaryActions,\n\tmaxVisibleSecondaryActions,\n\tmoreActionsLabel,\n\trenderLink = defaultPageHeaderLinkRenderer,\n}: PageHeaderCommandsProps) {\n\t// Keep the popup inside its header container so responsive menu entries and\n\t// CSS theme inheritance follow the same boundary as the inline commands.\n\tconst { host, attachHost, context } = useThemeScopeHost<HTMLDivElement>();\n\tconst [menuOpen, setMenuOpen] = useState(false);\n\tconst resizeFocus = useRef<HTMLElement | null>(null);\n\tconst ownedFocus = useRef<HTMLElement | null>(null);\n\tconst finalFocus = useCallback(() => resizeFocus.current ?? true, []);\n\tconst captureFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tif (event.target instanceof HTMLElement) ownedFocus.current = event.target;\n\t}, []);\n\tconst captureBlur = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tconst next = event.relatedTarget;\n\t\tif (next instanceof Node && host.current?.contains(next)) return;\n\t\tconst target = event.target;\n\t\tconst hiddenBlur = target instanceof HTMLElement && target === ownedFocus.current && !isVisibleControl(target)\n\t\t\t&& (next == null || next instanceof HTMLElement && !isVisibleControl(next));\n\t\tif (!hiddenBlur) ownedFocus.current = null;\n\t}, [host]);\n\tuseEffect(() => {\n\t\tconst root = host.current;\n\t\tconst header = root?.closest('.page-header--component');\n\t\tconst view = root?.ownerDocument.defaultView;\n\t\tif (!root || !header || !view) return;\n\t\tconst inlineCommand = root.querySelector<HTMLElement>('.page-header--primary-action,.page-header--secondary-action');\n\t\tif (!inlineCommand) return;\n\t\tlet inlineVisible = isVisibleControl(inlineCommand);\n\t\tconst recoverFocus = () => {\n\t\t\tconst nextInlineVisible = isVisibleControl(inlineCommand);\n\t\t\tif (nextInlineVisible === inlineVisible) return;\n\t\t\tinlineVisible = nextInlineVisible;\n\t\t\tconst active = root.ownerDocument.activeElement;\n\t\t\tconst droppedHiddenFocus = active === root.ownerDocument.body && ownedFocus.current\n\t\t\t\t&& root.contains(ownedFocus.current) && !isVisibleControl(ownedFocus.current);\n\t\t\tif (!active || !root.contains(active) && !droppedHiddenFocus) {\n\t\t\t\townedFocus.current = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// CSS owns the breakpoint. Only react when its actual presentation\n\t\t\t// changes, keeping focus out of a newly hidden row or trigger.\n\t\t\tconst candidates = root.querySelectorAll<HTMLElement>('.page-header--more-actions,.page-header--primary-action,.page-header--secondary-action');\n\t\t\tconst target = [...candidates].find(node => node.matches('.page-header--more-actions') && isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? [...candidates].find(node => isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? root;\n\t\t\tresizeFocus.current = target;\n\t\t\tif (menuOpen) setMenuOpen(false);\n\t\t\ttarget.focus({ preventScroll: true });\n\t\t};\n\t\tconst observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(recoverFocus);\n\t\tobserver?.observe(header);\n\t\tview.addEventListener('resize', recoverFocus);\n\t\treturn () => {\n\t\t\tobserver?.disconnect();\n\t\t\tview.removeEventListener('resize', recoverFocus);\n\t\t};\n\t}, [context.mounted, host, maxVisibleSecondaryActions, menuOpen, primaryAction, secondaryActions]);\n\tconst secondary: CommandEntry[] = (secondaryActions ?? [])\n\t\t.map((action, index) => ({ action, key: action.id ?? `secondary-${index}` }))\n\t\t.filter(({ action }) => isVisible(action));\n\tconst routine = secondary.filter(({ action }) => !action.destructive);\n\tconst destructive = secondary.filter(({ action }) => action.destructive);\n\t// `Infinity` keeps every routine command inline; NaN keeps the default.\n\tconst inlineLimit = maxVisibleSecondaryActions === undefined || Number.isNaN(maxVisibleSecondaryActions)\n\t\t? PAGE_HEADER_INLINE_SECONDARY_LIMIT\n\t\t: Math.max(0, Math.floor(maxVisibleSecondaryActions));\n\tconst inline = routine.slice(0, inlineLimit);\n\tconst overflow = routine.slice(inlineLimit);\n\tconst primary = isVisible(primaryAction) ? primaryAction : undefined;\n\n\tif (!primary && secondary.length === 0) return null;\n\n\tconst primaryEntry = primary ? { action: primary, key: `primary-${primary.id ?? 'action'}` } : undefined;\n\tconst destructiveMenuEntries = [\n\t\t...(primaryEntry && primary?.destructive ? [{ ...primaryEntry, className: COMPACT_MENU_CLASS }] : []),\n\t\t...destructive.map(entry => ({ ...entry, className: undefined })),\n\t];\n\t// Compact entries share one menu with permanent overflow. The primary leads\n\t// routine commands; destructive commands form the final group at any width.\n\tconst menuActions: ActionMenuAction[] = [\n\t\t...(primaryEntry && !primary?.destructive ? [toMenuAction(primaryEntry, COMPACT_MENU_CLASS)] : []),\n\t\t...inline.map(entry => toMenuAction(entry, COMPACT_MENU_CLASS)),\n\t\t...overflow.map(entry => toMenuAction(entry)),\n\t\t...destructiveMenuEntries.map(entry => ({\n\t\t\t...toMenuAction(entry, entry.className),\n\t\t\tgroup: true as const,\n\t\t\t// A boundary survives on wide headers only when both groups have a\n\t\t\t// permanent entry. Otherwise it follows the compact-only commands.\n\t\t\tgroupClassName: overflow.length > 0 && destructive.length > 0 ? undefined : COMPACT_MENU_CLASS,\n\t\t})),\n\t];\n\tconst compactMenuOnly = overflow.length === 0 && destructive.length === 0;\n\tconst renderMenuLink = (props: ActionMenuLinkRenderProps) =>\n\t\trenderLink({ ...props, children: props.children ?? null }) as ReactElement;\n\n\t// Secondary commands lead, the primary command follows them, and the More\n\t// actions menu closes the row. The trigger is one more secondary command:\n\t// outline, at the commands' own height.\n\treturn (\n\t\t<ThemeScopeHostProvider value={context}>\n\t\t\t<div\n\t\t\t\tref={attachHost}\n\t\t\t\tonFocusCapture={captureFocus}\n\t\t\t\tonBlurCapture={captureBlur}\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdata-slot=\"page-header-commands\"\n\t\t\t\tclassName={cn('page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end outline-none', compositionClasses.commands, focusRecipes.inset)}\n\t\t\t>\n\t\t\t\t{inline.map((entry) => (\n\t\t\t\t\t<CommandButton\n\t\t\t\t\t\tkey={entry.key}\n\t\t\t\t\t\taction={entry.action}\n\t\t\t\t\t\trole=\"secondary\"\n\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\tclassName={INLINE_COMMAND_CLASS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{primary && <CommandButton action={primary} role=\"primary\" renderLink={renderLink} className={INLINE_COMMAND_CLASS} />}\n\t\t\t\t{menuActions.length > 0 && (\n\t\t\t\t\t<ActionMenu\n\t\t\t\t\t\topen={menuOpen}\n\t\t\t\t\t\tonOpenChange={nextOpen => {\n\t\t\t\t\t\t\tif (nextOpen) resizeFocus.current = null;\n\t\t\t\t\t\t\tsetMenuOpen(nextOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// Only resizing owns an explicit target. The default close path\n\t\t\t\t\t\t// must respect focus already handed to a command's new overlay.\n\t\t\t\t\t\tfinalFocus={resizeFocus.current ? finalFocus : undefined}\n\t\t\t\t\t\tactions={menuActions}\n\t\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\t\tsrText={moreActionsLabel}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tcloseOnSelect\n\t\t\t\t\t\tpreserveOrder\n\t\t\t\t\t\tcontentClassName={MENU_CONTENT_CLASS}\n\t\t\t\t\t\trenderLink={renderMenuLink}\n\t\t\t\t\t\t// The shared outline overflow square follows the provider scale, like the commands.\n\t\t\t\t\t\tbuttonProps={{ className: cn('page-header--more-actions', compactMenuOnly && COMPACT_MENU_CLASS) }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</ThemeScopeHostProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { S as e, d as t } from "./ui-provider-C-74NVLc.js";
2
+ import { C as e, f as t } from "./ui-provider-Bu1S-o96.js";
3
3
  import { useStrings as n } from "./lib/strings.js";
4
- import { t as r } from "./utils-DhuoqFy4.js";
5
- import { n as i } from "./buttons-DeW0bQeK.js";
6
- import { c as a } from "./typography-C7-YMW1S.js";
4
+ import { t as r } from "./utils-BVbAG2J6.js";
5
+ import { c as i } from "./typography-C0dELqYV.js";
6
+ import { n as a } from "./buttons-pZVgPTZn.js";
7
7
  import { createContext as o, useContext as s } from "react";
8
8
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
9
  import { ChevronLeftIcon as u, ChevronRightIcon as d, MoreHorizontalIcon as f } from "lucide-react";
@@ -73,7 +73,7 @@ function C({ className: e, ...t }) {
73
73
  ...t
74
74
  });
75
75
  }
76
- function w({ className: n, label: i, size: o, strings: s, ...u }) {
76
+ function w({ className: n, label: a, size: o, strings: s, ...u }) {
77
77
  let d = b(s), { defaultScale: p } = t(), m = e(o, p);
78
78
  return /* @__PURE__ */ l("span", {
79
79
  "data-slot": "pagination-ellipsis",
@@ -82,11 +82,11 @@ function w({ className: n, label: i, size: o, strings: s, ...u }) {
82
82
  children: [/* @__PURE__ */ c(f, {
83
83
  className: "size-icon",
84
84
  "aria-hidden": "true"
85
- }), /* @__PURE__ */ c(a, {
85
+ }), /* @__PURE__ */ c(i, {
86
86
  tag: "span",
87
87
  size: "inherit",
88
88
  className: "sr-only",
89
- children: i ?? d.morePages
89
+ children: a ?? d.morePages
90
90
  })]
91
91
  });
92
92
  }
@@ -95,16 +95,15 @@ function T(e) {
95
95
  }
96
96
  function E({ className: n, children: o, active: s = !1, size: l, ...u }) {
97
97
  let { defaultScale: d } = t(), f = e(l, d);
98
- return /* @__PURE__ */ c(i, {
98
+ return /* @__PURE__ */ c(a, {
99
99
  size: f,
100
100
  tone: "secondary",
101
101
  buttonStyle: s ? "outline" : "ghost",
102
102
  "aria-current": s ? "page" : void 0,
103
- "data-slot": "pagination-link",
104
103
  "data-active": s || void 0,
105
104
  className: r("pagination-primitives--link px-control-xs", g[f], n),
106
105
  ...u,
107
- children: x(o) ? /* @__PURE__ */ c(a, {
106
+ children: x(o) ? /* @__PURE__ */ c(i, {
108
107
  tag: "span",
109
108
  size: "inherit",
110
109
  weight: "medium",
@@ -114,38 +113,38 @@ function E({ className: n, children: o, active: s = !1, size: l, ...u }) {
114
113
  }) : o
115
114
  });
116
115
  }
117
- function D({ className: e, text: t, strings: n, children: i, ...o }) {
118
- let s = b(n);
116
+ function D({ className: e, text: t, strings: n, ...a }) {
117
+ let o = b(n);
119
118
  return /* @__PURE__ */ l(E, {
120
- "aria-label": s.previousLabel,
119
+ "aria-label": o.previousLabel,
121
120
  className: r("pagination-primitives--previous sm:!ps-control-sm sm:!pe-control", e),
122
- ...o,
121
+ ...a,
123
122
  children: [/* @__PURE__ */ c(u, {
124
123
  "data-icon": "inline-start",
125
124
  "aria-hidden": "true"
126
- }), /* @__PURE__ */ c(a, {
125
+ }), /* @__PURE__ */ c(i, {
127
126
  tag: "span",
128
127
  size: "inherit",
129
128
  weight: "medium",
130
129
  lineHeight: "tight",
131
130
  className: "hidden text-inherit sm:block",
132
- children: t ?? s.previous
131
+ children: t ?? o.previous
133
132
  })]
134
133
  });
135
134
  }
136
- function O({ className: e, text: t, strings: n, children: i, ...o }) {
137
- let s = b(n);
135
+ function O({ className: e, text: t, strings: n, ...a }) {
136
+ let o = b(n);
138
137
  return /* @__PURE__ */ l(E, {
139
- "aria-label": s.nextLabel,
138
+ "aria-label": o.nextLabel,
140
139
  className: r("pagination-primitives--next sm:!ps-control sm:!pe-control-sm", e),
141
- ...o,
142
- children: [/* @__PURE__ */ c(a, {
140
+ ...a,
141
+ children: [/* @__PURE__ */ c(i, {
143
142
  tag: "span",
144
143
  size: "inherit",
145
144
  weight: "medium",
146
145
  lineHeight: "tight",
147
146
  className: "hidden text-inherit sm:block",
148
- children: t ?? s.next
147
+ children: t ?? o.next
149
148
  }), /* @__PURE__ */ c(d, {
150
149
  "data-icon": "inline-end",
151
150
  "aria-hidden": "true"
@@ -155,4 +154,4 @@ function O({ className: e, text: t, strings: n, children: i, ...o }) {
155
154
  //#endregion
156
155
  export { O as a, v as c, E as i, w as n, D as o, T as r, S as s, C as t };
157
156
 
158
- //# sourceMappingURL=pagination-Br8TdV9A.js.map
157
+ //# sourceMappingURL=pagination-BuSWw1US.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination-BuSWw1US.js","names":["PaginationContent","PaginationItem","UIPagination","UIPaginationContent","UIPaginationItem","resolveComponentScale","useDensityConfig","cn","Text","Button","Pagination","props","className","PaginationContent$1","PaginationItem$1","pageMinWidthClasses","pageSquareClasses","defaultPaginationStrings","PaginationStringsContext","createContext","usePaginationStrings","inheritedStrings","useContext","useStrings","stringsProp","isSimpleText","value","PaginationRoot","ariaLabel","strings","PaginationContent","PaginationEllipsis","sizeProp","size","defaultScale","MoreHorizontalIcon","label","PaginationItem","PaginationLink","active","children","PaginationPrevious","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 = Omit<PaginationLinkProps, 'children'> & {\n\t/** Visible label for the control. */\n\ttext?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\nexport type PaginationPreviousProps = Omit<PaginationLinkProps, 'children'> & {\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 PaginationRoot({ 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-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, ...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, ...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":";;;;;;;;;;AAMA,SAASU,EAAW,EAAE,cAAW,GAAGC,KAAsC;CACxE,OACE,kBAAC,OAAD;EACE,MAAK;EACL,cAAW;EACX,aAAU;EACV,WAAWJ,EACT,sCACAK,CACF;EACA,GAAID;CACL,CAAA;AAEL;AAEA,SAASX,EAAkB,EACzB,cACA,GAAGW,KAC0B;CAC7B,OACE,kBAAC,MAAD;EACE,aAAU;EACV,WAAWJ,EAAG,qBAAqBK,CAAS;EAC5C,GAAID;CACL,CAAA;AAEL;AAEA,SAASV,EAAe,EAAE,GAAGU,KAAqC;CAChE,OAAO,kBAAC,MAAD;EAAI,aAAU;EAAkB,GAAIA;CAAQ,CAAA;AACrD;;;ACtBA,IAAMI,IAAsD;CAC3D,IAAI;CAAmB,IAAI;CAAgB,IAAI;AAChD,GACMC,IAAoD;CACzD,IAAI;CAAkB,IAAI;CAAe,IAAI;AAC9C,GAWaC,IAA8C;CAC1D,iBAAiB;CACjB,WAAW;CACX,UAAU;CACV,MAAM;CACN,eAAe;CACf,WAAW;AACZ,GAEMC,IAA2BC,EAAiCF,CAAwB;AAE1F,SAASG,EAAqB,GAA8C;CAC3E,IAAMC,IAAmBC,EAAWJ,CAAwB;CAC5D,OAAOK,EAAWF,GAAkBG,CAAW;AAChD;AA2CA,SAASC,EAAa,GAAqD;CAC1E,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AASA,SAAgBC,EAAe,EAAE,cAAW,SAASH,GAAa,aAAU,cAAcI,GAAW,GAAGjB,KAA0B;CACjI,IAAMkB,IAAUT,EAAqBI,CAAW;CAChD,OACC,kBAACN,EAAyB,UAA1B;EAAmC,OAAOW;EACzC,UAAA,kBAAC3B,GAAD;GACC,cAAY0B,KAAaC,EAAQ;GACjC,WAAWtB,EAAG,oCAAoCK,CAAS;GAC3D,GAAID;GAEH;EACY,CAAA;CACoB,CAAA;AAErC;AAEA,SAAgBmB,EAAkB,EAAE,cAAW,GAAGnB,KAAiC;CAClF,OACC,kBAACR,GAAD;EACC,WAAWI,EAAG,kEAAkEK,CAAS;EACzF,GAAID;CACJ,CAAA;AAEH;AAGA,SAAgBoB,EAAmB,EAAE,cAAW,UAAO,MAAMC,GAAU,SAASR,GAAa,GAAGb,KAAkC;CACjI,IAAMkB,IAAUT,EAAqBI,CAAW,GAC1C,EAAE,oBAAiBlB,EAAiB,GACpC2B,IAAO5B,EAAsB2B,GAAUE,CAAY;CACzD,OACC,kBAAC,QAAD;EACC,aAAU;EAEV,WAAW3B,EAAG,0GAA0GS,EAAkBiB,IAAOrB,CAAS;EAC1J,GAAID;EAJL,UAAA,CAMC,kBAACwB,GAAD;GAAoB,WAAU;GAAY,eAAY;EAAQ,CAAA,GAC9D,kBAAC3B,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,WAAU;GACxC,UAAA4B,KAASP,EAAQ;EACb,CAAA,CACD;;AAER;AAEA,SAAgBQ,EAAe,GAA4B;CAC1D,OAAO,kBAACjC,GAAD,EAAkB,GAAIO,EAAQ,CAAA;AACtC;AAEA,SAAgB2B,EAAe,EAAE,cAAW,aAAU,YAAS,IAAO,MAAMN,GAAU,GAAGrB,KAA8B;CACtH,IAAM,EAAE,oBAAiBL,EAAiB,GACpC2B,IAAO5B,EAAsB2B,GAAUE,CAAY;CACzD,OACC,kBAACzB,GAAD;EACO;EACN,MAAK;EACL,aAAa8B,IAAS,YAAY;EAClC,gBAAcA,IAAS,SAAS,KAAA;EAChC,eAAaA,KAAU,KAAA;EAEvB,WAAWhC,EAAG,6CAA6CQ,EAAoBkB,IAAOrB,CAAS;EAC/F,GAAID;EAEH,UAAAc,EAAae,CAAQ,IACrB,kBAAChC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,QAAO;GAAS,YAAW;GAAQ,WAAU;GAC3E;EACI,CAAA,IACHgC;CACG,CAAA;AAEV;AAGA,SAAgBC,EAAmB,EAAE,cAAW,SAAM,SAASjB,GAAa,GAAGb,KAAkC;CAChH,IAAMkB,IAAUT,EAAqBI,CAAW;CAChD,OACC,kBAACc,GAAD;EACC,cAAYT,EAAQ;EACpB,WAAWtB,EAAG,oEAAoEK,CAAS;EAC3F,GAAID;EAHL,UAAA,CAKC,kBAAC+B,GAAD;GAAiB,aAAU;GAAe,eAAY;EAAQ,CAAA,GAC9D,kBAAClC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,QAAO;GAAS,YAAW;GAAQ,WAAU;GAC3E,UAAAmC,KAAQd,EAAQ;EACZ,CAAA,CACS;;AAElB;AAGA,SAAgBe,EAAe,EAAE,cAAW,SAAM,SAASpB,GAAa,GAAGb,KAA8B;CACxG,IAAMkB,IAAUT,EAAqBI,CAAW;CAChD,OACC,kBAACc,GAAD;EACC,cAAYT,EAAQ;EACpB,WAAWtB,EAAG,gEAAgEK,CAAS;EACvF,GAAID;EAHL,UAAA,CAKC,kBAACH,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,QAAO;GAAS,YAAW;GAAQ,WAAU;GAC3E,UAAAmC,KAAQd,EAAQ;EACZ,CAAA,GACN,kBAACgB,GAAD;GAAkB,aAAU;GAAa,eAAY;EAAQ,CAAA,CAC9C;;AAElB"}
@@ -1,93 +1,97 @@
1
1
  "use client";
2
- import { i as e } from "./ui-provider-C-74NVLc.js";
3
- import { t } from "./utils-DhuoqFy4.js";
4
- import { c as n } from "./typography-C7-YMW1S.js";
5
- import { t as r } from "./anchored-positioning-DPnKTvNs.js";
6
- import { t as i } from "./portal-recipes-DyUXqUtD.js";
7
- import { t as a } from "./motion-recipes-DitYv6P2.js";
8
- import { t as o } from "./slot-CLF9kLrS.js";
9
- import { t as s } from "./structure-DZJ2wbAU.js";
10
- import { a as c } from "./surface-recipes-C8mNycaY.js";
11
- import { a as l, r as u } from "./popover.recipes-DJ0AkUan.js";
12
- import { t as d } from "./use-popup-focus-recovery-C0QPvgOR.js";
13
- import * as f from "react";
14
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
2
+ import { a as e } from "./ui-provider-Bu1S-o96.js";
3
+ import { t } from "./utils-BVbAG2J6.js";
4
+ import { c as n } from "./typography-C0dELqYV.js";
5
+ import { n as r } from "./anchored-positioning-1U_eBFNx.js";
6
+ import { t as i } from "./portal-recipes-BPeS4rGB.js";
7
+ import { t as a } from "./motion-recipes-CUc_aHuG.js";
8
+ import { t as o } from "./structure-DElaQwwN.js";
9
+ import { s } from "./surface-recipes-DV6rrOFq.js";
10
+ import { a as c, r as l } from "./popover.recipes-BqkdvlZn.js";
11
+ import { t as u } from "./use-popup-focus-recovery-C0QPvgOR.js";
12
+ import * as d from "react";
13
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
14
+ import { useRender as m } from "@base-ui/react/use-render";
15
15
  import { Popover as h } from "@base-ui/react/popover";
16
16
  //#region src/components/ui/popover.tsx
17
17
  function g({ ...e }) {
18
- return /* @__PURE__ */ p(h.Root, {
18
+ return /* @__PURE__ */ f(h.Root, {
19
19
  "data-slot": "popover",
20
20
  ...e
21
21
  });
22
22
  }
23
- function _({ asChild: e = !1, nativeButton: t, render: n, children: r, ...i }) {
24
- let a = e ? /* @__PURE__ */ p(o, {}) : void 0, s = typeof n == "function" ? ((e, t) => {
23
+ function _({ nativeButton: e, render: t, children: n, ...r }) {
24
+ let i = typeof t == "function" ? ((e, n) => {
25
25
  let { nativeButton: r, ...i } = e;
26
- return n(i, t);
27
- }) : n, c = !0;
28
- e && f.isValidElement(r) && (c = typeof r.type == "string" ? r.type === "button" : !("href" in (r.props ?? {})));
29
- let l = t ?? (!e || c);
30
- return /* @__PURE__ */ p(h.Trigger, {
26
+ return t(i, n);
27
+ }) : t, a = !0;
28
+ d.isValidElement(t) && (a = typeof t.type == "string" ? t.type === "button" : !("href" in (t.props ?? {})));
29
+ let o = e ?? a;
30
+ return /* @__PURE__ */ f(h.Trigger, {
31
31
  "data-slot": "popover-trigger",
32
- render: a ?? s,
33
- nativeButton: l,
34
- ...i,
35
- children: r
32
+ render: i,
33
+ nativeButton: o,
34
+ ...r,
35
+ children: n
36
36
  });
37
37
  }
38
- function v({ asChild: e = !1, ...t }) {
39
- return e ? /* @__PURE__ */ p(o, { ...t }) : /* @__PURE__ */ p("span", {
40
- "data-slot": "popover-anchor",
41
- ...t
38
+ function v({ render: e, ...t }) {
39
+ return m({
40
+ defaultTagName: "span",
41
+ render: e,
42
+ props: {
43
+ "data-slot": "popover-anchor",
44
+ ...t
45
+ }
42
46
  });
43
47
  }
44
- function y({ className: n, container: o, anchor: s, align: c = "center", alignOffset: l = 0, side: u = "bottom", sideOffset: m = 4, disablePortal: g = !1, positionMethod: _ = g ? "absolute" : r, onOpenAutoFocus: v, onInteractOutside: y, onFocusCapture: b, ...x }) {
45
- let S = e(o), C = d(b), [w, T] = f.useState(null), E = /* @__PURE__ */ p(h.Positioner, {
48
+ function y({ className: n, container: o, anchor: s, align: c = "center", alignOffset: l = 0, side: p = "bottom", sideOffset: m = 4, disablePortal: g = !1, positionMethod: _ = g ? "absolute" : r, onOpenAutoFocus: v, onInteractOutside: y, onFocusCapture: b, ...x }) {
49
+ let S = e(o), C = u(b), [w, T] = d.useState(null), E = /* @__PURE__ */ f(h.Positioner, {
46
50
  anchor: s,
47
51
  positionMethod: _,
48
52
  align: c,
49
53
  alignOffset: l,
50
- side: u,
54
+ side: p,
51
55
  sideOffset: m,
52
56
  className: "box-border isolate z-50",
53
- children: /* @__PURE__ */ p(h.Popup, {
57
+ children: /* @__PURE__ */ f(h.Popup, {
54
58
  "data-slot": "popover-content",
55
59
  className: t(a.popup, "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),
56
60
  ...x,
57
61
  onFocusCapture: C
58
62
  })
59
63
  });
60
- return g ? /* @__PURE__ */ p("div", {
64
+ return g ? /* @__PURE__ */ f("div", {
61
65
  "data-popover-inline-host": "",
62
66
  className: "contents",
63
67
  ref: T,
64
- children: /* @__PURE__ */ p(h.Portal, {
68
+ children: /* @__PURE__ */ f(h.Portal, {
65
69
  container: w,
66
70
  className: i(),
67
71
  children: E
68
72
  })
69
- }) : /* @__PURE__ */ p(h.Portal, {
73
+ }) : /* @__PURE__ */ f(h.Portal, {
70
74
  container: S,
71
75
  className: i(),
72
76
  children: E
73
77
  });
74
78
  }
75
79
  function b({ className: e, ...n }) {
76
- return /* @__PURE__ */ p("div", {
80
+ return /* @__PURE__ */ f("div", {
77
81
  "data-slot": "popover-header",
78
82
  className: t("flex flex-col text-sm", e),
79
83
  ...n
80
84
  });
81
85
  }
82
86
  function x({ className: e, ...n }) {
83
- return /* @__PURE__ */ p(h.Title, {
87
+ return /* @__PURE__ */ f(h.Title, {
84
88
  "data-slot": "popover-title",
85
89
  className: t("m-0 font-sans font-medium", e),
86
90
  ...n
87
91
  });
88
92
  }
89
93
  function S({ className: e, ...n }) {
90
- return /* @__PURE__ */ p(h.Description, {
94
+ return /* @__PURE__ */ f(h.Description, {
91
95
  "data-slot": "popover-description",
92
96
  className: t("m-0 font-sans text-muted-foreground", e),
93
97
  ...n
@@ -98,52 +102,52 @@ function S({ className: e, ...n }) {
98
102
  function C(e) {
99
103
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
100
104
  }
101
- var w = f.createContext({
105
+ var w = d.createContext({
102
106
  type: "display",
103
107
  flush: !1,
104
108
  regionOwned: !1
105
109
  });
106
110
  function T({ className: e, sideOffset: n = 6, inset: r, type: i, style: a, ...o }) {
107
111
  let s = i ?? (r === "compact" ? "menu" : "display");
108
- return /* @__PURE__ */ p(w.Provider, {
112
+ return /* @__PURE__ */ f(w.Provider, {
109
113
  value: {
110
114
  type: s,
111
115
  flush: r === "flush",
112
116
  regionOwned: !1
113
117
  },
114
- children: /* @__PURE__ */ p(y, {
118
+ children: /* @__PURE__ */ f(y, {
115
119
  "data-surface-type": s,
116
120
  sideOffset: n,
117
- className: t("popover--component", "gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain", u.surface, s === "display" && r === "compact" ? u.displayCompact : l[r ?? (s === "menu" ? "compact" : "default")], e),
121
+ className: t("popover--component", "gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain", l.surface, s === "display" && r === "compact" ? l.displayCompact : c[r ?? (s === "menu" ? "compact" : "default")], e),
118
122
  style: a,
119
123
  ...o
120
124
  })
121
125
  });
122
126
  }
123
127
  function E({ className: e, children: n, start: r, textGap: i, ...a }) {
124
- let o = f.useContext(w), l = i ?? (o.type === "menu" ? "dense" : "normal"), d = o.flush && !o.regionOwned, h = o.type === "menu" && !o.regionOwned, g = r != null && r !== !1;
125
- return /* @__PURE__ */ p(b, {
126
- className: t("popover-header--component", l === "dense" ? "gap-dense" : "gap-normal", d && (o.type === "menu" ? u.menuRegion : u.display), !d && h && "py-row-y", g && "flex-row items-center gap-space-md", d && c.anchored.header, e),
128
+ let c = d.useContext(w), u = i ?? (c.type === "menu" ? "dense" : "normal"), m = c.flush && !c.regionOwned, h = c.type === "menu" && !c.regionOwned, g = r != null && r !== !1;
129
+ return /* @__PURE__ */ f(b, {
130
+ className: t("popover-header--component", u === "dense" ? "gap-dense" : "gap-normal", m && (c.type === "menu" ? l.menuRegion : l.display), !m && h && "py-row-y", g && "flex-row items-center gap-space-md", m && s.anchored.header, e),
127
131
  ...a,
128
- children: /* @__PURE__ */ m(w.Provider, {
132
+ children: /* @__PURE__ */ p(w.Provider, {
129
133
  value: {
130
- ...o,
134
+ ...c,
131
135
  regionOwned: !0
132
136
  },
133
- children: [r, /* @__PURE__ */ p(s, {
134
- gap: l,
135
- className: t("popover-header--body min-w-0 flex-1", h && !g && u.menuCopyInset),
137
+ children: [r, /* @__PURE__ */ f(o, {
138
+ gap: u,
139
+ className: t("popover-header--body min-w-0 flex-1", h && !g && l.menuCopyInset),
136
140
  children: n
137
141
  })]
138
142
  })
139
143
  });
140
144
  }
141
145
  function D({ children: e, className: r, ...i }) {
142
- let a = f.useContext(w).type === "menu";
143
- return /* @__PURE__ */ p(x, {
146
+ let a = d.useContext(w).type === "menu";
147
+ return /* @__PURE__ */ f(x, {
144
148
  className: t("popover-title--component", C(e) && "leading-none", r),
145
149
  ...i,
146
- children: C(e) ? /* @__PURE__ */ p(n, {
150
+ children: C(e) ? /* @__PURE__ */ f(n, {
147
151
  tag: "span",
148
152
  type: "inherit",
149
153
  size: a ? void 0 : "base",
@@ -155,11 +159,11 @@ function D({ children: e, className: r, ...i }) {
155
159
  });
156
160
  }
157
161
  function O({ children: e, className: r, ...i }) {
158
- let a = f.useContext(w).type === "menu";
159
- return /* @__PURE__ */ p(S, {
162
+ let a = d.useContext(w).type === "menu";
163
+ return /* @__PURE__ */ f(S, {
160
164
  className: t("popover-description--component", C(e) && "leading-none", r),
161
165
  ...i,
162
- children: C(e) ? /* @__PURE__ */ p(n, {
166
+ children: C(e) ? /* @__PURE__ */ f(n, {
163
167
  tag: "span",
164
168
  type: "secondary",
165
169
  size: a ? "xs" : void 0,
@@ -170,32 +174,32 @@ function O({ children: e, className: r, ...i }) {
170
174
  });
171
175
  }
172
176
  function k({ className: e, children: r, caption: i, ...a }) {
173
- let o = f.useContext(w), l = i == null && C(r), d = i ?? (l ? r : void 0);
174
- return /* @__PURE__ */ p(s, {
177
+ let c = d.useContext(w), u = i == null && C(r), m = i ?? (u ? r : void 0);
178
+ return /* @__PURE__ */ f(o, {
175
179
  direction: "horizontal",
176
180
  gap: "sm",
177
181
  justify: "end",
178
182
  wrap: !0,
179
- className: t("popover-footer--component pt-space-sm", c.anchored.footer, o.flush && !o.regionOwned && (o.type === "menu" ? u.menuRegion : u.display), e),
183
+ className: t("popover-footer--component pt-space-sm", s.anchored.footer, c.flush && !c.regionOwned && (c.type === "menu" ? l.menuRegion : l.display), e),
180
184
  ...a,
181
- children: /* @__PURE__ */ m(w.Provider, {
185
+ children: /* @__PURE__ */ p(w.Provider, {
182
186
  value: {
183
- ...o,
187
+ ...c,
184
188
  regionOwned: !0
185
189
  },
186
- children: [d != null && /* @__PURE__ */ p("div", {
187
- className: t("popover-footer--caption me-auto min-w-0 max-w-full", o.type === "menu" && !o.regionOwned && u.menuCopyInset),
188
- children: C(d) ? /* @__PURE__ */ p(n, {
190
+ children: [m != null && /* @__PURE__ */ f("div", {
191
+ className: t("popover-footer--caption me-auto min-w-0 max-w-full", c.type === "menu" && !c.regionOwned && l.menuCopyInset),
192
+ children: C(m) ? /* @__PURE__ */ f(n, {
189
193
  tag: "span",
190
194
  size: "xs",
191
195
  type: "secondary",
192
- children: d
193
- }) : d
194
- }), !l && r]
196
+ children: m
197
+ }) : m
198
+ }), !u && r]
195
199
  })
196
200
  });
197
201
  }
198
202
  //#endregion
199
203
  export { D as a, _ as c, E as i, O as n, g as o, k as r, v as s, T as t };
200
204
 
201
- //# sourceMappingURL=popover-k8TdUcAt.js.map
205
+ //# sourceMappingURL=popover-BpMxbqEK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-BpMxbqEK.js","names":["Popover","PopoverPrimitive","React","PopoverContent","PopoverHeader","PopoverTitle","PopoverDescription","React","PopoverContentPrimitive","PopoverHeaderPrimitive","PopoverTitlePrimitive","PopoverDescriptionPrimitive","useThemePortalContainer","Text","anchoredPositionMethod","portalClassName","motionRecipes","Stack","surfaceInsetClasses","popoverRecipes","usePopupFocusRecovery","React$1","Popover$1","props","Popover","PopoverTrigger","safeRender","render","_nativeButton","rest","renderProps","state","inferredNativeButton","resolvedNativeButton","nativeButton","PopoverAnchor","useRender","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","surfaceDividerRecipes","PopoverTitle","compact","children","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\"\nimport { useRender } from \"@base-ui/react/use-render\"\n\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 nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props) {\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 // A composed element that is not a native button (an anchor, a div) needs\n // button semantics from the primitive; a real button keeps its own.\n let inferredNativeButton = true\n if (React.isValidElement(render)) {\n if (typeof render.type === \"string\") {\n inferredNativeButton = render.type === \"button\"\n } else {\n const renderProps = (render.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in renderProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? inferredNativeButton\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n render,\n ...props\n}: useRender.ComponentProps<\"span\">) {\n return useRender({ defaultTagName: \"span\", render, props: { \"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,11 +1,11 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "./lib/strings.js";
3
- import { t } from "./utils-DhuoqFy4.js";
4
- import { n, t as r } from "./feedback-Dzo1xtAU.js";
5
- import { i } from "./popover.recipes-DJ0AkUan.js";
6
- import { t as a } from "./collection-content-CSnwtOTH.js";
7
- import { a as o, i as s, l as c, n as l, o as u, r as d, t as f } from "./command-9e52NPgK.js";
8
- import { c as p, i as m, o as h, r as g, t as _ } from "./popover-k8TdUcAt.js";
3
+ import { t } from "./utils-BVbAG2J6.js";
4
+ import { n, t as r } from "./feedback-DmqmXKLn.js";
5
+ import { i } from "./popover.recipes-BqkdvlZn.js";
6
+ import { t as a } from "./collection-content-D7SoDlYd.js";
7
+ import { a as o, i as s, l as c, n as l, o as u, r as d, t as f } from "./command-CjZ2VzKC.js";
8
+ import { c as p, i as m, o as h, r as g, t as _ } from "./popover-BpMxbqEK.js";
9
9
  import * as v from "react";
10
10
  import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
11
11
  //#region src/components/base/popover-menu/popover-menu.types.ts
@@ -97,4 +97,4 @@ C.displayName = "PopoverMenu";
97
97
  //#endregion
98
98
  export { S as n, C as t };
99
99
 
100
- //# sourceMappingURL=popover-menu-yn-o0kyA.js.map
100
+ //# sourceMappingURL=popover-menu-CO-_iiuz.js.map