@a-type/ui 3.1.0 → 4.0.0-beta.1

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 (464) hide show
  1. package/dist/cjs/components/actions/ActionBar.d.ts +1 -1
  2. package/dist/cjs/components/actions/ActionBar.js +2 -2
  3. package/dist/cjs/components/actions/ActionBar.js.map +1 -1
  4. package/dist/cjs/components/actions/ActionButton.d.ts +3 -3
  5. package/dist/cjs/components/actions/ActionButton.js +2 -2
  6. package/dist/cjs/components/actions/ActionButton.js.map +1 -1
  7. package/dist/cjs/components/avatar/Avatar.d.ts +4 -2
  8. package/dist/cjs/components/avatar/Avatar.js +4 -14
  9. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  10. package/dist/cjs/components/box/Box.stories.js +1 -1
  11. package/dist/cjs/components/box/Box.stories.js.map +1 -1
  12. package/dist/cjs/components/button/Button.d.ts +7 -7
  13. package/dist/cjs/components/button/Button.js +7 -12
  14. package/dist/cjs/components/button/Button.js.map +1 -1
  15. package/dist/cjs/components/button/Button.stories.d.ts +1 -1
  16. package/dist/cjs/components/button/ConfirmedButton.js +1 -2
  17. package/dist/cjs/components/button/ConfirmedButton.js.map +1 -1
  18. package/dist/cjs/components/camera/Camera.d.ts +4 -4
  19. package/dist/cjs/components/camera/Camera.js +6 -7
  20. package/dist/cjs/components/camera/Camera.js.map +1 -1
  21. package/dist/cjs/components/card/Card.d.ts +8 -2
  22. package/dist/cjs/components/card/Card.js +21 -9
  23. package/dist/cjs/components/card/Card.js.map +1 -1
  24. package/dist/cjs/components/card/Card.stories.js +3 -3
  25. package/dist/cjs/components/card/Card.stories.js.map +1 -1
  26. package/dist/cjs/components/checkbox/Checkbox.d.ts +3 -3
  27. package/dist/cjs/components/checkbox/Checkbox.js +5 -38
  28. package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
  29. package/dist/cjs/components/chip/Chip.d.ts +3 -2
  30. package/dist/cjs/components/chip/Chip.js +3 -4
  31. package/dist/cjs/components/chip/Chip.js.map +1 -1
  32. package/dist/cjs/components/chip/Chip.stories.d.ts +6 -1
  33. package/dist/cjs/components/chip/Chip.stories.js +9 -3
  34. package/dist/cjs/components/chip/Chip.stories.js.map +1 -1
  35. package/dist/cjs/components/collapsible/Collapsible.d.ts +9 -9
  36. package/dist/cjs/components/collapsible/Collapsible.js +15 -38
  37. package/dist/cjs/components/collapsible/Collapsible.js.map +1 -1
  38. package/dist/cjs/components/collapsible/Collapsible.stories.d.ts +1 -1
  39. package/dist/cjs/components/colorMode/ColorModeToggle.d.ts +4 -2
  40. package/dist/cjs/components/colorMode/ColorModeToggle.js +8 -9
  41. package/dist/cjs/components/colorMode/ColorModeToggle.js.map +1 -1
  42. package/dist/cjs/components/colorPicker/ColorPicker.d.ts +4 -3
  43. package/dist/cjs/components/colorPicker/ColorPicker.js +8 -4
  44. package/dist/cjs/components/colorPicker/ColorPicker.js.map +1 -1
  45. package/dist/cjs/components/contextMenu/contextMenu.d.ts +11 -12
  46. package/dist/cjs/components/contextMenu/contextMenu.js +9 -42
  47. package/dist/cjs/components/contextMenu/contextMenu.js.map +1 -1
  48. package/dist/cjs/components/contextMenu/contextMenu.stories.d.ts +22 -0
  49. package/dist/cjs/components/contextMenu/contextMenu.stories.js +22 -0
  50. package/dist/cjs/components/contextMenu/contextMenu.stories.js.map +1 -0
  51. package/dist/cjs/components/dialog/Dialog.d.ts +27 -22
  52. package/dist/cjs/components/dialog/Dialog.js +109 -80
  53. package/dist/cjs/components/dialog/Dialog.js.map +1 -1
  54. package/dist/cjs/components/dialog/Dialog.stories.d.ts +8 -8
  55. package/dist/cjs/components/dialog/Dialog.stories.js +6 -6
  56. package/dist/cjs/components/dialog/Dialog.stories.js.map +1 -1
  57. package/dist/cjs/components/divider/Divider.js +2 -1
  58. package/dist/cjs/components/divider/Divider.js.map +1 -1
  59. package/dist/cjs/components/dropdownMenu/DropdownMenu.d.ts +26 -21
  60. package/dist/cjs/components/dropdownMenu/DropdownMenu.js +22 -19
  61. package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
  62. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
  63. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js +6 -2
  64. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
  65. package/dist/cjs/components/forms/EmojiField.d.ts +3 -2
  66. package/dist/cjs/components/forms/EmojiField.js +1 -1
  67. package/dist/cjs/components/forms/EmojiField.js.map +1 -1
  68. package/dist/cjs/components/forms/FormikForm.d.ts +2 -2
  69. package/dist/cjs/components/forms/FormikForm.stories.d.ts +2 -2
  70. package/dist/cjs/components/forms/SubmitButton.d.ts +1 -1
  71. package/dist/cjs/components/forms/SubmitButton.js +14 -2
  72. package/dist/cjs/components/forms/SubmitButton.js.map +1 -1
  73. package/dist/cjs/components/forms/TextField.js.map +1 -1
  74. package/dist/cjs/components/forms/ToggleGroupField.d.ts +3 -2
  75. package/dist/cjs/components/forms/ToggleGroupField.js +9 -2
  76. package/dist/cjs/components/forms/ToggleGroupField.js.map +1 -1
  77. package/dist/cjs/components/horizontalList/HorizontalList.d.ts +1 -3
  78. package/dist/cjs/components/horizontalList/HorizontalList.js +3 -3
  79. package/dist/cjs/components/horizontalList/HorizontalList.js.map +1 -1
  80. package/dist/cjs/components/horizontalList/HorizontalList.stories.js +1 -1
  81. package/dist/cjs/components/horizontalList/HorizontalList.stories.js.map +1 -1
  82. package/dist/cjs/components/icon/Icon.d.ts +7 -3
  83. package/dist/cjs/components/icon/Icon.js +14 -2
  84. package/dist/cjs/components/icon/Icon.js.map +1 -1
  85. package/dist/cjs/components/icon/Icon.stories.d.ts +28 -0
  86. package/dist/cjs/components/icon/Icon.stories.js +34 -0
  87. package/dist/cjs/components/icon/Icon.stories.js.map +1 -0
  88. package/dist/cjs/components/imageUploader/ImageUploader.js +1 -1
  89. package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
  90. package/dist/cjs/components/index.d.ts +1 -1
  91. package/dist/cjs/components/index.js +1 -4
  92. package/dist/cjs/components/index.js.map +1 -1
  93. package/dist/cjs/components/input/Input.d.ts +1 -2
  94. package/dist/cjs/components/input/Input.js +4 -5
  95. package/dist/cjs/components/input/Input.js.map +1 -1
  96. package/dist/cjs/components/input/Input.stories.d.ts +1 -1
  97. package/dist/cjs/components/layouts/layouts.stories.js +6 -6
  98. package/dist/cjs/components/layouts/layouts.stories.js.map +1 -1
  99. package/dist/cjs/components/lightbox/Lightbox.d.ts +18 -16
  100. package/dist/cjs/components/lightbox/Lightbox.js +10 -43
  101. package/dist/cjs/components/lightbox/Lightbox.js.map +1 -1
  102. package/dist/cjs/components/lightbox/Lightbox.stories.d.ts +9 -7
  103. package/dist/cjs/components/marquee/marquee.stories.js +1 -1
  104. package/dist/cjs/components/marquee/marquee.stories.js.map +1 -1
  105. package/dist/cjs/components/navBar/NavBar.d.ts +9 -9
  106. package/dist/cjs/components/navBar/NavBar.js +5 -7
  107. package/dist/cjs/components/navBar/NavBar.js.map +1 -1
  108. package/dist/cjs/components/popover/Popover.d.ts +19 -13
  109. package/dist/cjs/components/popover/Popover.js +22 -50
  110. package/dist/cjs/components/popover/Popover.js.map +1 -1
  111. package/dist/cjs/components/popover/Popover.stories.d.ts +2 -23
  112. package/dist/cjs/components/popover/Popover.stories.js +1 -1
  113. package/dist/cjs/components/popover/Popover.stories.js.map +1 -1
  114. package/dist/cjs/components/progress/Progress.d.ts +22 -6
  115. package/dist/cjs/components/progress/Progress.js +17 -42
  116. package/dist/cjs/components/progress/Progress.js.map +1 -1
  117. package/dist/cjs/components/progress/Progress.stories.d.ts +13 -3
  118. package/dist/cjs/components/progress/Progress.stories.js +7 -2
  119. package/dist/cjs/components/progress/Progress.stories.js.map +1 -1
  120. package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +3 -3
  121. package/dist/cjs/components/pwaInstall/PwaInstall.js +6 -4
  122. package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -1
  123. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
  124. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
  125. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
  126. package/dist/cjs/components/scrollArea/ScrollArea.d.ts +23 -28
  127. package/dist/cjs/components/scrollArea/ScrollArea.js +26 -56
  128. package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
  129. package/dist/cjs/components/scrollArea/ScrollArea.stories.d.ts +13 -10
  130. package/dist/cjs/components/scrollArea/ScrollArea.stories.js +16 -12
  131. package/dist/cjs/components/scrollArea/ScrollArea.stories.js.map +1 -1
  132. package/dist/cjs/components/select/Select.d.ts +37 -46
  133. package/dist/cjs/components/select/Select.js +37 -83
  134. package/dist/cjs/components/select/Select.js.map +1 -1
  135. package/dist/cjs/components/select/Select.stories.d.ts +15 -11
  136. package/dist/cjs/components/select/Select.stories.js +23 -2
  137. package/dist/cjs/components/select/Select.stories.js.map +1 -1
  138. package/dist/cjs/components/slider/Slider.d.ts +36 -13
  139. package/dist/cjs/components/slider/Slider.js +26 -41
  140. package/dist/cjs/components/slider/Slider.js.map +1 -1
  141. package/dist/cjs/components/slider/Slider.stories.d.ts +16 -7
  142. package/dist/cjs/components/slider/Slider.stories.js +23 -10
  143. package/dist/cjs/components/slider/Slider.stories.js.map +1 -1
  144. package/dist/cjs/components/switch/Switch.d.ts +4 -4
  145. package/dist/cjs/components/switch/Switch.js +3 -3
  146. package/dist/cjs/components/switch/Switch.js.map +1 -1
  147. package/dist/cjs/components/switch/Switch.stories.d.ts +27 -0
  148. package/dist/cjs/components/switch/Switch.stories.js +24 -0
  149. package/dist/cjs/components/switch/Switch.stories.js.map +1 -0
  150. package/dist/cjs/components/tabs/tabs.d.ts +16 -12
  151. package/dist/cjs/components/tabs/tabs.js +12 -47
  152. package/dist/cjs/components/tabs/tabs.js.map +1 -1
  153. package/dist/cjs/components/tabs/tabs.stories.js +3 -3
  154. package/dist/cjs/components/tabs/tabs.stories.js.map +1 -1
  155. package/dist/cjs/components/textArea/TextArea.d.ts +4 -4
  156. package/dist/cjs/components/textArea/TextArea.js +6 -8
  157. package/dist/cjs/components/textArea/TextArea.js.map +1 -1
  158. package/dist/cjs/components/textArea/TextArea.stories.d.ts +1 -1
  159. package/dist/cjs/components/toasts/toasts.d.ts +4 -0
  160. package/dist/cjs/components/toasts/toasts.js +6 -0
  161. package/dist/cjs/components/toasts/toasts.js.map +1 -1
  162. package/dist/cjs/components/toggleGroup/toggleGroup.d.ts +5 -6
  163. package/dist/cjs/components/toggleGroup/toggleGroup.js +6 -38
  164. package/dist/cjs/components/toggleGroup/toggleGroup.js.map +1 -1
  165. package/dist/cjs/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
  166. package/dist/cjs/components/toggleGroup/toggleGroup.stories.js +21 -0
  167. package/dist/cjs/components/toggleGroup/toggleGroup.stories.js.map +1 -0
  168. package/dist/cjs/components/tooltip/Tooltip.d.ts +12 -9
  169. package/dist/cjs/components/tooltip/Tooltip.js +12 -43
  170. package/dist/cjs/components/tooltip/Tooltip.js.map +1 -1
  171. package/dist/cjs/components/tooltip/Tooltip.stories.d.ts +2 -20
  172. package/dist/cjs/components/tooltip/Tooltip.stories.js +14 -5
  173. package/dist/cjs/components/tooltip/Tooltip.stories.js.map +1 -1
  174. package/dist/cjs/components/utility/ArrowSvg.d.ts +1 -0
  175. package/dist/cjs/components/utility/ArrowSvg.js +9 -0
  176. package/dist/cjs/components/utility/ArrowSvg.js.map +1 -0
  177. package/dist/cjs/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
  178. package/dist/cjs/components/utility/HideWhileKeyboardOpen.js +3 -4
  179. package/dist/cjs/components/utility/HideWhileKeyboardOpen.js.map +1 -1
  180. package/dist/cjs/components/utility/SlotDiv.d.ts +3 -4
  181. package/dist/cjs/components/utility/SlotDiv.js +9 -7
  182. package/dist/cjs/components/utility/SlotDiv.js.map +1 -1
  183. package/dist/cjs/hooks/useTitleBarColor.stories.js +1 -1
  184. package/dist/cjs/hooks/useTitleBarColor.stories.js.map +1 -1
  185. package/dist/cjs/hooks/useVisualViewportOffset.js +31 -10
  186. package/dist/cjs/hooks/useVisualViewportOffset.js.map +1 -1
  187. package/dist/cjs/hooks/withClassName.d.ts +2 -2
  188. package/dist/cjs/hooks/withClassName.js.map +1 -1
  189. package/dist/cjs/themes.stories.js +2 -2
  190. package/dist/cjs/themes.stories.js.map +1 -1
  191. package/dist/cjs/uno/preflights/globals.js +29 -25
  192. package/dist/cjs/uno/preflights/globals.js.map +1 -1
  193. package/dist/cjs/uno/rules/util.js +18 -8
  194. package/dist/cjs/uno/rules/util.js.map +1 -1
  195. package/dist/cjs/uno/theme/animations.js +0 -74
  196. package/dist/cjs/uno/theme/animations.js.map +1 -1
  197. package/dist/css/main.css +9 -42
  198. package/dist/esm/components/actions/ActionBar.js +2 -2
  199. package/dist/esm/components/actions/ActionBar.js.map +1 -1
  200. package/dist/esm/components/actions/ActionButton.d.ts +3 -3
  201. package/dist/esm/components/actions/ActionButton.js +2 -2
  202. package/dist/esm/components/actions/ActionButton.js.map +1 -1
  203. package/dist/esm/components/avatar/Avatar.d.ts +4 -2
  204. package/dist/esm/components/avatar/Avatar.js +4 -14
  205. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  206. package/dist/esm/components/box/Box.stories.js +1 -1
  207. package/dist/esm/components/box/Box.stories.js.map +1 -1
  208. package/dist/esm/components/button/Button.d.ts +7 -7
  209. package/dist/esm/components/button/Button.js +7 -12
  210. package/dist/esm/components/button/Button.js.map +1 -1
  211. package/dist/esm/components/button/Button.stories.d.ts +1 -1
  212. package/dist/esm/components/button/ConfirmedButton.js +1 -2
  213. package/dist/esm/components/button/ConfirmedButton.js.map +1 -1
  214. package/dist/esm/components/camera/Camera.d.ts +4 -4
  215. package/dist/esm/components/camera/Camera.js +6 -7
  216. package/dist/esm/components/camera/Camera.js.map +1 -1
  217. package/dist/esm/components/card/Card.d.ts +8 -2
  218. package/dist/esm/components/card/Card.js +21 -9
  219. package/dist/esm/components/card/Card.js.map +1 -1
  220. package/dist/esm/components/card/Card.stories.js +3 -3
  221. package/dist/esm/components/card/Card.stories.js.map +1 -1
  222. package/dist/esm/components/checkbox/Checkbox.d.ts +3 -3
  223. package/dist/esm/components/checkbox/Checkbox.js +5 -5
  224. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  225. package/dist/esm/components/chip/Chip.d.ts +3 -2
  226. package/dist/esm/components/chip/Chip.js +3 -4
  227. package/dist/esm/components/chip/Chip.js.map +1 -1
  228. package/dist/esm/components/chip/Chip.stories.d.ts +6 -1
  229. package/dist/esm/components/chip/Chip.stories.js +9 -3
  230. package/dist/esm/components/chip/Chip.stories.js.map +1 -1
  231. package/dist/esm/components/collapsible/Collapsible.d.ts +9 -9
  232. package/dist/esm/components/collapsible/Collapsible.js +15 -5
  233. package/dist/esm/components/collapsible/Collapsible.js.map +1 -1
  234. package/dist/esm/components/collapsible/Collapsible.stories.d.ts +1 -1
  235. package/dist/esm/components/colorMode/ColorModeToggle.d.ts +4 -2
  236. package/dist/esm/components/colorMode/ColorModeToggle.js +8 -9
  237. package/dist/esm/components/colorMode/ColorModeToggle.js.map +1 -1
  238. package/dist/esm/components/colorPicker/ColorPicker.d.ts +4 -3
  239. package/dist/esm/components/colorPicker/ColorPicker.js +9 -5
  240. package/dist/esm/components/colorPicker/ColorPicker.js.map +1 -1
  241. package/dist/esm/components/contextMenu/contextMenu.d.ts +11 -12
  242. package/dist/esm/components/contextMenu/contextMenu.js +9 -9
  243. package/dist/esm/components/contextMenu/contextMenu.js.map +1 -1
  244. package/dist/esm/components/contextMenu/contextMenu.stories.d.ts +22 -0
  245. package/dist/esm/components/contextMenu/contextMenu.stories.js +19 -0
  246. package/dist/esm/components/contextMenu/contextMenu.stories.js.map +1 -0
  247. package/dist/esm/components/dialog/Dialog.d.ts +27 -22
  248. package/dist/esm/components/dialog/Dialog.js +110 -49
  249. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  250. package/dist/esm/components/dialog/Dialog.stories.d.ts +8 -8
  251. package/dist/esm/components/dialog/Dialog.stories.js +6 -6
  252. package/dist/esm/components/dialog/Dialog.stories.js.map +1 -1
  253. package/dist/esm/components/divider/Divider.js +2 -1
  254. package/dist/esm/components/divider/Divider.js.map +1 -1
  255. package/dist/esm/components/dropdownMenu/DropdownMenu.d.ts +26 -21
  256. package/dist/esm/components/dropdownMenu/DropdownMenu.js +22 -19
  257. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  258. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
  259. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js +5 -1
  260. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
  261. package/dist/esm/components/forms/EmojiField.d.ts +3 -2
  262. package/dist/esm/components/forms/EmojiField.js +1 -1
  263. package/dist/esm/components/forms/EmojiField.js.map +1 -1
  264. package/dist/esm/components/forms/FormikForm.d.ts +2 -2
  265. package/dist/esm/components/forms/FormikForm.stories.d.ts +2 -2
  266. package/dist/esm/components/forms/SubmitButton.d.ts +1 -1
  267. package/dist/esm/components/forms/SubmitButton.js +14 -2
  268. package/dist/esm/components/forms/SubmitButton.js.map +1 -1
  269. package/dist/esm/components/forms/TextField.js.map +1 -1
  270. package/dist/esm/components/forms/ToggleGroupField.d.ts +3 -2
  271. package/dist/esm/components/forms/ToggleGroupField.js +9 -2
  272. package/dist/esm/components/forms/ToggleGroupField.js.map +1 -1
  273. package/dist/esm/components/horizontalList/HorizontalList.d.ts +1 -3
  274. package/dist/esm/components/horizontalList/HorizontalList.js +4 -4
  275. package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
  276. package/dist/esm/components/horizontalList/HorizontalList.stories.js +1 -1
  277. package/dist/esm/components/horizontalList/HorizontalList.stories.js.map +1 -1
  278. package/dist/esm/components/icon/Icon.d.ts +7 -3
  279. package/dist/esm/components/icon/Icon.js +14 -2
  280. package/dist/esm/components/icon/Icon.js.map +1 -1
  281. package/dist/esm/components/icon/Icon.stories.d.ts +28 -0
  282. package/dist/esm/components/icon/Icon.stories.js +31 -0
  283. package/dist/esm/components/icon/Icon.stories.js.map +1 -0
  284. package/dist/esm/components/imageUploader/ImageUploader.js +1 -1
  285. package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
  286. package/dist/esm/components/index.d.ts +1 -1
  287. package/dist/esm/components/index.js +1 -1
  288. package/dist/esm/components/index.js.map +1 -1
  289. package/dist/esm/components/input/Input.d.ts +1 -2
  290. package/dist/esm/components/input/Input.js +4 -5
  291. package/dist/esm/components/input/Input.js.map +1 -1
  292. package/dist/esm/components/input/Input.stories.d.ts +1 -1
  293. package/dist/esm/components/layouts/layouts.stories.js +4 -4
  294. package/dist/esm/components/layouts/layouts.stories.js.map +1 -1
  295. package/dist/esm/components/lightbox/Lightbox.d.ts +18 -16
  296. package/dist/esm/components/lightbox/Lightbox.js +6 -6
  297. package/dist/esm/components/lightbox/Lightbox.js.map +1 -1
  298. package/dist/esm/components/lightbox/Lightbox.stories.d.ts +9 -7
  299. package/dist/esm/components/marquee/marquee.stories.js +1 -1
  300. package/dist/esm/components/marquee/marquee.stories.js.map +1 -1
  301. package/dist/esm/components/navBar/NavBar.d.ts +9 -9
  302. package/dist/esm/components/navBar/NavBar.js +5 -7
  303. package/dist/esm/components/navBar/NavBar.js.map +1 -1
  304. package/dist/esm/components/popover/Popover.d.ts +19 -13
  305. package/dist/esm/components/popover/Popover.js +18 -13
  306. package/dist/esm/components/popover/Popover.js.map +1 -1
  307. package/dist/esm/components/popover/Popover.stories.d.ts +2 -23
  308. package/dist/esm/components/popover/Popover.stories.js +1 -1
  309. package/dist/esm/components/popover/Popover.stories.js.map +1 -1
  310. package/dist/esm/components/progress/Progress.d.ts +22 -6
  311. package/dist/esm/components/progress/Progress.js +16 -9
  312. package/dist/esm/components/progress/Progress.js.map +1 -1
  313. package/dist/esm/components/progress/Progress.stories.d.ts +13 -3
  314. package/dist/esm/components/progress/Progress.stories.js +6 -1
  315. package/dist/esm/components/progress/Progress.stories.js.map +1 -1
  316. package/dist/esm/components/pwaInstall/PwaInstall.d.ts +3 -3
  317. package/dist/esm/components/pwaInstall/PwaInstall.js +6 -4
  318. package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -1
  319. package/dist/esm/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
  320. package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
  321. package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
  322. package/dist/esm/components/scrollArea/ScrollArea.d.ts +23 -28
  323. package/dist/esm/components/scrollArea/ScrollArea.js +25 -21
  324. package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
  325. package/dist/esm/components/scrollArea/ScrollArea.stories.d.ts +13 -10
  326. package/dist/esm/components/scrollArea/ScrollArea.stories.js +13 -12
  327. package/dist/esm/components/scrollArea/ScrollArea.stories.js.map +1 -1
  328. package/dist/esm/components/select/Select.d.ts +37 -46
  329. package/dist/esm/components/select/Select.js +32 -77
  330. package/dist/esm/components/select/Select.js.map +1 -1
  331. package/dist/esm/components/select/Select.stories.d.ts +15 -11
  332. package/dist/esm/components/select/Select.stories.js +22 -1
  333. package/dist/esm/components/select/Select.stories.js.map +1 -1
  334. package/dist/esm/components/slider/Slider.d.ts +36 -13
  335. package/dist/esm/components/slider/Slider.js +23 -7
  336. package/dist/esm/components/slider/Slider.js.map +1 -1
  337. package/dist/esm/components/slider/Slider.stories.d.ts +16 -7
  338. package/dist/esm/components/slider/Slider.stories.js +22 -9
  339. package/dist/esm/components/slider/Slider.stories.js.map +1 -1
  340. package/dist/esm/components/switch/Switch.d.ts +4 -4
  341. package/dist/esm/components/switch/Switch.js +3 -3
  342. package/dist/esm/components/switch/Switch.js.map +1 -1
  343. package/dist/esm/components/switch/Switch.stories.d.ts +27 -0
  344. package/dist/esm/components/switch/Switch.stories.js +21 -0
  345. package/dist/esm/components/switch/Switch.stories.js.map +1 -0
  346. package/dist/esm/components/tabs/tabs.d.ts +16 -12
  347. package/dist/esm/components/tabs/tabs.js +10 -12
  348. package/dist/esm/components/tabs/tabs.js.map +1 -1
  349. package/dist/esm/components/tabs/tabs.stories.js +3 -3
  350. package/dist/esm/components/tabs/tabs.stories.js.map +1 -1
  351. package/dist/esm/components/textArea/TextArea.d.ts +4 -4
  352. package/dist/esm/components/textArea/TextArea.js +7 -9
  353. package/dist/esm/components/textArea/TextArea.js.map +1 -1
  354. package/dist/esm/components/textArea/TextArea.stories.d.ts +1 -1
  355. package/dist/esm/components/toasts/toasts.d.ts +4 -0
  356. package/dist/esm/components/toasts/toasts.js +6 -0
  357. package/dist/esm/components/toasts/toasts.js.map +1 -1
  358. package/dist/esm/components/toggleGroup/toggleGroup.d.ts +5 -6
  359. package/dist/esm/components/toggleGroup/toggleGroup.js +4 -3
  360. package/dist/esm/components/toggleGroup/toggleGroup.js.map +1 -1
  361. package/dist/esm/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
  362. package/dist/esm/components/toggleGroup/toggleGroup.stories.js +18 -0
  363. package/dist/esm/components/toggleGroup/toggleGroup.stories.js.map +1 -0
  364. package/dist/esm/components/tooltip/Tooltip.d.ts +12 -9
  365. package/dist/esm/components/tooltip/Tooltip.js +11 -9
  366. package/dist/esm/components/tooltip/Tooltip.js.map +1 -1
  367. package/dist/esm/components/tooltip/Tooltip.stories.d.ts +2 -20
  368. package/dist/esm/components/tooltip/Tooltip.stories.js +14 -5
  369. package/dist/esm/components/tooltip/Tooltip.stories.js.map +1 -1
  370. package/dist/esm/components/utility/ArrowSvg.d.ts +1 -0
  371. package/dist/esm/components/utility/ArrowSvg.js +6 -0
  372. package/dist/esm/components/utility/ArrowSvg.js.map +1 -0
  373. package/dist/esm/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
  374. package/dist/esm/components/utility/HideWhileKeyboardOpen.js +3 -4
  375. package/dist/esm/components/utility/HideWhileKeyboardOpen.js.map +1 -1
  376. package/dist/esm/components/utility/SlotDiv.d.ts +3 -4
  377. package/dist/esm/components/utility/SlotDiv.js +9 -7
  378. package/dist/esm/components/utility/SlotDiv.js.map +1 -1
  379. package/dist/esm/hooks/useTitleBarColor.stories.js +1 -1
  380. package/dist/esm/hooks/useTitleBarColor.stories.js.map +1 -1
  381. package/dist/esm/hooks/useVisualViewportOffset.js +31 -10
  382. package/dist/esm/hooks/useVisualViewportOffset.js.map +1 -1
  383. package/dist/esm/hooks/withClassName.d.ts +2 -2
  384. package/dist/esm/hooks/withClassName.js +2 -2
  385. package/dist/esm/hooks/withClassName.js.map +1 -1
  386. package/dist/esm/themes.stories.js +2 -2
  387. package/dist/esm/themes.stories.js.map +1 -1
  388. package/dist/esm/uno/preflights/globals.js +29 -25
  389. package/dist/esm/uno/preflights/globals.js.map +1 -1
  390. package/dist/esm/uno/rules/util.js +18 -8
  391. package/dist/esm/uno/rules/util.js.map +1 -1
  392. package/dist/esm/uno/theme/animations.js +0 -74
  393. package/dist/esm/uno/theme/animations.js.map +1 -1
  394. package/package.json +1 -21
  395. package/src/components/actions/ActionBar.tsx +13 -9
  396. package/src/components/actions/ActionButton.tsx +2 -4
  397. package/src/components/avatar/Avatar.tsx +24 -40
  398. package/src/components/box/Box.stories.tsx +1 -1
  399. package/src/components/button/Button.tsx +13 -21
  400. package/src/components/button/ConfirmedButton.tsx +3 -7
  401. package/src/components/camera/Camera.tsx +23 -21
  402. package/src/components/card/Card.stories.tsx +22 -15
  403. package/src/components/card/Card.tsx +57 -40
  404. package/src/components/checkbox/Checkbox.tsx +13 -9
  405. package/src/components/chip/Chip.stories.tsx +13 -6
  406. package/src/components/chip/Chip.tsx +6 -7
  407. package/src/components/collapsible/Collapsible.tsx +29 -18
  408. package/src/components/colorMode/ColorModeToggle.tsx +13 -12
  409. package/src/components/colorPicker/ColorPicker.tsx +33 -27
  410. package/src/components/contextMenu/contextMenu.stories.tsx +39 -0
  411. package/src/components/contextMenu/contextMenu.tsx +33 -32
  412. package/src/components/dialog/Dialog.stories.tsx +15 -37
  413. package/src/components/dialog/Dialog.tsx +219 -102
  414. package/src/components/divider/Divider.tsx +5 -1
  415. package/src/components/dropdownMenu/DropdownMenu.stories.tsx +63 -5
  416. package/src/components/dropdownMenu/DropdownMenu.tsx +86 -47
  417. package/src/components/forms/EmojiField.tsx +18 -15
  418. package/src/components/forms/SubmitButton.tsx +2 -2
  419. package/src/components/forms/TextField.tsx +2 -2
  420. package/src/components/forms/ToggleGroupField.tsx +9 -1
  421. package/src/components/horizontalList/HorizontalList.stories.tsx +2 -2
  422. package/src/components/horizontalList/HorizontalList.tsx +10 -18
  423. package/src/components/icon/Icon.stories.tsx +47 -0
  424. package/src/components/icon/Icon.tsx +30 -17
  425. package/src/components/imageUploader/ImageUploader.tsx +8 -9
  426. package/src/components/index.ts +1 -1
  427. package/src/components/input/Input.tsx +3 -7
  428. package/src/components/layouts/layouts.stories.tsx +10 -16
  429. package/src/components/lightbox/Lightbox.tsx +25 -13
  430. package/src/components/marquee/marquee.stories.tsx +5 -3
  431. package/src/components/navBar/NavBar.tsx +9 -17
  432. package/src/components/popover/Popover.stories.tsx +6 -7
  433. package/src/components/popover/Popover.tsx +86 -38
  434. package/src/components/progress/Progress.stories.tsx +15 -3
  435. package/src/components/progress/Progress.tsx +65 -11
  436. package/src/components/pwaInstall/PwaInstall.tsx +21 -22
  437. package/src/components/pwaInstall/PwaInstallTrigger.stories.tsx +5 -4
  438. package/src/components/pwaInstall/PwaInstallTrigger.tsx +1 -1
  439. package/src/components/scrollArea/ScrollArea.stories.tsx +86 -45
  440. package/src/components/scrollArea/ScrollArea.tsx +108 -96
  441. package/src/components/select/Select.stories.tsx +39 -10
  442. package/src/components/select/Select.tsx +158 -218
  443. package/src/components/slider/Slider.stories.tsx +40 -15
  444. package/src/components/slider/Slider.tsx +60 -30
  445. package/src/components/switch/Switch.stories.tsx +24 -0
  446. package/src/components/switch/Switch.tsx +9 -8
  447. package/src/components/tabs/tabs.stories.tsx +7 -13
  448. package/src/components/tabs/tabs.tsx +35 -28
  449. package/src/components/textArea/TextArea.tsx +17 -25
  450. package/src/components/toasts/toasts.tsx +6 -0
  451. package/src/components/toggleGroup/toggleGroup.stories.tsx +27 -0
  452. package/src/components/toggleGroup/toggleGroup.tsx +10 -8
  453. package/src/components/tooltip/Tooltip.stories.tsx +20 -10
  454. package/src/components/tooltip/Tooltip.tsx +72 -30
  455. package/src/components/utility/ArrowSvg.tsx +15 -0
  456. package/src/components/utility/HideWhileKeyboardOpen.tsx +3 -8
  457. package/src/components/utility/SlotDiv.tsx +10 -10
  458. package/src/hooks/useTitleBarColor.stories.tsx +1 -3
  459. package/src/hooks/useVisualViewportOffset.ts +34 -11
  460. package/src/hooks/withClassName.tsx +3 -3
  461. package/src/themes.stories.tsx +10 -20
  462. package/src/uno/preflights/globals.ts +25 -21
  463. package/src/uno/rules/util.ts +18 -8
  464. package/src/uno/theme/animations.ts +0 -74
