@basic-ui/material 1.0.0-alpha.51 → 1.0.0-alpha.54

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 (673) hide show
  1. package/README.md +3 -3
  2. package/build/cjs/index.js +520 -447
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/esm/Alert/Alert.d.ts +5 -6
  5. package/build/esm/Alert/Alert.js +14 -16
  6. package/build/esm/Alert/Alert.js.map +1 -1
  7. package/build/esm/Alert/index.d.ts +1 -1
  8. package/build/esm/Alert/index.js.map +1 -1
  9. package/build/esm/AppBar/AppBar.d.ts +9 -9
  10. package/build/esm/AppBar/AppBar.js +25 -34
  11. package/build/esm/AppBar/AppBar.js.map +1 -1
  12. package/build/esm/AppBar/AppBarButton.d.ts +3 -4
  13. package/build/esm/AppBar/AppBarButton.js +12 -14
  14. package/build/esm/AppBar/AppBarButton.js.map +1 -1
  15. package/build/esm/AppBar/context.d.ts +4 -5
  16. package/build/esm/AppBar/context.js +8 -6
  17. package/build/esm/AppBar/context.js.map +1 -1
  18. package/build/esm/AppBar/index.d.ts +3 -3
  19. package/build/esm/AppBar/index.js.map +1 -1
  20. package/build/esm/Badge/Badge.d.ts +5 -6
  21. package/build/esm/Badge/Badge.js +25 -26
  22. package/build/esm/Badge/Badge.js.map +1 -1
  23. package/build/esm/Badge/index.d.ts +1 -1
  24. package/build/esm/Badge/index.js.map +1 -1
  25. package/build/esm/BaseLine/BaseLine.d.ts +1 -1
  26. package/build/esm/BaseLine/BaseLine.js +4 -6
  27. package/build/esm/BaseLine/BaseLine.js.map +1 -1
  28. package/build/esm/BaseLine/index.d.ts +1 -1
  29. package/build/esm/BaseLine/index.js.map +1 -1
  30. package/build/esm/BottomSheet/BottomSheet.d.ts +6 -7
  31. package/build/esm/BottomSheet/BottomSheet.js +17 -21
  32. package/build/esm/BottomSheet/BottomSheet.js.map +1 -1
  33. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +4 -5
  34. package/build/esm/BottomSheet/BottomSheetSurface.js +14 -14
  35. package/build/esm/BottomSheet/BottomSheetSurface.js.map +1 -1
  36. package/build/esm/BottomSheet/index.d.ts +1 -1
  37. package/build/esm/BottomSheet/index.js.map +1 -1
  38. package/build/esm/Box/Box.d.ts +23 -23
  39. package/build/esm/Box/Box.js +26 -26
  40. package/build/esm/Box/Box.js.map +1 -1
  41. package/build/esm/Box/index.d.ts +1 -1
  42. package/build/esm/Box/index.js.map +1 -1
  43. package/build/esm/Button/BaseButton.d.ts +14 -7
  44. package/build/esm/Button/BaseButton.js +107 -36
  45. package/build/esm/Button/BaseButton.js.map +1 -1
  46. package/build/esm/Button/Button.d.ts +14 -13
  47. package/build/esm/Button/Button.js +66 -48
  48. package/build/esm/Button/Button.js.map +1 -1
  49. package/build/esm/Button/ButtonGroup.d.ts +4 -5
  50. package/build/esm/Button/ButtonGroup.js +119 -21
  51. package/build/esm/Button/ButtonGroup.js.map +1 -1
  52. package/build/esm/Button/FilledButton.d.ts +10 -11
  53. package/build/esm/Button/FilledButton.js +18 -60
  54. package/build/esm/Button/FilledButton.js.map +1 -1
  55. package/build/esm/Button/FloatingActionButton.d.ts +9 -7
  56. package/build/esm/Button/FloatingActionButton.js +5 -4
  57. package/build/esm/Button/FloatingActionButton.js.map +1 -1
  58. package/build/esm/Button/IconButton.d.ts +8 -8
  59. package/build/esm/Button/IconButton.js +3 -3
  60. package/build/esm/Button/IconButton.js.map +1 -1
  61. package/build/esm/Button/IconFilledButton.d.ts +2 -0
  62. package/build/esm/Button/IconFilledButton.js +3 -0
  63. package/build/esm/Button/IconFilledButton.js.map +1 -0
  64. package/build/esm/Button/IconOutlinedButton.d.ts +2 -0
  65. package/build/esm/Button/IconOutlinedButton.js +3 -0
  66. package/build/esm/Button/IconOutlinedButton.js.map +1 -0
  67. package/build/esm/Button/OutlinedButton.d.ts +3 -4
  68. package/build/esm/Button/OutlinedButton.js +3 -43
  69. package/build/esm/Button/OutlinedButton.js.map +1 -1
  70. package/build/esm/Button/SplitButton.d.ts +9 -0
  71. package/build/esm/Button/SplitButton.js +32 -0
  72. package/build/esm/Button/SplitButton.js.map +1 -0
  73. package/build/esm/Button/TransparentButton.d.ts +10 -11
  74. package/build/esm/Button/TransparentButton.js +11 -54
  75. package/build/esm/Button/TransparentButton.js.map +1 -1
  76. package/build/esm/Button/context.d.ts +9 -8
  77. package/build/esm/Button/context.js +5 -4
  78. package/build/esm/Button/context.js.map +1 -1
  79. package/build/esm/Button/index.d.ts +3 -2
  80. package/build/esm/Button/index.js +1 -0
  81. package/build/esm/Button/index.js.map +1 -1
  82. package/build/esm/CheckBox/CheckBox.d.ts +13 -13
  83. package/build/esm/CheckBox/CheckBox.js +45 -61
  84. package/build/esm/CheckBox/CheckBox.js.map +1 -1
  85. package/build/esm/CheckBox/CheckBoxIcon.d.ts +10 -10
  86. package/build/esm/CheckBox/CheckBoxIcon.js +19 -24
  87. package/build/esm/CheckBox/CheckBoxIcon.js.map +1 -1
  88. package/build/esm/CheckBox/CheckPath.d.ts +3 -3
  89. package/build/esm/CheckBox/CheckPath.js +15 -16
  90. package/build/esm/CheckBox/CheckPath.js.map +1 -1
  91. package/build/esm/CheckBox/IndeterminatePath.d.ts +3 -3
  92. package/build/esm/CheckBox/IndeterminatePath.js +14 -16
  93. package/build/esm/CheckBox/IndeterminatePath.js.map +1 -1
  94. package/build/esm/CheckBox/index.d.ts +1 -1
  95. package/build/esm/CheckBox/index.js.map +1 -1
  96. package/build/esm/Chip/ButtonChip.d.ts +9 -9
  97. package/build/esm/Chip/ButtonChip.js +20 -24
  98. package/build/esm/Chip/ButtonChip.js.map +1 -1
  99. package/build/esm/Chip/Chip.d.ts +4 -4
  100. package/build/esm/Chip/Chip.js.map +1 -1
  101. package/build/esm/Chip/ChipBase.d.ts +10 -10
  102. package/build/esm/Chip/ChipBase.js +50 -54
  103. package/build/esm/Chip/ChipBase.js.map +1 -1
  104. package/build/esm/Chip/ChoiceChip.d.ts +10 -10
  105. package/build/esm/Chip/ChoiceChip.js +34 -38
  106. package/build/esm/Chip/ChoiceChip.js.map +1 -1
  107. package/build/esm/Chip/index.d.ts +2 -2
  108. package/build/esm/Chip/index.js.map +1 -1
  109. package/build/esm/Combobox/Combobox.d.ts +23 -23
  110. package/build/esm/Combobox/Combobox.js +126 -107
  111. package/build/esm/Combobox/Combobox.js.map +1 -1
  112. package/build/esm/Combobox/index.d.ts +1 -1
  113. package/build/esm/Combobox/index.js.map +1 -1
  114. package/build/esm/Dialog/Dialog.d.ts +19 -20
  115. package/build/esm/Dialog/Dialog.js +38 -42
  116. package/build/esm/Dialog/Dialog.js.map +1 -1
  117. package/build/esm/Dialog/DialogBackdrop.d.ts +6 -7
  118. package/build/esm/Dialog/DialogBackdrop.js +18 -17
  119. package/build/esm/Dialog/DialogBackdrop.js.map +1 -1
  120. package/build/esm/Dialog/DialogContainer.d.ts +3 -4
  121. package/build/esm/Dialog/DialogContainer.js +12 -12
  122. package/build/esm/Dialog/DialogContainer.js.map +1 -1
  123. package/build/esm/Dialog/DialogSurface.d.ts +6 -7
  124. package/build/esm/Dialog/DialogSurface.js +26 -26
  125. package/build/esm/Dialog/DialogSurface.js.map +1 -1
  126. package/build/esm/Dialog/Scrim.d.ts +3 -4
  127. package/build/esm/Dialog/Scrim.js +12 -12
  128. package/build/esm/Dialog/Scrim.js.map +1 -1
  129. package/build/esm/Dialog/index.d.ts +2 -2
  130. package/build/esm/Dialog/index.js.map +1 -1
  131. package/build/esm/Dialog/useDialogAnimation.d.ts +57 -824
  132. package/build/esm/Dialog/useDialogAnimation.js +23 -24
  133. package/build/esm/Dialog/useDialogAnimation.js.map +1 -1
  134. package/build/esm/Divider/Divider.d.ts +7 -7
  135. package/build/esm/Divider/Divider.js +27 -28
  136. package/build/esm/Divider/Divider.js.map +1 -1
  137. package/build/esm/Divider/index.d.ts +1 -1
  138. package/build/esm/Divider/index.js.map +1 -1
  139. package/build/esm/FloatingLabel/FloatingLabel.d.ts +13 -13
  140. package/build/esm/FloatingLabel/FloatingLabel.js +27 -33
  141. package/build/esm/FloatingLabel/FloatingLabel.js.map +1 -1
  142. package/build/esm/FloatingLabel/index.d.ts +1 -1
  143. package/build/esm/FloatingLabel/index.js.map +1 -1
  144. package/build/esm/LineRipple/LineRipple.d.ts +9 -9
  145. package/build/esm/LineRipple/LineRipple.js +30 -38
  146. package/build/esm/LineRipple/LineRipple.js.map +1 -1
  147. package/build/esm/LineRipple/index.d.ts +1 -1
  148. package/build/esm/LineRipple/index.js.map +1 -1
  149. package/build/esm/Link/Link.d.ts +9 -9
  150. package/build/esm/Link/Link.js +15 -17
  151. package/build/esm/Link/Link.js.map +1 -1
  152. package/build/esm/Link/index.d.ts +1 -1
  153. package/build/esm/Link/index.js.map +1 -1
  154. package/build/esm/List/List.d.ts +8 -8
  155. package/build/esm/List/List.js +19 -26
  156. package/build/esm/List/List.js.map +1 -1
  157. package/build/esm/List/index.d.ts +1 -1
  158. package/build/esm/List/index.js.map +1 -1
  159. package/build/esm/ListItem/ListItem.d.ts +14 -14
  160. package/build/esm/ListItem/ListItem.js +28 -31
  161. package/build/esm/ListItem/ListItem.js.map +1 -1
  162. package/build/esm/ListItem/ListItemText.d.ts +7 -7
  163. package/build/esm/ListItem/ListItemText.js +12 -16
  164. package/build/esm/ListItem/ListItemText.js.map +1 -1
  165. package/build/esm/ListItem/index.d.ts +2 -2
  166. package/build/esm/ListItem/index.js.map +1 -1
  167. package/build/esm/Menu/Menu.d.ts +18 -18
  168. package/build/esm/Menu/Menu.js +70 -60
  169. package/build/esm/Menu/Menu.js.map +1 -1
  170. package/build/esm/Menu/animation.d.ts +2 -2
  171. package/build/esm/Menu/animation.js +3 -3
  172. package/build/esm/Menu/animation.js.map +1 -1
  173. package/build/esm/Menu/index.d.ts +2 -2
  174. package/build/esm/Menu/index.js.map +1 -1
  175. package/build/esm/NavRail/NavRailItem.d.ts +15 -15
  176. package/build/esm/NavRail/NavRailItem.js +82 -86
  177. package/build/esm/NavRail/NavRailItem.js.map +1 -1
  178. package/build/esm/NavRail/icons/test-icons.d.ts +4 -4
  179. package/build/esm/NavRail/icons/test-icons.js +33 -40
  180. package/build/esm/NavRail/icons/test-icons.js.map +1 -1
  181. package/build/esm/NavRail/index.d.ts +1 -1
  182. package/build/esm/NavRail/index.js.map +1 -1
  183. package/build/esm/NotchedOutline/NotchedOutline.d.ts +14 -14
  184. package/build/esm/NotchedOutline/NotchedOutline.js +26 -34
  185. package/build/esm/NotchedOutline/NotchedOutline.js.map +1 -1
  186. package/build/esm/NotchedOutline/context.d.ts +5 -6
  187. package/build/esm/NotchedOutline/context.js +8 -7
  188. package/build/esm/NotchedOutline/context.js.map +1 -1
  189. package/build/esm/NotchedOutline/index.d.ts +1 -1
  190. package/build/esm/NotchedOutline/index.js.map +1 -1
  191. package/build/esm/NotchedOutline/styledComponents.d.ts +15 -575
  192. package/build/esm/NotchedOutline/styledComponents.js +65 -64
  193. package/build/esm/NotchedOutline/styledComponents.js.map +1 -1
  194. package/build/esm/Paper/Paper.d.ts +11 -11
  195. package/build/esm/Paper/Paper.js +25 -25
  196. package/build/esm/Paper/Paper.js.map +1 -1
  197. package/build/esm/Paper/index.d.ts +1 -1
  198. package/build/esm/Paper/index.js.map +1 -1
  199. package/build/esm/Popover/Popover.d.ts +13 -14
  200. package/build/esm/Popover/Popover.js +33 -39
  201. package/build/esm/Popover/Popover.js.map +1 -1
  202. package/build/esm/Popover/PopoverContainer.d.ts +3 -4
  203. package/build/esm/Popover/PopoverContainer.js +12 -12
  204. package/build/esm/Popover/PopoverContainer.js.map +1 -1
  205. package/build/esm/Popover/PopoverSurface.d.ts +4 -5
  206. package/build/esm/Popover/PopoverSurface.js +15 -15
  207. package/build/esm/Popover/PopoverSurface.js.map +1 -1
  208. package/build/esm/Popover/index.d.ts +1 -1
  209. package/build/esm/Popover/index.js.map +1 -1
  210. package/build/esm/ProgressSpinner/ProgressSpinner.d.ts +7 -8
  211. package/build/esm/ProgressSpinner/ProgressSpinner.js +31 -33
  212. package/build/esm/ProgressSpinner/ProgressSpinner.js.map +1 -1
  213. package/build/esm/ProgressSpinner/index.d.ts +1 -1
  214. package/build/esm/ProgressSpinner/index.js.map +1 -1
  215. package/build/esm/RadioButton/RadioButton.d.ts +3 -4
  216. package/build/esm/RadioButton/RadioButton.js +29 -32
  217. package/build/esm/RadioButton/RadioButton.js.map +1 -1
  218. package/build/esm/RadioButton/RadioButtonIcon.d.ts +6 -6
  219. package/build/esm/RadioButton/RadioButtonIcon.js +10 -12
  220. package/build/esm/RadioButton/RadioButtonIcon.js.map +1 -1
  221. package/build/esm/RadioButton/RadioGroup.d.ts +4 -5
  222. package/build/esm/RadioButton/RadioGroup.js +9 -11
  223. package/build/esm/RadioButton/RadioGroup.js.map +1 -1
  224. package/build/esm/RadioButton/index.d.ts +2 -2
  225. package/build/esm/RadioButton/index.js.map +1 -1
  226. package/build/esm/Ripple/Ripple.d.ts +10 -11
  227. package/build/esm/Ripple/Ripple.js +12 -10
  228. package/build/esm/Ripple/Ripple.js.map +1 -1
  229. package/build/esm/Ripple/RippleBox.d.ts +5 -5
  230. package/build/esm/Ripple/RippleBox.js +32 -29
  231. package/build/esm/Ripple/RippleBox.js.map +1 -1
  232. package/build/esm/Ripple/constants.d.ts +7 -7
  233. package/build/esm/Ripple/constants.js +7 -7
  234. package/build/esm/Ripple/constants.js.map +1 -1
  235. package/build/esm/Ripple/index.d.ts +5 -5
  236. package/build/esm/Ripple/index.js.map +1 -1
  237. package/build/esm/Ripple/keyframes.d.ts +4 -4
  238. package/build/esm/Ripple/keyframes.js +7 -7
  239. package/build/esm/Ripple/keyframes.js.map +1 -1
  240. package/build/esm/Ripple/useRipple.d.ts +14 -14
  241. package/build/esm/Ripple/useRipple.js +79 -84
  242. package/build/esm/Ripple/useRipple.js.map +1 -1
  243. package/build/esm/Ripple/useRippleHandlers.d.ts +8 -8
  244. package/build/esm/Ripple/useRippleHandlers.js +21 -30
  245. package/build/esm/Ripple/useRippleHandlers.js.map +1 -1
  246. package/build/esm/Ripple/useRippleSurface.d.ts +22 -787
  247. package/build/esm/Ripple/useRippleSurface.js +87 -88
  248. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  249. package/build/esm/SearchBar/SearchBar.d.ts +15 -15
  250. package/build/esm/SearchBar/SearchBar.js +48 -63
  251. package/build/esm/SearchBar/SearchBar.js.map +1 -1
  252. package/build/esm/SearchBar/index.d.ts +1 -1
  253. package/build/esm/SearchBar/index.js.map +1 -1
  254. package/build/esm/Select/CustomContainerExample.d.ts +2 -3
  255. package/build/esm/Select/CustomContainerExample.js +29 -34
  256. package/build/esm/Select/CustomContainerExample.js.map +1 -1
  257. package/build/esm/Select/Select.d.ts +33 -32
  258. package/build/esm/Select/Select.js +68 -113
  259. package/build/esm/Select/Select.js.map +1 -1
  260. package/build/esm/Select/SelectIcon.d.ts +6 -6
  261. package/build/esm/Select/SelectIcon.js +11 -13
  262. package/build/esm/Select/SelectIcon.js.map +1 -1
  263. package/build/esm/Select/context.d.ts +9 -9
  264. package/build/esm/Select/context.js +10 -8
  265. package/build/esm/Select/context.js.map +1 -1
  266. package/build/esm/Select/defaultRender.d.ts +3 -3
  267. package/build/esm/Select/defaultRender.js +33 -38
  268. package/build/esm/Select/defaultRender.js.map +1 -1
  269. package/build/esm/Select/index.d.ts +1 -1
  270. package/build/esm/Select/index.js.map +1 -1
  271. package/build/esm/Select/styledComponents.d.ts +15 -15
  272. package/build/esm/Select/styledComponents.js +20 -23
  273. package/build/esm/Select/styledComponents.js.map +1 -1
  274. package/build/esm/SelectItem/SelectItem.d.ts +11 -11
  275. package/build/esm/SelectItem/SelectItem.js +37 -47
  276. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  277. package/build/esm/SelectItem/index.d.ts +1 -1
  278. package/build/esm/SelectItem/index.js.map +1 -1
  279. package/build/esm/SelectionControl/SelectionControlLabel.d.ts +7 -7
  280. package/build/esm/SelectionControl/SelectionControlLabel.js +13 -14
  281. package/build/esm/SelectionControl/SelectionControlLabel.js.map +1 -1
  282. package/build/esm/SelectionControl/SelectionControlText.d.ts +8 -8
  283. package/build/esm/SelectionControl/SelectionControlText.js +20 -20
  284. package/build/esm/SelectionControl/SelectionControlText.js.map +1 -1
  285. package/build/esm/SelectionControl/index.d.ts +2 -2
  286. package/build/esm/SelectionControl/index.js.map +1 -1
  287. package/build/esm/Skeleton/DelayAppearance.d.ts +13 -13
  288. package/build/esm/Skeleton/DelayAppearance.js +18 -20
  289. package/build/esm/Skeleton/DelayAppearance.js.map +1 -1
  290. package/build/esm/Skeleton/Skeleton.d.ts +9 -9
  291. package/build/esm/Skeleton/Skeleton.js +18 -19
  292. package/build/esm/Skeleton/Skeleton.js.map +1 -1
  293. package/build/esm/Skeleton/animation.d.ts +8 -8
  294. package/build/esm/Skeleton/animation.js +11 -11
  295. package/build/esm/Skeleton/animation.js.map +1 -1
  296. package/build/esm/Skeleton/index.d.ts +2 -2
  297. package/build/esm/Skeleton/index.js.map +1 -1
  298. package/build/esm/Slider/Slider.d.ts +17 -17
  299. package/build/esm/Slider/Slider.js +93 -85
  300. package/build/esm/Slider/Slider.js.map +1 -1
  301. package/build/esm/Slider/index.d.ts +1 -1
  302. package/build/esm/Slider/index.js.map +1 -1
  303. package/build/esm/Snackbar/Snackbar.d.ts +10 -8
  304. package/build/esm/Snackbar/Snackbar.js +33 -33
  305. package/build/esm/Snackbar/Snackbar.js.map +1 -1
  306. package/build/esm/Snackbar/Stack.d.ts +31 -31
  307. package/build/esm/Snackbar/Stack.js +74 -106
  308. package/build/esm/Snackbar/Stack.js.map +1 -1
  309. package/build/esm/Snackbar/index.d.ts +3 -3
  310. package/build/esm/Snackbar/index.js.map +1 -1
  311. package/build/esm/Snackbar/useSnackbarAnimation.d.ts +6 -6
  312. package/build/esm/Snackbar/useSnackbarAnimation.js +103 -132
  313. package/build/esm/Snackbar/useSnackbarAnimation.js.map +1 -1
  314. package/build/esm/Switch/Switch.d.ts +13 -13
  315. package/build/esm/Switch/Switch.js +59 -56
  316. package/build/esm/Switch/Switch.js.map +1 -1
  317. package/build/esm/Switch/index.d.ts +1 -1
  318. package/build/esm/Switch/index.js.map +1 -1
  319. package/build/esm/Switch/styledComponents.d.ts +13 -13
  320. package/build/esm/Switch/styledComponents.js +47 -47
  321. package/build/esm/Switch/styledComponents.js.map +1 -1
  322. package/build/esm/Tab/Tab.d.ts +5 -5
  323. package/build/esm/Tab/Tab.js +47 -55
  324. package/build/esm/Tab/Tab.js.map +1 -1
  325. package/build/esm/Tab/TabList.d.ts +9 -10
  326. package/build/esm/Tab/TabList.js +28 -32
  327. package/build/esm/Tab/TabList.js.map +1 -1
  328. package/build/esm/Tab/TabPanel.d.ts +4 -5
  329. package/build/esm/Tab/TabPanel.js +18 -19
  330. package/build/esm/Tab/TabPanel.js.map +1 -1
  331. package/build/esm/Tab/TabPanels.d.ts +4 -4
  332. package/build/esm/Tab/TabPanels.js.map +1 -1
  333. package/build/esm/Tab/Tabs.d.ts +4 -4
  334. package/build/esm/Tab/Tabs.js.map +1 -1
  335. package/build/esm/Tab/context.d.ts +8 -9
  336. package/build/esm/Tab/context.js +8 -7
  337. package/build/esm/Tab/context.js.map +1 -1
  338. package/build/esm/Tab/index.d.ts +5 -5
  339. package/build/esm/Tab/index.js.map +1 -1
  340. package/build/esm/TabIndicator/TabIndicator.d.ts +9 -9
  341. package/build/esm/TabIndicator/TabIndicator.js +69 -86
  342. package/build/esm/TabIndicator/TabIndicator.js.map +1 -1
  343. package/build/esm/TabIndicator/context.d.ts +6 -6
  344. package/build/esm/TabIndicator/context.js +8 -7
  345. package/build/esm/TabIndicator/context.js.map +1 -1
  346. package/build/esm/TabIndicator/index.d.ts +2 -2
  347. package/build/esm/TabIndicator/index.js.map +1 -1
  348. package/build/esm/Table/Table.d.ts +3 -4
  349. package/build/esm/Table/Table.js +13 -14
  350. package/build/esm/Table/Table.js.map +1 -1
  351. package/build/esm/Table/TableBody.d.ts +3 -4
  352. package/build/esm/Table/TableBody.js +9 -11
  353. package/build/esm/Table/TableBody.js.map +1 -1
  354. package/build/esm/Table/TableCell.d.ts +3 -4
  355. package/build/esm/Table/TableCell.js +14 -15
  356. package/build/esm/Table/TableCell.js.map +1 -1
  357. package/build/esm/Table/TableHead.d.ts +3 -4
  358. package/build/esm/Table/TableHead.js +13 -14
  359. package/build/esm/Table/TableHead.js.map +1 -1
  360. package/build/esm/Table/TableRow.d.ts +3 -4
  361. package/build/esm/Table/TableRow.js +13 -14
  362. package/build/esm/Table/TableRow.js.map +1 -1
  363. package/build/esm/Table/context.d.ts +2 -3
  364. package/build/esm/Table/context.js +7 -7
  365. package/build/esm/Table/context.js.map +1 -1
  366. package/build/esm/Table/index.d.ts +5 -5
  367. package/build/esm/Table/index.js.map +1 -1
  368. package/build/esm/Text/LoremIpsum.d.ts +4 -4
  369. package/build/esm/Text/LoremIpsum.js +10 -12
  370. package/build/esm/Text/LoremIpsum.js.map +1 -1
  371. package/build/esm/Text/Text.d.ts +10 -11
  372. package/build/esm/Text/Text.js +15 -19
  373. package/build/esm/Text/Text.js.map +1 -1
  374. package/build/esm/Text/index.d.ts +1 -1
  375. package/build/esm/Text/index.js.map +1 -1
  376. package/build/esm/TextField/FilledContainer.d.ts +18 -18
  377. package/build/esm/TextField/FilledContainer.js +75 -80
  378. package/build/esm/TextField/FilledContainer.js.map +1 -1
  379. package/build/esm/TextField/HelperText.d.ts +10 -10
  380. package/build/esm/TextField/HelperText.js +19 -26
  381. package/build/esm/TextField/HelperText.js.map +1 -1
  382. package/build/esm/TextField/IconContainer.d.ts +5 -5
  383. package/build/esm/TextField/IconContainer.js +21 -9
  384. package/build/esm/TextField/IconContainer.js.map +1 -1
  385. package/build/esm/TextField/Input.d.ts +11 -11
  386. package/build/esm/TextField/Input.js +39 -40
  387. package/build/esm/TextField/Input.js.map +1 -1
  388. package/build/esm/TextField/OutlinedContainer.d.ts +17 -17
  389. package/build/esm/TextField/OutlinedContainer.js +30 -47
  390. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  391. package/build/esm/TextField/TextField.d.ts +19 -19
  392. package/build/esm/TextField/TextField.js +50 -77
  393. package/build/esm/TextField/TextField.js.map +1 -1
  394. package/build/esm/TextField/consts.d.ts +5 -5
  395. package/build/esm/TextField/consts.js +5 -5
  396. package/build/esm/TextField/consts.js.map +1 -1
  397. package/build/esm/TextField/index.d.ts +4 -4
  398. package/build/esm/TextField/index.js.map +1 -1
  399. package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -7
  400. package/build/esm/ThemeExplorer/BorderSlider.js +8 -14
  401. package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -1
  402. package/build/esm/ThemeExplorer/ColorPicker.d.ts +8 -8
  403. package/build/esm/ThemeExplorer/ColorPicker.js +19 -24
  404. package/build/esm/ThemeExplorer/ColorPicker.js.map +1 -1
  405. package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -10
  406. package/build/esm/ThemeExplorer/ColorSchemePicker.js +16 -21
  407. package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -1
  408. package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -9
  409. package/build/esm/ThemeExplorer/FontAutoComplete.js +28 -48
  410. package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -1
  411. package/build/esm/ThemeExplorer/TextFieldColorPicker.d.ts +8 -9
  412. package/build/esm/ThemeExplorer/TextFieldColorPicker.js +29 -60
  413. package/build/esm/ThemeExplorer/TextFieldColorPicker.js.map +1 -1
  414. package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +11 -11
  415. package/build/esm/ThemeExplorer/ThemeBuilder.js +155 -184
  416. package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
  417. package/build/esm/ThemeExplorer/ThemeColors.d.ts +4 -5
  418. package/build/esm/ThemeExplorer/ThemeColors.js +54 -54
  419. package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
  420. package/build/esm/ThemeExplorer/components.d.ts +31 -31
  421. package/build/esm/ThemeExplorer/components.js +52 -61
  422. package/build/esm/ThemeExplorer/components.js.map +1 -1
  423. package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -1
  424. package/build/esm/ThemeExplorer/googleFonts.js +1 -1
  425. package/build/esm/ThemeExplorer/googleFonts.js.map +1 -1
  426. package/build/esm/ThemeExplorer/index.d.ts +1 -1
  427. package/build/esm/ThemeExplorer/index.js.map +1 -1
  428. package/build/esm/ThemeExplorer/makeColorScheme.d.ts +98 -98
  429. package/build/esm/ThemeExplorer/makeColorScheme.js +0 -1
  430. package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
  431. package/build/esm/ThemeExplorer/makeTailwindTheme.d.ts +2 -2
  432. package/build/esm/ThemeExplorer/makeTailwindTheme.js +20 -20
  433. package/build/esm/ThemeExplorer/makeTailwindTheme.js.map +1 -1
  434. package/build/esm/ThemeExplorer/updateGoogleFonts.js +23 -64
  435. package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -1
  436. package/build/esm/ThemeExplorer/useDeferredColor.d.ts +3 -3
  437. package/build/esm/ThemeExplorer/useDeferredColor.js +2 -9
  438. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  439. package/build/esm/ThemeExplorer/useLocalStorageCachedState.d.ts +1 -1
  440. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js +2 -10
  441. package/build/esm/ThemeExplorer/useLocalStorageCachedState.js.map +1 -1
  442. package/build/esm/Tooltip/Tooltip.d.ts +8 -8
  443. package/build/esm/Tooltip/Tooltip.js +21 -25
  444. package/build/esm/Tooltip/Tooltip.js.map +1 -1
  445. package/build/esm/Tooltip/index.d.ts +1 -1
  446. package/build/esm/Tooltip/index.js.map +1 -1
  447. package/build/esm/color.d.ts +8 -8
  448. package/build/esm/color.js +23 -31
  449. package/build/esm/color.js.map +1 -1
  450. package/build/esm/css.d.ts +1 -1
  451. package/build/esm/css.js.map +1 -1
  452. package/build/esm/hooks/useAnimation.d.ts +20 -20
  453. package/build/esm/hooks/useAnimation.js +42 -53
  454. package/build/esm/hooks/useAnimation.js.map +1 -1
  455. package/build/esm/index.d.ts +42 -42
  456. package/build/esm/index.js.map +1 -1
  457. package/build/esm/motion.d.ts +7 -7
  458. package/build/esm/motion.js +7 -7
  459. package/build/esm/motion.js.map +1 -1
  460. package/build/esm/tailwind/extendColors.d.ts +5 -5
  461. package/build/esm/tailwind/extendColors.js +17 -29
  462. package/build/esm/tailwind/extendColors.js.map +1 -1
  463. package/build/esm/tailwind/index.d.ts +8 -8
  464. package/build/esm/tailwind/index.js +17 -29
  465. package/build/esm/tailwind/index.js.map +1 -1
  466. package/build/esm/theme/index.d.ts +2 -2
  467. package/build/esm/theme/index.js.map +1 -1
  468. package/build/esm/theme/theme.d.ts +590 -562
  469. package/build/esm/theme/theme.js +49 -22
  470. package/build/esm/theme/theme.js.map +1 -1
  471. package/build/esm/theme/typography-raleway.d.ts +112 -112
  472. package/build/esm/theme/typography-raleway.js +1 -1
  473. package/build/esm/theme/typography-raleway.js.map +1 -1
  474. package/build/esm/theme/typography-roboto.d.ts +111 -111
  475. package/build/esm/theme/typography-roboto.js +1 -1
  476. package/build/esm/theme/typography-roboto.js.map +1 -1
  477. package/build/esm/theme/useTheme.d.ts +594 -566
  478. package/build/esm/theme/useTheme.js +1 -3
  479. package/build/esm/theme/useTheme.js.map +1 -1
  480. package/build/tsconfig-build.tsbuildinfo +1 -1
  481. package/package.json +12 -11
  482. package/src/Alert/index.ts +1 -1
  483. package/src/AppBar/AppBar.story.tsx +69 -69
  484. package/src/AppBar/AppBar.tsx +85 -85
  485. package/src/AppBar/AppBarButton.tsx +25 -25
  486. package/src/AppBar/context.ts +13 -13
  487. package/src/AppBar/index.ts +3 -3
  488. package/src/Badge/Badge.story.tsx +68 -68
  489. package/src/Badge/Badge.tsx +47 -47
  490. package/src/Badge/index.ts +1 -1
  491. package/src/BaseLine/BaseLine.tsx +100 -100
  492. package/src/BaseLine/index.ts +1 -1
  493. package/src/BottomSheet/BottomSheet.story.tsx +35 -35
  494. package/src/BottomSheet/BottomSheet.tsx +39 -39
  495. package/src/BottomSheet/BottomSheetSurface.tsx +49 -49
  496. package/src/BottomSheet/index.ts +1 -1
  497. package/src/Box/Box.tsx +133 -127
  498. package/src/Box/index.ts +1 -1
  499. package/src/Button/BaseButton.tsx +123 -18
  500. package/src/Button/Button.story.tsx +236 -72
  501. package/src/Button/Button.tsx +44 -15
  502. package/src/Button/ButtonGroup.story.tsx +263 -101
  503. package/src/Button/ButtonGroup.tsx +103 -7
  504. package/src/Button/FilledButton.tsx +2 -43
  505. package/src/Button/FloatingActionButton.tsx +14 -9
  506. package/src/Button/IconFilledButton.tsx +3 -0
  507. package/src/Button/IconOutlinedButton.tsx +3 -0
  508. package/src/Button/OutlinedButton.tsx +2 -41
  509. package/src/Button/SpinnerButton.story.tsx +91 -91
  510. package/src/Button/SplitButton.story.tsx +110 -0
  511. package/src/Button/SplitButton.tsx +40 -0
  512. package/src/Button/TransparentButton.tsx +1 -43
  513. package/src/Button/context.tsx +19 -17
  514. package/src/Button/index.ts +3 -2
  515. package/src/CheckBox/CheckBox.story.tsx +155 -155
  516. package/src/CheckBox/CheckBox.tsx +170 -170
  517. package/src/CheckBox/CheckBoxIcon.tsx +63 -64
  518. package/src/CheckBox/CheckPath.tsx +18 -18
  519. package/src/CheckBox/IndeterminatePath.tsx +16 -16
  520. package/src/CheckBox/index.ts +1 -1
  521. package/src/Chip/ButtonChip.tsx +86 -86
  522. package/src/Chip/Chip.story.tsx +242 -242
  523. package/src/Chip/Chip.tsx +5 -5
  524. package/src/Chip/ChipBase.tsx +141 -141
  525. package/src/Chip/ChoiceChip.tsx +127 -127
  526. package/src/Chip/index.ts +2 -2
  527. package/src/Combobox/Combobox.tsx +274 -274
  528. package/src/Combobox/index.ts +1 -1
  529. package/src/Dialog/Dialog.story.tsx +53 -53
  530. package/src/Dialog/Dialog.tsx +73 -73
  531. package/src/Dialog/DialogBackdrop.tsx +42 -42
  532. package/src/Dialog/DialogContainer.tsx +31 -31
  533. package/src/Dialog/DialogSurface.tsx +55 -55
  534. package/src/Dialog/Scrim.tsx +35 -35
  535. package/src/Dialog/index.ts +2 -2
  536. package/src/Dialog/useDialogAnimation.tsx +59 -49
  537. package/src/Divider/Divider.story.tsx +39 -39
  538. package/src/Divider/Divider.tsx +48 -48
  539. package/src/Divider/index.ts +1 -1
  540. package/src/FloatingLabel/FloatingLabel.story.tsx +55 -55
  541. package/src/FloatingLabel/FloatingLabel.tsx +77 -77
  542. package/src/FloatingLabel/index.ts +1 -1
  543. package/src/LineRipple/LineRipple.story.tsx +43 -43
  544. package/src/LineRipple/LineRipple.tsx +81 -81
  545. package/src/LineRipple/index.ts +1 -1
  546. package/src/Link/Link.story.tsx +14 -14
  547. package/src/Link/Link.tsx +65 -65
  548. package/src/Link/index.ts +1 -1
  549. package/src/List/List.tsx +46 -46
  550. package/src/List/index.ts +1 -1
  551. package/src/ListItem/ListItem.story.tsx +43 -43
  552. package/src/ListItem/ListItem.tsx +104 -104
  553. package/src/ListItem/ListItemText.tsx +35 -35
  554. package/src/ListItem/index.ts +2 -2
  555. package/src/Menu/ContextMenu.story.tsx +34 -34
  556. package/src/Menu/Menu.story.tsx +54 -54
  557. package/src/Menu/Menu.tsx +124 -124
  558. package/src/Menu/animation.ts +16 -16
  559. package/src/Menu/index.ts +2 -2
  560. package/src/NavRail/NavRail.story.tsx +146 -146
  561. package/src/NavRail/NavRailItem.tsx +176 -175
  562. package/src/NavRail/icons/test-icons.tsx +46 -46
  563. package/src/NavRail/index.ts +1 -1
  564. package/src/NotchedOutline/NotchedOutline.story.tsx +99 -99
  565. package/src/NotchedOutline/NotchedOutline.tsx +80 -80
  566. package/src/NotchedOutline/context.ts +12 -12
  567. package/src/NotchedOutline/index.ts +1 -1
  568. package/src/NotchedOutline/styledComponents.ts +122 -122
  569. package/src/Paper/Paper.story.tsx +50 -50
  570. package/src/Paper/Paper.tsx +67 -67
  571. package/src/Paper/index.ts +1 -1
  572. package/src/Popover/PopoverSurface.tsx +51 -51
  573. package/src/Popover/index.ts +1 -1
  574. package/src/ProgressSpinner/ProgressSpinner.story.tsx +35 -35
  575. package/src/ProgressSpinner/ProgressSpinner.tsx +119 -119
  576. package/src/ProgressSpinner/index.ts +1 -1
  577. package/src/RadioButton/RadioButton.story.tsx +109 -109
  578. package/src/RadioButton/RadioButton.tsx +112 -112
  579. package/src/RadioButton/RadioButtonIcon.tsx +44 -44
  580. package/src/RadioButton/RadioGroup.tsx +26 -27
  581. package/src/RadioButton/index.ts +2 -2
  582. package/src/Ripple/Ripple.story.tsx +78 -78
  583. package/src/Ripple/Ripple.tsx +33 -33
  584. package/src/Ripple/RippleBox.tsx +52 -52
  585. package/src/Ripple/constants.ts +15 -15
  586. package/src/Ripple/index.ts +5 -5
  587. package/src/Ripple/keyframes.ts +36 -36
  588. package/src/Ripple/useRipple.ts +209 -209
  589. package/src/Ripple/useRippleHandlers.ts +54 -54
  590. package/src/Ripple/useRippleSurface.ts +162 -155
  591. package/src/SearchBar/SearchBar.tsx +5 -6
  592. package/src/Select/CustomContainerExample.tsx +59 -59
  593. package/src/Select/PaymentMethodSelect.story.tsx +320 -316
  594. package/src/Select/Select.story.tsx +225 -225
  595. package/src/Select/Select.tsx +284 -283
  596. package/src/Select/SelectIcon.tsx +43 -43
  597. package/src/Select/SelectMultiple.story.tsx +214 -215
  598. package/src/Select/context.ts +22 -22
  599. package/src/Select/defaultRender.tsx +60 -49
  600. package/src/Select/index.ts +1 -1
  601. package/src/Select/styledComponents.tsx +38 -38
  602. package/src/SelectItem/SelectItem.tsx +92 -92
  603. package/src/SelectItem/index.ts +1 -1
  604. package/src/SelectionControl/SelectionControlLabel.tsx +34 -34
  605. package/src/SelectionControl/SelectionControlText.tsx +37 -37
  606. package/src/SelectionControl/index.ts +2 -2
  607. package/src/Skeleton/DelayAppearance.tsx +41 -41
  608. package/src/Skeleton/Skeleton.story.tsx +57 -57
  609. package/src/Skeleton/Skeleton.tsx +40 -40
  610. package/src/Skeleton/animation.ts +54 -54
  611. package/src/Skeleton/index.ts +2 -2
  612. package/src/Slider/Slider.story.tsx +36 -36
  613. package/src/Slider/Slider.tsx +275 -275
  614. package/src/Slider/index.ts +1 -1
  615. package/src/Snackbar/Snackbar.story.tsx +99 -99
  616. package/src/Snackbar/Snackbar.tsx +19 -16
  617. package/src/Switch/Switch.story.tsx +97 -98
  618. package/src/Switch/Switch.tsx +170 -170
  619. package/src/Switch/index.ts +1 -1
  620. package/src/Switch/styledComponents.tsx +117 -117
  621. package/src/Tab/Tab.story.tsx +209 -209
  622. package/src/Tab/Tab.tsx +120 -120
  623. package/src/Tab/TabList.tsx +61 -61
  624. package/src/Tab/TabPanel.tsx +31 -31
  625. package/src/Tab/TabPanels.tsx +5 -5
  626. package/src/Tab/Tabs.tsx +5 -5
  627. package/src/Tab/context.ts +17 -17
  628. package/src/Tab/index.ts +5 -5
  629. package/src/TabIndicator/TabIndicator.tsx +146 -146
  630. package/src/TabIndicator/context.ts +13 -13
  631. package/src/TabIndicator/index.ts +2 -2
  632. package/src/Table/context.ts +6 -6
  633. package/src/Text/LoremIpsum.tsx +18 -18
  634. package/src/Text/Text.story.tsx +79 -75
  635. package/src/Text/Text.tsx +84 -84
  636. package/src/Text/index.ts +1 -1
  637. package/src/TextField/FilledContainer.tsx +173 -173
  638. package/src/TextField/HelperText.tsx +63 -63
  639. package/src/TextField/OutlinedContainer.tsx +116 -116
  640. package/src/TextField/consts.ts +7 -7
  641. package/src/TextField/index.ts +4 -4
  642. package/src/ThemeExplorer/BorderSlider.tsx +73 -73
  643. package/src/ThemeExplorer/ColorPicker.tsx +104 -104
  644. package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -55
  645. package/src/ThemeExplorer/FontAutoComplete.tsx +139 -139
  646. package/src/ThemeExplorer/TextFieldColorPicker.tsx +112 -115
  647. package/src/ThemeExplorer/ThemeBuilder.story.tsx +8 -8
  648. package/src/ThemeExplorer/ThemeBuilder.tsx +437 -353
  649. package/src/ThemeExplorer/ThemeColors.tsx +122 -118
  650. package/src/ThemeExplorer/components.tsx +195 -195
  651. package/src/ThemeExplorer/googleFonts.ts +1436 -1436
  652. package/src/ThemeExplorer/index.ts +1 -1
  653. package/src/ThemeExplorer/makeColorScheme.tsx +111 -111
  654. package/src/ThemeExplorer/makeTailwindTheme.ts +44 -44
  655. package/src/ThemeExplorer/updateGoogleFonts.js +32 -33
  656. package/src/ThemeExplorer/useDeferredColor.tsx +21 -21
  657. package/src/ThemeExplorer/useLocalStorageCachedState.ts +18 -18
  658. package/src/Tooltip/Tooltip.story.tsx +35 -35
  659. package/src/Tooltip/Tooltip.tsx +67 -67
  660. package/src/Tooltip/index.ts +1 -1
  661. package/src/css.ts +2 -2
  662. package/src/hooks/useAnimation.ts +111 -111
  663. package/src/motion.ts +7 -7
  664. package/src/tailwind/extendColors.ts +51 -51
  665. package/src/tailwind/index.ts +57 -56
  666. package/src/tailwind/tests/extendColors.test.ts +123 -123
  667. package/src/theme/index.ts +2 -2
  668. package/src/theme/theme.ts +36 -8
  669. package/src/theme/typography-raleway.ts +114 -114
  670. package/src/theme/typography-roboto.ts +113 -113
  671. package/src/theme/useTheme.ts +17 -18
  672. package/tailwind/package.json +5 -5
  673. package/theme-explorer/package.json +5 -5
