@a-type/ui 4.0.8 → 4.1.0-beta.2

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 (386) hide show
  1. package/dist/cjs/colors.stories.js +2 -2
  2. package/dist/cjs/components/actions/ActionBar.js +1 -1
  3. package/dist/cjs/components/actions/ActionBar.js.map +1 -1
  4. package/dist/cjs/components/actions/ActionButton.js +1 -1
  5. package/dist/cjs/components/autocomplete/Autocomplete.d.ts +112 -0
  6. package/dist/cjs/components/autocomplete/Autocomplete.js +119 -0
  7. package/dist/cjs/components/autocomplete/Autocomplete.js.map +1 -0
  8. package/dist/cjs/components/autocomplete/Autocomplete.stories.d.ts +52 -0
  9. package/dist/cjs/components/autocomplete/Autocomplete.stories.js +93 -0
  10. package/dist/cjs/components/autocomplete/Autocomplete.stories.js.map +1 -0
  11. package/dist/cjs/components/avatar/Avatar.js +2 -2
  12. package/dist/cjs/components/box/Box.js +5 -5
  13. package/dist/cjs/components/box/Box.stories.js +1 -1
  14. package/dist/cjs/components/button/Button.js +2 -2
  15. package/dist/cjs/components/button/ConfirmedButton.js +1 -1
  16. package/dist/cjs/components/button/ConfirmedButton.js.map +1 -1
  17. package/dist/cjs/components/button/classes.js +10 -10
  18. package/dist/cjs/components/camera/Camera.d.ts +3 -2
  19. package/dist/cjs/components/camera/Camera.js +44 -13
  20. package/dist/cjs/components/camera/Camera.js.map +1 -1
  21. package/dist/cjs/components/camera/Camera.stories.d.ts +1 -1
  22. package/dist/cjs/components/camera/Camera.stories.js +1 -1
  23. package/dist/cjs/components/card/Card.js +2 -2
  24. package/dist/cjs/components/card/Card.stories.js +2 -2
  25. package/dist/cjs/components/card/Card.stories.js.map +1 -1
  26. package/dist/cjs/components/checkbox/Checkbox.js +3 -3
  27. package/dist/cjs/components/chip/Chip.d.ts +3 -4
  28. package/dist/cjs/components/chip/Chip.js +1 -1
  29. package/dist/cjs/components/chip/Chip.js.map +1 -1
  30. package/dist/cjs/components/chip/Chip.stories.js +1 -1
  31. package/dist/cjs/components/chip/Chip.stories.js.map +1 -1
  32. package/dist/cjs/components/colorPicker/ColorPicker.js +1 -1
  33. package/dist/cjs/components/contextMenu/contextMenu.js +1 -1
  34. package/dist/cjs/components/datePicker/DatePicker.d.ts +1 -1
  35. package/dist/cjs/components/datePicker/DatePicker.js +2 -2
  36. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  37. package/dist/cjs/components/datePicker/DatePicker.stories.d.ts +1 -1
  38. package/dist/cjs/components/dialog/Dialog.d.ts +4 -4
  39. package/dist/cjs/components/dialog/Dialog.js +15 -15
  40. package/dist/cjs/components/dialog/Dialog.js.map +1 -1
  41. package/dist/cjs/components/dialog/Dialog.stories.d.ts +2 -2
  42. package/dist/cjs/components/dialog/Dialog.stories.js +3 -3
  43. package/dist/cjs/components/dropdownMenu/DropdownMenu.js +11 -44
  44. package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
  45. package/dist/cjs/components/editableText/EditableText.js +1 -1
  46. package/dist/cjs/components/emojiPicker/EmojiPicker.js +4 -4
  47. package/dist/cjs/components/emojiPicker/EmojiPicker.js.map +1 -1
  48. package/dist/cjs/components/forms/CheckboxField.js +1 -1
  49. package/dist/cjs/components/forms/CheckboxField.js.map +1 -1
  50. package/dist/cjs/components/forms/EmojiField.js +1 -1
  51. package/dist/cjs/components/forms/FormikForm.stories.js +1 -1
  52. package/dist/cjs/components/forms/FormikForm.stories.js.map +1 -1
  53. package/dist/cjs/components/forms/NumberStepperField.d.ts +1 -2
  54. package/dist/cjs/components/forms/NumberStepperField.js +1 -1
  55. package/dist/cjs/components/forms/NumberStepperField.js.map +1 -1
  56. package/dist/cjs/components/forms/SwitchField.js +1 -1
  57. package/dist/cjs/components/forms/SwitchField.js.map +1 -1
  58. package/dist/cjs/components/forms/ToggleGroupField.js +1 -1
  59. package/dist/cjs/components/forms/ToggleGroupField.js.map +1 -1
  60. package/dist/cjs/components/horizontalList/HorizontalList.js +2 -2
  61. package/dist/cjs/components/horizontalList/HorizontalList.stories.js +3 -3
  62. package/dist/cjs/components/icon/Icon.stories.js +1 -1
  63. package/dist/cjs/components/imageUploader/ImageUploader.js +6 -6
  64. package/dist/cjs/components/imageUploader/ImageUploader.stories.js +1 -1
  65. package/dist/cjs/components/index.d.ts +2 -0
  66. package/dist/cjs/components/index.js +2 -0
  67. package/dist/cjs/components/index.js.map +1 -1
  68. package/dist/cjs/components/input/Input.d.ts +7 -2
  69. package/dist/cjs/components/input/Input.js +26 -12
  70. package/dist/cjs/components/input/Input.js.map +1 -1
  71. package/dist/cjs/components/input/Input.stories.d.ts +5 -1
  72. package/dist/cjs/components/input/Input.stories.js +6 -2
  73. package/dist/cjs/components/input/Input.stories.js.map +1 -1
  74. package/dist/cjs/components/layouts/PageContent.js +1 -1
  75. package/dist/cjs/components/layouts/PageContent.js.map +1 -1
  76. package/dist/cjs/components/layouts/PageFixedArea.js +1 -1
  77. package/dist/cjs/components/layouts/PageNav.js +1 -1
  78. package/dist/cjs/components/layouts/PageNowPlaying.d.ts +1 -2
  79. package/dist/cjs/components/layouts/PageNowPlaying.js +3 -5
  80. package/dist/cjs/components/layouts/PageNowPlaying.js.map +1 -1
  81. package/dist/cjs/components/layouts/PageRoot.js +1 -1
  82. package/dist/cjs/components/layouts/layouts.stories.js +2 -2
  83. package/dist/cjs/components/lightbox/Lightbox.js +1 -1
  84. package/dist/cjs/components/marquee/marquee.js +1 -1
  85. package/dist/cjs/components/marquee/marquee.stories.js +1 -1
  86. package/dist/cjs/components/navBar/NavBar.js +1 -1
  87. package/dist/cjs/components/note/Note.js +1 -1
  88. package/dist/cjs/components/numberStepper/NumberStepper.js +3 -3
  89. package/dist/cjs/components/particles/ParticleLayer.js +1 -1
  90. package/dist/cjs/components/particles/ParticleLayer.stories.js +2 -2
  91. package/dist/cjs/components/particles/particlesState.js +2 -4
  92. package/dist/cjs/components/particles/particlesState.js.map +1 -1
  93. package/dist/cjs/components/peek/Peek.js +2 -2
  94. package/dist/cjs/components/popover/Popover.d.ts +2 -4
  95. package/dist/cjs/components/popover/Popover.js +7 -6
  96. package/dist/cjs/components/popover/Popover.js.map +1 -1
  97. package/dist/cjs/components/primitives/menus.d.ts +5 -0
  98. package/dist/cjs/components/primitives/menus.js +14 -0
  99. package/dist/cjs/components/primitives/menus.js.map +1 -0
  100. package/dist/cjs/components/progress/Progress.d.ts +2 -2
  101. package/dist/cjs/components/progress/Progress.js +2 -2
  102. package/dist/cjs/components/progress/Progress.js.map +1 -1
  103. package/dist/cjs/components/progress/Progress.stories.d.ts +1 -1
  104. package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +2 -2
  105. package/dist/cjs/components/pwaInstall/PwaInstall.js +2 -2
  106. package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -1
  107. package/dist/cjs/components/quickAction/QuickAction.d.ts +17 -0
  108. package/dist/cjs/components/quickAction/QuickAction.js +63 -0
  109. package/dist/cjs/components/quickAction/QuickAction.js.map +1 -0
  110. package/dist/cjs/components/quickAction/QuickAction.stories.d.ts +22 -0
  111. package/dist/cjs/components/quickAction/QuickAction.stories.js +61 -0
  112. package/dist/cjs/components/quickAction/QuickAction.stories.js.map +1 -0
  113. package/dist/cjs/components/richEditor/index.js +2 -2
  114. package/dist/cjs/components/richEditor/index.js.map +1 -1
  115. package/dist/cjs/components/scrollArea/ScrollArea.stories.js +1 -1
  116. package/dist/cjs/components/select/Select.js +3 -3
  117. package/dist/cjs/components/select/Select.js.map +1 -1
  118. package/dist/cjs/components/select/Select.stories.js +1 -1
  119. package/dist/cjs/components/select/Select.stories.js.map +1 -1
  120. package/dist/cjs/components/skeletons/skeletons.js +1 -1
  121. package/dist/cjs/components/slider/Slider.d.ts +1 -2
  122. package/dist/cjs/components/slider/Slider.js +1 -2
  123. package/dist/cjs/components/slider/Slider.js.map +1 -1
  124. package/dist/cjs/components/slider/Slider.stories.d.ts +1 -1
  125. package/dist/cjs/components/slider/Slider.stories.js +1 -1
  126. package/dist/cjs/components/spinner/Spinner.js +2 -2
  127. package/dist/cjs/components/textArea/TextArea.js +1 -1
  128. package/dist/cjs/components/toasts/toasts.js +5 -5
  129. package/dist/cjs/components/tooltip/Tooltip.js +4 -4
  130. package/dist/cjs/components/viewport/Viewport.js +3 -3
  131. package/dist/cjs/components/viewport/ViewportContent.js +1 -1
  132. package/dist/cjs/components/viewport/useViewportGestures.js +2 -1
  133. package/dist/cjs/components/viewport/useViewportGestures.js.map +1 -1
  134. package/dist/cjs/hooks/useStorage.js +4 -4
  135. package/dist/cjs/hooks/useStorage.js.map +1 -1
  136. package/dist/cjs/hooks/useTitleBarColor.js +1 -1
  137. package/dist/cjs/hooks/useTitleBarColor.stories.js +1 -1
  138. package/dist/cjs/hooks/withProps.d.ts +2 -2
  139. package/dist/cjs/systems/inputs.d.ts +3 -0
  140. package/dist/cjs/systems/inputs.js +14 -0
  141. package/dist/cjs/systems/inputs.js.map +1 -0
  142. package/dist/cjs/themes.stories.js +1 -1
  143. package/dist/cjs/uno/logic/color.js +0 -9
  144. package/dist/cjs/uno/logic/color.js.map +1 -1
  145. package/dist/cjs/uno/preflights/layers.js +1 -1
  146. package/dist/cjs/uno/preflights/layers.js.map +1 -1
  147. package/dist/cjs/uno/rules/color.js +10 -10
  148. package/dist/cjs/uno/rules/color.js.map +1 -1
  149. package/dist/cjs/utilities.stories.js +1 -1
  150. package/dist/css/main.css +7 -6
  151. package/dist/esm/colors.stories.js +2 -2
  152. package/dist/esm/components/actions/ActionBar.js +1 -1
  153. package/dist/esm/components/actions/ActionBar.js.map +1 -1
  154. package/dist/esm/components/actions/ActionButton.js +1 -1
  155. package/dist/esm/components/autocomplete/Autocomplete.d.ts +112 -0
  156. package/dist/esm/components/autocomplete/Autocomplete.js +113 -0
  157. package/dist/esm/components/autocomplete/Autocomplete.js.map +1 -0
  158. package/dist/esm/components/autocomplete/Autocomplete.stories.d.ts +52 -0
  159. package/dist/esm/components/autocomplete/Autocomplete.stories.js +90 -0
  160. package/dist/esm/components/autocomplete/Autocomplete.stories.js.map +1 -0
  161. package/dist/esm/components/avatar/Avatar.js +2 -2
  162. package/dist/esm/components/box/Box.js +5 -5
  163. package/dist/esm/components/box/Box.stories.js +1 -1
  164. package/dist/esm/components/button/Button.js +2 -2
  165. package/dist/esm/components/button/ConfirmedButton.js +1 -1
  166. package/dist/esm/components/button/ConfirmedButton.js.map +1 -1
  167. package/dist/esm/components/button/classes.js +10 -10
  168. package/dist/esm/components/camera/Camera.d.ts +3 -2
  169. package/dist/esm/components/camera/Camera.js +11 -10
  170. package/dist/esm/components/camera/Camera.js.map +1 -1
  171. package/dist/esm/components/camera/Camera.stories.d.ts +1 -1
  172. package/dist/esm/components/camera/Camera.stories.js +1 -1
  173. package/dist/esm/components/card/Card.js +2 -2
  174. package/dist/esm/components/card/Card.stories.js +2 -2
  175. package/dist/esm/components/card/Card.stories.js.map +1 -1
  176. package/dist/esm/components/checkbox/Checkbox.js +3 -3
  177. package/dist/esm/components/chip/Chip.d.ts +3 -4
  178. package/dist/esm/components/chip/Chip.js +1 -1
  179. package/dist/esm/components/chip/Chip.js.map +1 -1
  180. package/dist/esm/components/chip/Chip.stories.js +1 -1
  181. package/dist/esm/components/chip/Chip.stories.js.map +1 -1
  182. package/dist/esm/components/colorPicker/ColorPicker.js +1 -1
  183. package/dist/esm/components/contextMenu/contextMenu.js +1 -1
  184. package/dist/esm/components/datePicker/DatePicker.d.ts +1 -1
  185. package/dist/esm/components/datePicker/DatePicker.js +2 -2
  186. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  187. package/dist/esm/components/datePicker/DatePicker.stories.d.ts +1 -1
  188. package/dist/esm/components/dialog/Dialog.d.ts +4 -4
  189. package/dist/esm/components/dialog/Dialog.js +15 -15
  190. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  191. package/dist/esm/components/dialog/Dialog.stories.d.ts +2 -2
  192. package/dist/esm/components/dialog/Dialog.stories.js +3 -3
  193. package/dist/esm/components/dropdownMenu/DropdownMenu.js +8 -8
  194. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  195. package/dist/esm/components/editableText/EditableText.js +1 -1
  196. package/dist/esm/components/emojiPicker/EmojiPicker.js +4 -4
  197. package/dist/esm/components/emojiPicker/EmojiPicker.js.map +1 -1
  198. package/dist/esm/components/forms/CheckboxField.js +1 -1
  199. package/dist/esm/components/forms/CheckboxField.js.map +1 -1
  200. package/dist/esm/components/forms/EmojiField.js +1 -1
  201. package/dist/esm/components/forms/FormikForm.stories.js +1 -1
  202. package/dist/esm/components/forms/FormikForm.stories.js.map +1 -1
  203. package/dist/esm/components/forms/NumberStepperField.d.ts +1 -2
  204. package/dist/esm/components/forms/NumberStepperField.js +1 -1
  205. package/dist/esm/components/forms/NumberStepperField.js.map +1 -1
  206. package/dist/esm/components/forms/SwitchField.js +1 -1
  207. package/dist/esm/components/forms/SwitchField.js.map +1 -1
  208. package/dist/esm/components/forms/ToggleGroupField.js +1 -1
  209. package/dist/esm/components/forms/ToggleGroupField.js.map +1 -1
  210. package/dist/esm/components/horizontalList/HorizontalList.js +2 -2
  211. package/dist/esm/components/horizontalList/HorizontalList.stories.js +3 -3
  212. package/dist/esm/components/icon/Icon.stories.js +1 -1
  213. package/dist/esm/components/imageUploader/ImageUploader.js +6 -6
  214. package/dist/esm/components/imageUploader/ImageUploader.stories.js +1 -1
  215. package/dist/esm/components/index.d.ts +2 -0
  216. package/dist/esm/components/index.js +2 -0
  217. package/dist/esm/components/index.js.map +1 -1
  218. package/dist/esm/components/input/Input.d.ts +7 -2
  219. package/dist/esm/components/input/Input.js +29 -14
  220. package/dist/esm/components/input/Input.js.map +1 -1
  221. package/dist/esm/components/input/Input.stories.d.ts +5 -1
  222. package/dist/esm/components/input/Input.stories.js +5 -1
  223. package/dist/esm/components/input/Input.stories.js.map +1 -1
  224. package/dist/esm/components/layouts/PageContent.js +1 -1
  225. package/dist/esm/components/layouts/PageContent.js.map +1 -1
  226. package/dist/esm/components/layouts/PageFixedArea.js +1 -1
  227. package/dist/esm/components/layouts/PageNav.js +1 -1
  228. package/dist/esm/components/layouts/PageNowPlaying.d.ts +1 -2
  229. package/dist/esm/components/layouts/PageNowPlaying.js +3 -5
  230. package/dist/esm/components/layouts/PageNowPlaying.js.map +1 -1
  231. package/dist/esm/components/layouts/PageRoot.js +1 -1
  232. package/dist/esm/components/layouts/layouts.stories.js +2 -2
  233. package/dist/esm/components/lightbox/Lightbox.js +1 -1
  234. package/dist/esm/components/marquee/marquee.js +1 -1
  235. package/dist/esm/components/marquee/marquee.stories.js +1 -1
  236. package/dist/esm/components/navBar/NavBar.js +1 -1
  237. package/dist/esm/components/note/Note.js +1 -1
  238. package/dist/esm/components/numberStepper/NumberStepper.js +3 -3
  239. package/dist/esm/components/particles/ParticleLayer.js +1 -1
  240. package/dist/esm/components/particles/ParticleLayer.stories.js +2 -2
  241. package/dist/esm/components/particles/particlesState.js +2 -4
  242. package/dist/esm/components/particles/particlesState.js.map +1 -1
  243. package/dist/esm/components/peek/Peek.js +2 -2
  244. package/dist/esm/components/popover/Popover.d.ts +2 -4
  245. package/dist/esm/components/popover/Popover.js +7 -6
  246. package/dist/esm/components/popover/Popover.js.map +1 -1
  247. package/dist/esm/components/primitives/menus.d.ts +5 -0
  248. package/dist/esm/components/primitives/menus.js +8 -0
  249. package/dist/esm/components/primitives/menus.js.map +1 -0
  250. package/dist/esm/components/progress/Progress.d.ts +2 -2
  251. package/dist/esm/components/progress/Progress.js +2 -2
  252. package/dist/esm/components/progress/Progress.js.map +1 -1
  253. package/dist/esm/components/progress/Progress.stories.d.ts +1 -1
  254. package/dist/esm/components/pwaInstall/PwaInstall.d.ts +2 -2
  255. package/dist/esm/components/pwaInstall/PwaInstall.js +2 -2
  256. package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -1
  257. package/dist/esm/components/quickAction/QuickAction.d.ts +17 -0
  258. package/dist/esm/components/quickAction/QuickAction.js +56 -0
  259. package/dist/esm/components/quickAction/QuickAction.js.map +1 -0
  260. package/dist/esm/components/quickAction/QuickAction.stories.d.ts +22 -0
  261. package/dist/esm/components/quickAction/QuickAction.stories.js +55 -0
  262. package/dist/esm/components/quickAction/QuickAction.stories.js.map +1 -0
  263. package/dist/esm/components/richEditor/index.js +2 -2
  264. package/dist/esm/components/richEditor/index.js.map +1 -1
  265. package/dist/esm/components/scrollArea/ScrollArea.stories.js +1 -1
  266. package/dist/esm/components/select/Select.js +3 -3
  267. package/dist/esm/components/select/Select.js.map +1 -1
  268. package/dist/esm/components/select/Select.stories.js +1 -1
  269. package/dist/esm/components/select/Select.stories.js.map +1 -1
  270. package/dist/esm/components/skeletons/skeletons.js +1 -1
  271. package/dist/esm/components/slider/Slider.d.ts +1 -2
  272. package/dist/esm/components/slider/Slider.js +1 -2
  273. package/dist/esm/components/slider/Slider.js.map +1 -1
  274. package/dist/esm/components/slider/Slider.stories.d.ts +1 -1
  275. package/dist/esm/components/slider/Slider.stories.js +1 -1
  276. package/dist/esm/components/spinner/Spinner.js +2 -2
  277. package/dist/esm/components/textArea/TextArea.js +1 -1
  278. package/dist/esm/components/toasts/toasts.js +5 -5
  279. package/dist/esm/components/tooltip/Tooltip.js +4 -4
  280. package/dist/esm/components/viewport/Viewport.js +3 -3
  281. package/dist/esm/components/viewport/ViewportContent.js +1 -1
  282. package/dist/esm/components/viewport/useViewportGestures.js +2 -1
  283. package/dist/esm/components/viewport/useViewportGestures.js.map +1 -1
  284. package/dist/esm/hooks/useStorage.js +4 -4
  285. package/dist/esm/hooks/useStorage.js.map +1 -1
  286. package/dist/esm/hooks/useTitleBarColor.js +1 -1
  287. package/dist/esm/hooks/useTitleBarColor.stories.js +1 -1
  288. package/dist/esm/hooks/withProps.d.ts +2 -2
  289. package/dist/esm/systems/inputs.d.ts +3 -0
  290. package/dist/esm/systems/inputs.js +11 -0
  291. package/dist/esm/systems/inputs.js.map +1 -0
  292. package/dist/esm/themes.stories.js +1 -1
  293. package/dist/esm/uno/logic/color.js +0 -9
  294. package/dist/esm/uno/logic/color.js.map +1 -1
  295. package/dist/esm/uno/preflights/layers.js +1 -1
  296. package/dist/esm/uno/preflights/layers.js.map +1 -1
  297. package/dist/esm/uno/rules/color.js +10 -10
  298. package/dist/esm/uno/rules/color.js.map +1 -1
  299. package/dist/esm/utilities.stories.js +1 -1
  300. package/package.json +18 -2
  301. package/src/colors.stories.tsx +11 -11
  302. package/src/components/actions/ActionBar.tsx +3 -3
  303. package/src/components/actions/ActionButton.tsx +1 -1
  304. package/src/components/autocomplete/Autocomplete.stories.tsx +212 -0
  305. package/src/components/autocomplete/Autocomplete.tsx +336 -0
  306. package/src/components/avatar/Avatar.tsx +3 -3
  307. package/src/components/box/Box.stories.tsx +1 -1
  308. package/src/components/box/Box.tsx +5 -5
  309. package/src/components/button/Button.tsx +3 -3
  310. package/src/components/button/ConfirmedButton.tsx +1 -1
  311. package/src/components/button/classes.tsx +18 -18
  312. package/src/components/camera/Camera.stories.tsx +1 -1
  313. package/src/components/camera/Camera.tsx +26 -13
  314. package/src/components/card/Card.stories.tsx +2 -8
  315. package/src/components/card/Card.tsx +5 -5
  316. package/src/components/checkbox/Checkbox.tsx +5 -5
  317. package/src/components/chip/Chip.stories.tsx +1 -4
  318. package/src/components/chip/Chip.tsx +6 -8
  319. package/src/components/colorPicker/ColorPicker.tsx +1 -1
  320. package/src/components/contextMenu/contextMenu.tsx +3 -3
  321. package/src/components/datePicker/DatePicker.tsx +3 -2
  322. package/src/components/dialog/Dialog.stories.tsx +3 -3
  323. package/src/components/dialog/Dialog.tsx +535 -537
  324. package/src/components/dropdownMenu/DropdownMenu.tsx +173 -190
  325. package/src/components/editableText/EditableText.tsx +2 -2
  326. package/src/components/emojiPicker/EmojiPicker.tsx +9 -4
  327. package/src/components/forms/CheckboxField.tsx +1 -1
  328. package/src/components/forms/EmojiField.tsx +1 -1
  329. package/src/components/forms/FormikForm.stories.tsx +1 -1
  330. package/src/components/forms/NumberStepperField.tsx +0 -2
  331. package/src/components/forms/SwitchField.tsx +1 -1
  332. package/src/components/forms/ToggleGroupField.tsx +1 -1
  333. package/src/components/horizontalList/HorizontalList.stories.tsx +8 -8
  334. package/src/components/horizontalList/HorizontalList.tsx +5 -5
  335. package/src/components/icon/Icon.stories.tsx +2 -2
  336. package/src/components/imageUploader/ImageUploader.stories.tsx +1 -1
  337. package/src/components/imageUploader/ImageUploader.tsx +6 -6
  338. package/src/components/index.ts +2 -0
  339. package/src/components/input/Input.stories.tsx +14 -1
  340. package/src/components/input/Input.tsx +107 -74
  341. package/src/components/layouts/PageContent.tsx +1 -1
  342. package/src/components/layouts/PageFixedArea.tsx +1 -1
  343. package/src/components/layouts/PageNav.tsx +3 -3
  344. package/src/components/layouts/PageNowPlaying.tsx +3 -7
  345. package/src/components/layouts/PageRoot.tsx +3 -3
  346. package/src/components/layouts/layouts.stories.tsx +3 -3
  347. package/src/components/lightbox/Lightbox.tsx +1 -1
  348. package/src/components/marquee/marquee.stories.tsx +1 -1
  349. package/src/components/marquee/marquee.tsx +2 -2
  350. package/src/components/navBar/NavBar.tsx +3 -3
  351. package/src/components/note/Note.tsx +6 -6
  352. package/src/components/numberStepper/NumberStepper.tsx +3 -3
  353. package/src/components/particles/ParticleLayer.stories.tsx +2 -2
  354. package/src/components/particles/ParticleLayer.tsx +1 -1
  355. package/src/components/particles/particlesState.ts +2 -4
  356. package/src/components/peek/Peek.tsx +4 -4
  357. package/src/components/popover/Popover.tsx +123 -134
  358. package/src/components/primitives/menus.tsx +44 -0
  359. package/src/components/progress/Progress.tsx +2 -2
  360. package/src/components/pwaInstall/PwaInstall.tsx +4 -4
  361. package/src/components/quickAction/QuickAction.stories.tsx +106 -0
  362. package/src/components/quickAction/QuickAction.tsx +107 -0
  363. package/src/components/richEditor/index.tsx +13 -13
  364. package/src/components/scrollArea/ScrollArea.stories.tsx +1 -1
  365. package/src/components/select/Select.stories.tsx +1 -1
  366. package/src/components/select/Select.tsx +20 -20
  367. package/src/components/skeletons/skeletons.tsx +1 -1
  368. package/src/components/slider/Slider.stories.tsx +1 -1
  369. package/src/components/slider/Slider.tsx +1 -2
  370. package/src/components/spinner/Spinner.tsx +3 -3
  371. package/src/components/textArea/TextArea.tsx +1 -1
  372. package/src/components/toasts/toasts.tsx +13 -13
  373. package/src/components/tooltip/Tooltip.tsx +6 -6
  374. package/src/components/viewport/Viewport.tsx +3 -3
  375. package/src/components/viewport/ViewportContent.tsx +1 -1
  376. package/src/components/viewport/useViewportGestures.ts +1 -1
  377. package/src/hooks/useStorage.ts +4 -4
  378. package/src/hooks/useTitleBarColor.stories.tsx +1 -1
  379. package/src/hooks/useTitleBarColor.ts +1 -1
  380. package/src/hooks/withProps.tsx +2 -2
  381. package/src/systems/inputs.ts +11 -0
  382. package/src/themes.stories.tsx +1 -1
  383. package/src/uno/logic/color.ts +0 -12
  384. package/src/uno/preflights/layers.ts +1 -1
  385. package/src/uno/rules/color.ts +10 -10
  386. package/src/utilities.stories.tsx +3 -3
