@a-type/ui 3.1.1 → 4.0.0-beta.10

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 (474) 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/avatar/Avatar.stories.d.ts +18 -0
  11. package/dist/cjs/components/avatar/Avatar.stories.js +38 -0
  12. package/dist/cjs/components/avatar/Avatar.stories.js.map +1 -0
  13. package/dist/cjs/components/box/Box.stories.js +1 -1
  14. package/dist/cjs/components/box/Box.stories.js.map +1 -1
  15. package/dist/cjs/components/button/Button.d.ts +5 -5
  16. package/dist/cjs/components/button/Button.js +7 -12
  17. package/dist/cjs/components/button/Button.js.map +1 -1
  18. package/dist/cjs/components/button/Button.stories.d.ts +1 -1
  19. package/dist/cjs/components/button/ConfirmedButton.js +1 -2
  20. package/dist/cjs/components/button/ConfirmedButton.js.map +1 -1
  21. package/dist/cjs/components/camera/Camera.d.ts +4 -4
  22. package/dist/cjs/components/camera/Camera.js +6 -7
  23. package/dist/cjs/components/camera/Camera.js.map +1 -1
  24. package/dist/cjs/components/card/Card.d.ts +8 -2
  25. package/dist/cjs/components/card/Card.js +21 -9
  26. package/dist/cjs/components/card/Card.js.map +1 -1
  27. package/dist/cjs/components/card/Card.stories.js +3 -3
  28. package/dist/cjs/components/card/Card.stories.js.map +1 -1
  29. package/dist/cjs/components/checkbox/Checkbox.d.ts +3 -3
  30. package/dist/cjs/components/checkbox/Checkbox.js +5 -38
  31. package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
  32. package/dist/cjs/components/chip/Chip.d.ts +3 -2
  33. package/dist/cjs/components/chip/Chip.js +3 -4
  34. package/dist/cjs/components/chip/Chip.js.map +1 -1
  35. package/dist/cjs/components/chip/Chip.stories.d.ts +6 -1
  36. package/dist/cjs/components/chip/Chip.stories.js +9 -3
  37. package/dist/cjs/components/chip/Chip.stories.js.map +1 -1
  38. package/dist/cjs/components/collapsible/Collapsible.d.ts +11 -9
  39. package/dist/cjs/components/collapsible/Collapsible.js +18 -39
  40. package/dist/cjs/components/collapsible/Collapsible.js.map +1 -1
  41. package/dist/cjs/components/collapsible/Collapsible.stories.d.ts +1 -1
  42. package/dist/cjs/components/colorMode/ColorModeToggle.d.ts +4 -2
  43. package/dist/cjs/components/colorMode/ColorModeToggle.js +8 -9
  44. package/dist/cjs/components/colorMode/ColorModeToggle.js.map +1 -1
  45. package/dist/cjs/components/colorPicker/ColorPicker.d.ts +4 -3
  46. package/dist/cjs/components/colorPicker/ColorPicker.js +8 -4
  47. package/dist/cjs/components/colorPicker/ColorPicker.js.map +1 -1
  48. package/dist/cjs/components/contextMenu/contextMenu.d.ts +11 -12
  49. package/dist/cjs/components/contextMenu/contextMenu.js +9 -42
  50. package/dist/cjs/components/contextMenu/contextMenu.js.map +1 -1
  51. package/dist/cjs/components/contextMenu/contextMenu.stories.d.ts +22 -0
  52. package/dist/cjs/components/contextMenu/contextMenu.stories.js +22 -0
  53. package/dist/cjs/components/contextMenu/contextMenu.stories.js.map +1 -0
  54. package/dist/cjs/components/dialog/Dialog.d.ts +27 -22
  55. package/dist/cjs/components/dialog/Dialog.js +110 -80
  56. package/dist/cjs/components/dialog/Dialog.js.map +1 -1
  57. package/dist/cjs/components/dialog/Dialog.stories.d.ts +8 -8
  58. package/dist/cjs/components/dialog/Dialog.stories.js +6 -6
  59. package/dist/cjs/components/dialog/Dialog.stories.js.map +1 -1
  60. package/dist/cjs/components/divider/Divider.js +2 -1
  61. package/dist/cjs/components/divider/Divider.js.map +1 -1
  62. package/dist/cjs/components/dropdownMenu/DropdownMenu.d.ts +26 -21
  63. package/dist/cjs/components/dropdownMenu/DropdownMenu.js +22 -19
  64. package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
  65. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
  66. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js +6 -2
  67. package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
  68. package/dist/cjs/components/forms/EmojiField.d.ts +3 -2
  69. package/dist/cjs/components/forms/EmojiField.js +1 -1
  70. package/dist/cjs/components/forms/EmojiField.js.map +1 -1
  71. package/dist/cjs/components/forms/FormikForm.d.ts +2 -2
  72. package/dist/cjs/components/forms/FormikForm.stories.d.ts +2 -2
  73. package/dist/cjs/components/forms/SubmitButton.js +1 -1
  74. package/dist/cjs/components/forms/SubmitButton.js.map +1 -1
  75. package/dist/cjs/components/forms/TextField.js.map +1 -1
  76. package/dist/cjs/components/forms/ToggleGroupField.d.ts +3 -2
  77. package/dist/cjs/components/forms/ToggleGroupField.js +9 -2
  78. package/dist/cjs/components/forms/ToggleGroupField.js.map +1 -1
  79. package/dist/cjs/components/horizontalList/HorizontalList.d.ts +1 -3
  80. package/dist/cjs/components/horizontalList/HorizontalList.js +3 -3
  81. package/dist/cjs/components/horizontalList/HorizontalList.js.map +1 -1
  82. package/dist/cjs/components/horizontalList/HorizontalList.stories.js +1 -1
  83. package/dist/cjs/components/horizontalList/HorizontalList.stories.js.map +1 -1
  84. package/dist/cjs/components/icon/Icon.d.ts +7 -3
  85. package/dist/cjs/components/icon/Icon.js +14 -2
  86. package/dist/cjs/components/icon/Icon.js.map +1 -1
  87. package/dist/cjs/components/icon/Icon.stories.d.ts +28 -0
  88. package/dist/cjs/components/icon/Icon.stories.js +34 -0
  89. package/dist/cjs/components/icon/Icon.stories.js.map +1 -0
  90. package/dist/cjs/components/imageUploader/ImageUploader.js +1 -1
  91. package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
  92. package/dist/cjs/components/index.d.ts +1 -1
  93. package/dist/cjs/components/index.js +1 -4
  94. package/dist/cjs/components/index.js.map +1 -1
  95. package/dist/cjs/components/input/Input.d.ts +1 -2
  96. package/dist/cjs/components/input/Input.js +4 -5
  97. package/dist/cjs/components/input/Input.js.map +1 -1
  98. package/dist/cjs/components/input/Input.stories.d.ts +1 -1
  99. package/dist/cjs/components/layouts/layouts.stories.js +6 -6
  100. package/dist/cjs/components/layouts/layouts.stories.js.map +1 -1
  101. package/dist/cjs/components/lightbox/Lightbox.d.ts +18 -16
  102. package/dist/cjs/components/lightbox/Lightbox.js +10 -43
  103. package/dist/cjs/components/lightbox/Lightbox.js.map +1 -1
  104. package/dist/cjs/components/lightbox/Lightbox.stories.d.ts +9 -7
  105. package/dist/cjs/components/marquee/marquee.stories.js +1 -1
  106. package/dist/cjs/components/marquee/marquee.stories.js.map +1 -1
  107. package/dist/cjs/components/navBar/NavBar.d.ts +9 -9
  108. package/dist/cjs/components/navBar/NavBar.js +5 -7
  109. package/dist/cjs/components/navBar/NavBar.js.map +1 -1
  110. package/dist/cjs/components/popover/Popover.d.ts +17 -13
  111. package/dist/cjs/components/popover/Popover.js +21 -51
  112. package/dist/cjs/components/popover/Popover.js.map +1 -1
  113. package/dist/cjs/components/popover/Popover.stories.d.ts +2 -23
  114. package/dist/cjs/components/popover/Popover.stories.js +1 -1
  115. package/dist/cjs/components/popover/Popover.stories.js.map +1 -1
  116. package/dist/cjs/components/progress/Progress.d.ts +22 -6
  117. package/dist/cjs/components/progress/Progress.js +17 -42
  118. package/dist/cjs/components/progress/Progress.js.map +1 -1
  119. package/dist/cjs/components/progress/Progress.stories.d.ts +13 -3
  120. package/dist/cjs/components/progress/Progress.stories.js +7 -2
  121. package/dist/cjs/components/progress/Progress.stories.js.map +1 -1
  122. package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +3 -3
  123. package/dist/cjs/components/pwaInstall/PwaInstall.js +6 -4
  124. package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -1
  125. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
  126. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
  127. package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
  128. package/dist/cjs/components/richEditor/index.js +1 -1
  129. package/dist/cjs/components/richEditor/index.js.map +1 -1
  130. package/dist/cjs/components/scrollArea/ScrollArea.d.ts +23 -28
  131. package/dist/cjs/components/scrollArea/ScrollArea.js +26 -56
  132. package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
  133. package/dist/cjs/components/scrollArea/ScrollArea.stories.d.ts +13 -10
  134. package/dist/cjs/components/scrollArea/ScrollArea.stories.js +16 -12
  135. package/dist/cjs/components/scrollArea/ScrollArea.stories.js.map +1 -1
  136. package/dist/cjs/components/select/Select.d.ts +40 -46
  137. package/dist/cjs/components/select/Select.js +40 -83
  138. package/dist/cjs/components/select/Select.js.map +1 -1
  139. package/dist/cjs/components/select/Select.stories.d.ts +18 -11
  140. package/dist/cjs/components/select/Select.stories.js +23 -2
  141. package/dist/cjs/components/select/Select.stories.js.map +1 -1
  142. package/dist/cjs/components/slider/Slider.d.ts +36 -13
  143. package/dist/cjs/components/slider/Slider.js +26 -41
  144. package/dist/cjs/components/slider/Slider.js.map +1 -1
  145. package/dist/cjs/components/slider/Slider.stories.d.ts +16 -7
  146. package/dist/cjs/components/slider/Slider.stories.js +23 -10
  147. package/dist/cjs/components/slider/Slider.stories.js.map +1 -1
  148. package/dist/cjs/components/switch/Switch.d.ts +4 -4
  149. package/dist/cjs/components/switch/Switch.js +3 -3
  150. package/dist/cjs/components/switch/Switch.js.map +1 -1
  151. package/dist/cjs/components/switch/Switch.stories.d.ts +27 -0
  152. package/dist/cjs/components/switch/Switch.stories.js +24 -0
  153. package/dist/cjs/components/switch/Switch.stories.js.map +1 -0
  154. package/dist/cjs/components/tabs/tabs.d.ts +16 -12
  155. package/dist/cjs/components/tabs/tabs.js +12 -47
  156. package/dist/cjs/components/tabs/tabs.js.map +1 -1
  157. package/dist/cjs/components/tabs/tabs.stories.js +3 -3
  158. package/dist/cjs/components/tabs/tabs.stories.js.map +1 -1
  159. package/dist/cjs/components/textArea/TextArea.d.ts +4 -4
  160. package/dist/cjs/components/textArea/TextArea.js +6 -8
  161. package/dist/cjs/components/textArea/TextArea.js.map +1 -1
  162. package/dist/cjs/components/textArea/TextArea.stories.d.ts +1 -1
  163. package/dist/cjs/components/toggleGroup/toggleGroup.d.ts +5 -6
  164. package/dist/cjs/components/toggleGroup/toggleGroup.js +6 -38
  165. package/dist/cjs/components/toggleGroup/toggleGroup.js.map +1 -1
  166. package/dist/cjs/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
  167. package/dist/cjs/components/toggleGroup/toggleGroup.stories.js +21 -0
  168. package/dist/cjs/components/toggleGroup/toggleGroup.stories.js.map +1 -0
  169. package/dist/cjs/components/tooltip/Tooltip.d.ts +12 -9
  170. package/dist/cjs/components/tooltip/Tooltip.js +12 -43
  171. package/dist/cjs/components/tooltip/Tooltip.js.map +1 -1
  172. package/dist/cjs/components/tooltip/Tooltip.stories.d.ts +2 -20
  173. package/dist/cjs/components/tooltip/Tooltip.stories.js +14 -5
  174. package/dist/cjs/components/tooltip/Tooltip.stories.js.map +1 -1
  175. package/dist/cjs/components/utility/ArrowSvg.d.ts +1 -0
  176. package/dist/cjs/components/utility/ArrowSvg.js +9 -0
  177. package/dist/cjs/components/utility/ArrowSvg.js.map +1 -0
  178. package/dist/cjs/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
  179. package/dist/cjs/components/utility/HideWhileKeyboardOpen.js +3 -4
  180. package/dist/cjs/components/utility/HideWhileKeyboardOpen.js.map +1 -1
  181. package/dist/cjs/components/utility/SlotDiv.d.ts +3 -4
  182. package/dist/cjs/components/utility/SlotDiv.js +9 -7
  183. package/dist/cjs/components/utility/SlotDiv.js.map +1 -1
  184. package/dist/cjs/hooks/useTitleBarColor.stories.js +1 -1
  185. package/dist/cjs/hooks/useTitleBarColor.stories.js.map +1 -1
  186. package/dist/cjs/hooks/useVisualViewportOffset.js +31 -10
  187. package/dist/cjs/hooks/useVisualViewportOffset.js.map +1 -1
  188. package/dist/cjs/hooks/withClassName.d.ts +2 -2
  189. package/dist/cjs/hooks/withClassName.js.map +1 -1
  190. package/dist/cjs/hooks/withProps.d.ts +1 -1
  191. package/dist/cjs/hooks/withProps.js +1 -1
  192. package/dist/cjs/hooks/withProps.js.map +1 -1
  193. package/dist/cjs/themes.stories.js +2 -2
  194. package/dist/cjs/themes.stories.js.map +1 -1
  195. package/dist/cjs/uno/preflights/globals.js +29 -25
  196. package/dist/cjs/uno/preflights/globals.js.map +1 -1
  197. package/dist/cjs/uno/rules/util.js +18 -8
  198. package/dist/cjs/uno/rules/util.js.map +1 -1
  199. package/dist/cjs/uno/theme/animations.js +0 -74
  200. package/dist/cjs/uno/theme/animations.js.map +1 -1
  201. package/dist/css/main.css +9 -42
  202. package/dist/esm/components/actions/ActionBar.js +2 -2
  203. package/dist/esm/components/actions/ActionBar.js.map +1 -1
  204. package/dist/esm/components/actions/ActionButton.d.ts +3 -3
  205. package/dist/esm/components/actions/ActionButton.js +2 -2
  206. package/dist/esm/components/actions/ActionButton.js.map +1 -1
  207. package/dist/esm/components/avatar/Avatar.d.ts +4 -2
  208. package/dist/esm/components/avatar/Avatar.js +4 -14
  209. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  210. package/dist/esm/components/avatar/Avatar.stories.d.ts +18 -0
  211. package/dist/esm/components/avatar/Avatar.stories.js +35 -0
  212. package/dist/esm/components/avatar/Avatar.stories.js.map +1 -0
  213. package/dist/esm/components/box/Box.stories.js +1 -1
  214. package/dist/esm/components/box/Box.stories.js.map +1 -1
  215. package/dist/esm/components/button/Button.d.ts +5 -5
  216. package/dist/esm/components/button/Button.js +7 -12
  217. package/dist/esm/components/button/Button.js.map +1 -1
  218. package/dist/esm/components/button/Button.stories.d.ts +1 -1
  219. package/dist/esm/components/button/ConfirmedButton.js +1 -2
  220. package/dist/esm/components/button/ConfirmedButton.js.map +1 -1
  221. package/dist/esm/components/camera/Camera.d.ts +4 -4
  222. package/dist/esm/components/camera/Camera.js +6 -7
  223. package/dist/esm/components/camera/Camera.js.map +1 -1
  224. package/dist/esm/components/card/Card.d.ts +8 -2
  225. package/dist/esm/components/card/Card.js +21 -9
  226. package/dist/esm/components/card/Card.js.map +1 -1
  227. package/dist/esm/components/card/Card.stories.js +3 -3
  228. package/dist/esm/components/card/Card.stories.js.map +1 -1
  229. package/dist/esm/components/checkbox/Checkbox.d.ts +3 -3
  230. package/dist/esm/components/checkbox/Checkbox.js +5 -5
  231. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  232. package/dist/esm/components/chip/Chip.d.ts +3 -2
  233. package/dist/esm/components/chip/Chip.js +3 -4
  234. package/dist/esm/components/chip/Chip.js.map +1 -1
  235. package/dist/esm/components/chip/Chip.stories.d.ts +6 -1
  236. package/dist/esm/components/chip/Chip.stories.js +9 -3
  237. package/dist/esm/components/chip/Chip.stories.js.map +1 -1
  238. package/dist/esm/components/collapsible/Collapsible.d.ts +11 -9
  239. package/dist/esm/components/collapsible/Collapsible.js +17 -5
  240. package/dist/esm/components/collapsible/Collapsible.js.map +1 -1
  241. package/dist/esm/components/collapsible/Collapsible.stories.d.ts +1 -1
  242. package/dist/esm/components/colorMode/ColorModeToggle.d.ts +4 -2
  243. package/dist/esm/components/colorMode/ColorModeToggle.js +8 -9
  244. package/dist/esm/components/colorMode/ColorModeToggle.js.map +1 -1
  245. package/dist/esm/components/colorPicker/ColorPicker.d.ts +4 -3
  246. package/dist/esm/components/colorPicker/ColorPicker.js +9 -5
  247. package/dist/esm/components/colorPicker/ColorPicker.js.map +1 -1
  248. package/dist/esm/components/contextMenu/contextMenu.d.ts +11 -12
  249. package/dist/esm/components/contextMenu/contextMenu.js +9 -9
  250. package/dist/esm/components/contextMenu/contextMenu.js.map +1 -1
  251. package/dist/esm/components/contextMenu/contextMenu.stories.d.ts +22 -0
  252. package/dist/esm/components/contextMenu/contextMenu.stories.js +19 -0
  253. package/dist/esm/components/contextMenu/contextMenu.stories.js.map +1 -0
  254. package/dist/esm/components/dialog/Dialog.d.ts +27 -22
  255. package/dist/esm/components/dialog/Dialog.js +110 -49
  256. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  257. package/dist/esm/components/dialog/Dialog.stories.d.ts +8 -8
  258. package/dist/esm/components/dialog/Dialog.stories.js +6 -6
  259. package/dist/esm/components/dialog/Dialog.stories.js.map +1 -1
  260. package/dist/esm/components/divider/Divider.js +2 -1
  261. package/dist/esm/components/divider/Divider.js.map +1 -1
  262. package/dist/esm/components/dropdownMenu/DropdownMenu.d.ts +26 -21
  263. package/dist/esm/components/dropdownMenu/DropdownMenu.js +22 -19
  264. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  265. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
  266. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js +5 -1
  267. package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
  268. package/dist/esm/components/forms/EmojiField.d.ts +3 -2
  269. package/dist/esm/components/forms/EmojiField.js +1 -1
  270. package/dist/esm/components/forms/EmojiField.js.map +1 -1
  271. package/dist/esm/components/forms/FormikForm.d.ts +2 -2
  272. package/dist/esm/components/forms/FormikForm.stories.d.ts +2 -2
  273. package/dist/esm/components/forms/SubmitButton.js +1 -1
  274. package/dist/esm/components/forms/SubmitButton.js.map +1 -1
  275. package/dist/esm/components/forms/TextField.js.map +1 -1
  276. package/dist/esm/components/forms/ToggleGroupField.d.ts +3 -2
  277. package/dist/esm/components/forms/ToggleGroupField.js +9 -2
  278. package/dist/esm/components/forms/ToggleGroupField.js.map +1 -1
  279. package/dist/esm/components/horizontalList/HorizontalList.d.ts +1 -3
  280. package/dist/esm/components/horizontalList/HorizontalList.js +4 -4
  281. package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
  282. package/dist/esm/components/horizontalList/HorizontalList.stories.js +1 -1
  283. package/dist/esm/components/horizontalList/HorizontalList.stories.js.map +1 -1
  284. package/dist/esm/components/icon/Icon.d.ts +7 -3
  285. package/dist/esm/components/icon/Icon.js +14 -2
  286. package/dist/esm/components/icon/Icon.js.map +1 -1
  287. package/dist/esm/components/icon/Icon.stories.d.ts +28 -0
  288. package/dist/esm/components/icon/Icon.stories.js +31 -0
  289. package/dist/esm/components/icon/Icon.stories.js.map +1 -0
  290. package/dist/esm/components/imageUploader/ImageUploader.js +1 -1
  291. package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
  292. package/dist/esm/components/index.d.ts +1 -1
  293. package/dist/esm/components/index.js +1 -1
  294. package/dist/esm/components/index.js.map +1 -1
  295. package/dist/esm/components/input/Input.d.ts +1 -2
  296. package/dist/esm/components/input/Input.js +4 -5
  297. package/dist/esm/components/input/Input.js.map +1 -1
  298. package/dist/esm/components/input/Input.stories.d.ts +1 -1
  299. package/dist/esm/components/layouts/layouts.stories.js +4 -4
  300. package/dist/esm/components/layouts/layouts.stories.js.map +1 -1
  301. package/dist/esm/components/lightbox/Lightbox.d.ts +18 -16
  302. package/dist/esm/components/lightbox/Lightbox.js +6 -6
  303. package/dist/esm/components/lightbox/Lightbox.js.map +1 -1
  304. package/dist/esm/components/lightbox/Lightbox.stories.d.ts +9 -7
  305. package/dist/esm/components/marquee/marquee.stories.js +1 -1
  306. package/dist/esm/components/marquee/marquee.stories.js.map +1 -1
  307. package/dist/esm/components/navBar/NavBar.d.ts +9 -9
  308. package/dist/esm/components/navBar/NavBar.js +5 -7
  309. package/dist/esm/components/navBar/NavBar.js.map +1 -1
  310. package/dist/esm/components/popover/Popover.d.ts +17 -13
  311. package/dist/esm/components/popover/Popover.js +17 -14
  312. package/dist/esm/components/popover/Popover.js.map +1 -1
  313. package/dist/esm/components/popover/Popover.stories.d.ts +2 -23
  314. package/dist/esm/components/popover/Popover.stories.js +1 -1
  315. package/dist/esm/components/popover/Popover.stories.js.map +1 -1
  316. package/dist/esm/components/progress/Progress.d.ts +22 -6
  317. package/dist/esm/components/progress/Progress.js +16 -9
  318. package/dist/esm/components/progress/Progress.js.map +1 -1
  319. package/dist/esm/components/progress/Progress.stories.d.ts +13 -3
  320. package/dist/esm/components/progress/Progress.stories.js +6 -1
  321. package/dist/esm/components/progress/Progress.stories.js.map +1 -1
  322. package/dist/esm/components/pwaInstall/PwaInstall.d.ts +3 -3
  323. package/dist/esm/components/pwaInstall/PwaInstall.js +6 -4
  324. package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -1
  325. package/dist/esm/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
  326. package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
  327. package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
  328. package/dist/esm/components/richEditor/index.js +1 -1
  329. package/dist/esm/components/richEditor/index.js.map +1 -1
  330. package/dist/esm/components/scrollArea/ScrollArea.d.ts +23 -28
  331. package/dist/esm/components/scrollArea/ScrollArea.js +25 -21
  332. package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
  333. package/dist/esm/components/scrollArea/ScrollArea.stories.d.ts +13 -10
  334. package/dist/esm/components/scrollArea/ScrollArea.stories.js +13 -12
  335. package/dist/esm/components/scrollArea/ScrollArea.stories.js.map +1 -1
  336. package/dist/esm/components/select/Select.d.ts +40 -46
  337. package/dist/esm/components/select/Select.js +35 -77
  338. package/dist/esm/components/select/Select.js.map +1 -1
  339. package/dist/esm/components/select/Select.stories.d.ts +18 -11
  340. package/dist/esm/components/select/Select.stories.js +22 -1
  341. package/dist/esm/components/select/Select.stories.js.map +1 -1
  342. package/dist/esm/components/slider/Slider.d.ts +36 -13
  343. package/dist/esm/components/slider/Slider.js +23 -7
  344. package/dist/esm/components/slider/Slider.js.map +1 -1
  345. package/dist/esm/components/slider/Slider.stories.d.ts +16 -7
  346. package/dist/esm/components/slider/Slider.stories.js +22 -9
  347. package/dist/esm/components/slider/Slider.stories.js.map +1 -1
  348. package/dist/esm/components/switch/Switch.d.ts +4 -4
  349. package/dist/esm/components/switch/Switch.js +3 -3
  350. package/dist/esm/components/switch/Switch.js.map +1 -1
  351. package/dist/esm/components/switch/Switch.stories.d.ts +27 -0
  352. package/dist/esm/components/switch/Switch.stories.js +21 -0
  353. package/dist/esm/components/switch/Switch.stories.js.map +1 -0
  354. package/dist/esm/components/tabs/tabs.d.ts +16 -12
  355. package/dist/esm/components/tabs/tabs.js +10 -12
  356. package/dist/esm/components/tabs/tabs.js.map +1 -1
  357. package/dist/esm/components/tabs/tabs.stories.js +3 -3
  358. package/dist/esm/components/tabs/tabs.stories.js.map +1 -1
  359. package/dist/esm/components/textArea/TextArea.d.ts +4 -4
  360. package/dist/esm/components/textArea/TextArea.js +7 -9
  361. package/dist/esm/components/textArea/TextArea.js.map +1 -1
  362. package/dist/esm/components/textArea/TextArea.stories.d.ts +1 -1
  363. package/dist/esm/components/toggleGroup/toggleGroup.d.ts +5 -6
  364. package/dist/esm/components/toggleGroup/toggleGroup.js +4 -3
  365. package/dist/esm/components/toggleGroup/toggleGroup.js.map +1 -1
  366. package/dist/esm/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
  367. package/dist/esm/components/toggleGroup/toggleGroup.stories.js +18 -0
  368. package/dist/esm/components/toggleGroup/toggleGroup.stories.js.map +1 -0
  369. package/dist/esm/components/tooltip/Tooltip.d.ts +12 -9
  370. package/dist/esm/components/tooltip/Tooltip.js +11 -9
  371. package/dist/esm/components/tooltip/Tooltip.js.map +1 -1
  372. package/dist/esm/components/tooltip/Tooltip.stories.d.ts +2 -20
  373. package/dist/esm/components/tooltip/Tooltip.stories.js +14 -5
  374. package/dist/esm/components/tooltip/Tooltip.stories.js.map +1 -1
  375. package/dist/esm/components/utility/ArrowSvg.d.ts +1 -0
  376. package/dist/esm/components/utility/ArrowSvg.js +6 -0
  377. package/dist/esm/components/utility/ArrowSvg.js.map +1 -0
  378. package/dist/esm/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
  379. package/dist/esm/components/utility/HideWhileKeyboardOpen.js +3 -4
  380. package/dist/esm/components/utility/HideWhileKeyboardOpen.js.map +1 -1
  381. package/dist/esm/components/utility/SlotDiv.d.ts +3 -4
  382. package/dist/esm/components/utility/SlotDiv.js +9 -7
  383. package/dist/esm/components/utility/SlotDiv.js.map +1 -1
  384. package/dist/esm/hooks/useTitleBarColor.stories.js +1 -1
  385. package/dist/esm/hooks/useTitleBarColor.stories.js.map +1 -1
  386. package/dist/esm/hooks/useVisualViewportOffset.js +31 -10
  387. package/dist/esm/hooks/useVisualViewportOffset.js.map +1 -1
  388. package/dist/esm/hooks/withClassName.d.ts +2 -2
  389. package/dist/esm/hooks/withClassName.js +2 -2
  390. package/dist/esm/hooks/withClassName.js.map +1 -1
  391. package/dist/esm/hooks/withProps.d.ts +1 -1
  392. package/dist/esm/hooks/withProps.js +1 -1
  393. package/dist/esm/hooks/withProps.js.map +1 -1
  394. package/dist/esm/themes.stories.js +2 -2
  395. package/dist/esm/themes.stories.js.map +1 -1
  396. package/dist/esm/uno/preflights/globals.js +29 -25
  397. package/dist/esm/uno/preflights/globals.js.map +1 -1
  398. package/dist/esm/uno/rules/util.js +18 -8
  399. package/dist/esm/uno/rules/util.js.map +1 -1
  400. package/dist/esm/uno/theme/animations.js +0 -74
  401. package/dist/esm/uno/theme/animations.js.map +1 -1
  402. package/package.json +1 -21
  403. package/src/components/actions/ActionBar.tsx +13 -9
  404. package/src/components/actions/ActionButton.tsx +2 -4
  405. package/src/components/avatar/Avatar.stories.tsx +41 -0
  406. package/src/components/avatar/Avatar.tsx +26 -40
  407. package/src/components/box/Box.stories.tsx +1 -1
  408. package/src/components/button/Button.tsx +14 -19
  409. package/src/components/button/ConfirmedButton.tsx +3 -7
  410. package/src/components/camera/Camera.tsx +23 -21
  411. package/src/components/card/Card.stories.tsx +22 -15
  412. package/src/components/card/Card.tsx +57 -40
  413. package/src/components/checkbox/Checkbox.tsx +13 -9
  414. package/src/components/chip/Chip.stories.tsx +13 -6
  415. package/src/components/chip/Chip.tsx +6 -7
  416. package/src/components/collapsible/Collapsible.tsx +36 -18
  417. package/src/components/colorMode/ColorModeToggle.tsx +13 -12
  418. package/src/components/colorPicker/ColorPicker.tsx +33 -27
  419. package/src/components/contextMenu/contextMenu.stories.tsx +39 -0
  420. package/src/components/contextMenu/contextMenu.tsx +33 -32
  421. package/src/components/dialog/Dialog.stories.tsx +15 -37
  422. package/src/components/dialog/Dialog.tsx +218 -102
  423. package/src/components/divider/Divider.tsx +5 -1
  424. package/src/components/dropdownMenu/DropdownMenu.stories.tsx +63 -5
  425. package/src/components/dropdownMenu/DropdownMenu.tsx +86 -47
  426. package/src/components/forms/EmojiField.tsx +18 -15
  427. package/src/components/forms/SubmitButton.tsx +1 -1
  428. package/src/components/forms/TextField.tsx +2 -2
  429. package/src/components/forms/ToggleGroupField.tsx +9 -1
  430. package/src/components/horizontalList/HorizontalList.stories.tsx +2 -2
  431. package/src/components/horizontalList/HorizontalList.tsx +10 -18
  432. package/src/components/icon/Icon.stories.tsx +47 -0
  433. package/src/components/icon/Icon.tsx +30 -17
  434. package/src/components/imageUploader/ImageUploader.tsx +7 -9
  435. package/src/components/index.ts +1 -1
  436. package/src/components/input/Input.tsx +3 -7
  437. package/src/components/layouts/layouts.stories.tsx +10 -16
  438. package/src/components/lightbox/Lightbox.tsx +25 -13
  439. package/src/components/marquee/marquee.stories.tsx +5 -3
  440. package/src/components/navBar/NavBar.tsx +9 -17
  441. package/src/components/popover/Popover.stories.tsx +6 -7
  442. package/src/components/popover/Popover.tsx +86 -39
  443. package/src/components/progress/Progress.stories.tsx +15 -3
  444. package/src/components/progress/Progress.tsx +65 -11
  445. package/src/components/pwaInstall/PwaInstall.tsx +21 -22
  446. package/src/components/pwaInstall/PwaInstallTrigger.stories.tsx +5 -4
  447. package/src/components/pwaInstall/PwaInstallTrigger.tsx +1 -1
  448. package/src/components/richEditor/index.tsx +8 -4
  449. package/src/components/scrollArea/ScrollArea.stories.tsx +86 -45
  450. package/src/components/scrollArea/ScrollArea.tsx +108 -96
  451. package/src/components/select/Select.stories.tsx +39 -10
  452. package/src/components/select/Select.tsx +161 -218
  453. package/src/components/slider/Slider.stories.tsx +40 -15
  454. package/src/components/slider/Slider.tsx +62 -29
  455. package/src/components/switch/Switch.stories.tsx +24 -0
  456. package/src/components/switch/Switch.tsx +9 -8
  457. package/src/components/tabs/tabs.stories.tsx +7 -13
  458. package/src/components/tabs/tabs.tsx +34 -27
  459. package/src/components/textArea/TextArea.tsx +17 -25
  460. package/src/components/toggleGroup/toggleGroup.stories.tsx +27 -0
  461. package/src/components/toggleGroup/toggleGroup.tsx +10 -8
  462. package/src/components/tooltip/Tooltip.stories.tsx +20 -10
  463. package/src/components/tooltip/Tooltip.tsx +72 -30
  464. package/src/components/utility/ArrowSvg.tsx +15 -0
  465. package/src/components/utility/HideWhileKeyboardOpen.tsx +3 -8
  466. package/src/components/utility/SlotDiv.tsx +10 -10
  467. package/src/hooks/useTitleBarColor.stories.tsx +1 -3
  468. package/src/hooks/useVisualViewportOffset.ts +34 -11
  469. package/src/hooks/withClassName.tsx +3 -3
  470. package/src/hooks/withProps.tsx +1 -1
  471. package/src/themes.stories.tsx +10 -20
  472. package/src/uno/preflights/globals.ts +25 -21
  473. package/src/uno/rules/util.ts +18 -8
  474. package/src/uno/theme/animations.ts +0 -74
