@epilot/zenith-react 0.2.0-next.3 → 0.2.0-next.5

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 (274) hide show
  1. package/README.md +37 -1
  2. package/codemods/README.md +182 -0
  3. package/codemods/format.ts +86 -0
  4. package/codemods/migrate/base-elements/accordion.ts +132 -0
  5. package/codemods/migrate/base-elements/alert.ts +81 -0
  6. package/codemods/migrate/base-elements/avatar.ts +116 -0
  7. package/codemods/migrate/base-elements/button.ts +188 -0
  8. package/codemods/migrate/base-elements/checkbox.ts +17 -0
  9. package/codemods/migrate/base-elements/chip.ts +87 -0
  10. package/codemods/migrate/base-elements/chip360.ts +162 -0
  11. package/codemods/migrate/base-elements/circular-progress.ts +73 -0
  12. package/codemods/migrate/base-elements/dialog.ts +323 -0
  13. package/codemods/migrate/base-elements/divider.ts +61 -0
  14. package/codemods/migrate/base-elements/feedback-message.ts +95 -0
  15. package/codemods/migrate/base-elements/icon-button.ts +203 -0
  16. package/codemods/migrate/base-elements/index.ts +55 -0
  17. package/codemods/migrate/base-elements/mui-props.ts +29 -0
  18. package/codemods/migrate/base-elements/notification.ts +98 -0
  19. package/codemods/migrate/base-elements/paper.ts +78 -0
  20. package/codemods/migrate/base-elements/select.ts +328 -0
  21. package/codemods/migrate/base-elements/shared.ts +910 -0
  22. package/codemods/migrate/base-elements/skeleton.ts +83 -0
  23. package/codemods/migrate/base-elements/switch.ts +19 -0
  24. package/codemods/migrate/base-elements/tabs.ts +222 -0
  25. package/codemods/migrate/base-elements/text-field.ts +425 -0
  26. package/codemods/migrate/base-elements/toggle-button.ts +185 -0
  27. package/codemods/migrate/base-elements/tooltip.ts +231 -0
  28. package/codemods/migrate/base-elements/typography.ts +247 -0
  29. package/codemods/migrate/base-elements/unsupported.ts +277 -0
  30. package/codemods/migrate/from-base-elements.ts +26 -0
  31. package/codemods/migrate/from-volt.ts +26 -0
  32. package/codemods/migrate/lib/imports.ts +399 -0
  33. package/codemods/migrate/lib/jsx.ts +313 -0
  34. package/codemods/migrate/lib/run-migration.ts +528 -0
  35. package/codemods/migrate/lib/source.ts +6 -0
  36. package/codemods/migrate/lib/todo.ts +107 -0
  37. package/codemods/migrate/lib/types.ts +114 -0
  38. package/codemods/migrate/volt/class-helpers.ts +37 -0
  39. package/codemods/migrate/volt/index.ts +18 -0
  40. package/codemods/migrate/volt/pagination.ts +26 -0
  41. package/codemods/migrate/volt/same-name.ts +293 -0
  42. package/codemods/migrate/volt/stylesheets.ts +18 -0
  43. package/codemods/migrate/volt/tanstack-types.ts +20 -0
  44. package/codemods/radix-to-base-ui.ts +677 -0
  45. package/dist/_virtual/_zenith-runtime-family_accordion.js +7 -0
  46. package/dist/_virtual/_zenith-runtime-family_accordion.js.map +1 -0
  47. package/dist/_virtual/_zenith-runtime-family_alert-dialog.js +7 -0
  48. package/dist/_virtual/_zenith-runtime-family_alert-dialog.js.map +1 -0
  49. package/dist/_virtual/_zenith-runtime-family_avatar.js +7 -0
  50. package/dist/_virtual/_zenith-runtime-family_avatar.js.map +1 -0
  51. package/dist/_virtual/_zenith-runtime-family_button.js +7 -0
  52. package/dist/_virtual/_zenith-runtime-family_button.js.map +1 -0
  53. package/dist/_virtual/_zenith-runtime-family_checkbox.js +7 -0
  54. package/dist/_virtual/_zenith-runtime-family_checkbox.js.map +1 -0
  55. package/dist/_virtual/_zenith-runtime-family_csp-provider.js +7 -0
  56. package/dist/_virtual/_zenith-runtime-family_csp-provider.js.map +1 -0
  57. package/dist/_virtual/_zenith-runtime-family_dialog.js +7 -0
  58. package/dist/_virtual/_zenith-runtime-family_dialog.js.map +1 -0
  59. package/dist/_virtual/_zenith-runtime-family_direction-provider.js +8 -0
  60. package/dist/_virtual/_zenith-runtime-family_direction-provider.js.map +1 -0
  61. package/dist/_virtual/_zenith-runtime-family_menu.js +7 -0
  62. package/dist/_virtual/_zenith-runtime-family_menu.js.map +1 -0
  63. package/dist/_virtual/_zenith-runtime-family_merge-props.js +11 -0
  64. package/dist/_virtual/_zenith-runtime-family_merge-props.js.map +1 -0
  65. package/dist/_virtual/_zenith-runtime-family_popover.js +7 -0
  66. package/dist/_virtual/_zenith-runtime-family_popover.js.map +1 -0
  67. package/dist/_virtual/_zenith-runtime-family_radio-group.js +7 -0
  68. package/dist/_virtual/_zenith-runtime-family_radio-group.js.map +1 -0
  69. package/dist/_virtual/_zenith-runtime-family_radio.js +7 -0
  70. package/dist/_virtual/_zenith-runtime-family_radio.js.map +1 -0
  71. package/dist/_virtual/_zenith-runtime-family_scroll-area.js +7 -0
  72. package/dist/_virtual/_zenith-runtime-family_scroll-area.js.map +1 -0
  73. package/dist/_virtual/_zenith-runtime-family_select.js +7 -0
  74. package/dist/_virtual/_zenith-runtime-family_select.js.map +1 -0
  75. package/dist/_virtual/_zenith-runtime-family_separator.js +7 -0
  76. package/dist/_virtual/_zenith-runtime-family_separator.js.map +1 -0
  77. package/dist/_virtual/_zenith-runtime-family_switch.js +7 -0
  78. package/dist/_virtual/_zenith-runtime-family_switch.js.map +1 -0
  79. package/dist/_virtual/_zenith-runtime-family_tabs.js +7 -0
  80. package/dist/_virtual/_zenith-runtime-family_tabs.js.map +1 -0
  81. package/dist/_virtual/_zenith-runtime-family_toast.js +7 -0
  82. package/dist/_virtual/_zenith-runtime-family_toast.js.map +1 -0
  83. package/dist/_virtual/_zenith-runtime-family_toggle-group.js +7 -0
  84. package/dist/_virtual/_zenith-runtime-family_toggle-group.js.map +1 -0
  85. package/dist/_virtual/_zenith-runtime-family_toggle.js +7 -0
  86. package/dist/_virtual/_zenith-runtime-family_toggle.js.map +1 -0
  87. package/dist/_virtual/_zenith-runtime-family_tooltip.js +7 -0
  88. package/dist/_virtual/_zenith-runtime-family_tooltip.js.map +1 -0
  89. package/dist/_virtual/_zenith-runtime-family_use-render.js +7 -0
  90. package/dist/_virtual/_zenith-runtime-family_use-render.js.map +1 -0
  91. package/dist/components/accordion/accordion.js +179 -96
  92. package/dist/components/accordion/accordion.js.map +1 -1
  93. package/dist/components/alert-dialog/alert-dialog.js +243 -206
  94. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  95. package/dist/components/avatar/avatar.js +94 -82
  96. package/dist/components/avatar/avatar.js.map +1 -1
  97. package/dist/components/badge/badge.js +11 -11
  98. package/dist/components/breadcrumb/breadcrumb.js +69 -70
  99. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  100. package/dist/components/button/button.js +119 -102
  101. package/dist/components/button/button.js.map +1 -1
  102. package/dist/components/checkbox/checkbox.js +68 -51
  103. package/dist/components/checkbox/checkbox.js.map +1 -1
  104. package/dist/components/date-range-picker/date-range-picker.js +100 -90
  105. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  106. package/dist/components/date-time-picker/date-time-picker-input.js +118 -108
  107. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  108. package/dist/components/date-time-picker/date-time-picker-panel.js +91 -94
  109. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  110. package/dist/components/dialog/dialog.js +238 -228
  111. package/dist/components/dialog/dialog.js.map +1 -1
  112. package/dist/components/drawer/drawer.js +259 -321
  113. package/dist/components/drawer/drawer.js.map +1 -1
  114. package/dist/components/dropdown-menu/dropdown-menu.js +533 -279
  115. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  116. package/dist/components/field/field-combobox.js +205 -186
  117. package/dist/components/field/field-combobox.js.map +1 -1
  118. package/dist/components/field/field-select.js +37 -22
  119. package/dist/components/field/field-select.js.map +1 -1
  120. package/dist/components/list/list-sortable.js +104 -0
  121. package/dist/components/list/list-sortable.js.map +1 -0
  122. package/dist/components/list/list.js +246 -324
  123. package/dist/components/list/list.js.map +1 -1
  124. package/dist/components/option-card/option-card.js +121 -117
  125. package/dist/components/option-card/option-card.js.map +1 -1
  126. package/dist/components/pill/pill.js +7 -7
  127. package/dist/components/popover/popover.js +223 -127
  128. package/dist/components/popover/popover.js.map +1 -1
  129. package/dist/components/radio/radio-group-base.js +54 -0
  130. package/dist/components/radio/radio-group-base.js.map +1 -0
  131. package/dist/components/radio/radio.js +71 -60
  132. package/dist/components/radio/radio.js.map +1 -1
  133. package/dist/components/scroll-area/scroll-area.js +142 -108
  134. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  135. package/dist/components/scroll-overflow/scroll-overflow.js +156 -127
  136. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  137. package/dist/components/segmented-control/segmented-control.js +93 -81
  138. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  139. package/dist/components/select/select.js +485 -310
  140. package/dist/components/select/select.js.map +1 -1
  141. package/dist/components/separator/separator.js.map +1 -1
  142. package/dist/components/slot/compose-as-child.js +15 -12
  143. package/dist/components/slot/compose-as-child.js.map +1 -1
  144. package/dist/components/switch/switch.js +75 -68
  145. package/dist/components/switch/switch.js.map +1 -1
  146. package/dist/components/table/table-pagination.js +212 -175
  147. package/dist/components/table/table-pagination.js.map +1 -1
  148. package/dist/components/tabs/tabs.js +193 -190
  149. package/dist/components/tabs/tabs.js.map +1 -1
  150. package/dist/components/toast/toast.js +610 -148
  151. package/dist/components/toast/toast.js.map +1 -1
  152. package/dist/components/toggle/toggle-group.js +143 -32
  153. package/dist/components/toggle/toggle-group.js.map +1 -1
  154. package/dist/components/toggle/toggle.js +82 -49
  155. package/dist/components/toggle/toggle.js.map +1 -1
  156. package/dist/components/tooltip/tooltip.js +298 -138
  157. package/dist/components/tooltip/tooltip.js.map +1 -1
  158. package/dist/index.d.ts +2336 -2130
  159. package/dist/index.js +24 -23
  160. package/dist/list/sortable/index.d.ts +29 -0
  161. package/dist/list/sortable/index.js +5 -0
  162. package/dist/{_virtual → list/sortable}/index.js.map +1 -1
  163. package/dist/packages/tokens/dist/delivery/index.js +10 -10
  164. package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
  165. package/dist/packages/tokens/dist/generated/core.generated.js +6 -15
  166. package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -1
  167. package/dist/packages/tokens/dist/generated/palette.generated.js +4 -5
  168. package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
  169. package/dist/packages/tokens/dist/generated/palette.meta.generated.js +5 -0
  170. package/dist/packages/tokens/dist/generated/palette.meta.generated.js.map +1 -0
  171. package/dist/packages/tokens/dist/install.js +40 -17
  172. package/dist/packages/tokens/dist/install.js.map +1 -1
  173. package/dist/renderer/runtime-contract.generated.js +8 -0
  174. package/dist/renderer/runtime-contract.generated.js.map +1 -0
  175. package/dist/renderer/served.js +39 -0
  176. package/dist/renderer/served.js.map +1 -0
  177. package/dist/tokens/core.meta.generated.js +2 -2
  178. package/dist/tokens/core.meta.generated.js.map +1 -1
  179. package/dist/tokens/index.d.ts +1028 -1028
  180. package/dist/tokens/index.js +863 -863
  181. package/dist/tokens/index.js.map +1 -1
  182. package/dist/tokens/palette.meta.generated.js +5 -0
  183. package/dist/tokens/palette.meta.generated.js.map +1 -0
  184. package/dist/tokens.json +1 -1
  185. package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js +57 -62
  186. package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js.map +1 -1
  187. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +32 -38
  188. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +1 -1
  189. package/package.json +29 -21
  190. package/scripts/migration-diagnostics-core.mjs +302 -10
  191. package/scripts/migration-diagnostics.mjs +31 -8
  192. package/scripts/migration-sweep.mjs +10 -10
  193. package/testing/setup.cjs +87 -0
  194. package/dist/_virtual/index.js +0 -6
  195. package/dist/_virtual/index2.js +0 -5
  196. package/dist/_virtual/index2.js.map +0 -1
  197. package/dist/_virtual/use-sync-external-store-shim.development.js +0 -5
  198. package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  199. package/dist/_virtual/use-sync-external-store-shim.production.js +0 -5
  200. package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  201. package/dist/tokens/palette.generated.js +0 -5
  202. package/dist/tokens/palette.generated.js.map +0 -1
  203. package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js +0 -512
  204. package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
  205. package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js +0 -396
  206. package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  207. package/dist/vendor/.bun/@floating-ui_react-dom@2.1.9_6f4b9a1cfb20c0ae/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -233
  208. package/dist/vendor/.bun/@floating-ui_react-dom@2.1.9_6f4b9a1cfb20c0ae/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
  209. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -137
  210. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  211. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js +0 -129
  212. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  213. package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js +0 -7
  214. package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js.map +0 -1
  215. package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js +0 -240
  216. package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js.map +0 -1
  217. package/dist/vendor/.bun/@radix-ui_react-alert-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-alert-dialog/dist/index.js +0 -128
  218. package/dist/vendor/.bun/@radix-ui_react-alert-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-alert-dialog/dist/index.js.map +0 -1
  219. package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js +0 -25
  220. package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js.map +0 -1
  221. package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js +0 -76
  222. package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js.map +0 -1
  223. package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js +0 -252
  224. package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js.map +0 -1
  225. package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js +0 -121
  226. package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js.map +0 -1
  227. package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js +0 -49
  228. package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js.map +0 -1
  229. package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js +0 -11
  230. package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js.map +0 -1
  231. package/dist/vendor/.bun/@radix-ui_react-dropdown-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-dropdown-menu/dist/index.js +0 -228
  232. package/dist/vendor/.bun/@radix-ui_react-dropdown-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-dropdown-menu/dist/index.js.map +0 -1
  233. package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js +0 -653
  234. package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js.map +0 -1
  235. package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js +0 -244
  236. package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js.map +0 -1
  237. package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js +0 -222
  238. package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js.map +0 -1
  239. package/dist/vendor/.bun/@radix-ui_react-radio-group@1.3.8_2b23df507bdda662/vendor/@radix-ui/react-radio-group/dist/index.js +0 -239
  240. package/dist/vendor/.bun/@radix-ui_react-radio-group@1.3.8_2b23df507bdda662/vendor/@radix-ui/react-radio-group/dist/index.js.map +0 -1
  241. package/dist/vendor/.bun/@radix-ui_react-roving-focus@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-roving-focus/dist/index.js +0 -184
  242. package/dist/vendor/.bun/@radix-ui_react-roving-focus@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-roving-focus/dist/index.js.map +0 -1
  243. package/dist/vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js +0 -535
  244. package/dist/vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js.map +0 -1
  245. package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js +0 -863
  246. package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js.map +0 -1
  247. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +0 -63
  248. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +0 -1
  249. package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js +0 -133
  250. package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js.map +0 -1
  251. package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js +0 -164
  252. package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js.map +0 -1
  253. package/dist/vendor/.bun/@radix-ui_react-toggle-group@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-toggle-group/dist/index.js +0 -138
  254. package/dist/vendor/.bun/@radix-ui_react-toggle-group@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-toggle-group/dist/index.js.map +0 -1
  255. package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js +0 -34
  256. package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js.map +0 -1
  257. package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js +0 -340
  258. package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js.map +0 -1
  259. package/dist/vendor/.bun/@radix-ui_react-use-is-hydrated@0.1.0_0ac650c021fb1b59/vendor/@radix-ui/react-use-is-hydrated/dist/index.js +0 -16
  260. package/dist/vendor/.bun/@radix-ui_react-use-is-hydrated@0.1.0_0ac650c021fb1b59/vendor/@radix-ui/react-use-is-hydrated/dist/index.js.map +0 -1
  261. package/dist/vendor/.bun/@radix-ui_react-use-previous@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-previous/dist/index.js +0 -9
  262. package/dist/vendor/.bun/@radix-ui_react-use-previous@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-previous/dist/index.js.map +0 -1
  263. package/dist/vendor/.bun/@radix-ui_react-use-size@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-size/dist/index.js +0 -28
  264. package/dist/vendor/.bun/@radix-ui_react-use-size@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-size/dist/index.js.map +0 -1
  265. package/dist/vendor/.bun/@radix-ui_react-visually-hidden@1.2.3_2b23df507bdda662/vendor/@radix-ui/react-visually-hidden/dist/index.js +0 -33
  266. package/dist/vendor/.bun/@radix-ui_react-visually-hidden@1.2.3_2b23df507bdda662/vendor/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
  267. package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js +0 -747
  268. package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js.map +0 -1
  269. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -68
  270. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
  271. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -56
  272. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
  273. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js +0 -11
  274. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.js","sources":["../../../src/components/scroll-area/scroll-area.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as Primitive from \"@radix-ui/react-scroll-area\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport { useScrollbarStyles } from \"./scrollbar-styles\"\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\"\nexport type ScrollAreaVisibility = \"interaction\" | \"always\"\nexport type ScrollAreaProps = Omit<\n React.ComponentPropsWithoutRef<typeof Primitive.Root>,\n \"asChild\" | \"type\" | \"scrollHideDelay\"\n> & {\n orientation?: ScrollAreaOrientation\n visibility?: ScrollAreaVisibility\n}\nexport type ScrollAreaViewportProps = Omit<\n React.ComponentPropsWithoutRef<typeof Primitive.Viewport>,\n \"asChild\"\n>\n\nconst Context = React.createContext<{\n orientation: ScrollAreaOrientation\n onScroll: () => void\n} | null>(null)\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n position: \"relative\",\n minWidth: 0,\n minHeight: 0,\n ...shorthands.overflow(\"hidden\"),\n [`&[data-revealed='true'] > [${SLOT_ATTR}='scroll-area-scrollbar']`]: {\n opacity: 1,\n pointerEvents: \"auto\",\n },\n \"@media (forced-colors: active)\": {\n [`& > [${SLOT_ATTR}='scroll-area-scrollbar']`]: {\n opacity: 1,\n pointerEvents: \"auto\",\n backgroundColor: \"Canvas\",\n },\n },\n },\n viewport: {\n width: \"100%\",\n height: \"100%\",\n minWidth: 0,\n minHeight: 0,\n boxSizing: \"border-box\",\n borderRadius: \"inherit\",\n \":focus-visible\": {\n outlineWidth: \"3px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.focusRing,\n outlineOffset: \"-3px\",\n },\n },\n verticalContent: {\n ...boxModel,\n // Radix's measurement wrapper defaults to display:table, which expands long lines.\n \"& > div\": { display: \"block\", minWidth: \"100%\" },\n },\n reserveVertical: { paddingInlineEnd: \"12px\" },\n reserveHorizontal: { paddingBottom: \"12px\" },\n track: {\n boxSizing: \"border-box\",\n ...shorthands.padding(\"3px\"),\n backgroundColor: \"transparent\",\n opacity: 0,\n pointerEvents: \"none\",\n transitionProperty: \"opacity\",\n transitionDuration: \"120ms\",\n \"@media (prefers-reduced-motion: reduce)\": { transitionDuration: \"0s\" },\n [`&:hover > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: tokens.grayA10,\n },\n [`&:active > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: tokens.grayA11,\n },\n \"@media (forced-colors: active)\": {\n [`& > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: \"ButtonText\",\n forcedColorAdjust: \"none\",\n },\n },\n },\n vertical: { width: \"12px\" },\n horizontal: { height: \"12px\", flexDirection: \"column\" },\n thumb: { backgroundColor: tokens.grayA9 },\n // Radix owns thumb length (including its 18px minimum) and uses it in drag math.\n // A CSS-only minimum overrides the paint but not that math, overshooting the track.\n corner: { backgroundColor: \"transparent\", pointerEvents: \"none\" },\n})\n\n/** Native scrolling with Radix tracks. Dimensions belong here; scroll refs belong to the viewport. */\nexport const ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(\n function ScrollArea(\n {\n orientation = \"vertical\",\n visibility = \"interaction\",\n className,\n children,\n onPointerEnter,\n onPointerLeave,\n onFocusCapture,\n onBlurCapture,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n const scrollbar = useScrollbarStyles()\n const root = React.useRef<HTMLDivElement | null>(null)\n const timer = React.useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined\n )\n const interaction = React.useRef({\n hover: false,\n focus: false,\n drag: false,\n })\n const [revealed, setRevealed] = React.useState(false)\n const clear = React.useCallback(() => {\n clearTimeout(timer.current)\n }, [])\n const reveal = React.useCallback(() => {\n clear()\n setRevealed(true)\n }, [clear])\n const settle = React.useCallback(() => {\n clear()\n if (!Object.values(interaction.current).some(Boolean)) {\n timer.current = setTimeout(() => setRevealed(false), 600)\n }\n }, [clear])\n const pulse = React.useCallback(() => {\n reveal()\n settle()\n }, [reveal, settle])\n React.useEffect(() => {\n const doc = root.current?.ownerDocument\n const endDrag = () => {\n if (interaction.current.drag) {\n interaction.current.drag = false\n settle()\n }\n }\n doc?.addEventListener(\"pointerup\", endDrag, true)\n doc?.addEventListener(\"pointercancel\", endDrag, true)\n return () => {\n clear()\n doc?.removeEventListener(\"pointerup\", endDrag, true)\n doc?.removeEventListener(\"pointercancel\", endDrag, true)\n }\n }, [clear, settle])\n const context = React.useMemo(\n () => ({ orientation, onScroll: pulse }),\n [orientation, pulse]\n )\n const tracks =\n orientation === \"both\"\n ? ([\"vertical\", \"horizontal\"] as const)\n : [orientation]\n return (\n <Context.Provider value={context}>\n <Primitive.Root\n {...props}\n type=\"auto\"\n ref={(node) => {\n root.current = node\n if (typeof ref === \"function\") ref(node)\n else if (ref) ref.current = node\n }}\n data-slot=\"scroll-area\"\n {...{ [SLOT_ATTR]: \"scroll-area\" }}\n data-orientation={orientation}\n data-revealed={visibility === \"always\" || revealed}\n className={mergeClasses(styles.root, className)}\n onPointerEnter={(event) => {\n if (event.pointerType !== \"touch\") {\n interaction.current.hover = true\n reveal()\n }\n onPointerEnter?.(event)\n }}\n onPointerLeave={(event) => {\n interaction.current.hover = false\n settle()\n onPointerLeave?.(event)\n }}\n onFocusCapture={(event) => {\n interaction.current.focus = true\n reveal()\n onFocusCapture?.(event)\n }}\n onBlurCapture={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n interaction.current.focus = false\n settle()\n }\n onBlurCapture?.(event)\n }}\n >\n {children}\n {tracks.map((axis) => (\n <Primitive.Scrollbar\n key={axis}\n orientation={axis}\n data-slot=\"scroll-area-scrollbar\"\n {...{ [SLOT_ATTR]: \"scroll-area-scrollbar\" }}\n className={mergeClasses(\n scrollbar.track,\n styles.track,\n styles[axis]\n )}\n onPointerDown={() => {\n interaction.current.drag = true\n reveal()\n }}\n >\n <Primitive.Thumb\n data-slot=\"scroll-area-thumb\"\n {...{ [SLOT_ATTR]: \"scroll-area-thumb\" }}\n className={mergeClasses(scrollbar.thumb, styles.thumb)}\n />\n </Primitive.Scrollbar>\n ))}\n {orientation === \"both\" && (\n <Primitive.Corner className={styles.corner} />\n )}\n </Primitive.Root>\n </Context.Provider>\n )\n }\n)\n\n/** Put keyboard focus, accessible naming and onScroll on this actual scroll element. */\nexport const ScrollAreaViewport = React.forwardRef<\n HTMLDivElement,\n ScrollAreaViewportProps\n>(function ScrollAreaViewport({ className, onScroll, ...props }, ref) {\n const context = React.useContext(Context)\n const styles = useStyles()\n if (!context)\n throw new Error(\"ScrollAreaViewport requires a ScrollArea parent\")\n return (\n <Primitive.Viewport\n {...props}\n ref={ref}\n data-slot=\"scroll-area-viewport\"\n {...{ [SLOT_ATTR]: \"scroll-area-viewport\" }}\n className={mergeClasses(\n styles.viewport,\n context.orientation === \"vertical\" && styles.verticalContent,\n context.orientation !== \"horizontal\" && styles.reserveVertical,\n context.orientation !== \"vertical\" && styles.reserveHorizontal,\n className\n )}\n onScroll={(event) => {\n if (event.target === event.currentTarget) {\n context.onScroll()\n onScroll?.(event)\n }\n }}\n />\n )\n})\n"],"names":["Context","React","useStyles","makeZenithStyles","boxModel","shorthands","SLOT_ATTR","tokens.focusRing","tokens.grayA10","tokens.grayA11","tokens.grayA9","ScrollArea","orientation","visibility","className","children","onPointerEnter","onPointerLeave","onFocusCapture","onBlurCapture","props","ref","styles","scrollbar","useScrollbarStyles","root","timer","interaction","revealed","setRevealed","clear","reveal","settle","pulse","doc","_a","endDrag","context","tracks","jsx","jsxs","Primitive.Root","node","mergeClasses","event","axis","Primitive.Scrollbar","Primitive.Thumb","Primitive.Corner","ScrollAreaViewport","onScroll","Primitive.Viewport"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-area.js","sources":["../../../src/components/scroll-area/scroll-area.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { CSPProvider } from \"@base-ui/react/csp-provider\"\nimport { DirectionProvider } from \"@base-ui/react/direction-provider\"\nimport { ScrollArea as Primitive } from \"@base-ui/react/scroll-area\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport { useScrollbarStyles } from \"./scrollbar-styles\"\n\nexport type ScrollAreaOrientation = \"vertical\" | \"horizontal\" | \"both\"\nexport type ScrollAreaVisibility = \"interaction\" | \"always\"\ntype Direction = \"ltr\" | \"rtl\"\n// Declared in Zenith in their Radix-era shape, a div's props, not derived from Base UI's, whose\n// types would carry its internals into the published declarations.\nexport type ScrollAreaProps = Omit<\n React.ComponentPropsWithoutRef<\"div\">,\n \"dir\"\n> & {\n /** Text direction of the region and of its thumb positions. Defaults to `ltr`. */\n dir?: Direction\n orientation?: ScrollAreaOrientation\n visibility?: ScrollAreaVisibility\n}\nexport type ScrollAreaViewportProps = React.ComponentPropsWithoutRef<\"div\">\n\nconst Context = React.createContext<{\n orientation: ScrollAreaOrientation\n onScroll: () => void\n} | null>(null)\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n position: \"relative\",\n minWidth: 0,\n minHeight: 0,\n ...shorthands.overflow(\"hidden\"),\n [`&[data-revealed='true'] > [${SLOT_ATTR}='scroll-area-scrollbar']`]: {\n opacity: 1,\n pointerEvents: \"auto\",\n },\n \"@media (forced-colors: active)\": {\n [`& > [${SLOT_ATTR}='scroll-area-scrollbar']`]: {\n opacity: 1,\n pointerEvents: \"auto\",\n backgroundColor: \"Canvas\",\n },\n },\n },\n viewport: {\n width: \"100%\",\n height: \"100%\",\n minWidth: 0,\n minHeight: 0,\n boxSizing: \"border-box\",\n borderRadius: \"inherit\",\n // The tracks replace the native scrollbars. Zenith's stylesheet hides them, so no inline\n // <style> needs a nonce (Radix's took the viewport's).\n scrollbarWidth: \"none\",\n \"::-webkit-scrollbar\": { display: \"none\" },\n \":focus-visible\": {\n outlineWidth: \"3px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.focusRing,\n outlineOffset: \"-3px\",\n },\n },\n // The content wrapper keeps Radix's display:table, which grows to the content's width...\n content: { display: \"table\" },\n // ...except in a vertical area, where that would expand long lines past the viewport.\n verticalContent: { display: \"block\" },\n reserveVertical: { paddingInlineEnd: \"12px\" },\n reserveHorizontal: { paddingBottom: \"12px\" },\n track: {\n boxSizing: \"border-box\",\n backgroundColor: \"transparent\",\n opacity: 0,\n pointerEvents: \"none\",\n transitionProperty: \"opacity\",\n transitionDuration: \"120ms\",\n \"@media (prefers-reduced-motion: reduce)\": { transitionDuration: \"0s\" },\n [`&:hover > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: tokens.grayA10,\n },\n [`&:active > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: tokens.grayA11,\n },\n \"@media (forced-colors: active)\": {\n [`& > [${SLOT_ATTR}='scroll-area-thumb']`]: {\n backgroundColor: \"ButtonText\",\n forcedColorAdjust: \"none\",\n },\n },\n },\n // The 3px inset along the scroll axis is margin, not padding. With both tracks shown, Base UI\n // 1.7.0 sizes the thumb from the track's offsetHeight/offsetWidth without subtracting its padding,\n // which lengthened the thumb by the padding's share; a margin shrinks the track box instead, so\n // the thumb keeps Radix's length on every orientation.\n vertical: {\n width: \"12px\",\n ...shorthands.padding(\"0\", \"3px\"),\n ...shorthands.margin(\"3px\", \"0\"),\n },\n horizontal: {\n height: \"12px\",\n flexDirection: \"column\",\n ...shorthands.padding(\"3px\", \"0\"),\n ...shorthands.margin(\"0\", \"3px\"),\n },\n thumb: { backgroundColor: tokens.grayA9 },\n // Base UI owns thumb length (including its 16px minimum) and uses it in drag math.\n // A CSS-only minimum overrides the paint but not that math, overshooting the track.\n corner: { backgroundColor: \"transparent\", pointerEvents: \"none\" },\n})\n\n/** Native scrolling with Base UI tracks. Dimensions belong here; scroll refs belong to the viewport. */\nexport const ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(\n function ScrollArea(\n {\n dir = \"ltr\",\n orientation = \"vertical\",\n visibility = \"interaction\",\n className,\n children,\n onPointerEnter,\n onPointerLeave,\n onFocusCapture,\n onBlurCapture,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n const scrollbar = useScrollbarStyles()\n const root = React.useRef<HTMLDivElement | null>(null)\n const timer = React.useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined\n )\n const interaction = React.useRef({\n hover: false,\n focus: false,\n drag: false,\n })\n const [revealed, setRevealed] = React.useState(false)\n const clear = React.useCallback(() => {\n clearTimeout(timer.current)\n }, [])\n const reveal = React.useCallback(() => {\n clear()\n setRevealed(true)\n }, [clear])\n const settle = React.useCallback(() => {\n clear()\n if (!Object.values(interaction.current).some(Boolean)) {\n timer.current = setTimeout(() => setRevealed(false), 600)\n }\n }, [clear])\n const pulse = React.useCallback(() => {\n reveal()\n settle()\n }, [reveal, settle])\n React.useEffect(() => {\n const doc = root.current?.ownerDocument\n const endDrag = () => {\n if (interaction.current.drag) {\n interaction.current.drag = false\n settle()\n }\n }\n doc?.addEventListener(\"pointerup\", endDrag, true)\n doc?.addEventListener(\"pointercancel\", endDrag, true)\n return () => {\n clear()\n doc?.removeEventListener(\"pointerup\", endDrag, true)\n doc?.removeEventListener(\"pointercancel\", endDrag, true)\n }\n }, [clear, settle])\n const context = React.useMemo(\n () => ({ orientation, onScroll: pulse }),\n [orientation, pulse]\n )\n const tracks =\n orientation === \"both\"\n ? ([\"vertical\", \"horizontal\"] as const)\n : [orientation]\n return (\n <Context.Provider value={context}>\n {/* Radix stamped and computed with ltr unless told otherwise; Base UI reads context. */}\n <DirectionProvider direction={dir}>\n {/* The viewport's styles hide the native scrollbars, so Base UI's <style> is not rendered. */}\n <CSPProvider disableStyleElements>\n <Primitive.Root\n {...props}\n dir={dir}\n ref={(node) => {\n root.current = node\n if (typeof ref === \"function\") ref(node)\n else if (ref) ref.current = node\n }}\n data-slot=\"scroll-area\"\n {...{ [SLOT_ATTR]: \"scroll-area\" }}\n data-orientation={orientation}\n data-revealed={visibility === \"always\" || revealed}\n className={mergeClasses(styles.root, className)}\n onPointerEnter={(event) => {\n if (event.pointerType !== \"touch\") {\n interaction.current.hover = true\n reveal()\n }\n onPointerEnter?.(event)\n }}\n onPointerLeave={(event) => {\n interaction.current.hover = false\n settle()\n onPointerLeave?.(event)\n }}\n onFocusCapture={(event) => {\n interaction.current.focus = true\n reveal()\n onFocusCapture?.(event)\n }}\n onBlurCapture={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n interaction.current.focus = false\n settle()\n }\n onBlurCapture?.(event)\n }}\n >\n {/* Base UI parts the caller renders inside keep their own style elements. */}\n <CSPProvider>\n {children}\n {tracks.map((axis) => (\n <Primitive.Scrollbar\n key={axis}\n orientation={axis}\n data-slot=\"scroll-area-scrollbar\"\n {...{ [SLOT_ATTR]: \"scroll-area-scrollbar\" }}\n className={mergeClasses(\n scrollbar.track,\n styles.track,\n styles[axis]\n )}\n onPointerDown={() => {\n interaction.current.drag = true\n reveal()\n }}\n >\n <Primitive.Thumb\n data-slot=\"scroll-area-thumb\"\n {...{ [SLOT_ATTR]: \"scroll-area-thumb\" }}\n className={mergeClasses(scrollbar.thumb, styles.thumb)}\n />\n </Primitive.Scrollbar>\n ))}\n {orientation === \"both\" && (\n <Primitive.Corner className={styles.corner} />\n )}\n </CSPProvider>\n </Primitive.Root>\n </CSPProvider>\n </DirectionProvider>\n </Context.Provider>\n )\n }\n)\n\n/** Put keyboard focus, accessible naming and onScroll on this actual scroll element. */\nexport const ScrollAreaViewport = React.forwardRef<\n HTMLDivElement,\n ScrollAreaViewportProps\n>(function ScrollAreaViewport(\n // No inline <style> is rendered, so Radix's nonce has nothing left to unlock.\n { className, style, onScroll, children, nonce: _nonce, ...props },\n ref\n) {\n const context = React.useContext(Context)\n const styles = useStyles()\n if (!context)\n throw new Error(\"ScrollAreaViewport requires a ScrollArea parent\")\n const { orientation } = context\n return (\n <Primitive.Viewport\n {...props}\n ref={ref}\n data-slot=\"scroll-area-viewport\"\n {...{ [SLOT_ATTR]: \"scroll-area-viewport\" }}\n className={mergeClasses(\n styles.viewport,\n orientation !== \"horizontal\" && styles.reserveVertical,\n orientation !== \"vertical\" && styles.reserveHorizontal,\n className\n )}\n // Only axes with a track scroll, as Radix enabled overflow per mounted scrollbar.\n style={{\n overflowX: orientation === \"vertical\" ? \"hidden\" : \"scroll\",\n overflowY: orientation === \"horizontal\" ? \"hidden\" : \"scroll\",\n ...style,\n }}\n onScroll={(event) => {\n if (event.target === event.currentTarget) {\n context.onScroll()\n onScroll?.(event)\n }\n }}\n >\n <Primitive.Content\n className={mergeClasses(\n styles.content,\n orientation === \"vertical\" && styles.verticalContent\n )}\n // Over Base UI's fit-content, which would widen a vertical area to its widest line.\n style={{ minWidth: \"100%\" }}\n >\n {children}\n </Primitive.Content>\n </Primitive.Viewport>\n )\n})\n"],"names":["Context","React","useStyles","makeZenithStyles","boxModel","shorthands","SLOT_ATTR","tokens.focusRing","tokens.grayA10","tokens.grayA11","tokens.grayA9","ScrollArea","dir","orientation","visibility","className","children","onPointerEnter","onPointerLeave","onFocusCapture","onBlurCapture","props","ref","styles","scrollbar","useScrollbarStyles","root","timer","interaction","revealed","setRevealed","clear","reveal","settle","pulse","doc","_a","endDrag","context","tracks","jsx","DirectionProvider","CSPProvider","Primitive","node","mergeClasses","event","axis","ScrollAreaViewport","style","onScroll","_nonce"],"mappings":"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"}
