prime-ui-kit 0.6.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/components/accordion/examples/02-settings-panels.d.ts.map +1 -1
  2. package/dist/components/accordion/examples/04-api-docs-sections.d.ts.map +1 -1
  3. package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts.map +1 -1
  4. package/dist/components/avatar/examples/app-header-nav.d.ts.map +1 -1
  5. package/dist/components/avatar/examples/src-from-state.d.ts.map +1 -1
  6. package/dist/components/banner/examples/cookie-consent-row.d.ts.map +1 -1
  7. package/dist/components/banner/examples/feature-promo.d.ts.map +1 -1
  8. package/dist/components/button/examples/destructive-confirm.d.ts.map +1 -1
  9. package/dist/components/checkbox/examples/bulk-select-rows.d.ts.map +1 -1
  10. package/dist/components/checkbox/examples/empty-label-form.d.ts.map +1 -1
  11. package/dist/components/checkbox/examples/feature-flags-list.d.ts.map +1 -1
  12. package/dist/components/checkbox/examples/settings-panel.d.ts.map +1 -1
  13. package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
  14. package/dist/components/color-picker/ColorPickerRac.d.ts.map +1 -1
  15. package/dist/components/color-picker/examples/controlled-form-field.d.ts.map +1 -1
  16. package/dist/components/color-picker/examples/theme-accent.d.ts.map +1 -1
  17. package/dist/components/command-menu/examples/composition-tags-footer.d.ts.map +1 -1
  18. package/dist/components/command-menu/examples/variants-density-items.d.ts.map +1 -1
  19. package/dist/components/datepicker/examples/full-width-form.d.ts.map +1 -1
  20. package/dist/components/digit-input/examples/error-state.d.ts.map +1 -1
  21. package/dist/components/digit-input/examples/resend-and-clear.d.ts.map +1 -1
  22. package/dist/components/divider/examples/section-breaks.d.ts.map +1 -1
  23. package/dist/components/dropdown/Dropdown.d.ts +0 -14
  24. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  25. package/dist/components/dropdown/examples/account-menu.d.ts.map +1 -1
  26. package/dist/components/dropdown/examples/actions-menu.d.ts.map +1 -1
  27. package/dist/components/dropdown/examples/full-width.d.ts.map +1 -1
  28. package/dist/components/empty-page/EmptyPage.d.ts +63 -0
  29. package/dist/components/empty-page/EmptyPage.d.ts.map +1 -0
  30. package/dist/components/empty-page/examples/canonical.d.ts +3 -0
  31. package/dist/components/empty-page/examples/canonical.d.ts.map +1 -0
  32. package/dist/components/empty-page/examples/sizes.d.ts +3 -0
  33. package/dist/components/empty-page/examples/sizes.d.ts.map +1 -0
  34. package/dist/components/empty-page/examples/table-region.d.ts +6 -0
  35. package/dist/components/empty-page/examples/table-region.d.ts.map +1 -0
  36. package/dist/components/hint/examples/a11y-describedby.d.ts.map +1 -1
  37. package/dist/components/hint/examples/error-hint.d.ts.map +1 -1
  38. package/dist/components/hint/examples/field-help.d.ts.map +1 -1
  39. package/dist/components/hint/examples/field-states.d.ts.map +1 -1
  40. package/dist/components/hint/examples/inline-tip-form.d.ts.map +1 -1
  41. package/dist/components/hint/examples/success-confirmation.d.ts.map +1 -1
  42. package/dist/components/hint/examples/variants.d.ts.map +1 -1
  43. package/dist/components/index.css +259 -108
  44. package/dist/components/index.css.map +4 -4
  45. package/dist/components/index.d.ts +4 -2
  46. package/dist/components/index.d.ts.map +1 -1
  47. package/dist/components/index.js +639 -477
  48. package/dist/components/index.js.map +4 -4
  49. package/dist/components/input/examples/login-email.d.ts.map +1 -1
  50. package/dist/components/input/examples/search.d.ts.map +1 -1
  51. package/dist/components/link-button/examples/disabled.d.ts.map +1 -1
  52. package/dist/components/link-button/examples/external.d.ts.map +1 -1
  53. package/dist/components/link-button/examples/inline-text-link.d.ts.map +1 -1
  54. package/dist/components/link-button/examples/navigation-cluster.d.ts.map +1 -1
  55. package/dist/components/modal/Modal.d.ts +28 -7
  56. package/dist/components/modal/Modal.d.ts.map +1 -1
  57. package/dist/components/modal/examples/canonical-maximal.d.ts.map +1 -1
  58. package/dist/components/modal/examples/pattern-close-behavior.d.ts.map +1 -1
  59. package/dist/components/modal/examples/pattern-controlled.d.ts.map +1 -1
  60. package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts.map +1 -1
  61. package/dist/components/modal/examples/scenario-confirm-delete.d.ts.map +1 -1
  62. package/dist/components/modal/examples/scenario-edit-entity.d.ts.map +1 -1
  63. package/dist/components/modal/examples/scenario-legal-consent.d.ts.map +1 -1
  64. package/dist/components/modal/examples/scenario-multi-field-form.d.ts.map +1 -1
  65. package/dist/components/notification/examples/action-toast.d.ts.map +1 -1
  66. package/dist/components/notification/examples/error-success.d.ts.map +1 -1
  67. package/dist/components/popover/Popover.d.ts +3 -3
  68. package/dist/components/popover/Popover.d.ts.map +1 -1
  69. package/dist/components/popover/examples/composition.d.ts +1 -1
  70. package/dist/components/popover/examples/date-trigger.d.ts.map +1 -1
  71. package/dist/components/popover/examples/features.d.ts.map +1 -1
  72. package/dist/components/popover/examples/form-in-popover.d.ts.map +1 -1
  73. package/dist/components/popover/examples/full-width.d.ts.map +1 -1
  74. package/dist/components/popover/examples/placement.d.ts.map +1 -1
  75. package/dist/components/popover/examples/rich-content.d.ts.map +1 -1
  76. package/dist/components/popover/examples/sizes.d.ts +1 -1
  77. package/dist/components/progress-bar/examples/step-progress.d.ts.map +1 -1
  78. package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -1
  79. package/dist/components/progress-circle/examples/states.d.ts.map +1 -1
  80. package/dist/components/radio/examples/plan-picker.d.ts.map +1 -1
  81. package/dist/components/segmented-control/examples/pricing-toggle.d.ts.map +1 -1
  82. package/dist/components/segmented-control/examples/view-mode.d.ts.map +1 -1
  83. package/dist/components/select/Select.d.ts.map +1 -1
  84. package/dist/components/select/examples/01-country.d.ts.map +1 -1
  85. package/dist/components/select/examples/02-controlled.d.ts.map +1 -1
  86. package/dist/components/select/examples/03-groups.d.ts.map +1 -1
  87. package/dist/components/select/examples/04-full-width-form.d.ts.map +1 -1
  88. package/dist/components/switch/examples/composition.d.ts.map +1 -1
  89. package/dist/components/switch/examples/scenario-feature-flag.d.ts.map +1 -1
  90. package/dist/components/tabs/examples/01-settings-vertical-rail.d.ts.map +1 -1
  91. package/dist/components/tag/examples/controlled.d.ts.map +1 -1
  92. package/dist/components/textarea/examples/01-support-ticket.d.ts.map +1 -1
  93. package/dist/components/textarea/examples/02-comment.d.ts.map +1 -1
  94. package/dist/components/textarea/examples/controlled.d.ts.map +1 -1
  95. package/dist/components/textarea/examples/features.d.ts.map +1 -1
  96. package/dist/components/tooltip/examples/composition.d.ts.map +1 -1
  97. package/dist/hooks/useModalKeyboard.d.ts +14 -0
  98. package/dist/hooks/useModalKeyboard.d.ts.map +1 -0
  99. package/dist/index.css +259 -108
  100. package/dist/index.css.map +4 -4
  101. package/dist/index.js +641 -478
  102. package/dist/index.js.map +4 -4
  103. package/dist/internal/states.d.ts +2 -0
  104. package/dist/internal/states.d.ts.map +1 -1
  105. package/package.json +1 -1
  106. package/src/components/accordion/COMPONENT.md +1 -1
  107. package/src/components/accordion/examples/01-faq-marketing.tsx +1 -1
  108. package/src/components/accordion/examples/02-settings-panels.tsx +1 -6
  109. package/src/components/accordion/examples/03-checkout-order-summary.tsx +1 -1
  110. package/src/components/accordion/examples/04-api-docs-sections.tsx +0 -1
  111. package/src/components/accordion/examples/05-knowledge-base-categories.tsx +1 -7
  112. package/src/components/avatar/COMPONENT.md +2 -2
  113. package/src/components/avatar/examples/app-header-nav.tsx +5 -13
  114. package/src/components/avatar/examples/comment-thread.tsx +1 -1
  115. package/src/components/avatar/examples/src-from-state.tsx +0 -1
  116. package/src/components/badge/examples/admin-tags.tsx +6 -6
  117. package/src/components/badge/examples/ecommerce-inventory.tsx +5 -5
  118. package/src/components/badge/examples/inbox-labels.tsx +5 -5
  119. package/src/components/badge/examples/status-presence.tsx +4 -4
  120. package/src/components/banner/examples/controlled-visibility.tsx +1 -1
  121. package/src/components/banner/examples/cookie-consent-row.tsx +0 -1
  122. package/src/components/banner/examples/feature-promo.tsx +0 -1
  123. package/src/components/button/examples/canonical-composition.tsx +4 -4
  124. package/src/components/button/examples/destructive-confirm.tsx +14 -10
  125. package/src/components/button/examples/form-submit-row.tsx +2 -2
  126. package/src/components/button/examples/full-width-stack.tsx +2 -2
  127. package/src/components/button/examples/icon-composition.tsx +6 -6
  128. package/src/components/button/examples/toolbar.tsx +4 -4
  129. package/src/components/button-group/COMPONENT.md +1 -1
  130. package/src/components/button-group/examples/editor-toolbar.tsx +1 -1
  131. package/src/components/button-group/examples/form-footer.tsx +1 -1
  132. package/src/components/button-group/examples/full-width.tsx +1 -1
  133. package/src/components/button-group/examples/view-switcher.tsx +1 -1
  134. package/src/components/button-group/examples/wizard-actions.tsx +1 -1
  135. package/src/components/checkbox/examples/bulk-select-rows.tsx +0 -2
  136. package/src/components/checkbox/examples/empty-label-form.tsx +1 -2
  137. package/src/components/checkbox/examples/feature-flags-list.tsx +0 -1
  138. package/src/components/checkbox/examples/settings-panel.tsx +1 -4
  139. package/src/components/color-picker/COMPONENT.md +2 -2
  140. package/src/components/color-picker/examples/brand-kit.tsx +3 -3
  141. package/src/components/color-picker/examples/controlled-form-field.tsx +4 -6
  142. package/src/components/color-picker/examples/field-eyedropper.tsx +2 -2
  143. package/src/components/color-picker/examples/format-variants.tsx +2 -2
  144. package/src/components/color-picker/examples/full-width.tsx +2 -2
  145. package/src/components/color-picker/examples/minimal-popover.tsx +2 -2
  146. package/src/components/color-picker/examples/panel-placement.tsx +4 -4
  147. package/src/components/color-picker/examples/product-variant-swatch.tsx +2 -2
  148. package/src/components/color-picker/examples/readout-trigger.tsx +2 -2
  149. package/src/components/color-picker/examples/states.tsx +4 -4
  150. package/src/components/color-picker/examples/theme-accent.tsx +2 -7
  151. package/src/components/command-menu/examples/app-palette.tsx +1 -1
  152. package/src/components/command-menu/examples/composition-tags-footer.tsx +2 -7
  153. package/src/components/command-menu/examples/controlled-open-search.tsx +1 -1
  154. package/src/components/command-menu/examples/disabled-items.tsx +1 -1
  155. package/src/components/command-menu/examples/file-search.tsx +1 -1
  156. package/src/components/command-menu/examples/full-width-panel.tsx +1 -1
  157. package/src/components/command-menu/examples/item-icon-as.tsx +1 -1
  158. package/src/components/command-menu/examples/quick-actions.tsx +1 -1
  159. package/src/components/command-menu/examples/variants-density-items.tsx +2 -4
  160. package/src/components/data-table/COMPONENT.md +2 -0
  161. package/src/components/datepicker/examples/birthdate.tsx +2 -2
  162. package/src/components/datepicker/examples/booking.tsx +2 -2
  163. package/src/components/datepicker/examples/full-width-form.tsx +3 -10
  164. package/src/components/datepicker/examples/range-report.tsx +2 -2
  165. package/src/components/digit-input/examples/composition.tsx +3 -3
  166. package/src/components/digit-input/examples/error-state.tsx +3 -5
  167. package/src/components/digit-input/examples/otp-login.tsx +3 -3
  168. package/src/components/digit-input/examples/resend-and-clear.tsx +3 -9
  169. package/src/components/digit-input/examples/verification-step.tsx +4 -4
  170. package/src/components/divider/examples/card-splits.tsx +2 -2
  171. package/src/components/divider/examples/inset-stack.tsx +1 -1
  172. package/src/components/divider/examples/line-spacing-column.tsx +3 -3
  173. package/src/components/divider/examples/section-breaks.tsx +2 -6
  174. package/src/components/drawer/COMPONENT.md +1 -1
  175. package/src/components/drawer/examples/cart-preview.tsx +4 -4
  176. package/src/components/drawer/examples/explicit-panel.tsx +3 -3
  177. package/src/components/drawer/examples/filters-panel.tsx +7 -7
  178. package/src/components/drawer/examples/mobile-nav-sheet.tsx +3 -3
  179. package/src/components/drawer/examples/settings-side.tsx +6 -6
  180. package/src/components/dropdown/COMPONENT.md +5 -18
  181. package/src/components/dropdown/examples/account-menu.tsx +31 -33
  182. package/src/components/dropdown/examples/actions-menu.tsx +0 -1
  183. package/src/components/dropdown/examples/composition.tsx +1 -1
  184. package/src/components/dropdown/examples/controlled.tsx +1 -1
  185. package/src/components/dropdown/examples/dropdown-examples.module.css +0 -4
  186. package/src/components/dropdown/examples/full-width.tsx +0 -1
  187. package/src/components/dropdown/examples/select-like-list.tsx +1 -1
  188. package/src/components/dropdown/examples/states.tsx +1 -1
  189. package/src/components/dropdown/examples/variants.tsx +1 -1
  190. package/src/components/empty-page/COMPONENT.md +143 -0
  191. package/src/components/empty-page/examples/canonical.tsx +22 -0
  192. package/src/components/empty-page/examples/examples-demos.module.css +25 -0
  193. package/src/components/empty-page/examples/sizes.tsx +23 -0
  194. package/src/components/empty-page/examples/table-region.tsx +35 -0
  195. package/src/components/file-upload/examples/full-width.tsx +1 -1
  196. package/src/components/hint/examples/a11y-describedby.tsx +2 -4
  197. package/src/components/hint/examples/controlled-variant.tsx +1 -1
  198. package/src/components/hint/examples/error-hint.tsx +3 -5
  199. package/src/components/hint/examples/field-help.tsx +3 -5
  200. package/src/components/hint/examples/field-states.tsx +9 -19
  201. package/src/components/hint/examples/inline-tip-form.tsx +6 -10
  202. package/src/components/hint/examples/success-confirmation.tsx +3 -5
  203. package/src/components/hint/examples/variants.tsx +3 -9
  204. package/src/components/hint/examples/with-icon.tsx +1 -1
  205. package/src/components/input/examples/affix-url-and-amount.tsx +2 -2
  206. package/src/components/input/examples/checkout-full-width.tsx +2 -2
  207. package/src/components/input/examples/login-email.tsx +1 -5
  208. package/src/components/input/examples/password-with-hint.tsx +1 -1
  209. package/src/components/input/examples/search.tsx +0 -1
  210. package/src/components/kbd/examples/composition-chord-icon.tsx +1 -1
  211. package/src/components/kbd/examples/toolbar-hints.tsx +2 -2
  212. package/src/components/label/examples/with-icon.tsx +1 -1
  213. package/src/components/link-button/COMPONENT.md +1 -1
  214. package/src/components/link-button/examples/composition.tsx +3 -3
  215. package/src/components/link-button/examples/disabled.tsx +2 -4
  216. package/src/components/link-button/examples/external.tsx +1 -6
  217. package/src/components/link-button/examples/inline-text-link.tsx +2 -4
  218. package/src/components/link-button/examples/navigation-cluster.tsx +4 -12
  219. package/src/components/modal/COMPONENT.md +37 -19
  220. package/src/components/modal/examples/canonical-maximal.tsx +15 -11
  221. package/src/components/modal/examples/pattern-close-behavior.tsx +11 -7
  222. package/src/components/modal/examples/pattern-controlled.tsx +9 -7
  223. package/src/components/modal/examples/pattern-full-width-footer.tsx +3 -3
  224. package/src/components/modal/examples/pattern-portal-and-scroll.tsx +9 -7
  225. package/src/components/modal/examples/scenario-confirm-delete.tsx +14 -10
  226. package/src/components/modal/examples/scenario-edit-entity.tsx +18 -14
  227. package/src/components/modal/examples/scenario-legal-consent.tsx +10 -6
  228. package/src/components/modal/examples/scenario-multi-field-form.tsx +18 -20
  229. package/src/components/notification/examples/action-toast.tsx +0 -2
  230. package/src/components/notification/examples/error-success.tsx +0 -2
  231. package/src/components/page-content/COMPONENT.md +1 -0
  232. package/src/components/popover/COMPONENT.md +1 -1
  233. package/src/components/popover/examples/as-child.tsx +1 -1
  234. package/src/components/popover/examples/canonical-panel.tsx +2 -2
  235. package/src/components/popover/examples/composition.tsx +7 -7
  236. package/src/components/popover/examples/controlled.tsx +4 -4
  237. package/src/components/popover/examples/date-trigger.tsx +3 -10
  238. package/src/components/popover/examples/features.tsx +6 -13
  239. package/src/components/popover/examples/form-in-popover.tsx +5 -13
  240. package/src/components/popover/examples/full-width.tsx +2 -9
  241. package/src/components/popover/examples/inset-variants.tsx +6 -6
  242. package/src/components/popover/examples/placement.tsx +2 -7
  243. package/src/components/popover/examples/rich-content.tsx +6 -8
  244. package/src/components/popover/examples/sizes.tsx +5 -5
  245. package/src/components/popover/examples/states.tsx +4 -4
  246. package/src/components/progress-bar/examples/indeterminate-busy-state.tsx +1 -1
  247. package/src/components/progress-bar/examples/step-progress.tsx +0 -1
  248. package/src/components/progress-bar/examples/upload-progress.tsx +1 -1
  249. package/src/components/progress-bar/examples/wizard-composition.tsx +1 -1
  250. package/src/components/progress-circle/examples/a11y-label.tsx +1 -1
  251. package/src/components/progress-circle/examples/composition.tsx +2 -2
  252. package/src/components/progress-circle/examples/dashboard-ring.tsx +1 -6
  253. package/src/components/progress-circle/examples/max-scale.tsx +3 -3
  254. package/src/components/progress-circle/examples/states.tsx +5 -13
  255. package/src/components/radio/examples/notification-channel.tsx +3 -3
  256. package/src/components/radio/examples/plan-picker.tsx +0 -3
  257. package/src/components/radio/examples/settings-group.tsx +4 -4
  258. package/src/components/radio/examples/shipping-method.tsx +3 -3
  259. package/src/components/segmented-control/examples/canonical-composition.tsx +7 -7
  260. package/src/components/segmented-control/examples/composition.tsx +7 -7
  261. package/src/components/segmented-control/examples/features.tsx +3 -3
  262. package/src/components/segmented-control/examples/full-width.tsx +1 -1
  263. package/src/components/segmented-control/examples/pricing-toggle.tsx +0 -1
  264. package/src/components/segmented-control/examples/states.tsx +3 -3
  265. package/src/components/segmented-control/examples/view-mode.tsx +0 -1
  266. package/src/components/segmented-progress-bar/examples/size-ladder.tsx +1 -1
  267. package/src/components/select/COMPONENT.md +3 -3
  268. package/src/components/select/examples/01-country.tsx +2 -4
  269. package/src/components/select/examples/02-controlled.tsx +2 -4
  270. package/src/components/select/examples/03-groups.tsx +2 -4
  271. package/src/components/select/examples/04-full-width-form.tsx +4 -8
  272. package/src/components/select/examples/pattern-composition.tsx +1 -1
  273. package/src/components/select/examples/pattern-controlled.tsx +1 -1
  274. package/src/components/select/examples/pattern-features.tsx +1 -1
  275. package/src/components/select/examples/pattern-full-width.tsx +1 -1
  276. package/src/components/select/examples/pattern-native.tsx +1 -1
  277. package/src/components/select/examples/pattern-states.tsx +4 -4
  278. package/src/components/slider/COMPONENT.md +1 -1
  279. package/src/components/stepper/COMPONENT.md +1 -1
  280. package/src/components/stepper/examples/01-checkout-horizontal.tsx +1 -1
  281. package/src/components/stepper/examples/02-onboarding-vertical.tsx +1 -1
  282. package/src/components/stepper/examples/03-vertical-primitive-rail.tsx +1 -1
  283. package/src/components/stepper/examples/04-checkout-step-error.tsx +1 -1
  284. package/src/components/stepper/examples/05-horizontal-primitive.tsx +1 -1
  285. package/src/components/switch/COMPONENT.md +1 -1
  286. package/src/components/switch/examples/canonical-maximal.tsx +1 -1
  287. package/src/components/switch/examples/composition.tsx +1 -2
  288. package/src/components/switch/examples/controlled.tsx +1 -1
  289. package/src/components/switch/examples/full-width.tsx +1 -1
  290. package/src/components/switch/examples/scenario-billing-annual.tsx +1 -1
  291. package/src/components/switch/examples/scenario-feature-flag.tsx +1 -6
  292. package/src/components/switch/examples/scenario-settings-toggle.tsx +3 -3
  293. package/src/components/switch/examples/states.tsx +6 -6
  294. package/src/components/switch/examples/variants.tsx +2 -2
  295. package/src/components/tabs/COMPONENT.md +1 -1
  296. package/src/components/tabs/examples/01-settings-vertical-rail.tsx +1 -6
  297. package/src/components/tag/COMPONENT.md +1 -1
  298. package/src/components/tag/examples/01-filter-chips.tsx +1 -1
  299. package/src/components/tag/examples/02-removable-selected-values.tsx +1 -1
  300. package/src/components/tag/examples/03-status-metadata.tsx +3 -3
  301. package/src/components/tag/examples/controlled.tsx +1 -6
  302. package/src/components/tag/examples/removable.tsx +1 -1
  303. package/src/components/textarea/examples/01-support-ticket.tsx +0 -1
  304. package/src/components/textarea/examples/02-comment.tsx +1 -2
  305. package/src/components/textarea/examples/composition.tsx +2 -2
  306. package/src/components/textarea/examples/controlled.tsx +0 -1
  307. package/src/components/textarea/examples/features.tsx +3 -12
  308. package/src/components/textarea/examples/full-width.tsx +1 -1
  309. package/src/components/textarea/examples/states.tsx +4 -4
  310. package/src/components/textarea/examples/variants.tsx +2 -2
  311. package/src/components/tooltip/COMPONENT.md +0 -1
  312. package/src/components/tooltip/examples/canonical-icon-hint.tsx +1 -1
  313. package/src/components/tooltip/examples/composition.tsx +3 -9
  314. package/src/components/tooltip/examples/controlled.tsx +2 -2
  315. package/src/components/tooltip/examples/delay.tsx +1 -1
  316. package/src/components/tooltip/examples/long-content.tsx +2 -2
  317. package/src/components/tooltip/examples/side.tsx +4 -4
  318. package/src/components/tooltip/examples/states.tsx +2 -2
  319. package/src/components/tooltip/examples/surfaces.tsx +2 -2
  320. package/dist/components/dropdown/examples/inset.d.ts +0 -3
  321. package/dist/components/dropdown/examples/inset.d.ts.map +0 -1
  322. package/src/components/dropdown/examples/inset.tsx +0 -51
package/dist/index.js CHANGED
@@ -3914,7 +3914,7 @@ function SelectComboboxRoot({
3914
3914
  defaultValue,
3915
3915
  onChange: handleChange
3916
3916
  });
3917
- const [selectedLabel, setSelectedLabel] = React37.useState(void 0);
3917
+ const [selectedLabelBinding, setSelectedLabelBinding] = React37.useState(void 0);
3918
3918
  const [isOpen, setIsOpen] = React37.useState(false);
3919
3919
  const [highlightedValue, setHighlightedValue] = React37.useState(void 0);
3920
3920
  const generatedId = React37.useId();
