@helpwave/hightide 0.1.25 → 0.1.26

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 (602) hide show
  1. package/README.md +1 -1
  2. package/dist/components/branding/HelpwaveBadge.d.mts +4 -5
  3. package/dist/components/branding/HelpwaveBadge.d.ts +4 -5
  4. package/dist/components/branding/HelpwaveBadge.js +46 -87
  5. package/dist/components/branding/HelpwaveBadge.js.map +1 -1
  6. package/dist/components/branding/HelpwaveBadge.mjs +46 -89
  7. package/dist/components/branding/HelpwaveBadge.mjs.map +1 -1
  8. package/dist/components/date/DatePicker.d.mts +1 -1
  9. package/dist/components/date/DatePicker.d.ts +1 -1
  10. package/dist/components/date/DatePicker.js +64 -13
  11. package/dist/components/date/DatePicker.js.map +1 -1
  12. package/dist/components/date/DatePicker.mjs +65 -14
  13. package/dist/components/date/DatePicker.mjs.map +1 -1
  14. package/dist/components/date/DayPicker.d.mts +1 -1
  15. package/dist/components/date/DayPicker.d.ts +1 -1
  16. package/dist/components/date/DayPicker.js +3 -3
  17. package/dist/components/date/DayPicker.js.map +1 -1
  18. package/dist/components/date/DayPicker.mjs +3 -3
  19. package/dist/components/date/DayPicker.mjs.map +1 -1
  20. package/dist/components/date/TimeDisplay.js.map +1 -1
  21. package/dist/components/date/TimeDisplay.mjs.map +1 -1
  22. package/dist/components/date/TimePicker.js +2 -2
  23. package/dist/components/date/TimePicker.js.map +1 -1
  24. package/dist/components/date/TimePicker.mjs +2 -2
  25. package/dist/components/date/TimePicker.mjs.map +1 -1
  26. package/dist/components/date/YearMonthPicker.js +58 -7
  27. package/dist/components/date/YearMonthPicker.js.map +1 -1
  28. package/dist/components/date/YearMonthPicker.mjs +59 -8
  29. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  30. package/dist/components/{dialogs → dialog}/ConfirmDialog.d.mts +9 -8
  31. package/dist/components/{dialogs → dialog}/ConfirmDialog.d.ts +9 -8
  32. package/dist/components/dialog/ConfirmDialog.js +938 -0
  33. package/dist/components/dialog/ConfirmDialog.js.map +1 -0
  34. package/dist/components/dialog/ConfirmDialog.mjs +902 -0
  35. package/dist/components/dialog/ConfirmDialog.mjs.map +1 -0
  36. package/dist/components/dialog/Dialog.d.mts +27 -0
  37. package/dist/components/dialog/Dialog.d.ts +27 -0
  38. package/dist/components/dialog/Dialog.js +879 -0
  39. package/dist/components/dialog/Dialog.js.map +1 -0
  40. package/dist/components/dialog/Dialog.mjs +845 -0
  41. package/dist/components/dialog/Dialog.mjs.map +1 -0
  42. package/dist/components/dialog/DiscardChangesDialog.d.mts +24 -0
  43. package/dist/components/dialog/DiscardChangesDialog.d.ts +24 -0
  44. package/dist/components/dialog/DiscardChangesDialog.js +966 -0
  45. package/dist/components/dialog/DiscardChangesDialog.js.map +1 -0
  46. package/dist/components/dialog/DiscardChangesDialog.mjs +930 -0
  47. package/dist/components/dialog/DiscardChangesDialog.mjs.map +1 -0
  48. package/dist/components/dialog/InputDialog.d.mts +22 -0
  49. package/dist/components/dialog/InputDialog.d.ts +22 -0
  50. package/dist/components/dialog/InputDialog.js +1139 -0
  51. package/dist/components/dialog/InputDialog.js.map +1 -0
  52. package/dist/components/dialog/InputDialog.mjs +1103 -0
  53. package/dist/components/dialog/InputDialog.mjs.map +1 -0
  54. package/dist/components/dialog/LanguageDialog.d.mts +25 -0
  55. package/dist/components/dialog/LanguageDialog.d.ts +25 -0
  56. package/dist/components/dialog/LanguageDialog.js +1684 -0
  57. package/dist/components/dialog/LanguageDialog.js.map +1 -0
  58. package/dist/components/dialog/LanguageDialog.mjs +1658 -0
  59. package/dist/components/dialog/LanguageDialog.mjs.map +1 -0
  60. package/dist/components/dialog/ThemeDialog.d.mts +26 -0
  61. package/dist/components/dialog/ThemeDialog.d.ts +26 -0
  62. package/dist/components/dialog/ThemeDialog.js +1715 -0
  63. package/dist/components/dialog/ThemeDialog.js.map +1 -0
  64. package/dist/components/dialog/ThemeDialog.mjs +1689 -0
  65. package/dist/components/dialog/ThemeDialog.mjs.map +1 -0
  66. package/dist/components/dialog/index.d.mts +17 -0
  67. package/dist/components/dialog/index.d.ts +17 -0
  68. package/dist/components/dialog/index.js +2062 -0
  69. package/dist/components/dialog/index.js.map +1 -0
  70. package/dist/components/dialog/index.mjs +2031 -0
  71. package/dist/components/dialog/index.mjs.map +1 -0
  72. package/dist/components/form/FormElementWrapper.d.mts +29 -0
  73. package/dist/components/form/FormElementWrapper.d.ts +29 -0
  74. package/dist/components/form/FormElementWrapper.js +98 -0
  75. package/dist/components/form/FormElementWrapper.js.map +1 -0
  76. package/dist/components/form/FormElementWrapper.mjs +64 -0
  77. package/dist/components/form/FormElementWrapper.mjs.map +1 -0
  78. package/dist/components/icons-and-geometry/Avatar.js +498 -2886
  79. package/dist/components/icons-and-geometry/Avatar.js.map +1 -1
  80. package/dist/components/icons-and-geometry/Avatar.mjs +490 -2878
  81. package/dist/components/icons-and-geometry/Avatar.mjs.map +1 -1
  82. package/dist/components/icons-and-geometry/{Helpwave.d.mts → HelpwaveLogo.d.mts} +3 -3
  83. package/dist/components/icons-and-geometry/{Helpwave.d.ts → HelpwaveLogo.d.ts} +3 -3
  84. package/dist/components/icons-and-geometry/{Helpwave.js → HelpwaveLogo.js} +21 -22
  85. package/dist/components/icons-and-geometry/HelpwaveLogo.js.map +1 -0
  86. package/dist/components/icons-and-geometry/{Helpwave.mjs → HelpwaveLogo.mjs} +17 -18
  87. package/dist/components/icons-and-geometry/HelpwaveLogo.mjs.map +1 -0
  88. package/dist/components/icons-and-geometry/Ring.js +1 -1
  89. package/dist/components/icons-and-geometry/Ring.js.map +1 -1
  90. package/dist/components/icons-and-geometry/Ring.mjs +1 -1
  91. package/dist/components/icons-and-geometry/Ring.mjs.map +1 -1
  92. package/dist/components/icons-and-geometry/Tag.js +8 -20
  93. package/dist/components/icons-and-geometry/Tag.js.map +1 -1
  94. package/dist/components/icons-and-geometry/Tag.mjs +8 -20
  95. package/dist/components/icons-and-geometry/Tag.mjs.map +1 -1
  96. package/dist/components/layout-and-navigation/BreadCrumb.js +667 -22
  97. package/dist/components/layout-and-navigation/BreadCrumb.js.map +1 -1
  98. package/dist/components/layout-and-navigation/BreadCrumb.mjs +667 -22
  99. package/dist/components/layout-and-navigation/BreadCrumb.mjs.map +1 -1
  100. package/dist/components/layout-and-navigation/Carousel.js +12 -10
  101. package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
  102. package/dist/components/layout-and-navigation/Carousel.mjs +12 -10
  103. package/dist/components/layout-and-navigation/Carousel.mjs.map +1 -1
  104. package/dist/components/layout-and-navigation/Chip.d.mts +8 -5
  105. package/dist/components/layout-and-navigation/Chip.d.ts +8 -5
  106. package/dist/components/layout-and-navigation/Chip.js +17 -4
  107. package/dist/components/layout-and-navigation/Chip.js.map +1 -1
  108. package/dist/components/layout-and-navigation/Chip.mjs +17 -4
  109. package/dist/components/layout-and-navigation/Chip.mjs.map +1 -1
  110. package/dist/components/layout-and-navigation/Expandable.d.mts +13 -10
  111. package/dist/components/layout-and-navigation/Expandable.d.ts +13 -10
  112. package/dist/components/layout-and-navigation/Expandable.js +18 -5
  113. package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
  114. package/dist/components/layout-and-navigation/Expandable.mjs +19 -6
  115. package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -1
  116. package/dist/components/layout-and-navigation/FAQSection.js +21 -8
  117. package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
  118. package/dist/components/layout-and-navigation/FAQSection.mjs +22 -9
  119. package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -1
  120. package/dist/components/layout-and-navigation/FloatingContainer.d.mts +38 -0
  121. package/dist/components/layout-and-navigation/FloatingContainer.d.ts +38 -0
  122. package/dist/components/layout-and-navigation/FloatingContainer.js +219 -0
  123. package/dist/components/layout-and-navigation/FloatingContainer.js.map +1 -0
  124. package/dist/components/layout-and-navigation/FloatingContainer.mjs +195 -0
  125. package/dist/components/layout-and-navigation/FloatingContainer.mjs.map +1 -0
  126. package/dist/components/layout-and-navigation/ListBox.d.mts +44 -0
  127. package/dist/components/layout-and-navigation/ListBox.d.ts +44 -0
  128. package/dist/components/layout-and-navigation/ListBox.js +329 -0
  129. package/dist/components/layout-and-navigation/ListBox.js.map +1 -0
  130. package/dist/components/layout-and-navigation/ListBox.mjs +290 -0
  131. package/dist/components/layout-and-navigation/ListBox.mjs.map +1 -0
  132. package/dist/components/layout-and-navigation/Pagination.js +104 -189
  133. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  134. package/dist/components/layout-and-navigation/Pagination.mjs +99 -184
  135. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
  136. package/dist/components/layout-and-navigation/ScrollArea.d.mts +15 -0
  137. package/dist/components/layout-and-navigation/ScrollArea.d.ts +15 -0
  138. package/dist/components/layout-and-navigation/ScrollArea.js +1252 -0
  139. package/dist/components/layout-and-navigation/ScrollArea.js.map +1 -0
  140. package/dist/components/layout-and-navigation/ScrollArea.mjs +1216 -0
  141. package/dist/components/layout-and-navigation/ScrollArea.mjs.map +1 -0
  142. package/dist/components/layout-and-navigation/StepperBar.js +41 -1
  143. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  144. package/dist/components/layout-and-navigation/StepperBar.mjs +41 -1
  145. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
  146. package/dist/components/layout-and-navigation/TextImage.js +3 -1
  147. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  148. package/dist/components/layout-and-navigation/TextImage.mjs +3 -1
  149. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
  150. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  151. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
  152. package/dist/components/loading-states/LoadingAndErrorComponent.d.mts +1 -1
  153. package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -1
  154. package/dist/components/loading-states/LoadingAnimation.js +18 -17
  155. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  156. package/dist/components/loading-states/LoadingAnimation.mjs +18 -17
  157. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
  158. package/dist/components/loading-states/LoadingButton.js +55 -18
  159. package/dist/components/loading-states/LoadingButton.js.map +1 -1
  160. package/dist/components/loading-states/LoadingButton.mjs +55 -18
  161. package/dist/components/loading-states/LoadingButton.mjs.map +1 -1
  162. package/dist/components/properties/CheckboxProperty.js +890 -135
  163. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  164. package/dist/components/properties/CheckboxProperty.mjs +897 -142
  165. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  166. package/dist/components/properties/DateProperty.js +153 -198
  167. package/dist/components/properties/DateProperty.js.map +1 -1
  168. package/dist/components/properties/DateProperty.mjs +146 -191
  169. package/dist/components/properties/DateProperty.mjs.map +1 -1
  170. package/dist/components/properties/MultiSelectProperty.d.mts +5 -10
  171. package/dist/components/properties/MultiSelectProperty.d.ts +5 -10
  172. package/dist/components/properties/MultiSelectProperty.js +1143 -1160
  173. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  174. package/dist/components/properties/MultiSelectProperty.mjs +1156 -1163
  175. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  176. package/dist/components/properties/NumberProperty.js +155 -201
  177. package/dist/components/properties/NumberProperty.js.map +1 -1
  178. package/dist/components/properties/NumberProperty.mjs +148 -194
  179. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  180. package/dist/components/properties/PropertyBase.js +49 -9
  181. package/dist/components/properties/PropertyBase.js.map +1 -1
  182. package/dist/components/properties/PropertyBase.mjs +49 -9
  183. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  184. package/dist/components/properties/SelectProperty.d.mts +5 -8
  185. package/dist/components/properties/SelectProperty.d.ts +5 -8
  186. package/dist/components/properties/SelectProperty.js +1047 -834
  187. package/dist/components/properties/SelectProperty.js.map +1 -1
  188. package/dist/components/properties/SelectProperty.mjs +1063 -840
  189. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  190. package/dist/components/properties/TextProperty.js +97 -100
  191. package/dist/components/properties/TextProperty.js.map +1 -1
  192. package/dist/components/properties/TextProperty.mjs +100 -103
  193. package/dist/components/properties/TextProperty.mjs.map +1 -1
  194. package/dist/components/table/Table.js +1618 -993
  195. package/dist/components/table/Table.js.map +1 -1
  196. package/dist/components/table/Table.mjs +1625 -1000
  197. package/dist/components/table/Table.mjs.map +1 -1
  198. package/dist/components/table/TableFilterButton.js +116 -201
  199. package/dist/components/table/TableFilterButton.js.map +1 -1
  200. package/dist/components/table/TableFilterButton.mjs +105 -190
  201. package/dist/components/table/TableFilterButton.mjs.map +1 -1
  202. package/dist/components/table/TableSortButton.js +4 -3
  203. package/dist/components/table/TableSortButton.js.map +1 -1
  204. package/dist/components/table/TableSortButton.mjs +4 -3
  205. package/dist/components/table/TableSortButton.mjs.map +1 -1
  206. package/dist/components/user-action/Button.d.mts +15 -11
  207. package/dist/components/user-action/Button.d.ts +15 -11
  208. package/dist/components/user-action/Button.js +10 -9
  209. package/dist/components/user-action/Button.js.map +1 -1
  210. package/dist/components/user-action/Button.mjs +10 -9
  211. package/dist/components/user-action/Button.mjs.map +1 -1
  212. package/dist/components/user-action/Checkbox.d.mts +9 -25
  213. package/dist/components/user-action/Checkbox.d.ts +9 -25
  214. package/dist/components/user-action/Checkbox.js +793 -103
  215. package/dist/components/user-action/Checkbox.js.map +1 -1
  216. package/dist/components/user-action/Checkbox.mjs +794 -104
  217. package/dist/components/user-action/Checkbox.mjs.map +1 -1
  218. package/dist/components/user-action/CopyToClipboardWrapper.js +3 -1
  219. package/dist/components/user-action/CopyToClipboardWrapper.js.map +1 -1
  220. package/dist/components/user-action/CopyToClipboardWrapper.mjs +3 -1
  221. package/dist/components/user-action/CopyToClipboardWrapper.mjs.map +1 -1
  222. package/dist/components/user-action/DateAndTimePicker.d.mts +1 -1
  223. package/dist/components/user-action/DateAndTimePicker.d.ts +1 -1
  224. package/dist/components/user-action/DateAndTimePicker.js +66 -13
  225. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  226. package/dist/components/user-action/DateAndTimePicker.mjs +67 -14
  227. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  228. package/dist/components/user-action/Label.d.mts +6 -8
  229. package/dist/components/user-action/Label.d.ts +6 -8
  230. package/dist/components/user-action/Label.js +4 -6
  231. package/dist/components/user-action/Label.js.map +1 -1
  232. package/dist/components/user-action/Label.mjs +4 -6
  233. package/dist/components/user-action/Label.mjs.map +1 -1
  234. package/dist/components/user-action/Menu.d.mts +2 -2
  235. package/dist/components/user-action/Menu.d.ts +2 -2
  236. package/dist/components/user-action/Menu.js +1 -1
  237. package/dist/components/user-action/Menu.js.map +1 -1
  238. package/dist/components/user-action/Menu.mjs +1 -1
  239. package/dist/components/user-action/Menu.mjs.map +1 -1
  240. package/dist/components/user-action/ScrollPicker.js +8 -6
  241. package/dist/components/user-action/ScrollPicker.js.map +1 -1
  242. package/dist/components/user-action/ScrollPicker.mjs +8 -6
  243. package/dist/components/user-action/ScrollPicker.mjs.map +1 -1
  244. package/dist/components/user-action/SearchBar.d.mts +1 -2
  245. package/dist/components/user-action/SearchBar.d.ts +1 -2
  246. package/dist/components/user-action/SearchBar.js +93 -178
  247. package/dist/components/user-action/SearchBar.js.map +1 -1
  248. package/dist/components/user-action/SearchBar.mjs +86 -171
  249. package/dist/components/user-action/SearchBar.mjs.map +1 -1
  250. package/dist/components/user-action/Textarea.d.mts +22 -11
  251. package/dist/components/user-action/Textarea.d.ts +22 -11
  252. package/dist/components/user-action/Textarea.js +101 -92
  253. package/dist/components/user-action/Textarea.js.map +1 -1
  254. package/dist/components/user-action/Textarea.mjs +100 -92
  255. package/dist/components/user-action/Textarea.mjs.map +1 -1
  256. package/dist/components/user-action/input/Input.d.mts +37 -0
  257. package/dist/components/user-action/input/Input.d.ts +37 -0
  258. package/dist/components/user-action/input/Input.js +244 -0
  259. package/dist/components/user-action/input/Input.js.map +1 -0
  260. package/dist/components/user-action/input/Input.mjs +209 -0
  261. package/dist/components/user-action/input/Input.mjs.map +1 -0
  262. package/dist/components/user-action/input/InsideLabelInput.d.mts +20 -0
  263. package/dist/components/user-action/input/InsideLabelInput.d.ts +20 -0
  264. package/dist/components/user-action/input/InsideLabelInput.js +295 -0
  265. package/dist/components/user-action/input/InsideLabelInput.js.map +1 -0
  266. package/dist/components/user-action/input/InsideLabelInput.mjs +260 -0
  267. package/dist/components/user-action/input/InsideLabelInput.mjs.map +1 -0
  268. package/dist/components/user-action/input/ToggleableInput.d.mts +22 -0
  269. package/dist/components/user-action/input/ToggleableInput.d.ts +22 -0
  270. package/dist/components/user-action/{Input.js → input/ToggleableInput.js} +136 -171
  271. package/dist/components/user-action/input/ToggleableInput.js.map +1 -0
  272. package/dist/components/user-action/input/ToggleableInput.mjs +264 -0
  273. package/dist/components/user-action/input/ToggleableInput.mjs.map +1 -0
  274. package/dist/components/user-action/select/Select.d.mts +98 -0
  275. package/dist/components/user-action/select/Select.d.ts +98 -0
  276. package/dist/components/user-action/select/Select.js +1354 -0
  277. package/dist/components/user-action/select/Select.js.map +1 -0
  278. package/dist/components/user-action/select/Select.mjs +1320 -0
  279. package/dist/components/user-action/select/Select.mjs.map +1 -0
  280. package/dist/components/utils/FocusTrap.d.mts +28 -0
  281. package/dist/components/utils/FocusTrap.d.ts +28 -0
  282. package/dist/components/utils/FocusTrap.js +252 -0
  283. package/dist/components/utils/FocusTrap.js.map +1 -0
  284. package/dist/components/utils/FocusTrap.mjs +229 -0
  285. package/dist/components/utils/FocusTrap.mjs.map +1 -0
  286. package/dist/components/utils/Transition.d.mts +26 -0
  287. package/dist/components/utils/Transition.d.ts +26 -0
  288. package/dist/components/utils/Transition.js +74 -0
  289. package/dist/components/utils/Transition.js.map +1 -0
  290. package/dist/components/utils/Transition.mjs +50 -0
  291. package/dist/components/utils/Transition.mjs.map +1 -0
  292. package/dist/hooks/focus/useFocusGuards.d.mts +3 -0
  293. package/dist/hooks/focus/useFocusGuards.d.ts +3 -0
  294. package/dist/hooks/focus/useFocusGuards.js +74 -0
  295. package/dist/hooks/focus/useFocusGuards.js.map +1 -0
  296. package/dist/hooks/focus/useFocusGuards.mjs +50 -0
  297. package/dist/hooks/focus/useFocusGuards.mjs.map +1 -0
  298. package/dist/hooks/{useFocusManagement.js → focus/useFocusManagement.js} +1 -1
  299. package/dist/hooks/focus/useFocusManagement.js.map +1 -0
  300. package/dist/hooks/{useFocusManagement.mjs → focus/useFocusManagement.mjs} +1 -1
  301. package/dist/hooks/focus/useFocusManagement.mjs.map +1 -0
  302. package/dist/hooks/{useFocusOnceVisible.js → focus/useFocusOnceVisible.js} +1 -1
  303. package/dist/hooks/focus/useFocusOnceVisible.js.map +1 -0
  304. package/dist/hooks/{useFocusOnceVisible.mjs → focus/useFocusOnceVisible.mjs} +1 -1
  305. package/dist/hooks/focus/useFocusOnceVisible.mjs.map +1 -0
  306. package/dist/hooks/focus/useFocusTrap.d.mts +16 -0
  307. package/dist/hooks/focus/useFocusTrap.d.ts +16 -0
  308. package/dist/hooks/focus/useFocusTrap.js +233 -0
  309. package/dist/hooks/focus/useFocusTrap.js.map +1 -0
  310. package/dist/hooks/focus/useFocusTrap.mjs +210 -0
  311. package/dist/hooks/focus/useFocusTrap.mjs.map +1 -0
  312. package/dist/hooks/focus/useIsMounted.d.mts +3 -0
  313. package/dist/hooks/focus/useIsMounted.d.ts +3 -0
  314. package/dist/hooks/focus/useIsMounted.js +43 -0
  315. package/dist/hooks/focus/useIsMounted.js.map +1 -0
  316. package/dist/hooks/focus/useIsMounted.mjs +20 -0
  317. package/dist/hooks/focus/useIsMounted.mjs.map +1 -0
  318. package/dist/hooks/useFloatingElement.d.mts +22 -0
  319. package/dist/hooks/useFloatingElement.d.ts +22 -0
  320. package/dist/hooks/useFloatingElement.js +162 -0
  321. package/dist/hooks/useFloatingElement.js.map +1 -0
  322. package/dist/hooks/useFloatingElement.mjs +139 -0
  323. package/dist/hooks/useFloatingElement.mjs.map +1 -0
  324. package/dist/hooks/useLocalStorage.js +2 -2
  325. package/dist/hooks/useLocalStorage.js.map +1 -1
  326. package/dist/hooks/useLocalStorage.mjs +2 -2
  327. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  328. package/dist/hooks/useLogOnce.d.mts +3 -4
  329. package/dist/hooks/useLogOnce.d.ts +3 -4
  330. package/dist/hooks/useLogOnce.js +5 -5
  331. package/dist/hooks/useLogOnce.js.map +1 -1
  332. package/dist/hooks/useLogOnce.mjs +5 -5
  333. package/dist/hooks/useLogOnce.mjs.map +1 -1
  334. package/dist/hooks/useRerender.d.mts +2 -2
  335. package/dist/hooks/useRerender.d.ts +2 -2
  336. package/dist/hooks/useSearch.d.mts +2 -2
  337. package/dist/hooks/useSearch.d.ts +2 -2
  338. package/dist/hooks/useSearch.js +1 -1
  339. package/dist/hooks/useSearch.js.map +1 -1
  340. package/dist/hooks/useSearch.mjs +1 -1
  341. package/dist/hooks/useSearch.mjs.map +1 -1
  342. package/dist/localization/LanguageProvider.d.mts +2 -2
  343. package/dist/localization/LanguageProvider.d.ts +2 -2
  344. package/dist/localization/LanguageProvider.js +2 -2
  345. package/dist/localization/LanguageProvider.js.map +1 -1
  346. package/dist/localization/LanguageProvider.mjs +2 -2
  347. package/dist/localization/LanguageProvider.mjs.map +1 -1
  348. package/dist/localization/defaults/form.d.mts +1 -0
  349. package/dist/localization/defaults/form.d.ts +1 -0
  350. package/dist/localization/defaults/form.js +2 -0
  351. package/dist/localization/defaults/form.js.map +1 -1
  352. package/dist/localization/defaults/form.mjs +2 -0
  353. package/dist/localization/defaults/form.mjs.map +1 -1
  354. package/dist/localization/useTranslation.js.map +1 -1
  355. package/dist/localization/useTranslation.mjs.map +1 -1
  356. package/dist/storybook/helper.d.mts +17 -0
  357. package/dist/storybook/helper.d.ts +17 -0
  358. package/dist/storybook/helper.js +61 -0
  359. package/dist/storybook/helper.js.map +1 -0
  360. package/dist/storybook/helper.mjs +37 -0
  361. package/dist/storybook/helper.mjs.map +1 -0
  362. package/dist/{css → style}/globals.css +779 -374
  363. package/dist/{css → style}/uncompiled/globals.css +75 -13
  364. package/dist/{css → style}/uncompiled/theme/colors-component.css +18 -4
  365. package/dist/{css → style}/uncompiled/theme/colors-semantic.css +2 -9
  366. package/dist/style/uncompiled/typography.css +171 -0
  367. package/dist/{css → style}/uncompiled/utitlity/animation.css +54 -42
  368. package/dist/{css → style}/uncompiled/utitlity/index.css +2 -1
  369. package/dist/{css → style}/uncompiled/utitlity/shadow.css +5 -1
  370. package/dist/style/uncompiled/utitlity/sizing.css +29 -0
  371. package/dist/theming/useTheme.d.mts +2 -2
  372. package/dist/theming/useTheme.d.ts +2 -2
  373. package/dist/theming/useTheme.js +3 -3
  374. package/dist/theming/useTheme.js.map +1 -1
  375. package/dist/theming/useTheme.mjs +3 -3
  376. package/dist/theming/useTheme.mjs.map +1 -1
  377. package/dist/{util → utils}/array.d.mts +1 -0
  378. package/dist/{util → utils}/array.d.ts +1 -0
  379. package/dist/{util → utils}/array.js +15 -2
  380. package/dist/utils/array.js.map +1 -0
  381. package/dist/{util → utils}/array.mjs +15 -2
  382. package/dist/utils/array.mjs.map +1 -0
  383. package/dist/utils/bagFunctions.d.mts +15 -0
  384. package/dist/utils/bagFunctions.d.ts +15 -0
  385. package/dist/{util/PropsWithFunctionChildren.js → utils/bagFunctions.js} +5 -5
  386. package/dist/utils/bagFunctions.js.map +1 -0
  387. package/dist/{util/PropsWithFunctionChildren.mjs → utils/bagFunctions.mjs} +2 -2
  388. package/dist/utils/bagFunctions.mjs.map +1 -0
  389. package/dist/{util → utils}/builder.js +1 -1
  390. package/dist/utils/builder.js.map +1 -0
  391. package/dist/{util → utils}/builder.mjs +1 -1
  392. package/dist/utils/builder.mjs.map +1 -0
  393. package/dist/{util → utils}/date.js +3 -3
  394. package/dist/utils/date.js.map +1 -0
  395. package/dist/{util → utils}/date.mjs +2 -2
  396. package/dist/utils/date.mjs.map +1 -0
  397. package/dist/{util → utils}/easeFunctions.js +5 -4
  398. package/dist/utils/easeFunctions.js.map +1 -0
  399. package/dist/{util → utils}/easeFunctions.mjs +4 -3
  400. package/dist/utils/easeFunctions.mjs.map +1 -0
  401. package/dist/{util → utils}/emailValidation.js +1 -1
  402. package/dist/utils/emailValidation.js.map +1 -0
  403. package/dist/{util → utils}/emailValidation.mjs +1 -1
  404. package/dist/utils/emailValidation.mjs.map +1 -0
  405. package/dist/{util → utils}/loopingArray.js +1 -1
  406. package/dist/utils/loopingArray.js.map +1 -0
  407. package/dist/{util → utils}/loopingArray.mjs +1 -1
  408. package/dist/utils/loopingArray.mjs.map +1 -0
  409. package/dist/utils/match.d.mts +3 -0
  410. package/dist/utils/match.d.ts +3 -0
  411. package/dist/utils/match.js +32 -0
  412. package/dist/utils/match.js.map +1 -0
  413. package/dist/utils/match.mjs +8 -0
  414. package/dist/utils/match.mjs.map +1 -0
  415. package/dist/utils/math.d.mts +3 -0
  416. package/dist/utils/math.d.ts +3 -0
  417. package/dist/{util → utils}/math.js +3 -2
  418. package/dist/utils/math.js.map +1 -0
  419. package/dist/utils/math.mjs +9 -0
  420. package/dist/utils/math.mjs.map +1 -0
  421. package/dist/{util → utils}/noop.js +1 -1
  422. package/dist/utils/noop.js.map +1 -0
  423. package/dist/utils/noop.mjs +6 -0
  424. package/dist/utils/noop.mjs.map +1 -0
  425. package/dist/{util → utils}/resolveSetState.js +1 -1
  426. package/dist/utils/resolveSetState.js.map +1 -0
  427. package/dist/{util → utils}/resolveSetState.mjs +1 -1
  428. package/dist/utils/resolveSetState.mjs.map +1 -0
  429. package/dist/{util → utils}/simpleSearch.js +1 -1
  430. package/dist/utils/simpleSearch.js.map +1 -0
  431. package/dist/{util → utils}/simpleSearch.mjs +1 -1
  432. package/dist/utils/simpleSearch.mjs.map +1 -0
  433. package/dist/{util → utils}/storage.js +1 -1
  434. package/dist/utils/storage.js.map +1 -0
  435. package/dist/{util → utils}/storage.mjs +1 -1
  436. package/dist/utils/storage.mjs.map +1 -0
  437. package/dist/{util → utils}/writeToClipboard.js +2 -1
  438. package/dist/utils/writeToClipboard.js.map +1 -0
  439. package/dist/{util → utils}/writeToClipboard.mjs +3 -1
  440. package/dist/utils/writeToClipboard.mjs.map +1 -0
  441. package/package.json +8 -8
  442. package/dist/components/dialogs/ConfirmDialog.js +0 -674
  443. package/dist/components/dialogs/ConfirmDialog.js.map +0 -1
  444. package/dist/components/dialogs/ConfirmDialog.mjs +0 -638
  445. package/dist/components/dialogs/ConfirmDialog.mjs.map +0 -1
  446. package/dist/components/icons-and-geometry/Helpwave.js.map +0 -1
  447. package/dist/components/icons-and-geometry/Helpwave.mjs.map +0 -1
  448. package/dist/components/layout-and-navigation/Overlay.d.mts +0 -67
  449. package/dist/components/layout-and-navigation/Overlay.d.ts +0 -67
  450. package/dist/components/layout-and-navigation/Overlay.js +0 -702
  451. package/dist/components/layout-and-navigation/Overlay.js.map +0 -1
  452. package/dist/components/layout-and-navigation/Overlay.mjs +0 -665
  453. package/dist/components/layout-and-navigation/Overlay.mjs.map +0 -1
  454. package/dist/components/layout-and-navigation/SearchableList.d.mts +0 -24
  455. package/dist/components/layout-and-navigation/SearchableList.d.ts +0 -24
  456. package/dist/components/layout-and-navigation/SearchableList.js +0 -758
  457. package/dist/components/layout-and-navigation/SearchableList.js.map +0 -1
  458. package/dist/components/layout-and-navigation/SearchableList.mjs +0 -724
  459. package/dist/components/layout-and-navigation/SearchableList.mjs.map +0 -1
  460. package/dist/components/layout-and-navigation/Tile.d.mts +0 -27
  461. package/dist/components/layout-and-navigation/Tile.d.ts +0 -27
  462. package/dist/components/layout-and-navigation/Tile.js +0 -96
  463. package/dist/components/layout-and-navigation/Tile.js.map +0 -1
  464. package/dist/components/layout-and-navigation/Tile.mjs +0 -61
  465. package/dist/components/layout-and-navigation/Tile.mjs.map +0 -1
  466. package/dist/components/modals/ConfirmModal.d.mts +0 -33
  467. package/dist/components/modals/ConfirmModal.d.ts +0 -33
  468. package/dist/components/modals/ConfirmModal.js +0 -687
  469. package/dist/components/modals/ConfirmModal.js.map +0 -1
  470. package/dist/components/modals/ConfirmModal.mjs +0 -651
  471. package/dist/components/modals/ConfirmModal.mjs.map +0 -1
  472. package/dist/components/modals/DiscardChangesModal.d.mts +0 -20
  473. package/dist/components/modals/DiscardChangesModal.d.ts +0 -20
  474. package/dist/components/modals/DiscardChangesModal.js +0 -717
  475. package/dist/components/modals/DiscardChangesModal.js.map +0 -1
  476. package/dist/components/modals/DiscardChangesModal.mjs +0 -681
  477. package/dist/components/modals/DiscardChangesModal.mjs.map +0 -1
  478. package/dist/components/modals/InputModal.d.mts +0 -21
  479. package/dist/components/modals/InputModal.d.ts +0 -21
  480. package/dist/components/modals/InputModal.js +0 -976
  481. package/dist/components/modals/InputModal.js.map +0 -1
  482. package/dist/components/modals/InputModal.mjs +0 -940
  483. package/dist/components/modals/InputModal.mjs.map +0 -1
  484. package/dist/components/modals/LanguageModal.d.mts +0 -21
  485. package/dist/components/modals/LanguageModal.d.ts +0 -21
  486. package/dist/components/modals/LanguageModal.js +0 -1468
  487. package/dist/components/modals/LanguageModal.js.map +0 -1
  488. package/dist/components/modals/LanguageModal.mjs +0 -1432
  489. package/dist/components/modals/LanguageModal.mjs.map +0 -1
  490. package/dist/components/modals/ThemeModal.d.mts +0 -21
  491. package/dist/components/modals/ThemeModal.d.ts +0 -21
  492. package/dist/components/modals/ThemeModal.js +0 -1497
  493. package/dist/components/modals/ThemeModal.js.map +0 -1
  494. package/dist/components/modals/ThemeModal.mjs +0 -1461
  495. package/dist/components/modals/ThemeModal.mjs.map +0 -1
  496. package/dist/components/user-action/Input.d.mts +0 -77
  497. package/dist/components/user-action/Input.d.ts +0 -77
  498. package/dist/components/user-action/Input.js.map +0 -1
  499. package/dist/components/user-action/Input.mjs +0 -298
  500. package/dist/components/user-action/Input.mjs.map +0 -1
  501. package/dist/components/user-action/MultiSelect.d.mts +0 -42
  502. package/dist/components/user-action/MultiSelect.d.ts +0 -42
  503. package/dist/components/user-action/MultiSelect.js +0 -1468
  504. package/dist/components/user-action/MultiSelect.js.map +0 -1
  505. package/dist/components/user-action/MultiSelect.mjs +0 -1433
  506. package/dist/components/user-action/MultiSelect.mjs.map +0 -1
  507. package/dist/components/user-action/Select.d.mts +0 -41
  508. package/dist/components/user-action/Select.d.ts +0 -41
  509. package/dist/components/user-action/Select.js +0 -1236
  510. package/dist/components/user-action/Select.js.map +0 -1
  511. package/dist/components/user-action/Select.mjs +0 -1201
  512. package/dist/components/user-action/Select.mjs.map +0 -1
  513. package/dist/components/user-action/ToggleableInput.d.mts +0 -37
  514. package/dist/components/user-action/ToggleableInput.d.ts +0 -37
  515. package/dist/components/user-action/ToggleableInput.js +0 -192
  516. package/dist/components/user-action/ToggleableInput.js.map +0 -1
  517. package/dist/components/user-action/ToggleableInput.mjs +0 -157
  518. package/dist/components/user-action/ToggleableInput.mjs.map +0 -1
  519. package/dist/css/uncompiled/textstyles.css +0 -69
  520. package/dist/hooks/useFocusManagement.js.map +0 -1
  521. package/dist/hooks/useFocusManagement.mjs.map +0 -1
  522. package/dist/hooks/useFocusOnceVisible.js.map +0 -1
  523. package/dist/hooks/useFocusOnceVisible.mjs.map +0 -1
  524. package/dist/index.d.mts +0 -103
  525. package/dist/index.d.ts +0 -103
  526. package/dist/index.js +0 -12610
  527. package/dist/index.js.map +0 -1
  528. package/dist/index.mjs +0 -12447
  529. package/dist/index.mjs.map +0 -1
  530. package/dist/util/PropsWithFunctionChildren.d.mts +0 -14
  531. package/dist/util/PropsWithFunctionChildren.d.ts +0 -14
  532. package/dist/util/PropsWithFunctionChildren.js.map +0 -1
  533. package/dist/util/PropsWithFunctionChildren.mjs.map +0 -1
  534. package/dist/util/array.js.map +0 -1
  535. package/dist/util/array.mjs.map +0 -1
  536. package/dist/util/builder.js.map +0 -1
  537. package/dist/util/builder.mjs.map +0 -1
  538. package/dist/util/date.js.map +0 -1
  539. package/dist/util/date.mjs.map +0 -1
  540. package/dist/util/easeFunctions.js.map +0 -1
  541. package/dist/util/easeFunctions.mjs.map +0 -1
  542. package/dist/util/emailValidation.js.map +0 -1
  543. package/dist/util/emailValidation.mjs.map +0 -1
  544. package/dist/util/loopingArray.js.map +0 -1
  545. package/dist/util/loopingArray.mjs.map +0 -1
  546. package/dist/util/math.d.mts +0 -3
  547. package/dist/util/math.d.ts +0 -3
  548. package/dist/util/math.js.map +0 -1
  549. package/dist/util/math.mjs +0 -8
  550. package/dist/util/math.mjs.map +0 -1
  551. package/dist/util/news.d.mts +0 -101
  552. package/dist/util/news.d.ts +0 -101
  553. package/dist/util/news.js +0 -76
  554. package/dist/util/news.js.map +0 -1
  555. package/dist/util/news.mjs +0 -49
  556. package/dist/util/news.mjs.map +0 -1
  557. package/dist/util/noop.js.map +0 -1
  558. package/dist/util/noop.mjs +0 -6
  559. package/dist/util/noop.mjs.map +0 -1
  560. package/dist/util/resolveSetState.js.map +0 -1
  561. package/dist/util/resolveSetState.mjs.map +0 -1
  562. package/dist/util/simpleSearch.js.map +0 -1
  563. package/dist/util/simpleSearch.mjs.map +0 -1
  564. package/dist/util/storage.js.map +0 -1
  565. package/dist/util/storage.mjs.map +0 -1
  566. package/dist/util/types.d.mts +0 -3
  567. package/dist/util/types.d.ts +0 -3
  568. package/dist/util/types.js +0 -18
  569. package/dist/util/types.js.map +0 -1
  570. package/dist/util/types.mjs +0 -1
  571. package/dist/util/types.mjs.map +0 -1
  572. package/dist/util/writeToClipboard.js.map +0 -1
  573. package/dist/util/writeToClipboard.mjs.map +0 -1
  574. /package/dist/hooks/{useFocusManagement.d.mts → focus/useFocusManagement.d.mts} +0 -0
  575. /package/dist/hooks/{useFocusManagement.d.ts → focus/useFocusManagement.d.ts} +0 -0
  576. /package/dist/hooks/{useFocusOnceVisible.d.mts → focus/useFocusOnceVisible.d.mts} +0 -0
  577. /package/dist/hooks/{useFocusOnceVisible.d.ts → focus/useFocusOnceVisible.d.ts} +0 -0
  578. /package/dist/{css → style}/uncompiled/theme/colors-basic.css +0 -0
  579. /package/dist/{css → style}/uncompiled/theme/index.css +0 -0
  580. /package/dist/{css → style}/uncompiled/theme/variants.css +0 -0
  581. /package/dist/{css → style}/uncompiled/utitlity/borderradius.css +0 -0
  582. /package/dist/{css → style}/uncompiled/utitlity/general.css +0 -0
  583. /package/dist/{util → utils}/builder.d.mts +0 -0
  584. /package/dist/{util → utils}/builder.d.ts +0 -0
  585. /package/dist/{util → utils}/date.d.mts +0 -0
  586. /package/dist/{util → utils}/date.d.ts +0 -0
  587. /package/dist/{util → utils}/easeFunctions.d.mts +0 -0
  588. /package/dist/{util → utils}/easeFunctions.d.ts +0 -0
  589. /package/dist/{util → utils}/emailValidation.d.mts +0 -0
  590. /package/dist/{util → utils}/emailValidation.d.ts +0 -0
  591. /package/dist/{util → utils}/loopingArray.d.mts +0 -0
  592. /package/dist/{util → utils}/loopingArray.d.ts +0 -0
  593. /package/dist/{util → utils}/noop.d.mts +0 -0
  594. /package/dist/{util → utils}/noop.d.ts +0 -0
  595. /package/dist/{util → utils}/resolveSetState.d.mts +0 -0
  596. /package/dist/{util → utils}/resolveSetState.d.ts +0 -0
  597. /package/dist/{util → utils}/simpleSearch.d.mts +0 -0
  598. /package/dist/{util → utils}/simpleSearch.d.ts +0 -0
  599. /package/dist/{util → utils}/storage.d.mts +0 -0
  600. /package/dist/{util → utils}/storage.d.ts +0 -0
  601. /package/dist/{util → utils}/writeToClipboard.d.mts +0 -0
  602. /package/dist/{util → utils}/writeToClipboard.d.ts +0 -0