@@ -0,0 +1,212 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { useState } from 'react';
3
+ import { Box } from '../box/Box.js';
4
+ import { Icon } from '../icon/Icon.js';
5
+ import { Autocomplete } from './Autocomplete.js';
6
+
7
+ interface Args {
8
+ arrow?: boolean;
9
+ autoHighlight?: boolean;
10
+ keepHighlight?: boolean;
11
+ highlightItemOnHover?: boolean;
12
+ }
13
+
14
+ const meta = {
15
+ title: 'Components/Autocomplete',
16
+ argTypes: {
17
+ arrow: {
18
+ control: 'boolean',
19
+ description: 'Whether to show the arrow on the autocomplete popup.',
20
+ defaultValue: false,
21
+ },
22
+ autoHighlight: {
23
+ control: 'boolean',
24
+ description:
25
+ 'If true, the first item will be automatically highlighted when the list opens.',
26
+ defaultValue: false,
27
+ },
28
+ keepHighlight: {
29
+ control: 'boolean',
30
+ description:
31
+ 'If true, the highlighted item will be kept when the list is reopened.',
32
+ defaultValue: false,
33
+ },
34
+ highlightItemOnHover: {
35
+ control: 'boolean',
36
+ description:
37
+ 'If true, items will be highlighted when hovered with the mouse.',
38
+ defaultValue: false,
39
+ },
40
+ },
41
+ args: {
42
+ arrow: false,
43
+ autoHighlight: false,
44
+ keepHighlight: false,
45
+ highlightItemOnHover: true,
46
+ },
47
+ parameters: {
48
+ controls: { expanded: true },
49
+ },
50
+ } satisfies Meta<Args>;
51
+
52
+ export default meta;
53
+
54
+ type Story = StoryObj<Args>;
55
+
56
+ export interface Item {
57
+ id: string;
58
+ label: string;
59
+ }
60
+
61
+ const items: Item[] = [
62
+ { id: 'apple', label: 'Apple' },
63
+ { id: 'banana', label: 'Banana' },
64
+ { id: 'cherry', label: 'Cherry' },
65
+ { id: 'date', label: 'Date' },
66
+ { id: 'elderberry', label: 'Elderberry' },
67
+ { id: 'fig', label: 'Fig' },
68
+ { id: 'grape', label: 'Grape' },
69
+ { id: 'honeydew', label: 'Honeydew' },
70
+ ];
71
+
72
+ const ExampleAutocomplete = Autocomplete.create<Item>();
73
+
74
+ export const Default: Story = {
75
+ render({ arrow, autoHighlight, keepHighlight, highlightItemOnHover }) {
76
+ const [value, setValue] = useState<string | undefined>(undefined);
77
+ return (
78
+ <ExampleAutocomplete
79
+ value={value}
80
+ onValueChange={setValue}
81
+ items={items}
82
+ autoHighlight={autoHighlight}
83
+ keepHighlight={keepHighlight}
84
+ highlightItemOnHover={highlightItemOnHover}
85
+ >
86
+ <ExampleAutocomplete.Input
87
+ icon={<Icon name="food" />}
88
+ className="w-[200px]"
89
+ />
90
+ <ExampleAutocomplete.Content arrow={arrow}>
91
+ <ExampleAutocomplete.List>
92
+ {(item) => (
93
+ <ExampleAutocomplete.Item key={item.id} value={item.id}>
94
+ {item.label}
95
+ </ExampleAutocomplete.Item>
96
+ )}
97
+ </ExampleAutocomplete.List>
98
+ <ExampleAutocomplete.Empty>
99
+ No results found.
100
+ </ExampleAutocomplete.Empty>
101
+ </ExampleAutocomplete.Content>
102
+ </ExampleAutocomplete>
103
+ );
104
+ },
105
+ };
106
+
107
+ interface ItemGroup {
108
+ category: string;
109
+ items: Item[];
110
+ }
111
+ const groupedItems: ItemGroup[] = [
112
+ {
113
+ category: 'Fruits',
114
+ items: [
115
+ { id: 'apple', label: 'Apple' },
116
+ { id: 'banana', label: 'Banana' },
117
+ { id: 'cherry', label: 'Cherry' },
118
+ ],
119
+ },
120
+ {
121
+ category: 'Berries',
122
+ items: [
123
+ { id: 'strawberry', label: 'Strawberry' },
124
+ { id: 'blueberry', label: 'Blueberry' },
125
+ { id: 'raspberry', label: 'Raspberry' },
126
+ ],
127
+ },
128
+ ];
129
+
130
+ const GroupedAutocomplete = Autocomplete.createGrouped<ItemGroup>();
131
+
132
+ export const Grouped: Story = {
133
+ render({ arrow, autoHighlight, keepHighlight, highlightItemOnHover }) {
134
+ const [value, setValue] = useState<string | undefined>(undefined);
135
+ return (
136
+ <GroupedAutocomplete
137
+ value={value}
138
+ onValueChange={setValue}
139
+ items={groupedItems}
140
+ autoHighlight={autoHighlight}
141
+ keepHighlight={keepHighlight}
142
+ highlightItemOnHover={highlightItemOnHover}
143
+ >
144
+ <GroupedAutocomplete.Input />
145
+ <GroupedAutocomplete.Content arrow={arrow}>
146
+ <GroupedAutocomplete.List>
147
+ {(group) => (
148
+ <GroupedAutocomplete.Group key={group.category}>
149
+ <GroupedAutocomplete.GroupLabel>
150
+ {group.category}
151
+ </GroupedAutocomplete.GroupLabel>
152
+ <GroupedAutocomplete.GroupList>
153
+ {group.items.map((item) => (
154
+ <GroupedAutocomplete.Item key={item.id} value={item.id}>
155
+ {item.label}
156
+ </GroupedAutocomplete.Item>
157
+ ))}
158
+ </GroupedAutocomplete.GroupList>
159
+ </GroupedAutocomplete.Group>
160
+ )}
161
+ </GroupedAutocomplete.List>
162
+ <GroupedAutocomplete.Empty>
163
+ No results found.
164
+ </GroupedAutocomplete.Empty>
165
+ <GroupedAutocomplete.Separator />
166
+ <div className="p-sm text-xs color-gray-dark">
167
+ Select your favorite fruit or berry.
168
+ </div>
169
+ </GroupedAutocomplete.Content>
170
+ </GroupedAutocomplete>
171
+ );
172
+ },
173
+ };
174
+
175
+ export const NotPopover: Story = {
176
+ render({ autoHighlight, keepHighlight, highlightItemOnHover }) {
177
+ const [value, setValue] = useState<string | undefined>(undefined);
178
+ return (
179
+ <GroupedAutocomplete
180
+ value={value}
181
+ onValueChange={setValue}
182
+ items={groupedItems}
183
+ autoHighlight={autoHighlight}
184
+ keepHighlight={keepHighlight}
185
+ highlightItemOnHover={highlightItemOnHover}
186
+ >
187
+ <Box border p surface="white" col>
188
+ <GroupedAutocomplete.Input disableCaret className="w-full" />
189
+ <GroupedAutocomplete.List>
190
+ {(group) => (
191
+ <GroupedAutocomplete.Group key={group.category}>
192
+ <GroupedAutocomplete.GroupLabel>
193
+ {group.category}
194
+ </GroupedAutocomplete.GroupLabel>
195
+ <GroupedAutocomplete.GroupList>
196
+ {group.items.map((item) => (
197
+ <GroupedAutocomplete.Item key={item.id} value={item.id}>
198
+ {item.label}
199
+ </GroupedAutocomplete.Item>
200
+ ))}
201
+ </GroupedAutocomplete.GroupList>
202
+ </GroupedAutocomplete.Group>
203
+ )}
204
+ </GroupedAutocomplete.List>
205
+ <GroupedAutocomplete.Empty>
206
+ No results found.
207
+ </GroupedAutocomplete.Empty>
208
+ </Box>
209
+ </GroupedAutocomplete>
210
+ );
211
+ },
212
+ };
@@ -0,0 +1,336 @@
1
+ import {
2
+ AutocompleteArrowProps,
3
+ Autocomplete as BaseAutocomplete,
4
+ AutocompleteGroupProps as BaseAutocompleteGroupProps,
5
+ AutocompleteInputProps as BaseAutocompleteInputProps,
6
+ AutocompleteItemProps as BaseAutocompleteItemProps,
7
+ AutocompleteListProps as BaseAutocompleteListProps,
8
+ AutocompletePopupProps as BaseAutocompletePopupProps,
9
+ AutocompletePositionerProps as BaseAutocompletePositionerProps,
10
+ AutocompleteRootProps as BaseAutocompleteRootProps,
11
+ } from '@base-ui/react/autocomplete';
12
+ import { ButtonProps } from '@base-ui/react/button';
13
+ import {
14
+ ComboboxIconProps as BaseAutocompleteIconProps,
15
+ ComboboxRowProps as BaseAutocompleteRowProps,
16
+ } from '@base-ui/react/combobox';
17
+ import clsx from 'clsx';
18
+ import { createContext, ReactNode, useContext } from 'react';
19
+ import { withClassName } from '../../hooks.js';
20
+ import { PaletteName } from '../../uno/index.js';
21
+ import { Button } from '../button/Button.js';
22
+ import { Chip, ChipProps } from '../chip/Chip.js';
23
+ import { Icon } from '../icon/Icon.js';
24
+ import { Input } from '../input/Input.js';
25
+ import {
26
+ arrowClassName,
27
+ itemClassName,
28
+ itemListClassName,
29
+ popupClassName,
30
+ separatorClassName,
31
+ } from '../primitives/menus.js';
32
+ import { ArrowSvg } from '../utility/ArrowSvg.js';
33
+ import { SlotDiv } from '../utility/SlotDiv.js';
34
+
35
+ const ValueContext = createContext<string | number | readonly string[] | null>(
36
+ null,
37
+ );
38
+
39
+ const AutocompleteRoot = (props: BaseAutocompleteRootProps<any>) => {
40
+ return (
41
+ <ValueContext.Provider value={props.value || null}>
42
+ <BaseAutocomplete.Root {...props} />
43
+ </ValueContext.Provider>
44
+ );
45
+ };
46
+
47
+ export interface AutocompleteInputProps extends BaseAutocompleteInputProps {
48
+ ref?: React.Ref<HTMLInputElement>;
49
+ icon?: ReactNode;
50
+ disableCaret?: boolean;
51
+ }
52
+ const AutocompleteInput = ({
53
+ disableCaret,
54
+ icon,
55
+ ...props
56
+ }: AutocompleteInputProps) => {
57
+ const valueFromContext = useContext(ValueContext);
58
+ return (
59
+ <BaseAutocomplete.Input
60
+ render={({ ref, className, ...props }, state) => (
61
+ <Input.Border ref={ref} className={className}>
62
+ {icon}
63
+ <Input.Input autoComplete="off" {...props} />
64
+ {(valueFromContext !== null || !disableCaret) && (
65
+ <div className="flex items-center">
66
+ {valueFromContext !== null && <AutocompleteClear />}
67
+ {!disableCaret && (
68
+ <BaseAutocomplete.Trigger
69
+ render={<Button emphasis="ghost" size="small" />}
70
+ >
71
+ <AutocompleteIcon data-open={state.open ? true : undefined} />
72
+ </BaseAutocomplete.Trigger>
73
+ )}
74
+ </div>
75
+ )}
76
+ </Input.Border>
77
+ )}
78
+ {...props}
79
+ />
80
+ );
81
+ };
82
+
83
+ const AutocompleteIcon = withClassName(
84
+ ({ className, ...props }: BaseAutocompleteIconProps) => (
85
+ <BaseAutocomplete.Icon
86
+ {...props}
87
+ className={clsx(
88
+ 'icon',
89
+ 'layer-components:(flex shrink-0 items-center justify-center transition-transform)',
90
+ 'layer-components:data-[open]:(rotate-180)',
91
+ className,
92
+ )}
93
+ >
94
+ <Icon name="chevron" />
95
+ </BaseAutocomplete.Icon>
96
+ ),
97
+ );
98
+
99
+ const AutocompletePopup = withClassName(
100
+ BaseAutocomplete.Popup,
101
+ popupClassName,
102
+ 'layer-components:(w-[--anchor-width])',
103
+ );
104
+
105
+ const AutocompleteBackdrop = withClassName(
106
+ BaseAutocomplete.Backdrop,
107
+ 'layer-components:(fixed inset-0)',
108
+ );
109
+
110
+ const AutocompleteArrow = ({ className, ...props }: AutocompleteArrowProps) => (
111
+ <BaseAutocomplete.Arrow
112
+ {...props}
113
+ className={clsx(arrowClassName, className)}
114
+ >
115
+ <ArrowSvg />
116
+ </BaseAutocomplete.Arrow>
117
+ );
118
+
119
+ export interface AutocompletePopoupProps extends BaseAutocompletePopupProps {
120
+ positioner?: BaseAutocompletePositionerProps;
121
+ ref?: React.Ref<HTMLDivElement>;
122
+ arrow?: boolean;
123
+ }
124
+ const AutocompleteContent = ({
125
+ positioner,
126
+ arrow,
127
+ children,
128
+ ...props
129
+ }: AutocompletePopoupProps) => {
130
+ return (
131
+ <BaseAutocomplete.Portal>
132
+ <AutocompleteBackdrop />
133
+ <BaseAutocomplete.Positioner sideOffset={8} {...positioner}>
134
+ <AutocompletePopup {...props}>
135
+ {arrow && <AutocompleteArrow />}
136
+ {children}
137
+ </AutocompletePopup>
138
+ </BaseAutocomplete.Positioner>
139
+ </BaseAutocomplete.Portal>
140
+ );
141
+ };
142
+
143
+ const AutocompleteList = withClassName(
144
+ BaseAutocomplete.List,
145
+ itemListClassName,
146
+ 'layer-components:(flex flex-col overscroll-contain outline-none overflow-y-auto overflow-unstable)',
147
+ 'layer-components:empty:(p-0)',
148
+ );
149
+
150
+ const AutocompleteEmpty = withClassName(
151
+ BaseAutocomplete.Empty,
152
+ 'layer-components:[&:not(:empty)]:(p-sm text-sm color-gray-dark)',
153
+ );
154
+
155
+ export interface AutocompleteItemProps extends BaseAutocompleteItemProps {
156
+ ref?: React.Ref<HTMLDivElement>;
157
+ color?: PaletteName;
158
+ }
159
+ const AutocompleteItem = ({
160
+ className,
161
+ color = 'gray',
162
+ ...props
163
+ }: AutocompleteItemProps) => (
164
+ <BaseAutocomplete.Item
165
+ className={clsx(color && `palette-${color}`, itemClassName, className)}
166
+ {...props}
167
+ />
168
+ );
169
+ const AutocompleteGroup = ({
170
+ className,
171
+ ...props
172
+ }: BaseAutocompleteGroupProps & { ref?: React.Ref<HTMLDivElement> }) => {
173
+ return (
174
+ <BaseAutocomplete.Group
175
+ {...props}
176
+ className={clsx(
177
+ 'layer-components:(flex flex-col gap-xs overflow-hidden p-sm)',
178
+ className,
179
+ )}
180
+ />
181
+ );
182
+ };
183
+
184
+ const AutocompleteGroupItemList = withClassName(
185
+ SlotDiv,
186
+ 'layer-components:(flex flex-row flex-wrap gap-xs)',
187
+ );
188
+
189
+ const AutocompleteGroupLabel = withClassName(
190
+ BaseAutocomplete.GroupLabel,
191
+ 'layer-components:(w-full px-xs text-xs font-medium uppercase color-gray-dark)',
192
+ );
193
+
194
+ const AutocompleteRow: React.FC<BaseAutocompleteRowProps> = withClassName(
195
+ BaseAutocomplete.Row,
196
+ 'layer-components:(flex items-center gap-xs)',
197
+ );
198
+
199
+ const AutocompleteSeparator = withClassName(
200
+ BaseAutocomplete.Separator,
201
+ separatorClassName,
202
+ );
203
+
204
+ export interface AutocompleteGroupItemProps
205
+ extends Omit<BaseAutocompleteItemProps, 'render'> {
206
+ ref?: React.Ref<HTMLDivElement>;
207
+ replace?: BaseAutocompleteItemProps['render'];
208
+ render?: ChipProps['render'];
209
+ }
210
+ function AutocompleteGroupItem({
211
+ className,
212
+ replace,
213
+ render,
214
+ ...props
215
+ }: AutocompleteGroupItemProps) {
216
+ return (
217
+ <BaseAutocomplete.Item
218
+ render={replace ?? <Button render={<Chip render={render} />} />}
219
+ {...props}
220
+ className={clsx(
221
+ 'palette-primary',
222
+ 'layer-composed-2:(bg-white)',
223
+ 'layer-composed-2:data-[highlighted]:(ring-2 bg-main-wash ring-primary)',
224
+ className,
225
+ )}
226
+ />
227
+ );
228
+ }
229
+
230
+ export type AutocompleteClearProps = ButtonProps & {
231
+ ref?: React.Ref<HTMLButtonElement>;
232
+ children?: ReactNode;
233
+ };
234
+ const AutocompleteClear = ({ children, ...props }: AutocompleteClearProps) => (
235
+ <BaseAutocomplete.Clear
236
+ render={<Button emphasis="ghost" size="small" />}
237
+ {...props}
238
+ >
239
+ {children ?? <Icon name="x" />}
240
+ </BaseAutocomplete.Clear>
241
+ );
242
+
243
+ const baseSubComponents = {
244
+ useFilter: BaseAutocomplete.useFilter,
245
+
246
+ Input: AutocompleteInput,
247
+ Content: AutocompleteContent,
248
+ Empty: AutocompleteEmpty,
249
+ List: AutocompleteList,
250
+ Item: AutocompleteItem,
251
+ Group: AutocompleteGroup,
252
+ GroupLabel: AutocompleteGroupLabel,
253
+ GroupList: AutocompleteGroupItemList,
254
+ Row: AutocompleteRow,
255
+ Separator: AutocompleteSeparator,
256
+ Clear: AutocompleteClear,
257
+
258
+ Positioner: BaseAutocomplete.Positioner,
259
+ Portal: BaseAutocomplete.Portal,
260
+ Popup: AutocompletePopup,
261
+ Backdrop: AutocompleteBackdrop,
262
+
263
+ ListItem: AutocompleteItem,
264
+ GroupItem: AutocompleteGroupItem,
265
+
266
+ Unstyled: BaseAutocomplete,
267
+ };
268
+
269
+ function createAutocomplete<TItem>() {
270
+ function TypedRoot(
271
+ props: Omit<BaseAutocompleteRootProps<TItem>, 'items'> & {
272
+ items: readonly TItem[];
273
+ },
274
+ ) {
275
+ return <AutocompleteRoot {...(props as any)} />;
276
+ }
277
+ function TypedList(
278
+ props: Omit<BaseAutocompleteListProps, 'children'> & {
279
+ children?: ReactNode | ((item: TItem, index: number) => ReactNode);
280
+ },
281
+ ) {
282
+ return <AutocompleteList {...props} />;
283
+ }
284
+ return Object.assign(TypedRoot, {
285
+ ...baseSubComponents,
286
+ Input: AutocompleteInput,
287
+ Content: AutocompleteContent,
288
+ List: TypedList,
289
+ Empty: AutocompleteEmpty,
290
+ Item: AutocompleteItem,
291
+ });
292
+ }
293
+
294
+ function createAutocompleteGrouped<
295
+ TItemGroup extends { items: readonly any[] },
296
+ >() {
297
+ function TypedRoot(
298
+ props: Omit<
299
+ BaseAutocompleteRootProps<TItemGroup['items'][number]>,
300
+ 'items'
301
+ > & {
302
+ items: TItemGroup[];
303
+ },
304
+ ) {
305
+ return <AutocompleteRoot {...(props as any)} />;
306
+ }
307
+ function TypedList(
308
+ props: Omit<BaseAutocompleteListProps, 'children'> & {
309
+ children?:
310
+ | ReactNode
311
+ | ((group: TItemGroup, groupIndex: number) => ReactNode);
312
+ },
313
+ ) {
314
+ return <AutocompleteList {...props} />;
315
+ }
316
+
317
+ return Object.assign(TypedRoot, {
318
+ ...baseSubComponents,
319
+ Content: AutocompleteContent,
320
+ Item: AutocompleteGroupItem,
321
+ Input: AutocompleteInput,
322
+ List: TypedList,
323
+ Group: AutocompleteGroup,
324
+ GroupLabel: AutocompleteGroupLabel,
325
+ GroupList: AutocompleteGroupItemList,
326
+ Empty: AutocompleteEmpty,
327
+ Row: AutocompleteRow,
328
+ });
329
+ }
330
+
331
+ export const Autocomplete = Object.assign(AutocompleteRoot, {
332
+ create: createAutocomplete,
333
+ createGrouped: createAutocompleteGrouped,
334
+
335
+ ...baseSubComponents,
336
+ });
@@ -31,9 +31,9 @@ export function Avatar({
31
31
  <BaseAvatar.Root
32
32
  data-pop={popIn}
33
33
  className={classNames(
34
- 'layer-components:(flex items-center justify-center rounded-lg border-default overflow-hidden w-24px aspect-1 select-none relative bg-white flex-shrink-0)',
34
+ 'layer-components:(relative aspect-1 w-24px flex flex-shrink-0 select-none items-center justify-center overflow-hidden border-default rounded-lg bg-white)',
35
35
  popIn &&
36
- 'layer-variants:(animate-pop-in-from-half animate-ease-springy animate-duration-200)',
36
+ 'layer-variants:(animate-pop-in-from-half animate-duration-200 animate-ease-springy)',
37
37
  empty && 'layer-components:(border-dashed bg-gray-light)',
38
38
  className,
39
39
  )}
@@ -42,7 +42,7 @@ export function Avatar({
42
42
  >
43
43
  {imageSrc && (
44
44
  <BaseAvatar.Image
45
- className="w-full h-full object-cover"
45
+ className="h-full w-full object-cover"
46
46
  referrerPolicy="no-referrer"
47
47
  src={imageSrc}
48
48
  alt={`${name ?? 'user'}'s profile picture`}
@@ -134,7 +134,7 @@ function SurfaceContent({ name }: { name: string }) {
134
134
  export const Surfaces: Story = {
135
135
  render(args) {
136
136
  return (
137
- <div className="grid gap-lg grid-cols-2 md:grid-cols-3 bg-wash" {...args}>
137
+ <div className="grid grid-cols-2 gap-lg bg-wash md:grid-cols-3" {...args}>
138
138
  <Box {...args} surface="white" p="lg" col gap>
139
139
  <SurfaceContent name="White" />
140
140
  </Box>
@@ -100,7 +100,7 @@ export function Box({
100
100
  {...rest}
101
101
  style={style}
102
102
  className={clsx(
103
- 'layer-components:flex layer-components:relative',
103
+ 'layer-components:relative layer-components:flex',
104
104
  color && `palette-${color}`,
105
105
  {
106
106
  'layer-components:flex-row': hasDefault(direction, 'row') && !col,
@@ -187,9 +187,9 @@ export function Box({
187
187
  (rounded === undefined && (surface || border)),
188
188
  'layer-components:rounded-xl': rounded === 'xl',
189
189
 
190
- 'layer-components:(bg-white border-gray-dark color-black)':
190
+ 'layer-components:(color-black bg-white border-gray-dark)':
191
191
  surface === 'white',
192
- 'layer-components:(bg-main-wash border-main-dark color-main-ink)':
192
+ 'layer-components:(color-main-ink bg-main-wash border-main-dark)':
193
193
  surface === true,
194
194
 
195
195
  'layer-components:(border border-solid)': border,
@@ -197,9 +197,9 @@ export function Box({
197
197
  'layer-components:h-full': full === true || full === 'height',
198
198
  'layer-components:overflow-hidden': overflow === 'hidden',
199
199
  'layer-components:overflow-auto': overflow === 'auto',
200
- 'layer-components:(overflow-x-auto overflow-y-hidden)':
200
+ 'layer-components:(overflow-y-hidden overflow-x-auto)':
201
201
  overflow === 'auto-x',
202
- 'layer-components:(overflow-y-auto overflow-x-hidden)':
202
+ 'layer-components:(overflow-x-hidden overflow-y-auto)':
203
203
  overflow === 'auto-y',
204
204
  'layer-components:flex-grow': grow,
205
205
  'layer-components:@container': container === true,
@@ -131,12 +131,12 @@ export function ButtonRoot({
131
131
  animate={{ width: 'auto', marginLeft: 0 }}
132
132
  exit={{ width: 0, marginLeft: '-0.5rem' }}
133
133
  className={clsx(
134
- 'flex-shrink-0 inline-block overflow-hidden my-auto flex',
134
+ 'my-auto inline-block flex flex-shrink-0 overflow-hidden',
135
135
  '[[data-has-icon=true]_&]:hidden',
136
136
  )}
137
137
  data-default-loader
138
138
  >
139
- <Spinner size={15} className="inline-block w-1em h-1em" />
139
+ <Spinner size={15} className="inline-block h-1em w-1em" />
140
140
  </motion.div>
141
141
  )}
142
142
  </AnimatePresence>
@@ -166,7 +166,7 @@ export const ButtonToggleIndicator = memo(function ToggleIndicator({
166
166
  <Icon
167
167
  aria-hidden
168
168
  name="check"
169
- className="transition-width w-0 ml--1"
169
+ className="ml--1 w-0 transition-width"
170
170
  style={{
171
171
  width: value ? '15px' : 0,
172
172
  }}
@@ -46,7 +46,7 @@ export function ConfirmedButton({
46
46
  return (
47
47
  <Button
48
48
  {...rest}
49
- onClick={(ev) => {
49
+ onClick={() => {
50
50
  onConfirm();
51
51
  }}
52
52
  />