@@ -3925,13 +3925,13 @@ function SelectComboboxRoot({
3925
3925
  selectedValueRef.current = selectedValue;
3926
3926
  const onInitLabel = React37.useCallback((val, label) => {
3927
3927
  if (val === selectedValueRef.current) {
3928
- setSelectedLabel(label);
3928
+ setSelectedLabelBinding({ value: val, label });
3929
3929
  }
3930
3930
  }, []);
3931
3931
  const onSelect = React37.useCallback(
3932
3932
  (val, label) => {
3933
3933
  setSelectedValue(val);
3934
- setSelectedLabel(label);
3934
+ setSelectedLabelBinding({ value: val, label });
3935
3935
  setIsOpen(false);
3936
3936
  },
3937
3937
  [setSelectedValue]
@@ -3946,7 +3946,7 @@ function SelectComboboxRoot({
3946
3946
  hasError,
3947
3947
  isOpen,
3948
3948
  selectedValue,
3949
- selectedLabel,
3949
+ selectedLabelBinding,
3950
3950
  onSelect,
3951
3951
  onClose,
3952
3952
  onOpen,
@@ -4018,8 +4018,8 @@ var SelectTrigger = React37.forwardRef(
4018
4018
  );
4019
4019
  SelectTrigger.displayName = "SelectTrigger";
4020
4020
  function SelectValue({ className }) {
4021
- const { selectedLabel, selectedValue, placeholder } = useSelectContext();
4022
- const display = selectedLabel ?? selectedValue ?? placeholder;
4021
+ const { selectedLabelBinding, selectedValue, placeholder } = useSelectContext();
4022
+ const display = selectedLabelBinding && selectedLabelBinding.value === selectedValue ? selectedLabelBinding.label : selectedValue ?? placeholder;
4023
4023
  return /* @__PURE__ */ jsx26(
4024
4024
  "span",
4025
4025
  {
@@ -4155,7 +4155,7 @@ var SelectItem = React37.forwardRef(
4155
4155
  const resolvedLabel = label ?? selectItemTextFromRest(rest) ?? (typeof children === "string" ? children : void 0) ?? value;
4156
4156
  React37.useEffect(() => {
4157
4157
  onInitLabel(value, resolvedLabel);
4158
- }, [value, resolvedLabel, onInitLabel]);
4158
+ }, [value, resolvedLabel, onInitLabel, selectedValue]);
4159
4159
  const handleClick = () => {
4160
4160
  if (!disabled) onSelect(value, resolvedLabel);
4161
4161
  };
@@ -4782,7 +4782,6 @@ var EyeDropperButton = React38.forwardRef(function EyeDropperButton2({ children,
4782
4782
  className: cx(ColorPicker_default.eyeDropperSquare, className),
4783
4783
  disabled: true,
4784
4784
  mode: "stroke",
4785
- size: "m",
4786
4785
  tabIndex: -1,
4787
4786
  type,
4788
4787
  variant: "neutral",
@@ -4799,7 +4798,6 @@ var EyeDropperButton = React38.forwardRef(function EyeDropperButton2({ children,
4799
4798
  "aria-label": ariaLabel ?? "\u041F\u0438\u043F\u0435\u0442\u043A\u0430",
4800
4799
  className: cx(ColorPicker_default.eyeDropperSquare, className),
4801
4800
  mode: "stroke",
4802
- size: "m",
4803
4801
  variant: "neutral",
4804
4802
  onClick: (e) => {
4805
4803
  onClick?.(e);
@@ -4852,10 +4850,88 @@ var ColorPicker = {
4852
4850
  };
4853
4851
 
4854
4852
  // src/components/command-menu/CommandMenu.tsx
4855
- import * as React40 from "react";
4853
+ import * as React41 from "react";
4856
4854
 
4857
4855
  // src/components/modal/Modal.tsx
4856
+ import * as React40 from "react";
4857
+
4858
+ // src/hooks/useModalKeyboard.ts
4858
4859
  import * as React39 from "react";
4860
+ function shouldBlockEnterConfirm(target) {
4861
+ if (!target || !(target instanceof HTMLElement)) {
4862
+ return false;
4863
+ }
4864
+ const el = target;
4865
+ if (el.isContentEditable) {
4866
+ return true;
4867
+ }
4868
+ if (el.closest('[contenteditable="true"]')) {
4869
+ return true;
4870
+ }
4871
+ const tag = el.tagName;
4872
+ if (tag === "TEXTAREA") {
4873
+ return true;
4874
+ }
4875
+ if (tag === "SELECT") {
4876
+ return true;
4877
+ }
4878
+ if (tag === "INPUT") {
4879
+ const { type } = el;
4880
+ return type === "checkbox" || type === "radio" || type === "file" || type === "button" || type === "submit" || type === "reset";
4881
+ }
4882
+ return false;
4883
+ }
4884
+ function useModalKeyboard({
4885
+ open,
4886
+ trapRef,
4887
+ closeOnEscape,
4888
+ onClose,
4889
+ confirmOnEnter,
4890
+ onEnterConfirm,
4891
+ primaryRef
4892
+ }) {
4893
+ useEscapeKey({ enabled: closeOnEscape && open, onEscape: onClose });
4894
+ React39.useEffect(() => {
4895
+ if (!open || !confirmOnEnter) {
4896
+ return;
4897
+ }
4898
+ const onKeyDown = (event) => {
4899
+ if (event.key !== "Enter" || event.repeat) {
4900
+ return;
4901
+ }
4902
+ const container = trapRef.current;
4903
+ if (!container) {
4904
+ return;
4905
+ }
4906
+ const active = document.activeElement;
4907
+ if (!active || !container.contains(active)) {
4908
+ return;
4909
+ }
4910
+ const header = container.querySelector("header");
4911
+ if (header && event.target instanceof Node && header.contains(event.target)) {
4912
+ return;
4913
+ }
4914
+ if (shouldBlockEnterConfirm(event.target)) {
4915
+ return;
4916
+ }
4917
+ if (onEnterConfirm) {
4918
+ onEnterConfirm(event);
4919
+ return;
4920
+ }
4921
+ const primary = primaryRef.current;
4922
+ if (!primary) {
4923
+ return;
4924
+ }
4925
+ if (active === primary) {
4926
+ return;
4927
+ }
4928
+ event.preventDefault();
4929
+ primary.click();
4930
+ };
4931
+ document.addEventListener("keydown", onKeyDown, true);
4932
+ return () => document.removeEventListener("keydown", onKeyDown, true);
4933
+ }, [open, confirmOnEnter, onEnterConfirm, primaryRef, trapRef]);
4934
+ }
4859
4935
 
4860
4936
  // src/components/modal/Modal.module.css
4861
4937
  var Modal_default = {
@@ -4881,9 +4957,9 @@ var Modal_default = {
4881
4957
  import { jsx as jsx28, jsxs as jsxs11 } from "react/jsx-runtime";
4882
4958
  var MODAL_SHELL_SIZE = "m";
4883
4959
  var [ModalProvider, useModalContext] = createComponentContext("Modal");
4884
- var ModalContentShellContext = React39.createContext(null);
4960
+ var ModalContentShellContext = React40.createContext(null);
4885
4961
  function useModalContentShell() {
4886
- const value = React39.useContext(ModalContentShellContext);
4962
+ const value = React40.useContext(ModalContentShellContext);
4887
4963
  if (value === null) {
4888
4964
  throw new Error(
4889
4965
  "[prime-ui-kit] Modal header block must be used inside the dialog panel (internal)."
@@ -4897,6 +4973,8 @@ function ModalRoot({
4897
4973
  onOpenChange,
4898
4974
  closeOnEscape = true,
4899
4975
  closeOnOverlayClick = true,
4976
+ confirmOnEnter = true,
4977
+ onEnterConfirm,
4900
4978
  children
4901
4979
  }) {
4902
4980
  const [isOpen, setIsOpen] = useControllableState({
@@ -4904,14 +4982,30 @@ function ModalRoot({
4904
4982
  defaultValue: defaultOpen,
4905
4983
  onChange: onOpenChange
4906
4984
  });
4907
- const onOpen = React39.useCallback(() => setIsOpen(true), [setIsOpen]);
4908
- const onClose = React39.useCallback(() => setIsOpen(false), [setIsOpen]);
4909
- return /* @__PURE__ */ jsx28(ModalProvider, { value: { open: isOpen, onOpen, onClose, closeOnEscape, closeOnOverlayClick }, children });
4985
+ const primaryActionRef = React40.useRef(null);
4986
+ const onOpen = React40.useCallback(() => setIsOpen(true), [setIsOpen]);
4987
+ const onClose = React40.useCallback(() => setIsOpen(false), [setIsOpen]);
4988
+ return /* @__PURE__ */ jsx28(
4989
+ ModalProvider,
4990
+ {
4991
+ value: {
4992
+ open: isOpen,
4993
+ onOpen,
4994
+ onClose,
4995
+ closeOnEscape,
4996
+ closeOnOverlayClick,
4997
+ confirmOnEnter,
4998
+ onEnterConfirm,
4999
+ primaryActionRef
5000
+ },
5001
+ children
5002
+ }
5003
+ );
4910
5004
  }
4911
5005
  function ModalTrigger({ children }) {
4912
5006
  const { onOpen } = useModalContext();
4913
- const child = React39.Children.only(children);
4914
- return React39.cloneElement(child, {
5007
+ const child = React40.Children.only(children);
5008
+ return React40.cloneElement(child, {
4915
5009
  onClick: (event) => {
4916
5010
  child.props.onClick?.(event);
4917
5011
  if (!event.defaultPrevented) {
@@ -4920,10 +5014,13 @@ function ModalTrigger({ children }) {
4920
5014
  }
4921
5015
  });
4922
5016
  }
4923
- function ModalClose({ children }) {
5017
+ var ModalClose = React40.forwardRef(function ModalClose2({ children }, forwardedRef) {
4924
5018
  const { onClose } = useModalContext();
4925
- const child = React39.Children.only(children);
4926
- return React39.cloneElement(child, {
5019
+ const child = React40.Children.only(children);
5020
+ const childRef = child.ref;
5021
+ const mergedRef = mergeRefs(childRef, forwardedRef);
5022
+ return React40.cloneElement(child, {
5023
+ ref: mergedRef,
4927
5024
  onClick: (event) => {
4928
5025
  child.props.onClick?.(event);
4929
5026
  if (!event.defaultPrevented) {
@@ -4931,6 +5028,24 @@ function ModalClose({ children }) {
4931
5028
  }
4932
5029
  }
4933
5030
  });
5031
+ });
5032
+ function FooterPrimarySlot({
5033
+ children
5034
+ }) {
5035
+ const { primaryActionRef } = useModalContext();
5036
+ const child = React40.Children.only(children);
5037
+ const childRef = child.ref;
5038
+ const mergedRef = mergeRefs(childRef, (node) => {
5039
+ primaryActionRef.current = node;
5040
+ });
5041
+ return React40.cloneElement(child, { ref: mergedRef });
5042
+ }
5043
+ function ModalFooter({ primary, secondary, extra, className, ...rest }) {
5044
+ return /* @__PURE__ */ jsxs11("footer", { className: cx(Modal_default.footer, className), "data-prime-modal-footer": "", ...rest, children: [
5045
+ secondary,
5046
+ extra,
5047
+ primary != null ? /* @__PURE__ */ jsx28(FooterPrimarySlot, { children: primary }) : null
5048
+ ] });
4934
5049
  }
4935
5050
  function ModalPortal({ children, container }) {
4936
5051
  const { open } = useModalContext();
@@ -4946,7 +5061,7 @@ function ModalOverlay({ className, onClick, children, ...rest }) {
4946
5061
  }
4947
5062
  };
4948
5063
  return (
4949
- // biome-ignore lint/a11y/noStaticElementInteractions: backdrop overlay; keyboard dismiss handled by useEscapeKey in ModalContent
5064
+ // biome-ignore lint/a11y/noStaticElementInteractions: backdrop overlay; keyboard handled by useModalKeyboard in ModalContent
4950
5065
  /* @__PURE__ */ jsx28(
4951
5066
  "div",
4952
5067
  {
@@ -4971,16 +5086,16 @@ function ModalContent({
4971
5086
  "aria-describedby": ariaDescribedByProp,
4972
5087
  ...rest
4973
5088
  }) {
4974
- const { open, onClose, closeOnEscape } = useModalContext();
4975
- const internalTitleId = React39.useId();
4976
- const internalDescId = React39.useId();
5089
+ const { open, onClose, closeOnEscape, confirmOnEnter, onEnterConfirm, primaryActionRef } = useModalContext();
5090
+ const internalTitleId = React40.useId();
5091
+ const internalDescId = React40.useId();
4977
5092
  const titleId = ariaLabelledByProp ?? internalTitleId;
4978
5093
  const descId = ariaDescribedByProp ?? internalDescId;
4979
- const [headerState, setHeaderState] = React39.useState(null);
4980
- const registerHeader = React39.useCallback((state) => {
5094
+ const [headerState, setHeaderState] = React40.useState(null);
5095
+ const registerHeader = React40.useCallback((state) => {
4981
5096
  setHeaderState(state);
4982
5097
  }, []);
4983
- const shellValue = React39.useMemo(
5098
+ const shellValue = React40.useMemo(
4984
5099
  () => ({ titleId, descId, registerHeader }),
4985
5100
  [titleId, descId, registerHeader]
4986
5101
  );
@@ -4988,8 +5103,16 @@ function ModalContent({
4988
5103
  const ariaDescribedByResolved = ariaDescribedByProp ?? (headerState?.hasDescription ? descId : void 0);
4989
5104
  const trapRef = useFocusTrap({ enabled: open });
4990
5105
  useScrollLock(open);
4991
- useEscapeKey({ enabled: closeOnEscape && open, onEscape: onClose });
4992
- React39.useEffect(() => {
5106
+ useModalKeyboard({
5107
+ open,
5108
+ trapRef,
5109
+ closeOnEscape,
5110
+ onClose,
5111
+ confirmOnEnter,
5112
+ onEnterConfirm,
5113
+ primaryRef: primaryActionRef
5114
+ });
5115
+ React40.useEffect(() => {
4993
5116
  if (!open) return;
4994
5117
  const container = trapRef.current;
4995
5118
  if (!container) return;
@@ -5046,7 +5169,7 @@ function ModalHeader({
5046
5169
  const { onClose } = useModalContext();
5047
5170
  const { titleId, descId, registerHeader } = useModalContentShell();
5048
5171
  const hasDescription = description != null && description !== "";
5049
- React39.useLayoutEffect(() => {
5172
+ React40.useLayoutEffect(() => {
5050
5173
  registerHeader({
5051
5174
  hasDescription
5052
5175
  });
@@ -5089,9 +5212,6 @@ function ModalHeader({
5089
5212
  function ModalBody({ children, className, ...rest }) {
5090
5213
  return /* @__PURE__ */ jsx28("div", { className: cx(Modal_default.body, className), ...rest, children });
5091
5214
  }
5092
- function ModalFooter({ children, className, ...rest }) {
5093
- return /* @__PURE__ */ jsx28("footer", { className: cx(Modal_default.footer, className), ...rest, children });
5094
- }
5095
5215
  function ModalPanel({
5096
5216
  container,
5097
5217
  overlayClassName,
@@ -5113,6 +5233,9 @@ function ModalPanel({
5113
5233
  ...rest
5114
5234
  }) {
5115
5235
  const hasHeader = title != null && title !== "";
5236
+ const footerNode = footer != null ? React40.isValidElement(footer) && footer.type === ModalFooter ? React40.cloneElement(footer, {
5237
+ className: cx(footer.props.className, footerClassName)
5238
+ }) : /* @__PURE__ */ jsx28("footer", { className: cx(Modal_default.footer, footerClassName), children: footer }) : null;
5116
5239
  return /* @__PURE__ */ jsx28(ModalLayer, { className: overlayClassName, container, children: /* @__PURE__ */ jsxs11(
5117
5240
  ModalContent,
5118
5241
  {
@@ -5134,7 +5257,7 @@ function ModalPanel({
5134
5257
  }
5135
5258
  ) : null,
5136
5259
  children != null ? hasHeader ? /* @__PURE__ */ jsx28(ModalBody, { className: bodyClassName, style: bodyStyle, children }) : children : null,
5137
- footer != null ? /* @__PURE__ */ jsx28(ModalFooter, { className: footerClassName, children: footer }) : null
5260
+ footerNode
5138
5261
  ]
5139
5262
  }
5140
5263
  ) });
@@ -5143,6 +5266,7 @@ var Modal = {
5143
5266
  Root: ModalRoot,
5144
5267
  Trigger: ModalTrigger,
5145
5268
  Close: ModalClose,
5269
+ Footer: ModalFooter,
5146
5270
  Panel: ModalPanel
5147
5271
  };
5148
5272
 
@@ -5190,27 +5314,27 @@ function matchesQuery(entry, query) {
5190
5314
  return hay.includes(q);
5191
5315
  }
5192
5316
  var [CommandMenuProvider, useCommandMenuContext] = createComponentContext("CommandMenu");
5193
- var CommandMenuGroupContext = React40.createContext("");
5317
+ var CommandMenuGroupContext = React41.createContext("");
5194
5318
  function CommandMenuRootProvider({ children }) {
5195
- const listboxId = React40.useId();
5196
- const inputRef = React40.useRef(null);
5197
- const itemsRef = React40.useRef(/* @__PURE__ */ new Map());
5198
- const orderSeqRef = React40.useRef(0);
5199
- const orderMapRef = React40.useRef(/* @__PURE__ */ new Map());
5200
- const [version, bump] = React40.useReducer((n) => n + 1, 0);
5201
- const [search, setSearch] = React40.useState("");
5202
- const [activeId, setActiveId] = React40.useState(null);
5203
- React40.useLayoutEffect(() => {
5319
+ const listboxId = React41.useId();
5320
+ const inputRef = React41.useRef(null);
5321
+ const itemsRef = React41.useRef(/* @__PURE__ */ new Map());
5322
+ const orderSeqRef = React41.useRef(0);
5323
+ const orderMapRef = React41.useRef(/* @__PURE__ */ new Map());
5324
+ const [version, bump] = React41.useReducer((n) => n + 1, 0);
5325
+ const [search, setSearch] = React41.useState("");
5326
+ const [activeId, setActiveId] = React41.useState(null);
5327
+ React41.useLayoutEffect(() => {
5204
5328
  orderSeqRef.current = 0;
5205
5329
  orderMapRef.current.clear();
5206
5330
  }, []);
5207
- React40.useEffect(() => {
5331
+ React41.useEffect(() => {
5208
5332
  setSearch("");
5209
5333
  setActiveId(null);
5210
5334
  const id = requestAnimationFrame(() => inputRef.current?.focus());
5211
5335
  return () => cancelAnimationFrame(id);
5212
5336
  }, []);
5213
- const registerItem = React40.useCallback(
5337
+ const registerItem = React41.useCallback(
5214
5338
  (id, patch) => {
5215
5339
  let order = orderMapRef.current.get(id);
5216
5340
  if (order === void 0) {
@@ -5226,20 +5350,20 @@ function CommandMenuRootProvider({ children }) {
5226
5350
  },
5227
5351
  []
5228
5352
  );
5229
- const visibleIds = React40.useMemo(() => {
5353
+ const visibleIds = React41.useMemo(() => {
5230
5354
  void version;
5231
5355
  const list = [...itemsRef.current.values()].sort((a, b) => a.order - b.order);
5232
5356
  return list.filter((e) => matchesQuery(e, search)).filter((e) => !e.disabled).map((e) => e.id);
5233
5357
  }, [search, version]);
5234
- const itemGet = React40.useCallback((id) => itemsRef.current.get(id), []);
5235
- React40.useLayoutEffect(() => {
5358
+ const itemGet = React41.useCallback((id) => itemsRef.current.get(id), []);
5359
+ React41.useLayoutEffect(() => {
5236
5360
  setActiveId((prev) => {
5237
5361
  if (visibleIds.length === 0) return null;
5238
5362
  if (prev && visibleIds.includes(prev)) return prev;
5239
5363
  return visibleIds[0] ?? null;
5240
5364
  });
5241
5365
  }, [visibleIds]);
5242
- const moveActive = React40.useCallback(
5366
+ const moveActive = React41.useCallback(
5243
5367
  (delta) => {
5244
5368
  if (visibleIds.length === 0) return;
5245
5369
  setActiveId((prev) => {
@@ -5250,11 +5374,11 @@ function CommandMenuRootProvider({ children }) {
5250
5374
  },
5251
5375
  [visibleIds]
5252
5376
  );
5253
- const activateSelected = React40.useCallback(() => {
5377
+ const activateSelected = React41.useCallback(() => {
5254
5378
  if (!activeId) return;
5255
5379
  itemsRef.current.get(activeId)?.onSelectRef.current?.();
5256
5380
  }, [activeId]);
5257
- const value = React40.useMemo(
5381
+ const value = React41.useMemo(
5258
5382
  () => ({
5259
5383
  search,
5260
5384
  setSearch,
@@ -5348,7 +5472,7 @@ function CommandMenuInputRow({
5348
5472
  }
5349
5473
  );
5350
5474
  }
5351
- var CommandMenuInput = React40.forwardRef(
5475
+ var CommandMenuInput = React41.forwardRef(
5352
5476
  ({ className, onKeyDown, value: valueProp, onChange, ...rest }, forwardedRef) => {
5353
5477
  const {
5354
5478
  search,
@@ -5362,12 +5486,12 @@ var CommandMenuInput = React40.forwardRef(
5362
5486
  visibleIds
5363
5487
  } = useCommandMenuContext();
5364
5488
  const isControlled = valueProp !== void 0;
5365
- React40.useEffect(() => {
5489
+ React41.useEffect(() => {
5366
5490
  if (isControlled) {
5367
5491
  setSearch(valueProp !== void 0 && valueProp !== null ? String(valueProp) : "");
5368
5492
  }
5369
5493
  }, [isControlled, valueProp, setSearch]);
5370
- const setRefs = React40.useCallback(
5494
+ const setRefs = React41.useCallback(
5371
5495
  (node) => {
5372
5496
  inputRef.current = node;
5373
5497
  if (typeof forwardedRef === "function") {
@@ -5435,7 +5559,7 @@ var CommandMenuInput = React40.forwardRef(
5435
5559
  }
5436
5560
  );
5437
5561
  CommandMenuInput.displayName = "CommandMenu.Input";
5438
- var CommandMenuList = React40.forwardRef(
5562
+ var CommandMenuList = React41.forwardRef(
5439
5563
  ({ className, children, ...rest }, ref) => {
5440
5564
  const { listboxId } = useCommandMenuContext();
5441
5565
  return /* @__PURE__ */ jsx29(
@@ -5454,7 +5578,7 @@ var CommandMenuList = React40.forwardRef(
5454
5578
  );
5455
5579
  CommandMenuList.displayName = "CommandMenu.List";
5456
5580
  function CommandMenuGroup({ heading, className, children, ...rest }) {
5457
- const groupId = React40.useId();
5581
+ const groupId = React41.useId();
5458
5582
  const { visibleIds, itemGet } = useCommandMenuContext();
5459
5583
  const hasVisible = visibleIds.some((id) => itemGet(id)?.groupId === groupId);
5460
5584
  return /* @__PURE__ */ jsx29(CommandMenuGroupContext.Provider, { value: groupId, children: /* @__PURE__ */ jsxs12("div", { className: cx(CommandMenu_default.group, className), hidden: hasVisible ? void 0 : true, ...rest, children: [
@@ -5462,7 +5586,7 @@ function CommandMenuGroup({ heading, className, children, ...rest }) {
5462
5586
  children
5463
5587
  ] }) });
5464
5588
  }
5465
- var CommandMenuItem = React40.forwardRef(
5589
+ var CommandMenuItem = React41.forwardRef(
5466
5590
  ({
5467
5591
  className,
5468
5592
  value,
@@ -5474,15 +5598,15 @@ var CommandMenuItem = React40.forwardRef(
5474
5598
  onPointerMove,
5475
5599
  ...rest
5476
5600
  }, forwardedRef) => {
5477
- const id = React40.useId();
5601
+ const id = React41.useId();
5478
5602
  const optionId = `${id}-option`;
5479
- const groupId = React40.useContext(CommandMenuGroupContext);
5603
+ const groupId = React41.useContext(CommandMenuGroupContext);
5480
5604
  const { registerItem, activeId, setActiveId, visibleIds } = useCommandMenuContext();
5481
- const onSelectRef = React40.useRef(onSelect);
5482
- React40.useEffect(() => {
5605
+ const onSelectRef = React41.useRef(onSelect);
5606
+ React41.useEffect(() => {
5483
5607
  onSelectRef.current = onSelect;
5484
5608
  }, [onSelect]);
5485
- React40.useLayoutEffect(() => {
5609
+ React41.useLayoutEffect(() => {
5486
5610
  return registerItem(id, {
5487
5611
  value,
5488
5612
  keywords,
@@ -5493,8 +5617,8 @@ var CommandMenuItem = React40.forwardRef(
5493
5617
  }, [id, value, keywords, disabled, groupId, registerItem]);
5494
5618
  const filteredIn = visibleIds.includes(id);
5495
5619
  const selected = activeId === id;
5496
- const listRef = React40.useRef(null);
5497
- const setRefs = React40.useCallback(
5620
+ const listRef = React41.useRef(null);
5621
+ const setRefs = React41.useCallback(
5498
5622
  (node) => {
5499
5623
  listRef.current = node;
5500
5624
  if (typeof forwardedRef === "function") {
@@ -5505,7 +5629,7 @@ var CommandMenuItem = React40.forwardRef(
5505
5629
  },
5506
5630
  [forwardedRef]
5507
5631
  );
5508
- React40.useEffect(() => {
5632
+ React41.useEffect(() => {
5509
5633
  if (selected && listRef.current) {
5510
5634
  listRef.current.scrollIntoView?.({ block: "nearest" });
5511
5635
  }
@@ -5567,7 +5691,7 @@ function CommandMenuTagRow({ className, ...rest }) {
5567
5691
  function CommandMenuFooter({ className, ...rest }) {
5568
5692
  return /* @__PURE__ */ jsx29("div", { className: cx(CommandMenu_default.footer, className), ...rest });
5569
5693
  }
5570
- var CommandMenuFooterKeyBox = React40.forwardRef(
5694
+ var CommandMenuFooterKeyBox = React41.forwardRef(
5571
5695
  ({ className, children, tone = "default", ...rest }, ref) => {
5572
5696
  const variant = tone === "muted" ? "lighter" : "stroke";
5573
5697
  return /* @__PURE__ */ jsx29(
@@ -5604,7 +5728,7 @@ var CommandMenu = {
5604
5728
 
5605
5729
  // src/components/data-table/DataTable.tsx
5606
5730
  import { ArrowDown, ArrowUp, ArrowUpDown } from "lucide-react";
5607
- import * as React41 from "react";
5731
+ import * as React42 from "react";
5608
5732
 
5609
5733
  // src/internal/runtimeUnits.ts
5610
5734
  var CSS_PX_SUFFIX = "px";
@@ -5820,11 +5944,11 @@ function DataTableRoot({
5820
5944
  highlightColumnOnHover = false,
5821
5945
  striped = false
5822
5946
  }) {
5823
- const [hoveredColumnId, setHoveredColumnId] = React41.useState(null);
5824
- const clearHoveredColumn = React41.useCallback(() => {
5947
+ const [hoveredColumnId, setHoveredColumnId] = React42.useState(null);
5948
+ const clearHoveredColumn = React42.useCallback(() => {
5825
5949
  setHoveredColumnId(null);
5826
5950
  }, []);
5827
- const setHoveredColumn = React41.useCallback(
5951
+ const setHoveredColumn = React42.useCallback(
5828
5952
  (columnId) => {
5829
5953
  if (highlightColumnOnHover) setHoveredColumnId(columnId);
5830
5954
  },
@@ -5841,19 +5965,19 @@ function DataTableRoot({
5841
5965
  onChange: onPageChange
5842
5966
  });
5843
5967
  const initialVisible = Math.max(1, initialVisibleRows ?? pageSize);
5844
- const [visibleRowCount, setVisibleRowCount] = React41.useState(initialVisible);
5845
- const scrollRef = React41.useRef(null);
5846
- const sentinelRef = React41.useRef(null);
5847
- React41.useLayoutEffect(() => {
5968
+ const [visibleRowCount, setVisibleRowCount] = React42.useState(initialVisible);
5969
+ const scrollRef = React42.useRef(null);
5970
+ const sentinelRef = React42.useRef(null);
5971
+ React42.useLayoutEffect(() => {
5848
5972
  const viewport = scrollRef.current;
5849
5973
  if (!viewport) return;
5850
5974
  viewport.style.maxHeight = infiniteScroll ? typeof scrollHeight === "number" ? `${scrollHeight}px` : scrollHeight : "";
5851
5975
  }, [infiniteScroll, scrollHeight]);
5852
- const sortableColumns = React41.useMemo(
5976
+ const sortableColumns = React42.useMemo(
5853
5977
  () => new Set(columns.filter((c) => c.sortable).map((c) => c.id)),
5854
5978
  [columns]
5855
5979
  );
5856
- const sortedRows = React41.useMemo(() => {
5980
+ const sortedRows = React42.useMemo(() => {
5857
5981
  if (!sortState || !sortableColumns.has(sortState.columnId)) return rows;
5858
5982
  const column = columns.find((item) => item.id === sortState.columnId);
5859
5983
  if (!column) return rows;
@@ -5868,21 +5992,21 @@ function DataTableRoot({
5868
5992
  const safePageSize = Math.max(1, pageSize);
5869
5993
  const totalPages = Math.max(1, Math.ceil(totalRows / safePageSize));
5870
5994
  const safePage = clamp(pageState, 1, totalPages);
5871
- React41.useEffect(() => {
5995
+ React42.useEffect(() => {
5872
5996
  if (safePage !== pageState) setPageState(safePage);
5873
5997
  }, [pageState, safePage, setPageState]);
5874
- React41.useEffect(() => {
5998
+ React42.useEffect(() => {
5875
5999
  if (infiniteScroll) {
5876
6000
  setVisibleRowCount(initialVisible);
5877
6001
  return;
5878
6002
  }
5879
6003
  setPageState(1);
5880
6004
  }, [infiniteScroll, initialVisible, setPageState]);
5881
- React41.useEffect(() => {
6005
+ React42.useEffect(() => {
5882
6006
  if (!infiniteScroll) return;
5883
6007
  setVisibleRowCount((prev) => clamp(prev, initialVisible, Math.max(initialVisible, totalRows)));
5884
6008
  }, [infiniteScroll, initialVisible, totalRows]);
5885
- const displayedRows = React41.useMemo(() => {
6009
+ const displayedRows = React42.useMemo(() => {
5886
6010
  if (infiniteScroll) {
5887
6011
  return sortedRows.slice(0, visibleRowCount);
5888
6012
  }
@@ -5892,7 +6016,7 @@ function DataTableRoot({
5892
6016
  }, [infiniteScroll, safePage, safePageSize, sortedRows, visibleRowCount]);
5893
6017
  const hasInternalMore = infiniteScroll && displayedRows.length < totalRows;
5894
6018
  const canRequestMore = infiniteScroll && Boolean(onLoadMore) && hasMore && !loadingMore;
5895
- const handleReachEnd = React41.useCallback(() => {
6019
+ const handleReachEnd = React42.useCallback(() => {
5896
6020
  if (!infiniteScroll) return;
5897
6021
  if (hasInternalMore) {
5898
6022
  setVisibleRowCount((prev) => Math.min(prev + Math.max(1, infiniteBatchSize), totalRows));
@@ -5902,7 +6026,7 @@ function DataTableRoot({
5902
6026
  void onLoadMore();
5903
6027
  }
5904
6028
  }, [canRequestMore, hasInternalMore, infiniteBatchSize, infiniteScroll, onLoadMore, totalRows]);
5905
- React41.useEffect(() => {
6029
+ React42.useEffect(() => {
5906
6030
  if (!infiniteScroll) return;
5907
6031
  const root = scrollRef.current;
5908
6032
  const target = sentinelRef.current;
@@ -6079,7 +6203,7 @@ var DataTable = {
6079
6203
 
6080
6204
  // src/components/datepicker/Datepicker.tsx
6081
6205
  import { ChevronDown as ChevronDown2, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight3 } from "lucide-react";
6082
- import * as React43 from "react";
6206
+ import * as React44 from "react";
6083
6207
  import {
6084
6208
  DayPicker,
6085
6209
  getDefaultClassNames,
@@ -6087,14 +6211,14 @@ import {
6087
6211
  } from "react-day-picker";
6088
6212
 
6089
6213
  // src/hooks/useResponsiveMonths.ts
6090
- import * as React42 from "react";
6214
+ import * as React43 from "react";
6091
6215
  var DEFAULT_BREAKPOINTS = {
6092
6216
  twoColumns: 520
6093
6217
  };
6094
6218
  function useResponsiveMonths(breakpoints = DEFAULT_BREAKPOINTS, container = null) {
6095
6219
  const { twoColumns } = breakpoints;
6096
- const [count, setCount] = React42.useState(1);
6097
- React42.useEffect(() => {
6220
+ const [count, setCount] = React43.useState(1);
6221
+ React43.useEffect(() => {
6098
6222
  if (!container) return;
6099
6223
  let rafId = null;
6100
6224
  const syncByWidth = (width) => {
@@ -6158,9 +6282,9 @@ var Datepicker_default = {
6158
6282
  // src/components/datepicker/Datepicker.tsx
6159
6283
  import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
6160
6284
  var DEFAULT_RESPONSIVE = { twoColumns: 500 };
6161
- var DatepickerSizeContext = React43.createContext(void 0);
6285
+ var DatepickerSizeContext = React44.createContext(void 0);
6162
6286
  DatepickerSizeContext.displayName = "DatepickerSizeContext";
6163
- var DatepickerMonthContext = React43.createContext(
6287
+ var DatepickerMonthContext = React44.createContext(
6164
6288
  void 0
6165
6289
  );
6166
6290
  DatepickerMonthContext.displayName = "DatepickerMonthContext";
@@ -6223,7 +6347,7 @@ function DatepickerMonthCaption({
6223
6347
  displayIndex,
6224
6348
  ...rest
6225
6349
  }) {
6226
- const inheritedSize = React43.useContext(DatepickerSizeContext);
6350
+ const inheritedSize = React44.useContext(DatepickerSizeContext);
6227
6351
  const size = inheritedSize ?? "m";
6228
6352
  const { dayPickerProps, goToMonth, previousMonth, nextMonth } = useDayPicker();
6229
6353
  const monthsCount = dayPickerProps.numberOfMonths ?? 1;
@@ -6275,20 +6399,20 @@ function Calendar({
6275
6399
  size: sizeProp,
6276
6400
  ...rest
6277
6401
  }) {
6278
- const inheritedSize = React43.useContext(DatepickerSizeContext);
6279
- const monthContext = React43.useContext(DatepickerMonthContext);
6402
+ const inheritedSize = React44.useContext(DatepickerSizeContext);
6403
+ const monthContext = React44.useContext(DatepickerMonthContext);
6280
6404
  const size = sizeProp ?? inheritedSize ?? "m";
6281
6405
  const breakpoints = responsiveBreakpoints ?? DEFAULT_RESPONSIVE;
6282
- const [containerEl, setContainerEl] = React43.useState(null);
6283
- const callbackRef = React43.useCallback((node) => {
6406
+ const [containerEl, setContainerEl] = React44.useState(null);
6407
+ const callbackRef = React44.useCallback((node) => {
6284
6408
  setContainerEl(node);
6285
6409
  }, []);
6286
6410
  const responsiveN = useResponsiveMonths(breakpoints, containerEl);
6287
6411
  const numberOfMonths = responsiveMonths === true ? responsiveN : numberOfMonthsProp ?? 1;
6288
- const [localMonth, setLocalMonth] = React43.useState(() => {
6412
+ const [localMonth, setLocalMonth] = React44.useState(() => {
6289
6413
  return monthProp ?? monthContext?.requestedMonth;
6290
6414
  });
6291
- React43.useEffect(() => {
6415
+ React44.useEffect(() => {
6292
6416
  if (monthProp === void 0 && monthContext?.requestedMonth) {
6293
6417
  setLocalMonth(monthContext.requestedMonth);
6294
6418
  }
@@ -6306,7 +6430,7 @@ function Calendar({
6306
6430
  };
6307
6431
  const mergedStyle = style && typeof style === "object" ? { ...style } : {};
6308
6432
  const resolvedMonth = monthProp ?? localMonth;
6309
- const handleMonthChange = React43.useCallback(
6433
+ const handleMonthChange = React44.useCallback(
6310
6434
  (next) => {
6311
6435
  if (monthProp === void 0) {
6312
6436
  setLocalMonth(next);
@@ -6339,7 +6463,7 @@ function Calendar({
6339
6463
  Calendar.displayName = "Datepicker.Calendar";
6340
6464
  function Shell({ children, className, presets, size = "m" }) {
6341
6465
  const has = presets != null;
6342
- const [requestedMonth, requestMonth] = React43.useState();
6466
+ const [requestedMonth, requestMonth] = React44.useState();
6343
6467
  return /* @__PURE__ */ jsx32(DatepickerSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx32(DatepickerMonthContext.Provider, { value: { requestedMonth, requestMonth }, children: /* @__PURE__ */ jsxs15(
6344
6468
  "div",
6345
6469
  {
@@ -6355,8 +6479,8 @@ function Shell({ children, className, presets, size = "m" }) {
6355
6479
  }
6356
6480
  Shell.displayName = "Datepicker.Shell";
6357
6481
  function Presets(props) {
6358
- const inheritedSize = React43.useContext(DatepickerSizeContext);
6359
- const monthContext = React43.useContext(DatepickerMonthContext);
6482
+ const inheritedSize = React44.useContext(DatepickerSizeContext);
6483
+ const monthContext = React44.useContext(DatepickerMonthContext);
6360
6484
  const { className, size: sizeProp } = props;
6361
6485
  const size = sizeProp ?? inheritedSize ?? "m";
6362
6486
  return /* @__PURE__ */ jsx32("div", { className: cx(Datepicker_default.presetsBlock, className), "data-size": size, children: /* @__PURE__ */ jsx32(ButtonGroup.Root, { className: Datepicker_default.presetsGroup, size, children: props.mode === "single" ? props.presets.map((p) => /* @__PURE__ */ jsx32(
@@ -6385,8 +6509,8 @@ function Presets(props) {
6385
6509
  }
6386
6510
  Presets.displayName = "Datepicker.Presets";
6387
6511
  function Time(props) {
6388
- const baseId = React43.useId();
6389
- const inheritedSize = React43.useContext(DatepickerSizeContext);
6512
+ const baseId = React44.useId();
6513
+ const inheritedSize = React44.useContext(DatepickerSizeContext);
6390
6514
  if (props.mode === "range") {
6391
6515
  const { from, to, onFromChange, onToChange, labels: labels2, size: sizeProp2 } = props;
6392
6516
  const size2 = sizeProp2 ?? inheritedSize ?? "m";
@@ -6470,7 +6594,7 @@ function Time(props) {
6470
6594
  }
6471
6595
  Time.displayName = "Datepicker.Time";
6472
6596
  function Value({ className, size: sizeProp, tone = "muted", ...rest }) {
6473
- const inheritedSize = React43.useContext(DatepickerSizeContext);
6597
+ const inheritedSize = React44.useContext(DatepickerSizeContext);
6474
6598
  const size = sizeProp ?? inheritedSize ?? "m";
6475
6599
  return /* @__PURE__ */ jsx32(
6476
6600
  Typography.Root,
@@ -6492,7 +6616,7 @@ var Datepicker = {
6492
6616
  };
6493
6617
 
6494
6618
  // src/components/digit-input/DigitInput.tsx
6495
- import * as React44 from "react";
6619
+ import * as React45 from "react";
6496
6620
 
6497
6621
  // src/components/digit-input/DigitInput.module.css
6498
6622
  var DigitInput_default = {
@@ -6528,7 +6652,7 @@ function DigitInputRoot({
6528
6652
  className
6529
6653
  }) {
6530
6654
  const length = lengthProp;
6531
- const slotKeysRef = React44.useRef(null);
6655
+ const slotKeysRef = React45.useRef(null);
6532
6656
  if (!slotKeysRef.current || slotKeysRef.current.length !== length) {
6533
6657
  slotKeysRef.current = createSlotKeys(length);
6534
6658
  }
@@ -6539,11 +6663,11 @@ function DigitInputRoot({
6539
6663
  defaultValue: defaultNormalized,
6540
6664
  onChange
6541
6665
  });
6542
- const prevLenRef = React44.useRef(0);
6543
- React44.useEffect(() => {
6666
+ const prevLenRef = React45.useRef(0);
6667
+ React45.useEffect(() => {
6544
6668
  prevLenRef.current = normalizeDigits(value, length).length;
6545
6669
  }, [length, value]);
6546
- const commit = React44.useCallback(
6670
+ const commit = React45.useCallback(
6547
6671
  (nextRaw) => {
6548
6672
  const next = normalizeDigits(nextRaw, length);
6549
6673
  const prevLen = prevLenRef.current;
@@ -6556,11 +6680,11 @@ function DigitInputRoot({
6556
6680
  [length, onComplete, setValue]
6557
6681
  );
6558
6682
  const cells = toCells(value, length);
6559
- const inputRefs = React44.useRef([]);
6560
- const setInputRef = React44.useCallback((el, index) => {
6683
+ const inputRefs = React45.useRef([]);
6684
+ const setInputRef = React45.useCallback((el, index) => {
6561
6685
  inputRefs.current[index] = el;
6562
6686
  }, []);
6563
- const focusAt = React44.useCallback((index) => {
6687
+ const focusAt = React45.useCallback((index) => {
6564
6688
  const el = inputRefs.current[index];
6565
6689
  if (el) {
6566
6690
  queueMicrotask(() => el.focus());
@@ -6648,7 +6772,7 @@ DigitInputRoot.displayName = "DigitInputRoot";
6648
6772
  var DigitInput = { Root: DigitInputRoot };
6649
6773
 
6650
6774
  // src/components/drawer/Drawer.tsx
6651
- import * as React45 from "react";
6775
+ import * as React46 from "react";
6652
6776
 
6653
6777
  // src/components/drawer/Drawer.module.css
6654
6778
  var Drawer_default = {
@@ -6670,10 +6794,10 @@ var Drawer_default = {
6670
6794
  // src/components/drawer/Drawer.tsx
6671
6795
  import { jsx as jsx34, jsxs as jsxs16 } from "react/jsx-runtime";
6672
6796
  var [DrawerProvider, useDrawerContext] = createComponentContext("Drawer");
6673
- var DrawerChromeSizeContext = React45.createContext(null);
6674
- var DrawerPanelContext = React45.createContext(false);
6797
+ var DrawerChromeSizeContext = React46.createContext(null);
6798
+ var DrawerPanelContext = React46.createContext(false);
6675
6799
  function useDrawerChromeSize() {
6676
- const value = React45.useContext(DrawerChromeSizeContext);
6800
+ const value = React46.useContext(DrawerChromeSizeContext);
6677
6801
  if (value === null) {
6678
6802
  throw new Error(
6679
6803
  "[prime-ui-kit] Drawer.Header, Drawer.Title, Drawer.Content and Drawer.Footer must be used inside Drawer.Panel."
@@ -6694,14 +6818,14 @@ function DrawerRoot({
6694
6818
  defaultValue: defaultOpen,
6695
6819
  onChange: onOpenChange
6696
6820
  });
6697
- const onOpen = React45.useCallback(() => setIsOpen(true), [setIsOpen]);
6698
- const onClose = React45.useCallback(() => setIsOpen(false), [setIsOpen]);
6821
+ const onOpen = React46.useCallback(() => setIsOpen(true), [setIsOpen]);
6822
+ const onClose = React46.useCallback(() => setIsOpen(false), [setIsOpen]);
6699
6823
  return /* @__PURE__ */ jsx34(DrawerProvider, { value: { open: isOpen, onOpen, onClose, closeOnEscape, closeOnOverlayClick }, children });
6700
6824
  }
6701
6825
  function DrawerTrigger({ children }) {
6702
6826
  const { onOpen } = useDrawerContext();
6703
- const child = React45.Children.only(children);
6704
- return React45.cloneElement(child, {
6827
+ const child = React46.Children.only(children);
6828
+ return React46.cloneElement(child, {
6705
6829
  onClick: (event) => {
6706
6830
  child.props.onClick?.(event);
6707
6831
  if (!event.defaultPrevented) {
@@ -6712,8 +6836,8 @@ function DrawerTrigger({ children }) {
6712
6836
  }
6713
6837
  function DrawerClose({ children }) {
6714
6838
  const { onClose } = useDrawerContext();
6715
- const child = React45.Children.only(children);
6716
- return React45.cloneElement(child, {
6839
+ const child = React46.Children.only(children);
6840
+ return React46.cloneElement(child, {
6717
6841
  onClick: (event) => {
6718
6842
  child.props.onClick?.(event);
6719
6843
  if (!event.defaultPrevented) {
@@ -6769,7 +6893,7 @@ function DrawerPanel({
6769
6893
  const trapRef = useFocusTrap({ enabled: open });
6770
6894
  useScrollLock(open);
6771
6895
  useEscapeKey({ enabled: closeOnEscape && open, onEscape: onClose });
6772
- React45.useEffect(() => {
6896
+ React46.useEffect(() => {
6773
6897
  if (!open) return;
6774
6898
  const container = trapRef.current;
6775
6899
  if (!container) return;
@@ -6840,7 +6964,7 @@ function DrawerTitle({ children, className, ...rest }) {
6840
6964
  return /* @__PURE__ */ jsx34("h2", { className: cx(Drawer_default.title, className), ...rest, children });
6841
6965
  }
6842
6966
  function DrawerContent(props) {
6843
- const inPanel = React45.useContext(DrawerPanelContext);
6967
+ const inPanel = React46.useContext(DrawerPanelContext);
6844
6968
  if (!inPanel) {
6845
6969
  return /* @__PURE__ */ jsx34(DrawerPanel, { ...props });
6846
6970
  }
@@ -6867,11 +6991,10 @@ var Drawer = {
6867
6991
  };
6868
6992
 
6869
6993
  // src/components/dropdown/Dropdown.tsx
6870
- import * as React47 from "react";
6994
+ import * as React48 from "react";
6871
6995
 
6872
6996
  // src/components/dropdown/Dropdown.module.css
6873
6997
  var Dropdown_default = {
6874
- inset: "Dropdown_inset",
6875
6998
  content: "Dropdown_content",
6876
6999
  block: "Dropdown_block",
6877
7000
  header: "Dropdown_header",
@@ -6929,7 +7052,7 @@ function handleMenuNavigationKeyDown(e, container) {
6929
7052
  }
6930
7053
 
6931
7054
  // src/components/dropdown/useDropdownPosition.ts
6932
- import * as React46 from "react";
7055
+ import * as React47 from "react";
6933
7056
 
6934
7057
  // src/internal/scrollAncestors.ts
6935
7058
  var SCROLLABLE = /^(auto|scroll|overlay)$/;
@@ -6971,8 +7094,8 @@ function useDropdownPosition({
6971
7094
  align,
6972
7095
  sameMinWidthAsTrigger
6973
7096
  }) {
6974
- const [layout, setLayout] = React46.useState(null);
6975
- const commit = React46.useCallback(() => {
7097
+ const [layout, setLayout] = React47.useState(null);
7098
+ const commit = React47.useCallback(() => {
6976
7099
  const trigger = triggerRef.current;
6977
7100
  const panel = contentRef.current;
6978
7101
  if (!trigger || !panel) return;
@@ -7007,7 +7130,7 @@ function useDropdownPosition({
7007
7130
  };
7008
7131
  setLayout((prev) => prev && layoutEqual(prev, next) ? prev : next);
7009
7132
  }, [triggerRef, contentRef, side, align, sameMinWidthAsTrigger]);
7010
- React46.useLayoutEffect(() => {
7133
+ React47.useLayoutEffect(() => {
7011
7134
  if (!open) {
7012
7135
  setLayout(null);
7013
7136
  return;
@@ -7045,9 +7168,9 @@ function useDropdownPosition({
7045
7168
 
7046
7169
  // src/components/dropdown/Dropdown.tsx
7047
7170
  import { jsx as jsx35 } from "react/jsx-runtime";
7048
- var DropdownContentSizeContext = React47.createContext("m");
7171
+ var DropdownContentSizeContext = React48.createContext("m");
7049
7172
  function useDropdownContentSize() {
7050
- return React47.useContext(DropdownContentSizeContext);
7173
+ return React48.useContext(DropdownContentSizeContext);
7051
7174
  }
7052
7175
  function dropdownItemIconPx(menuSize) {
7053
7176
  return remToPx(primitiveTokens.icon[menuSize]);
@@ -7059,13 +7182,13 @@ function DropdownRoot({ open, defaultOpen = false, onOpenChange, children }) {
7059
7182
  defaultValue: defaultOpen,
7060
7183
  onChange: onOpenChange
7061
7184
  });
7062
- const id = React47.useId();
7185
+ const id = React48.useId();
7063
7186
  const triggerId = `${id}-trigger`;
7064
7187
  const menuId = `${id}-menu`;
7065
- const triggerRef = React47.useRef(null);
7066
- const onClose = React47.useCallback(() => setIsOpen(false), [setIsOpen]);
7067
- const onToggle = React47.useCallback(() => setIsOpen((v) => !v), [setIsOpen]);
7068
- const value = React47.useMemo(
7188
+ const triggerRef = React48.useRef(null);
7189
+ const onClose = React48.useCallback(() => setIsOpen(false), [setIsOpen]);
7190
+ const onToggle = React48.useCallback(() => setIsOpen((v) => !v), [setIsOpen]);
7191
+ const value = React48.useMemo(
7069
7192
  () => ({ isOpen, onClose, onToggle, triggerId, menuId, triggerRef }),
7070
7193
  [isOpen, onClose, onToggle, triggerId, menuId]
7071
7194
  );
@@ -7075,9 +7198,9 @@ DropdownRoot.displayName = "DropdownRoot";
7075
7198
  function DropdownTrigger({ children, asChild: _asChild = true }) {
7076
7199
  void _asChild;
7077
7200
  const { isOpen, onToggle, triggerId, menuId, triggerRef } = useDropdownContext();
7078
- const toggleRef = React47.useRef(onToggle);
7201
+ const toggleRef = React48.useRef(onToggle);
7079
7202
  toggleRef.current = onToggle;
7080
- const setNode = React47.useCallback(
7203
+ const setNode = React48.useCallback(
7081
7204
  (el) => {
7082
7205
  triggerRef.current = el;
7083
7206
  },
@@ -7085,9 +7208,9 @@ function DropdownTrigger({ children, asChild: _asChild = true }) {
7085
7208
  );
7086
7209
  const child = children;
7087
7210
  const childRef = child.props.ref ?? child.ref;
7088
- const mergedRef = React47.useMemo(() => mergeRefs(childRef, setNode), [childRef, setNode]);
7211
+ const mergedRef = React48.useMemo(() => mergeRefs(childRef, setNode), [childRef, setNode]);
7089
7212
  const userClick = child.props?.onClick;
7090
- return React47.cloneElement(child, {
7213
+ return React48.cloneElement(child, {
7091
7214
  ref: mergedRef,
7092
7215
  id: triggerId,
7093
7216
  "aria-expanded": isOpen,
@@ -7110,7 +7233,7 @@ function DropdownContent({
7110
7233
  }) {
7111
7234
  const { isOpen, onClose, triggerRef, menuId, triggerId } = useDropdownContext();
7112
7235
  const overlayPortalLayer = useOverlayPortalLayer();
7113
- const contentRef = React47.useRef(null);
7236
+ const contentRef = React48.useRef(null);
7114
7237
  const layout = useDropdownPosition({
7115
7238
  open: isOpen,
7116
7239
  triggerRef,
@@ -7120,7 +7243,7 @@ function DropdownContent({
7120
7243
  sameMinWidthAsTrigger
7121
7244
  });
7122
7245
  const trapRef = useFocusTrap({ enabled: isOpen, restoreFocus: true });
7123
- const ref = React47.useMemo(() => mergeRefs(contentRef, trapRef), [trapRef]);
7246
+ const ref = React48.useMemo(() => mergeRefs(contentRef, trapRef), [trapRef]);
7124
7247
  useEscapeKey({ enabled: isOpen, onEscape: onClose });
7125
7248
  useOutsideClick({
7126
7249
  refs: [triggerRef, contentRef],
@@ -7177,7 +7300,7 @@ function DropdownItem({ onSelect, disabled, destructive, children, className })
7177
7300
  );
7178
7301
  }
7179
7302
  DropdownItem.displayName = "DropdownItem";
7180
- var DropdownItemIcon = React47.forwardRef(
7303
+ var DropdownItemIcon = React48.forwardRef(
7181
7304
  ({ as: As = "span", className, children, "aria-hidden": ariaHidden, ...rest }, ref) => {
7182
7305
  const menuSize = useDropdownContentSize();
7183
7306
  const { size: explicitSize, ...iconRest } = rest;
@@ -7266,30 +7389,10 @@ function DropdownHeaderTrailing({
7266
7389
  );
7267
7390
  }
7268
7391
  DropdownHeaderTrailing.displayName = "DropdownHeaderTrailing";
7269
- function DropdownInset({
7270
- children,
7271
- className,
7272
- padding = "x2",
7273
- gap = "x3",
7274
- ...rest
7275
- }) {
7276
- return /* @__PURE__ */ jsx35(
7277
- "div",
7278
- {
7279
- className: cx(Dropdown_default.inset, className),
7280
- "data-inset-gap": gap,
7281
- "data-inset-padding": padding,
7282
- ...rest,
7283
- children
7284
- }
7285
- );
7286
- }
7287
- DropdownInset.displayName = "DropdownInset";
7288
7392
  var Dropdown = {
7289
7393
  Root: DropdownRoot,
7290
7394
  Trigger: DropdownTrigger,
7291
7395
  Content: DropdownContent,
7292
- Inset: DropdownInset,
7293
7396
  Block: DropdownBlock,
7294
7397
  Header: DropdownHeader,
7295
7398
  HeaderRow: DropdownHeaderRow,
@@ -7305,12 +7408,70 @@ var Dropdown = {
7305
7408
  Separator: DropdownSeparator
7306
7409
  };
7307
7410
 
7411
+ // src/components/empty-page/EmptyPage.tsx
7412
+ import * as React49 from "react";
7413
+
7414
+ // src/components/empty-page/EmptyPage.module.css
7415
+ var EmptyPage_default = {
7416
+ root: "EmptyPage_root",
7417
+ iconWrap: "EmptyPage_iconWrap",
7418
+ title: "EmptyPage_title",
7419
+ description: "EmptyPage_description",
7420
+ actions: "EmptyPage_actions"
7421
+ };
7422
+
7423
+ // src/components/empty-page/EmptyPage.tsx
7424
+ import { jsx as jsx36 } from "react/jsx-runtime";
7425
+ var EmptyPageRoot = React49.forwardRef(function EmptyPageRoot2({ size = "m", layout = "default", className, children, ...rest }, forwardedRef) {
7426
+ return /* @__PURE__ */ jsx36(
7427
+ "div",
7428
+ {
7429
+ ref: forwardedRef,
7430
+ className: cx(EmptyPage_default.root, className),
7431
+ ...rest,
7432
+ ...toDataAttributes({
7433
+ size,
7434
+ layout: layout === "fill" ? "fill" : void 0
7435
+ }),
7436
+ children: /* @__PURE__ */ jsx36(ControlSizeProvider, { value: size, children })
7437
+ }
7438
+ );
7439
+ });
7440
+ EmptyPageRoot.displayName = "EmptyPage.Root";
7441
+ function EmptyPageIcon({ className, children, ...rest }) {
7442
+ return /* @__PURE__ */ jsx36("div", { className: cx(EmptyPage_default.iconWrap, className), ...rest, children });
7443
+ }
7444
+ EmptyPageIcon.displayName = "EmptyPage.Icon";
7445
+ var EmptyPageTitle = React49.forwardRef(
7446
+ function EmptyPageTitle2({ className, children, ...rest }, forwardedRef) {
7447
+ return /* @__PURE__ */ jsx36("h2", { ref: forwardedRef, className: cx(EmptyPage_default.title, className), ...rest, children });
7448
+ }
7449
+ );
7450
+ EmptyPageTitle.displayName = "EmptyPage.Title";
7451
+ var EmptyPageDescription = React49.forwardRef(
7452
+ function EmptyPageDescription2({ className, children, ...rest }, forwardedRef) {
7453
+ return /* @__PURE__ */ jsx36("p", { ref: forwardedRef, className: cx(EmptyPage_default.description, className), ...rest, children });
7454
+ }
7455
+ );
7456
+ EmptyPageDescription.displayName = "EmptyPage.Description";
7457
+ function EmptyPageActions({ className, children, ...rest }) {
7458
+ return /* @__PURE__ */ jsx36("div", { className: cx(EmptyPage_default.actions, className), ...rest, children });
7459
+ }
7460
+ EmptyPageActions.displayName = "EmptyPage.Actions";
7461
+ var EmptyPage = {
7462
+ Root: EmptyPageRoot,
7463
+ Icon: EmptyPageIcon,
7464
+ Title: EmptyPageTitle,
7465
+ Description: EmptyPageDescription,
7466
+ Actions: EmptyPageActions
7467
+ };
7468
+
7308
7469
  // src/components/example-frame/ExampleFrame.tsx
7309
7470
  import { Code2, Eye as Eye2, Monitor, Smartphone, Tablet } from "lucide-react";
7310
- import * as React49 from "react";
7471
+ import * as React51 from "react";
7311
7472
 
7312
7473
  // src/components/segmented-control/SegmentedControl.tsx
7313
- import * as React48 from "react";
7474
+ import * as React50 from "react";
7314
7475
 
7315
7476
  // src/components/segmented-control/SegmentedControl.module.css
7316
7477
  var SegmentedControl_default = {
@@ -7321,7 +7482,7 @@ var SegmentedControl_default = {
7321
7482
  };
7322
7483
 
7323
7484
  // src/components/segmented-control/SegmentedControl.tsx
7324
- import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
7485
+ import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
7325
7486
  function readCssWidthPx(root, widthExpression) {
7326
7487
  const doc = root.ownerDocument;
7327
7488
  const win = doc.defaultView;
@@ -7349,23 +7510,23 @@ function SegmentedControlRoot({
7349
7510
  defaultValue,
7350
7511
  onChange: onValueChange
7351
7512
  });
7352
- const [indicator, setIndicator] = React48.useState({
7513
+ const [indicator, setIndicator] = React50.useState({
7353
7514
  left: 0,
7354
7515
  top: 0,
7355
7516
  width: 0,
7356
7517
  height: 0
7357
7518
  });
7358
- const [animate2, setAnimate] = React48.useState(false);
7359
- const containerRef = React48.useRef(null);
7360
- const indicatorRef = React48.useRef(null);
7361
- const onSelect = React48.useCallback(
7519
+ const [animate2, setAnimate] = React50.useState(false);
7520
+ const containerRef = React50.useRef(null);
7521
+ const indicatorRef = React50.useRef(null);
7522
+ const onSelect = React50.useCallback(
7362
7523
  (nextValue) => {
7363
7524
  setAnimate(true);
7364
7525
  setSelectedValue(nextValue);
7365
7526
  },
7366
7527
  [setSelectedValue]
7367
7528
  );
7368
- React48.useLayoutEffect(() => {
7529
+ React50.useLayoutEffect(() => {
7369
7530
  const root = containerRef.current;
7370
7531
  if (!root) return;
7371
7532
  const update = () => {
@@ -7402,12 +7563,12 @@ function SegmentedControlRoot({
7402
7563
  ro?.disconnect();
7403
7564
  };
7404
7565
  }, []);
7405
- React48.useEffect(() => {
7566
+ React50.useEffect(() => {
7406
7567
  if (!animate2) return;
7407
7568
  const id = window.setTimeout(() => setAnimate(false), 320);
7408
7569
  return () => window.clearTimeout(id);
7409
7570
  }, [animate2]);
7410
- React48.useLayoutEffect(() => {
7571
+ React50.useLayoutEffect(() => {
7411
7572
  const indicatorEl = indicatorRef.current;
7412
7573
  if (!indicatorEl) return;
7413
7574
  indicatorEl.style.transform = `translate3d(${indicator.left}px, ${indicator.top}px, 0)`;
@@ -7438,7 +7599,7 @@ function SegmentedControlRoot({
7438
7599
  if (nextValue) onSelect(nextValue);
7439
7600
  };
7440
7601
  const hasSelection = selectedValue !== "";
7441
- return /* @__PURE__ */ jsx36(SegmentedControlProvider, { value: { value: selectedValue, onSelect, rootDisabled: disabled }, children: /* @__PURE__ */ jsxs17(
7602
+ return /* @__PURE__ */ jsx37(SegmentedControlProvider, { value: { value: selectedValue, onSelect, rootDisabled: disabled }, children: /* @__PURE__ */ jsxs17(
7442
7603
  "div",
7443
7604
  {
7444
7605
  ref: containerRef,
@@ -7451,8 +7612,8 @@ function SegmentedControlRoot({
7451
7612
  "data-size": size,
7452
7613
  "data-animate": animate2 ? "true" : void 0,
7453
7614
  children: [
7454
- /* @__PURE__ */ jsx36(ControlSizeProvider, { value: size, children }),
7455
- /* @__PURE__ */ jsx36("div", { ref: indicatorRef, className: SegmentedControl_default.indicator, "aria-hidden": "true" })
7615
+ /* @__PURE__ */ jsx37(ControlSizeProvider, { value: size, children }),
7616
+ /* @__PURE__ */ jsx37("div", { ref: indicatorRef, className: SegmentedControl_default.indicator, "aria-hidden": "true" })
7456
7617
  ]
7457
7618
  }
7458
7619
  ) });
@@ -7469,7 +7630,7 @@ function SegmentedControlItem({
7469
7630
  const isDisabled = ctx.rootDisabled || disabled;
7470
7631
  return (
7471
7632
  // biome-ignore lint/a11y/useSemanticElements: compound component intentionally uses role="radio" with roving tabindex
7472
- /* @__PURE__ */ jsx36(
7633
+ /* @__PURE__ */ jsx37(
7473
7634
  "button",
7474
7635
  {
7475
7636
  role: "radio",
@@ -7491,7 +7652,7 @@ function SegmentedControlItem({
7491
7652
  }
7492
7653
  SegmentedControlItem.displayName = "SegmentedControl.Item";
7493
7654
  function SegmentedControlIcon({ children, className, ...rest }) {
7494
- return /* @__PURE__ */ jsx36("span", { className: cx(SegmentedControl_default.icon, className), "aria-hidden": "true", ...rest, children });
7655
+ return /* @__PURE__ */ jsx37("span", { className: cx(SegmentedControl_default.icon, className), "aria-hidden": "true", ...rest, children });
7495
7656
  }
7496
7657
  SegmentedControlIcon.displayName = "SegmentedControl.Icon";
7497
7658
  var SegmentedControl = {
@@ -7515,7 +7676,7 @@ var ExampleFrame_default = {
7515
7676
  };
7516
7677
 
7517
7678
  // src/components/example-frame/ExampleFrame.tsx
7518
- import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
7679
+ import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
7519
7680
  var [ExampleFrameProvider, useExampleFrameContext] = createComponentContext("ExampleFrame");
7520
7681
  function ExampleFrameRoot({
7521
7682
  code,
@@ -7533,14 +7694,14 @@ function ExampleFrameRoot({
7533
7694
  previewLayout = "default",
7534
7695
  themePreset
7535
7696
  }) {
7536
- const [pane, setPane] = React49.useState("preview");
7537
- const [uncontrolledViewport, setUncontrolledViewport] = React49.useState(defaultViewport);
7538
- const [uncontrolledScheme, setUncontrolledScheme] = React49.useState(defaultColorScheme);
7697
+ const [pane, setPane] = React51.useState("preview");
7698
+ const [uncontrolledViewport, setUncontrolledViewport] = React51.useState(defaultViewport);
7699
+ const [uncontrolledScheme, setUncontrolledScheme] = React51.useState(defaultColorScheme);
7539
7700
  const isSchemeControlled = colorSchemeProp !== void 0;
7540
7701
  const colorScheme = isSchemeControlled ? colorSchemeProp : uncontrolledScheme;
7541
7702
  const isViewportControlled = viewportProp !== void 0;
7542
7703
  const viewport = isViewportControlled ? viewportProp : uncontrolledViewport;
7543
- const setColorScheme = React49.useCallback(
7704
+ const setColorScheme = React51.useCallback(
7544
7705
  (next) => {
7545
7706
  if (!isSchemeControlled) {
7546
7707
  setUncontrolledScheme(next);
@@ -7549,7 +7710,7 @@ function ExampleFrameRoot({
7549
7710
  },
7550
7711
  [isSchemeControlled, onColorSchemeChange]
7551
7712
  );
7552
- const setViewport = React49.useCallback(
7713
+ const setViewport = React51.useCallback(
7553
7714
  (next) => {
7554
7715
  if (!isViewportControlled) {
7555
7716
  setUncontrolledViewport(next);
@@ -7558,7 +7719,7 @@ function ExampleFrameRoot({
7558
7719
  },
7559
7720
  [isViewportControlled, onViewportChange]
7560
7721
  );
7561
- const ctxValue = React49.useMemo(
7722
+ const ctxValue = React51.useMemo(
7562
7723
  () => ({
7563
7724
  code,
7564
7725
  language,
@@ -7584,17 +7745,17 @@ function ExampleFrameRoot({
7584
7745
  ]
7585
7746
  );
7586
7747
  let previewChildren = null;
7587
- React49.Children.forEach(children, (child) => {
7588
- if (React49.isValidElement(child) && child.type === ExampleFrameStage) {
7748
+ React51.Children.forEach(children, (child) => {
7749
+ if (React51.isValidElement(child) && child.type === ExampleFrameStage) {
7589
7750
  previewChildren = child.props.children ?? null;
7590
7751
  }
7591
7752
  });
7592
7753
  if (previewChildren === null) {
7593
7754
  previewChildren = children;
7594
7755
  }
7595
- return /* @__PURE__ */ jsx37(ExampleFrameProvider, { value: ctxValue, children: /* @__PURE__ */ jsxs18("div", { className: cx(ExampleFrame_default.root, className), children: [
7596
- /* @__PURE__ */ jsx37(ExampleFrameToolbar, {}),
7597
- pane === "preview" ? /* @__PURE__ */ jsx37("div", { className: ExampleFrame_default.previewShell, children: /* @__PURE__ */ jsx37("div", { className: ExampleFrame_default.previewViewport, "data-viewport": viewport, children: /* @__PURE__ */ jsx37(
7756
+ return /* @__PURE__ */ jsx38(ExampleFrameProvider, { value: ctxValue, children: /* @__PURE__ */ jsxs18("div", { className: cx(ExampleFrame_default.root, className), children: [
7757
+ /* @__PURE__ */ jsx38(ExampleFrameToolbar, {}),
7758
+ pane === "preview" ? /* @__PURE__ */ jsx38("div", { className: ExampleFrame_default.previewShell, children: /* @__PURE__ */ jsx38("div", { className: ExampleFrame_default.previewViewport, "data-viewport": viewport, children: /* @__PURE__ */ jsx38(
7598
7759
  "div",
7599
7760
  {
7600
7761
  className: ExampleFrame_default.previewInner,
@@ -7603,14 +7764,14 @@ function ExampleFrameRoot({
7603
7764
  ...themePreset != null && themePreset !== "" ? { "data-theme-preset": themePreset } : {},
7604
7765
  children: previewChildren
7605
7766
  }
7606
- ) }) }) : /* @__PURE__ */ jsx37(ExampleFrameCodePane, { themePreset })
7767
+ ) }) }) : /* @__PURE__ */ jsx38(ExampleFrameCodePane, { themePreset })
7607
7768
  ] }) });
7608
7769
  }
7609
7770
  ExampleFrameRoot.displayName = "ExampleFrame.Root";
7610
7771
  function ExampleFrameToolbar() {
7611
7772
  const ctx = useExampleFrameContext();
7612
- const [copyState, setCopyState] = React49.useState("idle");
7613
- const handleCopy = React49.useCallback(async () => {
7773
+ const [copyState, setCopyState] = React51.useState("idle");
7774
+ const handleCopy = React51.useCallback(async () => {
7614
7775
  try {
7615
7776
  await navigator.clipboard.writeText(ctx.code);
7616
7777
  setCopyState("copied");
@@ -7636,18 +7797,18 @@ function ExampleFrameToolbar() {
7636
7797
  size: "s",
7637
7798
  children: [
7638
7799
  /* @__PURE__ */ jsxs18(SegmentedControl.Item, { value: "preview", children: [
7639
- /* @__PURE__ */ jsx37(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx37(Eye2, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7800
+ /* @__PURE__ */ jsx38(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx38(Eye2, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7640
7801
  "Preview"
7641
7802
  ] }),
7642
7803
  /* @__PURE__ */ jsxs18(SegmentedControl.Item, { value: "code", children: [
7643
- /* @__PURE__ */ jsx37(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx37(Code2, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7804
+ /* @__PURE__ */ jsx38(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx38(Code2, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7644
7805
  "Code"
7645
7806
  ] })
7646
7807
  ]
7647
7808
  }
7648
7809
  ),
7649
7810
  /* @__PURE__ */ jsxs18("div", { className: ExampleFrame_default.toolbarLine1End, children: [
7650
- ctx.showThemeToggle ? /* @__PURE__ */ jsx37(
7811
+ ctx.showThemeToggle ? /* @__PURE__ */ jsx38(
7651
7812
  Button.Root,
7652
7813
  {
7653
7814
  type: "button",
@@ -7656,10 +7817,10 @@ function ExampleFrameToolbar() {
7656
7817
  size: "s",
7657
7818
  onClick: toggleScheme,
7658
7819
  "aria-label": ctx.colorScheme === "light" ? "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0442\u0451\u043C\u043D\u0443\u044E \u0442\u0435\u043C\u0443" : "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u0432\u0435\u0442\u043B\u0443\u044E \u0442\u0435\u043C\u0443",
7659
- children: /* @__PURE__ */ jsx37(Button.Icon, { children: ctx.colorScheme === "light" ? /* @__PURE__ */ jsx37(Icon, { name: "theme.dark", size: "s", tone: "subtle" }) : /* @__PURE__ */ jsx37(Icon, { name: "theme.light", size: "s", tone: "subtle" }) })
7820
+ children: /* @__PURE__ */ jsx38(Button.Icon, { children: ctx.colorScheme === "light" ? /* @__PURE__ */ jsx38(Icon, { name: "theme.dark", size: "s", tone: "subtle" }) : /* @__PURE__ */ jsx38(Icon, { name: "theme.light", size: "s", tone: "subtle" }) })
7660
7821
  }
7661
7822
  ) : null,
7662
- /* @__PURE__ */ jsx37(
7823
+ /* @__PURE__ */ jsx38(
7663
7824
  Button.Root,
7664
7825
  {
7665
7826
  type: "button",
@@ -7668,7 +7829,7 @@ function ExampleFrameToolbar() {
7668
7829
  size: "s",
7669
7830
  onClick: handleCopy,
7670
7831
  "aria-label": copyLabel,
7671
- children: /* @__PURE__ */ jsx37(Button.Icon, { children: /* @__PURE__ */ jsx37(Icon, { name: "action.copy", size: "s", tone: "subtle" }) })
7832
+ children: /* @__PURE__ */ jsx38(Button.Icon, { children: /* @__PURE__ */ jsx38(Icon, { name: "action.copy", size: "s", tone: "subtle" }) })
7672
7833
  }
7673
7834
  )
7674
7835
  ] })
@@ -7682,15 +7843,15 @@ function ExampleFrameToolbar() {
7682
7843
  size: "s",
7683
7844
  children: [
7684
7845
  /* @__PURE__ */ jsxs18(SegmentedControl.Item, { value: "desktop", children: [
7685
- /* @__PURE__ */ jsx37(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx37(Monitor, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7846
+ /* @__PURE__ */ jsx38(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx38(Monitor, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7686
7847
  "Desktop"
7687
7848
  ] }),
7688
7849
  /* @__PURE__ */ jsxs18(SegmentedControl.Item, { value: "tablet", children: [
7689
- /* @__PURE__ */ jsx37(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx37(Tablet, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7850
+ /* @__PURE__ */ jsx38(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx38(Tablet, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7690
7851
  "Tablet"
7691
7852
  ] }),
7692
7853
  /* @__PURE__ */ jsxs18(SegmentedControl.Item, { value: "mobile", children: [
7693
- /* @__PURE__ */ jsx37(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx37(Smartphone, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7854
+ /* @__PURE__ */ jsx38(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx38(Smartphone, { size: 14, strokeWidth: 2, "aria-hidden": true }) }),
7694
7855
  "Mobile"
7695
7856
  ] })
7696
7857
  ]
@@ -7703,11 +7864,11 @@ function ExampleFrameCodePane({ themePreset }) {
7703
7864
  const ctx = useExampleFrameContext();
7704
7865
  const trimmed = ctx.code.trimEnd();
7705
7866
  const presetProps = themePreset != null && themePreset !== "" ? { "data-theme-preset": themePreset } : {};
7706
- return /* @__PURE__ */ jsx37("div", { className: ExampleFrame_default.codePane, "data-theme": ctx.colorScheme, ...presetProps, children: /* @__PURE__ */ jsx37(CodeBlock.Root, { code: trimmed, colorScheme: ctx.colorScheme }) });
7867
+ return /* @__PURE__ */ jsx38("div", { className: ExampleFrame_default.codePane, "data-theme": ctx.colorScheme, ...presetProps, children: /* @__PURE__ */ jsx38(CodeBlock.Root, { code: trimmed, colorScheme: ctx.colorScheme }) });
7707
7868
  }
7708
7869
  ExampleFrameCodePane.displayName = "ExampleFrame.CodePane";
7709
7870
  function ExampleFrameStage({ children }) {
7710
- return /* @__PURE__ */ jsx37(Fragment5, { children });
7871
+ return /* @__PURE__ */ jsx38(Fragment5, { children });
7711
7872
  }
7712
7873
  ExampleFrameStage.displayName = "ExampleFrame.Stage";
7713
7874
  var ExampleFrame = {
@@ -7716,10 +7877,10 @@ var ExampleFrame = {
7716
7877
  };
7717
7878
 
7718
7879
  // src/components/file-upload/FileUpload.tsx
7719
- import * as React51 from "react";
7880
+ import * as React53 from "react";
7720
7881
 
7721
7882
  // src/components/progress-bar/ProgressBar.tsx
7722
- import * as React50 from "react";
7883
+ import * as React52 from "react";
7723
7884
 
7724
7885
  // src/components/progress-bar/ProgressBar.module.css
7725
7886
  var ProgressBar_default = {
@@ -7729,18 +7890,18 @@ var ProgressBar_default = {
7729
7890
  };
7730
7891
 
7731
7892
  // src/components/progress-bar/ProgressBar.tsx
7732
- import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
7893
+ import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
7733
7894
  function clampProgress(value, max) {
7734
7895
  return Math.min(max, Math.max(value, 0));
7735
7896
  }
7736
- var ProgressBarRoot = React50.forwardRef(
7897
+ var ProgressBarRoot = React52.forwardRef(
7737
7898
  ({ value, max = 100, label, size = "m", className }, ref) => {
7738
7899
  const safeMax = max > 0 ? max : 100;
7739
7900
  const safeValue = clampProgress(value, safeMax);
7740
- const labelId = React50.useId();
7901
+ const labelId = React52.useId();
7741
7902
  return /* @__PURE__ */ jsxs19("div", { className: cx(ProgressBar_default.root, className), ...toDataAttributes({ size }), children: [
7742
- label ? /* @__PURE__ */ jsx38("span", { className: ProgressBar_default.label, id: labelId, children: label }) : null,
7743
- /* @__PURE__ */ jsx38(
7903
+ label ? /* @__PURE__ */ jsx39("span", { className: ProgressBar_default.label, id: labelId, children: label }) : null,
7904
+ /* @__PURE__ */ jsx39(
7744
7905
  "progress",
7745
7906
  {
7746
7907
  ref,
@@ -7792,26 +7953,26 @@ var FileUpload_default = {
7792
7953
  };
7793
7954
 
7794
7955
  // src/components/file-upload/FileUpload.tsx
7795
- import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
7956
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
7796
7957
  function FileUploadIcon({ className, children, ...rest }) {
7797
- return /* @__PURE__ */ jsx39("span", { className: cx(FileUpload_default.iconWrap, className), "aria-hidden": true, ...rest, children });
7958
+ return /* @__PURE__ */ jsx40("span", { className: cx(FileUpload_default.iconWrap, className), "aria-hidden": true, ...rest, children });
7798
7959
  }
7799
7960
  FileUploadIcon.displayName = "FileUpload.Icon";
7800
7961
  function FileUploadTitle({ className, children, tone = "default", ...rest }) {
7801
- return /* @__PURE__ */ jsx39("p", { className: cx(FileUpload_default.title, tone === "muted" && FileUpload_default.titleMuted, className), ...rest, children });
7962
+ return /* @__PURE__ */ jsx40("p", { className: cx(FileUpload_default.title, tone === "muted" && FileUpload_default.titleMuted, className), ...rest, children });
7802
7963
  }
7803
7964
  FileUploadTitle.displayName = "FileUpload.Title";
7804
7965
  function FileUploadHint({ className, children, ...rest }) {
7805
7966
  const controlSize = useOptionalControlSize() ?? "m";
7806
- return /* @__PURE__ */ jsx39(Hint.Root, { size: controlSize, className, ...rest, children });
7967
+ return /* @__PURE__ */ jsx40(Hint.Root, { size: controlSize, className, ...rest, children });
7807
7968
  }
7808
7969
  FileUploadHint.displayName = "FileUpload.Hint";
7809
7970
  function FileUploadBrowseLabel({ className, children, ...rest }) {
7810
- return /* @__PURE__ */ jsx39("span", { className: cx(FileUpload_default.browse, className), ...rest, children });
7971
+ return /* @__PURE__ */ jsx40("span", { className: cx(FileUpload_default.browse, className), ...rest, children });
7811
7972
  }
7812
7973
  FileUploadBrowseLabel.displayName = "FileUpload.BrowseLabel";
7813
- var FileUploadBrowseLink = React51.forwardRef(
7814
- ({ className, type = "button", onClick, ...rest }, ref) => /* @__PURE__ */ jsx39(
7974
+ var FileUploadBrowseLink = React53.forwardRef(
7975
+ ({ className, type = "button", onClick, ...rest }, ref) => /* @__PURE__ */ jsx40(
7815
7976
  "button",
7816
7977
  {
7817
7978
  ref,
@@ -7828,15 +7989,15 @@ var FileUploadBrowseLink = React51.forwardRef(
7828
7989
  );
7829
7990
  FileUploadBrowseLink.displayName = "FileUpload.BrowseLink";
7830
7991
  function FileUploadDropBody({ className, children, ...rest }) {
7831
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.dropBody, className), ...rest, children });
7992
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.dropBody, className), ...rest, children });
7832
7993
  }
7833
7994
  FileUploadDropBody.displayName = "FileUpload.DropBody";
7834
7995
  function FileUploadActionsRow({ className, children, ...rest }) {
7835
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.actionsRow, className), ...rest, children });
7996
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.actionsRow, className), ...rest, children });
7836
7997
  }
7837
7998
  FileUploadActionsRow.displayName = "FileUpload.ActionsRow";
7838
- var FileUploadChip = React51.forwardRef(
7839
- ({ className, type = "button", onClick, ...rest }, ref) => /* @__PURE__ */ jsx39(
7999
+ var FileUploadChip = React53.forwardRef(
8000
+ ({ className, type = "button", onClick, ...rest }, ref) => /* @__PURE__ */ jsx40(
7840
8001
  "button",
7841
8002
  {
7842
8003
  ref,
@@ -7853,12 +8014,12 @@ var FileUploadChip = React51.forwardRef(
7853
8014
  );
7854
8015
  FileUploadChip.displayName = "FileUpload.Chip";
7855
8016
  function FileUploadChipLabel({ className, children, ...rest }) {
7856
- return /* @__PURE__ */ jsx39("span", { className: cx(FileUpload_default.chipLabel, className), ...rest, children });
8017
+ return /* @__PURE__ */ jsx40("span", { className: cx(FileUpload_default.chipLabel, className), ...rest, children });
7857
8018
  }
7858
8019
  FileUploadChipLabel.displayName = "FileUpload.ChipLabel";
7859
8020
  function FileUploadFormatBadge({ format, color = "gray", className }) {
7860
8021
  const label = format.trim().slice(0, 8).toUpperCase();
7861
- return /* @__PURE__ */ jsx39(
8022
+ return /* @__PURE__ */ jsx40(
7862
8023
  "span",
7863
8024
  {
7864
8025
  className: cx(FileUpload_default.formatBadge, className),
@@ -7875,7 +8036,7 @@ function FileUploadItem({
7875
8036
  size = "m",
7876
8037
  ...rest
7877
8038
  }) {
7878
- return /* @__PURE__ */ jsx39(
8039
+ return /* @__PURE__ */ jsx40(
7879
8040
  "div",
7880
8041
  {
7881
8042
  className: cx(FileUpload_default.item, className),
@@ -7886,50 +8047,50 @@ function FileUploadItem({
7886
8047
  }
7887
8048
  FileUploadItem.displayName = "FileUpload.Item";
7888
8049
  function FileUploadItemRow({ className, children, ...rest }) {
7889
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemRow, className), ...rest, children });
8050
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemRow, className), ...rest, children });
7890
8051
  }
7891
8052
  FileUploadItemRow.displayName = "FileUpload.ItemRow";
7892
8053
  function FileUploadItemMain({ className, children, ...rest }) {
7893
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemMain, className), ...rest, children });
8054
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemMain, className), ...rest, children });
7894
8055
  }
7895
8056
  FileUploadItemMain.displayName = "FileUpload.ItemMain";
7896
8057
  function FileUploadItemStack({ className, children, ...rest }) {
7897
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemStack, className), ...rest, children });
8058
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemStack, className), ...rest, children });
7898
8059
  }
7899
8060
  FileUploadItemStack.displayName = "FileUpload.ItemStack";
7900
8061
  function FileUploadItemTextGroup({ className, children, ...rest }) {
7901
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemTextGroup, className), ...rest, children });
8062
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemTextGroup, className), ...rest, children });
7902
8063
  }
7903
8064
  FileUploadItemTextGroup.displayName = "FileUpload.ItemTextGroup";
7904
- var FileUploadItemTryAgain = React51.forwardRef(
7905
- ({ className, type = "button", ...rest }, ref) => /* @__PURE__ */ jsx39("button", { ref, type, className: cx(FileUpload_default.itemTryAgain, className), ...rest })
8065
+ var FileUploadItemTryAgain = React53.forwardRef(
8066
+ ({ className, type = "button", ...rest }, ref) => /* @__PURE__ */ jsx40("button", { ref, type, className: cx(FileUpload_default.itemTryAgain, className), ...rest })
7906
8067
  );
7907
8068
  FileUploadItemTryAgain.displayName = "FileUpload.ItemTryAgain";
7908
8069
  function FileUploadItemName({ className, children, ...rest }) {
7909
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemName, className), ...rest, children });
8070
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemName, className), ...rest, children });
7910
8071
  }
7911
8072
  FileUploadItemName.displayName = "FileUpload.ItemName";
7912
8073
  function FileUploadItemMeta({ className, children, ...rest }) {
7913
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemMeta, className), ...rest, children });
8074
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemMeta, className), ...rest, children });
7914
8075
  }
7915
8076
  FileUploadItemMeta.displayName = "FileUpload.ItemMeta";
7916
8077
  function FileUploadItemMetaSep({ className, ...rest }) {
7917
- return /* @__PURE__ */ jsx39("span", { className: cx(FileUpload_default.itemMetaSep, className), "aria-hidden": true, ...rest, children: "\u2219" });
8078
+ return /* @__PURE__ */ jsx40("span", { className: cx(FileUpload_default.itemMetaSep, className), "aria-hidden": true, ...rest, children: "\u2219" });
7918
8079
  }
7919
8080
  FileUploadItemMetaSep.displayName = "FileUpload.ItemMetaSep";
7920
8081
  function FileUploadItemActions({ className, children, ...rest }) {
7921
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemActions, className), ...rest, children });
8082
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemActions, className), ...rest, children });
7922
8083
  }
7923
8084
  FileUploadItemActions.displayName = "FileUpload.ItemActions";
7924
8085
  function FileUploadItemFooter({ className, children, ...rest }) {
7925
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemFooter, className), ...rest, children });
8086
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemFooter, className), ...rest, children });
7926
8087
  }
7927
8088
  FileUploadItemFooter.displayName = "FileUpload.ItemFooter";
7928
8089
  function FileUploadItemProgress({ value, max, className, children }) {
7929
- return /* @__PURE__ */ jsx39("div", { className: cx(FileUpload_default.itemProgress, className), children: children ?? (value !== void 0 ? /* @__PURE__ */ jsx39(ProgressBar.Root, { value, max }) : null) });
8090
+ return /* @__PURE__ */ jsx40("div", { className: cx(FileUpload_default.itemProgress, className), children: children ?? (value !== void 0 ? /* @__PURE__ */ jsx40(ProgressBar.Root, { value, max }) : null) });
7930
8091
  }
7931
8092
  FileUploadItemProgress.displayName = "FileUpload.ItemProgress";
7932
- var FileUploadRoot = React51.forwardRef(
8093
+ var FileUploadRoot = React53.forwardRef(
7933
8094
  ({
7934
8095
  size = "m",
7935
8096
  appearance = "dashed",
@@ -7942,7 +8103,7 @@ var FileUploadRoot = React51.forwardRef(
7942
8103
  children,
7943
8104
  ...rest
7944
8105
  }, ref) => {
7945
- const [isDragOver, setIsDragOver] = React51.useState(false);
8106
+ const [isDragOver, setIsDragOver] = React53.useState(false);
7946
8107
  const mergeInputRef = useMergedRefs(inputRefProp);
7947
8108
  const handleChange = (e) => {
7948
8109
  const list = e.target.files;
@@ -7971,12 +8132,12 @@ var FileUploadRoot = React51.forwardRef(
7971
8132
  }
7972
8133
  };
7973
8134
  const defaultBody = /* @__PURE__ */ jsxs20("div", { className: FileUpload_default.inner, children: [
7974
- /* @__PURE__ */ jsx39(FileUploadIcon, { children: /* @__PURE__ */ jsx39(Icon, { name: "action.upload", size, tone: "subtle" }) }),
8135
+ /* @__PURE__ */ jsx40(FileUploadIcon, { children: /* @__PURE__ */ jsx40(Icon, { name: "action.upload", size, tone: "subtle" }) }),
7975
8136
  /* @__PURE__ */ jsxs20("div", { className: FileUpload_default.copy, children: [
7976
- /* @__PURE__ */ jsx39(FileUploadTitle, { children: "Choose a file or drag & drop it here." }),
7977
- /* @__PURE__ */ jsx39(FileUploadHint, { children: "JPEG, PNG, PDF, MP4 up to 50 MB." })
8137
+ /* @__PURE__ */ jsx40(FileUploadTitle, { children: "Choose a file or drag & drop it here." }),
8138
+ /* @__PURE__ */ jsx40(FileUploadHint, { children: "JPEG, PNG, PDF, MP4 up to 50 MB." })
7978
8139
  ] }),
7979
- /* @__PURE__ */ jsx39(FileUploadBrowseLabel, { children: "Browse file" })
8140
+ /* @__PURE__ */ jsx40(FileUploadBrowseLabel, { children: "Browse file" })
7980
8141
  ] });
7981
8142
  return /* @__PURE__ */ jsxs20(
7982
8143
  "label",
@@ -7991,7 +8152,7 @@ var FileUploadRoot = React51.forwardRef(
7991
8152
  onDragLeave: handleDragLeave,
7992
8153
  onDrop: handleDrop,
7993
8154
  children: [
7994
- /* @__PURE__ */ jsx39(
8155
+ /* @__PURE__ */ jsx40(
7995
8156
  "input",
7996
8157
  {
7997
8158
  ref: mergeInputRef,
@@ -8004,7 +8165,7 @@ var FileUploadRoot = React51.forwardRef(
8004
8165
  "aria-disabled": disabled || void 0
8005
8166
  }
8006
8167
  ),
8007
- /* @__PURE__ */ jsx39(ControlSizeProvider, { value: size, children: children ?? defaultBody })
8168
+ /* @__PURE__ */ jsx40(ControlSizeProvider, { value: size, children: children ?? defaultBody })
8008
8169
  ]
8009
8170
  }
8010
8171
  );
@@ -8038,7 +8199,7 @@ var FileUpload = {
8038
8199
  };
8039
8200
 
8040
8201
  // src/components/kbd/Kbd.tsx
8041
- import * as React52 from "react";
8202
+ import * as React54 from "react";
8042
8203
 
8043
8204
  // src/components/kbd/Kbd.module.css
8044
8205
  var Kbd_default = {
@@ -8046,19 +8207,19 @@ var Kbd_default = {
8046
8207
  };
8047
8208
 
8048
8209
  // src/components/kbd/Kbd.tsx
8049
- import { jsx as jsx40 } from "react/jsx-runtime";
8050
- var KbdRoot = React52.forwardRef(
8210
+ import { jsx as jsx41 } from "react/jsx-runtime";
8211
+ var KbdRoot = React54.forwardRef(
8051
8212
  ({ children, className, size: sizeProp, ...rest }, ref) => {
8052
8213
  const controlSurface = useOptionalControlSize();
8053
8214
  const size = sizeProp ?? (controlSurface !== void 0 ? controlSurfaceToInputSize(controlSurface) : "m");
8054
- return /* @__PURE__ */ jsx40(
8215
+ return /* @__PURE__ */ jsx41(
8055
8216
  "kbd",
8056
8217
  {
8057
8218
  ref,
8058
8219
  className: cx(Kbd_default.root, className),
8059
8220
  ...rest,
8060
8221
  ...toDataAttributes({ size }),
8061
- children: /* @__PURE__ */ jsx40(ControlSizeProvider, { value: size, children })
8222
+ children: /* @__PURE__ */ jsx41(ControlSizeProvider, { value: size, children })
8062
8223
  }
8063
8224
  );
8064
8225
  }
@@ -8068,7 +8229,7 @@ var Kbd = { Root: KbdRoot };
8068
8229
 
8069
8230
  // src/components/notification/Notification.tsx
8070
8231
  import { AlertTriangle, CheckCircle2, Info, X as X3, XCircle } from "lucide-react";
8071
- import * as React53 from "react";
8232
+ import * as React55 from "react";
8072
8233
 
8073
8234
  // src/components/notification/Notification.module.css
8074
8235
  var Notification_default = {
@@ -8097,16 +8258,16 @@ var Notification_default = {
8097
8258
  };
8098
8259
 
8099
8260
  // src/components/notification/Notification.tsx
8100
- import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
8261
+ import { jsx as jsx42, jsxs as jsxs21 } from "react/jsx-runtime";
8101
8262
  function useCountdown(item, paused, onExpire) {
8102
- const [progress, setProgress] = React53.useState(1);
8103
- const remainingRef = React53.useRef(item.duration);
8104
- const lastTsRef = React53.useRef(null);
8105
- const pausedRef = React53.useRef(paused);
8106
- const onExpireRef = React53.useRef(onExpire);
8263
+ const [progress, setProgress] = React55.useState(1);
8264
+ const remainingRef = React55.useRef(item.duration);
8265
+ const lastTsRef = React55.useRef(null);
8266
+ const pausedRef = React55.useRef(paused);
8267
+ const onExpireRef = React55.useRef(onExpire);
8107
8268
  pausedRef.current = paused;
8108
8269
  onExpireRef.current = onExpire;
8109
- React53.useEffect(() => {
8270
+ React55.useEffect(() => {
8110
8271
  if (item.persistent || item.duration <= 0) return;
8111
8272
  remainingRef.current = item.duration;
8112
8273
  lastTsRef.current = null;
@@ -8171,14 +8332,14 @@ function NotificationCard({
8171
8332
  stackExpanded
8172
8333
  }),
8173
8334
  children: [
8174
- /* @__PURE__ */ jsx41("div", { className: Notification_default.iconWrap, "aria-hidden": "true", children: item.icon ?? /* @__PURE__ */ jsx41(DefaultIcon, { className: Notification_default.icon }) }),
8335
+ /* @__PURE__ */ jsx42("div", { className: Notification_default.iconWrap, "aria-hidden": "true", children: item.icon ?? /* @__PURE__ */ jsx42(DefaultIcon, { className: Notification_default.icon }) }),
8175
8336
  /* @__PURE__ */ jsxs21("div", { className: Notification_default.content, children: [
8176
8337
  /* @__PURE__ */ jsxs21("header", { className: Notification_default.header, children: [
8177
- /* @__PURE__ */ jsx41("p", { className: Notification_default.title, children: item.title }),
8178
- item.badge !== void 0 ? /* @__PURE__ */ jsx41("span", { className: Notification_default.badge, children: item.badge }) : null
8338
+ /* @__PURE__ */ jsx42("p", { className: Notification_default.title, children: item.title }),
8339
+ item.badge !== void 0 ? /* @__PURE__ */ jsx42("span", { className: Notification_default.badge, children: item.badge }) : null
8179
8340
  ] }),
8180
- item.description ? /* @__PURE__ */ jsx41("p", { className: Notification_default.description, children: item.description }) : null,
8181
- item.action ? /* @__PURE__ */ jsx41("div", { className: Notification_default.actionRow, children: /* @__PURE__ */ jsx41(
8341
+ item.description ? /* @__PURE__ */ jsx42("p", { className: Notification_default.description, children: item.description }) : null,
8342
+ item.action ? /* @__PURE__ */ jsx42("div", { className: Notification_default.actionRow, children: /* @__PURE__ */ jsx42(
8182
8343
  Button.Root,
8183
8344
  {
8184
8345
  type: "button",
@@ -8190,17 +8351,17 @@ function NotificationCard({
8190
8351
  }
8191
8352
  ) }) : null
8192
8353
  ] }),
8193
- item.closable ? /* @__PURE__ */ jsx41(
8354
+ item.closable ? /* @__PURE__ */ jsx42(
8194
8355
  "button",
8195
8356
  {
8196
8357
  type: "button",
8197
8358
  className: Notification_default.closeButton,
8198
8359
  "aria-label": "Dismiss notification",
8199
8360
  onClick: () => onDismiss(item.id),
8200
- children: /* @__PURE__ */ jsx41(X3, { "aria-hidden": "true" })
8361
+ children: /* @__PURE__ */ jsx42(X3, { "aria-hidden": "true" })
8201
8362
  }
8202
8363
  ) : null,
8203
- !item.persistent ? /* @__PURE__ */ jsx41("div", { className: Notification_default.progressTrack, "aria-hidden": "true", children: /* @__PURE__ */ jsx41("span", { className: Notification_default.progressValue, style: { transform: `scaleX(${progress})` } }) }) : null
8364
+ !item.persistent ? /* @__PURE__ */ jsx42("div", { className: Notification_default.progressTrack, "aria-hidden": "true", children: /* @__PURE__ */ jsx42("span", { className: Notification_default.progressValue, style: { transform: `scaleX(${progress})` } }) }) : null
8204
8365
  ]
8205
8366
  }
8206
8367
  );
@@ -8208,8 +8369,8 @@ function NotificationCard({
8208
8369
 
8209
8370
  // src/components/notification/NotificationStore.tsx
8210
8371
  import { AnimatePresence, LayoutGroup, motion } from "framer-motion";
8211
- import * as React54 from "react";
8212
- import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
8372
+ import * as React56 from "react";
8373
+ import { jsx as jsx43, jsxs as jsxs22 } from "react/jsx-runtime";
8213
8374
  var DEFAULT_DURATION = 5e3;
8214
8375
  var PEEK_VISIBLE = 3;
8215
8376
  var PEEK_PX = 8;
@@ -8236,7 +8397,7 @@ var POSITIONS = [
8236
8397
  "bottom-right"
8237
8398
  ];
8238
8399
  var TYPES = ["success", "error", "warning", "info"];
8239
- var StoreContext = React54.createContext(null);
8400
+ var StoreContext = React56.createContext(null);
8240
8401
  function newId() {
8241
8402
  return globalThis.crypto?.randomUUID?.() ?? `ntf-${Date.now()}-${Math.random().toString(16).slice(2)}`;
8242
8403
  }
@@ -8248,10 +8409,10 @@ function NotificationStack({
8248
8409
  items,
8249
8410
  onDismiss
8250
8411
  }) {
8251
- const [expanded, setExpanded] = React54.useState(false);
8252
- const collapseTimerRef = React54.useRef(null);
8412
+ const [expanded, setExpanded] = React56.useState(false);
8413
+ const collapseTimerRef = React56.useRef(null);
8253
8414
  const top = isTop(position);
8254
- const handleHover = React54.useCallback((hovered) => {
8415
+ const handleHover = React56.useCallback((hovered) => {
8255
8416
  if (collapseTimerRef.current !== null) {
8256
8417
  clearTimeout(collapseTimerRef.current);
8257
8418
  collapseTimerRef.current = null;
@@ -8262,14 +8423,14 @@ function NotificationStack({
8262
8423
  collapseTimerRef.current = window.setTimeout(() => setExpanded(false), 100);
8263
8424
  }
8264
8425
  }, []);
8265
- React54.useEffect(
8426
+ React56.useEffect(
8266
8427
  () => () => {
8267
8428
  if (collapseTimerRef.current !== null) clearTimeout(collapseTimerRef.current);
8268
8429
  },
8269
8430
  []
8270
8431
  );
8271
8432
  const visible = items.filter((n) => !n.dismissing);
8272
- return /* @__PURE__ */ jsx42(
8433
+ return /* @__PURE__ */ jsx43(
8273
8434
  motion.ol,
8274
8435
  {
8275
8436
  layout: true,
@@ -8280,7 +8441,7 @@ function NotificationStack({
8280
8441
  transition: { layout: TWEEN_SLOW },
8281
8442
  onMouseEnter: () => handleHover(true),
8282
8443
  onMouseLeave: () => handleHover(false),
8283
- children: /* @__PURE__ */ jsx42(AnimatePresence, { children: visible.map((item, index) => /* @__PURE__ */ jsx42(
8444
+ children: /* @__PURE__ */ jsx43(AnimatePresence, { children: visible.map((item, index) => /* @__PURE__ */ jsx43(
8284
8445
  NotificationStackItem,
8285
8446
  {
8286
8447
  item,
@@ -8296,7 +8457,7 @@ function NotificationStack({
8296
8457
  }
8297
8458
  );
8298
8459
  }
8299
- var NotificationStackItem = React54.memo(function NotificationStackItem2({
8460
+ var NotificationStackItem = React56.memo(function NotificationStackItem2({
8300
8461
  item,
8301
8462
  index,
8302
8463
  expanded,
@@ -8311,7 +8472,7 @@ var NotificationStackItem = React54.memo(function NotificationStackItem2({
8311
8472
  const rotateEnter = top ? -45 : 45;
8312
8473
  const rotateExit = top ? 25 : -25;
8313
8474
  const layoutDep = `${item.id}-${index}-${String(expanded)}-${String(hidden)}`;
8314
- return /* @__PURE__ */ jsx42(
8475
+ return /* @__PURE__ */ jsx43(
8315
8476
  motion.li,
8316
8477
  {
8317
8478
  className: Notification_default.item,
@@ -8347,7 +8508,7 @@ var NotificationStackItem = React54.memo(function NotificationStackItem2({
8347
8508
  transformOrigin: top ? "top center" : "bottom center",
8348
8509
  pointerEvents: hidden ? "none" : "auto"
8349
8510
  },
8350
- children: /* @__PURE__ */ jsx42(
8511
+ children: /* @__PURE__ */ jsx43(
8351
8512
  NotificationCard,
8352
8513
  {
8353
8514
  item,
@@ -8364,7 +8525,7 @@ function NotificationToaster({
8364
8525
  entries,
8365
8526
  onDismiss
8366
8527
  }) {
8367
- const grouped = React54.useMemo(() => {
8528
+ const grouped = React56.useMemo(() => {
8368
8529
  const map = /* @__PURE__ */ new Map();
8369
8530
  for (const entry of entries) {
8370
8531
  if (!map.has(entry.position)) map.set(entry.position, /* @__PURE__ */ new Map());
@@ -8380,18 +8541,18 @@ function NotificationToaster({
8380
8541
  }
8381
8542
  return map;
8382
8543
  }, [entries]);
8383
- return /* @__PURE__ */ jsx42(Portal, { children: /* @__PURE__ */ jsx42("div", { className: Notification_default.viewport, children: POSITIONS.map((pos) => {
8544
+ return /* @__PURE__ */ jsx43(Portal, { children: /* @__PURE__ */ jsx43("div", { className: Notification_default.viewport, children: POSITIONS.map((pos) => {
8384
8545
  const byType = grouped.get(pos);
8385
8546
  if (!byType?.size) return null;
8386
8547
  const [vertical, horizontal] = pos.split("-");
8387
8548
  const stacks = TYPES.map((type) => ({ type, items: byType.get(type) ?? [] })).filter(
8388
8549
  (s) => s.items.length > 0
8389
8550
  );
8390
- return /* @__PURE__ */ jsx42(
8551
+ return /* @__PURE__ */ jsx43(
8391
8552
  "section",
8392
8553
  {
8393
8554
  className: `${Notification_default.zone} ${Notification_default[vertical]} ${Notification_default[horizontal]}`,
8394
- children: /* @__PURE__ */ jsx42(LayoutGroup, { id: `zone-${pos}`, children: stacks.map((s) => /* @__PURE__ */ jsx42(
8555
+ children: /* @__PURE__ */ jsx43(LayoutGroup, { id: `zone-${pos}`, children: stacks.map((s) => /* @__PURE__ */ jsx43(
8395
8556
  NotificationStack,
8396
8557
  {
8397
8558
  position: pos,
@@ -8410,18 +8571,18 @@ function NotificationProvider({
8410
8571
  position = "top-right",
8411
8572
  max = 5
8412
8573
  }) {
8413
- const [entries, setEntries] = React54.useState([]);
8414
- const dismiss = React54.useCallback((id) => {
8574
+ const [entries, setEntries] = React56.useState([]);
8575
+ const dismiss = React56.useCallback((id) => {
8415
8576
  setEntries((prev) => prev.map((n) => n.id === id ? { ...n, dismissing: true } : n));
8416
8577
  window.setTimeout(() => {
8417
8578
  setEntries((prev) => prev.filter((n) => n.id !== id));
8418
8579
  }, DISMISS_CLEANUP_MS);
8419
8580
  }, []);
8420
- const dismissAll = React54.useCallback(() => {
8581
+ const dismissAll = React56.useCallback(() => {
8421
8582
  setEntries((prev) => prev.map((n) => ({ ...n, dismissing: true })));
8422
8583
  window.setTimeout(() => setEntries([]), DISMISS_CLEANUP_MS);
8423
8584
  }, []);
8424
- const notify = React54.useCallback(
8585
+ const notify = React56.useCallback(
8425
8586
  (options) => {
8426
8587
  const id = newId();
8427
8588
  const record = {
@@ -8447,29 +8608,29 @@ function NotificationProvider({
8447
8608
  },
8448
8609
  [position, max]
8449
8610
  );
8450
- const publicItems = React54.useMemo(() => entries.filter((n) => !n.dismissing), [entries]);
8451
- const value = React54.useMemo(
8611
+ const publicItems = React56.useMemo(() => entries.filter((n) => !n.dismissing), [entries]);
8612
+ const value = React56.useMemo(
8452
8613
  () => ({ items: publicItems, notify, dismiss, dismissAll }),
8453
8614
  [publicItems, notify, dismiss, dismissAll]
8454
8615
  );
8455
8616
  return /* @__PURE__ */ jsxs22(StoreContext.Provider, { value, children: [
8456
8617
  children,
8457
- /* @__PURE__ */ jsx42(NotificationToaster, { entries, onDismiss: dismiss })
8618
+ /* @__PURE__ */ jsx43(NotificationToaster, { entries, onDismiss: dismiss })
8458
8619
  ] });
8459
8620
  }
8460
8621
  function useNotifications() {
8461
- const ctx = React54.useContext(StoreContext);
8622
+ const ctx = React56.useContext(StoreContext);
8462
8623
  if (!ctx) throw new Error("useNotifications must be used within NotificationProvider");
8463
8624
  return { notify: ctx.notify, dismiss: ctx.dismiss, dismissAll: ctx.dismissAll };
8464
8625
  }
8465
8626
  function useNotificationStore() {
8466
- const ctx = React54.useContext(StoreContext);
8627
+ const ctx = React56.useContext(StoreContext);
8467
8628
  if (!ctx) throw new Error("useNotificationStore must be used within NotificationProvider");
8468
8629
  return ctx;
8469
8630
  }
8470
8631
 
8471
8632
  // src/components/page-content/PageContent.tsx
8472
- import * as React55 from "react";
8633
+ import * as React57 from "react";
8473
8634
 
8474
8635
  // src/components/page-content/PageContent.module.css
8475
8636
  var PageContent_default = {
@@ -8482,10 +8643,10 @@ var PageContent_default = {
8482
8643
  };
8483
8644
 
8484
8645
  // src/components/page-content/PageContent.tsx
8485
- import { jsx as jsx43 } from "react/jsx-runtime";
8486
- var PageContentRoot = React55.forwardRef(
8646
+ import { jsx as jsx44 } from "react/jsx-runtime";
8647
+ var PageContentRoot = React57.forwardRef(
8487
8648
  function PageContentRoot2({ maxWidth = "full", className, children, ...rest }, forwardedRef) {
8488
- return /* @__PURE__ */ jsx43(
8649
+ return /* @__PURE__ */ jsx44(
8489
8650
  "div",
8490
8651
  {
8491
8652
  ref: forwardedRef,
@@ -8500,25 +8661,25 @@ var PageContentRoot = React55.forwardRef(
8500
8661
  }
8501
8662
  );
8502
8663
  PageContentRoot.displayName = "PageContent.Root";
8503
- var PageContentSection = React55.forwardRef(
8664
+ var PageContentSection = React57.forwardRef(
8504
8665
  function PageContentSection2({ className, children, ...rest }, forwardedRef) {
8505
- return /* @__PURE__ */ jsx43("section", { ref: forwardedRef, className: cx(PageContent_default.section, className), ...rest, children });
8666
+ return /* @__PURE__ */ jsx44("section", { ref: forwardedRef, className: cx(PageContent_default.section, className), ...rest, children });
8506
8667
  }
8507
8668
  );
8508
8669
  PageContentSection.displayName = "PageContent.Section";
8509
8670
  function PageContentHeader({ className, children, ...rest }) {
8510
- return /* @__PURE__ */ jsx43("div", { className: cx(PageContent_default.header, className), ...rest, children });
8671
+ return /* @__PURE__ */ jsx44("div", { className: cx(PageContent_default.header, className), ...rest, children });
8511
8672
  }
8512
8673
  PageContentHeader.displayName = "PageContent.Header";
8513
- var PageContentTitle = React55.forwardRef(
8674
+ var PageContentTitle = React57.forwardRef(
8514
8675
  function PageContentTitle2({ className, children, ...rest }, forwardedRef) {
8515
- return /* @__PURE__ */ jsx43("h1", { ref: forwardedRef, className: cx(PageContent_default.title, className), ...rest, children });
8676
+ return /* @__PURE__ */ jsx44("h1", { ref: forwardedRef, className: cx(PageContent_default.title, className), ...rest, children });
8516
8677
  }
8517
8678
  );
8518
8679
  PageContentTitle.displayName = "PageContent.Title";
8519
- var PageContentDescription = React55.forwardRef(
8680
+ var PageContentDescription = React57.forwardRef(
8520
8681
  function PageContentDescription2({ className, children, measure = "readable", ...rest }, forwardedRef) {
8521
- return /* @__PURE__ */ jsx43(
8682
+ return /* @__PURE__ */ jsx44(
8522
8683
  "p",
8523
8684
  {
8524
8685
  ref: forwardedRef,
@@ -8534,7 +8695,7 @@ var PageContentDescription = React55.forwardRef(
8534
8695
  );
8535
8696
  PageContentDescription.displayName = "PageContent.Description";
8536
8697
  function PageContentBody({ className, children, ...rest }) {
8537
- return /* @__PURE__ */ jsx43("div", { className: cx(PageContent_default.body, className), ...rest, children });
8698
+ return /* @__PURE__ */ jsx44("div", { className: cx(PageContent_default.body, className), ...rest, children });
8538
8699
  }
8539
8700
  PageContentBody.displayName = "PageContent.Body";
8540
8701
  var PageContent = {
@@ -8547,17 +8708,17 @@ var PageContent = {
8547
8708
  };
8548
8709
 
8549
8710
  // src/components/popover/Popover.tsx
8550
- import * as React57 from "react";
8711
+ import * as React59 from "react";
8551
8712
 
8552
8713
  // src/components/popover/Popover.module.css
8553
8714
  var Popover_default = {
8554
- content: "Popover_content",
8715
+ popoverScroll: "Popover_popoverScroll",
8555
8716
  popoverInBottom: "Popover_popoverInBottom",
8556
8717
  popoverInTop: "Popover_popoverInTop"
8557
8718
  };
8558
8719
 
8559
8720
  // src/components/popover/usePopoverPosition.ts
8560
- import * as React56 from "react";
8721
+ import * as React58 from "react";
8561
8722
 
8562
8723
  // src/components/popover/popoverGeometry.ts
8563
8724
  var POPOVER_MIN_MAX_HEIGHT = 120;
@@ -8584,8 +8745,8 @@ function usePopoverPosition({
8584
8745
  align,
8585
8746
  sameMinWidthAsTrigger
8586
8747
  }) {
8587
- const [layout, setLayout] = React56.useState(null);
8588
- const commit = React56.useCallback(() => {
8748
+ const [layout, setLayout] = React58.useState(null);
8749
+ const commit = React58.useCallback(() => {
8589
8750
  const trigger = triggerRef.current;
8590
8751
  const panel = contentRef.current;
8591
8752
  if (!trigger || !panel) return;
@@ -8622,7 +8783,7 @@ function usePopoverPosition({
8622
8783
  };
8623
8784
  setLayout((prev) => prev && layoutEqual2(prev, next) ? prev : next);
8624
8785
  }, [triggerRef, contentRef, side, align, sameMinWidthAsTrigger]);
8625
- React56.useLayoutEffect(() => {
8786
+ React58.useLayoutEffect(() => {
8626
8787
  if (!open) {
8627
8788
  setLayout(null);
8628
8789
  return;
@@ -8659,7 +8820,7 @@ function usePopoverPosition({
8659
8820
  }
8660
8821
 
8661
8822
  // src/components/popover/Popover.tsx
8662
- import { jsx as jsx44 } from "react/jsx-runtime";
8823
+ import { jsx as jsx45 } from "react/jsx-runtime";
8663
8824
  var [PopoverProvider, usePopoverContext] = createComponentContext("Popover");
8664
8825
  function PopoverRoot({ open, defaultOpen = false, onOpenChange, children }) {
8665
8826
  const [isOpen, setIsOpen] = useControllableState({
@@ -8667,25 +8828,25 @@ function PopoverRoot({ open, defaultOpen = false, onOpenChange, children }) {
8667
8828
  defaultValue: defaultOpen,
8668
8829
  onChange: onOpenChange
8669
8830
  });
8670
- const id = React57.useId();
8831
+ const id = React59.useId();
8671
8832
  const triggerId = `${id}-trigger`;
8672
8833
  const contentId = `${id}-content`;
8673
- const triggerRef = React57.useRef(null);
8674
- const onClose = React57.useCallback(() => setIsOpen(false), [setIsOpen]);
8675
- const onToggle = React57.useCallback(() => setIsOpen((v) => !v), [setIsOpen]);
8676
- const value = React57.useMemo(
8834
+ const triggerRef = React59.useRef(null);
8835
+ const onClose = React59.useCallback(() => setIsOpen(false), [setIsOpen]);
8836
+ const onToggle = React59.useCallback(() => setIsOpen((v) => !v), [setIsOpen]);
8837
+ const value = React59.useMemo(
8677
8838
  () => ({ isOpen, onClose, onToggle, triggerId, contentId, triggerRef }),
8678
8839
  [isOpen, onClose, onToggle, triggerId, contentId]
8679
8840
  );
8680
- return /* @__PURE__ */ jsx44(PopoverProvider, { value, children });
8841
+ return /* @__PURE__ */ jsx45(PopoverProvider, { value, children });
8681
8842
  }
8682
8843
  PopoverRoot.displayName = "PopoverRoot";
8683
8844
  function PopoverTrigger({ children, asChild: _asChild = true }) {
8684
8845
  void _asChild;
8685
8846
  const { isOpen, onToggle, triggerId, contentId, triggerRef } = usePopoverContext();
8686
- const toggleRef = React57.useRef(onToggle);
8847
+ const toggleRef = React59.useRef(onToggle);
8687
8848
  toggleRef.current = onToggle;
8688
- const setNode = React57.useCallback(
8849
+ const setNode = React59.useCallback(
8689
8850
  (el) => {
8690
8851
  triggerRef.current = el;
8691
8852
  },
@@ -8693,9 +8854,9 @@ function PopoverTrigger({ children, asChild: _asChild = true }) {
8693
8854
  );
8694
8855
  const child = children;
8695
8856
  const childRef = child.props.ref ?? child.ref;
8696
- const mergedRef = React57.useMemo(() => mergeRefs(childRef, setNode), [childRef, setNode]);
8857
+ const mergedRef = React59.useMemo(() => mergeRefs(childRef, setNode), [childRef, setNode]);
8697
8858
  const userClick = child.props?.onClick;
8698
- return React57.cloneElement(child, {
8859
+ return React59.cloneElement(child, {
8699
8860
  ref: mergedRef,
8700
8861
  id: triggerId,
8701
8862
  "aria-expanded": isOpen,
@@ -8715,13 +8876,13 @@ function PopoverContent({
8715
8876
  size = "m",
8716
8877
  trapFocus = false,
8717
8878
  insetPadding = "none",
8718
- insetGap = "none",
8879
+ insetGap = "pad",
8719
8880
  children,
8720
8881
  className
8721
8882
  }) {
8722
8883
  const { isOpen, onClose, triggerRef, contentId, triggerId } = usePopoverContext();
8723
8884
  const overlayPortalLayer = useOverlayPortalLayer();
8724
- const contentRef = React57.useRef(null);
8885
+ const contentRef = React59.useRef(null);
8725
8886
  const layout = usePopoverPosition({
8726
8887
  open: isOpen,
8727
8888
  triggerRef,
@@ -8734,7 +8895,7 @@ function PopoverContent({
8734
8895
  enabled: isOpen && trapFocus,
8735
8896
  restoreFocus: true
8736
8897
  });
8737
- const ref = React57.useMemo(() => mergeRefs(contentRef, trapRef), [trapRef]);
8898
+ const ref = React59.useMemo(() => mergeRefs(contentRef, trapRef), [trapRef]);
8738
8899
  useEscapeKey({ enabled: isOpen, onEscape: onClose });
8739
8900
  useOutsideClick({
8740
8901
  refs: [triggerRef, contentRef],
@@ -8743,7 +8904,7 @@ function PopoverContent({
8743
8904
  shouldSuppressOutsideClick: (target) => isPortaledSelectListboxOwnedByContainer(target, contentRef.current)
8744
8905
  });
8745
8906
  if (!isOpen) return null;
8746
- return /* @__PURE__ */ jsx44(Portal, { children: /* @__PURE__ */ jsx44(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx44(
8907
+ return /* @__PURE__ */ jsx45(Portal, { children: /* @__PURE__ */ jsx45(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx45(
8747
8908
  ScrollContainer,
8748
8909
  {
8749
8910
  ref,
@@ -8757,7 +8918,7 @@ function PopoverContent({
8757
8918
  "data-size": size,
8758
8919
  "data-inset-padding": insetPadding,
8759
8920
  "data-inset-gap": insetGap,
8760
- className: cx(Popover_default.content, className),
8921
+ className: cx(Popover_default.popoverScroll, className),
8761
8922
  style: layout?.style,
8762
8923
  children
8763
8924
  }
@@ -8771,7 +8932,7 @@ var Popover = {
8771
8932
  };
8772
8933
 
8773
8934
  // src/components/progress-circle/ProgressCircle.tsx
8774
- import * as React58 from "react";
8935
+ import * as React60 from "react";
8775
8936
 
8776
8937
  // src/components/progress-circle/ProgressCircle.module.css
8777
8938
  var ProgressCircle_default = {
@@ -8782,12 +8943,12 @@ var ProgressCircle_default = {
8782
8943
  };
8783
8944
 
8784
8945
  // src/components/progress-circle/ProgressCircle.tsx
8785
- import { jsx as jsx45, jsxs as jsxs23 } from "react/jsx-runtime";
8946
+ import { jsx as jsx46, jsxs as jsxs23 } from "react/jsx-runtime";
8786
8947
  var pc = primitiveTokens.progressCircle;
8787
8948
  function clampProgress2(value, max) {
8788
8949
  return Math.min(max, Math.max(value, 0));
8789
8950
  }
8790
- var ProgressCircleRoot = React58.forwardRef(
8951
+ var ProgressCircleRoot = React60.forwardRef(
8791
8952
  ({ value, max = 100, size = "m", label, children, className }, ref) => {
8792
8953
  const safeMax = max > 0 ? max : 100;
8793
8954
  const safeValue = clampProgress2(value, safeMax);
@@ -8821,7 +8982,7 @@ var ProgressCircleRoot = React58.forwardRef(
8821
8982
  "aria-valuemax": safeMax,
8822
8983
  "aria-label": label,
8823
8984
  children: [
8824
- /* @__PURE__ */ jsx45(
8985
+ /* @__PURE__ */ jsx46(
8825
8986
  "circle",
8826
8987
  {
8827
8988
  cx: center,
@@ -8832,7 +8993,7 @@ var ProgressCircleRoot = React58.forwardRef(
8832
8993
  strokeWidth
8833
8994
  }
8834
8995
  ),
8835
- /* @__PURE__ */ jsx45(
8996
+ /* @__PURE__ */ jsx46(
8836
8997
  "circle",
8837
8998
  {
8838
8999
  cx: center,
@@ -8849,7 +9010,7 @@ var ProgressCircleRoot = React58.forwardRef(
8849
9010
  ]
8850
9011
  }
8851
9012
  ),
8852
- children ? /* @__PURE__ */ jsx45("div", { className: ProgressCircle_default.inner, children }) : null
9013
+ children ? /* @__PURE__ */ jsx46("div", { className: ProgressCircle_default.inner, children }) : null
8853
9014
  ]
8854
9015
  }
8855
9016
  );
@@ -8859,7 +9020,7 @@ ProgressCircleRoot.displayName = "ProgressCircleRoot";
8859
9020
  var ProgressCircle = { Root: ProgressCircleRoot };
8860
9021
 
8861
9022
  // src/components/radio/Radio.tsx
8862
- import * as React59 from "react";
9023
+ import * as React61 from "react";
8863
9024
 
8864
9025
  // src/components/radio/Radio.module.css
8865
9026
  var Radio_default = {
@@ -8875,9 +9036,9 @@ var Radio_default = {
8875
9036
  };
8876
9037
 
8877
9038
  // src/components/radio/Radio.tsx
8878
- import { jsx as jsx46, jsxs as jsxs24 } from "react/jsx-runtime";
9039
+ import { jsx as jsx47, jsxs as jsxs24 } from "react/jsx-runtime";
8879
9040
  var [RadioProvider, useRadioContext] = createComponentContext("Radio");
8880
- var RadioRoot = React59.forwardRef(
9041
+ var RadioRoot = React61.forwardRef(
8881
9042
  ({
8882
9043
  id,
8883
9044
  variant = "default",
@@ -8888,14 +9049,14 @@ var RadioRoot = React59.forwardRef(
8888
9049
  children,
8889
9050
  ...inputRest
8890
9051
  }, ref) => {
8891
- const rawId = React59.useId();
9052
+ const rawId = React61.useId();
8892
9053
  const inputId = id ?? rawId;
8893
9054
  const hintId = `${inputId}-hint`;
8894
9055
  const errorId = `${inputId}-error`;
8895
- const [hasHint, setHasHint] = React59.useState(false);
8896
- const [hasError, setHasError] = React59.useState(false);
9056
+ const [hasHint, setHasHint] = React61.useState(false);
9057
+ const [hasError, setHasError] = React61.useState(false);
8897
9058
  const invalid = variant === "error" || hasError;
8898
- const restInputPropsRef = React59.useRef(inputRest);
9059
+ const restInputPropsRef = React61.useRef(inputRest);
8899
9060
  restInputPropsRef.current = inputRest;
8900
9061
  const parts = [
8901
9062
  ariaDescribedBy,
@@ -8903,11 +9064,11 @@ var RadioRoot = React59.forwardRef(
8903
9064
  hasError ? errorId : void 0
8904
9065
  ].filter(Boolean);
8905
9066
  const describedBy = parts.length > 0 ? parts.join(" ") : void 0;
8906
- const registerHint = React59.useCallback(() => setHasHint(true), []);
8907
- const unregisterHint = React59.useCallback(() => setHasHint(false), []);
8908
- const registerError = React59.useCallback(() => setHasError(true), []);
8909
- const unregisterError = React59.useCallback(() => setHasError(false), []);
8910
- const ctxValue = React59.useMemo(
9067
+ const registerHint = React61.useCallback(() => setHasHint(true), []);
9068
+ const unregisterHint = React61.useCallback(() => setHasHint(false), []);
9069
+ const registerError = React61.useCallback(() => setHasError(true), []);
9070
+ const unregisterError = React61.useCallback(() => setHasError(false), []);
9071
+ const ctxValue = React61.useMemo(
8911
9072
  () => ({
8912
9073
  inputId,
8913
9074
  hintId,
@@ -8938,7 +9099,7 @@ var RadioRoot = React59.forwardRef(
8938
9099
  unregisterError
8939
9100
  ]
8940
9101
  );
8941
- return /* @__PURE__ */ jsx46(RadioProvider, { value: ctxValue, children: /* @__PURE__ */ jsx46(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx46(
9102
+ return /* @__PURE__ */ jsx47(RadioProvider, { value: ctxValue, children: /* @__PURE__ */ jsx47(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx47(
8942
9103
  "div",
8943
9104
  {
8944
9105
  className: cx(Radio_default.field, className),
@@ -8954,9 +9115,9 @@ var RadioRoot = React59.forwardRef(
8954
9115
  }
8955
9116
  );
8956
9117
  RadioRoot.displayName = "RadioRoot";
8957
- var RadioLabel = React59.forwardRef(function RadioLabel2({ children, className, ...rest }, ref) {
9118
+ var RadioLabel = React61.forwardRef(function RadioLabel2({ children, className, ...rest }, ref) {
8958
9119
  const { inputId, inputRef, invalid, disabled, describedBy, restInputPropsRef, size } = useRadioContext();
8959
- const filterId = React59.useId();
9120
+ const filterId = React61.useId();
8960
9121
  const svgFilterId = `es-radio-${filterId.replace(/:/g, "")}`;
8961
9122
  return /* @__PURE__ */ jsxs24(
8962
9123
  Label.Root,
@@ -8969,7 +9130,7 @@ var RadioLabel = React59.forwardRef(function RadioLabel2({ children, className,
8969
9130
  ...rest,
8970
9131
  children: [
8971
9132
  /* @__PURE__ */ jsxs24("span", { className: Radio_default.controlCell, children: [
8972
- /* @__PURE__ */ jsx46(
9133
+ /* @__PURE__ */ jsx47(
8973
9134
  "input",
8974
9135
  {
8975
9136
  ref: inputRef,
@@ -8983,8 +9144,8 @@ var RadioLabel = React59.forwardRef(function RadioLabel2({ children, className,
8983
9144
  }
8984
9145
  ),
8985
9146
  /* @__PURE__ */ jsxs24("svg", { viewBox: "0 0 18 18", className: Radio_default.svg, "aria-hidden": "true", children: [
8986
- /* @__PURE__ */ jsx46("defs", { children: /* @__PURE__ */ jsx46("filter", { id: svgFilterId, children: /* @__PURE__ */ jsx46("feDropShadow", { dx: "0", dy: "1", stdDeviation: "0.5", floodOpacity: "0.10" }) }) }),
8987
- /* @__PURE__ */ jsx46(
9147
+ /* @__PURE__ */ jsx47("defs", { children: /* @__PURE__ */ jsx47("filter", { id: svgFilterId, children: /* @__PURE__ */ jsx47("feDropShadow", { dx: "0", dy: "1", stdDeviation: "0.5", floodOpacity: "0.10" }) }) }),
9148
+ /* @__PURE__ */ jsx47(
8988
9149
  "circle",
8989
9150
  {
8990
9151
  cx: "9",
@@ -8994,10 +9155,10 @@ var RadioLabel = React59.forwardRef(function RadioLabel2({ children, className,
8994
9155
  filter: `url(#${svgFilterId})`
8995
9156
  }
8996
9157
  ),
8997
- /* @__PURE__ */ jsx46("circle", { cx: "9", cy: "9", r: "4", className: Radio_default.innerCircle })
9158
+ /* @__PURE__ */ jsx47("circle", { cx: "9", cy: "9", r: "4", className: Radio_default.innerCircle })
8998
9159
  ] })
8999
9160
  ] }),
9000
- children !== void 0 && children !== null ? /* @__PURE__ */ jsx46("span", { className: Radio_default.text, children }) : null
9161
+ children !== void 0 && children !== null ? /* @__PURE__ */ jsx47("span", { className: Radio_default.text, children }) : null
9001
9162
  ]
9002
9163
  }
9003
9164
  );
@@ -9005,13 +9166,13 @@ var RadioLabel = React59.forwardRef(function RadioLabel2({ children, className,
9005
9166
  RadioLabel.displayName = "RadioLabel";
9006
9167
  function RadioHint({ children, className, ...rest }) {
9007
9168
  const { hintId, registerHint, unregisterHint, size, disabled } = useRadioContext();
9008
- React59.useLayoutEffect(() => {
9169
+ React61.useLayoutEffect(() => {
9009
9170
  registerHint();
9010
9171
  return () => {
9011
9172
  unregisterHint();
9012
9173
  };
9013
9174
  }, [registerHint, unregisterHint]);
9014
- return /* @__PURE__ */ jsx46(
9175
+ return /* @__PURE__ */ jsx47(
9015
9176
  Hint.Root,
9016
9177
  {
9017
9178
  id: hintId,
@@ -9026,13 +9187,13 @@ function RadioHint({ children, className, ...rest }) {
9026
9187
  RadioHint.displayName = "RadioHint";
9027
9188
  function RadioError({ children, className, ...rest }) {
9028
9189
  const { errorId, registerError, unregisterError, size } = useRadioContext();
9029
- React59.useLayoutEffect(() => {
9190
+ React61.useLayoutEffect(() => {
9030
9191
  registerError();
9031
9192
  return () => {
9032
9193
  unregisterError();
9033
9194
  };
9034
9195
  }, [registerError, unregisterError]);
9035
- return /* @__PURE__ */ jsx46(
9196
+ return /* @__PURE__ */ jsx47(
9036
9197
  Hint.Root,
9037
9198
  {
9038
9199
  id: errorId,
@@ -9053,7 +9214,7 @@ var Radio = {
9053
9214
  };
9054
9215
 
9055
9216
  // src/components/segmented-progress-bar/SegmentedProgressBar.tsx
9056
- import * as React60 from "react";
9217
+ import * as React62 from "react";
9057
9218
 
9058
9219
  // src/components/segmented-progress-bar/SegmentedProgressBar.module.css
9059
9220
  var SegmentedProgressBar_default = {
@@ -9065,7 +9226,7 @@ var SegmentedProgressBar_default = {
9065
9226
  };
9066
9227
 
9067
9228
  // src/components/segmented-progress-bar/SegmentedProgressBar.tsx
9068
- import { jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
9229
+ import { jsx as jsx48, jsxs as jsxs25 } from "react/jsx-runtime";
9069
9230
  function clampNonNegative(n) {
9070
9231
  return Number.isFinite(n) && n > 0 ? n : 0;
9071
9232
  }
@@ -9082,15 +9243,15 @@ function buildDistributionDescription(segments, total) {
9082
9243
  });
9083
9244
  return parts.join(", ");
9084
9245
  }
9085
- var SegmentedProgressBarRoot = React60.forwardRef(
9246
+ var SegmentedProgressBarRoot = React62.forwardRef(
9086
9247
  ({ segments, label, size = "m", segmentGap = "none", className }, ref) => {
9087
- const labelId = React60.useId();
9088
- const descriptionId = React60.useId();
9089
- const safe = React60.useMemo(
9248
+ const labelId = React62.useId();
9249
+ const descriptionId = React62.useId();
9250
+ const safe = React62.useMemo(
9090
9251
  () => segments.map((s) => ({ ...s, value: clampNonNegative(s.value) })),
9091
9252
  [segments]
9092
9253
  );
9093
- const total = React60.useMemo(() => safe.reduce((acc, s) => acc + s.value, 0), [safe]);
9254
+ const total = React62.useMemo(() => safe.reduce((acc, s) => acc + s.value, 0), [safe]);
9094
9255
  const distributionText = buildDistributionDescription(safe, total);
9095
9256
  const trackA11y = label ? { "aria-labelledby": labelId, "aria-describedby": descriptionId } : { "aria-label": distributionText };
9096
9257
  return /* @__PURE__ */ jsxs25(
@@ -9099,10 +9260,10 @@ var SegmentedProgressBarRoot = React60.forwardRef(
9099
9260
  className: cx(SegmentedProgressBar_default.root, className),
9100
9261
  ...toDataAttributes({ size, "segment-gap": segmentGap }),
9101
9262
  children: [
9102
- label ? /* @__PURE__ */ jsx47("span", { className: SegmentedProgressBar_default.label, id: labelId, children: label }) : null,
9103
- label ? /* @__PURE__ */ jsx47("span", { id: descriptionId, className: SegmentedProgressBar_default.visuallyHidden, children: distributionText }) : null,
9104
- /* @__PURE__ */ jsx47("div", { ref, className: SegmentedProgressBar_default.track, role: "group", ...trackA11y, children: total > 0 ? safe.map((seg, i) => {
9105
- return /* @__PURE__ */ jsx47(
9263
+ label ? /* @__PURE__ */ jsx48("span", { className: SegmentedProgressBar_default.label, id: labelId, children: label }) : null,
9264
+ label ? /* @__PURE__ */ jsx48("span", { id: descriptionId, className: SegmentedProgressBar_default.visuallyHidden, children: distributionText }) : null,
9265
+ /* @__PURE__ */ jsx48("div", { ref, className: SegmentedProgressBar_default.track, role: "group", ...trackA11y, children: total > 0 ? safe.map((seg, i) => {
9266
+ return /* @__PURE__ */ jsx48(
9106
9267
  "div",
9107
9268
  {
9108
9269
  className: SegmentedProgressBar_default.segment,
@@ -9122,7 +9283,7 @@ SegmentedProgressBarRoot.displayName = "SegmentedProgressBarRoot";
9122
9283
  var SegmentedProgressBar = { Root: SegmentedProgressBarRoot };
9123
9284
 
9124
9285
  // src/components/slider/Slider.tsx
9125
- import * as React61 from "react";
9286
+ import * as React63 from "react";
9126
9287
 
9127
9288
  // src/components/slider/Slider.module.css
9128
9289
  var Slider_default = {
@@ -9132,7 +9293,7 @@ var Slider_default = {
9132
9293
  };
9133
9294
 
9134
9295
  // src/components/slider/Slider.tsx
9135
- import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
9296
+ import { jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
9136
9297
  function clamp2(n, min, max) {
9137
9298
  return Math.min(max, Math.max(min, n));
9138
9299
  }
@@ -9158,7 +9319,7 @@ function SliderRoot({
9158
9319
  defaultValue: clamp2(initialDefault, min, max),
9159
9320
  onChange
9160
9321
  });
9161
- const id = React61.useId();
9322
+ const id = React63.useId();
9162
9323
  const safeValue = clamp2(value, min, max);
9163
9324
  const applyValueFromInput = (el) => {
9164
9325
  const next = Number.parseFloat(el.value);
@@ -9173,9 +9334,9 @@ function SliderRoot({
9173
9334
  const handleRangeInput = (e) => {
9174
9335
  applyValueFromInput(e.currentTarget);
9175
9336
  };
9176
- return /* @__PURE__ */ jsx48("div", { className: cx(Slider_default.root, className), ...toDataAttributes({ size }), children: /* @__PURE__ */ jsxs26(ControlSizeProvider, { value: size, children: [
9177
- label ? /* @__PURE__ */ jsx48("label", { className: Slider_default.label, htmlFor: id, children: label }) : null,
9178
- /* @__PURE__ */ jsx48(
9337
+ return /* @__PURE__ */ jsx49("div", { className: cx(Slider_default.root, className), ...toDataAttributes({ size }), children: /* @__PURE__ */ jsxs26(ControlSizeProvider, { value: size, children: [
9338
+ label ? /* @__PURE__ */ jsx49("label", { className: Slider_default.label, htmlFor: id, children: label }) : null,
9339
+ /* @__PURE__ */ jsx49(
9179
9340
  "input",
9180
9341
  {
9181
9342
  id: label ? id : void 0,
@@ -9197,7 +9358,7 @@ SliderRoot.displayName = "SliderRoot";
9197
9358
  var Slider2 = { Root: SliderRoot };
9198
9359
 
9199
9360
  // src/components/stepper/HorizontalStepper.tsx
9200
- import * as React62 from "react";
9361
+ import * as React64 from "react";
9201
9362
 
9202
9363
  // src/components/stepper/StepperAlign.module.css
9203
9364
  var StepperAlign_default = {
@@ -9215,10 +9376,10 @@ var StepperAlign_default = {
9215
9376
  };
9216
9377
 
9217
9378
  // src/components/stepper/stepperAlignContext.tsx
9218
- import { jsx as jsx49 } from "react/jsx-runtime";
9379
+ import { jsx as jsx50 } from "react/jsx-runtime";
9219
9380
  var [StepperAlignItemProvider, useStepperAlignItemState] = createComponentContext("StepperAlign.Item");
9220
9381
  function StepperAlignCheckIcon({ className }) {
9221
- return /* @__PURE__ */ jsx49(
9382
+ return /* @__PURE__ */ jsx50(
9222
9383
  "svg",
9223
9384
  {
9224
9385
  className,
@@ -9226,7 +9387,7 @@ function StepperAlignCheckIcon({ className }) {
9226
9387
  xmlns: "http://www.w3.org/2000/svg",
9227
9388
  fill: "none",
9228
9389
  "aria-hidden": "true",
9229
- children: /* @__PURE__ */ jsx49(
9390
+ children: /* @__PURE__ */ jsx50(
9230
9391
  "path",
9231
9392
  {
9232
9393
  fill: "currentColor",
@@ -9238,14 +9399,14 @@ function StepperAlignCheckIcon({ className }) {
9238
9399
  }
9239
9400
 
9240
9401
  // src/components/stepper/HorizontalStepper.tsx
9241
- import { jsx as jsx50 } from "react/jsx-runtime";
9402
+ import { jsx as jsx51 } from "react/jsx-runtime";
9242
9403
  function HorizontalStepperRoot({
9243
9404
  className,
9244
9405
  size = "m",
9245
9406
  children,
9246
9407
  ...rest
9247
9408
  }) {
9248
- return /* @__PURE__ */ jsx50(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx50("div", { className: cx(StepperAlign_default.hRoot, className), "data-size": size, ...rest, children }) });
9409
+ return /* @__PURE__ */ jsx51(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.hRoot, className), "data-size": size, ...rest, children }) });
9249
9410
  }
9250
9411
  HorizontalStepperRoot.displayName = "HorizontalStepper.Root";
9251
9412
  function HorizontalStepperSeparatorIcon({
@@ -9254,12 +9415,12 @@ function HorizontalStepperSeparatorIcon({
9254
9415
  ...rest
9255
9416
  }) {
9256
9417
  const Component = as ?? IconChevronRight;
9257
- return /* @__PURE__ */ jsx50("span", { className: StepperAlign_default.hSeparator, "aria-hidden": "true", children: /* @__PURE__ */ jsx50(Component, { className: cx(StepperAlign_default.hSeparatorIcon, className), strokeWidth: 2, ...rest }) });
9418
+ return /* @__PURE__ */ jsx51("span", { className: StepperAlign_default.hSeparator, "aria-hidden": "true", children: /* @__PURE__ */ jsx51(Component, { className: cx(StepperAlign_default.hSeparatorIcon, className), strokeWidth: 2, ...rest }) });
9258
9419
  }
9259
9420
  HorizontalStepperSeparatorIcon.displayName = "HorizontalStepper.SeparatorIcon";
9260
- var HorizontalStepperItem = React62.forwardRef(
9421
+ var HorizontalStepperItem = React64.forwardRef(
9261
9422
  function HorizontalStepperItem2({ state = "default", className, type = "button", children, ...rest }, ref) {
9262
- return /* @__PURE__ */ jsx50(StepperAlignItemProvider, { value: { state }, children: /* @__PURE__ */ jsx50(
9423
+ return /* @__PURE__ */ jsx51(StepperAlignItemProvider, { value: { state }, children: /* @__PURE__ */ jsx51(
9263
9424
  "button",
9264
9425
  {
9265
9426
  ref,
@@ -9282,9 +9443,9 @@ function HorizontalStepperItemIndicator({
9282
9443
  const { state: ctxState } = useStepperAlignItemState();
9283
9444
  const state = stateProp ?? ctxState;
9284
9445
  if (state === "completed") {
9285
- return /* @__PURE__ */ jsx50("div", { className: cx(StepperAlign_default.hIndicator, className), "data-state": state, ...rest, children: /* @__PURE__ */ jsx50(StepperAlignCheckIcon, { className: StepperAlign_default.hCheck }) });
9446
+ return /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.hIndicator, className), "data-state": state, ...rest, children: /* @__PURE__ */ jsx51(StepperAlignCheckIcon, { className: StepperAlign_default.hCheck }) });
9286
9447
  }
9287
- return /* @__PURE__ */ jsx50("div", { className: cx(StepperAlign_default.hIndicator, className), "data-state": state, ...rest, children });
9448
+ return /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.hIndicator, className), "data-state": state, ...rest, children });
9288
9449
  }
9289
9450
  HorizontalStepperItemIndicator.displayName = "HorizontalStepper.ItemIndicator";
9290
9451
  var HorizontalStepper = {
@@ -9295,7 +9456,7 @@ var HorizontalStepper = {
9295
9456
  };
9296
9457
 
9297
9458
  // src/components/stepper/Stepper.tsx
9298
- import * as React64 from "react";
9459
+ import * as React66 from "react";
9299
9460
 
9300
9461
  // src/components/stepper/Stepper.module.css
9301
9462
  var Stepper_default = {
@@ -9308,15 +9469,15 @@ var Stepper_default = {
9308
9469
  };
9309
9470
 
9310
9471
  // src/components/stepper/VerticalStepper.tsx
9311
- import * as React63 from "react";
9312
- import { jsx as jsx51 } from "react/jsx-runtime";
9472
+ import * as React65 from "react";
9473
+ import { jsx as jsx52 } from "react/jsx-runtime";
9313
9474
  function VerticalStepperRoot({
9314
9475
  className,
9315
9476
  size = "m",
9316
9477
  children,
9317
9478
  ...rest
9318
9479
  }) {
9319
- return /* @__PURE__ */ jsx51(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.vRoot, className), "data-size": size, ...rest, children }) });
9480
+ return /* @__PURE__ */ jsx52(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx52("div", { className: cx(StepperAlign_default.vRoot, className), "data-size": size, ...rest, children }) });
9320
9481
  }
9321
9482
  VerticalStepperRoot.displayName = "VerticalStepper.Root";
9322
9483
  function VerticalStepperArrow({
@@ -9325,12 +9486,12 @@ function VerticalStepperArrow({
9325
9486
  ...rest
9326
9487
  }) {
9327
9488
  const Component = as ?? IconChevronRight;
9328
- return /* @__PURE__ */ jsx51(Component, { className: cx(StepperAlign_default.vArrow, className), strokeWidth: 2, ...rest });
9489
+ return /* @__PURE__ */ jsx52(Component, { className: cx(StepperAlign_default.vArrow, className), strokeWidth: 2, ...rest });
9329
9490
  }
9330
9491
  VerticalStepperArrow.displayName = "VerticalStepper.Arrow";
9331
- var VerticalStepperItem = React63.forwardRef(
9492
+ var VerticalStepperItem = React65.forwardRef(
9332
9493
  function VerticalStepperItem2({ state = "default", className, type = "button", children, ...rest }, ref) {
9333
- return /* @__PURE__ */ jsx51(StepperAlignItemProvider, { value: { state }, children: /* @__PURE__ */ jsx51(
9494
+ return /* @__PURE__ */ jsx52(StepperAlignItemProvider, { value: { state }, children: /* @__PURE__ */ jsx52(
9334
9495
  "button",
9335
9496
  {
9336
9497
  ref,
@@ -9353,9 +9514,9 @@ function VerticalStepperItemIndicator({
9353
9514
  const { state: ctxState } = useStepperAlignItemState();
9354
9515
  const state = stateProp ?? ctxState;
9355
9516
  if (state === "completed") {
9356
- return /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.vIndicator, className), "data-state": state, ...rest, children: /* @__PURE__ */ jsx51(StepperAlignCheckIcon, { className: StepperAlign_default.vCheck }) });
9517
+ return /* @__PURE__ */ jsx52("div", { className: cx(StepperAlign_default.vIndicator, className), "data-state": state, ...rest, children: /* @__PURE__ */ jsx52(StepperAlignCheckIcon, { className: StepperAlign_default.vCheck }) });
9357
9518
  }
9358
- return /* @__PURE__ */ jsx51("div", { className: cx(StepperAlign_default.vIndicator, className), "data-state": state, ...rest, children });
9519
+ return /* @__PURE__ */ jsx52("div", { className: cx(StepperAlign_default.vIndicator, className), "data-state": state, ...rest, children });
9359
9520
  }
9360
9521
  VerticalStepperItemIndicator.displayName = "VerticalStepper.ItemIndicator";
9361
9522
  var VerticalStepper = {
@@ -9366,7 +9527,7 @@ var VerticalStepper = {
9366
9527
  };
9367
9528
 
9368
9529
  // src/components/stepper/Stepper.tsx
9369
- import { jsx as jsx52, jsxs as jsxs27 } from "react/jsx-runtime";
9530
+ import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
9370
9531
  var [StepperRootProvider, useStepperRootContext] = createComponentContext("Stepper");
9371
9532
  var [StepperStepProvider, useStepperStepContext] = createComponentContext("Stepper.Step");
9372
9533
  function toAlignState(status) {
@@ -9386,18 +9547,18 @@ function StepperRoot({
9386
9547
  children,
9387
9548
  className
9388
9549
  }) {
9389
- const indexRef = React64.useRef(0);
9550
+ const indexRef = React66.useRef(0);
9390
9551
  indexRef.current = 0;
9391
- const getNextStepIndex = React64.useCallback(() => {
9552
+ const getNextStepIndex = React66.useCallback(() => {
9392
9553
  const idx = indexRef.current;
9393
9554
  indexRef.current += 1;
9394
9555
  return idx;
9395
9556
  }, []);
9396
- const value = React64.useMemo(
9557
+ const value = React66.useMemo(
9397
9558
  () => ({ orientation, currentStep, getNextStepIndex }),
9398
9559
  [orientation, currentStep, getNextStepIndex]
9399
9560
  );
9400
- return /* @__PURE__ */ jsx52(StepperRootProvider, { value, children: /* @__PURE__ */ jsx52(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx52(
9561
+ return /* @__PURE__ */ jsx53(StepperRootProvider, { value, children: /* @__PURE__ */ jsx53(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx53(
9401
9562
  "ol",
9402
9563
  {
9403
9564
  className: cx(
@@ -9412,11 +9573,11 @@ function StepperRoot({
9412
9573
  }
9413
9574
  StepperRoot.displayName = "Stepper.Root";
9414
9575
  function StepperSeparatorIcon({ className }) {
9415
- return /* @__PURE__ */ jsx52("li", { className: Stepper_default.separatorLi, "aria-hidden": "true", children: /* @__PURE__ */ jsx52(HorizontalStepper.SeparatorIcon, { className }) });
9576
+ return /* @__PURE__ */ jsx53("li", { className: Stepper_default.separatorLi, "aria-hidden": "true", children: /* @__PURE__ */ jsx53(HorizontalStepper.SeparatorIcon, { className }) });
9416
9577
  }
9417
9578
  StepperSeparatorIcon.displayName = "Stepper.SeparatorIcon";
9418
9579
  function StepperArrow({ className, ...rest }) {
9419
- return /* @__PURE__ */ jsx52(VerticalStepper.Arrow, { className, ...rest });
9580
+ return /* @__PURE__ */ jsx53(VerticalStepper.Arrow, { className, ...rest });
9420
9581
  }
9421
9582
  StepperArrow.displayName = "Stepper.Arrow";
9422
9583
  function StepperIndicator({ children, className }) {
@@ -9425,8 +9586,8 @@ function StepperIndicator({ children, className }) {
9425
9586
  const alignState = toAlignState(status);
9426
9587
  const indClass = orientation === "horizontal" ? StepperAlign_default.hIndicator : StepperAlign_default.vIndicator;
9427
9588
  const checkClass = orientation === "horizontal" ? StepperAlign_default.hCheck : StepperAlign_default.vCheck;
9428
- const defaultChild = status === "completed" ? /* @__PURE__ */ jsx52(StepperAlignCheckIcon, { className: checkClass }) : String(index + 1);
9429
- return /* @__PURE__ */ jsx52(
9589
+ const defaultChild = status === "completed" ? /* @__PURE__ */ jsx53(StepperAlignCheckIcon, { className: checkClass }) : String(index + 1);
9590
+ return /* @__PURE__ */ jsx53(
9430
9591
  "span",
9431
9592
  {
9432
9593
  className: cx(indClass, className),
@@ -9440,18 +9601,18 @@ function StepperIndicator({ children, className }) {
9440
9601
  StepperIndicator.displayName = "Stepper.Indicator";
9441
9602
  function StepperContent({ title, description, className }) {
9442
9603
  return /* @__PURE__ */ jsxs27("div", { className: cx(Stepper_default.content, className), children: [
9443
- /* @__PURE__ */ jsx52("div", { className: Stepper_default.title, children: title }),
9444
- description ? /* @__PURE__ */ jsx52("p", { className: Stepper_default.description, children: description }) : null
9604
+ /* @__PURE__ */ jsx53("div", { className: Stepper_default.title, children: title }),
9605
+ description ? /* @__PURE__ */ jsx53("p", { className: Stepper_default.description, children: description }) : null
9445
9606
  ] });
9446
9607
  }
9447
9608
  StepperContent.displayName = "Stepper.Content";
9448
- var StepperStep = React64.forwardRef(function StepperStep2({ index: indexProp, status: statusProp, children, className, disabled, type = "button", ...rest }, ref) {
9609
+ var StepperStep = React66.forwardRef(function StepperStep2({ index: indexProp, status: statusProp, children, className, disabled, type = "button", ...rest }, ref) {
9449
9610
  const { currentStep, orientation, getNextStepIndex } = useStepperRootContext();
9450
9611
  const index = indexProp ?? getNextStepIndex();
9451
9612
  const status = statusProp ?? computeStepStatus(index, currentStep);
9452
9613
  const alignState = toAlignState(status);
9453
9614
  const itemClass = orientation === "horizontal" ? StepperAlign_default.hItem : StepperAlign_default.vItem;
9454
- return /* @__PURE__ */ jsx52(StepperStepProvider, { value: { status, index }, children: /* @__PURE__ */ jsx52(StepperAlignItemProvider, { value: { state: alignState }, children: /* @__PURE__ */ jsx52("li", { className: Stepper_default.stepLi, "data-status": status, children: /* @__PURE__ */ jsx52(
9615
+ return /* @__PURE__ */ jsx53(StepperStepProvider, { value: { status, index }, children: /* @__PURE__ */ jsx53(StepperAlignItemProvider, { value: { state: alignState }, children: /* @__PURE__ */ jsx53("li", { className: Stepper_default.stepLi, "data-status": status, children: /* @__PURE__ */ jsx53(
9455
9616
  "button",
9456
9617
  {
9457
9618
  ref,
@@ -9479,7 +9640,7 @@ var Stepper = {
9479
9640
  };
9480
9641
 
9481
9642
  // src/components/switch/Switch.tsx
9482
- import * as React65 from "react";
9643
+ import * as React67 from "react";
9483
9644
 
9484
9645
  // src/components/switch/Switch.module.css
9485
9646
  var Switch_default = {
@@ -9493,9 +9654,9 @@ var Switch_default = {
9493
9654
  };
9494
9655
 
9495
9656
  // src/components/switch/Switch.tsx
9496
- import { jsx as jsx53, jsxs as jsxs28 } from "react/jsx-runtime";
9657
+ import { jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
9497
9658
  var [SwitchProvider, useSwitchContext] = createComponentContext("Switch");
9498
- var SwitchRoot = React65.forwardRef(
9659
+ var SwitchRoot = React67.forwardRef(
9499
9660
  ({
9500
9661
  id,
9501
9662
  checked,
@@ -9510,19 +9671,19 @@ var SwitchRoot = React65.forwardRef(
9510
9671
  children,
9511
9672
  ...inputRest
9512
9673
  }, ref) => {
9513
- const rawId = React65.useId();
9674
+ const rawId = React67.useId();
9514
9675
  const inputId = id ?? rawId;
9515
9676
  const hintId = `${inputId}-hint`;
9516
9677
  const errorId = `${inputId}-error`;
9517
- const [hasHint, setHasHint] = React65.useState(false);
9518
- const [hasError, setHasError] = React65.useState(false);
9678
+ const [hasHint, setHasHint] = React67.useState(false);
9679
+ const [hasError, setHasError] = React67.useState(false);
9519
9680
  const invalid = variant === "error" || hasError;
9520
9681
  const [isChecked, setChecked] = useControllableState({
9521
9682
  value: checked,
9522
9683
  defaultValue: defaultChecked,
9523
9684
  onChange: onCheckedChange
9524
9685
  });
9525
- const handleChange = React65.useCallback(
9686
+ const handleChange = React67.useCallback(
9526
9687
  (e) => {
9527
9688
  if (readOnly) {
9528
9689
  e.preventDefault();
@@ -9532,7 +9693,7 @@ var SwitchRoot = React65.forwardRef(
9532
9693
  },
9533
9694
  [readOnly, setChecked]
9534
9695
  );
9535
- const restInputPropsRef = React65.useRef(inputRest);
9696
+ const restInputPropsRef = React67.useRef(inputRest);
9536
9697
  restInputPropsRef.current = inputRest;
9537
9698
  const parts = [
9538
9699
  ariaDescribedBy,
@@ -9540,11 +9701,11 @@ var SwitchRoot = React65.forwardRef(
9540
9701
  hasError ? errorId : void 0
9541
9702
  ].filter(Boolean);
9542
9703
  const describedBy = parts.length > 0 ? parts.join(" ") : void 0;
9543
- const registerHint = React65.useCallback(() => setHasHint(true), []);
9544
- const unregisterHint = React65.useCallback(() => setHasHint(false), []);
9545
- const registerError = React65.useCallback(() => setHasError(true), []);
9546
- const unregisterError = React65.useCallback(() => setHasError(false), []);
9547
- const ctxValue = React65.useMemo(
9704
+ const registerHint = React67.useCallback(() => setHasHint(true), []);
9705
+ const unregisterHint = React67.useCallback(() => setHasHint(false), []);
9706
+ const registerError = React67.useCallback(() => setHasError(true), []);
9707
+ const unregisterError = React67.useCallback(() => setHasError(false), []);
9708
+ const ctxValue = React67.useMemo(
9548
9709
  () => ({
9549
9710
  inputId,
9550
9711
  hintId,
@@ -9581,7 +9742,7 @@ var SwitchRoot = React65.forwardRef(
9581
9742
  unregisterError
9582
9743
  ]
9583
9744
  );
9584
- return /* @__PURE__ */ jsx53(SwitchProvider, { value: ctxValue, children: /* @__PURE__ */ jsx53(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx53(
9745
+ return /* @__PURE__ */ jsx54(SwitchProvider, { value: ctxValue, children: /* @__PURE__ */ jsx54(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsx54(
9585
9746
  "div",
9586
9747
  {
9587
9748
  className: cx(Switch_default.field, className),
@@ -9599,7 +9760,7 @@ var SwitchRoot = React65.forwardRef(
9599
9760
  }
9600
9761
  );
9601
9762
  SwitchRoot.displayName = "SwitchRoot";
9602
- var SwitchLabel = React65.forwardRef(function SwitchLabel2({ children, className, ...rest }, ref) {
9763
+ var SwitchLabel = React67.forwardRef(function SwitchLabel2({ children, className, ...rest }, ref) {
9603
9764
  const {
9604
9765
  inputId,
9605
9766
  inputRef,
@@ -9623,7 +9784,7 @@ var SwitchLabel = React65.forwardRef(function SwitchLabel2({ children, className
9623
9784
  ...rest,
9624
9785
  children: [
9625
9786
  /* @__PURE__ */ jsxs28("span", { className: Switch_default.controlCell, children: [
9626
- /* @__PURE__ */ jsx53(
9787
+ /* @__PURE__ */ jsx54(
9627
9788
  "input",
9628
9789
  {
9629
9790
  ref: inputRef,
@@ -9641,9 +9802,9 @@ var SwitchLabel = React65.forwardRef(function SwitchLabel2({ children, className
9641
9802
  ...restInputPropsRef.current
9642
9803
  }
9643
9804
  ),
9644
- /* @__PURE__ */ jsx53("span", { className: Switch_default.track, "aria-hidden": "true" })
9805
+ /* @__PURE__ */ jsx54("span", { className: Switch_default.track, "aria-hidden": "true" })
9645
9806
  ] }),
9646
- children !== void 0 && children !== null ? /* @__PURE__ */ jsx53("span", { className: Switch_default.text, children }) : null
9807
+ children !== void 0 && children !== null ? /* @__PURE__ */ jsx54("span", { className: Switch_default.text, children }) : null
9647
9808
  ]
9648
9809
  }
9649
9810
  );
@@ -9651,13 +9812,13 @@ var SwitchLabel = React65.forwardRef(function SwitchLabel2({ children, className
9651
9812
  SwitchLabel.displayName = "SwitchLabel";
9652
9813
  function SwitchHint({ children, className, ...rest }) {
9653
9814
  const { hintId, registerHint, unregisterHint, size, disabled } = useSwitchContext();
9654
- React65.useLayoutEffect(() => {
9815
+ React67.useLayoutEffect(() => {
9655
9816
  registerHint();
9656
9817
  return () => {
9657
9818
  unregisterHint();
9658
9819
  };
9659
9820
  }, [registerHint, unregisterHint]);
9660
- return /* @__PURE__ */ jsx53(
9821
+ return /* @__PURE__ */ jsx54(
9661
9822
  Hint.Root,
9662
9823
  {
9663
9824
  id: hintId,
@@ -9672,13 +9833,13 @@ function SwitchHint({ children, className, ...rest }) {
9672
9833
  SwitchHint.displayName = "SwitchHint";
9673
9834
  function SwitchError({ children, className, ...rest }) {
9674
9835
  const { errorId, registerError, unregisterError, size } = useSwitchContext();
9675
- React65.useLayoutEffect(() => {
9836
+ React67.useLayoutEffect(() => {
9676
9837
  registerError();
9677
9838
  return () => {
9678
9839
  unregisterError();
9679
9840
  };
9680
9841
  }, [registerError, unregisterError]);
9681
- return /* @__PURE__ */ jsx53(
9842
+ return /* @__PURE__ */ jsx54(
9682
9843
  Hint.Root,
9683
9844
  {
9684
9845
  id: errorId,
@@ -9699,7 +9860,7 @@ var Switch = {
9699
9860
  };
9700
9861
 
9701
9862
  // src/components/tabs/Tabs.tsx
9702
- import * as React66 from "react";
9863
+ import * as React68 from "react";
9703
9864
 
9704
9865
  // src/components/tabs/Tabs.module.css
9705
9866
  var Tabs_default = {
@@ -9715,7 +9876,7 @@ var Tabs_default = {
9715
9876
  };
9716
9877
 
9717
9878
  // src/components/tabs/Tabs.tsx
9718
- import { jsx as jsx54, jsxs as jsxs29 } from "react/jsx-runtime";
9879
+ import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
9719
9880
  var [TabsProvider, useTabsContext] = createComponentContext("Tabs");
9720
9881
  function TabsRoot({
9721
9882
  value,
@@ -9726,29 +9887,29 @@ function TabsRoot({
9726
9887
  children,
9727
9888
  className
9728
9889
  }) {
9729
- const rootId = React66.useId();
9890
+ const rootId = React68.useId();
9730
9891
  const [activeValue, setActiveValue] = useControllableState({
9731
9892
  value,
9732
9893
  defaultValue,
9733
9894
  onChange: onValueChange
9734
9895
  });
9735
- const contextValue = React66.useMemo(
9896
+ const contextValue = React68.useMemo(
9736
9897
  () => ({ activeValue, onSelect: setActiveValue, orientation, rootId, size }),
9737
9898
  [activeValue, setActiveValue, orientation, rootId, size]
9738
9899
  );
9739
- return /* @__PURE__ */ jsx54(TabsProvider, { value: contextValue, children: /* @__PURE__ */ jsx54("div", { className: cx(Tabs_default.root, className), "data-orientation": orientation, "data-size": size, children }) });
9900
+ return /* @__PURE__ */ jsx55(TabsProvider, { value: contextValue, children: /* @__PURE__ */ jsx55("div", { className: cx(Tabs_default.root, className), "data-orientation": orientation, "data-size": size, children }) });
9740
9901
  }
9741
9902
  TabsRoot.displayName = "TabsRoot";
9742
9903
  function TabsList({ children, className }) {
9743
9904
  const { orientation, rootId, activeValue, onSelect, size } = useTabsContext();
9744
- const listRef = React66.useRef(null);
9745
- const [indicator, setIndicator] = React66.useState({
9905
+ const listRef = React68.useRef(null);
9906
+ const [indicator, setIndicator] = React68.useState({
9746
9907
  left: 0,
9747
9908
  top: 0,
9748
9909
  width: 0,
9749
9910
  height: 0
9750
9911
  });
9751
- const updateIndicator = React66.useCallback(() => {
9912
+ const updateIndicator = React68.useCallback(() => {
9752
9913
  const list = listRef.current;
9753
9914
  if (!list) return;
9754
9915
  const active = list.querySelector('[role="tab"][aria-selected="true"]');
@@ -9763,7 +9924,7 @@ function TabsList({ children, className }) {
9763
9924
  height: active.offsetHeight
9764
9925
  });
9765
9926
  }, []);
9766
- React66.useLayoutEffect(() => {
9927
+ React68.useLayoutEffect(() => {
9767
9928
  const list = listRef.current;
9768
9929
  if (!list) return;
9769
9930
  updateIndicator();
@@ -9828,8 +9989,8 @@ function TabsList({ children, className }) {
9828
9989
  className: cx(Tabs_default.list, className),
9829
9990
  onKeyDown: handleKeyDown,
9830
9991
  children: [
9831
- /* @__PURE__ */ jsx54(ControlSizeProvider, { value: size, children }),
9832
- /* @__PURE__ */ jsx54(
9992
+ /* @__PURE__ */ jsx55(ControlSizeProvider, { value: size, children }),
9993
+ /* @__PURE__ */ jsx55(
9833
9994
  "div",
9834
9995
  {
9835
9996
  className: cx(
@@ -9855,7 +10016,7 @@ TabsList.displayName = "TabsList";
9855
10016
  function TabsTab({ value, disabled = false, children, className }) {
9856
10017
  const { activeValue, onSelect, rootId } = useTabsContext();
9857
10018
  const isSelected = activeValue === value;
9858
- return /* @__PURE__ */ jsx54(
10019
+ return /* @__PURE__ */ jsx55(
9859
10020
  "button",
9860
10021
  {
9861
10022
  role: "tab",
@@ -9877,18 +10038,18 @@ function TabsTab({ value, disabled = false, children, className }) {
9877
10038
  }
9878
10039
  TabsTab.displayName = "TabsTab";
9879
10040
  function TabsIcon({ children, className, ...rest }) {
9880
- return /* @__PURE__ */ jsx54("span", { className: cx(Tabs_default.icon, className), "aria-hidden": "true", ...rest, children });
10041
+ return /* @__PURE__ */ jsx55("span", { className: cx(Tabs_default.icon, className), "aria-hidden": "true", ...rest, children });
9881
10042
  }
9882
10043
  TabsIcon.displayName = "TabsIcon";
9883
10044
  function TabsLabel({ children, className, ...rest }) {
9884
- return /* @__PURE__ */ jsx54("span", { className: cx(Tabs_default.label, className), ...rest, children });
10045
+ return /* @__PURE__ */ jsx55("span", { className: cx(Tabs_default.label, className), ...rest, children });
9885
10046
  }
9886
10047
  TabsLabel.displayName = "TabsLabel";
9887
10048
  function TabsPanel({ value, children, className }) {
9888
10049
  const { activeValue, rootId } = useTabsContext();
9889
10050
  const isActive = activeValue === value;
9890
10051
  if (!isActive) return null;
9891
- return /* @__PURE__ */ jsx54(
10052
+ return /* @__PURE__ */ jsx55(
9892
10053
  "div",
9893
10054
  {
9894
10055
  role: "tabpanel",
@@ -9910,7 +10071,7 @@ var Tabs = {
9910
10071
  };
9911
10072
 
9912
10073
  // src/components/tag/Tag.tsx
9913
- import * as React67 from "react";
10074
+ import * as React69 from "react";
9914
10075
 
9915
10076
  // src/components/tag/Tag.module.css
9916
10077
  var Tag_default = {
@@ -9922,8 +10083,8 @@ var Tag_default = {
9922
10083
  };
9923
10084
 
9924
10085
  // src/components/tag/Tag.tsx
9925
- import { jsx as jsx55, jsxs as jsxs30 } from "react/jsx-runtime";
9926
- var TagRoot = React67.forwardRef(
10086
+ import { jsx as jsx56, jsxs as jsxs30 } from "react/jsx-runtime";
10087
+ var TagRoot = React69.forwardRef(
9927
10088
  ({ size: sizeProp, onRemove, disabled, children, className, ...rest }, ref) => {
9928
10089
  const controlSurface = useOptionalControlSize();
9929
10090
  const size = sizeProp ?? (controlSurface !== void 0 ? controlSurfaceToInputSize(controlSurface) : "m");
@@ -9939,8 +10100,8 @@ var TagRoot = React67.forwardRef(
9939
10100
  }),
9940
10101
  ...rest,
9941
10102
  children: [
9942
- /* @__PURE__ */ jsx55("span", { className: Tag_default.body, children: /* @__PURE__ */ jsx55(ControlSizeProvider, { value: size, children }) }),
9943
- onRemove ? /* @__PURE__ */ jsx55(
10103
+ /* @__PURE__ */ jsx56("span", { className: Tag_default.body, children: /* @__PURE__ */ jsx56(ControlSizeProvider, { value: size, children }) }),
10104
+ onRemove ? /* @__PURE__ */ jsx56(
9944
10105
  "button",
9945
10106
  {
9946
10107
  type: "button",
@@ -9948,7 +10109,7 @@ var TagRoot = React67.forwardRef(
9948
10109
  "aria-label": "Remove",
9949
10110
  onClick: onRemove,
9950
10111
  disabled,
9951
- children: /* @__PURE__ */ jsx55("svg", { className: Tag_default.removeIcon, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx55(
10112
+ children: /* @__PURE__ */ jsx56("svg", { className: Tag_default.removeIcon, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx56(
9952
10113
  "path",
9953
10114
  {
9954
10115
  d: "M2 2l8 8M10 2l-8 8",
@@ -9966,13 +10127,13 @@ var TagRoot = React67.forwardRef(
9966
10127
  );
9967
10128
  TagRoot.displayName = "TagRoot";
9968
10129
  function TagIcon({ children, className }) {
9969
- return /* @__PURE__ */ jsx55("span", { className: cx(Tag_default.icon, className), children });
10130
+ return /* @__PURE__ */ jsx56("span", { className: cx(Tag_default.icon, className), children });
9970
10131
  }
9971
10132
  TagIcon.displayName = "TagIcon";
9972
10133
  var Tag = { Root: TagRoot, Icon: TagIcon };
9973
10134
 
9974
10135
  // src/components/textarea/Textarea.tsx
9975
- import * as React68 from "react";
10136
+ import * as React70 from "react";
9976
10137
 
9977
10138
  // src/components/textarea/Textarea.module.css
9978
10139
  var Textarea_default = {
@@ -9989,7 +10150,7 @@ var Textarea_default = {
9989
10150
  };
9990
10151
 
9991
10152
  // src/components/textarea/Textarea.tsx
9992
- import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
10153
+ import { jsx as jsx57, jsxs as jsxs31 } from "react/jsx-runtime";
9993
10154
  var [TextareaProvider, useTextareaContext] = createComponentContext("Textarea");
9994
10155
  function TextareaCharCounter({ current, max }) {
9995
10156
  const overflow = current > max;
@@ -10011,8 +10172,8 @@ TextareaCharCounter.displayName = "Textarea.CharCounter";
10011
10172
  function partitionTextareaChildren(children) {
10012
10173
  const counters = [];
10013
10174
  const rest = [];
10014
- React68.Children.forEach(children, (child) => {
10015
- if (React68.isValidElement(child) && child.type === TextareaCharCounter) {
10175
+ React70.Children.forEach(children, (child) => {
10176
+ if (React70.isValidElement(child) && child.type === TextareaCharCounter) {
10016
10177
  counters.push(child);
10017
10178
  } else if (child != null && child !== false) {
10018
10179
  rest.push(child);
@@ -10020,7 +10181,7 @@ function partitionTextareaChildren(children) {
10020
10181
  });
10021
10182
  return { counters, rest };
10022
10183
  }
10023
- var TextareaRoot = React68.forwardRef(
10184
+ var TextareaRoot = React70.forwardRef(
10024
10185
  ({
10025
10186
  id,
10026
10187
  className,
@@ -10037,12 +10198,12 @@ var TextareaRoot = React68.forwardRef(
10037
10198
  children,
10038
10199
  ...rest
10039
10200
  }, ref) => {
10040
- const rawId = React68.useId();
10201
+ const rawId = React70.useId();
10041
10202
  const inputId = id ?? rawId;
10042
10203
  const hintId = `${inputId}-hint`;
10043
10204
  const errorId = `${inputId}-error`;
10044
- const [hasHint, setHasHint] = React68.useState(false);
10045
- const [hasError, setHasError] = React68.useState(false);
10205
+ const [hasHint, setHasHint] = React70.useState(false);
10206
+ const [hasError, setHasError] = React70.useState(false);
10046
10207
  const invalid = variant === "error" || hasError;
10047
10208
  const resolvedAriaInvalid = ariaInvalid ?? (invalid || void 0);
10048
10209
  const parts = [
@@ -10051,25 +10212,25 @@ var TextareaRoot = React68.forwardRef(
10051
10212
  hasError ? errorId : void 0
10052
10213
  ].filter(Boolean);
10053
10214
  const describedBy = parts.length > 0 ? parts.join(" ") : void 0;
10054
- const registerHint = React68.useCallback(() => setHasHint(true), []);
10055
- const unregisterHint = React68.useCallback(() => setHasHint(false), []);
10056
- const registerError = React68.useCallback(() => setHasError(true), []);
10057
- const unregisterError = React68.useCallback(() => setHasError(false), []);
10058
- const wrapperRef = React68.useRef(null);
10215
+ const registerHint = React70.useCallback(() => setHasHint(true), []);
10216
+ const unregisterHint = React70.useCallback(() => setHasHint(false), []);
10217
+ const registerError = React70.useCallback(() => setHasError(true), []);
10218
+ const unregisterError = React70.useCallback(() => setHasError(false), []);
10219
+ const wrapperRef = React70.useRef(null);
10059
10220
  const { counters: counterChildren, rest: otherChildren } = partitionTextareaChildren(children);
10060
10221
  const showFooter = counterChildren.length > 0;
10061
- React68.useLayoutEffect(() => {
10222
+ React70.useLayoutEffect(() => {
10062
10223
  if (!autoResize || !wrapperRef.current) return;
10063
10224
  const textarea = wrapperRef.current.querySelector("textarea");
10064
10225
  if (textarea) {
10065
10226
  wrapperRef.current.dataset.value = textarea.value;
10066
10227
  }
10067
10228
  }, [autoResize]);
10068
- React68.useEffect(() => {
10229
+ React70.useEffect(() => {
10069
10230
  if (!autoResize || !wrapperRef.current || typeof value !== "string") return;
10070
10231
  wrapperRef.current.dataset.value = value;
10071
10232
  }, [autoResize, value]);
10072
- const handleInput = React68.useCallback(
10233
+ const handleInput = React70.useCallback(
10073
10234
  (e) => {
10074
10235
  if (autoResize && wrapperRef.current) {
10075
10236
  wrapperRef.current.dataset.value = e.currentTarget.value;
@@ -10078,7 +10239,7 @@ var TextareaRoot = React68.forwardRef(
10078
10239
  },
10079
10240
  [autoResize, onInput]
10080
10241
  );
10081
- const ctxValue = React68.useMemo(
10242
+ const ctxValue = React70.useMemo(
10082
10243
  () => ({
10083
10244
  hintId,
10084
10245
  errorId,
@@ -10102,7 +10263,7 @@ var TextareaRoot = React68.forwardRef(
10102
10263
  unregisterError
10103
10264
  ]
10104
10265
  );
10105
- const textareaEl = /* @__PURE__ */ jsx56(
10266
+ const textareaEl = /* @__PURE__ */ jsx57(
10106
10267
  "textarea",
10107
10268
  {
10108
10269
  ref,
@@ -10118,9 +10279,9 @@ var TextareaRoot = React68.forwardRef(
10118
10279
  ...rest
10119
10280
  }
10120
10281
  );
10121
- const textareaBlock = autoResize ? /* @__PURE__ */ jsx56("div", { ref: wrapperRef, className: Textarea_default.autoResize, children: textareaEl }) : textareaEl;
10122
- return /* @__PURE__ */ jsx56(TextareaProvider, { value: ctxValue, children: /* @__PURE__ */ jsx56(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsxs31("div", { className: Textarea_default.field, ...toDataAttributes({ size }), children: [
10123
- /* @__PURE__ */ jsx56(
10282
+ const textareaBlock = autoResize ? /* @__PURE__ */ jsx57("div", { ref: wrapperRef, className: Textarea_default.autoResize, children: textareaEl }) : textareaEl;
10283
+ return /* @__PURE__ */ jsx57(TextareaProvider, { value: ctxValue, children: /* @__PURE__ */ jsx57(ControlSizeProvider, { value: size, children: /* @__PURE__ */ jsxs31("div", { className: Textarea_default.field, ...toDataAttributes({ size }), children: [
10284
+ /* @__PURE__ */ jsx57(
10124
10285
  "label",
10125
10286
  {
10126
10287
  htmlFor: inputId,
@@ -10132,8 +10293,8 @@ var TextareaRoot = React68.forwardRef(
10132
10293
  size
10133
10294
  }),
10134
10295
  children: /* @__PURE__ */ jsxs31("div", { className: Textarea_default.controlStack, children: [
10135
- /* @__PURE__ */ jsx56("div", { className: Textarea_default.textareaRegion, children: textareaBlock }),
10136
- showFooter ? /* @__PURE__ */ jsx56("div", { className: Textarea_default.controlFooter, children: counterChildren }) : null
10296
+ /* @__PURE__ */ jsx57("div", { className: Textarea_default.textareaRegion, children: textareaBlock }),
10297
+ showFooter ? /* @__PURE__ */ jsx57("div", { className: Textarea_default.controlFooter, children: counterChildren }) : null
10137
10298
  ] })
10138
10299
  }
10139
10300
  ),
@@ -10144,13 +10305,13 @@ var TextareaRoot = React68.forwardRef(
10144
10305
  TextareaRoot.displayName = "Textarea.Root";
10145
10306
  function TextareaHint({ children, className, ...rest }) {
10146
10307
  const { hintId, registerHint, unregisterHint, size, disabled, readOnly } = useTextareaContext();
10147
- React68.useLayoutEffect(() => {
10308
+ React70.useLayoutEffect(() => {
10148
10309
  registerHint();
10149
10310
  return () => {
10150
10311
  unregisterHint();
10151
10312
  };
10152
10313
  }, [registerHint, unregisterHint]);
10153
- return /* @__PURE__ */ jsx56(
10314
+ return /* @__PURE__ */ jsx57(
10154
10315
  Hint.Root,
10155
10316
  {
10156
10317
  id: hintId,
@@ -10165,13 +10326,13 @@ function TextareaHint({ children, className, ...rest }) {
10165
10326
  TextareaHint.displayName = "Textarea.Hint";
10166
10327
  function TextareaError({ children, className, ...rest }) {
10167
10328
  const { errorId, registerError, unregisterError, size } = useTextareaContext();
10168
- React68.useLayoutEffect(() => {
10329
+ React70.useLayoutEffect(() => {
10169
10330
  registerError();
10170
10331
  return () => {
10171
10332
  unregisterError();
10172
10333
  };
10173
10334
  }, [registerError, unregisterError]);
10174
- return /* @__PURE__ */ jsx56(
10335
+ return /* @__PURE__ */ jsx57(
10175
10336
  Hint.Root,
10176
10337
  {
10177
10338
  id: errorId,
@@ -10241,7 +10402,8 @@ var componentSizes = {
10241
10402
  progressBar: ["s", "m", "l", "xl"],
10242
10403
  sidebar: ["s", "m", "l", "xl"],
10243
10404
  drawer: ["s", "m", "l", "xl"],
10244
- dataTable: ["s", "m", "l", "xl"]
10405
+ dataTable: ["s", "m", "l", "xl"],
10406
+ emptyPage: ["s", "m", "l", "xl"]
10245
10407
  };
10246
10408
  var buttonModes = ["filled", "stroke", "lighter", "ghost", "fancy"];
10247
10409
  export {
@@ -10265,6 +10427,7 @@ export {
10265
10427
  Divider,
10266
10428
  Drawer,
10267
10429
  Dropdown,
10430
+ EmptyPage,
10268
10431
  ExampleFrame,
10269
10432
  FileUpload,
10270
10433
  Hint,