@@ -0,0 +1,1216 @@
1
+ // node_modules/@radix-ui/react-scroll-area/dist/index.mjs
2
+ import * as React23 from "react";
3
+
4
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
5
+ import * as React3 from "react";
6
+ import * as ReactDOM from "react-dom";
7
+
8
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
9
+ import * as React2 from "react";
10
+
11
+ // node_modules/@radix-ui/react-compose-refs/dist/index.mjs
12
+ import * as React from "react";
13
+ function setRef(ref, value) {
14
+ if (typeof ref === "function") {
15
+ return ref(value);
16
+ } else if (ref !== null && ref !== void 0) {
17
+ ref.current = value;
18
+ }
19
+ }
20
+ function composeRefs(...refs) {
21
+ return (node) => {
22
+ let hasCleanup = false;
23
+ const cleanups = refs.map((ref) => {
24
+ const cleanup = setRef(ref, node);
25
+ if (!hasCleanup && typeof cleanup == "function") {
26
+ hasCleanup = true;
27
+ }
28
+ return cleanup;
29
+ });
30
+ if (hasCleanup) {
31
+ return () => {
32
+ for (let i = 0; i < cleanups.length; i++) {
33
+ const cleanup = cleanups[i];
34
+ if (typeof cleanup == "function") {
35
+ cleanup();
36
+ } else {
37
+ setRef(refs[i], null);
38
+ }
39
+ }
40
+ };
41
+ }
42
+ };
43
+ }
44
+ function useComposedRefs(...refs) {
45
+ return React.useCallback(composeRefs(...refs), refs);
46
+ }
47
+
48
+ // node_modules/@radix-ui/react-slot/dist/index.mjs
49
+ import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
50
+ // @__NO_SIDE_EFFECTS__
51
+ function createSlot(ownerName) {
52
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
53
+ const Slot2 = React2.forwardRef((props, forwardedRef) => {
54
+ const { children, ...slotProps } = props;
55
+ const childrenArray = React2.Children.toArray(children);
56
+ const slottable = childrenArray.find(isSlottable);
57
+ if (slottable) {
58
+ const newElement = slottable.props.children;
59
+ const newChildren = childrenArray.map((child) => {
60
+ if (child === slottable) {
61
+ if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
62
+ return React2.isValidElement(newElement) ? newElement.props.children : null;
63
+ } else {
64
+ return child;
65
+ }
66
+ });
67
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null });
68
+ }
69
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
70
+ });
71
+ Slot2.displayName = `${ownerName}.Slot`;
72
+ return Slot2;
73
+ }
74
+ // @__NO_SIDE_EFFECTS__
75
+ function createSlotClone(ownerName) {
76
+ const SlotClone = React2.forwardRef((props, forwardedRef) => {
77
+ const { children, ...slotProps } = props;
78
+ if (React2.isValidElement(children)) {
79
+ const childrenRef = getElementRef(children);
80
+ const props2 = mergeProps(slotProps, children.props);
81
+ if (children.type !== React2.Fragment) {
82
+ props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
83
+ }
84
+ return React2.cloneElement(children, props2);
85
+ }
86
+ return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
87
+ });
88
+ SlotClone.displayName = `${ownerName}.SlotClone`;
89
+ return SlotClone;
90
+ }
91
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
92
+ function isSlottable(child) {
93
+ return React2.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
94
+ }
95
+ function mergeProps(slotProps, childProps) {
96
+ const overrideProps = { ...childProps };
97
+ for (const propName in childProps) {
98
+ const slotPropValue = slotProps[propName];
99
+ const childPropValue = childProps[propName];
100
+ const isHandler = /^on[A-Z]/.test(propName);
101
+ if (isHandler) {
102
+ if (slotPropValue && childPropValue) {
103
+ overrideProps[propName] = (...args) => {
104
+ const result = childPropValue(...args);
105
+ slotPropValue(...args);
106
+ return result;
107
+ };
108
+ } else if (slotPropValue) {
109
+ overrideProps[propName] = slotPropValue;
110
+ }
111
+ } else if (propName === "style") {
112
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
113
+ } else if (propName === "className") {
114
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
115
+ }
116
+ }
117
+ return { ...slotProps, ...overrideProps };
118
+ }
119
+ function getElementRef(element) {
120
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
121
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
122
+ if (mayWarn) {
123
+ return element.ref;
124
+ }
125
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
126
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
127
+ if (mayWarn) {
128
+ return element.props.ref;
129
+ }
130
+ return element.props.ref || element.ref;
131
+ }
132
+
133
+ // node_modules/@radix-ui/react-primitive/dist/index.mjs
134
+ import { jsx as jsx2 } from "react/jsx-runtime";
135
+ var NODES = [
136
+ "a",
137
+ "button",
138
+ "div",
139
+ "form",
140
+ "h2",
141
+ "h3",
142
+ "img",
143
+ "input",
144
+ "label",
145
+ "li",
146
+ "nav",
147
+ "ol",
148
+ "p",
149
+ "select",
150
+ "span",
151
+ "svg",
152
+ "ul"
153
+ ];
154
+ var Primitive = NODES.reduce((primitive, node) => {
155
+ const Slot = createSlot(`Primitive.${node}`);
156
+ const Node = React3.forwardRef((props, forwardedRef) => {
157
+ const { asChild, ...primitiveProps } = props;
158
+ const Comp = asChild ? Slot : node;
159
+ if (typeof window !== "undefined") {
160
+ window[Symbol.for("radix-ui")] = true;
161
+ }
162
+ return /* @__PURE__ */ jsx2(Comp, { ...primitiveProps, ref: forwardedRef });
163
+ });
164
+ Node.displayName = `Primitive.${node}`;
165
+ return { ...primitive, [node]: Node };
166
+ }, {});
167
+
168
+ // node_modules/@radix-ui/react-presence/dist/index.mjs
169
+ import * as React22 from "react";
170
+
171
+ // node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
172
+ import * as React4 from "react";
173
+ var useLayoutEffect2 = globalThis?.document ? React4.useLayoutEffect : () => {
174
+ };
175
+
176
+ // node_modules/@radix-ui/react-presence/dist/index.mjs
177
+ import * as React5 from "react";
178
+ function useStateMachine(initialState, machine) {
179
+ return React5.useReducer((state, event) => {
180
+ const nextState = machine[state][event];
181
+ return nextState ?? state;
182
+ }, initialState);
183
+ }
184
+ var Presence = (props) => {
185
+ const { present, children } = props;
186
+ const presence = usePresence(present);
187
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React22.Children.only(children);
188
+ const ref = useComposedRefs(presence.ref, getElementRef2(child));
189
+ const forceMount = typeof children === "function";
190
+ return forceMount || presence.isPresent ? React22.cloneElement(child, { ref }) : null;
191
+ };
192
+ Presence.displayName = "Presence";
193
+ function usePresence(present) {
194
+ const [node, setNode] = React22.useState();
195
+ const stylesRef = React22.useRef(null);
196
+ const prevPresentRef = React22.useRef(present);
197
+ const prevAnimationNameRef = React22.useRef("none");
198
+ const initialState = present ? "mounted" : "unmounted";
199
+ const [state, send] = useStateMachine(initialState, {
200
+ mounted: {
201
+ UNMOUNT: "unmounted",
202
+ ANIMATION_OUT: "unmountSuspended"
203
+ },
204
+ unmountSuspended: {
205
+ MOUNT: "mounted",
206
+ ANIMATION_END: "unmounted"
207
+ },
208
+ unmounted: {
209
+ MOUNT: "mounted"
210
+ }
211
+ });
212
+ React22.useEffect(() => {
213
+ const currentAnimationName = getAnimationName(stylesRef.current);
214
+ prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
215
+ }, [state]);
216
+ useLayoutEffect2(() => {
217
+ const styles = stylesRef.current;
218
+ const wasPresent = prevPresentRef.current;
219
+ const hasPresentChanged = wasPresent !== present;
220
+ if (hasPresentChanged) {
221
+ const prevAnimationName = prevAnimationNameRef.current;
222
+ const currentAnimationName = getAnimationName(styles);
223
+ if (present) {
224
+ send("MOUNT");
225
+ } else if (currentAnimationName === "none" || styles?.display === "none") {
226
+ send("UNMOUNT");
227
+ } else {
228
+ const isAnimating = prevAnimationName !== currentAnimationName;
229
+ if (wasPresent && isAnimating) {
230
+ send("ANIMATION_OUT");
231
+ } else {
232
+ send("UNMOUNT");
233
+ }
234
+ }
235
+ prevPresentRef.current = present;
236
+ }
237
+ }, [present, send]);
238
+ useLayoutEffect2(() => {
239
+ if (node) {
240
+ let timeoutId;
241
+ const ownerWindow = node.ownerDocument.defaultView ?? window;
242
+ const handleAnimationEnd = (event) => {
243
+ const currentAnimationName = getAnimationName(stylesRef.current);
244
+ const isCurrentAnimation = currentAnimationName.includes(event.animationName);
245
+ if (event.target === node && isCurrentAnimation) {
246
+ send("ANIMATION_END");
247
+ if (!prevPresentRef.current) {
248
+ const currentFillMode = node.style.animationFillMode;
249
+ node.style.animationFillMode = "forwards";
250
+ timeoutId = ownerWindow.setTimeout(() => {
251
+ if (node.style.animationFillMode === "forwards") {
252
+ node.style.animationFillMode = currentFillMode;
253
+ }
254
+ });
255
+ }
256
+ }
257
+ };
258
+ const handleAnimationStart = (event) => {
259
+ if (event.target === node) {
260
+ prevAnimationNameRef.current = getAnimationName(stylesRef.current);
261
+ }
262
+ };
263
+ node.addEventListener("animationstart", handleAnimationStart);
264
+ node.addEventListener("animationcancel", handleAnimationEnd);
265
+ node.addEventListener("animationend", handleAnimationEnd);
266
+ return () => {
267
+ ownerWindow.clearTimeout(timeoutId);
268
+ node.removeEventListener("animationstart", handleAnimationStart);
269
+ node.removeEventListener("animationcancel", handleAnimationEnd);
270
+ node.removeEventListener("animationend", handleAnimationEnd);
271
+ };
272
+ } else {
273
+ send("ANIMATION_END");
274
+ }
275
+ }, [node, send]);
276
+ return {
277
+ isPresent: ["mounted", "unmountSuspended"].includes(state),
278
+ ref: React22.useCallback((node2) => {
279
+ stylesRef.current = node2 ? getComputedStyle(node2) : null;
280
+ setNode(node2);
281
+ }, [])
282
+ };
283
+ }
284
+ function getAnimationName(styles) {
285
+ return styles?.animationName || "none";
286
+ }
287
+ function getElementRef2(element) {
288
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
289
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
290
+ if (mayWarn) {
291
+ return element.ref;
292
+ }
293
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
294
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
295
+ if (mayWarn) {
296
+ return element.props.ref;
297
+ }
298
+ return element.props.ref || element.ref;
299
+ }
300
+
301
+ // node_modules/@radix-ui/react-context/dist/index.mjs
302
+ import * as React6 from "react";
303
+ import { jsx as jsx3 } from "react/jsx-runtime";
304
+ function createContextScope(scopeName, createContextScopeDeps = []) {
305
+ let defaultContexts = [];
306
+ function createContext3(rootComponentName, defaultContext) {
307
+ const BaseContext = React6.createContext(defaultContext);
308
+ const index = defaultContexts.length;
309
+ defaultContexts = [...defaultContexts, defaultContext];
310
+ const Provider = (props) => {
311
+ const { scope, children, ...context } = props;
312
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
313
+ const value = React6.useMemo(() => context, Object.values(context));
314
+ return /* @__PURE__ */ jsx3(Context.Provider, { value, children });
315
+ };
316
+ Provider.displayName = rootComponentName + "Provider";
317
+ function useContext22(consumerName, scope) {
318
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
319
+ const context = React6.useContext(Context);
320
+ if (context) return context;
321
+ if (defaultContext !== void 0) return defaultContext;
322
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
323
+ }
324
+ return [Provider, useContext22];
325
+ }
326
+ const createScope = () => {
327
+ const scopeContexts = defaultContexts.map((defaultContext) => {
328
+ return React6.createContext(defaultContext);
329
+ });
330
+ return function useScope(scope) {
331
+ const contexts = scope?.[scopeName] || scopeContexts;
332
+ return React6.useMemo(
333
+ () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
334
+ [scope, contexts]
335
+ );
336
+ };
337
+ };
338
+ createScope.scopeName = scopeName;
339
+ return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
340
+ }
341
+ function composeContextScopes(...scopes) {
342
+ const baseScope = scopes[0];
343
+ if (scopes.length === 1) return baseScope;
344
+ const createScope = () => {
345
+ const scopeHooks = scopes.map((createScope2) => ({
346
+ useScope: createScope2(),
347
+ scopeName: createScope2.scopeName
348
+ }));
349
+ return function useComposedScopes(overrideScopes) {
350
+ const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
351
+ const scopeProps = useScope(overrideScopes);
352
+ const currentScope = scopeProps[`__scope${scopeName}`];
353
+ return { ...nextScopes2, ...currentScope };
354
+ }, {});
355
+ return React6.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
356
+ };
357
+ };
358
+ createScope.scopeName = baseScope.scopeName;
359
+ return createScope;
360
+ }
361
+
362
+ // node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
363
+ import * as React7 from "react";
364
+ function useCallbackRef(callback) {
365
+ const callbackRef = React7.useRef(callback);
366
+ React7.useEffect(() => {
367
+ callbackRef.current = callback;
368
+ });
369
+ return React7.useMemo(() => (...args) => callbackRef.current?.(...args), []);
370
+ }
371
+
372
+ // node_modules/@radix-ui/react-direction/dist/index.mjs
373
+ import * as React8 from "react";
374
+ import { jsx as jsx4 } from "react/jsx-runtime";
375
+ var DirectionContext = React8.createContext(void 0);
376
+ function useDirection(localDir) {
377
+ const globalDir = React8.useContext(DirectionContext);
378
+ return localDir || globalDir || "ltr";
379
+ }
380
+
381
+ // node_modules/@radix-ui/number/dist/index.mjs
382
+ function clamp(value, [min, max]) {
383
+ return Math.min(max, Math.max(min, value));
384
+ }
385
+
386
+ // node_modules/@radix-ui/primitive/dist/index.mjs
387
+ function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
388
+ return function handleEvent(event) {
389
+ originalEventHandler?.(event);
390
+ if (checkForDefaultPrevented === false || !event.defaultPrevented) {
391
+ return ourEventHandler?.(event);
392
+ }
393
+ };
394
+ }
395
+
396
+ // node_modules/@radix-ui/react-scroll-area/dist/index.mjs
397
+ import * as React9 from "react";
398
+ import { Fragment as Fragment3, jsx as jsx5, jsxs } from "react/jsx-runtime";
399
+ function useStateMachine2(initialState, machine) {
400
+ return React9.useReducer((state, event) => {
401
+ const nextState = machine[state][event];
402
+ return nextState ?? state;
403
+ }, initialState);
404
+ }
405
+ var SCROLL_AREA_NAME = "ScrollArea";
406
+ var [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);
407
+ var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
408
+ var ScrollArea = React23.forwardRef(
409
+ (props, forwardedRef) => {
410
+ const {
411
+ __scopeScrollArea,
412
+ type = "hover",
413
+ dir,
414
+ scrollHideDelay = 600,
415
+ ...scrollAreaProps
416
+ } = props;
417
+ const [scrollArea, setScrollArea] = React23.useState(null);
418
+ const [viewport, setViewport] = React23.useState(null);
419
+ const [content, setContent] = React23.useState(null);
420
+ const [scrollbarX, setScrollbarX] = React23.useState(null);
421
+ const [scrollbarY, setScrollbarY] = React23.useState(null);
422
+ const [cornerWidth, setCornerWidth] = React23.useState(0);
423
+ const [cornerHeight, setCornerHeight] = React23.useState(0);
424
+ const [scrollbarXEnabled, setScrollbarXEnabled] = React23.useState(false);
425
+ const [scrollbarYEnabled, setScrollbarYEnabled] = React23.useState(false);
426
+ const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));
427
+ const direction = useDirection(dir);
428
+ return /* @__PURE__ */ jsx5(
429
+ ScrollAreaProvider,
430
+ {
431
+ scope: __scopeScrollArea,
432
+ type,
433
+ dir: direction,
434
+ scrollHideDelay,
435
+ scrollArea,
436
+ viewport,
437
+ onViewportChange: setViewport,
438
+ content,
439
+ onContentChange: setContent,
440
+ scrollbarX,
441
+ onScrollbarXChange: setScrollbarX,
442
+ scrollbarXEnabled,
443
+ onScrollbarXEnabledChange: setScrollbarXEnabled,
444
+ scrollbarY,
445
+ onScrollbarYChange: setScrollbarY,
446
+ scrollbarYEnabled,
447
+ onScrollbarYEnabledChange: setScrollbarYEnabled,
448
+ onCornerWidthChange: setCornerWidth,
449
+ onCornerHeightChange: setCornerHeight,
450
+ children: /* @__PURE__ */ jsx5(
451
+ Primitive.div,
452
+ {
453
+ dir: direction,
454
+ ...scrollAreaProps,
455
+ ref: composedRefs,
456
+ style: {
457
+ position: "relative",
458
+ // Pass corner sizes as CSS vars to reduce re-renders of context consumers
459
+ ["--radix-scroll-area-corner-width"]: cornerWidth + "px",
460
+ ["--radix-scroll-area-corner-height"]: cornerHeight + "px",
461
+ ...props.style
462
+ }
463
+ }
464
+ )
465
+ }
466
+ );
467
+ }
468
+ );
469
+ ScrollArea.displayName = SCROLL_AREA_NAME;
470
+ var VIEWPORT_NAME = "ScrollAreaViewport";
471
+ var ScrollAreaViewport = React23.forwardRef(
472
+ (props, forwardedRef) => {
473
+ const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
474
+ const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
475
+ const ref = React23.useRef(null);
476
+ const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);
477
+ return /* @__PURE__ */ jsxs(Fragment3, { children: [
478
+ /* @__PURE__ */ jsx5(
479
+ "style",
480
+ {
481
+ dangerouslySetInnerHTML: {
482
+ __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}`
483
+ },
484
+ nonce
485
+ }
486
+ ),
487
+ /* @__PURE__ */ jsx5(
488
+ Primitive.div,
489
+ {
490
+ "data-radix-scroll-area-viewport": "",
491
+ ...viewportProps,
492
+ ref: composedRefs,
493
+ style: {
494
+ /**
495
+ * We don't support `visible` because the intention is to have at least one scrollbar
496
+ * if this component is used and `visible` will behave like `auto` in that case
497
+ * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
498
+ *
499
+ * We don't handle `auto` because the intention is for the native implementation
500
+ * to be hidden if using this component. We just want to ensure the node is scrollable
501
+ * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
502
+ * the browser from having to work out whether to render native scrollbars or not,
503
+ * we tell it to with the intention of hiding them in CSS.
504
+ */
505
+ overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
506
+ overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
507
+ ...props.style
508
+ },
509
+ children: /* @__PURE__ */ jsx5("div", { ref: context.onContentChange, style: { minWidth: "100%", display: "table" }, children })
510
+ }
511
+ )
512
+ ] });
513
+ }
514
+ );
515
+ ScrollAreaViewport.displayName = VIEWPORT_NAME;
516
+ var SCROLLBAR_NAME = "ScrollAreaScrollbar";
517
+ var ScrollAreaScrollbar = React23.forwardRef(
518
+ (props, forwardedRef) => {
519
+ const { forceMount, ...scrollbarProps } = props;
520
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
521
+ const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
522
+ const isHorizontal = props.orientation === "horizontal";
523
+ React23.useEffect(() => {
524
+ isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
525
+ return () => {
526
+ isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
527
+ };
528
+ }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);
529
+ return context.type === "hover" ? /* @__PURE__ */ jsx5(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "scroll" ? /* @__PURE__ */ jsx5(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "auto" ? /* @__PURE__ */ jsx5(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "always" ? /* @__PURE__ */ jsx5(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;
530
+ }
531
+ );
532
+ ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
533
+ var ScrollAreaScrollbarHover = React23.forwardRef((props, forwardedRef) => {
534
+ const { forceMount, ...scrollbarProps } = props;
535
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
536
+ const [visible, setVisible] = React23.useState(false);
537
+ React23.useEffect(() => {
538
+ const scrollArea = context.scrollArea;
539
+ let hideTimer = 0;
540
+ if (scrollArea) {
541
+ const handlePointerEnter = () => {
542
+ window.clearTimeout(hideTimer);
543
+ setVisible(true);
544
+ };
545
+ const handlePointerLeave = () => {
546
+ hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);
547
+ };
548
+ scrollArea.addEventListener("pointerenter", handlePointerEnter);
549
+ scrollArea.addEventListener("pointerleave", handlePointerLeave);
550
+ return () => {
551
+ window.clearTimeout(hideTimer);
552
+ scrollArea.removeEventListener("pointerenter", handlePointerEnter);
553
+ scrollArea.removeEventListener("pointerleave", handlePointerLeave);
554
+ };
555
+ }
556
+ }, [context.scrollArea, context.scrollHideDelay]);
557
+ return /* @__PURE__ */ jsx5(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx5(
558
+ ScrollAreaScrollbarAuto,
559
+ {
560
+ "data-state": visible ? "visible" : "hidden",
561
+ ...scrollbarProps,
562
+ ref: forwardedRef
563
+ }
564
+ ) });
565
+ });
566
+ var ScrollAreaScrollbarScroll = React23.forwardRef((props, forwardedRef) => {
567
+ const { forceMount, ...scrollbarProps } = props;
568
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
569
+ const isHorizontal = props.orientation === "horizontal";
570
+ const debounceScrollEnd = useDebounceCallback(() => send("SCROLL_END"), 100);
571
+ const [state, send] = useStateMachine2("hidden", {
572
+ hidden: {
573
+ SCROLL: "scrolling"
574
+ },
575
+ scrolling: {
576
+ SCROLL_END: "idle",
577
+ POINTER_ENTER: "interacting"
578
+ },
579
+ interacting: {
580
+ SCROLL: "interacting",
581
+ POINTER_LEAVE: "idle"
582
+ },
583
+ idle: {
584
+ HIDE: "hidden",
585
+ SCROLL: "scrolling",
586
+ POINTER_ENTER: "interacting"
587
+ }
588
+ });
589
+ React23.useEffect(() => {
590
+ if (state === "idle") {
591
+ const hideTimer = window.setTimeout(() => send("HIDE"), context.scrollHideDelay);
592
+ return () => window.clearTimeout(hideTimer);
593
+ }
594
+ }, [state, context.scrollHideDelay, send]);
595
+ React23.useEffect(() => {
596
+ const viewport = context.viewport;
597
+ const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
598
+ if (viewport) {
599
+ let prevScrollPos = viewport[scrollDirection];
600
+ const handleScroll = () => {
601
+ const scrollPos = viewport[scrollDirection];
602
+ const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
603
+ if (hasScrollInDirectionChanged) {
604
+ send("SCROLL");
605
+ debounceScrollEnd();
606
+ }
607
+ prevScrollPos = scrollPos;
608
+ };
609
+ viewport.addEventListener("scroll", handleScroll);
610
+ return () => viewport.removeEventListener("scroll", handleScroll);
611
+ }
612
+ }, [context.viewport, isHorizontal, send, debounceScrollEnd]);
613
+ return /* @__PURE__ */ jsx5(Presence, { present: forceMount || state !== "hidden", children: /* @__PURE__ */ jsx5(
614
+ ScrollAreaScrollbarVisible,
615
+ {
616
+ "data-state": state === "hidden" ? "hidden" : "visible",
617
+ ...scrollbarProps,
618
+ ref: forwardedRef,
619
+ onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
620
+ onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
621
+ }
622
+ ) });
623
+ });
624
+ var ScrollAreaScrollbarAuto = React23.forwardRef((props, forwardedRef) => {
625
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
626
+ const { forceMount, ...scrollbarProps } = props;
627
+ const [visible, setVisible] = React23.useState(false);
628
+ const isHorizontal = props.orientation === "horizontal";
629
+ const handleResize = useDebounceCallback(() => {
630
+ if (context.viewport) {
631
+ const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
632
+ const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
633
+ setVisible(isHorizontal ? isOverflowX : isOverflowY);
634
+ }
635
+ }, 10);
636
+ useResizeObserver(context.viewport, handleResize);
637
+ useResizeObserver(context.content, handleResize);
638
+ return /* @__PURE__ */ jsx5(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx5(
639
+ ScrollAreaScrollbarVisible,
640
+ {
641
+ "data-state": visible ? "visible" : "hidden",
642
+ ...scrollbarProps,
643
+ ref: forwardedRef
644
+ }
645
+ ) });
646
+ });
647
+ var ScrollAreaScrollbarVisible = React23.forwardRef((props, forwardedRef) => {
648
+ const { orientation = "vertical", ...scrollbarProps } = props;
649
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
650
+ const thumbRef = React23.useRef(null);
651
+ const pointerOffsetRef = React23.useRef(0);
652
+ const [sizes, setSizes] = React23.useState({
653
+ content: 0,
654
+ viewport: 0,
655
+ scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
656
+ });
657
+ const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);
658
+ const commonProps = {
659
+ ...scrollbarProps,
660
+ sizes,
661
+ onSizesChange: setSizes,
662
+ hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
663
+ onThumbChange: (thumb) => thumbRef.current = thumb,
664
+ onThumbPointerUp: () => pointerOffsetRef.current = 0,
665
+ onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos
666
+ };
667
+ function getScrollPosition(pointerPos, dir) {
668
+ return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);
669
+ }
670
+ if (orientation === "horizontal") {
671
+ return /* @__PURE__ */ jsx5(
672
+ ScrollAreaScrollbarX,
673
+ {
674
+ ...commonProps,
675
+ ref: forwardedRef,
676
+ onThumbPositionChange: () => {
677
+ if (context.viewport && thumbRef.current) {
678
+ const scrollPos = context.viewport.scrollLeft;
679
+ const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);
680
+ thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;
681
+ }
682
+ },
683
+ onWheelScroll: (scrollPos) => {
684
+ if (context.viewport) context.viewport.scrollLeft = scrollPos;
685
+ },
686
+ onDragScroll: (pointerPos) => {
687
+ if (context.viewport) {
688
+ context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
689
+ }
690
+ }
691
+ }
692
+ );
693
+ }
694
+ if (orientation === "vertical") {
695
+ return /* @__PURE__ */ jsx5(
696
+ ScrollAreaScrollbarY,
697
+ {
698
+ ...commonProps,
699
+ ref: forwardedRef,
700
+ onThumbPositionChange: () => {
701
+ if (context.viewport && thumbRef.current) {
702
+ const scrollPos = context.viewport.scrollTop;
703
+ const offset = getThumbOffsetFromScroll(scrollPos, sizes);
704
+ thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;
705
+ }
706
+ },
707
+ onWheelScroll: (scrollPos) => {
708
+ if (context.viewport) context.viewport.scrollTop = scrollPos;
709
+ },
710
+ onDragScroll: (pointerPos) => {
711
+ if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
712
+ }
713
+ }
714
+ );
715
+ }
716
+ return null;
717
+ });
718
+ var ScrollAreaScrollbarX = React23.forwardRef((props, forwardedRef) => {
719
+ const { sizes, onSizesChange, ...scrollbarProps } = props;
720
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
721
+ const [computedStyle, setComputedStyle] = React23.useState();
722
+ const ref = React23.useRef(null);
723
+ const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
724
+ React23.useEffect(() => {
725
+ if (ref.current) setComputedStyle(getComputedStyle(ref.current));
726
+ }, [ref]);
727
+ return /* @__PURE__ */ jsx5(
728
+ ScrollAreaScrollbarImpl,
729
+ {
730
+ "data-orientation": "horizontal",
731
+ ...scrollbarProps,
732
+ ref: composeRefs2,
733
+ sizes,
734
+ style: {
735
+ bottom: 0,
736
+ left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
737
+ right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
738
+ ["--radix-scroll-area-thumb-width"]: getThumbSize(sizes) + "px",
739
+ ...props.style
740
+ },
741
+ onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),
742
+ onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),
743
+ onWheelScroll: (event, maxScrollPos) => {
744
+ if (context.viewport) {
745
+ const scrollPos = context.viewport.scrollLeft + event.deltaX;
746
+ props.onWheelScroll(scrollPos);
747
+ if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
748
+ event.preventDefault();
749
+ }
750
+ }
751
+ },
752
+ onResize: () => {
753
+ if (ref.current && context.viewport && computedStyle) {
754
+ onSizesChange({
755
+ content: context.viewport.scrollWidth,
756
+ viewport: context.viewport.offsetWidth,
757
+ scrollbar: {
758
+ size: ref.current.clientWidth,
759
+ paddingStart: toInt(computedStyle.paddingLeft),
760
+ paddingEnd: toInt(computedStyle.paddingRight)
761
+ }
762
+ });
763
+ }
764
+ }
765
+ }
766
+ );
767
+ });
768
+ var ScrollAreaScrollbarY = React23.forwardRef((props, forwardedRef) => {
769
+ const { sizes, onSizesChange, ...scrollbarProps } = props;
770
+ const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
771
+ const [computedStyle, setComputedStyle] = React23.useState();
772
+ const ref = React23.useRef(null);
773
+ const composeRefs2 = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
774
+ React23.useEffect(() => {
775
+ if (ref.current) setComputedStyle(getComputedStyle(ref.current));
776
+ }, [ref]);
777
+ return /* @__PURE__ */ jsx5(
778
+ ScrollAreaScrollbarImpl,
779
+ {
780
+ "data-orientation": "vertical",
781
+ ...scrollbarProps,
782
+ ref: composeRefs2,
783
+ sizes,
784
+ style: {
785
+ top: 0,
786
+ right: context.dir === "ltr" ? 0 : void 0,
787
+ left: context.dir === "rtl" ? 0 : void 0,
788
+ bottom: "var(--radix-scroll-area-corner-height)",
789
+ ["--radix-scroll-area-thumb-height"]: getThumbSize(sizes) + "px",
790
+ ...props.style
791
+ },
792
+ onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),
793
+ onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),
794
+ onWheelScroll: (event, maxScrollPos) => {
795
+ if (context.viewport) {
796
+ const scrollPos = context.viewport.scrollTop + event.deltaY;
797
+ props.onWheelScroll(scrollPos);
798
+ if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
799
+ event.preventDefault();
800
+ }
801
+ }
802
+ },
803
+ onResize: () => {
804
+ if (ref.current && context.viewport && computedStyle) {
805
+ onSizesChange({
806
+ content: context.viewport.scrollHeight,
807
+ viewport: context.viewport.offsetHeight,
808
+ scrollbar: {
809
+ size: ref.current.clientHeight,
810
+ paddingStart: toInt(computedStyle.paddingTop),
811
+ paddingEnd: toInt(computedStyle.paddingBottom)
812
+ }
813
+ });
814
+ }
815
+ }
816
+ }
817
+ );
818
+ });
819
+ var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
820
+ var ScrollAreaScrollbarImpl = React23.forwardRef((props, forwardedRef) => {
821
+ const {
822
+ __scopeScrollArea,
823
+ sizes,
824
+ hasThumb,
825
+ onThumbChange,
826
+ onThumbPointerUp,
827
+ onThumbPointerDown,
828
+ onThumbPositionChange,
829
+ onDragScroll,
830
+ onWheelScroll,
831
+ onResize,
832
+ ...scrollbarProps
833
+ } = props;
834
+ const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
835
+ const [scrollbar, setScrollbar] = React23.useState(null);
836
+ const composeRefs2 = useComposedRefs(forwardedRef, (node) => setScrollbar(node));
837
+ const rectRef = React23.useRef(null);
838
+ const prevWebkitUserSelectRef = React23.useRef("");
839
+ const viewport = context.viewport;
840
+ const maxScrollPos = sizes.content - sizes.viewport;
841
+ const handleWheelScroll = useCallbackRef(onWheelScroll);
842
+ const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);
843
+ const handleResize = useDebounceCallback(onResize, 10);
844
+ function handleDragScroll(event) {
845
+ if (rectRef.current) {
846
+ const x = event.clientX - rectRef.current.left;
847
+ const y = event.clientY - rectRef.current.top;
848
+ onDragScroll({ x, y });
849
+ }
850
+ }
851
+ React23.useEffect(() => {
852
+ const handleWheel = (event) => {
853
+ const element = event.target;
854
+ const isScrollbarWheel = scrollbar?.contains(element);
855
+ if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);
856
+ };
857
+ document.addEventListener("wheel", handleWheel, { passive: false });
858
+ return () => document.removeEventListener("wheel", handleWheel, { passive: false });
859
+ }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);
860
+ React23.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);
861
+ useResizeObserver(scrollbar, handleResize);
862
+ useResizeObserver(context.content, handleResize);
863
+ return /* @__PURE__ */ jsx5(
864
+ ScrollbarProvider,
865
+ {
866
+ scope: __scopeScrollArea,
867
+ scrollbar,
868
+ hasThumb,
869
+ onThumbChange: useCallbackRef(onThumbChange),
870
+ onThumbPointerUp: useCallbackRef(onThumbPointerUp),
871
+ onThumbPositionChange: handleThumbPositionChange,
872
+ onThumbPointerDown: useCallbackRef(onThumbPointerDown),
873
+ children: /* @__PURE__ */ jsx5(
874
+ Primitive.div,
875
+ {
876
+ ...scrollbarProps,
877
+ ref: composeRefs2,
878
+ style: { position: "absolute", ...scrollbarProps.style },
879
+ onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
880
+ const mainPointer = 0;
881
+ if (event.button === mainPointer) {
882
+ const element = event.target;
883
+ element.setPointerCapture(event.pointerId);
884
+ rectRef.current = scrollbar.getBoundingClientRect();
885
+ prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
886
+ document.body.style.webkitUserSelect = "none";
887
+ if (context.viewport) context.viewport.style.scrollBehavior = "auto";
888
+ handleDragScroll(event);
889
+ }
890
+ }),
891
+ onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),
892
+ onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
893
+ const element = event.target;
894
+ if (element.hasPointerCapture(event.pointerId)) {
895
+ element.releasePointerCapture(event.pointerId);
896
+ }
897
+ document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
898
+ if (context.viewport) context.viewport.style.scrollBehavior = "";
899
+ rectRef.current = null;
900
+ })
901
+ }
902
+ )
903
+ }
904
+ );
905
+ });
906
+ var THUMB_NAME = "ScrollAreaThumb";
907
+ var ScrollAreaThumb = React23.forwardRef(
908
+ (props, forwardedRef) => {
909
+ const { forceMount, ...thumbProps } = props;
910
+ const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
911
+ return /* @__PURE__ */ jsx5(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx5(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });
912
+ }
913
+ );
914
+ var ScrollAreaThumbImpl = React23.forwardRef(
915
+ (props, forwardedRef) => {
916
+ const { __scopeScrollArea, style, ...thumbProps } = props;
917
+ const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
918
+ const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
919
+ const { onThumbPositionChange } = scrollbarContext;
920
+ const composedRef = useComposedRefs(
921
+ forwardedRef,
922
+ (node) => scrollbarContext.onThumbChange(node)
923
+ );
924
+ const removeUnlinkedScrollListenerRef = React23.useRef(void 0);
925
+ const debounceScrollEnd = useDebounceCallback(() => {
926
+ if (removeUnlinkedScrollListenerRef.current) {
927
+ removeUnlinkedScrollListenerRef.current();
928
+ removeUnlinkedScrollListenerRef.current = void 0;
929
+ }
930
+ }, 100);
931
+ React23.useEffect(() => {
932
+ const viewport = scrollAreaContext.viewport;
933
+ if (viewport) {
934
+ const handleScroll = () => {
935
+ debounceScrollEnd();
936
+ if (!removeUnlinkedScrollListenerRef.current) {
937
+ const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);
938
+ removeUnlinkedScrollListenerRef.current = listener;
939
+ onThumbPositionChange();
940
+ }
941
+ };
942
+ onThumbPositionChange();
943
+ viewport.addEventListener("scroll", handleScroll);
944
+ return () => viewport.removeEventListener("scroll", handleScroll);
945
+ }
946
+ }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);
947
+ return /* @__PURE__ */ jsx5(
948
+ Primitive.div,
949
+ {
950
+ "data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
951
+ ...thumbProps,
952
+ ref: composedRef,
953
+ style: {
954
+ width: "var(--radix-scroll-area-thumb-width)",
955
+ height: "var(--radix-scroll-area-thumb-height)",
956
+ ...style
957
+ },
958
+ onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {
959
+ const thumb = event.target;
960
+ const thumbRect = thumb.getBoundingClientRect();
961
+ const x = event.clientX - thumbRect.left;
962
+ const y = event.clientY - thumbRect.top;
963
+ scrollbarContext.onThumbPointerDown({ x, y });
964
+ }),
965
+ onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
966
+ }
967
+ );
968
+ }
969
+ );
970
+ ScrollAreaThumb.displayName = THUMB_NAME;
971
+ var CORNER_NAME = "ScrollAreaCorner";
972
+ var ScrollAreaCorner = React23.forwardRef(
973
+ (props, forwardedRef) => {
974
+ const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
975
+ const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
976
+ const hasCorner = context.type !== "scroll" && hasBothScrollbarsVisible;
977
+ return hasCorner ? /* @__PURE__ */ jsx5(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;
978
+ }
979
+ );
980
+ ScrollAreaCorner.displayName = CORNER_NAME;
981
+ var ScrollAreaCornerImpl = React23.forwardRef((props, forwardedRef) => {
982
+ const { __scopeScrollArea, ...cornerProps } = props;
983
+ const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
984
+ const [width, setWidth] = React23.useState(0);
985
+ const [height, setHeight] = React23.useState(0);
986
+ const hasSize = Boolean(width && height);
987
+ useResizeObserver(context.scrollbarX, () => {
988
+ const height2 = context.scrollbarX?.offsetHeight || 0;
989
+ context.onCornerHeightChange(height2);
990
+ setHeight(height2);
991
+ });
992
+ useResizeObserver(context.scrollbarY, () => {
993
+ const width2 = context.scrollbarY?.offsetWidth || 0;
994
+ context.onCornerWidthChange(width2);
995
+ setWidth(width2);
996
+ });
997
+ return hasSize ? /* @__PURE__ */ jsx5(
998
+ Primitive.div,
999
+ {
1000
+ ...cornerProps,
1001
+ ref: forwardedRef,
1002
+ style: {
1003
+ width,
1004
+ height,
1005
+ position: "absolute",
1006
+ right: context.dir === "ltr" ? 0 : void 0,
1007
+ left: context.dir === "rtl" ? 0 : void 0,
1008
+ bottom: 0,
1009
+ ...props.style
1010
+ }
1011
+ }
1012
+ ) : null;
1013
+ });
1014
+ function toInt(value) {
1015
+ return value ? parseInt(value, 10) : 0;
1016
+ }
1017
+ function getThumbRatio(viewportSize, contentSize) {
1018
+ const ratio = viewportSize / contentSize;
1019
+ return isNaN(ratio) ? 0 : ratio;
1020
+ }
1021
+ function getThumbSize(sizes) {
1022
+ const ratio = getThumbRatio(sizes.viewport, sizes.content);
1023
+ const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
1024
+ const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;
1025
+ return Math.max(thumbSize, 18);
1026
+ }
1027
+ function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") {
1028
+ const thumbSizePx = getThumbSize(sizes);
1029
+ const thumbCenter = thumbSizePx / 2;
1030
+ const offset = pointerOffset || thumbCenter;
1031
+ const thumbOffsetFromEnd = thumbSizePx - offset;
1032
+ const minPointerPos = sizes.scrollbar.paddingStart + offset;
1033
+ const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;
1034
+ const maxScrollPos = sizes.content - sizes.viewport;
1035
+ const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
1036
+ const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);
1037
+ return interpolate(pointerPos);
1038
+ }
1039
+ function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
1040
+ const thumbSizePx = getThumbSize(sizes);
1041
+ const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
1042
+ const scrollbar = sizes.scrollbar.size - scrollbarPadding;
1043
+ const maxScrollPos = sizes.content - sizes.viewport;
1044
+ const maxThumbPos = scrollbar - thumbSizePx;
1045
+ const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
1046
+ const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);
1047
+ const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);
1048
+ return interpolate(scrollWithoutMomentum);
1049
+ }
1050
+ function linearScale(input, output) {
1051
+ return (value) => {
1052
+ if (input[0] === input[1] || output[0] === output[1]) return output[0];
1053
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
1054
+ return output[0] + ratio * (value - input[0]);
1055
+ };
1056
+ }
1057
+ function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
1058
+ return scrollPos > 0 && scrollPos < maxScrollPos;
1059
+ }
1060
+ var addUnlinkedScrollListener = (node, handler = () => {
1061
+ }) => {
1062
+ let prevPosition = { left: node.scrollLeft, top: node.scrollTop };
1063
+ let rAF = 0;
1064
+ (function loop() {
1065
+ const position = { left: node.scrollLeft, top: node.scrollTop };
1066
+ const isHorizontalScroll = prevPosition.left !== position.left;
1067
+ const isVerticalScroll = prevPosition.top !== position.top;
1068
+ if (isHorizontalScroll || isVerticalScroll) handler();
1069
+ prevPosition = position;
1070
+ rAF = window.requestAnimationFrame(loop);
1071
+ })();
1072
+ return () => window.cancelAnimationFrame(rAF);
1073
+ };
1074
+ function useDebounceCallback(callback, delay) {
1075
+ const handleCallback = useCallbackRef(callback);
1076
+ const debounceTimerRef = React23.useRef(0);
1077
+ React23.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);
1078
+ return React23.useCallback(() => {
1079
+ window.clearTimeout(debounceTimerRef.current);
1080
+ debounceTimerRef.current = window.setTimeout(handleCallback, delay);
1081
+ }, [handleCallback, delay]);
1082
+ }
1083
+ function useResizeObserver(element, onResize) {
1084
+ const handleResize = useCallbackRef(onResize);
1085
+ useLayoutEffect2(() => {
1086
+ let rAF = 0;
1087
+ if (element) {
1088
+ const resizeObserver = new ResizeObserver(() => {
1089
+ cancelAnimationFrame(rAF);
1090
+ rAF = window.requestAnimationFrame(handleResize);
1091
+ });
1092
+ resizeObserver.observe(element);
1093
+ return () => {
1094
+ window.cancelAnimationFrame(rAF);
1095
+ resizeObserver.unobserve(element);
1096
+ };
1097
+ }
1098
+ }, [element, handleResize]);
1099
+ }
1100
+ var Root = ScrollArea;
1101
+ var Viewport = ScrollAreaViewport;
1102
+ var Scrollbar = ScrollAreaScrollbar;
1103
+ var Thumb = ScrollAreaThumb;
1104
+ var Corner = ScrollAreaCorner;
1105
+
1106
+ // src/components/layout-and-navigation/ScrollArea.tsx
1107
+ import { clsx } from "clsx";
1108
+ import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
1109
+ var ScrollArea2 = ({
1110
+ children,
1111
+ scrollbarSize = "md",
1112
+ scrollbarType = "auto",
1113
+ scrollbarAxis = "both",
1114
+ className,
1115
+ ...props
1116
+ }) => {
1117
+ const scrollbarStyle = {
1118
+ sm: { "--scrollbar-size": "calc(4px + var(--spacing))" },
1119
+ md: { "--scrollbar-size": "calc(6px + var(--spacing))" }
1120
+ }[scrollbarSize];
1121
+ const hasHorizontalScrollBar = scrollbarAxis === "horizontal" || scrollbarAxis === "both";
1122
+ const hasVerticalScrollBar = scrollbarAxis === "vertical" || scrollbarAxis === "both";
1123
+ return /* @__PURE__ */ jsxs2(
1124
+ Root,
1125
+ {
1126
+ ...props,
1127
+ className: clsx(
1128
+ "overflow-hidden",
1129
+ className
1130
+ ),
1131
+ style: {
1132
+ ...scrollbarStyle,
1133
+ ...props.style
1134
+ },
1135
+ type: scrollbarType,
1136
+ children: [
1137
+ hasHorizontalScrollBar && /* @__PURE__ */ jsx6(
1138
+ Scrollbar,
1139
+ {
1140
+ orientation: "horizontal",
1141
+ className: clsx(
1142
+ "peer/horizontal group/scrollbar flex-col-0 rounded-full select-none touch-none bg-scrollbar-track/50 hover:bg-scrollbar-track",
1143
+ {
1144
+ "h-[var(--scrollbar-size)]": scrollbarType === "always",
1145
+ "data-[state=visible]:h-[var(--scrollbar-size)]": scrollbarType !== "always"
1146
+ }
1147
+ ),
1148
+ children: /* @__PURE__ */ jsx6(
1149
+ Thumb,
1150
+ {
1151
+ className: clsx(
1152
+ "flex relative rounded-full bg-scrollbar-thumb group-hover/scrollbar:bg-primary",
1153
+ {
1154
+ "min-h-[var(--scrollbar-size)]": scrollbarType === "always",
1155
+ "data-[state=visible]:min-h-[var(--scrollbar-size)]": scrollbarType !== "always"
1156
+ }
1157
+ )
1158
+ }
1159
+ )
1160
+ }
1161
+ ),
1162
+ hasVerticalScrollBar && /* @__PURE__ */ jsx6(
1163
+ Scrollbar,
1164
+ {
1165
+ orientation: "vertical",
1166
+ className: clsx(
1167
+ "peer/vertical group/scrollbar flex-col-0 rounded-full select-none touch-none bg-scrollbar-track/50 hover:bg-scrollbar-track",
1168
+ {
1169
+ "w-[var(--scrollbar-size)]": scrollbarType === "always",
1170
+ "data-[state=visible]:w-[var(--scrollbar-size)]": scrollbarType !== "always"
1171
+ }
1172
+ ),
1173
+ children: /* @__PURE__ */ jsx6(
1174
+ Thumb,
1175
+ {
1176
+ className: clsx(
1177
+ "flex relative rounded-full bg-scrollbar-thumb group-hover/scrollbar:bg-primary",
1178
+ {
1179
+ "min-w-[var(--scrollbar-size)]": scrollbarType === "always",
1180
+ "data-[state=visible]:min-w-[var(--scrollbar-size)]": scrollbarType !== "always"
1181
+ }
1182
+ )
1183
+ }
1184
+ )
1185
+ }
1186
+ ),
1187
+ /* @__PURE__ */ jsx6(
1188
+ Viewport,
1189
+ {
1190
+ className: clsx(
1191
+ "border-inherit",
1192
+ {
1193
+ "w-[calc(100%_-_var(--scrollbar-size))] h-[calc(100%_-_var(--scrollbar-size))]": scrollbarType === "always",
1194
+ "w-full h-full": scrollbarType === "scroll" || scrollbarType === "hover" || scrollbarType === "auto",
1195
+ "peer-[&:where([data-state=visible])]/horizontal:h-[calc(100%_-_var(--scrollbar-size))] peer-[&:where([data-state=visible])]/vertical:w-[calc(100%_-_var(--scrollbar-size))]": scrollbarType === "auto"
1196
+ }
1197
+ ),
1198
+ children
1199
+ }
1200
+ ),
1201
+ /* @__PURE__ */ jsx6(
1202
+ Corner,
1203
+ {
1204
+ className: clsx(
1205
+ "bg-scrollbar-track rounded-full"
1206
+ )
1207
+ }
1208
+ )
1209
+ ]
1210
+ }
1211
+ );
1212
+ };
1213
+ export {
1214
+ ScrollArea2 as ScrollArea
1215
+ };
1216
+ //# sourceMappingURL=ScrollArea.mjs.map