@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 { Slot } from '@radix-ui/react-slot';
1
+ import { Input as BaseUIInput } from '@base-ui/react/input';
2
2
  import classNames from 'clsx';
3
3
  import {
4
4
  ChangeEvent,
@@ -9,7 +9,7 @@ import {
9
9
  import { useRotatingShuffledValue } from '../../hooks/useRotatingShuffledValue.js';
10
10
 
11
11
  export const inputClassName = classNames(
12
- 'layer-components:(px-5 py-1.25 text-md font-inherit rounded-lg bg-white select-auto min-w-60px color-black border-solid border-width-thin border-gray-dark shadow-sm-inset transition-shadow)',
12
+ 'layer-components:(px-5 py-1.25 text-md font-inherit rounded-lg bg-white select-auto min-w-60px color-black border-solid border-width-thin border-gray-dark shadow-sm shadow-inset transition-shadow)',
13
13
  'layer-components:focus:(outline-none bg-lighten-3 ring-4 ring-white)',
14
14
  'layer-components:focus-visible:(outline-none ring-accent ring-4)',
15
15
  'layer-components:disabled:(bg-transparent border-gray placeholder-gray-dark shadow-none)',
@@ -19,7 +19,6 @@ export const inputClassName = classNames(
19
19
 
20
20
  export interface InputProps extends ComponentPropsWithRef<'input'> {
21
21
  autoSelect?: boolean;
22
- asChild?: boolean;
23
22
  /** Shuffle between random placeholders */
24
23
  placeholders?: string[];
25
24
  placeholdersIntervalMs?: number;
@@ -33,7 +32,6 @@ export const Input = function Input({
33
32
  onFocus,
34
33
  onChange,
35
34
  onValueChange,
36
- asChild,
37
35
  placeholders,
38
36
  placeholder,
39
37
  placeholdersIntervalMs = 5000,
@@ -63,10 +61,8 @@ export const Input = function Input({
63
61
  placeholdersIntervalMs,
64
62
  );
65
63
 
66
- const Component = asChild ? Slot : 'input';
67
-
68
64
  return (
69
- <Component
65
+ <BaseUIInput
70
66
  onFocus={handleFocus}
71
67
  onChange={handleChange}
72
68
  className={classNames(inputClassName, className)}
@@ -1,8 +1,8 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
  import { useEffect, useState } from 'react';
3
+ import { Avatar } from '../avatar/Avatar.js';
3
4
  import { Button } from '../button/index.js';
4
5
  import { Card } from '../card/Card.js';
5
- import { Icon } from '../icon/index.js';
6
6
  import { Input } from '../input/index.js';
7
7
  import {
8
8
  NavBarItem,
@@ -64,18 +64,18 @@ export const Default: Story = {
64
64
  </NavBarItem>
65
65
  <NavBarItem active={true}>
66
66
  <NavBarItemIconWrapper>
67
- <NavBarItemIcon asChild>
68
- <Icon name="book" />
69
- </NavBarItemIcon>
67
+ <NavBarItemIcon name="book" />
70
68
  </NavBarItemIconWrapper>
71
69
  <NavBarItemText>Item 2</NavBarItemText>
72
70
  <NavBarItemPip />
73
71
  </NavBarItem>
74
72
  <NavBarItem color="gray" active={true}>
75
73
  <NavBarItemIconWrapper>
76
- <NavBarItemIcon asChild>
77
- <Icon name="book" />
78
- </NavBarItemIcon>
74
+ <NavBarItemIcon
75
+ render={(_, { size }) => (
76
+ <Avatar name="Grant Forrest" size={size} />
77
+ )}
78
+ />
79
79
  </NavBarItemIconWrapper>
80
80
  <NavBarItemText>Neutral</NavBarItemText>
81
81
  <NavBarItemPip />
@@ -114,18 +114,14 @@ export const ManualWidth: Story = {
114
114
  </NavBarItem>
115
115
  <NavBarItem active={true}>
116
116
  <NavBarItemIconWrapper>
117
- <NavBarItemIcon asChild>
118
- <Icon name="book" />
119
- </NavBarItemIcon>
117
+ <NavBarItemIcon name="book" />
120
118
  </NavBarItemIconWrapper>
121
119
  <NavBarItemText>Item 2</NavBarItemText>
122
120
  <NavBarItemPip />
123
121
  </NavBarItem>
124
122
  <NavBarItem color="gray" active={true}>
125
123
  <NavBarItemIconWrapper>
126
- <NavBarItemIcon asChild>
127
- <Icon name="book" />
128
- </NavBarItemIcon>
124
+ <NavBarItemIcon name="book" />
129
125
  </NavBarItemIconWrapper>
130
126
  <NavBarItemText>Neutral</NavBarItemText>
131
127
  <NavBarItemPip />
@@ -197,9 +193,7 @@ export const WithVirtualKeyboard: Story = {
197
193
  </NavBarItem>
198
194
  <NavBarItem active={true}>
199
195
  <NavBarItemIconWrapper>
200
- <NavBarItemIcon asChild>
201
- <Icon name="book" />
202
- </NavBarItemIcon>
196
+ <NavBarItemIcon render={<Avatar name="Grant Forrest" />} />
203
197
  </NavBarItemIconWrapper>
204
198
  <NavBarItemText>Item 2</NavBarItemText>
205
199
  <NavBarItemPip />
@@ -1,5 +1,9 @@
1
- import * as Dialog from '@radix-ui/react-dialog';
2
- import { ReactNode } from 'react';
1
+ import {
2
+ Dialog,
3
+ DialogCloseProps,
4
+ DialogPopupProps,
5
+ } from '@base-ui/react/dialog';
6
+ import { ReactElement, ReactNode } from 'react';
3
7
  import { withClassName } from '../../hooks.js';
4
8
  import { Button } from '../button/Button.js';
5
9
  import { Icon } from '../icon/Icon.js';
@@ -18,23 +22,27 @@ export const LightboxPortal = Dialog.Portal;
18
22
  export const LightboxTitle = () => (
19
23
  <Dialog.Title className="sr-only">Lightbox</Dialog.Title>
20
24
  );
21
- export const LightboxClose = (props: Dialog.DialogCloseProps) => (
22
- <Dialog.Close {...props} asChild className="absolute top-md right-md">
23
- <Button aria-label="Close">
24
- <Icon name="x" />
25
- </Button>
26
- </Dialog.Close>
25
+ export const LightboxClose = (props: DialogCloseProps) => (
26
+ <Dialog.Close
27
+ {...props}
28
+ render={
29
+ <Button aria-label="Close">
30
+ <Icon name="x" />
31
+ </Button>
32
+ }
33
+ className="absolute top-md right-md"
34
+ />
27
35
  );
28
36
 
29
37
  export const LightboxOverlay = withClassName(
30
- Dialog.Overlay,
38
+ Dialog.Backdrop,
31
39
  'layer-components:(fixed inset-0 bg-black/50 backdrop-blur-sm z-backdrop)',
32
40
  'transform-gpu !motion-reduce:animate-none',
33
41
  'layer-components:[&[data-state=closed]]:animate-fade-out layer-components:(animate-fade-in animate-duration-200)',
34
42
  );
35
43
 
36
44
  export const LightboxContentRoot = withClassName(
37
- Dialog.Content,
45
+ Dialog.Popup,
38
46
  'layer-components:(fixed z-dialog bg-none border-none p-lg w-full h-full max-w-full max-h-full flex items-center justify-center)',
39
47
  'transform-gpu !motion-reduce:animate-none',
40
48
  'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-h-85vh)',
@@ -42,7 +50,7 @@ export const LightboxContentRoot = withClassName(
42
50
  'layer-components:[&[data-state=closed]]:animate-dialog-out',
43
51
  '!pointer-events-none',
44
52
  );
45
- export const LightboxContent = (props: Dialog.DialogContentProps) => {
53
+ export const LightboxContent = (props: DialogPopupProps) => {
46
54
  return (
47
55
  <LightboxContentRoot {...props}>
48
56
  <LightboxTitle />
@@ -58,10 +66,14 @@ const LightboxContentInner = withClassName(
58
66
  'layer-components:pointer-events-none layer-components:[&>*]:pointer-events-auto',
59
67
  );
60
68
 
61
- function LightboxDefault({ children }: LightboxProps) {
69
+ function LightboxDefault({
70
+ children,
71
+ }: Omit<LightboxProps, 'children'> & {
72
+ children?: ReactElement;
73
+ }) {
62
74
  return (
63
75
  <Dialog.Root>
64
- <Dialog.Trigger asChild>{children}</Dialog.Trigger>
76
+ <Dialog.Trigger render={children}></Dialog.Trigger>
65
77
  <Dialog.Portal>
66
78
  <LightboxOverlay />
67
79
  <LightboxContent>{children}</LightboxContent>
@@ -24,9 +24,11 @@ export const Default: Story = {
24
24
  <Marquee.Item className="flex items-center justify-center bg-primary-wash color-primary-dark text-lg">
25
25
  Hello, world
26
26
  </Marquee.Item>
27
- <Marquee.Item asChild>
28
- <img src="https://resources.biscuits.club/images/pashka.jpg" />
29
- </Marquee.Item>
27
+ <Marquee.Item
28
+ render={
29
+ <img src="https://resources.biscuits.club/images/pashka.jpg" />
30
+ }
31
+ />
30
32
  </Marquee>
31
33
  );
32
34
  },
@@ -1,6 +1,7 @@
1
- import { Slot } from '@radix-ui/react-slot';
1
+ import { Button } from '@base-ui/react/button';
2
+ import { UseRenderComponentProps } from '@base-ui/react/use-render';
2
3
  import classNames, { clsx } from 'clsx';
3
- import { ReactNode, Ref } from 'react';
4
+ import { ReactElement, ReactNode, Ref } from 'react';
4
5
  import { withClassName } from '../../hooks.js';
5
6
  import { Icon, IconProps } from '../icon/index.js';
6
7
 
@@ -13,17 +14,16 @@ export const navBarItemClass = classNames(
13
14
  'layer-responsive:md:(flex-row-reverse h-auto justify-start gap-2 overflow-visible active:bg-darken-2)',
14
15
  );
15
16
 
16
- export interface NavBarItemProps {
17
- asChild?: boolean;
17
+ export interface NavBarItemProps extends UseRenderComponentProps<'button'> {
18
18
  className?: string;
19
19
  children?: ReactNode;
20
20
  active?: boolean;
21
21
  color?: 'primary' | 'gray';
22
+ render?: ReactElement | (() => ReactElement);
22
23
  }
23
24
 
24
25
  export const NavBarItem = function NavBarItem({
25
26
  ref,
26
- asChild,
27
27
  className,
28
28
  active,
29
29
  color = 'primary',
@@ -31,10 +31,8 @@ export const NavBarItem = function NavBarItem({
31
31
  }: NavBarItemProps & {
32
32
  ref?: React.Ref<HTMLButtonElement>;
33
33
  }) {
34
- const Comp = asChild ? Slot : 'button';
35
-
36
34
  return (
37
- <Comp
35
+ <Button
38
36
  ref={ref}
39
37
  className={classNames(navBarItemClass, `palette-${color}`, className)}
40
38
  data-active={active}
@@ -55,8 +53,7 @@ export const NavBarItemText = withClassName(
55
53
  'layer-components:(overflow-hidden inline-block text-xxs whitespace-nowrap text-ellipsis) layer-components:md:(text-md leading-normal)',
56
54
  );
57
55
 
58
- interface NavBarItemIconProps {
59
- asChild?: boolean;
56
+ interface NavBarItemIconProps extends Omit<IconProps, 'name'> {
60
57
  name?: IconProps['name'];
61
58
  className?: string;
62
59
  children?: ReactNode;
@@ -64,15 +61,12 @@ interface NavBarItemIconProps {
64
61
  }
65
62
  export const NavBarItemIcon = function NavBarItemIcon({
66
63
  ref,
67
- children,
68
- asChild,
69
64
  className,
70
65
  name = 'placeholder',
71
66
  ...rest
72
67
  }: NavBarItemIconProps) {
73
- const Comp = asChild ? Slot : Icon;
74
68
  return (
75
- <Comp
69
+ <Icon
76
70
  name={name}
77
71
  className={clsx(
78
72
  'layer-components:(relative z-1 flex color-inherit)',
@@ -81,9 +75,7 @@ export const NavBarItemIcon = function NavBarItemIcon({
81
75
  )}
82
76
  {...rest}
83
77
  ref={ref}
84
- >
85
- {children}
86
- </Comp>
78
+ />
87
79
  );
88
80
  };
89
81
 
@@ -2,14 +2,14 @@ import type { Meta, StoryObj } from '@storybook/react';
2
2
  import { Button } from '../button/Button.js';
3
3
  import { Popover } from './Popover.js';
4
4
 
5
- const meta = {
5
+ const meta: Meta = {
6
6
  title: 'Components/Popover',
7
7
  component: Popover,
8
8
  argTypes: {},
9
9
  parameters: {
10
10
  controls: { expanded: true },
11
11
  },
12
- } satisfies Meta<typeof Popover>;
12
+ };
13
13
 
14
14
  export default meta;
15
15
 
@@ -19,14 +19,13 @@ export const Default: Story = {
19
19
  render(args) {
20
20
  return (
21
21
  <Popover {...args}>
22
- <Popover.Trigger asChild>
23
- <Button color="primary" size="small">
24
- Open Popover
25
- </Button>
22
+ <Popover.Trigger render={<Button color="primary" size="small" />}>
23
+ Open Popover
26
24
  </Popover.Trigger>
27
25
  <Popover.Content className="p-md">
28
26
  <Popover.Arrow />
29
- <p>This is a popover content.</p>
27
+ <Popover.Title>Hello</Popover.Title>
28
+ <Popover.Description>This is a popover content.</Popover.Description>
30
29
  </Popover.Content>
31
30
  </Popover>
32
31
  );
@@ -1,28 +1,36 @@
1
- 'use client';
2
-
3
- import * as PopoverPrimitive from '@radix-ui/react-popover';
1
+ import {
2
+ PopoverPopupProps,
3
+ PopoverPositionerProps,
4
+ Popover as PopoverPrimitive,
5
+ } from '@base-ui/react/popover';
4
6
 
7
+ import { MenuArrowProps } from '@base-ui/react/menu';
5
8
  import classNames from 'clsx';
6
9
  import { Ref } from 'react';
7
10
  import { withClassName } from '../../hooks/withClassName.js';
8
11
  import { GroupScaleReset } from '../../systems/GroupScale.js';
12
+ import { ArrowSvg } from '../utility/ArrowSvg.js';
9
13
 
10
14
  const StyledContent = withClassName(
11
- PopoverPrimitive.Content,
12
- 'layer-components:(rounded-xl min-w-120px bg-white z-menu shadow-lg op-0 hidden max-w-90vw border border-gray-dark)',
15
+ PopoverPrimitive.Popup,
16
+ 'layer-components:(rounded-lg min-w-120px bg-white shadow-lg max-w-90vw border border-black transition)',
13
17
  'will-change-transform',
14
- 'layer-components:transform-origin-[var(--radix-popover-transform-origin)]',
15
- 'layer-components:[&[data-state=open]]:animate-popover-in',
16
- 'layer-components:[&[data-state=closed]]:animate-popover-out',
17
- 'important:motion-reduce:animate-none',
18
- 'layer-components:(max-h-[var(--radix-popover-content-available-height)])',
19
- 'layer-components:[&[data-state=open]]:(opacity-100 flex flex-col)',
20
- 'layer-components:[&[data-state=closed]]:pointer-events-none',
18
+ 'layer-components:transform-origin-[var(--transform-origin)]',
19
+ 'layer-components:data-[starting-style]:(opacity-0 scale-95 translate-y-4px)',
20
+ 'layer-components:data-[ending-style]:(opacity-0 scale-95 translate-y-4px)',
21
+ 'important:motion-reduce:transition-none',
22
+ 'layer-components:(max-h-[--available-height] max-w-[--available-width])',
21
23
  );
22
24
 
23
25
  const StyledArrow = withClassName(
24
- PopoverPrimitive.Arrow,
26
+ (props: MenuArrowProps) => (
27
+ <PopoverPrimitive.Arrow {...props}>
28
+ <ArrowSvg />
29
+ </PopoverPrimitive.Arrow>
30
+ ),
25
31
  'layer-components:(arrow)',
32
+ 'layer-components:data-[closed]:(opacity-0 scale-0)',
33
+ 'layer-components:data-[open]:(opacity-100 scale-100)',
26
34
  );
27
35
 
28
36
  const StyledClose = withClassName(
@@ -35,7 +43,7 @@ export const PopoverRoot = PopoverPrimitive.Root;
35
43
  export const PopoverTrigger = PopoverPrimitive.Trigger;
36
44
  export const PopoverArrow = StyledArrow;
37
45
  export const PopoverClose = StyledClose;
38
- export const PopoverAnchor = PopoverPrimitive.Anchor;
46
+ export const PopoverAnchor = PopoverPrimitive.Handle;
39
47
 
40
48
  export const PopoverContent = function PopoverContent({
41
49
  ref,
@@ -45,43 +53,83 @@ export const PopoverContent = function PopoverContent({
45
53
  className,
46
54
  radius = 'default',
47
55
  padding = 'default',
56
+ align,
57
+ alignOffset,
58
+ side,
59
+ sideOffset = 8,
60
+ anchor,
61
+ disableAnchorTracking,
62
+ sticky,
63
+ arrowPadding,
64
+ collisionAvoidance,
65
+ collisionBoundary,
66
+ collisionPadding,
67
+ positionMethod,
48
68
  ...props
49
- }: PopoverPrimitive.PopoverContentProps & {
50
- radius?: 'none' | 'default' | 'md';
51
- padding?: 'none' | 'default';
52
- forceMount?: boolean;
53
- disableBlur?: boolean;
54
- ref?: Ref<HTMLDivElement>;
55
- }) {
69
+ }: PopoverPopupProps &
70
+ PopoverPositionerProps & {
71
+ radius?: 'none' | 'default' | 'md';
72
+ padding?: 'none' | 'default';
73
+ forceMount?: boolean;
74
+ disableBlur?: boolean;
75
+ ref?: Ref<HTMLDivElement>;
76
+ }) {
56
77
  return (
57
- <PopoverPrimitive.Portal forceMount={forceMount}>
78
+ <PopoverPrimitive.Portal keepMounted={forceMount}>
58
79
  <GroupScaleReset>
59
- <StyledContent
60
- {...props}
61
- forceMount={forceMount}
62
- ref={ref}
63
- className={classNames(
64
- {
65
- 'layer-variants:important:p-0': padding === 'none',
66
- 'layer-variants:p-5': padding === 'default',
67
- 'layer-variants:rounded-none': radius === 'none',
68
- 'layer-variants:rounded-lg': radius === 'default',
69
- 'layer-variants:rounded-md': radius === 'md',
70
- },
71
- className,
72
- )}
80
+ <PopoverPrimitive.Positioner
81
+ side={side}
82
+ sideOffset={sideOffset}
83
+ align={align}
84
+ alignOffset={alignOffset}
85
+ anchor={anchor}
86
+ disableAnchorTracking={disableAnchorTracking}
87
+ sticky={sticky}
88
+ arrowPadding={arrowPadding}
89
+ collisionAvoidance={collisionAvoidance}
90
+ collisionBoundary={collisionBoundary}
91
+ collisionPadding={collisionPadding}
92
+ positionMethod={positionMethod}
73
93
  >
74
- {children}
75
- </StyledContent>
94
+ <StyledContent
95
+ {...props}
96
+ ref={ref}
97
+ className={classNames(
98
+ {
99
+ 'layer-variants:important:p-0': padding === 'none',
100
+ 'layer-variants:p-md': padding === 'default',
101
+ 'layer-variants:rounded-none': radius === 'none',
102
+ 'layer-variants:rounded-lg': radius === 'default',
103
+ 'layer-variants:rounded-md': radius === 'md',
104
+ },
105
+ className,
106
+ )}
107
+ >
108
+ {children}
109
+ </StyledContent>
110
+ </PopoverPrimitive.Positioner>
76
111
  </GroupScaleReset>
77
112
  </PopoverPrimitive.Portal>
78
113
  );
79
114
  };
80
115
 
116
+ export const PopoverTitle = withClassName(
117
+ PopoverPrimitive.Title,
118
+ 'layer-components:(text-md font-semibold m-0 mb-sm)',
119
+ );
120
+
121
+ export const PopoverDescription = withClassName(
122
+ PopoverPrimitive.Description,
123
+ 'layer-components:(text-sm text-gray-dark m-0)',
124
+ );
125
+
81
126
  export const Popover = Object.assign(PopoverRoot, {
82
127
  Content: PopoverContent,
83
128
  Arrow: PopoverArrow,
84
129
  Close: PopoverClose,
85
130
  Trigger: PopoverTrigger,
86
131
  Anchor: PopoverAnchor,
132
+ Title: PopoverTitle,
133
+ Description: PopoverDescription,
134
+ createHandle: PopoverPrimitive.createHandle,
87
135
  });
@@ -18,9 +18,21 @@ export const Default: Story = {
18
18
  render(args) {
19
19
  return (
20
20
  <div className="col">
21
- <Progress {...args} value={5} max={10} />
22
- <Progress {...args} value={10} max={10} />
23
- <Progress {...args} value={0} max={10} />
21
+ <Progress {...args} value={50} max={100} />
22
+ <Progress {...args} value={100} max={100} />
23
+ <Progress {...args} value={0} max={100} />
24
+ </div>
25
+ );
26
+ },
27
+ };
28
+
29
+ export const Labeled: Story = {
30
+ render(args) {
31
+ return (
32
+ <div className="col gap-10px">
33
+ <Progress.Labeled {...args} value={33} max={100} label="Loading..." />
34
+ <Progress.Labeled {...args} value={100} max={100} label="Complete" />
35
+ <Progress.Labeled {...args} value={0} max={100} label="Starting..." />
24
36
  </div>
25
37
  );
26
38
  },
@@ -1,16 +1,24 @@
1
- import * as ProgressPrimitive from '@radix-ui/react-progress';
1
+ import {
2
+ Progress as ProgressPrimitive,
3
+ ProgressRootProps,
4
+ ProgressValueProps,
5
+ } from '@base-ui/react/progress';
2
6
  import clsx from 'clsx';
3
7
  import { withClassName } from '../../hooks.js';
4
8
  import { PaletteName } from '../../uno/index.js';
5
9
 
6
10
  export const ProgressRoot = withClassName(
7
11
  ProgressPrimitive.Root,
8
- 'layer-components:(w-full relative overflow-hidden border border-default rounded-lg)',
12
+ 'layer-components:(grid grid-columns-[1fr_1fr] gap-col-md gap-row-xs items-center w-full)',
9
13
  );
10
14
  export const ProgressIndicator = withClassName(
11
15
  ProgressPrimitive.Indicator,
12
- 'layer-components:(bg-main w-full h-6px translate-x-[calc(-100%*(1-var(--value)))] rounded-lg transition-transform)',
13
- 'layer-components:[&[data-state=complete]]:(bg-success)',
16
+ 'layer-components:(bg-main w-full h-full rounded-lg transition-transform)',
17
+ 'layer-components:data-[complete]:(bg-success)',
18
+ );
19
+ export const ProgressTrack = withClassName(
20
+ ProgressPrimitive.Track,
21
+ 'layer-components:(w-full relative overflow-hidden ring ring-black ring-1 rounded-lg h-6px)',
14
22
  );
15
23
 
16
24
  const ProgressBase = function ProgressBase({
@@ -21,22 +29,64 @@ const ProgressBase = function ProgressBase({
21
29
  value,
22
30
  className,
23
31
  ...props
24
- }: ProgressPrimitive.ProgressProps & {
32
+ }: ProgressRootProps & {
25
33
  ref?: React.Ref<HTMLDivElement>;
26
34
  color?: PaletteName;
27
35
  }) {
28
36
  return (
29
- <ProgressRoot
37
+ <ProgressPrimitive.Root
30
38
  {...props}
31
- className={clsx(color && `palette-${color}`, className)}
39
+ className={clsx(
40
+ color && `palette-${color}`,
41
+ 'layer-components:w-full',
42
+ className,
43
+ )}
32
44
  value={value}
33
45
  max={max}
34
46
  ref={ref}
35
47
  >
36
- <ProgressIndicator
37
- // @ts-ignore
38
- style={{ '--value': (value || 0) / max }}
39
- />
48
+ <ProgressTrack>
49
+ <ProgressIndicator />
50
+ </ProgressTrack>
51
+ </ProgressPrimitive.Root>
52
+ );
53
+ };
54
+
55
+ const ProgressLabel = withClassName(
56
+ ProgressPrimitive.Label,
57
+ 'layer-components:(font-size-xs color-gray-ink col-start-1 row-start-1)',
58
+ );
59
+
60
+ const ProgressValue = withClassName(
61
+ ProgressPrimitive.Value,
62
+ 'layer-components:(font-size-xs font-semibold color-gray-ink col-start-2 row-start-1 justify-self-end)',
63
+ );
64
+
65
+ export const ProgressLabeled = function ProgressLabeled({
66
+ ref,
67
+ children,
68
+ label,
69
+ className,
70
+ color,
71
+ formatValue,
72
+ ...props
73
+ }: ProgressRootProps & {
74
+ ref?: React.Ref<HTMLDivElement>;
75
+ label: React.ReactNode;
76
+ color?: PaletteName;
77
+ formatValue?: ProgressValueProps['children'];
78
+ }) {
79
+ return (
80
+ <ProgressRoot
81
+ ref={ref}
82
+ className={clsx(color && `palette-${color}`, className)}
83
+ {...props}
84
+ >
85
+ <ProgressLabel>{label}</ProgressLabel>
86
+ <ProgressValue>{formatValue}</ProgressValue>
87
+ <ProgressTrack className="col-span-2">
88
+ <ProgressIndicator />
89
+ </ProgressTrack>
40
90
  </ProgressRoot>
41
91
  );
42
92
  };
@@ -44,4 +94,8 @@ const ProgressBase = function ProgressBase({
44
94
  export const Progress = Object.assign(ProgressBase, {
45
95
  Root: ProgressRoot,
46
96
  Indicator: ProgressIndicator,
97
+ Track: ProgressTrack,
98
+ Labeled: ProgressLabeled,
99
+ Label: ProgressLabel,
100
+ Value: ProgressValue,
47
101
  });