@epilot/zenith-react 0.2.0-next.1 → 0.2.0-next.4

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 (273) hide show
  1. package/README.md +25 -0
  2. package/codemods/README.md +168 -0
  3. package/codemods/migrate/base-elements/accordion.ts +132 -0
  4. package/codemods/migrate/base-elements/alert.ts +81 -0
  5. package/codemods/migrate/base-elements/avatar.ts +116 -0
  6. package/codemods/migrate/base-elements/button.ts +188 -0
  7. package/codemods/migrate/base-elements/checkbox.ts +17 -0
  8. package/codemods/migrate/base-elements/chip.ts +87 -0
  9. package/codemods/migrate/base-elements/chip360.ts +162 -0
  10. package/codemods/migrate/base-elements/circular-progress.ts +73 -0
  11. package/codemods/migrate/base-elements/dialog.ts +323 -0
  12. package/codemods/migrate/base-elements/divider.ts +61 -0
  13. package/codemods/migrate/base-elements/feedback-message.ts +95 -0
  14. package/codemods/migrate/base-elements/icon-button.ts +203 -0
  15. package/codemods/migrate/base-elements/index.ts +55 -0
  16. package/codemods/migrate/base-elements/mui-props.ts +29 -0
  17. package/codemods/migrate/base-elements/notification.ts +98 -0
  18. package/codemods/migrate/base-elements/paper.ts +78 -0
  19. package/codemods/migrate/base-elements/select.ts +328 -0
  20. package/codemods/migrate/base-elements/shared.ts +910 -0
  21. package/codemods/migrate/base-elements/skeleton.ts +83 -0
  22. package/codemods/migrate/base-elements/switch.ts +19 -0
  23. package/codemods/migrate/base-elements/tabs.ts +222 -0
  24. package/codemods/migrate/base-elements/text-field.ts +425 -0
  25. package/codemods/migrate/base-elements/toggle-button.ts +185 -0
  26. package/codemods/migrate/base-elements/tooltip.ts +231 -0
  27. package/codemods/migrate/base-elements/typography.ts +247 -0
  28. package/codemods/migrate/base-elements/unsupported.ts +277 -0
  29. package/codemods/migrate/from-base-elements.ts +20 -0
  30. package/codemods/migrate/from-volt.ts +20 -0
  31. package/codemods/migrate/lib/imports.ts +399 -0
  32. package/codemods/migrate/lib/jsx.ts +313 -0
  33. package/codemods/migrate/lib/run-migration.ts +528 -0
  34. package/codemods/migrate/lib/source.ts +6 -0
  35. package/codemods/migrate/lib/todo.ts +107 -0
  36. package/codemods/migrate/lib/types.ts +114 -0
  37. package/codemods/migrate/volt/class-helpers.ts +37 -0
  38. package/codemods/migrate/volt/index.ts +18 -0
  39. package/codemods/migrate/volt/pagination.ts +26 -0
  40. package/codemods/migrate/volt/same-name.ts +293 -0
  41. package/codemods/migrate/volt/stylesheets.ts +18 -0
  42. package/codemods/migrate/volt/tanstack-types.ts +20 -0
  43. package/codemods/radix-to-base-ui.ts +389 -0
  44. package/dist/_virtual/_zenith-runtime-family_accordion.js +7 -0
  45. package/dist/_virtual/_zenith-runtime-family_accordion.js.map +1 -0
  46. package/dist/_virtual/_zenith-runtime-family_alert-dialog.js +7 -0
  47. package/dist/_virtual/_zenith-runtime-family_alert-dialog.js.map +1 -0
  48. package/dist/_virtual/_zenith-runtime-family_avatar.js +7 -0
  49. package/dist/_virtual/_zenith-runtime-family_avatar.js.map +1 -0
  50. package/dist/_virtual/_zenith-runtime-family_button.js +7 -0
  51. package/dist/_virtual/_zenith-runtime-family_button.js.map +1 -0
  52. package/dist/_virtual/_zenith-runtime-family_checkbox.js +7 -0
  53. package/dist/_virtual/_zenith-runtime-family_checkbox.js.map +1 -0
  54. package/dist/_virtual/_zenith-runtime-family_csp-provider.js +7 -0
  55. package/dist/_virtual/_zenith-runtime-family_csp-provider.js.map +1 -0
  56. package/dist/_virtual/_zenith-runtime-family_dialog.js +7 -0
  57. package/dist/_virtual/_zenith-runtime-family_dialog.js.map +1 -0
  58. package/dist/_virtual/_zenith-runtime-family_direction-provider.js +8 -0
  59. package/dist/_virtual/_zenith-runtime-family_direction-provider.js.map +1 -0
  60. package/dist/_virtual/_zenith-runtime-family_menu.js +7 -0
  61. package/dist/_virtual/_zenith-runtime-family_menu.js.map +1 -0
  62. package/dist/_virtual/_zenith-runtime-family_merge-props.js +11 -0
  63. package/dist/_virtual/_zenith-runtime-family_merge-props.js.map +1 -0
  64. package/dist/_virtual/_zenith-runtime-family_popover.js +7 -0
  65. package/dist/_virtual/_zenith-runtime-family_popover.js.map +1 -0
  66. package/dist/_virtual/_zenith-runtime-family_radio-group.js +7 -0
  67. package/dist/_virtual/_zenith-runtime-family_radio-group.js.map +1 -0
  68. package/dist/_virtual/_zenith-runtime-family_radio.js +7 -0
  69. package/dist/_virtual/_zenith-runtime-family_radio.js.map +1 -0
  70. package/dist/_virtual/_zenith-runtime-family_scroll-area.js +7 -0
  71. package/dist/_virtual/_zenith-runtime-family_scroll-area.js.map +1 -0
  72. package/dist/_virtual/_zenith-runtime-family_select.js +7 -0
  73. package/dist/_virtual/_zenith-runtime-family_select.js.map +1 -0
  74. package/dist/_virtual/_zenith-runtime-family_separator.js +7 -0
  75. package/dist/_virtual/_zenith-runtime-family_separator.js.map +1 -0
  76. package/dist/_virtual/_zenith-runtime-family_switch.js +7 -0
  77. package/dist/_virtual/_zenith-runtime-family_switch.js.map +1 -0
  78. package/dist/_virtual/_zenith-runtime-family_tabs.js +7 -0
  79. package/dist/_virtual/_zenith-runtime-family_tabs.js.map +1 -0
  80. package/dist/_virtual/_zenith-runtime-family_toast.js +7 -0
  81. package/dist/_virtual/_zenith-runtime-family_toast.js.map +1 -0
  82. package/dist/_virtual/_zenith-runtime-family_toggle-group.js +7 -0
  83. package/dist/_virtual/_zenith-runtime-family_toggle-group.js.map +1 -0
  84. package/dist/_virtual/_zenith-runtime-family_toggle.js +7 -0
  85. package/dist/_virtual/_zenith-runtime-family_toggle.js.map +1 -0
  86. package/dist/_virtual/_zenith-runtime-family_tooltip.js +7 -0
  87. package/dist/_virtual/_zenith-runtime-family_tooltip.js.map +1 -0
  88. package/dist/_virtual/_zenith-runtime-family_use-render.js +7 -0
  89. package/dist/_virtual/_zenith-runtime-family_use-render.js.map +1 -0
  90. package/dist/components/accordion/accordion.js +179 -96
  91. package/dist/components/accordion/accordion.js.map +1 -1
  92. package/dist/components/alert-dialog/alert-dialog.js +243 -206
  93. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  94. package/dist/components/avatar/avatar.js +94 -82
  95. package/dist/components/avatar/avatar.js.map +1 -1
  96. package/dist/components/badge/badge.js +11 -11
  97. package/dist/components/breadcrumb/breadcrumb.js +69 -70
  98. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  99. package/dist/components/button/button.js +119 -102
  100. package/dist/components/button/button.js.map +1 -1
  101. package/dist/components/checkbox/checkbox.js +68 -51
  102. package/dist/components/checkbox/checkbox.js.map +1 -1
  103. package/dist/components/data-table/data-table-header.js +113 -99
  104. package/dist/components/data-table/data-table-header.js.map +1 -1
  105. package/dist/components/data-table/data-table-row.js +49 -40
  106. package/dist/components/data-table/data-table-row.js.map +1 -1
  107. package/dist/components/date-range-picker/date-range-picker.js +100 -90
  108. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  109. package/dist/components/date-time-picker/date-time-picker-input.js +118 -108
  110. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  111. package/dist/components/date-time-picker/date-time-picker-panel.js +91 -94
  112. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  113. package/dist/components/dialog/dialog.js +238 -228
  114. package/dist/components/dialog/dialog.js.map +1 -1
  115. package/dist/components/drawer/drawer.js +260 -322
  116. package/dist/components/drawer/drawer.js.map +1 -1
  117. package/dist/components/dropdown-menu/dropdown-menu.js +533 -279
  118. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  119. package/dist/components/field/field-combobox.js +87 -77
  120. package/dist/components/field/field-combobox.js.map +1 -1
  121. package/dist/components/list/list-sortable.js +104 -0
  122. package/dist/components/list/list-sortable.js.map +1 -0
  123. package/dist/components/list/list.js +246 -324
  124. package/dist/components/list/list.js.map +1 -1
  125. package/dist/components/option-card/option-card.js +121 -117
  126. package/dist/components/option-card/option-card.js.map +1 -1
  127. package/dist/components/pill/pill.js +7 -7
  128. package/dist/components/popover/popover.js +223 -127
  129. package/dist/components/popover/popover.js.map +1 -1
  130. package/dist/components/radio/radio-group-base.js +54 -0
  131. package/dist/components/radio/radio-group-base.js.map +1 -0
  132. package/dist/components/radio/radio.js +71 -60
  133. package/dist/components/radio/radio.js.map +1 -1
  134. package/dist/components/scroll-area/scroll-area.js +142 -108
  135. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  136. package/dist/components/scroll-overflow/scroll-overflow.js +156 -127
  137. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  138. package/dist/components/segmented-control/segmented-control.js +93 -81
  139. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  140. package/dist/components/select/select.js +485 -310
  141. package/dist/components/select/select.js.map +1 -1
  142. package/dist/components/separator/separator.js.map +1 -1
  143. package/dist/components/slot/compose-as-child.js +15 -12
  144. package/dist/components/slot/compose-as-child.js.map +1 -1
  145. package/dist/components/switch/switch.js +75 -68
  146. package/dist/components/switch/switch.js.map +1 -1
  147. package/dist/components/table/table-pagination.js +212 -175
  148. package/dist/components/table/table-pagination.js.map +1 -1
  149. package/dist/components/tabs/tabs.js +193 -190
  150. package/dist/components/tabs/tabs.js.map +1 -1
  151. package/dist/components/toast/toast.js +610 -148
  152. package/dist/components/toast/toast.js.map +1 -1
  153. package/dist/components/toggle/toggle-group.js +143 -32
  154. package/dist/components/toggle/toggle-group.js.map +1 -1
  155. package/dist/components/toggle/toggle.js +83 -53
  156. package/dist/components/toggle/toggle.js.map +1 -1
  157. package/dist/components/tooltip/tooltip.js +298 -138
  158. package/dist/components/tooltip/tooltip.js.map +1 -1
  159. package/dist/index.d.ts +2335 -2129
  160. package/dist/index.js +24 -23
  161. package/dist/list/sortable/index.d.ts +29 -0
  162. package/dist/list/sortable/index.js +5 -0
  163. package/dist/{_virtual → list/sortable}/index.js.map +1 -1
  164. package/dist/packages/tokens/dist/delivery/index.js +10 -10
  165. package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
  166. package/dist/packages/tokens/dist/generated/core.generated.js +6 -15
  167. package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -1
  168. package/dist/packages/tokens/dist/generated/palette.generated.js +4 -5
  169. package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
  170. package/dist/packages/tokens/dist/generated/palette.meta.generated.js +5 -0
  171. package/dist/packages/tokens/dist/generated/palette.meta.generated.js.map +1 -0
  172. package/dist/packages/tokens/dist/install.js +40 -17
  173. package/dist/packages/tokens/dist/install.js.map +1 -1
  174. package/dist/renderer/runtime-contract.generated.js +8 -0
  175. package/dist/renderer/runtime-contract.generated.js.map +1 -0
  176. package/dist/renderer/served.js +34 -0
  177. package/dist/renderer/served.js.map +1 -0
  178. package/dist/tokens/core.meta.generated.js +2 -2
  179. package/dist/tokens/core.meta.generated.js.map +1 -1
  180. package/dist/tokens/index.d.ts +1028 -1028
  181. package/dist/tokens/index.js +863 -863
  182. package/dist/tokens/index.js.map +1 -1
  183. package/dist/tokens/palette.meta.generated.js +5 -0
  184. package/dist/tokens/palette.meta.generated.js.map +1 -0
  185. package/dist/tokens.json +1 -1
  186. package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js +57 -62
  187. package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js.map +1 -1
  188. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +32 -38
  189. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +1 -1
  190. package/package.json +29 -21
  191. package/scripts/migration-diagnostics-core.mjs +18 -10
  192. package/scripts/migration-diagnostics.mjs +31 -8
  193. package/dist/_virtual/index.js +0 -6
  194. package/dist/_virtual/index2.js +0 -5
  195. package/dist/_virtual/index2.js.map +0 -1
  196. package/dist/_virtual/use-sync-external-store-shim.development.js +0 -5
  197. package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  198. package/dist/_virtual/use-sync-external-store-shim.production.js +0 -5
  199. package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  200. package/dist/tokens/palette.generated.js +0 -5
  201. package/dist/tokens/palette.generated.js.map +0 -1
  202. package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js +0 -512
  203. package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
  204. package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js +0 -396
  205. package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  206. 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
  207. 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
  208. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -137
  209. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  210. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js +0 -129
  211. package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  212. package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js +0 -7
  213. package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js.map +0 -1
  214. package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js +0 -240
  215. package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js.map +0 -1
  216. package/dist/vendor/.bun/@radix-ui_react-alert-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-alert-dialog/dist/index.js +0 -128
  217. 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
  218. package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js +0 -25
  219. package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js.map +0 -1
  220. package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js +0 -76
  221. package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js.map +0 -1
  222. package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js +0 -252
  223. package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js.map +0 -1
  224. package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js +0 -121
  225. package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js.map +0 -1
  226. package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js +0 -49
  227. package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js.map +0 -1
  228. package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js +0 -11
  229. package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js.map +0 -1
  230. package/dist/vendor/.bun/@radix-ui_react-dropdown-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-dropdown-menu/dist/index.js +0 -228
  231. 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
  232. package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js +0 -653
  233. package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js.map +0 -1
  234. package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js +0 -244
  235. package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js.map +0 -1
  236. package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js +0 -222
  237. package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js.map +0 -1
  238. package/dist/vendor/.bun/@radix-ui_react-radio-group@1.3.8_2b23df507bdda662/vendor/@radix-ui/react-radio-group/dist/index.js +0 -239
  239. 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
  240. package/dist/vendor/.bun/@radix-ui_react-roving-focus@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-roving-focus/dist/index.js +0 -184
  241. 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
  242. package/dist/vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js +0 -535
  243. 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
  244. package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js +0 -863
  245. package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js.map +0 -1
  246. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +0 -63
  247. package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +0 -1
  248. package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js +0 -133
  249. package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js.map +0 -1
  250. package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js +0 -164
  251. package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js.map +0 -1
  252. package/dist/vendor/.bun/@radix-ui_react-toggle-group@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-toggle-group/dist/index.js +0 -138
  253. 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
  254. package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js +0 -34
  255. package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js.map +0 -1
  256. package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js +0 -340
  257. package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js.map +0 -1
  258. 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
  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.map +0 -1
  260. package/dist/vendor/.bun/@radix-ui_react-use-previous@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-previous/dist/index.js +0 -9
  261. 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
  262. package/dist/vendor/.bun/@radix-ui_react-use-size@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-size/dist/index.js +0 -28
  263. 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
  264. package/dist/vendor/.bun/@radix-ui_react-visually-hidden@1.2.3_2b23df507bdda662/vendor/@radix-ui/react-visually-hidden/dist/index.js +0 -33
  265. 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
  266. package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js +0 -747
  267. package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js.map +0 -1
  268. 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
  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.map +0 -1
  270. 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
  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.map +0 -1
  272. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js +0 -11
  273. package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js.map +0 -1