@@ -1,34 +1,28 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["label", "labelIsFloating", "inputId", "hasFocus", "color", "children", "error", "disabled", "forceActive", "leadingIcon"];
4
1
  import { forwardRef } from 'react';
5
2
  import { alpha } from '../color';
6
3
  import { Box } from '../Box';
7
4
  import { FilledContainerOverlay } from '../';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
- export var CustomContainer = /*#__PURE__*/forwardRef(function CustomContainer(props, forwardedRef) {
11
- var label = props.label,
12
- labelIsFloating = props.labelIsFloating,
13
- inputId = props.inputId,
14
- hasFocus = props.hasFocus,
15
- colorProp = props.color,
16
- children = props.children,
17
- _props$error = props.error,
18
- error = _props$error === void 0 ? false : _props$error,
19
- _props$disabled = props.disabled,
20
- disabled = _props$disabled === void 0 ? false : _props$disabled,
21
- _props$forceActive = props.forceActive,
22
- forceActive = _props$forceActive === void 0 ? false : _props$forceActive,
23
- leadingIcon = props.leadingIcon,
24
- otherProps = _objectWithoutProperties(props, _excluded);
25
-
26
- var active = hasFocus || forceActive;
27
- return /*#__PURE__*/_jsxs(Box, _extends(_extends({
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export const CustomContainer = /*#__PURE__*/forwardRef(function CustomContainer(props, forwardedRef) {
7
+ const {
8
+ label,
9
+ labelIsFloating,
10
+ inputId,
11
+ hasFocus,
12
+ color: colorProp,
13
+ children,
14
+ error = false,
15
+ disabled = false,
16
+ forceActive = false,
17
+ leadingIcon,
18
+ ...otherProps
19
+ } = props;
20
+ const active = hasFocus || forceActive;
21
+ return /*#__PURE__*/_jsxs(Box, {
28
22
  ref: forwardedRef,
29
23
  disabled: disabled,
30
24
  active: active || error,
31
- __css: _extends(_extends(_extends({
25
+ __css: {
32
26
  variant: 'text.label-small',
33
27
  position: 'relative',
34
28
  lineHeight: 0,
@@ -37,23 +31,24 @@ export var CustomContainer = /*#__PURE__*/forwardRef(function CustomContainer(pr
37
31
  overflow: 'hidden',
38
32
  boxSizing: 'border-box',
39
33
  borderRadius: 'full',
40
- color: alpha('on.surface-variant', 0.87)
41
- }, disabled && {
42
- backgroundColor: alpha('on.surface-variant', 0.08),
43
- color: alpha('on.surface-variant', 0.38)
44
- }), active && {
45
- color: 'primary'
46
- }), {}, {
34
+ color: alpha('on.surface-variant', 0.87),
35
+ ...(disabled && {
36
+ backgroundColor: alpha('on.surface-variant', 0.08),
37
+ color: alpha('on.surface-variant', 0.38)
38
+ }),
39
+ ...(active && {
40
+ color: 'primary'
41
+ }),
47
42
  '& > [role="button"]': {
48
43
  variant: 'text.label-medium',
49
44
  minHeight: 32,
50
45
  py: 0
51
46
  }
52
- })
53
- }, otherProps), {}, {
47
+ },
48
+ ...otherProps,
54
49
  children: [children, /*#__PURE__*/_jsx(FilledContainerOverlay, {
55
50
  forceActive: active
56
51
  })]
57
- }));
52
+ });
58
53
  });
59
54
  //# sourceMappingURL=CustomContainerExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomContainerExample.js","names":["forwardRef","alpha","Box","FilledContainerOverlay","CustomContainer","props","forwardedRef","label","labelIsFloating","inputId","hasFocus","colorProp","color","children","error","disabled","forceActive","leadingIcon","otherProps","active","variant","position","lineHeight","width","height","overflow","boxSizing","borderRadius","backgroundColor","minHeight","py"],"sources":["../../../src/Select/CustomContainerExample.tsx"],"sourcesContent":["import { forwardRef } from 'react';\r\n\r\nimport { alpha } from '../color';\r\nimport { Box } from '../Box';\r\nimport type { FilledContainerProps } from '../';\r\nimport { FilledContainerOverlay } from '../';\r\n\r\nexport const CustomContainer = forwardRef<HTMLDivElement, FilledContainerProps>(\r\n function CustomContainer(props, forwardedRef) {\r\n const {\r\n label,\r\n labelIsFloating,\r\n inputId,\r\n hasFocus,\r\n color: colorProp,\r\n children,\r\n error = false,\r\n disabled = false,\r\n forceActive = false,\r\n leadingIcon,\r\n ...otherProps\r\n } = props;\r\n\r\n const active = hasFocus || forceActive;\r\n\r\n return (\r\n <Box\r\n ref={forwardedRef}\r\n disabled={disabled}\r\n active={active || error}\r\n __css={{\r\n variant: 'text.label-small',\r\n position: 'relative',\r\n lineHeight: 0,\r\n width: '100%',\r\n height: 32,\r\n overflow: 'hidden',\r\n boxSizing: 'border-box',\r\n borderRadius: 'full',\r\n color: alpha('on.surface-variant', 0.87),\r\n ...(disabled && {\r\n backgroundColor: alpha('on.surface-variant', 0.08),\r\n color: alpha('on.surface-variant', 0.38),\r\n }),\r\n ...(active && { color: 'primary' }),\r\n '& > [role=\"button\"]': {\r\n variant: 'text.label-medium',\r\n minHeight: 32,\r\n py: 0,\r\n },\r\n }}\r\n {...otherProps}\r\n >\r\n {children}\r\n <FilledContainerOverlay forceActive={active} />\r\n </Box>\r\n );\r\n }\r\n);\r\n"],"mappings":";;;AAAA,SAASA,UAAT,QAA2B,OAA3B;AAEA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA,SAASC,sBAAT,QAAuC,KAAvC;;;AAEA,OAAO,IAAMC,eAAe,gBAAGJ,UAAU,CACvC,SAASI,eAAT,CAAyBC,KAAzB,EAAgCC,YAAhC,EAA8C;EAC5C,IACEC,KADF,GAYIF,KAZJ,CACEE,KADF;EAAA,IAEEC,eAFF,GAYIH,KAZJ,CAEEG,eAFF;EAAA,IAGEC,OAHF,GAYIJ,KAZJ,CAGEI,OAHF;EAAA,IAIEC,QAJF,GAYIL,KAZJ,CAIEK,QAJF;EAAA,IAKSC,SALT,GAYIN,KAZJ,CAKEO,KALF;EAAA,IAMEC,QANF,GAYIR,KAZJ,CAMEQ,QANF;EAAA,mBAYIR,KAZJ,CAOES,KAPF;EAAA,IAOEA,KAPF,6BAOU,KAPV;EAAA,sBAYIT,KAZJ,CAQEU,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,yBAYIV,KAZJ,CASEW,WATF;EAAA,IASEA,WATF,mCASgB,KAThB;EAAA,IAUEC,WAVF,GAYIZ,KAZJ,CAUEY,WAVF;EAAA,IAWKC,UAXL,4BAYIb,KAZJ;;EAcA,IAAMc,MAAM,GAAGT,QAAQ,IAAIM,WAA3B;EAEA,oBACE,MAAC,GAAD;IACE,GAAG,EAAEV,YADP;IAEE,QAAQ,EAAES,QAFZ;IAGE,MAAM,EAAEI,MAAM,IAAIL,KAHpB;IAIE,KAAK;MACHM,OAAO,EAAE,kBADN;MAEHC,QAAQ,EAAE,UAFP;MAGHC,UAAU,EAAE,CAHT;MAIHC,KAAK,EAAE,MAJJ;MAKHC,MAAM,EAAE,EALL;MAMHC,QAAQ,EAAE,QANP;MAOHC,SAAS,EAAE,YAPR;MAQHC,YAAY,EAAE,MARX;MASHf,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IATT,GAUCc,QAAQ,IAAI;MACda,eAAe,EAAE3B,KAAK,CAAC,oBAAD,EAAuB,IAAvB,CADR;MAEdW,KAAK,EAAEX,KAAK,CAAC,oBAAD,EAAuB,IAAvB;IAFE,CAVb,GAcCkB,MAAM,IAAI;MAAEP,KAAK,EAAE;IAAT,CAdX;MAeH,uBAAuB;QACrBQ,OAAO,EAAE,mBADY;QAErBS,SAAS,EAAE,EAFU;QAGrBC,EAAE,EAAE;MAHiB;IAfpB;EAJP,GAyBMZ,UAzBN;IAAA,WA2BGL,QA3BH,eA4BE,KAAC,sBAAD;MAAwB,WAAW,EAAEM;IAArC,EA5BF;EAAA,GADF;AAgCD,CAlDsC,CAAlC"}
1
+ {"version":3,"file":"CustomContainerExample.js","names":["forwardRef","alpha","Box","FilledContainerOverlay","jsx","_jsx","jsxs","_jsxs","CustomContainer","props","forwardedRef","label","labelIsFloating","inputId","hasFocus","color","colorProp","children","error","disabled","forceActive","leadingIcon","otherProps","active","ref","__css","variant","position","lineHeight","width","height","overflow","boxSizing","borderRadius","backgroundColor","minHeight","py"],"sources":["../../../src/Select/CustomContainerExample.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { alpha } from '../color';\nimport { Box } from '../Box';\nimport type { FilledContainerProps } from '../';\nimport { FilledContainerOverlay } from '../';\n\nexport const CustomContainer = forwardRef<HTMLDivElement, FilledContainerProps>(\n function CustomContainer(props, forwardedRef) {\n const {\n label,\n labelIsFloating,\n inputId,\n hasFocus,\n color: colorProp,\n children,\n error = false,\n disabled = false,\n forceActive = false,\n leadingIcon,\n ...otherProps\n } = props;\n\n const active = hasFocus || forceActive;\n\n return (\n <Box\n ref={forwardedRef}\n disabled={disabled}\n active={active || error}\n __css={{\n variant: 'text.label-small',\n position: 'relative',\n lineHeight: 0,\n width: '100%',\n height: 32,\n overflow: 'hidden',\n boxSizing: 'border-box',\n borderRadius: 'full',\n color: alpha('on.surface-variant', 0.87),\n ...(disabled && {\n backgroundColor: alpha('on.surface-variant', 0.08),\n color: alpha('on.surface-variant', 0.38),\n }),\n ...(active && { color: 'primary' }),\n '& > [role=\"button\"]': {\n variant: 'text.label-medium',\n minHeight: 32,\n py: 0,\n },\n }}\n {...otherProps}\n >\n {children}\n <FilledContainerOverlay forceActive={active} />\n </Box>\n );\n }\n);\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,GAAG,QAAQ,QAAQ;AAE5B,SAASC,sBAAsB,QAAQ,KAAK;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,OAAO,MAAMC,eAAe,gBAAGR,UAAU,CACvC,SAASQ,eAAeA,CAACC,KAAK,EAAEC,YAAY,EAAE;EAC5C,MAAM;IACJC,KAAK;IACLC,eAAe;IACfC,OAAO;IACPC,QAAQ;IACRC,KAAK,EAAEC,SAAS;IAChBC,QAAQ;IACRC,KAAK,GAAG,KAAK;IACbC,QAAQ,GAAG,KAAK;IAChBC,WAAW,GAAG,KAAK;IACnBC,WAAW;IACX,GAAGC;EACL,CAAC,GAAGb,KAAK;EAET,MAAMc,MAAM,GAAGT,QAAQ,IAAIM,WAAW;EAEtC,oBACEb,KAAA,CAACL,GAAG;IACFsB,GAAG,EAAEd,YAAa;IAClBS,QAAQ,EAAEA,QAAS;IACnBI,MAAM,EAAEA,MAAM,IAAIL,KAAM;IACxBO,KAAK,EAAE;MACLC,OAAO,EAAE,kBAAkB;MAC3BC,QAAQ,EAAE,UAAU;MACpBC,UAAU,EAAE,CAAC;MACbC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,EAAE;MACVC,QAAQ,EAAE,QAAQ;MAClBC,SAAS,EAAE,YAAY;MACvBC,YAAY,EAAE,MAAM;MACpBlB,KAAK,EAAEd,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC;MACxC,IAAIkB,QAAQ,IAAI;QACde,eAAe,EAAEjC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAClDc,KAAK,EAAEd,KAAK,CAAC,oBAAoB,EAAE,IAAI;MACzC,CAAC,CAAC;MACF,IAAIsB,MAAM,IAAI;QAAER,KAAK,EAAE;MAAU,CAAC,CAAC;MACnC,qBAAqB,EAAE;QACrBW,OAAO,EAAE,mBAAmB;QAC5BS,SAAS,EAAE,EAAE;QACbC,EAAE,EAAE;MACN;IACF,CAAE;IAAA,GACEd,UAAU;IAAAL,QAAA,GAEbA,QAAQ,eACTZ,IAAA,CAACF,sBAAsB;MAACiB,WAAW,EAAEG;IAAO,CAAE,CAAC;EAAA,CAC5C,CAAC;AAEV,CACF,CAAC","ignoreList":[]}
@@ -1,32 +1,33 @@
1
- import type { SelectHTMLAttributes, ReactNode, ChangeEvent, ComponentType, ReactElement, Ref } from 'react';
2
- import type { Theme } from '../theme';
3
- import type { FilledContainerProps } from '../TextField/FilledContainer';
4
- import type { BoxProps } from '../Box';
5
- interface BaseSelectProps extends Omit<BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>, 'value' | 'defaultValue' | 'onChange'> {
6
- variant?: 'outlined' | 'filled';
7
- color?: 'primary' | 'secondary';
8
- label?: ReactNode;
9
- helperText?: string;
10
- native?: boolean;
11
- theme?: Theme;
12
- error?: boolean | string;
13
- leadingIcon?: ReactNode;
14
- CustomContainer?: ComponentType<FilledContainerProps>;
15
- }
16
- export declare type SelectProps<ValueType extends string> = BaseSelectProps & ({
17
- multiple?: false | undefined;
18
- value?: ValueType;
19
- defaultValue?: ValueType;
20
- onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType) => void;
21
- renderValue?: (value?: ValueType | '') => ReactNode;
22
- } | {
23
- multiple: true;
24
- value?: ValueType[];
25
- defaultValue?: ValueType[];
26
- onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType[]) => void;
27
- renderValue?: (value?: ValueType[]) => ReactNode;
28
- });
29
- export declare const Select: <ValueType extends string>(p: SelectProps<ValueType> & {
30
- ref?: Ref<HTMLButtonElement | HTMLSelectElement> | undefined;
31
- }) => ReactElement;
32
- export {};
1
+ import type { SelectHTMLAttributes, ReactNode, ChangeEvent, ComponentType, ReactElement, Ref } from 'react';
2
+ import type { Theme } from '../theme';
3
+ import type { FilledContainerProps } from '../TextField/FilledContainer';
4
+ import type { BoxProps } from '../Box';
5
+ interface BaseSelectProps extends Omit<BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>, 'value' | 'defaultValue' | 'onChange'> {
6
+ variant?: 'outlined' | 'filled';
7
+ color?: 'primary' | 'secondary';
8
+ label?: ReactNode;
9
+ placeholder?: string;
10
+ helperText?: string;
11
+ native?: boolean;
12
+ theme?: Theme;
13
+ error?: boolean | string;
14
+ leadingIcon?: ReactNode;
15
+ CustomContainer?: ComponentType<FilledContainerProps>;
16
+ }
17
+ export type SelectProps<ValueType extends string> = BaseSelectProps & ({
18
+ multiple?: false | undefined;
19
+ value?: ValueType;
20
+ defaultValue?: ValueType;
21
+ onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType) => void;
22
+ renderValue?: (value?: ValueType | '') => ReactNode;
23
+ } | {
24
+ multiple: true;
25
+ value?: ValueType[];
26
+ defaultValue?: ValueType[];
27
+ onChange?: (e: ChangeEvent<HTMLSelectElement>, value: ValueType[]) => void;
28
+ renderValue?: (value?: ValueType[]) => ReactNode;
29
+ });
30
+ export declare const Select: <ValueType extends string>(p: SelectProps<ValueType> & {
31
+ ref?: Ref<HTMLSelectElement | HTMLButtonElement>;
32
+ }) => ReactElement;
33
+ export {};
@@ -1,8 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["id", "name", "variant", "color", "value", "defaultValue", "disabled", "error", "label", "placeholder", "helperText", "onChange", "onFocus", "onBlur", "native", "multiple", "children", "renderValue", "leadingIcon", "CustomContainer"];
6
1
  import { useMemo, forwardRef, useState, useRef, useEffect, useId } from 'react';
7
2
  import { wrapEvent, assignMultipleRefs, useControlledState } from '@basic-ui/core';
8
3
  import { useTheme } from '../theme';
@@ -17,102 +12,65 @@ import { makeDefaultMultipleRender, makeDefaultRender } from './defaultRender';
17
12
  import { Box } from '../Box';
18
13
  import { IconContainer } from '../TextField/IconContainer';
19
14
  import { listItemStyle } from '../ListItem';
20
- import { jsx as _jsx } from "react/jsx-runtime";
21
- import { jsxs as _jsxs } from "react/jsx-runtime";
22
- var componentMap = {
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ const componentMap = {
23
17
  outlined: OutlinedContainer,
24
18
  filled: FilledContainer
25
19
  };
26
- export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef) {
27
- var _buttonRef$current;
28
-
29
- var idProp = props.id,
30
- name = props.name,
31
- _props$variant = props.variant,
32
- variant = _props$variant === void 0 ? 'outlined' : _props$variant,
33
- _props$color = props.color,
34
- color = _props$color === void 0 ? 'primary' : _props$color,
35
- valueProp = props.value,
36
- _props$defaultValue = props.defaultValue,
37
- defaultValue = _props$defaultValue === void 0 ? props.multiple ? [] : '' : _props$defaultValue,
38
- disabled = props.disabled,
39
- _props$error = props.error,
40
- error = _props$error === void 0 ? false : _props$error,
41
- _props$label = props.label,
42
- label = _props$label === void 0 ? null : _props$label,
43
- placeholder = props.placeholder,
44
- helperTextProp = props.helperText,
45
- onChangeProp = props.onChange,
46
- onFocus = props.onFocus,
47
- onBlur = props.onBlur,
48
- _props$native = props.native,
49
- native = _props$native === void 0 ? false : _props$native,
50
- _props$multiple = props.multiple,
51
- multiple = _props$multiple === void 0 ? false : _props$multiple,
52
- children = props.children,
53
- renderValueProp = props.renderValue,
54
- _props$leadingIcon = props.leadingIcon,
55
- leadingIcon = _props$leadingIcon === void 0 ? null : _props$leadingIcon,
56
- overwrittenContainer = props.CustomContainer,
57
- otherProps = _objectWithoutProperties(props, _excluded);
58
-
59
- var _useControlledState = useControlledState(valueProp, onChangeProp, defaultValue, function (setState) {
60
- return function (e, v) {
61
- setState(v);
62
- };
63
- }),
64
- _useControlledState2 = _slicedToArray(_useControlledState, 2),
65
- value = _useControlledState2[0],
66
- onChange = _useControlledState2[1];
67
-
20
+ export const Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef) {
21
+ const {
22
+ id: idProp,
23
+ name,
24
+ variant = 'outlined',
25
+ color = 'primary',
26
+ value: valueProp,
27
+ defaultValue = props.multiple ? [] : '',
28
+ disabled,
29
+ error = false,
30
+ label = null,
31
+ placeholder,
32
+ helperText: helperTextProp,
33
+ onChange: onChangeProp,
34
+ onFocus,
35
+ onBlur,
36
+ native = false,
37
+ multiple = false,
38
+ children,
39
+ renderValue: renderValueProp,
40
+ leadingIcon = null,
41
+ CustomContainer: overwrittenContainer,
42
+ ...otherProps
43
+ } = props;
44
+ const [value, onChange] = useControlledState(valueProp, onChangeProp, defaultValue, setState => (e, v) => {
45
+ setState(v);
46
+ });
68
47
  if (multiple && !Array.isArray(value)) {
69
48
  console.warn('Warning: The `value` prop supplied to <Select> must be an array if `multiple` is true.');
70
49
  }
71
-
72
- var _useState = useState(false),
73
- _useState2 = _slicedToArray(_useState, 2),
74
- hasFocus = _useState2[0],
75
- setHasFocus = _useState2[1];
76
-
77
- var buttonRef = useRef();
78
-
79
- var _useState3 = useState(false),
80
- _useState4 = _slicedToArray(_useState3, 2),
81
- open = _useState4[0],
82
- setOpen = _useState4[1];
83
-
84
- var fallbackId = useId();
85
- var theme = useTheme();
86
- var Container = overwrittenContainer || componentMap[variant] || OutlinedContainer;
87
-
88
- var handleFocus = function handleFocus() {
50
+ const [hasFocus, setHasFocus] = useState(false);
51
+ const buttonRef = useRef(null);
52
+ const [open, setOpen] = useState(false);
53
+ const fallbackId = useId();
54
+ const theme = useTheme();
55
+ const Container = overwrittenContainer || componentMap[variant] || OutlinedContainer;
56
+ const handleFocus = () => {
89
57
  setHasFocus(true);
90
58
  };
91
-
92
- var handleBlur = function handleBlur() {
59
+ const handleBlur = () => {
93
60
  setHasFocus(false);
94
61
  };
95
-
96
- var handleToggle = function handleToggle(e, isOpen) {
62
+ const handleToggle = (e, isOpen) => {
97
63
  setOpen(isOpen);
98
64
  };
99
-
100
- var handleOnChange = function handleOnChange(e) {
101
- var selectedValue = native ? e.target.value : e.currentTarget.dataset.value;
102
-
65
+ const handleOnChange = e => {
66
+ const selectedValue = native ? e.target.value : e.currentTarget.dataset.value;
103
67
  if (multiple && Array.isArray(value)) {
104
- if (value.find(function (c) {
105
- return c === selectedValue;
106
- })) {
107
- onChange && onChange(e, value.filter(function (c) {
108
- return c !== selectedValue;
109
- }));
68
+ if (value.find(c => c === selectedValue)) {
69
+ onChange && onChange(e, value.filter(c => c !== selectedValue));
110
70
  } else {
111
- onChange && onChange(e, [].concat(_toConsumableArray(value), [selectedValue]));
71
+ onChange && onChange(e, [...value, selectedValue]);
112
72
  }
113
-
114
- var isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));
115
-
73
+ const isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));
116
74
  if (e.key === ' ' || isMac && e.metaKey || !isMac && e.ctrlKey) {
117
75
  e.preventDefault();
118
76
  }
@@ -120,17 +78,13 @@ export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef)
120
78
  onChange && onChange(e, selectedValue);
121
79
  }
122
80
  };
123
-
124
- var hasError = Boolean(error);
125
- var helperText = typeof error === 'string' ? error : helperTextProp;
126
- var id = idProp || fallbackId;
127
- var inputId = "".concat(id, "-text-field");
128
- var helperTextId = helperText ? "".concat(id, "-helper-text") : undefined;
129
- var defaultRenderFn = useMemo(function () {
130
- return multiple ? makeDefaultMultipleRender(children) : makeDefaultRender(children);
131
- }, [children, multiple]);
132
- var renderValue = renderValueProp || defaultRenderFn;
133
-
81
+ const hasError = Boolean(error);
82
+ const helperText = typeof error === 'string' ? error : helperTextProp;
83
+ const id = idProp || fallbackId;
84
+ const inputId = `${id}-text-field`;
85
+ const helperTextId = helperText ? `${id}-helper-text` : undefined;
86
+ const defaultRenderFn = useMemo(() => multiple ? makeDefaultMultipleRender(children) : makeDefaultRender(children), [children, multiple]);
87
+ const renderValue = renderValueProp || defaultRenderFn;
134
88
  function hasAnySelected() {
135
89
  if (multiple) {
136
90
  return value.length > 0;
@@ -138,24 +92,23 @@ export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef)
138
92
  return value !== '';
139
93
  }
140
94
  }
141
-
142
- var labelIsFloating = hasFocus || open || hasAnySelected();
143
- var Comp = native ? SelectComp : SelectButton;
144
- useEffect(function () {
95
+ const labelIsFloating = hasFocus || open || hasAnySelected();
96
+ const Comp = native ? SelectComp : SelectButton;
97
+ useEffect(() => {
145
98
  // right after mounting, if the default value in the select element
146
99
  // is different than the value we have stored in state we need to
147
100
  // update our state to reflect that.
148
101
  if (native && buttonRef.current && buttonRef.current.value !== value) {
149
102
  onChange && onChange({}, buttonRef.current.value);
150
- } // eslint-disable-next-line react-hooks/exhaustive-deps
151
-
103
+ }
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps
152
105
  }, []);
153
106
  return /*#__PURE__*/_jsx(SelectProvider, {
154
107
  value: {
155
- native: native,
108
+ native,
156
109
  onSelect: handleOnChange,
157
- value: value,
158
- multiple: multiple
110
+ value,
111
+ multiple
159
112
  },
160
113
  children: /*#__PURE__*/_jsxs(Box, {
161
114
  display: "inline-flex",
@@ -172,7 +125,7 @@ export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef)
172
125
  labelIsFloating: labelIsFloating,
173
126
  inputId: inputId,
174
127
  hasFocus: hasFocus,
175
- disabled: disabled !== null && disabled !== void 0 ? disabled : false,
128
+ disabled: disabled ?? false,
176
129
  forceActive: open,
177
130
  error: hasError,
178
131
  leadingIcon: Boolean(leadingIcon),
@@ -182,7 +135,7 @@ export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef)
182
135
  children: [leadingIcon && /*#__PURE__*/_jsx(IconContainer, {
183
136
  position: "start",
184
137
  children: leadingIcon
185
- }), /*#__PURE__*/_jsx(Comp, _extends(_extends({
138
+ }), /*#__PURE__*/_jsx(Comp, {
186
139
  ref: assignMultipleRefs(forwardedRef, buttonRef),
187
140
  variant: variant,
188
141
  id: inputId,
@@ -199,19 +152,21 @@ export var Select = /*#__PURE__*/forwardRef(function Select(props, forwardedRef)
199
152
  leadingIcon: Boolean(leadingIcon),
200
153
  name: native ? name : undefined,
201
154
  multiple: native ? multiple : undefined,
202
- trailingIcon: true
203
- }, otherProps), {}, {
155
+ trailingIcon: true,
156
+ ...otherProps,
204
157
  children: native ? children : renderValue(value)
205
- })), !native && /*#__PURE__*/_jsx(MenuPopover, {
158
+ }), !native && /*#__PURE__*/_jsx(MenuPopover, {
206
159
  usePortal: true,
207
160
  children: /*#__PURE__*/_jsx(MenuList, {
208
161
  defaultActiveItemValue: value,
209
162
  style: {
210
- minWidth: buttonRef === null || buttonRef === void 0 ? void 0 : (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.offsetWidth
163
+ minWidth: buttonRef?.current?.offsetWidth
211
164
  },
212
165
  role: "listbox",
213
166
  __css: {
214
- '& [data-menu-item=""]': _extends({}, listItemStyle('primary'))
167
+ '& [data-menu-item=""]': {
168
+ ...listItemStyle('primary')
169
+ }
215
170
  },
216
171
  children: children
217
172
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["useMemo","forwardRef","useState","useRef","useEffect","useId","wrapEvent","assignMultipleRefs","useControlledState","useTheme","Select","SelectComp","SelectButton","FilledContainer","HelperText","OutlinedContainer","SelectProvider","Menu","MenuPopover","MenuList","SelectIcon","makeDefaultMultipleRender","makeDefaultRender","Box","IconContainer","listItemStyle","componentMap","outlined","filled","props","forwardedRef","idProp","id","name","variant","color","valueProp","value","defaultValue","multiple","disabled","error","label","placeholder","helperTextProp","helperText","onChangeProp","onChange","onFocus","onBlur","native","children","renderValueProp","renderValue","leadingIcon","overwrittenContainer","CustomContainer","otherProps","setState","e","v","Array","isArray","console","warn","hasFocus","setHasFocus","buttonRef","open","setOpen","fallbackId","theme","Container","handleFocus","handleBlur","handleToggle","isOpen","handleOnChange","selectedValue","target","currentTarget","dataset","find","c","filter","isMac","Boolean","test","navigator","userAgent","key","metaKey","ctrlKey","preventDefault","hasError","inputId","helperTextId","undefined","defaultRenderFn","hasAnySelected","length","labelIsFloating","Comp","current","onSelect","minWidth","offsetWidth"],"sources":["../../../src/Select/Select.tsx"],"sourcesContent":["import type {\r\n SelectHTMLAttributes,\r\n ReactNode,\r\n ChangeEvent,\r\n ComponentType,\r\n ForwardedRef,\r\n ReactElement,\r\n Ref,\r\n} from 'react';\r\nimport { useMemo, forwardRef, useState, useRef, useEffect, useId } from 'react';\r\nimport {\r\n wrapEvent,\r\n assignMultipleRefs,\r\n useControlledState,\r\n} from '@basic-ui/core';\r\n\r\nimport type { Theme } from '../theme';\r\nimport { useTheme } from '../theme';\r\nimport { Select as SelectComp, SelectButton } from './styledComponents';\r\nimport type { FilledContainerProps } from '../TextField/FilledContainer';\r\nimport { FilledContainer } from '../TextField/FilledContainer';\r\nimport { HelperText } from '../TextField/HelperText';\r\nimport { OutlinedContainer } from '../TextField/OutlinedContainer';\r\nimport { SelectProvider } from './context';\r\nimport { Menu, MenuPopover, MenuList } from '../Menu';\r\nimport { SelectIcon } from './SelectIcon';\r\nimport { makeDefaultMultipleRender, makeDefaultRender } from './defaultRender';\r\nimport type { BoxProps } from '../Box';\r\nimport { Box } from '../Box';\r\nimport { IconContainer } from '../TextField/IconContainer';\r\nimport { listItemStyle } from '../ListItem';\r\n\r\nconst componentMap = {\r\n outlined: OutlinedContainer,\r\n filled: FilledContainer,\r\n};\r\n\r\ninterface BaseSelectProps\r\n extends Omit<\r\n BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>,\r\n 'value' | 'defaultValue' | 'onChange'\r\n > {\r\n variant?: 'outlined' | 'filled';\r\n color?: 'primary' | 'secondary';\r\n label?: ReactNode;\r\n helperText?: string;\r\n native?: boolean;\r\n theme?: Theme;\r\n error?: boolean | string;\r\n leadingIcon?: ReactNode;\r\n CustomContainer?: ComponentType<FilledContainerProps>;\r\n}\r\n\r\nexport type SelectProps<ValueType extends string> = BaseSelectProps &\r\n (\r\n | {\r\n multiple?: false | undefined;\r\n value?: ValueType;\r\n defaultValue?: ValueType;\r\n onChange?: (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType\r\n ) => void;\r\n renderValue?: (value?: ValueType | '') => ReactNode;\r\n }\r\n | {\r\n multiple: true;\r\n value?: ValueType[];\r\n defaultValue?: ValueType[];\r\n onChange?: (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType[]\r\n ) => void;\r\n renderValue?: (value?: ValueType[]) => ReactNode;\r\n }\r\n );\r\n\r\nexport const Select = forwardRef(function Select<ValueType extends string>(\r\n props: SelectProps<ValueType>,\r\n forwardedRef: ForwardedRef<HTMLSelectElement | HTMLButtonElement>\r\n) {\r\n const {\r\n id: idProp,\r\n name,\r\n variant = 'outlined',\r\n color = 'primary',\r\n value: valueProp,\r\n defaultValue = props.multiple ? [] : ('' as const),\r\n disabled,\r\n error = false,\r\n label = null,\r\n placeholder,\r\n helperText: helperTextProp,\r\n onChange: onChangeProp,\r\n onFocus,\r\n onBlur,\r\n native = false,\r\n multiple = false,\r\n children,\r\n renderValue: renderValueProp,\r\n leadingIcon = null,\r\n CustomContainer: overwrittenContainer,\r\n ...otherProps\r\n } = props;\r\n const [value, onChange] = useControlledState(\r\n valueProp,\r\n onChangeProp as (\r\n e: ChangeEvent<HTMLSelectElement>,\r\n value: ValueType | ValueType[]\r\n ) => void,\r\n defaultValue,\r\n (setState) => (e, v: ValueType | ValueType[]) => {\r\n setState(v);\r\n }\r\n );\r\n if (multiple && !Array.isArray(value)) {\r\n console.warn(\r\n 'Warning: The `value` prop supplied to <Select> must be an array if `multiple` is true.'\r\n );\r\n }\r\n\r\n const [hasFocus, setHasFocus] = useState(false);\r\n const buttonRef = useRef<HTMLButtonElement | HTMLSelectElement>();\r\n const [open, setOpen] = useState(false);\r\n const fallbackId = useId();\r\n const theme = useTheme();\r\n\r\n const Container =\r\n overwrittenContainer || componentMap[variant] || OutlinedContainer;\r\n\r\n const handleFocus = () => {\r\n setHasFocus(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setHasFocus(false);\r\n };\r\n\r\n const handleToggle = (e: unknown, isOpen: boolean) => {\r\n setOpen(isOpen);\r\n };\r\n\r\n const handleOnChange = (e: any) => {\r\n const selectedValue = native\r\n ? e.target.value\r\n : e.currentTarget.dataset.value;\r\n\r\n if (multiple && Array.isArray(value)) {\r\n if (value.find((c) => c === selectedValue)) {\r\n onChange &&\r\n onChange(e as any, value.filter((c) => c !== selectedValue) as any);\r\n } else {\r\n onChange && onChange(e as any, [...value, selectedValue] as any);\r\n }\r\n\r\n const isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));\r\n if (e.key === ' ' || (isMac && e.metaKey) || (!isMac && e.ctrlKey)) {\r\n e.preventDefault();\r\n }\r\n } else {\r\n onChange && onChange(e as any, selectedValue);\r\n }\r\n };\r\n\r\n const hasError = Boolean(error);\r\n const helperText = typeof error === 'string' ? error : helperTextProp;\r\n\r\n const id = idProp || fallbackId;\r\n const inputId = `${id}-text-field`;\r\n const helperTextId = helperText ? `${id}-helper-text` : undefined;\r\n\r\n const defaultRenderFn = useMemo(\r\n () =>\r\n multiple\r\n ? makeDefaultMultipleRender(children)\r\n : makeDefaultRender<ValueType>(children),\r\n [children, multiple]\r\n );\r\n const renderValue = renderValueProp || defaultRenderFn;\r\n\r\n function hasAnySelected() {\r\n if (multiple) {\r\n return value.length > 0;\r\n } else {\r\n return value !== '';\r\n }\r\n }\r\n const labelIsFloating = hasFocus || open || hasAnySelected();\r\n\r\n const Comp: ComponentType<any> = native\r\n ? (SelectComp as any)\r\n : (SelectButton as any);\r\n\r\n useEffect(() => {\r\n // right after mounting, if the default value in the select element\r\n // is different than the value we have stored in state we need to\r\n // update our state to reflect that.\r\n if (native && buttonRef.current && buttonRef.current.value !== value) {\r\n onChange && onChange({} as any, buttonRef.current.value as ValueType);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n <SelectProvider\r\n value={{ native, onSelect: handleOnChange, value, multiple }}\r\n >\r\n <Box display=\"inline-flex\" flexDirection=\"column\" width=\"100%\">\r\n {!native && <input type=\"hidden\" name={name} value={value} />}\r\n <Container\r\n theme={theme}\r\n label={label}\r\n color={color}\r\n labelIsFloating={labelIsFloating}\r\n inputId={inputId}\r\n hasFocus={hasFocus}\r\n disabled={disabled ?? false}\r\n forceActive={open}\r\n error={hasError}\r\n leadingIcon={Boolean(leadingIcon)}\r\n >\r\n <Menu onChange={handleToggle} open={open}>\r\n {leadingIcon && (\r\n <IconContainer position=\"start\">{leadingIcon}</IconContainer>\r\n )}\r\n <Comp\r\n ref={assignMultipleRefs(forwardedRef, buttonRef)}\r\n variant={variant}\r\n id={inputId}\r\n onFocus={wrapEvent(onFocus, handleFocus)}\r\n onBlur={wrapEvent(onBlur, handleBlur)}\r\n onChange={native ? handleOnChange : undefined}\r\n value={native ? value : undefined}\r\n theme={theme}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n aria-disabled={disabled ? 'true' : undefined}\r\n aria-describedby={helperTextId}\r\n hasLabel={!!label}\r\n leadingIcon={Boolean(leadingIcon)}\r\n name={native ? name : undefined}\r\n multiple={native ? multiple : undefined}\r\n trailingIcon={true}\r\n {...otherProps}\r\n >\r\n {native ? children : renderValue(value as any)}\r\n </Comp>\r\n {!native && (\r\n <MenuPopover usePortal>\r\n <MenuList\r\n defaultActiveItemValue={value}\r\n style={{\r\n minWidth: buttonRef?.current?.offsetWidth,\r\n }}\r\n role=\"listbox\"\r\n __css={{\r\n '& [data-menu-item=\"\"]': {\r\n ...listItemStyle('primary'),\r\n },\r\n }}\r\n >\r\n {children}\r\n </MenuList>\r\n </MenuPopover>\r\n )}\r\n </Menu>\r\n <SelectIcon open={open} />\r\n </Container>\r\n\r\n <HelperText\r\n disabled={disabled}\r\n id={helperTextId}\r\n leftSide={helperText}\r\n error={hasError}\r\n />\r\n </Box>\r\n </SelectProvider>\r\n );\r\n}) as <ValueType extends string>(\r\n p: SelectProps<ValueType> & {\r\n ref?: Ref<HTMLSelectElement | HTMLButtonElement>;\r\n }\r\n) => ReactElement;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","names":["useMemo","forwardRef","useState","useRef","useEffect","useId","wrapEvent","assignMultipleRefs","useControlledState","useTheme","Select","SelectComp","SelectButton","FilledContainer","HelperText","OutlinedContainer","SelectProvider","Menu","MenuPopover","MenuList","SelectIcon","makeDefaultMultipleRender","makeDefaultRender","Box","IconContainer","listItemStyle","jsx","_jsx","jsxs","_jsxs","componentMap","outlined","filled","props","forwardedRef","id","idProp","name","variant","color","value","valueProp","defaultValue","multiple","disabled","error","label","placeholder","helperText","helperTextProp","onChange","onChangeProp","onFocus","onBlur","native","children","renderValue","renderValueProp","leadingIcon","CustomContainer","overwrittenContainer","otherProps","setState","e","v","Array","isArray","console","warn","hasFocus","setHasFocus","buttonRef","open","setOpen","fallbackId","theme","Container","handleFocus","handleBlur","handleToggle","isOpen","handleOnChange","selectedValue","target","currentTarget","dataset","find","c","filter","isMac","Boolean","test","navigator","userAgent","key","metaKey","ctrlKey","preventDefault","hasError","inputId","helperTextId","undefined","defaultRenderFn","hasAnySelected","length","labelIsFloating","Comp","current","onSelect","display","flexDirection","width","type","forceActive","position","ref","hasLabel","trailingIcon","usePortal","defaultActiveItemValue","style","minWidth","offsetWidth","role","__css","leftSide"],"sources":["../../../src/Select/Select.tsx"],"sourcesContent":["import type {\n SelectHTMLAttributes,\n ReactNode,\n ChangeEvent,\n ComponentType,\n ForwardedRef,\n ReactElement,\n Ref,\n} from 'react';\nimport { useMemo, forwardRef, useState, useRef, useEffect, useId } from 'react';\nimport {\n wrapEvent,\n assignMultipleRefs,\n useControlledState,\n} from '@basic-ui/core';\n\nimport type { Theme } from '../theme';\nimport { useTheme } from '../theme';\nimport { Select as SelectComp, SelectButton } from './styledComponents';\nimport type { FilledContainerProps } from '../TextField/FilledContainer';\nimport { FilledContainer } from '../TextField/FilledContainer';\nimport { HelperText } from '../TextField/HelperText';\nimport { OutlinedContainer } from '../TextField/OutlinedContainer';\nimport { SelectProvider } from './context';\nimport { Menu, MenuPopover, MenuList } from '../Menu';\nimport { SelectIcon } from './SelectIcon';\nimport { makeDefaultMultipleRender, makeDefaultRender } from './defaultRender';\nimport type { BoxProps } from '../Box';\nimport { Box } from '../Box';\nimport { IconContainer } from '../TextField/IconContainer';\nimport { listItemStyle } from '../ListItem';\n\nconst componentMap = {\n outlined: OutlinedContainer,\n filled: FilledContainer,\n};\n\ninterface BaseSelectProps\n extends Omit<\n BoxProps<HTMLSelectElement, SelectHTMLAttributes<HTMLSelectElement>>,\n 'value' | 'defaultValue' | 'onChange'\n > {\n variant?: 'outlined' | 'filled';\n color?: 'primary' | 'secondary';\n label?: ReactNode;\n placeholder?: string;\n helperText?: string;\n native?: boolean;\n theme?: Theme;\n error?: boolean | string;\n leadingIcon?: ReactNode;\n CustomContainer?: ComponentType<FilledContainerProps>;\n}\n\nexport type SelectProps<ValueType extends string> = BaseSelectProps &\n (\n | {\n multiple?: false | undefined;\n value?: ValueType;\n defaultValue?: ValueType;\n onChange?: (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType\n ) => void;\n renderValue?: (value?: ValueType | '') => ReactNode;\n }\n | {\n multiple: true;\n value?: ValueType[];\n defaultValue?: ValueType[];\n onChange?: (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType[]\n ) => void;\n renderValue?: (value?: ValueType[]) => ReactNode;\n }\n );\n\nexport const Select = forwardRef(function Select<ValueType extends string>(\n props: SelectProps<ValueType>,\n forwardedRef: ForwardedRef<HTMLSelectElement | HTMLButtonElement>\n) {\n const {\n id: idProp,\n name,\n variant = 'outlined',\n color = 'primary',\n value: valueProp,\n defaultValue = props.multiple ? [] : ('' as const),\n disabled,\n error = false,\n label = null,\n placeholder,\n helperText: helperTextProp,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n native = false,\n multiple = false,\n children,\n renderValue: renderValueProp,\n leadingIcon = null,\n CustomContainer: overwrittenContainer,\n ...otherProps\n } = props;\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp as (\n e: ChangeEvent<HTMLSelectElement>,\n value: ValueType | ValueType[]\n ) => void,\n defaultValue,\n (setState) => (e, v: ValueType | ValueType[]) => {\n setState(v);\n }\n );\n if (multiple && !Array.isArray(value)) {\n console.warn(\n 'Warning: The `value` prop supplied to <Select> must be an array if `multiple` is true.'\n );\n }\n\n const [hasFocus, setHasFocus] = useState(false);\n const buttonRef = useRef<HTMLButtonElement | HTMLSelectElement | null>(null);\n const [open, setOpen] = useState(false);\n const fallbackId = useId();\n const theme = useTheme();\n\n const Container =\n overwrittenContainer || componentMap[variant] || OutlinedContainer;\n\n const handleFocus = () => {\n setHasFocus(true);\n };\n\n const handleBlur = () => {\n setHasFocus(false);\n };\n\n const handleToggle = (e: unknown, isOpen: boolean) => {\n setOpen(isOpen);\n };\n\n const handleOnChange = (e: any) => {\n const selectedValue = native\n ? e.target.value\n : e.currentTarget.dataset.value;\n\n if (multiple && Array.isArray(value)) {\n if (value.find((c) => c === selectedValue)) {\n onChange &&\n onChange(e as any, value.filter((c) => c !== selectedValue) as any);\n } else {\n onChange && onChange(e as any, [...value, selectedValue] as any);\n }\n\n const isMac = Boolean(/mac os|ios/i.test(navigator.userAgent));\n if (e.key === ' ' || (isMac && e.metaKey) || (!isMac && e.ctrlKey)) {\n e.preventDefault();\n }\n } else {\n onChange && onChange(e as any, selectedValue);\n }\n };\n\n const hasError = Boolean(error);\n const helperText = typeof error === 'string' ? error : helperTextProp;\n\n const id = idProp || fallbackId;\n const inputId = `${id}-text-field`;\n const helperTextId = helperText ? `${id}-helper-text` : undefined;\n\n const defaultRenderFn = useMemo(\n () =>\n multiple\n ? makeDefaultMultipleRender(children)\n : makeDefaultRender<ValueType>(children),\n [children, multiple]\n );\n const renderValue = renderValueProp || defaultRenderFn;\n\n function hasAnySelected() {\n if (multiple) {\n return value.length > 0;\n } else {\n return value !== '';\n }\n }\n const labelIsFloating = hasFocus || open || hasAnySelected();\n\n const Comp: ComponentType<any> = native\n ? (SelectComp as any)\n : (SelectButton as any);\n\n useEffect(() => {\n // right after mounting, if the default value in the select element\n // is different than the value we have stored in state we need to\n // update our state to reflect that.\n if (native && buttonRef.current && buttonRef.current.value !== value) {\n onChange && onChange({} as any, buttonRef.current.value as ValueType);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <SelectProvider\n value={{ native, onSelect: handleOnChange, value, multiple }}\n >\n <Box display=\"inline-flex\" flexDirection=\"column\" width=\"100%\">\n {!native && <input type=\"hidden\" name={name} value={value} />}\n <Container\n theme={theme}\n label={label}\n color={color}\n labelIsFloating={labelIsFloating}\n inputId={inputId}\n hasFocus={hasFocus}\n disabled={disabled ?? false}\n forceActive={open}\n error={hasError}\n leadingIcon={Boolean(leadingIcon)}\n >\n <Menu onChange={handleToggle} open={open}>\n {leadingIcon && (\n <IconContainer position=\"start\">{leadingIcon}</IconContainer>\n )}\n <Comp\n ref={assignMultipleRefs(forwardedRef, buttonRef)}\n variant={variant}\n id={inputId}\n onFocus={wrapEvent(onFocus, handleFocus)}\n onBlur={wrapEvent(onBlur, handleBlur)}\n onChange={native ? handleOnChange : undefined}\n value={native ? value : undefined}\n theme={theme}\n placeholder={placeholder}\n disabled={disabled}\n aria-disabled={disabled ? 'true' : undefined}\n aria-describedby={helperTextId}\n hasLabel={!!label}\n leadingIcon={Boolean(leadingIcon)}\n name={native ? name : undefined}\n multiple={native ? multiple : undefined}\n trailingIcon={true}\n {...otherProps}\n >\n {native ? children : renderValue(value as any)}\n </Comp>\n {!native && (\n <MenuPopover usePortal>\n <MenuList\n defaultActiveItemValue={value}\n style={{\n minWidth: buttonRef?.current?.offsetWidth,\n }}\n role=\"listbox\"\n __css={{\n '& [data-menu-item=\"\"]': {\n ...listItemStyle('primary'),\n },\n }}\n >\n {children}\n </MenuList>\n </MenuPopover>\n )}\n </Menu>\n <SelectIcon open={open} />\n </Container>\n\n <HelperText\n disabled={disabled}\n id={helperTextId}\n leftSide={helperText}\n error={hasError}\n />\n </Box>\n </SelectProvider>\n );\n}) as <ValueType extends string>(\n p: SelectProps<ValueType> & {\n ref?: Ref<HTMLSelectElement | HTMLButtonElement>;\n }\n) => ReactElement;\n"],"mappings":"AASA,SAASA,OAAO,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,SAAS,EAAEC,KAAK,QAAQ,OAAO;AAC/E,SACEC,SAAS,EACTC,kBAAkB,EAClBC,kBAAkB,QACb,gBAAgB;AAGvB,SAASC,QAAQ,QAAQ,UAAU;AACnC,SAASC,MAAM,IAAIC,UAAU,EAAEC,YAAY,QAAQ,oBAAoB;AAEvE,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,SAAS;AACrD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,yBAAyB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAE9E,SAASC,GAAG,QAAQ,QAAQ;AAC5B,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,aAAa,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5C,MAAMC,YAAY,GAAG;EACnBC,QAAQ,EAAEhB,iBAAiB;EAC3BiB,MAAM,EAAEnB;AACV,CAAC;AA2CD,OAAO,MAAMH,MAAM,gBAAGT,UAAU,CAAC,SAASS,MAAMA,CAC9CuB,KAA6B,EAC7BC,YAAiE,EACjE;EACA,MAAM;IACJC,EAAE,EAAEC,MAAM;IACVC,IAAI;IACJC,OAAO,GAAG,UAAU;IACpBC,KAAK,GAAG,SAAS;IACjBC,KAAK,EAAEC,SAAS;IAChBC,YAAY,GAAGT,KAAK,CAACU,QAAQ,GAAG,EAAE,GAAI,EAAY;IAClDC,QAAQ;IACRC,KAAK,GAAG,KAAK;IACbC,KAAK,GAAG,IAAI;IACZC,WAAW;IACXC,UAAU,EAAEC,cAAc;IAC1BC,QAAQ,EAAEC,YAAY;IACtBC,OAAO;IACPC,MAAM;IACNC,MAAM,GAAG,KAAK;IACdX,QAAQ,GAAG,KAAK;IAChBY,QAAQ;IACRC,WAAW,EAAEC,eAAe;IAC5BC,WAAW,GAAG,IAAI;IAClBC,eAAe,EAAEC,oBAAoB;IACrC,GAAGC;EACL,CAAC,GAAG5B,KAAK;EACT,MAAM,CAACO,KAAK,EAAEU,QAAQ,CAAC,GAAG1C,kBAAkB,CAC1CiC,SAAS,EACTU,YAAY,EAIZT,YAAY,EACXoB,QAAQ,IAAK,CAACC,CAAC,EAAEC,CAA0B,KAAK;IAC/CF,QAAQ,CAACE,CAAC,CAAC;EACb,CACF,CAAC;EACD,IAAIrB,QAAQ,IAAI,CAACsB,KAAK,CAACC,OAAO,CAAC1B,KAAK,CAAC,EAAE;IACrC2B,OAAO,CAACC,IAAI,CACV,wFACF,CAAC;EACH;EAEA,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGpE,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMqE,SAAS,GAAGpE,MAAM,CAA+C,IAAI,CAAC;EAC5E,MAAM,CAACqE,IAAI,EAAEC,OAAO,CAAC,GAAGvE,QAAQ,CAAC,KAAK,CAAC;EACvC,MAAMwE,UAAU,GAAGrE,KAAK,CAAC,CAAC;EAC1B,MAAMsE,KAAK,GAAGlE,QAAQ,CAAC,CAAC;EAExB,MAAMmE,SAAS,GACbhB,oBAAoB,IAAI9B,YAAY,CAACQ,OAAO,CAAC,IAAIvB,iBAAiB;EAEpE,MAAM8D,WAAW,GAAGA,CAAA,KAAM;IACxBP,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC;EAED,MAAMQ,UAAU,GAAGA,CAAA,KAAM;IACvBR,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMS,YAAY,GAAGA,CAAChB,CAAU,EAAEiB,MAAe,KAAK;IACpDP,OAAO,CAACO,MAAM,CAAC;EACjB,CAAC;EAED,MAAMC,cAAc,GAAIlB,CAAM,IAAK;IACjC,MAAMmB,aAAa,GAAG5B,MAAM,GACxBS,CAAC,CAACoB,MAAM,CAAC3C,KAAK,GACduB,CAAC,CAACqB,aAAa,CAACC,OAAO,CAAC7C,KAAK;IAEjC,IAAIG,QAAQ,IAAIsB,KAAK,CAACC,OAAO,CAAC1B,KAAK,CAAC,EAAE;MACpC,IAAIA,KAAK,CAAC8C,IAAI,CAAEC,CAAC,IAAKA,CAAC,KAAKL,aAAa,CAAC,EAAE;QAC1ChC,QAAQ,IACNA,QAAQ,CAACa,CAAC,EAASvB,KAAK,CAACgD,MAAM,CAAED,CAAC,IAAKA,CAAC,KAAKL,aAAa,CAAQ,CAAC;MACvE,CAAC,MAAM;QACLhC,QAAQ,IAAIA,QAAQ,CAACa,CAAC,EAAS,CAAC,GAAGvB,KAAK,EAAE0C,aAAa,CAAQ,CAAC;MAClE;MAEA,MAAMO,KAAK,GAAGC,OAAO,CAAC,aAAa,CAACC,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC,CAAC;MAC9D,IAAI9B,CAAC,CAAC+B,GAAG,KAAK,GAAG,IAAKL,KAAK,IAAI1B,CAAC,CAACgC,OAAQ,IAAK,CAACN,KAAK,IAAI1B,CAAC,CAACiC,OAAQ,EAAE;QAClEjC,CAAC,CAACkC,cAAc,CAAC,CAAC;MACpB;IACF,CAAC,MAAM;MACL/C,QAAQ,IAAIA,QAAQ,CAACa,CAAC,EAASmB,aAAa,CAAC;IAC/C;EACF,CAAC;EAED,MAAMgB,QAAQ,GAAGR,OAAO,CAAC7C,KAAK,CAAC;EAC/B,MAAMG,UAAU,GAAG,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGI,cAAc;EAErE,MAAMd,EAAE,GAAGC,MAAM,IAAIsC,UAAU;EAC/B,MAAMyB,OAAO,GAAG,GAAGhE,EAAE,aAAa;EAClC,MAAMiE,YAAY,GAAGpD,UAAU,GAAG,GAAGb,EAAE,cAAc,GAAGkE,SAAS;EAEjE,MAAMC,eAAe,GAAGtG,OAAO,CAC7B,MACE2C,QAAQ,GACJtB,yBAAyB,CAACkC,QAAQ,CAAC,GACnCjC,iBAAiB,CAAYiC,QAAQ,CAAC,EAC5C,CAACA,QAAQ,EAAEZ,QAAQ,CACrB,CAAC;EACD,MAAMa,WAAW,GAAGC,eAAe,IAAI6C,eAAe;EAEtD,SAASC,cAAcA,CAAA,EAAG;IACxB,IAAI5D,QAAQ,EAAE;MACZ,OAAOH,KAAK,CAACgE,MAAM,GAAG,CAAC;IACzB,CAAC,MAAM;MACL,OAAOhE,KAAK,KAAK,EAAE;IACrB;EACF;EACA,MAAMiE,eAAe,GAAGpC,QAAQ,IAAIG,IAAI,IAAI+B,cAAc,CAAC,CAAC;EAE5D,MAAMG,IAAwB,GAAGpD,MAAM,GAClC3C,UAAU,GACVC,YAAoB;EAEzBR,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA,IAAIkD,MAAM,IAAIiB,SAAS,CAACoC,OAAO,IAAIpC,SAAS,CAACoC,OAAO,CAACnE,KAAK,KAAKA,KAAK,EAAE;MACpEU,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,EAASqB,SAAS,CAACoC,OAAO,CAACnE,KAAkB,CAAC;IACvE;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEb,IAAA,CAACX,cAAc;IACbwB,KAAK,EAAE;MAAEc,MAAM;MAAEsD,QAAQ,EAAE3B,cAAc;MAAEzC,KAAK;MAAEG;IAAS,CAAE;IAAAY,QAAA,eAE7D1B,KAAA,CAACN,GAAG;MAACsF,OAAO,EAAC,aAAa;MAACC,aAAa,EAAC,QAAQ;MAACC,KAAK,EAAC,MAAM;MAAAxD,QAAA,GAC3D,CAACD,MAAM,iBAAI3B,IAAA;QAAOqF,IAAI,EAAC,QAAQ;QAAC3E,IAAI,EAAEA,IAAK;QAACG,KAAK,EAAEA;MAAM,CAAE,CAAC,eAC7DX,KAAA,CAAC+C,SAAS;QACRD,KAAK,EAAEA,KAAM;QACb7B,KAAK,EAAEA,KAAM;QACbP,KAAK,EAAEA,KAAM;QACbkE,eAAe,EAAEA,eAAgB;QACjCN,OAAO,EAAEA,OAAQ;QACjB9B,QAAQ,EAAEA,QAAS;QACnBzB,QAAQ,EAAEA,QAAQ,IAAI,KAAM;QAC5BqE,WAAW,EAAEzC,IAAK;QAClB3B,KAAK,EAAEqD,QAAS;QAChBxC,WAAW,EAAEgC,OAAO,CAAChC,WAAW,CAAE;QAAAH,QAAA,gBAElC1B,KAAA,CAACZ,IAAI;UAACiC,QAAQ,EAAE6B,YAAa;UAACP,IAAI,EAAEA,IAAK;UAAAjB,QAAA,GACtCG,WAAW,iBACV/B,IAAA,CAACH,aAAa;YAAC0F,QAAQ,EAAC,OAAO;YAAA3D,QAAA,EAAEG;UAAW,CAAgB,CAC7D,eACD/B,IAAA,CAAC+E,IAAI;YACHS,GAAG,EAAE5G,kBAAkB,CAAC2B,YAAY,EAAEqC,SAAS,CAAE;YACjDjC,OAAO,EAAEA,OAAQ;YACjBH,EAAE,EAAEgE,OAAQ;YACZ/C,OAAO,EAAE9C,SAAS,CAAC8C,OAAO,EAAEyB,WAAW,CAAE;YACzCxB,MAAM,EAAE/C,SAAS,CAAC+C,MAAM,EAAEyB,UAAU,CAAE;YACtC5B,QAAQ,EAAEI,MAAM,GAAG2B,cAAc,GAAGoB,SAAU;YAC9C7D,KAAK,EAAEc,MAAM,GAAGd,KAAK,GAAG6D,SAAU;YAClC1B,KAAK,EAAEA,KAAM;YACb5B,WAAW,EAAEA,WAAY;YACzBH,QAAQ,EAAEA,QAAS;YACnB,iBAAeA,QAAQ,GAAG,MAAM,GAAGyD,SAAU;YAC7C,oBAAkBD,YAAa;YAC/BgB,QAAQ,EAAE,CAAC,CAACtE,KAAM;YAClBY,WAAW,EAAEgC,OAAO,CAAChC,WAAW,CAAE;YAClCrB,IAAI,EAAEiB,MAAM,GAAGjB,IAAI,GAAGgE,SAAU;YAChC1D,QAAQ,EAAEW,MAAM,GAAGX,QAAQ,GAAG0D,SAAU;YACxCgB,YAAY,EAAE,IAAK;YAAA,GACfxD,UAAU;YAAAN,QAAA,EAEbD,MAAM,GAAGC,QAAQ,GAAGC,WAAW,CAAChB,KAAY;UAAC,CAC1C,CAAC,EACN,CAACc,MAAM,iBACN3B,IAAA,CAACT,WAAW;YAACoG,SAAS;YAAA/D,QAAA,eACpB5B,IAAA,CAACR,QAAQ;cACPoG,sBAAsB,EAAE/E,KAAM;cAC9BgF,KAAK,EAAE;gBACLC,QAAQ,EAAElD,SAAS,EAAEoC,OAAO,EAAEe;cAChC,CAAE;cACFC,IAAI,EAAC,SAAS;cACdC,KAAK,EAAE;gBACL,uBAAuB,EAAE;kBACvB,GAAGnG,aAAa,CAAC,SAAS;gBAC5B;cACF,CAAE;cAAA8B,QAAA,EAEDA;YAAQ,CACD;UAAC,CACA,CACd;QAAA,CACG,CAAC,eACP5B,IAAA,CAACP,UAAU;UAACoD,IAAI,EAAEA;QAAK,CAAE,CAAC;MAAA,CACjB,CAAC,eAEZ7C,IAAA,CAACb,UAAU;QACT8B,QAAQ,EAAEA,QAAS;QACnBT,EAAE,EAAEiE,YAAa;QACjByB,QAAQ,EAAE7E,UAAW;QACrBH,KAAK,EAAEqD;MAAS,CACjB,CAAC;IAAA,CACC;EAAC,CACQ,CAAC;AAErB,CAAC,CAIgB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import type { SVGAttributes } from 'react';
2
- import type { BoxProps } from '../Box';
3
- export declare type SelectIconProps = BoxProps<SVGElement, SVGAttributes<SVGElement>> & {
4
- open?: boolean;
5
- };
6
- export declare const SelectIcon: import("react").ForwardRefExoticComponent<Pick<SelectIconProps, "string" | "style" | "clipPath" | "filter" | "mask" | "path" | "children" | "fill" | "values" | "local" | keyof import("../Box").BaseProps | keyof import("styled-system").SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> | keyof import("styled-system").LayoutProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> | keyof import("styled-system").FlexboxProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").BorderProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>> | keyof import("styled-system").GridProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").BackgroundProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Background<import("styled-system").TLengthStyledSystem>> | keyof import("styled-system").PositionProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | keyof import("styled-system").ShadowProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | "className" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "origin" | "elevation" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "visibility" | "wordSpacing" | "writingMode" | "offset" | "textDecoration" | "alignmentBaseline" | "baselineShift" | "clip" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "end" | "x" | "y" | "open" | "name" | "type" | "crossOrigin" | "max" | "min" | "href" | "media" | "target" | "to" | "method" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & import("react").RefAttributes<SVGElement>>;
1
+ import type { SVGAttributes } from 'react';
2
+ import type { BoxProps } from '../Box';
3
+ export type SelectIconProps = BoxProps<SVGElement, SVGAttributes<SVGElement>> & {
4
+ open?: boolean;
5
+ };
6
+ export declare const SelectIcon: import("react").ForwardRefExoticComponent<Omit<SelectIconProps, "ref"> & import("react").RefAttributes<SVGElement>>;
@@ -1,6 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["open"];
4
1
  import { forwardRef } from 'react';
5
2
  import { rem } from 'polished';
6
3
  import { Box } from '../Box';
@@ -8,31 +5,32 @@ import { alpha } from '../color';
8
5
  import { PADDING_RIGHT_WITH_ICON } from '../TextField/consts';
9
6
  import { EASING_STANDARD } from '../motion';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
- export var SelectIcon = /*#__PURE__*/forwardRef(function SelectIcon(props, forwardedRef) {
12
- var open = props.open,
13
- otherProps = _objectWithoutProperties(props, _excluded);
14
-
15
- return /*#__PURE__*/_jsx(Box, _extends(_extends({
8
+ export const SelectIcon = /*#__PURE__*/forwardRef(function SelectIcon(props, forwardedRef) {
9
+ const {
10
+ open,
11
+ ...otherProps
12
+ } = props;
13
+ return /*#__PURE__*/_jsx(Box, {
16
14
  ref: forwardedRef,
17
15
  as: "svg",
18
16
  "aria-hidden": true,
19
17
  viewBox: "0 0 24 24",
20
18
  __css: {
21
19
  position: 'absolute',
22
- top: "calc(50% - ".concat("0.75rem", ")"),
20
+ top: `calc(50% - ${"0.75rem"})`,
23
21
  right: rem(PADDING_RIGHT_WITH_ICON),
24
22
  width: "1.5rem",
25
23
  height: "1.5rem",
26
24
  color: open ? 'primary' : alpha('on.surface', 0.54),
27
25
  pointerEvents: 'none',
28
26
  transform: open ? 'rotate(180deg)' : undefined,
29
- transition: "transform .15s ".concat(EASING_STANDARD, ", color .15s ").concat(EASING_STANDARD)
30
- }
31
- }, otherProps), {}, {
27
+ transition: `transform .15s ${EASING_STANDARD}, color .15s ${EASING_STANDARD}`
28
+ },
29
+ ...otherProps,
32
30
  children: /*#__PURE__*/_jsx("path", {
33
31
  fill: "currentColor",
34
32
  d: "M7 10l5 5 5-5z"
35
33
  })
36
- }));
34
+ });
37
35
  });
38
36
  //# sourceMappingURL=SelectIcon.js.map