@@ -64,9 +64,7 @@ export const Default: Story = {
64
64
  args: {
65
65
  children: (
66
66
  <ParticleLayer noPortal>
67
- <DialogTrigger asChild>
68
- <Button>Open</Button>
69
- </DialogTrigger>
67
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
70
68
  <DummyContent />
71
69
  <DialogContent>
72
70
  <DialogTitle>Hello world</DialogTitle>
@@ -74,9 +72,8 @@ export const Default: Story = {
74
72
  <DummyContent />
75
73
  <DummyContent />
76
74
  <DialogActions>
77
- <DialogClose asChild>
78
- <Button>Close</Button>
79
- </DialogClose>
75
+ <DialogClose />
76
+ <Button emphasis="primary">Accept</Button>
80
77
  </DialogActions>
81
78
  </DialogContent>
82
79
  </ParticleLayer>
@@ -88,17 +85,13 @@ export const Small: Story = {
88
85
  args: {
89
86
  children: (
90
87
  <ParticleLayer noPortal>
91
- <DialogTrigger asChild>
92
- <Button>Open</Button>
93
- </DialogTrigger>
88
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
94
89
  <DummyContent />
95
90
  <DialogContent>
96
91
  <DialogTitle>Hello world</DialogTitle>
97
92
  <DummyContent />
98
93
  <DialogActions>
99
- <DialogClose asChild>
100
- <Button>Close</Button>
101
- </DialogClose>
94
+ <DialogClose />
102
95
  </DialogActions>
103
96
  </DialogContent>
104
97
  </ParticleLayer>
@@ -110,16 +103,12 @@ export const NoSheet: Story = {
110
103
  args: {
111
104
  children: (
112
105
  <ParticleLayer noPortal>
113
- <DialogTrigger asChild>
114
- <Button>Open</Button>
115
- </DialogTrigger>
106
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
116
107
  <DummyContent />
117
108
  <DialogContent disableSheet>
118
109
  <DialogTitle>Hello world</DialogTitle>
119
110
  <DialogActions>
120
- <DialogClose asChild>
121
- <Button>Close</Button>
122
- </DialogClose>
111
+ <DialogClose />
123
112
  </DialogActions>
124
113
  </DialogContent>
125
114
  </ParticleLayer>
@@ -131,16 +120,12 @@ export const Positioned: Story = {
131
120
  args: {
132
121
  children: (
133
122
  <ParticleLayer noPortal>
134
- <DialogTrigger asChild>
135
- <Button>Open</Button>
136
- </DialogTrigger>
123
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
137
124
  <DummyContent />
138
125
  <DialogContent className="top-auto bottom-0px">
139
126
  <DialogTitle>Hello world</DialogTitle>
140
127
  <DialogActions>
141
- <DialogClose asChild>
142
- <Button>Close</Button>
143
- </DialogClose>
128
+ <DialogClose />
144
129
  </DialogActions>
145
130
  </DialogContent>
146
131
  </ParticleLayer>
@@ -166,17 +151,13 @@ export const VirtualKeyboard: Story = {
166
151
  return (
167
152
  <Provider virtualKeyboardBehavior="overlay">
168
153
  <Dialog>
169
- <DialogTrigger asChild>
170
- <Button>Open</Button>
171
- </DialogTrigger>
154
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
172
155
  <DummyContent />
173
156
  <DialogContent>
174
157
  <DialogTitle>Hello world</DialogTitle>
175
158
  <Input />
176
159
  <DialogActions>
177
- <DialogClose asChild>
178
- <Button>Close</Button>
179
- </DialogClose>
160
+ <DialogClose />
180
161
  <Button onClick={() => setKeyboard((v) => !v)}>
181
162
  Toggle fake kb
182
163
  </Button>
@@ -193,26 +174,23 @@ export const MultiNested: Story = {
193
174
  render() {
194
175
  return (
195
176
  <Dialog>
196
- <DialogTrigger asChild>
197
- <Button>Open</Button>
198
- </DialogTrigger>
177
+ <DialogTrigger render={<Button />}>Open</DialogTrigger>
199
178
  <DialogContent>
200
179
  <DialogTitle>Hello world</DialogTitle>
201
180
  <DummyContent />
202
181
  <Select value="">
203
182
  <Select.Trigger>
204
- <Select.Value placeholder="Select an option" />
183
+ <Select.Value />
205
184
  </Select.Trigger>
206
185
  <Select.Content>
186
+ <Select.Item value={null}>Select an option</Select.Item>
207
187
  <Select.Item value="option1">Option 1</Select.Item>
208
188
  <Select.Item value="option2">Option 2</Select.Item>
209
189
  <Select.Item value="option3">Option 3</Select.Item>
210
190
  </Select.Content>
211
191
  </Select>
212
192
  <Dialog>
213
- <DialogTrigger asChild>
214
- <Button>Open nested</Button>
215
- </DialogTrigger>
193
+ <DialogTrigger render={<Button />}>Open nested</DialogTrigger>
216
194
  <DialogContent>
217
195
  <DialogTitle>Nested dialog</DialogTitle>
218
196
  <Tooltip content="This is a tooltip">
@@ -1,11 +1,19 @@
1
- import * as DialogPrimitive from '@radix-ui/react-dialog';
2
- import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
1
+ import {
2
+ Dialog as BaseDialog,
3
+ DialogCloseProps,
4
+ DialogPopupProps,
5
+ DialogRootProps,
6
+ DialogTriggerProps,
7
+ } from '@base-ui/react/dialog';
8
+ import { Radio as BaseRadio } from '@base-ui/react/radio';
9
+ import { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';
3
10
  import { useDrag } from '@use-gesture/react';
4
- import classNames from 'clsx';
11
+ import clsx from 'clsx';
5
12
  import {
6
13
  ComponentPropsWithoutRef,
7
- ComponentPropsWithRef,
8
14
  createContext,
15
+ Ref,
16
+ TouchEvent,
9
17
  useCallback,
10
18
  useContext,
11
19
  useRef,
@@ -19,42 +27,45 @@ import { Button } from '../button/index.js';
19
27
  import { Icon } from '../icon/Icon.js';
20
28
  import { useParticles } from '../particles/index.js';
21
29
  import { useConfig } from '../provider/Provider.js';
30
+ import { ScrollArea } from '../scrollArea/ScrollArea.js';
22
31
  import { selectTriggerClassName } from '../select/index.js';
23
32
 
24
33
  const StyledOverlay = withClassName(
25
- DialogPrimitive.Overlay,
26
- 'layer-components:(fixed inset-0 z-backdrop animate-fade-in animate-duration-200 bg-black/15 shadow-inset shadow-[0_30px_60px_0px] shadow-black/20 border-top-1 border-top-solid border-top-gray)',
27
- 'layer-components:[&[data-state=closed]]:animate-fade-out',
28
- 'motion-reduce:animate-none',
34
+ BaseDialog.Backdrop,
35
+ 'layer-components:(fixed inset-0 bg-black/15 shadow-inset shadow-[0_30px_60px_0px] shadow-black/20 border-top-1 border-top-solid border-top-gray transition)',
29
36
  'layer-components:backdrop-blur-sm',
37
+ 'data-[starting-style]:(opacity-0)',
38
+ 'data-[ending-style]:(opacity-0)',
30
39
  );
31
40
 
32
41
  const StyledContent = withClassName(
33
- DialogPrimitive.Content,
34
- 'layer-components:(z-dialog fixed shadow-xl bg-white overflow-y-auto border border-gray flex flex-col border border-gray-dark)',
42
+ BaseDialog.Popup,
43
+ 'layer-components:(fixed shadow-xl bg-white border border-gray border border-gray-dark transition pointer-events-auto overflow-hidden flex flex-col items-stretch)',
35
44
  'layer-components:sm:shadow-down',
36
- 'transform-gpu !motion-reduce:animate-none',
37
- 'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-w-450px max-h-85vh p-6 pt-8 rounded-lg border-b-1 pt-6)',
38
- 'layer-components:animate-dialog-in',
39
- 'layer-components:[&[data-state=closed]]:animate-dialog-out',
45
+ 'transform-gpu',
46
+ 'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-w-450px max-h-85vh rounded-lg border-b-1)',
47
+
48
+ 'data-[starting-style]:layer-components:(opacity-0 scale-95)',
49
+ 'data-[ending-style]:layer-components:(opacity-0 scale-95)',
40
50
  );
41
- const sheetClassNames = classNames(
42
- 'layer-variants:lt-sm:(translate-0 left-0 right-0 top-auto h-min-content rounded-tl-xl rounded-tr-xl rounded-b-0 border-b-0 p-6 pt-8 w-full max-w-none shadow-up)',
43
- 'layer-variants:lt-sm:pb-[calc(3rem+env(safe-area-inset-bottom,0px))]',
44
- 'layer-variants:lt-sm:(animate-fade-in-up)',
45
- 'layer-variants:lt-sm:[&[data-state=closed]]:animate-fade-out-down',
51
+ const sheetClassNames = clsx(
52
+ 'layer-variants:lt-sm:(translate-0 left-0 right-0 top-auto h-min-content rounded-tl-xl rounded-tr-xl rounded-b-0 border-b-0 pt-lg w-screen max-w-none shadow-up)',
53
+ 'layer-variants:lt-sm:pb-[calc(env(safe-area-inset-bottom,0px))]',
54
+
55
+ 'data-[starting-style]:layer-variants:lt-sm:(opacity-0 translate-y-full)',
56
+ 'data-[ending-style]:layer-variants:lt-sm:(opacity-0 translate-y-full)',
46
57
  );
47
- const sheetClassNameWithOverlayKeyboard = classNames(
48
- 'layer-variants:lt-sm:(bottom-[calc(var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px))+var(--gesture-y,0px))] max-h-[calc(95vh-var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px)))])',
58
+ const sheetClassNameWithOverlayKeyboard = clsx(
59
+ 'layer-variants:lt-sm:bottom-[calc(var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px))+var(--gesture-y,0px))]',
60
+ 'layer-variants:lt-sm:max-h-[calc(95vh-var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px)))]',
49
61
  );
50
- const sheetClassNameWithDisplaceKeyboard = classNames(
62
+ const sheetClassNameWithDisplaceKeyboard = clsx(
51
63
  'layer-variants:lt-sm:(bottom-[calc(var(--viewport-bottom-offset,0px)+var(--gesture-y,0px))] max-h-[calc(0.85*var(--viewport-height,100vh))])',
52
64
  );
53
65
 
54
66
  function sheetCloseGestureLogic(
55
67
  swipeY: number,
56
68
  dy: number,
57
- vy: number,
58
69
  last: boolean,
59
70
  close: () => void,
60
71
  content: HTMLElement,
@@ -91,20 +102,24 @@ function filterScrollables(
91
102
  cur &&
92
103
  cur.scrollHeight > cur.clientHeight &&
93
104
  cur.scrollTop !== 0 &&
94
- vy > 0
105
+ vy >= 0
95
106
  )
96
107
  return true;
97
108
  }
98
109
  return false;
99
110
  }
100
111
 
101
- export interface DialogContentProps
102
- extends ComponentPropsWithRef<typeof DialogPrimitive.Content> {
112
+ export interface DialogContentProps extends DialogPopupProps {
103
113
  width?: 'sm' | 'md' | 'lg';
104
114
  disableSheet?: boolean;
115
+ disableDefaultClose?: boolean;
116
+ /** @deprecated */
105
117
  outerClassName?: string;
118
+ ref?: Ref<HTMLDivElement>;
106
119
  }
107
120
 
121
+ const SWIPE_VELOCITY_THRESHOLD = 1.5;
122
+
108
123
  export const Content = function Content({
109
124
  ref,
110
125
  children,
@@ -112,16 +127,14 @@ export const Content = function Content({
112
127
  outerClassName,
113
128
  className,
114
129
  disableSheet,
130
+ disableDefaultClose,
115
131
  ...props
116
132
  }: DialogContentProps) {
117
133
  const particles = useParticles();
118
134
  const wasOpenRef = useRef(false);
119
135
  const openRef = useCallback(
120
136
  (element: HTMLDivElement | null) => {
121
- if (
122
- !wasOpenRef.current &&
123
- element?.getAttribute('data-state') === 'open'
124
- ) {
137
+ if (!wasOpenRef.current && element?.hasAttribute('data-open')) {
125
138
  wasOpenRef.current = true;
126
139
 
127
140
  const matchesSmall =
@@ -159,58 +172,32 @@ export const Content = function Content({
159
172
  }),
160
173
  );
161
174
  }, 180);
162
- } else if (element?.getAttribute('data-state') === 'closed') {
175
+ } else if (!element?.hasAttribute('data-open')) {
163
176
  wasOpenRef.current = false;
164
177
  }
165
178
  },
166
179
  [particles, disableSheet],
167
180
  );
168
181
 
169
- const gestureRef = useRef<HTMLDivElement>(null);
170
-
182
+ const { gestureRef, onTouchStart, onTouchMove, onTouchEnd } =
183
+ useDialogInherentSwipe({ disableSheet });
171
184
  const finalRef = useMergedRef(ref, openRef, gestureRef);
172
185
 
173
186
  const { virtualKeyboardBehavior } = useConfig();
174
187
 
175
- const close = useContext(DialogCloseContext);
176
- const isSmall = useMediaQuery('(max-width: 640px)');
177
- const bind = useDrag(
178
- ({
179
- swipe: [, swipeY],
180
- movement: [, dy],
181
- velocity: [, vy],
182
- last,
183
- active,
184
- target,
185
- }) => {
186
- if (
187
- filterScrollables(target as HTMLElement, gestureRef.current!, dy, vy)
188
- ) {
189
- return;
190
- }
191
- if (
192
- (active || last) &&
193
- gestureRef.current &&
194
- gestureRef.current.scrollTop < 3
195
- ) {
196
- sheetCloseGestureLogic(swipeY, dy, vy, last, close, gestureRef.current);
197
- }
198
- },
199
- {
200
- axis: 'y',
201
- enabled: isSmall && !disableSheet,
202
- },
203
- );
204
-
205
188
  return (
206
- <DialogPrimitive.Portal>
189
+ <BaseDialog.Portal>
207
190
  <StyledOverlay />
208
191
  <GroupScaleReset>
209
192
  <StyledContent
210
193
  data-dialog-content
211
- {...bind(props)}
212
194
  ref={finalRef}
213
- className={classNames(
195
+ {...props}
196
+ onTouchStart={onTouchStart}
197
+ onTouchMove={onTouchMove}
198
+ onTouchEnd={onTouchEnd}
199
+ onTouchCancel={onTouchEnd}
200
+ className={clsx(
214
201
  {
215
202
  'layer-variants:md:max-w-800px': width === 'lg',
216
203
  'layer-variants:max-w-600px': width === 'md',
@@ -226,14 +213,111 @@ export const Content = function Content({
226
213
  outerClassName || className,
227
214
  )}
228
215
  >
216
+ {!disableDefaultClose && <DialogDefaultClose />}
229
217
  {!disableSheet && <DialogSwipeHandle />}
230
- {children}
218
+ <ScrollArea className="w-full h-full">
219
+ <ScrollArea.Content className="p-md">{children}</ScrollArea.Content>
220
+ </ScrollArea>
231
221
  </StyledContent>
232
222
  </GroupScaleReset>
233
- </DialogPrimitive.Portal>
223
+ </BaseDialog.Portal>
234
224
  );
235
225
  };
236
226
 
227
+ function useDialogInherentSwipe({ disableSheet }: { disableSheet?: boolean }) {
228
+ const gestureRef = useRef<HTMLDivElement>(null);
229
+
230
+ const close = useContext(DialogCloseContext);
231
+ const isSmall = useMediaQuery('(max-width: 640px)');
232
+
233
+ const gestureState = useRef({
234
+ sy: 0,
235
+ dy: 0,
236
+ vy: 0,
237
+ active: false,
238
+ timeStamp: 0,
239
+ filtered: false,
240
+ });
241
+
242
+ const onTouchStart = useCallback(
243
+ (event: TouchEvent) => {
244
+ if (!isSmall || disableSheet) return;
245
+ const touch = event.touches[0];
246
+ gestureState.current.sy = touch.clientY;
247
+ gestureState.current.timeStamp = event.timeStamp;
248
+ },
249
+ [isSmall, disableSheet],
250
+ );
251
+ const onTouchMove = useCallback(
252
+ (event: TouchEvent) => {
253
+ if (!isSmall || disableSheet) return;
254
+
255
+ const touch = event.touches[0];
256
+ const dy = touch.clientY - gestureState.current.sy;
257
+ const vy =
258
+ (dy - gestureState.current.dy) /
259
+ (event.timeStamp -
260
+ (gestureState.current.timeStamp ?? event.timeStamp - 1));
261
+
262
+ gestureState.current.dy = dy;
263
+ gestureState.current.vy = vy;
264
+
265
+ if (
266
+ gestureState.current.filtered ||
267
+ filterScrollables(
268
+ event.target as HTMLElement,
269
+ gestureRef.current!,
270
+ dy,
271
+ vy,
272
+ )
273
+ ) {
274
+ gestureState.current.filtered = true;
275
+ return;
276
+ }
277
+ if (!gestureState.current.active) {
278
+ gestureState.current.active = true;
279
+ gestureState.current.sy = touch.clientY;
280
+ }
281
+
282
+ if (gestureRef.current && gestureRef.current.scrollTop < 3) {
283
+ sheetCloseGestureLogic(
284
+ Math.abs(vy) > SWIPE_VELOCITY_THRESHOLD ? Math.sign(vy) : 0,
285
+ dy,
286
+ false,
287
+ close,
288
+ gestureRef.current,
289
+ );
290
+ }
291
+
292
+ gestureState.current.timeStamp = event.timeStamp;
293
+ },
294
+ [isSmall, disableSheet, close],
295
+ );
296
+ const onTouchEnd = useCallback(
297
+ (event: TouchEvent) => {
298
+ if (gestureState.current.active && gestureRef.current) {
299
+ const { vy, dy } = gestureState.current;
300
+ sheetCloseGestureLogic(
301
+ Math.abs(vy) > SWIPE_VELOCITY_THRESHOLD ? Math.sign(vy) : 0,
302
+ dy,
303
+ true,
304
+ close,
305
+ gestureRef.current,
306
+ );
307
+ }
308
+ gestureState.current.active = false;
309
+ gestureState.current.filtered = false;
310
+ gestureState.current.timeStamp = event.timeStamp;
311
+ gestureState.current.vy = 0;
312
+ gestureState.current.dy = 0;
313
+ gestureState.current.sy = 0;
314
+ },
315
+ [close],
316
+ );
317
+
318
+ return { gestureRef, onTouchStart, onTouchMove, onTouchEnd };
319
+ }
320
+
237
321
  export const DialogSwipeHandle = function DialogSwipeHandle({
238
322
  ref,
239
323
  className,
@@ -247,7 +331,7 @@ export const DialogSwipeHandle = function DialogSwipeHandle({
247
331
  ({ swipe: [, swipeY], movement: [, dy], velocity: [, vy], last }) => {
248
332
  const content = findParentDialogContent(innerRef.current);
249
333
  if (!content) return;
250
- sheetCloseGestureLogic(swipeY, dy, vy, last, close, content);
334
+ sheetCloseGestureLogic(swipeY, dy, last, close, content);
251
335
  },
252
336
  {
253
337
  target: innerRef,
@@ -259,7 +343,7 @@ export const DialogSwipeHandle = function DialogSwipeHandle({
259
343
  <div
260
344
  ref={finalRef}
261
345
  {...props}
262
- className={classNames(
346
+ className={clsx(
263
347
  'layer-components:(absolute top-0 left-50% transform-gpu -translate-x-1/2 w-20% py-2 rounded-lg cursor-grab sm:hidden touch-none)',
264
348
  className,
265
349
  )}
@@ -279,69 +363,101 @@ function findParentDialogContent(
279
363
 
280
364
  const DialogCloseContext = createContext<() => void>(() => {});
281
365
 
366
+ export const DialogDefaultClose = function DialogDefaultClose({
367
+ ref,
368
+ className,
369
+ ...props
370
+ }: DialogCloseProps & {
371
+ ref?: React.Ref<HTMLButtonElement>;
372
+ }) {
373
+ return (
374
+ <DialogClose
375
+ className={clsx(
376
+ 'absolute top-sm right-sm hidden sm:flex z-101',
377
+ className,
378
+ )}
379
+ aria-label="Close dialog"
380
+ ref={ref}
381
+ {...props}
382
+ render={<Button emphasis="ghost" size="small" />}
383
+ >
384
+ <Icon name="x" />
385
+ </DialogClose>
386
+ );
387
+ };
388
+
282
389
  const StyledTitle = withClassName(
283
- DialogPrimitive.Title,
390
+ BaseDialog.Title,
284
391
  'layer-components:(font-title color-black text-3xl mb-4 mt-0)',
285
392
  );
286
393
 
287
394
  const StyledDescription = withClassName(
288
- DialogPrimitive.Description,
395
+ BaseDialog.Description,
289
396
  'layer-components:(mt-3 mb-6 color-gray-dark text-md leading-6)',
290
397
  );
291
398
 
292
399
  // Exports
293
- const DialogRoot = (props: DialogPrimitive.DialogProps) => {
294
- const [innerOpen, innerOnOpenChange] = useState(props.defaultOpen);
400
+ const DialogRoot = (props: DialogRootProps) => {
401
+ const [innerOpen, innerOnOpenChange] = useState(props.defaultOpen || false);
295
402
  const open = props.open ?? innerOpen;
296
- const onOpenChange = useCallback(
297
- (open: boolean) => {
403
+ const onOpenChange = useCallback<
404
+ Exclude<DialogRootProps['onOpenChange'], undefined>
405
+ >(
406
+ (open, eventDetails) => {
298
407
  innerOnOpenChange(open);
299
- props.onOpenChange?.(open);
408
+ props.onOpenChange?.(open, eventDetails);
300
409
  },
301
410
  [props.onOpenChange],
302
411
  );
303
412
 
304
413
  const close = useCallback(() => {
305
- onOpenChange(false);
414
+ onOpenChange(false, {
415
+ allowPropagation() {},
416
+ cancel() {},
417
+ isCanceled: false,
418
+ event: null as any,
419
+ isPropagationAllowed: true,
420
+ preventUnmountOnClose() {},
421
+ reason: 'imperative-action',
422
+ trigger: undefined,
423
+ });
306
424
  }, [onOpenChange]);
307
425
 
308
426
  return (
309
427
  <DialogCloseContext.Provider value={close}>
310
- <DialogPrimitive.Root
311
- {...props}
312
- open={open}
313
- onOpenChange={onOpenChange}
314
- />
428
+ <BaseDialog.Root {...props} open={open} onOpenChange={onOpenChange} />
315
429
  </DialogCloseContext.Provider>
316
430
  );
317
431
  };
318
432
 
319
- export const DialogTrigger = DialogPrimitive.Trigger;
433
+ export const DialogTrigger = ({ render, ...props }: DialogTriggerProps) => (
434
+ <BaseDialog.Trigger render={render || <Button />} {...props} />
435
+ );
320
436
  export const DialogContent = Content;
321
437
  export const DialogTitle = StyledTitle;
322
438
  export const DialogDescription = StyledDescription;
323
439
  export const DialogClose = function DialogClose({
324
- ref,
325
- asChild,
326
440
  children,
441
+ render,
327
442
  ...props
328
- }: DialogPrimitive.DialogCloseProps & {
443
+ }: DialogCloseProps & {
329
444
  ref?: React.Ref<HTMLButtonElement>;
330
445
  }) {
331
446
  return (
332
- <DialogPrimitive.DialogClose asChild ref={ref} {...props}>
333
- {asChild === true ? children : <Button>{children ?? 'Close'}</Button>}
334
- </DialogPrimitive.DialogClose>
447
+ <BaseDialog.Close
448
+ render={render ?? <Button emphasis="default" />}
449
+ {...props}
450
+ >
451
+ {children ?? 'Close'}
452
+ </BaseDialog.Close>
335
453
  );
336
454
  };
337
455
 
338
- export type { DialogProps } from '@radix-ui/react-dialog';
456
+ export type { DialogRootProps as DialogProps } from '@base-ui/react/dialog';
339
457
 
340
458
  export const DialogActions = withClassName(
341
459
  'div',
342
- 'layer-components:(flex justify-end sticky w-full gap-3 items-center bg-inherit py-4 translate-y-6 flex-wrap)',
343
- 'layer-components:bottom--6',
344
- 'layer-components:sm:(bottom-0)',
460
+ 'layer-components:(flex justify-end self-end sticky gap-sm items-center flex-wrap z-100 pb-1px mt-md bottom-md rounded-lg bg-white [--global-shadow-spread:1] shadow-md shadow-white shadow-up)',
345
461
  );
346
462
 
347
463
  export const DialogSelectTrigger = function DialogSelectTrigger({
@@ -349,27 +465,27 @@ export const DialogSelectTrigger = function DialogSelectTrigger({
349
465
  children,
350
466
  className,
351
467
  ...props
352
- }: DialogPrimitive.DialogTriggerProps & {
468
+ }: DialogTriggerProps & {
353
469
  ref?: React.Ref<HTMLButtonElement>;
354
470
  }) {
355
471
  return (
356
- <DialogPrimitive.Trigger
357
- className={classNames(selectTriggerClassName, className)}
472
+ <BaseDialog.Trigger
473
+ className={clsx(selectTriggerClassName, className)}
358
474
  {...props}
359
475
  >
360
476
  <span>{children}</span>
361
477
  <Icon name="chevron" />
362
- </DialogPrimitive.Trigger>
478
+ </BaseDialog.Trigger>
363
479
  );
364
480
  };
365
481
 
366
482
  export const DialogSelectList = withClassName(
367
- RadioGroupPrimitive.Root,
483
+ BaseRadioGroup,
368
484
  'layer-components:(flex flex-col gap-2 overflow-y-auto p-2)',
369
485
  );
370
486
 
371
487
  export const DialogSelectItemRoot = withClassName(
372
- RadioGroupPrimitive.Item,
488
+ BaseRadio.Root,
373
489
  'layer-components:(color-black flex items-center border-1 border-solid border-bg gap-3 w-full py-3 px-4 text-left border-none rounded-lg font-normal bg-gray-light cursor-pointer transition-all)',
374
490
  'layer-components:[&[data-state=checked]]:(bg-main-wash color-main-ink border-color)',
375
491
  );
@@ -386,9 +502,9 @@ export const DialogSelectItem = function DialogSelectItem({
386
502
  <span className="flex-1 flex-row items-center gap-md min-h-18px">
387
503
  {children}
388
504
  </span>
389
- <RadioGroupPrimitive.Indicator className="flex-0-0-auto">
505
+ <BaseRadio.Indicator className="flex-0-0-auto">
390
506
  <Icon name="check" />
391
- </RadioGroupPrimitive.Indicator>
507
+ </BaseRadio.Indicator>
392
508
  </DialogSelectItemRoot>
393
509
  );
394
510
  };
@@ -1,8 +1,12 @@
1
+ import { Separator as BaseSeparator } from '@base-ui/react/separator';
1
2
  import classNames from 'clsx';
2
3
  import { HTMLAttributes } from 'react';
3
4
  import { withClassName } from '../../hooks/withClassName.js';
4
5
 
5
- const DividerBase = withClassName('div', 'w-full h-1px bg-black relative');
6
+ const DividerBase = withClassName(
7
+ BaseSeparator,
8
+ 'w-full h-1px bg-black relative',
9
+ );
6
10
 
7
11
  export interface DividerProps extends HTMLAttributes<HTMLDivElement> {
8
12
  compensate?: 0 | 1 | 2 | 3 | 4 | 5 | 6;