@@ -1,535 +0,0 @@
1
- import * as c from "react";
2
- import { Primitive as L } from "../../../../../@radix-ui_react-primitive@2.1.3_2b23df507bdda662/vendor/@radix-ui/react-primitive/dist/index.js";
3
- import { Presence as I } from "../../../../../@radix-ui_react-presence@1.1.5_2b23df507bdda662/vendor/@radix-ui/react-presence/dist/index.js";
4
- import { createContextScope as le } from "../../../../../@radix-ui_react-context@1.1.2_0ac650c021fb1b59/vendor/@radix-ui/react-context/dist/index.js";
5
- import { useComposedRefs as A } from "../../../../../@radix-ui_react-compose-refs@1.1.2_0ac650c021fb1b59/vendor/@radix-ui/react-compose-refs/dist/index.js";
6
- import { useCallbackRef as C } from "../../../../../@radix-ui_react-use-callback-ref@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-callback-ref/dist/index.js";
7
- import { useDirection as ce } from "../../../../../@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js";
8
- import { useLayoutEffect as ie } from "../../../../../@radix-ui_react-use-layout-effect@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-layout-effect/dist/index.js";
9
- import { clamp as se } from "../../../../../@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js";
10
- import { composeEventHandlers as R } from "../../../../../@radix-ui_primitive@1.1.3/vendor/@radix-ui/primitive/dist/index.js";
11
- import { jsx as b, jsxs as ae, Fragment as de } from "react/jsx-runtime";
12
- function ue(e, t) {
13
- return c.useReducer((r, l) => t[r][l] ?? r, e);
14
- }
15
- var V = "ScrollArea", [j] = le(V), [fe, p] = j(V), q = c.forwardRef(
16
- (e, t) => {
17
- const {
18
- __scopeScrollArea: r,
19
- type: l = "hover",
20
- dir: o,
21
- scrollHideDelay: n = 600,
22
- ...i
23
- } = e, [s, a] = c.useState(null), [f, d] = c.useState(null), [h, u] = c.useState(null), [S, v] = c.useState(null), [y, M] = c.useState(null), [P, _] = c.useState(0), [U, D] = c.useState(0), [W, x] = c.useState(!1), [H, z] = c.useState(!1), m = A(t, (E) => a(E)), w = ce(o);
24
- return /* @__PURE__ */ b(
25
- fe,
26
- {
27
- scope: r,
28
- type: l,
29
- dir: w,
30
- scrollHideDelay: n,
31
- scrollArea: s,
32
- viewport: f,
33
- onViewportChange: d,
34
- content: h,
35
- onContentChange: u,
36
- scrollbarX: S,
37
- onScrollbarXChange: v,
38
- scrollbarXEnabled: W,
39
- onScrollbarXEnabledChange: x,
40
- scrollbarY: y,
41
- onScrollbarYChange: M,
42
- scrollbarYEnabled: H,
43
- onScrollbarYEnabledChange: z,
44
- onCornerWidthChange: _,
45
- onCornerHeightChange: D,
46
- children: /* @__PURE__ */ b(
47
- L.div,
48
- {
49
- dir: w,
50
- ...i,
51
- ref: m,
52
- style: {
53
- position: "relative",
54
- // Pass corner sizes as CSS vars to reduce re-renders of context consumers
55
- "--radix-scroll-area-corner-width": P + "px",
56
- "--radix-scroll-area-corner-height": U + "px",
57
- ...e.style
58
- }
59
- }
60
- )
61
- }
62
- );
63
- }
64
- );
65
- q.displayName = V;
66
- var $ = "ScrollAreaViewport", G = c.forwardRef(
67
- (e, t) => {
68
- const { __scopeScrollArea: r, children: l, nonce: o, ...n } = e, i = p($, r), s = c.useRef(null), a = A(t, s, i.onViewportChange);
69
- return /* @__PURE__ */ ae(de, { children: [
70
- /* @__PURE__ */ b(
71
- "style",
72
- {
73
- dangerouslySetInnerHTML: {
74
- __html: "[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"
75
- },
76
- nonce: o
77
- }
78
- ),
79
- /* @__PURE__ */ b(
80
- L.div,
81
- {
82
- "data-radix-scroll-area-viewport": "",
83
- ...n,
84
- ref: a,
85
- style: {
86
- /**
87
- * We don't support `visible` because the intention is to have at least one scrollbar
88
- * if this component is used and `visible` will behave like `auto` in that case
89
- * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
90
- *
91
- * We don't handle `auto` because the intention is for the native implementation
92
- * to be hidden if using this component. We just want to ensure the node is scrollable
93
- * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
94
- * the browser from having to work out whether to render native scrollbars or not,
95
- * we tell it to with the intention of hiding them in CSS.
96
- */
97
- overflowX: i.scrollbarXEnabled ? "scroll" : "hidden",
98
- overflowY: i.scrollbarYEnabled ? "scroll" : "hidden",
99
- ...e.style
100
- },
101
- children: /* @__PURE__ */ b("div", { ref: i.onContentChange, style: { minWidth: "100%", display: "table" }, children: l })
102
- }
103
- )
104
- ] });
105
- }
106
- );
107
- G.displayName = $;
108
- var g = "ScrollAreaScrollbar", J = c.forwardRef(
109
- (e, t) => {
110
- const { forceMount: r, ...l } = e, o = p(g, e.__scopeScrollArea), { onScrollbarXEnabledChange: n, onScrollbarYEnabledChange: i } = o, s = e.orientation === "horizontal";
111
- return c.useEffect(() => (s ? n(!0) : i(!0), () => {
112
- s ? n(!1) : i(!1);
113
- }), [s, n, i]), o.type === "hover" ? /* @__PURE__ */ b(he, { ...l, ref: t, forceMount: r }) : o.type === "scroll" ? /* @__PURE__ */ b(be, { ...l, ref: t, forceMount: r }) : o.type === "auto" ? /* @__PURE__ */ b(K, { ...l, ref: t, forceMount: r }) : o.type === "always" ? /* @__PURE__ */ b(k, { ...l, ref: t }) : null;
114
- }
115
- );
116
- J.displayName = g;
117
- var he = c.forwardRef((e, t) => {
118
- const { forceMount: r, ...l } = e, o = p(g, e.__scopeScrollArea), [n, i] = c.useState(!1);
119
- return c.useEffect(() => {
120
- const s = o.scrollArea;
121
- let a = 0;
122
- if (s) {
123
- const f = () => {
124
- window.clearTimeout(a), i(!0);
125
- }, d = () => {
126
- a = window.setTimeout(() => i(!1), o.scrollHideDelay);
127
- };
128
- return s.addEventListener("pointerenter", f), s.addEventListener("pointerleave", d), () => {
129
- window.clearTimeout(a), s.removeEventListener("pointerenter", f), s.removeEventListener("pointerleave", d);
130
- };
131
- }
132
- }, [o.scrollArea, o.scrollHideDelay]), /* @__PURE__ */ b(I, { present: r || n, children: /* @__PURE__ */ b(
133
- K,
134
- {
135
- "data-state": n ? "visible" : "hidden",
136
- ...l,
137
- ref: t
138
- }
139
- ) });
140
- }), be = c.forwardRef((e, t) => {
141
- const { forceMount: r, ...l } = e, o = p(g, e.__scopeScrollArea), n = e.orientation === "horizontal", i = Y(() => a("SCROLL_END"), 100), [s, a] = ue("hidden", {
142
- hidden: {
143
- SCROLL: "scrolling"
144
- },
145
- scrolling: {
146
- SCROLL_END: "idle",
147
- POINTER_ENTER: "interacting"
148
- },
149
- interacting: {
150
- SCROLL: "interacting",
151
- POINTER_LEAVE: "idle"
152
- },
153
- idle: {
154
- HIDE: "hidden",
155
- SCROLL: "scrolling",
156
- POINTER_ENTER: "interacting"
157
- }
158
- });
159
- return c.useEffect(() => {
160
- if (s === "idle") {
161
- const f = window.setTimeout(() => a("HIDE"), o.scrollHideDelay);
162
- return () => window.clearTimeout(f);
163
- }
164
- }, [s, o.scrollHideDelay, a]), c.useEffect(() => {
165
- const f = o.viewport, d = n ? "scrollLeft" : "scrollTop";
166
- if (f) {
167
- let h = f[d];
168
- const u = () => {
169
- const S = f[d];
170
- h !== S && (a("SCROLL"), i()), h = S;
171
- };
172
- return f.addEventListener("scroll", u), () => f.removeEventListener("scroll", u);
173
- }
174
- }, [o.viewport, n, a, i]), /* @__PURE__ */ b(I, { present: r || s !== "hidden", children: /* @__PURE__ */ b(
175
- k,
176
- {
177
- "data-state": s === "hidden" ? "hidden" : "visible",
178
- ...l,
179
- ref: t,
180
- onPointerEnter: R(e.onPointerEnter, () => a("POINTER_ENTER")),
181
- onPointerLeave: R(e.onPointerLeave, () => a("POINTER_LEAVE"))
182
- }
183
- ) });
184
- }), K = c.forwardRef((e, t) => {
185
- const r = p(g, e.__scopeScrollArea), { forceMount: l, ...o } = e, [n, i] = c.useState(!1), s = e.orientation === "horizontal", a = Y(() => {
186
- if (r.viewport) {
187
- const f = r.viewport.offsetWidth < r.viewport.scrollWidth, d = r.viewport.offsetHeight < r.viewport.scrollHeight;
188
- i(s ? f : d);
189
- }
190
- }, 10);
191
- return T(r.viewport, a), T(r.content, a), /* @__PURE__ */ b(I, { present: l || n, children: /* @__PURE__ */ b(
192
- k,
193
- {
194
- "data-state": n ? "visible" : "hidden",
195
- ...o,
196
- ref: t
197
- }
198
- ) });
199
- }), k = c.forwardRef((e, t) => {
200
- const { orientation: r = "vertical", ...l } = e, o = p(g, e.__scopeScrollArea), n = c.useRef(null), i = c.useRef(0), [s, a] = c.useState({
201
- content: 0,
202
- viewport: 0,
203
- scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
204
- }), f = oe(s.viewport, s.content), d = {
205
- ...l,
206
- sizes: s,
207
- onSizesChange: a,
208
- hasThumb: f > 0 && f < 1,
209
- onThumbChange: (u) => n.current = u,
210
- onThumbPointerUp: () => i.current = 0,
211
- onThumbPointerDown: (u) => i.current = u
212
- };
213
- function h(u, S) {
214
- return ge(u, i.current, s, S);
215
- }
216
- return r === "horizontal" ? /* @__PURE__ */ b(
217
- Se,
218
- {
219
- ...d,
220
- ref: t,
221
- onThumbPositionChange: () => {
222
- if (o.viewport && n.current) {
223
- const u = o.viewport.scrollLeft, S = F(u, s, o.dir);
224
- n.current.style.transform = `translate3d(${S}px, 0, 0)`;
225
- }
226
- },
227
- onWheelScroll: (u) => {
228
- o.viewport && (o.viewport.scrollLeft = u);
229
- },
230
- onDragScroll: (u) => {
231
- o.viewport && (o.viewport.scrollLeft = h(u, o.dir));
232
- }
233
- }
234
- ) : r === "vertical" ? /* @__PURE__ */ b(
235
- me,
236
- {
237
- ...d,
238
- ref: t,
239
- onThumbPositionChange: () => {
240
- if (o.viewport && n.current) {
241
- const u = o.viewport.scrollTop, S = F(u, s);
242
- n.current.style.transform = `translate3d(0, ${S}px, 0)`;
243
- }
244
- },
245
- onWheelScroll: (u) => {
246
- o.viewport && (o.viewport.scrollTop = u);
247
- },
248
- onDragScroll: (u) => {
249
- o.viewport && (o.viewport.scrollTop = h(u));
250
- }
251
- }
252
- ) : null;
253
- }), Se = c.forwardRef((e, t) => {
254
- const { sizes: r, onSizesChange: l, ...o } = e, n = p(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarXChange);
255
- return c.useEffect(() => {
256
- a.current && s(getComputedStyle(a.current));
257
- }, [a]), /* @__PURE__ */ b(
258
- Z,
259
- {
260
- "data-orientation": "horizontal",
261
- ...o,
262
- ref: f,
263
- sizes: r,
264
- style: {
265
- bottom: 0,
266
- left: n.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
267
- right: n.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
268
- "--radix-scroll-area-thumb-width": X(r) + "px",
269
- ...e.style
270
- },
271
- onThumbPointerDown: (d) => e.onThumbPointerDown(d.x),
272
- onDragScroll: (d) => e.onDragScroll(d.x),
273
- onWheelScroll: (d, h) => {
274
- if (n.viewport) {
275
- const u = n.viewport.scrollLeft + d.deltaX;
276
- e.onWheelScroll(u), ne(u, h) && d.preventDefault();
277
- }
278
- },
279
- onResize: () => {
280
- a.current && n.viewport && i && l({
281
- content: n.viewport.scrollWidth,
282
- viewport: n.viewport.offsetWidth,
283
- scrollbar: {
284
- size: a.current.clientWidth,
285
- paddingStart: O(i.paddingLeft),
286
- paddingEnd: O(i.paddingRight)
287
- }
288
- });
289
- }
290
- }
291
- );
292
- }), me = c.forwardRef((e, t) => {
293
- const { sizes: r, onSizesChange: l, ...o } = e, n = p(g, e.__scopeScrollArea), [i, s] = c.useState(), a = c.useRef(null), f = A(t, a, n.onScrollbarYChange);
294
- return c.useEffect(() => {
295
- a.current && s(getComputedStyle(a.current));
296
- }, [a]), /* @__PURE__ */ b(
297
- Z,
298
- {
299
- "data-orientation": "vertical",
300
- ...o,
301
- ref: f,
302
- sizes: r,
303
- style: {
304
- top: 0,
305
- right: n.dir === "ltr" ? 0 : void 0,
306
- left: n.dir === "rtl" ? 0 : void 0,
307
- bottom: "var(--radix-scroll-area-corner-height)",
308
- "--radix-scroll-area-thumb-height": X(r) + "px",
309
- ...e.style
310
- },
311
- onThumbPointerDown: (d) => e.onThumbPointerDown(d.y),
312
- onDragScroll: (d) => e.onDragScroll(d.y),
313
- onWheelScroll: (d, h) => {
314
- if (n.viewport) {
315
- const u = n.viewport.scrollTop + d.deltaY;
316
- e.onWheelScroll(u), ne(u, h) && d.preventDefault();
317
- }
318
- },
319
- onResize: () => {
320
- a.current && n.viewport && i && l({
321
- content: n.viewport.scrollHeight,
322
- viewport: n.viewport.offsetHeight,
323
- scrollbar: {
324
- size: a.current.clientHeight,
325
- paddingStart: O(i.paddingTop),
326
- paddingEnd: O(i.paddingBottom)
327
- }
328
- });
329
- }
330
- }
331
- );
332
- }), [ve, Q] = j(g), Z = c.forwardRef((e, t) => {
333
- const {
334
- __scopeScrollArea: r,
335
- sizes: l,
336
- hasThumb: o,
337
- onThumbChange: n,
338
- onThumbPointerUp: i,
339
- onThumbPointerDown: s,
340
- onThumbPositionChange: a,
341
- onDragScroll: f,
342
- onWheelScroll: d,
343
- onResize: h,
344
- ...u
345
- } = e, S = p(g, r), [v, y] = c.useState(null), M = A(t, (m) => y(m)), P = c.useRef(null), _ = c.useRef(""), U = S.viewport, D = l.content - l.viewport, W = C(d), x = C(a), H = Y(h, 10);
346
- function z(m) {
347
- if (P.current) {
348
- const w = m.clientX - P.current.left, E = m.clientY - P.current.top;
349
- f({ x: w, y: E });
350
- }
351
- }
352
- return c.useEffect(() => {
353
- const m = (w) => {
354
- const E = w.target;
355
- (v == null ? void 0 : v.contains(E)) && W(w, D);
356
- };
357
- return document.addEventListener("wheel", m, { passive: !1 }), () => document.removeEventListener("wheel", m, { passive: !1 });
358
- }, [U, v, D, W]), c.useEffect(x, [l, x]), T(v, H), T(S.content, H), /* @__PURE__ */ b(
359
- ve,
360
- {
361
- scope: r,
362
- scrollbar: v,
363
- hasThumb: o,
364
- onThumbChange: C(n),
365
- onThumbPointerUp: C(i),
366
- onThumbPositionChange: x,
367
- onThumbPointerDown: C(s),
368
- children: /* @__PURE__ */ b(
369
- L.div,
370
- {
371
- ...u,
372
- ref: M,
373
- style: { position: "absolute", ...u.style },
374
- onPointerDown: R(e.onPointerDown, (m) => {
375
- m.button === 0 && (m.target.setPointerCapture(m.pointerId), P.current = v.getBoundingClientRect(), _.current = document.body.style.webkitUserSelect, document.body.style.webkitUserSelect = "none", S.viewport && (S.viewport.style.scrollBehavior = "auto"), z(m));
376
- }),
377
- onPointerMove: R(e.onPointerMove, z),
378
- onPointerUp: R(e.onPointerUp, (m) => {
379
- const w = m.target;
380
- w.hasPointerCapture(m.pointerId) && w.releasePointerCapture(m.pointerId), document.body.style.webkitUserSelect = _.current, S.viewport && (S.viewport.style.scrollBehavior = ""), P.current = null;
381
- })
382
- }
383
- )
384
- }
385
- );
386
- }), N = "ScrollAreaThumb", ee = c.forwardRef(
387
- (e, t) => {
388
- const { forceMount: r, ...l } = e, o = Q(N, e.__scopeScrollArea);
389
- return /* @__PURE__ */ b(I, { present: r || o.hasThumb, children: /* @__PURE__ */ b(pe, { ref: t, ...l }) });
390
- }
391
- ), pe = c.forwardRef(
392
- (e, t) => {
393
- const { __scopeScrollArea: r, style: l, ...o } = e, n = p(N, r), i = Q(N, r), { onThumbPositionChange: s } = i, a = A(
394
- t,
395
- (h) => i.onThumbChange(h)
396
- ), f = c.useRef(void 0), d = Y(() => {
397
- f.current && (f.current(), f.current = void 0);
398
- }, 100);
399
- return c.useEffect(() => {
400
- const h = n.viewport;
401
- if (h) {
402
- const u = () => {
403
- if (d(), !f.current) {
404
- const S = Pe(h, s);
405
- f.current = S, s();
406
- }
407
- };
408
- return s(), h.addEventListener("scroll", u), () => h.removeEventListener("scroll", u);
409
- }
410
- }, [n.viewport, d, s]), /* @__PURE__ */ b(
411
- L.div,
412
- {
413
- "data-state": i.hasThumb ? "visible" : "hidden",
414
- ...o,
415
- ref: a,
416
- style: {
417
- width: "var(--radix-scroll-area-thumb-width)",
418
- height: "var(--radix-scroll-area-thumb-height)",
419
- ...l
420
- },
421
- onPointerDownCapture: R(e.onPointerDownCapture, (h) => {
422
- const S = h.target.getBoundingClientRect(), v = h.clientX - S.left, y = h.clientY - S.top;
423
- i.onThumbPointerDown({ x: v, y });
424
- }),
425
- onPointerUp: R(e.onPointerUp, i.onThumbPointerUp)
426
- }
427
- );
428
- }
429
- );
430
- ee.displayName = N;
431
- var B = "ScrollAreaCorner", re = c.forwardRef(
432
- (e, t) => {
433
- const r = p(B, e.__scopeScrollArea), l = !!(r.scrollbarX && r.scrollbarY);
434
- return r.type !== "scroll" && l ? /* @__PURE__ */ b(we, { ...e, ref: t }) : null;
435
- }
436
- );
437
- re.displayName = B;
438
- var we = c.forwardRef((e, t) => {
439
- const { __scopeScrollArea: r, ...l } = e, o = p(B, r), [n, i] = c.useState(0), [s, a] = c.useState(0), f = !!(n && s);
440
- return T(o.scrollbarX, () => {
441
- var h;
442
- const d = ((h = o.scrollbarX) == null ? void 0 : h.offsetHeight) || 0;
443
- o.onCornerHeightChange(d), a(d);
444
- }), T(o.scrollbarY, () => {
445
- var h;
446
- const d = ((h = o.scrollbarY) == null ? void 0 : h.offsetWidth) || 0;
447
- o.onCornerWidthChange(d), i(d);
448
- }), f ? /* @__PURE__ */ b(
449
- L.div,
450
- {
451
- ...l,
452
- ref: t,
453
- style: {
454
- width: n,
455
- height: s,
456
- position: "absolute",
457
- right: o.dir === "ltr" ? 0 : void 0,
458
- left: o.dir === "rtl" ? 0 : void 0,
459
- bottom: 0,
460
- ...e.style
461
- }
462
- }
463
- ) : null;
464
- });
465
- function O(e) {
466
- return e ? parseInt(e, 10) : 0;
467
- }
468
- function oe(e, t) {
469
- const r = e / t;
470
- return isNaN(r) ? 0 : r;
471
- }
472
- function X(e) {
473
- const t = oe(e.viewport, e.content), r = e.scrollbar.paddingStart + e.scrollbar.paddingEnd, l = (e.scrollbar.size - r) * t;
474
- return Math.max(l, 18);
475
- }
476
- function ge(e, t, r, l = "ltr") {
477
- const o = X(r), n = o / 2, i = t || n, s = o - i, a = r.scrollbar.paddingStart + i, f = r.scrollbar.size - r.scrollbar.paddingEnd - s, d = r.content - r.viewport, h = l === "ltr" ? [0, d] : [d * -1, 0];
478
- return te([a, f], h)(e);
479
- }
480
- function F(e, t, r = "ltr") {
481
- const l = X(t), o = t.scrollbar.paddingStart + t.scrollbar.paddingEnd, n = t.scrollbar.size - o, i = t.content - t.viewport, s = n - l, a = r === "ltr" ? [0, i] : [i * -1, 0], f = se(e, a);
482
- return te([0, i], [0, s])(f);
483
- }
484
- function te(e, t) {
485
- return (r) => {
486
- if (e[0] === e[1] || t[0] === t[1]) return t[0];
487
- const l = (t[1] - t[0]) / (e[1] - e[0]);
488
- return t[0] + l * (r - e[0]);
489
- };
490
- }
491
- function ne(e, t) {
492
- return e > 0 && e < t;
493
- }
494
- var Pe = (e, t = () => {
495
- }) => {
496
- let r = { left: e.scrollLeft, top: e.scrollTop }, l = 0;
497
- return (function o() {
498
- const n = { left: e.scrollLeft, top: e.scrollTop }, i = r.left !== n.left, s = r.top !== n.top;
499
- (i || s) && t(), r = n, l = window.requestAnimationFrame(o);
500
- })(), () => window.cancelAnimationFrame(l);
501
- };
502
- function Y(e, t) {
503
- const r = C(e), l = c.useRef(0);
504
- return c.useEffect(() => () => window.clearTimeout(l.current), []), c.useCallback(() => {
505
- window.clearTimeout(l.current), l.current = window.setTimeout(r, t);
506
- }, [r, t]);
507
- }
508
- function T(e, t) {
509
- const r = C(t);
510
- ie(() => {
511
- let l = 0;
512
- if (e) {
513
- const o = new ResizeObserver(() => {
514
- cancelAnimationFrame(l), l = window.requestAnimationFrame(r);
515
- });
516
- return o.observe(e), () => {
517
- window.cancelAnimationFrame(l), o.unobserve(e);
518
- };
519
- }
520
- }, [e, r]);
521
- }
522
- var He = q, ze = G, Ne = J, Oe = ee, Ie = re;
523
- export {
524
- Ie as Corner,
525
- He as Root,
526
- q as ScrollArea,
527
- re as ScrollAreaCorner,
528
- J as ScrollAreaScrollbar,
529
- ee as ScrollAreaThumb,
530
- G as ScrollAreaViewport,
531
- Ne as Scrollbar,
532
- Oe as Thumb,
533
- ze as Viewport
534
- };
535
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../../../node_modules/.bun/@radix-ui+react-scroll-area@1.2.10+2b23df507bdda662/node_modules/@radix-ui/react-scroll-area/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","_a","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Scrollbar","Thumb","Corner"],"mappings":"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","x_google_ignoreList":[0]}