@@ -1,101 +1,103 @@
1
- import { jsxs as I, jsx as l } from "react/jsx-runtime";
1
+ import { jsxs as M, jsx as t } from "react/jsx-runtime";
2
2
  import * as w from "react";
3
- import { Root as M, Viewport as O, Scrollbar as F, Thumb as W } from "../../vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js";
4
- import { mergeClasses as f, SLOT_ATTR as s, shorthands as b } from "@epilot/zenith-runtime/v1";
5
- import { makeZenithStyles as Z } from "../../styles/make-styles.js";
6
- import { boxModel as a, nativeControl as j } from "../../styles/host-reset.js";
7
- import { grayA8 as B, accentA8 as K, grayA12 as $, gray1 as G, radiusMd as U, radiusSm as P } from "../../tokens/index.js";
8
- import { useScrollbarStyles as _ } from "../scroll-area/scrollbar-styles.js";
9
- function D() {
3
+ import { CSPProvider as K } from "../../_virtual/_zenith-runtime-family_csp-provider.js";
4
+ import { DirectionProvider as P } from "../../_virtual/_zenith-runtime-family_direction-provider.js";
5
+ import { ScrollArea as g } from "../../_virtual/_zenith-runtime-family_scroll-area.js";
6
+ import { mergeClasses as f, SLOT_ATTR as s, shorthands as i } from "@epilot/zenith-runtime/v1";
7
+ import { makeZenithStyles as $ } from "../../styles/make-styles.js";
8
+ import { boxModel as a, nativeControl as G } from "../../styles/host-reset.js";
9
+ import { body as _, grayA8 as O, accentA8 as U, grayA12 as X, gray1 as Y, radiusMd as q, radiusSm as J } from "../../tokens/index.js";
10
+ import { useScrollbarStyles as Q } from "../scroll-area/scrollbar-styles.js";
11
+ function W() {
10
12
  return typeof window > "u" || !window.matchMedia || window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth";
11
13
  }
12
- function q(c = {}) {
13
- const { scrollStep: m = 200, orientation: y = "horizontal" } = c, h = w.useRef(null), [S, u] = w.useState(!1), [C, x] = w.useState(!1), [g, H] = w.useState(!1), n = y === "horizontal", p = w.useCallback(() => {
14
- const t = h.current;
15
- if (t)
14
+ function oo(c = {}) {
15
+ const { scrollStep: m = 200, orientation: z = "horizontal" } = c, h = w.useRef(null), [S, u] = w.useState(!1), [b, C] = w.useState(!1), [y, H] = w.useState(!1), n = z === "horizontal", p = w.useCallback(() => {
16
+ const l = h.current;
17
+ if (l)
16
18
  if (n) {
17
- const e = Math.round(t.scrollLeft), i = t.scrollWidth, d = t.clientWidth;
18
- u(i > d), x(e > 0), H(e + d < i - 1);
19
+ const e = Math.round(l.scrollLeft), d = l.scrollWidth, o = l.clientWidth;
20
+ u(d > o), C(e > 0), H(e + o < d - 1);
19
21
  } else {
20
- const e = Math.round(t.scrollTop), i = t.scrollHeight, d = t.clientHeight;
21
- u(i > d), x(e > 0), H(e + d < i - 1);
22
+ const e = Math.round(l.scrollTop), d = l.scrollHeight, o = l.clientHeight;
23
+ u(d > o), C(e > 0), H(e + o < d - 1);
22
24
  }
23
25
  }, [n]);
24
26
  w.useEffect(() => {
25
- const t = h.current;
26
- if (!t) return;
27
+ const l = h.current;
28
+ if (!l) return;
27
29
  p();
28
30
  let e = null;
29
31
  if (typeof ResizeObserver < "u") {
30
32
  e = new ResizeObserver(() => {
31
33
  p();
32
- }), e.observe(t);
33
- for (const i of t.children)
34
- e.observe(i);
34
+ }), e.observe(l);
35
+ for (const d of l.children)
36
+ e.observe(d);
35
37
  }
36
- return t.addEventListener("scroll", p, { passive: !0 }), () => {
37
- e == null || e.disconnect(), t.removeEventListener("scroll", p);
38
+ return l.addEventListener("scroll", p, { passive: !0 }), () => {
39
+ e == null || e.disconnect(), l.removeEventListener("scroll", p);
38
40
  };
39
41
  }, [p]);
40
- const z = w.useCallback(() => {
41
- var t;
42
- (t = h.current) == null || t.scrollBy({
42
+ const k = w.useCallback(() => {
43
+ var l;
44
+ (l = h.current) == null || l.scrollBy({
43
45
  [n ? "left" : "top"]: -m,
44
- behavior: D()
46
+ behavior: W()
45
47
  });
46
- }, [m, n]), o = w.useCallback(() => {
47
- var t;
48
- (t = h.current) == null || t.scrollBy({
48
+ }, [m, n]), A = w.useCallback(() => {
49
+ var l;
50
+ (l = h.current) == null || l.scrollBy({
49
51
  [n ? "left" : "top"]: m,
50
- behavior: D()
52
+ behavior: W()
51
53
  });
52
54
  }, [m, n]);
53
55
  return {
54
56
  scrollRef: h,
55
57
  hasOverflow: S,
56
- canScrollStart: C,
57
- canScrollEnd: g,
58
- scrollToStart: z,
59
- scrollToEnd: o
58
+ canScrollStart: b,
59
+ canScrollEnd: y,
60
+ scrollToStart: k,
61
+ scrollToEnd: A
60
62
  };
61
63
  }
62
- const J = (c) => /* @__PURE__ */ l(
64
+ const ro = (c) => /* @__PURE__ */ t(
63
65
  "svg",
64
66
  {
65
67
  viewBox: "0 0 16 16",
66
68
  xmlns: "http://www.w3.org/2000/svg",
67
69
  fill: "currentColor",
68
70
  ...c,
69
- children: /* @__PURE__ */ l("path", { d: "M 8.86 10.51 C 8.94 10.51 9.02 10.49 9.08 10.43 C 9.14 10.38 9.17 10.3 9.17 10.21 V 5.79 C 9.17 5.7 9.14 5.62 9.08 5.57 C 9.01 5.51 8.94 5.49 8.86 5.49 C 8.84 5.49 8.77 5.52 8.65 5.58 L 6.55 7.68 C 6.5 7.73 6.47 7.78 6.44 7.83 C 6.42 7.88 6.41 7.94 6.41 8 C 6.41 8.06 6.42 8.12 6.44 8.17 C 6.47 8.22 6.5 8.27 6.55 8.32 L 8.65 10.42 C 8.68 10.45 8.71 10.47 8.75 10.49 C 8.78 10.51 8.82 10.51 8.86 10.51 Z" })
71
+ children: /* @__PURE__ */ t("path", { d: "M 8.86 10.51 C 8.94 10.51 9.02 10.49 9.08 10.43 C 9.14 10.38 9.17 10.3 9.17 10.21 V 5.79 C 9.17 5.7 9.14 5.62 9.08 5.57 C 9.01 5.51 8.94 5.49 8.86 5.49 C 8.84 5.49 8.77 5.52 8.65 5.58 L 6.55 7.68 C 6.5 7.73 6.47 7.78 6.44 7.83 C 6.42 7.88 6.41 7.94 6.41 8 C 6.41 8.06 6.42 8.12 6.44 8.17 C 6.47 8.22 6.5 8.27 6.55 8.32 L 8.65 10.42 C 8.68 10.45 8.71 10.47 8.75 10.49 C 8.78 10.51 8.82 10.51 8.86 10.51 Z" })
70
72
  }
71
- ), Q = (c) => /* @__PURE__ */ l(
73
+ ), to = (c) => /* @__PURE__ */ t(
72
74
  "svg",
73
75
  {
74
76
  viewBox: "0 0 16 16",
75
77
  xmlns: "http://www.w3.org/2000/svg",
76
78
  fill: "currentColor",
77
79
  ...c,
78
- children: /* @__PURE__ */ l("path", { d: "M7.14 10.51C7.06 10.51 6.98 10.49 6.92 10.43C6.86 10.38 6.83 10.3 6.83 10.21V5.79C6.83 5.7 6.86 5.62 6.92 5.57C6.99 5.51 7.06 5.49 7.14 5.49C7.16 5.49 7.23 5.52 7.35 5.58L9.45 7.68C9.5 7.73 9.53 7.78 9.56 7.83C9.58 7.88 9.59 7.94 9.59 8C9.59 8.06 9.58 8.12 9.56 8.17C9.53 8.22 9.5 8.27 9.45 8.32L7.35 10.42C7.32 10.45 7.29 10.47 7.25 10.49C7.22 10.51 7.18 10.51 7.14 10.51Z" })
80
+ children: /* @__PURE__ */ t("path", { d: "M7.14 10.51C7.06 10.51 6.98 10.49 6.92 10.43C6.86 10.38 6.83 10.3 6.83 10.21V5.79C6.83 5.7 6.86 5.62 6.92 5.57C6.99 5.51 7.06 5.49 7.14 5.49C7.16 5.49 7.23 5.52 7.35 5.58L9.45 7.68C9.5 7.73 9.53 7.78 9.56 7.83C9.58 7.88 9.59 7.94 9.59 8C9.59 8.06 9.58 8.12 9.56 8.17C9.53 8.22 9.5 8.27 9.45 8.32L7.35 10.42C7.32 10.45 7.29 10.47 7.25 10.49C7.22 10.51 7.18 10.51 7.14 10.51Z" })
79
81
  }
80
- ), X = (c) => /* @__PURE__ */ l(
82
+ ), lo = (c) => /* @__PURE__ */ t(
81
83
  "svg",
82
84
  {
83
85
  viewBox: "0 0 16 16",
84
86
  xmlns: "http://www.w3.org/2000/svg",
85
87
  fill: "currentColor",
86
88
  ...c,
87
- children: /* @__PURE__ */ l("path", { d: "M5.49 7.14C5.49 7.06 5.51 6.98 5.57 6.92C5.62 6.86 5.7 6.83 5.79 6.83H10.21C10.3 6.83 10.38 6.86 10.43 6.92C10.49 6.99 10.51 7.06 10.51 7.14C10.51 7.16 10.48 7.23 10.42 7.35L8.32 9.45C8.27 9.5 8.22 9.53 8.17 9.56C8.12 9.58 8.06 9.59 8 9.59C7.94 9.59 7.88 9.58 7.83 9.56C7.78 9.53 7.73 9.5 7.68 9.45L5.58 7.35C5.55 7.32 5.53 7.29 5.51 7.25C5.49 7.22 5.49 7.18 5.49 7.14Z" })
89
+ children: /* @__PURE__ */ t("path", { d: "M5.49 7.14C5.49 7.06 5.51 6.98 5.57 6.92C5.62 6.86 5.7 6.83 5.79 6.83H10.21C10.3 6.83 10.38 6.86 10.43 6.92C10.49 6.99 10.51 7.06 10.51 7.14C10.51 7.16 10.48 7.23 10.42 7.35L8.32 9.45C8.27 9.5 8.22 9.53 8.17 9.56C8.12 9.58 8.06 9.59 8 9.59C7.94 9.59 7.88 9.58 7.83 9.56C7.78 9.53 7.73 9.5 7.68 9.45L5.58 7.35C5.55 7.32 5.53 7.29 5.51 7.25C5.49 7.22 5.49 7.18 5.49 7.14Z" })
88
90
  }
89
- ), Y = (c) => /* @__PURE__ */ l(
91
+ ), eo = (c) => /* @__PURE__ */ t(
90
92
  "svg",
91
93
  {
92
94
  viewBox: "0 0 16 16",
93
95
  xmlns: "http://www.w3.org/2000/svg",
94
96
  fill: "currentColor",
95
97
  ...c,
96
- children: /* @__PURE__ */ l("path", { d: "M10.51 8.86C10.51 8.94 10.49 9.02 10.43 9.08C10.38 9.14 10.3 9.17 10.21 9.17H5.79C5.7 9.17 5.62 9.14 5.57 9.08C5.51 9.01 5.49 8.94 5.49 8.86C5.49 8.84 5.52 8.77 5.58 8.65L7.68 6.55C7.73 6.5 7.78 6.47 7.83 6.44C7.88 6.42 7.94 6.41 8 6.41C8.06 6.41 8.12 6.42 8.17 6.44C8.22 6.47 8.27 6.5 8.32 6.55L10.42 8.65C10.45 8.68 10.47 8.71 10.49 8.75C10.51 8.78 10.51 8.82 10.51 8.86Z" })
98
+ children: /* @__PURE__ */ t("path", { d: "M10.51 8.86C10.51 8.94 10.49 9.02 10.43 9.08C10.38 9.14 10.3 9.17 10.21 9.17H5.79C5.7 9.17 5.62 9.14 5.57 9.08C5.51 9.01 5.49 8.94 5.49 8.86C5.49 8.84 5.52 8.77 5.58 8.65L7.68 6.55C7.73 6.5 7.78 6.47 7.83 6.44C7.88 6.42 7.94 6.41 8 6.41C8.06 6.41 8.12 6.42 8.17 6.44C8.22 6.47 8.27 6.5 8.32 6.55L10.42 8.65C10.45 8.68 10.47 8.71 10.49 8.75C10.51 8.78 10.51 8.82 10.51 8.86Z" })
97
99
  }
98
- ), oo = Z({
100
+ ), ao = $({
99
101
  container: {
100
102
  position: "relative",
101
103
  display: "flex"
@@ -144,7 +146,7 @@ const J = (c) => /* @__PURE__ */ l(
144
146
  boxShadow: "inset 0 -8px 6px -6px rgba(0,0,0,0.08)"
145
147
  },
146
148
  arrowButton: {
147
- ...j,
149
+ ...G,
148
150
  position: "absolute",
149
151
  zIndex: 20,
150
152
  display: "flex",
@@ -152,9 +154,9 @@ const J = (c) => /* @__PURE__ */ l(
152
154
  justifyContent: "center",
153
155
  cursor: "pointer",
154
156
  backgroundColor: "transparent",
155
- ...b.borderStyle("none"),
156
- ...b.borderWidth(0),
157
- ...b.padding(0)
157
+ ...i.borderStyle("none"),
158
+ ...i.borderWidth(0),
159
+ ...i.padding(0)
158
160
  },
159
161
  arrowHorizontalStart: {
160
162
  ...a,
@@ -189,12 +191,12 @@ const J = (c) => /* @__PURE__ */ l(
189
191
  display: "flex",
190
192
  alignItems: "center",
191
193
  justifyContent: "center",
192
- backgroundColor: B,
193
- ...b.borderRadius(P),
194
+ backgroundColor: O,
195
+ ...i.borderRadius(J),
194
196
  backdropFilter: "blur(4px)",
195
- color: G,
197
+ color: Y,
196
198
  ":hover": {
197
- backgroundColor: $
199
+ backgroundColor: X
198
200
  }
199
201
  },
200
202
  arrowIcon: {
@@ -203,7 +205,7 @@ const J = (c) => /* @__PURE__ */ l(
203
205
  height: "1rem"
204
206
  },
205
207
  scrollAreaRoot: {
206
- ...b.overflow("hidden"),
208
+ ...i.overflow("hidden"),
207
209
  flexGrow: 1,
208
210
  flexShrink: 1,
209
211
  flexBasis: "0%"
@@ -228,14 +230,20 @@ const J = (c) => /* @__PURE__ */ l(
228
230
  },
229
231
  viewport: {
230
232
  ...a,
231
- ...b.borderRadius(U),
233
+ ...i.borderRadius(q),
234
+ // The tracks replace the native scrollbars. Zenith's stylesheet hides them, so no inline
235
+ // <style> needs a nonce (Radix's took the viewport's).
236
+ scrollbarWidth: "none",
237
+ "::-webkit-scrollbar": { display: "none" },
232
238
  ":focus-visible": {
233
239
  outlineWidth: "2px",
234
240
  outlineOffset: "2px",
235
241
  outlineStyle: "solid",
236
- outlineColor: K
242
+ outlineColor: U
237
243
  }
238
244
  },
245
+ // The content wrapper keeps Radix's display:table, which grows to the content's width.
246
+ content: { display: "table" },
239
247
  viewportHorizontal: {
240
248
  "& > div": {
241
249
  display: "flex",
@@ -256,7 +264,6 @@ const J = (c) => /* @__PURE__ */ l(
256
264
  },
257
265
  scrollbar: {
258
266
  ...a,
259
- ...b.padding("1px"),
260
267
  transitionProperty: "color, background-color, border-color",
261
268
  transitionDuration: "150ms"
262
269
  },
@@ -266,78 +273,89 @@ const J = (c) => /* @__PURE__ */ l(
266
273
  scrollbarHorizontal: {
267
274
  ...a,
268
275
  height: "0.5rem",
269
- flexDirection: "column"
276
+ flexDirection: "column",
277
+ // The 1px inset along the scroll axis is margin, not padding: Base UI sizes the thumb from the
278
+ // track's offset size without subtracting padding (see ScrollArea's tracks).
279
+ ...i.padding("1px", "0"),
280
+ ...i.margin("0", "1px")
270
281
  },
271
282
  scrollbarVertical: {
272
283
  ...a,
273
284
  width: "0.5rem",
274
- flexDirection: "row"
285
+ flexDirection: "row",
286
+ ...i.padding("0", "1px"),
287
+ ...i.margin("1px", "0")
275
288
  },
276
289
  thumb: {
277
- backgroundColor: B
290
+ backgroundColor: O
278
291
  }
279
- }), co = w.forwardRef(function({
292
+ }), vo = w.forwardRef(function({
280
293
  className: m,
281
- children: y,
294
+ children: z,
282
295
  arrows: h = !1,
283
296
  gradients: S = !0,
284
297
  gradientWidth: u = 40,
285
- gradientColor: C = "var(--volt-body)",
286
- shadow: x = !0,
287
- scrollbar: g = !1,
298
+ gradientColor: b = _,
299
+ shadow: C = !0,
300
+ scrollbar: y = !1,
288
301
  scrollStep: H,
289
302
  orientation: n = "horizontal",
290
- ...p
291
- }, z) {
292
- const o = oo(), t = _(), {
293
- scrollRef: e,
294
- hasOverflow: i,
295
- canScrollStart: d,
296
- canScrollEnd: k,
297
- scrollToStart: V,
298
- scrollToEnd: E
299
- } = q({ scrollStep: H, orientation: n }), r = n === "horizontal", L = (v) => {
300
- var R, A;
303
+ dir: p = "ltr",
304
+ // Radix-only: its visibility and slotting have no Base UI counterpart (see the prop docs).
305
+ type: k,
306
+ scrollHideDelay: A,
307
+ asChild: l,
308
+ ...e
309
+ }, d) {
310
+ const o = ao(), D = Q(), {
311
+ scrollRef: x,
312
+ hasOverflow: V,
313
+ canScrollStart: E,
314
+ canScrollEnd: R,
315
+ scrollToStart: I,
316
+ scrollToEnd: B
317
+ } = oo({ scrollStep: H, orientation: n }), r = n === "horizontal", N = y && !(k === "hover" && !V), F = (v) => {
318
+ var T, L;
301
319
  if (v.target !== v.currentTarget) return;
302
- const N = r ? "ArrowLeft" : "ArrowUp", T = r ? "ArrowRight" : "ArrowDown";
320
+ const Z = r ? "ArrowLeft" : "ArrowUp", j = r ? "ArrowRight" : "ArrowDown";
303
321
  switch (v.key) {
304
- case N:
305
- v.preventDefault(), V();
322
+ case Z:
323
+ v.preventDefault(), I();
306
324
  break;
307
- case T:
308
- v.preventDefault(), E();
325
+ case j:
326
+ v.preventDefault(), B();
309
327
  break;
310
328
  case "Home":
311
- v.preventDefault(), (R = e.current) == null || R.scrollTo({
329
+ v.preventDefault(), (T = x.current) == null || T.scrollTo({
312
330
  [r ? "left" : "top"]: 0,
313
331
  behavior: "smooth"
314
332
  });
315
333
  break;
316
334
  case "End":
317
- v.preventDefault(), (A = e.current) == null || A.scrollTo({
318
- [r ? "left" : "top"]: r ? e.current.scrollWidth : e.current.scrollHeight,
335
+ v.preventDefault(), (L = x.current) == null || L.scrollTo({
336
+ [r ? "left" : "top"]: r ? x.current.scrollWidth : x.current.scrollHeight,
319
337
  behavior: "smooth"
320
338
  });
321
339
  break;
322
340
  }
323
341
  };
324
- return /* @__PURE__ */ I(
342
+ return /* @__PURE__ */ M(
325
343
  "div",
326
344
  {
327
- ref: z,
345
+ ref: d,
328
346
  "data-slot": "scroll-overflow",
329
347
  [s]: "scroll-overflow",
330
348
  "data-orientation": n,
331
- "data-has-overflow": i || void 0,
332
- "data-can-scroll-start": d || void 0,
333
- "data-can-scroll-end": k || void 0,
349
+ "data-has-overflow": V || void 0,
350
+ "data-can-scroll-start": E || void 0,
351
+ "data-can-scroll-end": R || void 0,
334
352
  className: f(
335
353
  o.container,
336
354
  r ? o.containerHorizontal : o.containerVertical,
337
355
  m
338
356
  ),
339
357
  children: [
340
- S && d && /* @__PURE__ */ l(
358
+ S && E && /* @__PURE__ */ t(
341
359
  "div",
342
360
  {
343
361
  "data-slot": "scroll-overflow-fade-start",
@@ -346,18 +364,18 @@ const J = (c) => /* @__PURE__ */ l(
346
364
  className: f(
347
365
  o.fade,
348
366
  r ? o.fadeHorizontalStart : o.fadeVerticalStart,
349
- x && (r ? o.shadowHorizontalStart : o.shadowVerticalStart)
367
+ C && (r ? o.shadowHorizontalStart : o.shadowVerticalStart)
350
368
  ),
351
369
  style: r ? {
352
370
  width: u,
353
- background: `linear-gradient(to right, ${C}, transparent)`
371
+ background: `linear-gradient(to right, ${b}, transparent)`
354
372
  } : {
355
373
  height: u,
356
- background: `linear-gradient(to bottom, ${C}, transparent)`
374
+ background: `linear-gradient(to bottom, ${b}, transparent)`
357
375
  }
358
376
  }
359
377
  ),
360
- h && d && /* @__PURE__ */ l(
378
+ h && E && /* @__PURE__ */ t(
361
379
  "button",
362
380
  {
363
381
  "data-slot": "scroll-overflow-arrow-start",
@@ -365,78 +383,89 @@ const J = (c) => /* @__PURE__ */ l(
365
383
  type: "button",
366
384
  tabIndex: -1,
367
385
  "aria-label": r ? "Scroll left" : "Scroll up",
368
- onClick: V,
386
+ onClick: I,
369
387
  className: f(
370
388
  o.arrowButton,
371
389
  r ? o.arrowHorizontalStart : o.arrowVerticalStart
372
390
  ),
373
- children: /* @__PURE__ */ l(
391
+ children: /* @__PURE__ */ t(
374
392
  "span",
375
393
  {
376
394
  "data-slot": "scroll-overflow-arrow-icon",
377
395
  [s]: "scroll-overflow-arrow-icon",
378
396
  className: o.arrowBadge,
379
- children: r ? /* @__PURE__ */ l(J, { className: o.arrowIcon }) : /* @__PURE__ */ l(X, { className: o.arrowIcon })
397
+ children: r ? /* @__PURE__ */ t(ro, { className: o.arrowIcon }) : /* @__PURE__ */ t(lo, { className: o.arrowIcon })
380
398
  }
381
399
  )
382
400
  }
383
401
  ),
384
- /* @__PURE__ */ I(
385
- M,
402
+ /* @__PURE__ */ t(P, { direction: p, children: /* @__PURE__ */ t(K, { disableStyleElements: !0, children: /* @__PURE__ */ M(
403
+ g.Root,
386
404
  {
387
405
  "data-slot": "scroll-overflow-root",
388
- type: "scroll",
389
406
  [s]: "scroll-overflow-root",
407
+ ...e,
408
+ dir: p,
390
409
  className: f(
391
410
  o.scrollAreaRoot,
392
411
  r ? o.scrollAreaRootHorizontal : o.scrollAreaRootVertical,
393
- g && (r ? o.scrollAreaRootScrollbarHorizontal : o.scrollAreaRootScrollbarVertical)
412
+ N && (r ? o.scrollAreaRootScrollbarHorizontal : o.scrollAreaRootScrollbarVertical)
394
413
  ),
395
- ...p,
396
414
  children: [
397
- /* @__PURE__ */ l(
398
- O,
415
+ /* @__PURE__ */ t(
416
+ g.Viewport,
399
417
  {
400
- ref: e,
418
+ ref: x,
401
419
  "data-slot": "scroll-overflow-viewport",
402
420
  [s]: "scroll-overflow-viewport",
403
- tabIndex: i ? 0 : void 0,
404
- onKeyDown: L,
421
+ tabIndex: V ? 0 : -1,
422
+ onKeyDown: F,
405
423
  className: f(
406
424
  o.viewport,
407
425
  r && o.viewportHorizontal,
408
- g && o.viewportFlex,
426
+ y && o.viewportFlex,
409
427
  !r && o.viewportVertical
410
428
  ),
411
- children: y
429
+ style: {
430
+ overflowX: r ? "scroll" : "hidden",
431
+ overflowY: r ? "hidden" : "scroll"
432
+ },
433
+ children: /* @__PURE__ */ t(
434
+ g.Content,
435
+ {
436
+ className: o.content,
437
+ style: { minWidth: "100%" },
438
+ children: z
439
+ }
440
+ )
412
441
  }
413
442
  ),
414
- /* @__PURE__ */ l(
415
- F,
443
+ /* @__PURE__ */ t(
444
+ g.Scrollbar,
416
445
  {
417
- forceMount: !0,
446
+ keepMounted: !0,
418
447
  orientation: n,
419
448
  "data-slot": "scroll-overflow-scrollbar",
420
449
  [s]: "scroll-overflow-scrollbar",
421
450
  className: f(
422
- t.track,
423
- g ? o.scrollbar : o.scrollbarHidden,
451
+ D.track,
452
+ N ? o.scrollbar : o.scrollbarHidden,
424
453
  r ? o.scrollbarHorizontal : o.scrollbarVertical
425
454
  ),
426
- children: /* @__PURE__ */ l(
427
- W,
455
+ children: /* @__PURE__ */ t(
456
+ g.Thumb,
428
457
  {
429
458
  "data-slot": "scroll-overflow-thumb",
430
459
  [s]: "scroll-overflow-thumb",
431
- className: f(t.thumb, o.thumb)
460
+ className: f(D.thumb, o.thumb)
432
461
  }
433
462
  )
434
463
  }
435
464
  )
436
465
  ]
437
466
  }
438
- ),
439
- S && k && /* @__PURE__ */ l(
467
+ ) }) }),
468
+ S && R && /* @__PURE__ */ t(
440
469
  "div",
441
470
  {
442
471
  "data-slot": "scroll-overflow-fade-end",
@@ -445,18 +474,18 @@ const J = (c) => /* @__PURE__ */ l(
445
474
  className: f(
446
475
  o.fade,
447
476
  r ? o.fadeHorizontalEnd : o.fadeVerticalEnd,
448
- x && (r ? o.shadowHorizontalEnd : o.shadowVerticalEnd)
477
+ C && (r ? o.shadowHorizontalEnd : o.shadowVerticalEnd)
449
478
  ),
450
479
  style: r ? {
451
480
  width: u,
452
- background: `linear-gradient(to left, ${C}, transparent)`
481
+ background: `linear-gradient(to left, ${b}, transparent)`
453
482
  } : {
454
483
  height: u,
455
- background: `linear-gradient(to top, ${C}, transparent)`
484
+ background: `linear-gradient(to top, ${b}, transparent)`
456
485
  }
457
486
  }
458
487
  ),
459
- h && k && /* @__PURE__ */ l(
488
+ h && R && /* @__PURE__ */ t(
460
489
  "button",
461
490
  {
462
491
  "data-slot": "scroll-overflow-arrow-end",
@@ -464,18 +493,18 @@ const J = (c) => /* @__PURE__ */ l(
464
493
  type: "button",
465
494
  tabIndex: -1,
466
495
  "aria-label": r ? "Scroll right" : "Scroll down",
467
- onClick: E,
496
+ onClick: B,
468
497
  className: f(
469
498
  o.arrowButton,
470
499
  r ? o.arrowHorizontalEnd : o.arrowVerticalEnd
471
500
  ),
472
- children: /* @__PURE__ */ l(
501
+ children: /* @__PURE__ */ t(
473
502
  "span",
474
503
  {
475
504
  "data-slot": "scroll-overflow-arrow-icon",
476
505
  [s]: "scroll-overflow-arrow-icon",
477
506
  className: o.arrowBadge,
478
- children: r ? /* @__PURE__ */ l(Q, { className: o.arrowIcon }) : /* @__PURE__ */ l(Y, { className: o.arrowIcon })
507
+ children: r ? /* @__PURE__ */ t(to, { className: o.arrowIcon }) : /* @__PURE__ */ t(eo, { className: o.arrowIcon })
479
508
  }
480
509
  )
481
510
  }
@@ -485,7 +514,7 @@ const J = (c) => /* @__PURE__ */ l(
485
514
  );
486
515
  });
487
516
  export {
488
- co as ScrollOverflow,
489
- q as useScrollOverflow
517
+ vo as ScrollOverflow,
518
+ oo as useScrollOverflow
490
519
  };
491
520
  //# sourceMappingURL=scroll-overflow.js.map