@@ -1,4 +1,4 @@
1
- import { DialogTriggerProps } from '@radix-ui/react-dialog';
1
+ import { DialogRootProps } from '@base-ui/react/dialog';
2
2
  import { useState } from 'react';
3
3
  import { useSnapshot } from 'valtio';
4
4
  import {
@@ -28,16 +28,11 @@ import {
28
28
  } from './useIsInstallReady.js';
29
29
  import { useWebManifest } from './useWebManifest.js';
30
30
 
31
- export interface PwaInstall extends DialogTriggerProps {
31
+ export interface PwaInstall extends DialogRootProps {
32
32
  manifestPath?: string;
33
33
  }
34
34
 
35
- export function PwaInstall({
36
- children,
37
- manifestPath,
38
- asChild: _,
39
- ...rest
40
- }: PwaInstall) {
35
+ export function PwaInstall({ children, manifestPath, ...rest }: PwaInstall) {
41
36
  const installed = useIsInstalled();
42
37
  const manifest = useWebManifest(manifestPath);
43
38
  const { open } = useSnapshot(pwaInstallerState);
@@ -52,9 +47,11 @@ export function PwaInstall({
52
47
 
53
48
  return (
54
49
  <Dialog
50
+ {...rest}
55
51
  open={open}
56
- onOpenChange={(isOpen) => {
52
+ onOpenChange={(isOpen, ev) => {
57
53
  pwaInstallerState.open = isOpen;
54
+ rest.onOpenChange?.(isOpen, ev);
58
55
  }}
59
56
  >
60
57
  <Dialog.Content className="flex flex-col gap-xs" id="pwa-install-dialog">
@@ -80,8 +77,8 @@ export function PwaInstall({
80
77
  </Dialog.Description>
81
78
  <InstallInstructions />
82
79
  <Dialog.Actions>
83
- <Dialog.Close asChild>
84
- <Button emphasis="ghost">Close</Button>
80
+ <Dialog.Close render={<Button emphasis="ghost" />}>
81
+ Close
85
82
  </Dialog.Close>
86
83
  <Button onClick={() => setShowInstructions(false)}>
87
84
  <Icon name="arrowLeft" /> Back
@@ -99,8 +96,8 @@ export function PwaInstall({
99
96
  )}
100
97
  <ManifestImageGallery manifestPath={manifestPath} />
101
98
  <Dialog.Actions>
102
- <Dialog.Close asChild>
103
- <Button emphasis="ghost">Close</Button>
99
+ <Dialog.Close render={<Button emphasis="ghost" />}>
100
+ Close
104
101
  </Dialog.Close>
105
102
  <InstallDeviceActions
106
103
  showInstructions={() => setShowInstructions(true)}
@@ -182,15 +179,17 @@ function ManifestImageGallery({ manifestPath }: { manifestPath?: string }) {
182
179
  <Box overflow="auto-x" p="sm" gap className="h-240px">
183
180
  {manifest.screenshots?.map((screenshot, index) => (
184
181
  <Lightbox.Root key={screenshot.src}>
185
- <Lightbox.Trigger asChild>
186
- <Lightbox.Image
187
- tabIndex={0}
188
- key={index}
189
- src={screenshot.src}
190
- alt={screenshot.label || `Screenshot ${index + 1}`}
191
- className="border border-default rounded-xs"
192
- />
193
- </Lightbox.Trigger>
182
+ <Lightbox.Trigger
183
+ render={
184
+ <Lightbox.Image
185
+ tabIndex={0}
186
+ key={index}
187
+ src={screenshot.src}
188
+ alt={screenshot.label || `Screenshot ${index + 1}`}
189
+ className="border border-default rounded-xs"
190
+ />
191
+ }
192
+ />
194
193
  <Lightbox.Portal>
195
194
  <Lightbox.Overlay className="z-10000" />
196
195
  <Lightbox.Content className="z-10001">
@@ -19,10 +19,11 @@ type Story = StoryObj<typeof PwaInstallTrigger>;
19
19
  export const Default: Story = {
20
20
  render(args) {
21
21
  return (
22
- <PwaInstallTrigger {...args} asChild>
23
- <Button color="primary" emphasis="light">
24
- <Icon name="star" /> Install
25
- </Button>
22
+ <PwaInstallTrigger
23
+ {...args}
24
+ render={<Button color="primary" emphasis="light" />}
25
+ >
26
+ <Icon name="star" /> Install
26
27
  </PwaInstallTrigger>
27
28
  );
28
29
  },
@@ -3,7 +3,7 @@ import { Icon } from '../icon/Icon.js';
3
3
  import { pwaInstallerState } from './state.js';
4
4
  import { useIsInstalled } from './useIsInstallReady.js';
5
5
 
6
- export interface PwaInstallTriggerProps extends ButtonProps {}
6
+ export type PwaInstallTriggerProps = ButtonProps & {};
7
7
 
8
8
  export function PwaInstallTrigger({
9
9
  children,
@@ -1,63 +1,104 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import { useState } from 'react';
2
+ import clsx from 'clsx';
3
3
  import { ScrollArea } from './ScrollArea.js';
4
4
 
5
5
  const meta = {
6
6
  title: 'Components/ScrollArea',
7
- component: ScrollArea,
8
- argTypes: {},
7
+ argTypes: {
8
+ direction: {
9
+ control: { type: 'select' },
10
+ options: ['vertical', 'horizontal', 'both'],
11
+ },
12
+ },
13
+ args: {
14
+ direction: 'vertical',
15
+ },
9
16
  parameters: {
10
17
  controls: { expanded: true },
11
18
  },
12
- } satisfies Meta<typeof ScrollArea>;
19
+ } satisfies Meta<{ direction: 'vertical' | 'horizontal' | 'both' }>;
13
20
 
14
21
  export default meta;
15
22
 
16
- type Story = StoryObj<typeof ScrollArea>;
23
+ type Story = StoryObj<{ direction: 'vertical' | 'horizontal' | 'both' }>;
17
24
 
18
25
  export const Default: Story = {
19
- render(args) {
26
+ render({ direction }) {
20
27
  return (
21
- <ScrollArea {...args}>
22
- <div className="flex flex-col gap-2">
23
- {Array.from({ length: 100 }, (_, i) => (
24
- <div
25
- key={i}
26
- className="h-10 w-full bg-primary-wash color-primary flex items-center justify-center"
27
- >
28
- Item {i + 1}
29
- </div>
30
- ))}
31
- </div>
32
- </ScrollArea>
33
- );
34
- },
35
- };
36
-
37
- export const StickToBottom: Story = {
38
- render(args) {
39
- const [itemCount, setItemCount] = useState(50);
40
- return (
41
- <div className="flex flex-col gap-2 w-full h-full overflow-hidden">
42
- <button onClick={() => setItemCount((prev) => prev + 1)}>
43
- Add Item
44
- </button>
45
- <button onClick={() => setItemCount((prev) => prev - 1)}>
46
- Remove Item
47
- </button>
48
- <ScrollArea {...args} className="flex-1" stickToBottom>
49
- <div className="flex flex-col gap-2">
50
- {Array.from({ length: itemCount }, (_, i) => (
51
- <div
52
- key={i}
53
- className="h-10 w-full bg-primary-wash color-primary flex items-center justify-center"
54
- >
55
- Item {i + 1}
56
- </div>
57
- ))}
28
+ <ScrollArea style={{ height: '200px', width: '400px' }}>
29
+ <ScrollArea.Content>
30
+ <div
31
+ className={clsx(
32
+ direction === 'horizontal' && 'w-10000px',
33
+ direction === 'both' && 'w-800px',
34
+ )}
35
+ >
36
+ <p>
37
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non
38
+ risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing
39
+ nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas
40
+ ligula massa, varius a, semper congue, euismod non, mi. Proin
41
+ porttitor, orci nec nonummy molestie, enim est eleifend mi, non
42
+ fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa,
43
+ scelerisque vitae, consequat in, pretium a, enim. Pellentesque
44
+ congue. Ut in risus volutpat libero pharetra tempor. Cras
45
+ vestibulum bibendum augue. Praesent egestas leo in pede. Praesent
46
+ blandit odio eu enim. Pellentesque sed dui ut augue blandit
47
+ sodales. Vestibulum ante ipsum primis in faucibus orci luctus et
48
+ ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed
49
+ pede pellentesque fermentum. Maecenas adipiscing ante non diam
50
+ sollicitudin ornare. Morbi in sem quis dui placerat ornare.
51
+ Pellentesque odio nisi, euismod in, pharetra a, ultricies in,
52
+ diam. Sed arcu. Cras consectetur. Vivamus fermentum nibh in augue.
53
+ Praesent a lacus at urna consequat rhoncus. Morbi dapibus sapien
54
+ vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget
55
+ metus. Vestibulum commodo. Ut rhoncus gravida arcu.
56
+ </p>
57
+ <p>
58
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non
59
+ risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing
60
+ nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas
61
+ ligula massa, varius a, semper congue, euismod non, mi. Proin
62
+ porttitor, orci nec nonummy molestie, enim est eleifend mi, non
63
+ fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa,
64
+ scelerisque vitae, consequat in, pretium a, enim. Pellentesque
65
+ congue. Ut in risus volutpat libero pharetra tempor. Cras
66
+ vestibulum bibendum augue. Praesent egestas leo in pede. Praesent
67
+ blandit odio eu enim. Pellentesque sed dui ut augue blandit
68
+ sodales. Vestibulum ante ipsum primis in faucibus orci luctus et
69
+ ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed
70
+ pede pellentesque fermentum. Maecenas adipiscing ante non diam
71
+ sollicitudin ornare. Morbi in sem quis dui placerat ornare.
72
+ Pellentesque odio nisi, euismod in, pharetra a, ultricies in,
73
+ diam. Sed arcu. Cras consectetur. Vivamus fermentum nibh in augue.
74
+ Praesent a lacus at urna consequat rhoncus. Morbi dapibus sapien
75
+ vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget
76
+ metus. Vestibulum commodo. Ut rhoncus gravida arcu.
77
+ </p>
78
+ <p>
79
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non
80
+ risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing
81
+ nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas
82
+ ligula massa, varius a, semper congue, euismod non, mi. Proin
83
+ porttitor, orci nec nonummy molestie, enim est eleifend mi, non
84
+ fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa,
85
+ scelerisque vitae, consequat in, pretium a, enim. Pellentesque
86
+ congue. Ut in risus volutpat libero pharetra tempor. Cras
87
+ vestibulum bibendum augue. Praesent egestas leo in pede. Praesent
88
+ blandit odio eu enim. Pellentesque sed dui ut augue blandit
89
+ sodales. Vestibulum ante ipsum primis in faucibus orci luctus et
90
+ ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed
91
+ pede pellentesque fermentum. Maecenas adipiscing ante non diam
92
+ sollicitudin ornare. Morbi in sem quis dui placerat ornare.
93
+ Pellentesque odio nisi, euismod in, pharetra a, ultricies in,
94
+ diam. Sed arcu. Cras consectetur. Vivamus fermentum nibh in augue.
95
+ Praesent a lacus at urna consequat rhoncus. Morbi dapibus sapien
96
+ vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget
97
+ metus. Vestibulum commodo. Ut rhoncus gravida arcu.
98
+ </p>
58
99
  </div>
59
- </ScrollArea>
60
- </div>
100
+ </ScrollArea.Content>
101
+ </ScrollArea>
61
102
  );
62
103
  },
63
104
  };
@@ -1,96 +1,108 @@
1
- import * as Primitive from '@radix-ui/react-scroll-area';
2
- import { Ref } from 'react';
3
- import { withClassName } from '../../hooks.js';
4
- import { useStayScrolledToBottom } from '../../hooks/useStayScrolledToBottom.js';
5
-
6
- const ScrollAreaRootImpl = withClassName(Primitive.Root, 'overflow-hidden');
7
-
8
- export interface ScrollAreaRootProps extends Primitive.ScrollAreaProps {
9
- background?: 'white' | 'wash' | 'primary-wash' | 'primary' | 'black';
10
- ref?: Ref<HTMLDivElement>;
11
- }
12
-
13
- export const ScrollAreaRoot = function ScrollAreaRoot({
14
- ref,
15
- background,
16
- ...props
17
- }: ScrollAreaRootProps) {
18
- return <ScrollAreaRootImpl ref={ref} {...props} />;
19
- };
20
-
21
- export const ScrollAreaViewport = withClassName(
22
- Primitive.Viewport,
23
- 'h-full w-full rounded-inherit',
24
- '[background:linear-gradient(var(--v-bg)_30%,rgba(255,255,255,0))_center_top,linear-gradient(rgba(255,255,255,0),var(--v-bg)_70%)_center_bottom,radial-gradient(farthest-side_at_50%_0,oklch(from_var(--v-bg)_calc(l*0.9)_c_h),rgba(0,0,0,0))_center_top,radial-gradient(farthest-side_at_50%_100%,oklch(from_var(--v-bg)_calc(l*0.9)_c_h),rgba(0,0,0,0))_center_bottom]',
25
- '![background-repeat:no-repeat] ![background-size:100%_40px,100%_40px,100%_14px,100%_14px]',
26
- '![background-attachment:local,local,scroll,scroll]',
27
- );
28
-
29
- export const ScrollAreaScrollbarRoot = withClassName(
30
- Primitive.Scrollbar,
31
- 'layer-components:(flex select-none touch-none p-0.5 bg-inherit bg-lighten-2 transition-colors duration-160ms ease-out)',
32
- 'layer-components:[&[data-orientation=vertical]]:w-2.5',
33
- 'layer-components:[&[data-orientation=horizontal]]:(flex-col h-2.5)',
34
- );
35
-
36
- export const ScrollAreaThumb = withClassName(
37
- Primitive.Thumb,
38
- 'layer-components:(flex-1 rounded-lg relative bg-inherit bg-darken-2)',
39
- 'before:(content-[""] absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full min-w-44px min-h-44px)',
40
- );
41
-
42
- export const ScrollAreaScrollbar = function ScrollAreaScrollbar({
43
- ref,
44
- ...props
45
- }: Primitive.ScrollAreaScrollbarProps & {
46
- ref?: Ref<HTMLDivElement>;
47
- }) {
48
- return (
49
- <ScrollAreaScrollbarRoot {...props} ref={ref}>
50
- <ScrollAreaThumb />
51
- </ScrollAreaScrollbarRoot>
52
- );
53
- };
54
-
55
- export interface ScrollAreaProps extends Primitive.ScrollAreaProps {
56
- background?: ScrollAreaRootProps['background'];
57
- orientation?: 'vertical' | 'both';
58
- ref?: Ref<HTMLDivElement>;
59
- stickToBottom?: boolean;
60
- }
61
-
62
- /**
63
- * @deprecated - just use Box with overflow prop
64
- */
65
- export const ScrollArea = Object.assign(
66
- function ScrollArea({
67
- ref,
68
- children,
69
- orientation,
70
- stickToBottom,
71
- ...props
72
- }: ScrollAreaProps) {
73
- const { ref: stickRef, onScroll } = useStayScrolledToBottom(stickToBottom);
74
-
75
- return (
76
- <ScrollAreaRoot data-scroll-root ref={ref} {...props}>
77
- <ScrollAreaViewport
78
- data-scroll-viewport
79
- ref={stickRef}
80
- onScroll={onScroll}
81
- >
82
- {children}
83
- </ScrollAreaViewport>
84
- <ScrollAreaScrollbar />
85
- {orientation === 'both' && (
86
- <ScrollAreaScrollbar orientation="horizontal" />
87
- )}
88
- </ScrollAreaRoot>
89
- );
90
- },
91
- {
92
- Root: ScrollAreaRoot,
93
- Viewport: ScrollAreaViewport,
94
- Scrollbar: ScrollAreaScrollbar,
95
- },
96
- );
1
+ import {
2
+ ScrollArea as BaseScrollArea,
3
+ ScrollAreaRootProps,
4
+ ScrollAreaScrollbarProps,
5
+ } from '@base-ui/react/scroll-area';
6
+ import { withClassName } from '../../hooks.js';
7
+
8
+ export type * from '@base-ui/react/scroll-area';
9
+
10
+ export const ScrollAreaRoot = withClassName(
11
+ BaseScrollArea.Root,
12
+ 'layer-components:(min-w-0 min-h-0 flex flex-col)',
13
+ );
14
+
15
+ export const ScrollAreaViewport = withClassName(
16
+ BaseScrollArea.Viewport,
17
+ 'layer-components:(h-full outline-none overscroll-contain min-h-0)',
18
+ 'layer-components:focus-visible:(outline-none ring-2 ring-accent)',
19
+ );
20
+
21
+ export const ScrollAreaVerticalFades = withClassName(
22
+ 'div',
23
+ 'layer-components:(pointer-events-none absolute inset-0 [--scroll-area-overflow-y-start:inherit] [--scroll-area-overflow-y-end:inherit])',
24
+ 'layer-components:before:(content-empty [--scroll-area-overflow-y-start:inherit] top-0 block left-0 w-full absolute transition-height h-[min(40px,var(--scroll-area-overflow-y-start,,40px))] bg-gradient-to-b bg-gradient-from-bg bg-gradient-via-bg bg-gradient-to-transparent)',
25
+ 'layer-components:after:(content-empty [--scroll-area-overflow-y-end:inherit] bottom-0 block left-0 w-full absolute transition-height h-[min(40px,var(--scroll-area-overflow-y-end,,40px))] bg-gradient-to-t bg-gradient-from-bg bg-gradient-via-bg bg-gradient-to-transparent)',
26
+ );
27
+
28
+ export const ScrollAreaHorizontalFades = withClassName(
29
+ 'div',
30
+ 'layer-components:(pointer-events-none absolute inset-0 [--scroll-area-overflow-x-start:inherit] [--scroll-area-overflow-x-end:inherit])',
31
+ 'layer-components:before:(content-empty [--scroll-area-overflow-x-start:inherit] left-0 block top-0 h-full absolute transition-width w-[min(40px,var(--scroll-area-overflow-x-start,,40px))] bg-gradient-to-r bg-gradient-from-bg bg-gradient-to-transparent)',
32
+ 'layer-components:after:(content-empty [--scroll-area-overflow-x-end:inherit] right-0 block top-0 h-full absolute transition-width w-[min(40px,var(--scroll-area-overflow-x-end,,40px))] bg-gradient-to-l bg-gradient-from-bg bg-gradient-to-transparent)',
33
+ );
34
+
35
+ export const ScrollAreaViewportFades = () => (
36
+ <>
37
+ <ScrollAreaVerticalFades />
38
+ <ScrollAreaHorizontalFades />
39
+ </>
40
+ );
41
+
42
+ export const ScrollAreaContent = withClassName(
43
+ BaseScrollArea.Content,
44
+ 'layer-components:(flex flex-col)',
45
+ );
46
+
47
+ export const ScrollAreaThumb = withClassName(
48
+ BaseScrollArea.Thumb,
49
+ 'layer-components:(rounded-inherit bg-fg/25)',
50
+ 'layer-components:data-[orientation=horizontal]:(h-full)',
51
+ 'layer-components:data-[orientation=vertical]:(w-full)',
52
+ );
53
+
54
+ const ComposedScrollbar = ({
55
+ children,
56
+ ...props
57
+ }: ScrollAreaScrollbarProps) => (
58
+ <BaseScrollArea.Scrollbar {...props}>
59
+ {children ?? <ScrollAreaThumb />}
60
+ </BaseScrollArea.Scrollbar>
61
+ );
62
+ ComposedScrollbar.displayName = 'ScrollAreaScrollbar';
63
+
64
+ export const ScrollAreaScrollbar = withClassName(
65
+ ComposedScrollbar,
66
+ 'layer-components:(flex rounded-full relative select-none touch-none pointer-events-none m-xxs opacity-0)',
67
+ 'layer-components:(bg-fg/5 transition-[opacity,height,width])',
68
+ 'layer-components:data-[hovering]:(opacity-100 pointer-events-auto)',
69
+ 'layer-components:data-[scrolling]:(duration-0)',
70
+ 'layer-components:before:(content-empty absolute)',
71
+
72
+ 'layer-components:data-[orientation=vertical]:(w-0.25rem justify-center before:(w-1.25rem h-full) hover:w-0.5rem)',
73
+ 'layer-components:data-[orientation=horizontal]:(h-0.25rem items-center before:(h-1.25rem w-full) hover:h-0.5rem)',
74
+ );
75
+
76
+ export const ScrollAreaCorner = withClassName(
77
+ BaseScrollArea.Corner,
78
+ 'layer-components:(bg-transparent)',
79
+ );
80
+
81
+ const ScrollAreaDefault = ({
82
+ disableFades,
83
+ ...props
84
+ }: ScrollAreaRootProps & {
85
+ disableFades?: boolean;
86
+ }) => (
87
+ <ScrollAreaRoot {...props}>
88
+ <ScrollAreaViewport>
89
+ {props.children}
90
+ {!disableFades && <ScrollAreaViewportFades />}
91
+ </ScrollAreaViewport>
92
+ <ScrollAreaScrollbar />
93
+ <ScrollAreaScrollbar orientation="horizontal" />
94
+ <ScrollAreaCorner />
95
+ </ScrollAreaRoot>
96
+ );
97
+
98
+ export const ScrollArea = Object.assign(ScrollAreaDefault, {
99
+ Root: ScrollAreaRoot,
100
+ Content: ScrollAreaContent,
101
+ Viewport: ScrollAreaViewport,
102
+ Scrollbar: ScrollAreaScrollbar,
103
+ Thumb: ScrollAreaThumb,
104
+ Corner: ScrollAreaCorner,
105
+ ViewportFades: ScrollAreaViewportFades,
106
+ VerticalFades: ScrollAreaVerticalFades,
107
+ HorizontalFades: ScrollAreaHorizontalFades,
108
+ });
@@ -1,4 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Box } from '../box/Box.js';
2
3
  import { Button } from '../button/index.js';
3
4
  import { Select, SelectContent, SelectItem, SelectTrigger } from './Select.js';
4
5
 
@@ -21,16 +22,44 @@ type Story = StoryObj<typeof Select>;
21
22
  export const Default: Story = {
22
23
  render(args) {
23
24
  return (
24
- <Select {...args}>
25
- <SelectTrigger />
26
- <SelectContent>
27
- {['One', 'Two', 'Three'].map((item) => (
28
- <SelectItem key={item} value={item}>
29
- {item}
30
- </SelectItem>
31
- ))}
32
- </SelectContent>
33
- </Select>
25
+ <Box full layout="center center" className="min-h-200px">
26
+ <Select {...args}>
27
+ <SelectTrigger />
28
+ <SelectContent>
29
+ {['One', 'Two', 'Three'].map((item) => (
30
+ <SelectItem key={item} value={item}>
31
+ {item}
32
+ </SelectItem>
33
+ ))}
34
+ </SelectContent>
35
+ </Select>
36
+ </Box>
37
+ );
38
+ },
39
+ };
40
+
41
+ export const LongListWithItemLabels: Story = {
42
+ render({ defaultValue, value, ...args }) {
43
+ return (
44
+ <Box full layout="center center" className="min-h-200px">
45
+ <Select
46
+ {...args}
47
+ defaultValue={0}
48
+ itemToStringLabel={(i: number) => `Item number ${i + 1}`}
49
+ >
50
+ <SelectTrigger />
51
+ <SelectContent>
52
+ {new Array(50).fill(null).map((_, i) => {
53
+ const item = `Item number ${i + 1}`;
54
+ return (
55
+ <SelectItem key={item} value={i}>
56
+ {item}
57
+ </SelectItem>
58
+ );
59
+ })}
60
+ </SelectContent>
61
+ </Select>
62
+ </Box>
34
63
  );
35
64
  },
36
65
  };