@telus-uds/components-base 0.0.2-prerelease.7 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/.eslintrc.js +9 -0
  2. package/.ultra.cache.json +1 -1
  3. package/CHANGELOG.md +71 -0
  4. package/README.md +4 -2
  5. package/__fixtures__/Accessible.js +33 -0
  6. package/__fixtures__/Accessible.native.js +32 -0
  7. package/__fixtures__/test-utils.js +25 -0
  8. package/__fixtures__/testTheme.js +438 -31
  9. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  10. package/__tests__/Button/ButtonGroup.test.jsx +6 -7
  11. package/__tests__/Checkbox/Checkbox.test.jsx +2 -2
  12. package/__tests__/Checkbox/CheckboxGroup.test.jsx +246 -0
  13. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
  14. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
  15. package/__tests__/Icon/Icon.test.jsx +3 -3
  16. package/__tests__/IconButton/IconButton.test.jsx +52 -0
  17. package/__tests__/Link/LinkBase.test.jsx +0 -14
  18. package/__tests__/Modal/Modal.test.jsx +47 -0
  19. package/__tests__/Notification/Notification.test.jsx +20 -0
  20. package/__tests__/Pagination/Pagination.test.jsx +2 -2
  21. package/__tests__/Progress/Progress.test.jsx +79 -0
  22. package/__tests__/Radio/Radio.test.jsx +2 -2
  23. package/__tests__/Radio/RadioGroup.test.jsx +220 -0
  24. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  25. package/__tests__/RadioCard/RadioCardGroup.test.jsx +246 -0
  26. package/__tests__/Search/Search.test.jsx +73 -0
  27. package/__tests__/Select/Select.test.jsx +3 -2
  28. package/__tests__/Skeleton/Skeleton.test.jsx +1 -1
  29. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  30. package/__tests__/Tabs/Tabs.test.jsx +40 -0
  31. package/__tests__/Tags/Tags.test.jsx +5 -6
  32. package/__tests__/TextInput/TextArea.test.jsx +3 -2
  33. package/__tests__/TextInput/TextInputBase.test.jsx +10 -5
  34. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
  35. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +9 -5
  36. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
  37. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
  38. package/__tests__/utils/children.test.jsx +128 -0
  39. package/__tests__/utils/input.test.js +59 -1
  40. package/__tests__/utils/semantics.test.jsx +43 -0
  41. package/__tests__/utils/useCopy.test.js +14 -3
  42. package/babel.config.js +20 -0
  43. package/jest.config.js +6 -3
  44. package/lib/A11yInfoProvider/index.js +54 -26
  45. package/lib/A11yText/index.js +45 -17
  46. package/lib/ActivityIndicator/Spinner.js +81 -0
  47. package/lib/ActivityIndicator/Spinner.native.js +129 -91
  48. package/lib/ActivityIndicator/index.js +28 -12
  49. package/lib/ActivityIndicator/shared.js +27 -12
  50. package/lib/BaseProvider/index.js +34 -11
  51. package/lib/Box/Box.js +153 -35
  52. package/lib/Box/index.js +13 -2
  53. package/lib/Button/Button.js +38 -16
  54. package/lib/Button/ButtonBase.js +93 -79
  55. package/lib/Button/ButtonGroup.js +112 -73
  56. package/lib/Button/ButtonLink.js +45 -19
  57. package/lib/Button/index.js +31 -4
  58. package/lib/Button/propTypes.js +32 -9
  59. package/lib/Card/Card.js +38 -41
  60. package/lib/Card/CardBase.js +86 -0
  61. package/lib/Card/PressableCardBase.js +141 -0
  62. package/lib/Card/index.js +40 -2
  63. package/lib/Checkbox/Checkbox.js +158 -111
  64. package/lib/Checkbox/CheckboxGroup.js +241 -0
  65. package/lib/Checkbox/CheckboxInput.js +74 -0
  66. package/lib/Checkbox/CheckboxInput.native.js +9 -1
  67. package/lib/Checkbox/index.js +21 -2
  68. package/lib/Divider/Divider.js +59 -28
  69. package/lib/Divider/index.js +13 -2
  70. package/lib/ExpandCollapse/Accordion.js +26 -7
  71. package/lib/ExpandCollapse/Control.js +60 -31
  72. package/lib/ExpandCollapse/ExpandCollapse.js +50 -28
  73. package/lib/ExpandCollapse/Panel.js +83 -44
  74. package/lib/ExpandCollapse/index.js +25 -7
  75. package/lib/Feedback/Feedback.js +77 -43
  76. package/lib/Feedback/index.js +13 -2
  77. package/lib/Fieldset/Fieldset.js +165 -0
  78. package/lib/Fieldset/FieldsetContainer.js +46 -0
  79. package/lib/Fieldset/FieldsetContainer.native.js +38 -0
  80. package/lib/Fieldset/Legend.js +38 -0
  81. package/lib/Fieldset/Legend.native.js +48 -0
  82. package/lib/Fieldset/cssReset.js +21 -0
  83. package/lib/Fieldset/index.js +13 -0
  84. package/lib/FlexGrid/Col/Col.js +73 -41
  85. package/lib/FlexGrid/Col/index.js +13 -2
  86. package/lib/FlexGrid/FlexGrid.js +99 -49
  87. package/lib/FlexGrid/Row/Row.js +58 -30
  88. package/lib/FlexGrid/Row/index.js +13 -2
  89. package/lib/FlexGrid/helpers/index.js +9 -1
  90. package/lib/FlexGrid/index.js +13 -2
  91. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  92. package/lib/HorizontalScroll/HorizontalScroll.js +200 -0
  93. package/lib/HorizontalScroll/HorizontalScrollButton.js +127 -0
  94. package/lib/HorizontalScroll/ScrollViewEnd.js +66 -0
  95. package/lib/HorizontalScroll/ScrollViewEnd.native.js +41 -0
  96. package/lib/HorizontalScroll/dictionary.js +18 -0
  97. package/lib/HorizontalScroll/index.js +35 -0
  98. package/lib/HorizontalScroll/itemPositions.js +128 -0
  99. package/lib/Icon/Icon.js +57 -48
  100. package/lib/Icon/IconText.js +54 -25
  101. package/lib/Icon/index.js +31 -4
  102. package/lib/IconButton/IconButton.js +140 -0
  103. package/lib/IconButton/index.js +13 -0
  104. package/lib/InputLabel/InputLabel.js +102 -40
  105. package/lib/InputLabel/LabelContent.js +41 -0
  106. package/lib/InputLabel/LabelContent.native.js +32 -6
  107. package/lib/InputLabel/index.js +13 -2
  108. package/lib/InputSupports/InputSupports.js +71 -52
  109. package/lib/InputSupports/index.js +13 -2
  110. package/lib/InputSupports/propTypes.js +19 -8
  111. package/lib/InputSupports/useInputSupports.js +41 -0
  112. package/lib/Link/ChevronLink.js +44 -20
  113. package/lib/Link/InlinePressable.js +56 -0
  114. package/lib/Link/InlinePressable.native.js +39 -15
  115. package/lib/Link/Link.js +36 -13
  116. package/lib/Link/LinkBase.js +98 -61
  117. package/lib/Link/TextButton.js +41 -17
  118. package/lib/Link/index.js +39 -5
  119. package/lib/List/List.js +55 -26
  120. package/lib/List/ListItem.js +79 -41
  121. package/lib/List/index.js +13 -2
  122. package/lib/Modal/Modal.js +231 -0
  123. package/lib/Modal/dictionary.js +16 -0
  124. package/lib/Modal/index.js +13 -0
  125. package/lib/Notification/Notification.js +216 -0
  126. package/lib/Notification/dictionary.js +15 -0
  127. package/lib/Notification/index.js +13 -0
  128. package/lib/Pagination/PageButton.js +61 -28
  129. package/lib/Pagination/Pagination.js +78 -43
  130. package/lib/Pagination/SideButton.js +73 -42
  131. package/lib/Pagination/dictionary.js +9 -2
  132. package/lib/Pagination/index.js +13 -2
  133. package/lib/Pagination/usePagination.js +12 -2
  134. package/lib/Progress/Progress.js +104 -0
  135. package/lib/Progress/ProgressBar.js +157 -0
  136. package/lib/Progress/ProgressBarBackground.js +61 -0
  137. package/lib/Progress/index.js +16 -0
  138. package/lib/Radio/Radio.js +116 -114
  139. package/lib/Radio/RadioButton.js +152 -0
  140. package/lib/Radio/RadioGroup.js +244 -0
  141. package/lib/Radio/RadioInput.js +76 -0
  142. package/lib/Radio/RadioInput.native.js +9 -1
  143. package/lib/Radio/index.js +21 -2
  144. package/lib/RadioCard/RadioCard.js +244 -0
  145. package/lib/RadioCard/RadioCardGroup.js +252 -0
  146. package/lib/RadioCard/index.js +21 -0
  147. package/lib/Search/Search.js +254 -0
  148. package/lib/Search/dictionary.js +19 -0
  149. package/lib/Search/index.js +13 -0
  150. package/lib/Select/Group.js +33 -0
  151. package/lib/Select/Group.native.js +16 -5
  152. package/lib/Select/Item.js +29 -0
  153. package/lib/Select/Item.native.js +14 -4
  154. package/lib/Select/Picker.js +84 -0
  155. package/lib/Select/Picker.native.js +73 -30
  156. package/lib/Select/Select.js +155 -85
  157. package/lib/Select/index.js +19 -6
  158. package/lib/SideNav/Item.js +63 -37
  159. package/lib/SideNav/ItemContent.js +41 -15
  160. package/lib/SideNav/ItemsGroup.js +55 -31
  161. package/lib/SideNav/SideNav.js +100 -73
  162. package/lib/SideNav/index.js +15 -1
  163. package/lib/Skeleton/Skeleton.js +64 -46
  164. package/lib/Skeleton/index.js +13 -2
  165. package/lib/Skeleton/skeleton.constant.js +12 -0
  166. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  167. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  168. package/lib/Spacer/Spacer.js +49 -18
  169. package/lib/Spacer/index.js +13 -2
  170. package/lib/StackView/StackView.js +72 -31
  171. package/lib/StackView/StackWrap.js +43 -13
  172. package/lib/StackView/StackWrap.native.js +13 -2
  173. package/lib/StackView/StackWrapBox.js +77 -29
  174. package/lib/StackView/StackWrapGap.js +56 -26
  175. package/lib/StackView/common.js +23 -6
  176. package/lib/StackView/getStackedContent.js +47 -17
  177. package/lib/StackView/index.js +29 -5
  178. package/lib/StepTracker/Step.js +245 -0
  179. package/lib/StepTracker/StepTracker.js +202 -0
  180. package/lib/StepTracker/dictionary.js +17 -0
  181. package/lib/StepTracker/index.js +13 -0
  182. package/lib/Tabs/Tabs.js +124 -0
  183. package/lib/Tabs/TabsItem.js +238 -0
  184. package/lib/Tabs/index.js +13 -0
  185. package/lib/Tags/Tags.js +148 -99
  186. package/lib/Tags/index.js +13 -2
  187. package/lib/TextInput/TextArea.js +57 -28
  188. package/lib/TextInput/TextInput.js +50 -23
  189. package/lib/TextInput/TextInputBase.js +90 -63
  190. package/lib/TextInput/index.js +23 -3
  191. package/lib/TextInput/propTypes.js +18 -7
  192. package/lib/ThemeProvider/ThemeProvider.js +46 -18
  193. package/lib/ThemeProvider/index.js +61 -6
  194. package/lib/ThemeProvider/useSetTheme.js +19 -5
  195. package/lib/ThemeProvider/useTheme.js +13 -4
  196. package/lib/ThemeProvider/useThemeTokens.js +32 -16
  197. package/lib/ThemeProvider/utils/index.js +31 -2
  198. package/lib/ThemeProvider/utils/styles.js +50 -14
  199. package/lib/ThemeProvider/utils/theme-tokens.js +121 -12
  200. package/lib/ToggleSwitch/ToggleSwitch.js +85 -56
  201. package/lib/ToggleSwitch/index.js +13 -2
  202. package/lib/Tooltip/{Backdrop.web.js → Backdrop.js} +20 -8
  203. package/lib/Tooltip/Backdrop.native.js +39 -15
  204. package/lib/Tooltip/Tooltip.js +117 -74
  205. package/lib/Tooltip/dictionary.js +9 -2
  206. package/lib/Tooltip/getTooltipPosition.js +9 -1
  207. package/lib/Tooltip/index.js +13 -2
  208. package/lib/TooltipButton/TooltipButton.js +57 -38
  209. package/lib/TooltipButton/index.js +13 -2
  210. package/lib/Typography/Typography.js +87 -41
  211. package/lib/Typography/index.js +13 -2
  212. package/lib/ViewportProvider/ViewportProvider.js +34 -13
  213. package/lib/ViewportProvider/index.js +28 -3
  214. package/lib/ViewportProvider/useViewport.js +15 -3
  215. package/lib/ViewportProvider/useViewportListener.js +24 -10
  216. package/lib/index.js +539 -33
  217. package/lib/utils/a11y/index.js +31 -1
  218. package/lib/utils/a11y/semantics.js +173 -0
  219. package/lib/utils/a11y/textSize.js +23 -7
  220. package/lib/utils/animation/index.js +15 -2
  221. package/lib/utils/animation/useVerticalExpandAnimation.js +27 -10
  222. package/lib/utils/children.js +134 -0
  223. package/lib/utils/index.js +163 -10
  224. package/lib/utils/info/index.js +18 -6
  225. package/lib/utils/info/platform/index.js +19 -7
  226. package/lib/utils/info/platform/platform.android.js +8 -1
  227. package/lib/utils/info/platform/platform.ios.js +8 -1
  228. package/lib/utils/info/platform/platform.js +8 -0
  229. package/lib/utils/info/platform/platform.native.js +8 -1
  230. package/lib/utils/info/versions.js +15 -4
  231. package/lib/utils/input.js +53 -25
  232. package/lib/utils/pressability.js +38 -10
  233. package/lib/utils/propTypes.js +287 -141
  234. package/lib/utils/useCopy.js +40 -5
  235. package/lib/utils/useHash.js +52 -0
  236. package/lib/utils/useHash.native.js +15 -0
  237. package/lib/utils/useResponsiveProp.js +21 -9
  238. package/lib/utils/useSpacingScale.js +19 -9
  239. package/lib/utils/useUniqueId.js +12 -3
  240. package/package.json +14 -9
  241. package/release-context.json +4 -4
  242. package/src/A11yText/index.jsx +6 -4
  243. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +5 -3
  244. package/src/ActivityIndicator/Spinner.native.jsx +5 -3
  245. package/src/Box/Box.jsx +132 -39
  246. package/src/Button/Button.jsx +10 -6
  247. package/src/Button/ButtonBase.jsx +99 -99
  248. package/src/Button/ButtonGroup.jsx +81 -69
  249. package/src/Button/ButtonLink.jsx +21 -15
  250. package/src/Button/propTypes.js +12 -2
  251. package/src/Card/Card.jsx +5 -31
  252. package/src/Card/CardBase.jsx +59 -0
  253. package/src/Card/PressableCardBase.jsx +119 -0
  254. package/src/Card/index.js +3 -0
  255. package/src/Checkbox/Checkbox.jsx +121 -112
  256. package/src/Checkbox/CheckboxGroup.jsx +206 -0
  257. package/src/Checkbox/{CheckboxInput.web.jsx → CheckboxInput.jsx} +0 -0
  258. package/src/Checkbox/index.js +2 -0
  259. package/src/Divider/Divider.jsx +7 -4
  260. package/src/ExpandCollapse/Accordion.jsx +3 -2
  261. package/src/ExpandCollapse/Control.jsx +40 -43
  262. package/src/ExpandCollapse/ExpandCollapse.jsx +26 -23
  263. package/src/ExpandCollapse/Panel.jsx +69 -63
  264. package/src/Feedback/Feedback.jsx +36 -33
  265. package/src/Fieldset/Fieldset.jsx +136 -0
  266. package/src/Fieldset/FieldsetContainer.jsx +31 -0
  267. package/src/Fieldset/FieldsetContainer.native.jsx +19 -0
  268. package/src/Fieldset/Legend.jsx +21 -0
  269. package/src/Fieldset/Legend.native.jsx +27 -0
  270. package/src/Fieldset/cssReset.js +14 -0
  271. package/src/Fieldset/index.js +3 -0
  272. package/src/FlexGrid/Col/Col.jsx +139 -132
  273. package/src/FlexGrid/FlexGrid.jsx +79 -51
  274. package/src/FlexGrid/Row/Row.jsx +55 -48
  275. package/src/HorizontalScroll/HorizontalScroll.jsx +168 -0
  276. package/src/HorizontalScroll/HorizontalScrollButton.jsx +105 -0
  277. package/src/HorizontalScroll/ScrollViewEnd.jsx +53 -0
  278. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +24 -0
  279. package/src/HorizontalScroll/dictionary.js +11 -0
  280. package/src/HorizontalScroll/index.js +17 -0
  281. package/src/HorizontalScroll/itemPositions.js +101 -0
  282. package/src/Icon/Icon.jsx +43 -50
  283. package/src/Icon/IconText.jsx +23 -18
  284. package/src/Icon/index.js +2 -2
  285. package/src/IconButton/IconButton.jsx +114 -0
  286. package/src/IconButton/index.js +3 -0
  287. package/src/InputLabel/InputLabel.jsx +57 -35
  288. package/src/InputLabel/LabelContent.jsx +21 -0
  289. package/src/InputLabel/LabelContent.native.jsx +11 -2
  290. package/src/InputSupports/InputSupports.jsx +29 -45
  291. package/src/InputSupports/useInputSupports.js +30 -0
  292. package/src/Link/ChevronLink.jsx +26 -16
  293. package/src/Link/{InlinePressable.web.jsx → InlinePressable.jsx} +5 -3
  294. package/src/Link/InlinePressable.native.jsx +5 -3
  295. package/src/Link/Link.jsx +22 -16
  296. package/src/Link/LinkBase.jsx +76 -65
  297. package/src/Link/TextButton.jsx +30 -23
  298. package/src/List/List.jsx +5 -4
  299. package/src/List/ListItem.jsx +77 -82
  300. package/src/Modal/Modal.jsx +190 -0
  301. package/src/Modal/dictionary.js +9 -0
  302. package/src/Modal/index.js +3 -0
  303. package/src/Notification/Notification.jsx +164 -0
  304. package/src/Notification/dictionary.js +8 -0
  305. package/src/Notification/index.js +3 -0
  306. package/src/Pagination/PageButton.jsx +42 -35
  307. package/src/Pagination/Pagination.jsx +88 -92
  308. package/src/Pagination/SideButton.jsx +44 -41
  309. package/src/Progress/Progress.jsx +78 -0
  310. package/src/Progress/ProgressBar.jsx +123 -0
  311. package/src/Progress/ProgressBarBackground.jsx +36 -0
  312. package/src/Progress/index.js +6 -0
  313. package/src/Radio/Radio.jsx +82 -112
  314. package/src/Radio/RadioButton.jsx +142 -0
  315. package/src/Radio/RadioGroup.jsx +209 -0
  316. package/src/Radio/{RadioInput.web.jsx → RadioInput.jsx} +0 -0
  317. package/src/Radio/index.js +2 -0
  318. package/src/RadioCard/RadioCard.jsx +198 -0
  319. package/src/RadioCard/RadioCardGroup.jsx +218 -0
  320. package/src/RadioCard/index.js +5 -0
  321. package/src/Search/Search.jsx +225 -0
  322. package/src/Search/dictionary.js +12 -0
  323. package/src/Search/index.js +3 -0
  324. package/src/Select/{Group.web.jsx → Group.jsx} +0 -0
  325. package/src/Select/{Item.web.jsx → Item.jsx} +0 -0
  326. package/src/Select/Picker.jsx +74 -0
  327. package/src/Select/Picker.native.jsx +56 -49
  328. package/src/Select/Select.jsx +125 -92
  329. package/src/SideNav/Item.jsx +54 -47
  330. package/src/SideNav/ItemsGroup.jsx +50 -43
  331. package/src/SideNav/SideNav.jsx +68 -60
  332. package/src/Skeleton/Skeleton.jsx +25 -32
  333. package/src/Skeleton/skeleton.constant.js +3 -0
  334. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  335. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  336. package/src/Spacer/Spacer.jsx +11 -4
  337. package/src/StackView/StackView.jsx +54 -23
  338. package/src/StackView/StackWrap.jsx +16 -7
  339. package/src/StackView/StackWrapBox.jsx +63 -28
  340. package/src/StackView/StackWrapGap.jsx +46 -24
  341. package/src/StackView/common.jsx +3 -2
  342. package/src/StackView/getStackedContent.jsx +8 -2
  343. package/src/StepTracker/Step.jsx +202 -0
  344. package/src/StepTracker/StepTracker.jsx +174 -0
  345. package/src/StepTracker/dictionary.js +10 -0
  346. package/src/StepTracker/index.js +3 -0
  347. package/src/Tabs/Tabs.jsx +97 -0
  348. package/src/Tabs/TabsItem.jsx +212 -0
  349. package/src/Tabs/index.js +3 -0
  350. package/src/Tags/Tags.jsx +115 -102
  351. package/src/TextInput/TextArea.jsx +5 -4
  352. package/src/TextInput/TextInput.jsx +5 -4
  353. package/src/TextInput/TextInputBase.jsx +95 -98
  354. package/src/ThemeProvider/ThemeProvider.jsx +11 -7
  355. package/src/ThemeProvider/useSetTheme.js +4 -0
  356. package/src/ThemeProvider/useThemeTokens.js +2 -2
  357. package/src/ThemeProvider/utils/styles.js +18 -5
  358. package/src/ThemeProvider/utils/theme-tokens.js +74 -5
  359. package/src/ToggleSwitch/ToggleSwitch.jsx +50 -52
  360. package/src/Tooltip/{Backdrop.web.jsx → Backdrop.jsx} +0 -0
  361. package/src/Tooltip/Tooltip.jsx +135 -131
  362. package/src/TooltipButton/TooltipButton.jsx +23 -27
  363. package/src/Typography/Typography.jsx +71 -47
  364. package/src/index.js +23 -2
  365. package/src/utils/a11y/index.js +1 -0
  366. package/src/utils/a11y/semantics.js +162 -0
  367. package/src/utils/children.jsx +119 -0
  368. package/src/utils/index.js +3 -0
  369. package/src/utils/info/platform/platform.js +1 -0
  370. package/src/utils/info/versions.js +2 -2
  371. package/src/utils/input.js +36 -25
  372. package/src/utils/pressability.js +4 -0
  373. package/src/utils/propTypes.js +199 -72
  374. package/src/utils/useCopy.js +30 -4
  375. package/src/utils/useHash.js +39 -0
  376. package/src/utils/useHash.native.js +6 -0
  377. package/stories/A11yText/A11yText.stories.jsx +6 -10
  378. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +1 -1
  379. package/stories/Box/Box.stories.jsx +1 -1
  380. package/stories/Button/Button.stories.jsx +2 -2
  381. package/stories/Button/ButtonGroup.stories.jsx +1 -1
  382. package/stories/Button/ButtonLink.stories.jsx +1 -1
  383. package/stories/Card/Card.stories.jsx +1 -1
  384. package/stories/Checkbox/Checkbox.stories.jsx +24 -1
  385. package/stories/Divider/Divider.stories.jsx +1 -1
  386. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +2 -2
  387. package/stories/Feedback/Feedback.stories.jsx +1 -1
  388. package/stories/FlexGrid/01 FlexGrid.stories.jsx +1 -1
  389. package/stories/FlexGrid/02 Row.stories.jsx +1 -1
  390. package/stories/FlexGrid/03 Col.stories.jsx +1 -1
  391. package/stories/Icon/Icon.stories.jsx +27 -7
  392. package/stories/IconButton/IconButton.stories.jsx +50 -0
  393. package/stories/InputLabel/InputLabel.stories.jsx +1 -1
  394. package/stories/Link/ChevronLink.stories.jsx +1 -1
  395. package/stories/Link/Link.stories.jsx +17 -21
  396. package/stories/Link/TextButton.stories.jsx +1 -1
  397. package/stories/List/List.stories.jsx +1 -1
  398. package/stories/Modal/Modal.stories.jsx +29 -0
  399. package/stories/Notification/Notification.stories.jsx +82 -0
  400. package/stories/Pagination/Pagination.stories.jsx +1 -1
  401. package/stories/Progress/Progress.stories.jsx +93 -0
  402. package/stories/Radio/Radio.stories.jsx +23 -36
  403. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  404. package/stories/Search/Search.stories.jsx +16 -0
  405. package/stories/Select/Select.stories.jsx +1 -1
  406. package/stories/SideNav/SideNav.stories.jsx +1 -1
  407. package/stories/SideNav/SideNavItem.stories.jsx +1 -1
  408. package/stories/SideNav/SideNavItemsGroup.stories.jsx +1 -1
  409. package/stories/Skeleton/Skeleton.stories.jsx +2 -2
  410. package/stories/Spacer/Spacer.stories.jsx +1 -1
  411. package/stories/StackView/StackView.stories.jsx +1 -1
  412. package/stories/StackView/StackWrap.stories.jsx +1 -1
  413. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  414. package/stories/Tabs/Tabs.stories.jsx +97 -0
  415. package/stories/Tags/Tags.stories.jsx +1 -1
  416. package/stories/TextInput/TextArea.stories.jsx +1 -1
  417. package/stories/TextInput/TextInput.stories.jsx +1 -1
  418. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +1 -1
  419. package/stories/Tooltip/Tooltip.stories.jsx +1 -1
  420. package/stories/TooltipButton/TooltipButton.stories.jsx +1 -1
  421. package/stories/Typography/Typography.stories.jsx +1 -1
  422. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +1 -1
  423. package/stories/supports.jsx +37 -3
  424. package/__fixtures__/accessible.icon.svg +0 -6
  425. package/babel.config.json +0 -8
  426. package/docs/Contributing.stories.mdx +0 -9
  427. package/docs/Fonts.stories.mdx +0 -104
  428. package/docs/Icons.stories.mdx +0 -144
  429. package/docs/Introduction.stories.mdx +0 -9
  430. package/lib/ActivityIndicator/Spinner.web.js +0 -55
  431. package/lib/Checkbox/CheckboxInput.web.js +0 -57
  432. package/lib/InputLabel/LabelContent.web.js +0 -17
  433. package/lib/Link/InlinePressable.web.js +0 -32
  434. package/lib/Radio/RadioInput.web.js +0 -59
  435. package/lib/Select/Group.web.js +0 -18
  436. package/lib/Select/Item.web.js +0 -15
  437. package/lib/Select/Picker.web.js +0 -63
  438. package/lib/config/svgr-icons-web.js +0 -9
  439. package/lib/config/svgr-icons.js +0 -52
  440. package/lib/utils/info/platform/platform.web.js +0 -1
  441. package/src/InputLabel/LabelContent.web.jsx +0 -13
  442. package/src/Select/Picker.web.jsx +0 -67
  443. package/src/config/svgr-icons-web.js +0 -11
  444. package/src/config/svgr-icons.js +0 -46
  445. package/src/utils/info/platform/platform.web.js +0 -1
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _utils = require("../utils");
13
+
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ const Picker = /*#__PURE__*/(0, _react.forwardRef)(({
23
+ value,
24
+ onChange,
25
+ onFocus,
26
+ onBlur,
27
+ onMouseOver,
28
+ onMouseOut,
29
+ style,
30
+ inactive,
31
+ children,
32
+ placeholder,
33
+ nativeID,
34
+ testID,
35
+ ...rest
36
+ }, ref) => {
37
+ const {
38
+ accessibilityLabel,
39
+ accessibilityDescribedBy,
40
+ accessibilityInvalid
41
+ } = rest;
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("select", {
43
+ ref: ref,
44
+ style: style,
45
+ onMouseOver: onMouseOver,
46
+ onMouseOut: onMouseOut,
47
+ onFocus: onFocus,
48
+ onBlur: onBlur,
49
+ disabled: inactive,
50
+ value: value || (placeholder !== undefined ? placeholder.value : undefined),
51
+ onChange: event => onChange(event.target.value, event),
52
+ id: nativeID,
53
+ "aria-label": accessibilityLabel,
54
+ "aria-describedby": accessibilityDescribedBy,
55
+ "aria-invalid": accessibilityInvalid,
56
+ "data-testid": testID,
57
+ children: [placeholder !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
58
+ value: placeholder.value,
59
+ disabled: true,
60
+ hidden: true,
61
+ children: placeholder.label
62
+ }), children]
63
+ });
64
+ });
65
+ Picker.displayName = 'Picker';
66
+ var _default = Picker;
67
+ exports.default = _default;
68
+ Picker.propTypes = {
69
+ value: _propTypes.default.string,
70
+ onChange: _propTypes.default.func,
71
+ onFocus: _propTypes.default.func,
72
+ onBlur: _propTypes.default.func,
73
+ onMouseOver: _propTypes.default.func,
74
+ onMouseOut: _propTypes.default.func,
75
+ style: _propTypes.default.object,
76
+ inactive: _propTypes.default.bool,
77
+ children: (0, _utils.componentPropType)(['Item', 'Group']),
78
+ placeholder: _propTypes.default.shape({
79
+ value: _propTypes.default.string,
80
+ label: _propTypes.default.string
81
+ }),
82
+ nativeID: _propTypes.default.string,
83
+ testID: _propTypes.default.string
84
+ };
@@ -1,10 +1,33 @@
1
- import React, { Children } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View, Platform } from 'react-native';
4
- import NativePicker from 'react-native-picker-select';
5
- import { a11yProps, componentPropType } from '../utils';
6
- import Group from './Group'; // styling of the native input is very limited, most of the styles have to be applied to an additional View
1
+ "use strict";
7
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
+
14
+ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
15
+
16
+ var _reactNativePickerSelect = _interopRequireDefault(require("react-native-picker-select"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _Group = _interopRequireDefault(require("./Group"));
21
+
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ // styling of the native input is very limited, most of the styles have to be applied to an additional View
8
31
  const selectAndroidInputStyles = ({
9
32
  height = 0,
10
33
  paddingBottom = 0,
@@ -27,7 +50,7 @@ const selectAndroidContainerStyles = ({
27
50
  ...rest
28
51
  });
29
52
 
30
- const Picker = ({
53
+ const Picker = /*#__PURE__*/(0, _react.forwardRef)(({
31
54
  value,
32
55
  onChange,
33
56
  onFocus,
@@ -37,51 +60,71 @@ const Picker = ({
37
60
  children,
38
61
  placeholder,
39
62
  ...rest
40
- }) => {
63
+ }, ref) => {
41
64
  // ungroup items, since there's no way to support groups on native
42
- const flatChildren = Children.toArray(children).flatMap(child => {
43
- if (child.type === Group) {
65
+ const flatChildren = _react.Children.toArray(children).flatMap(child => {
66
+ if (child.type === _Group.default) {
44
67
  return child.props.children;
45
68
  }
46
69
 
47
70
  return child;
48
71
  });
72
+
49
73
  const items = flatChildren.map(({
50
74
  props
51
75
  }) => ({
52
76
  label: props.children,
53
77
  value: props.value
54
- }));
55
- const picker = /*#__PURE__*/React.createElement(NativePicker, {
56
- touchableWrapperProps: a11yProps.select(rest),
78
+ })); // Unlike other input components, react-native-picker-select doesn't pass an event to its change fn.
79
+
80
+ const handleChange = (newValue, index) => {
81
+ if (onChange) onChange(newValue, {
82
+ // TODO: see if it's possible to pass a real React SyntheticEvent here. For now, just pass an
83
+ // object with a shape where if an onChange deconstructs `event.nativeEvent`, it won't crash.
84
+ nativeEvent: {
85
+ index,
86
+ value: newValue
87
+ }
88
+ });
89
+ };
90
+
91
+ const picker = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativePickerSelect.default, {
92
+ pickerProps: {
93
+ ref
94
+ },
95
+ touchableWrapperProps: _utils.a11yProps.select(rest),
57
96
  onOpen: onFocus,
58
97
  onClose: onBlur,
59
98
  disabled: inactive,
60
99
  items: items,
61
100
  value: value,
62
- onValueChange: onChange,
101
+ onValueChange: handleChange,
63
102
  style: {
64
103
  inputIOS: style,
65
104
  inputAndroid: selectAndroidInputStyles(style)
66
105
  },
67
106
  placeholder: placeholder !== undefined ? placeholder : {}
68
107
  });
69
- return /*#__PURE__*/React.createElement(React.Fragment, null, Platform.OS === 'android' ? /*#__PURE__*/React.createElement(View, {
70
- style: selectAndroidContainerStyles(style)
71
- }, picker) : picker);
72
- };
73
-
74
- export default Picker;
108
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
109
+ children: _Platform.default.OS === 'android' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
110
+ style: selectAndroidContainerStyles(style),
111
+ children: picker
112
+ }) : picker
113
+ });
114
+ });
115
+ Picker.displayName = 'Picker';
116
+ var _default = Picker;
117
+ exports.default = _default;
75
118
  Picker.propTypes = {
76
- value: PropTypes.string,
77
- onChange: PropTypes.func,
78
- onFocus: PropTypes.func,
79
- onBlur: PropTypes.func,
80
- style: PropTypes.object,
81
- inactive: PropTypes.bool,
82
- children: componentPropType(['Item', 'Group']),
83
- placeholder: PropTypes.shape({
84
- value: PropTypes.string,
85
- label: PropTypes.string
119
+ value: _propTypes.default.string,
120
+ onChange: _propTypes.default.func,
121
+ onFocus: _propTypes.default.func,
122
+ onBlur: _propTypes.default.func,
123
+ style: _propTypes.default.object,
124
+ inactive: _propTypes.default.bool,
125
+ children: (0, _utils.componentPropType)(['Item', 'Group']),
126
+ placeholder: _propTypes.default.shape({
127
+ value: _propTypes.default.string,
128
+ label: _propTypes.default.string
86
129
  })
87
130
  };
@@ -1,11 +1,37 @@
1
- import React, { useState } from 'react';
2
- import { View, Platform, StyleSheet } from 'react-native';
3
- import PropTypes from 'prop-types';
4
- import { applyTextStyles, useThemeTokens } from '../ThemeProvider';
5
- import { componentPropType, getTokensPropType, useInputValue, variantProp } from '../utils';
6
- import Picker from './Picker';
7
- import InputSupports from '../InputSupports';
8
- import inputSupportsProps from '../InputSupports/propTypes';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
+
12
+ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
+
14
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var _Picker = _interopRequireDefault(require("./Picker"));
23
+
24
+ var _InputSupports = _interopRequireDefault(require("../InputSupports"));
25
+
26
+ var _propTypes2 = _interopRequireDefault(require("../InputSupports/propTypes"));
27
+
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9
35
 
10
36
  const selectInputStyles = ({
11
37
  backgroundColor,
@@ -31,13 +57,14 @@ const selectInputStyles = ({
31
57
  // jump around if the border width changes (avoiding NaN and negative padding)
32
58
  const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
33
59
 
34
- const textStyles = applyTextStyles({
60
+ const textStyles = (0, _ThemeProvider.applyTextStyles)({
35
61
  fontName,
36
62
  fontSize,
37
63
  lineHeight,
38
64
  fontWeight
39
65
  });
40
- const webStyles = Platform.select({
66
+
67
+ const webStyles = _Platform.default.select({
41
68
  web: {
42
69
  appearance: 'none',
43
70
  WebkitAppearance: 'none',
@@ -48,9 +75,10 @@ const selectInputStyles = ({
48
75
 
49
76
  }
50
77
  });
78
+
51
79
  let paddingWithIcons = paddingRight;
52
80
 
53
- if (Platform.OS !== 'android') {
81
+ if (_Platform.default.OS !== 'android') {
54
82
  if (icon) {
55
83
  paddingWithIcons += iconSize;
56
84
  }
@@ -78,25 +106,17 @@ const selectInputStyles = ({
78
106
 
79
107
  const selectOuterBorderStyles = ({
80
108
  outerBackgroundColor,
81
- outerBorderWidth = 0,
109
+ outerBorderWidth,
82
110
  outerBorderColor,
83
- outerBorderRadius = 0
84
- }) => {
85
- // Use negative margins so that the outer border doesn't expand the input's bounding box
86
- const margin = -1 * outerBorderWidth; // Account for the border width since we style it as an outline
87
-
88
- const borderRadius = outerBorderRadius + outerBorderWidth;
89
- return {
90
- background: outerBackgroundColor,
91
- borderWidth: outerBorderWidth,
92
- borderColor: outerBorderColor,
93
- borderRadius,
94
- marginTop: margin,
95
- marginBottom: margin,
96
- marginLeft: margin,
97
- marginRight: margin
98
- };
99
- };
111
+ borderRadius
112
+ }) => ({
113
+ background: outerBackgroundColor,
114
+ ...(0, _ThemeProvider.applyOuterBorder)({
115
+ outerBorderColor,
116
+ outerBorderWidth,
117
+ borderRadius
118
+ })
119
+ });
100
120
 
101
121
  const selectIconTokens = ({
102
122
  iconSize,
@@ -165,7 +185,7 @@ const selectValidationIconContainerStyles = ({
165
185
  */
166
186
 
167
187
 
168
- const Select = ({
188
+ const Select = /*#__PURE__*/(0, _react.forwardRef)(({
169
189
  value,
170
190
  initialValue,
171
191
  onChange,
@@ -178,23 +198,23 @@ const Select = ({
178
198
  variant,
179
199
  testID,
180
200
  ...rest
181
- }) => {
201
+ }, ref) => {
182
202
  const {
183
203
  currentValue,
184
204
  setValue
185
- } = useInputValue({
205
+ } = (0, _utils.useInputValue)({
186
206
  value,
187
207
  initialValue,
188
208
  onChange,
189
209
  readOnly
190
210
  });
191
- const [isFocused, setIsFocused] = useState(false);
211
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
192
212
 
193
213
  const handleFocus = () => setIsFocused(true);
194
214
 
195
215
  const handleBlur = () => setIsFocused(false);
196
216
 
197
- const [isHovered, setIsHovered] = useState(false);
217
+ const [isHovered, setIsHovered] = (0, _react.useState)(false);
198
218
 
199
219
  const handleMouseOver = () => setIsHovered(true);
200
220
 
@@ -202,8 +222,9 @@ const Select = ({
202
222
 
203
223
  const {
204
224
  props: supportsProps
205
- } = inputSupportsProps.select(rest);
206
- const themeTokens = useThemeTokens('Select', tokens, variant, {
225
+ } = _propTypes2.default.select(rest);
226
+
227
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('Select', tokens, variant, {
207
228
  focus: isFocused,
208
229
  hover: isHovered,
209
230
  inactive,
@@ -213,57 +234,106 @@ const Select = ({
213
234
  icon: IconComponent,
214
235
  validationIcon: ValidationIconComponent
215
236
  } = themeTokens;
216
- return /*#__PURE__*/React.createElement(InputSupports, supportsProps, ({
217
- a11yProps,
218
- inputId
219
- }) => /*#__PURE__*/React.createElement(View, {
220
- style: selectOuterBorderStyles(themeTokens)
221
- }, /*#__PURE__*/React.createElement(Picker, Object.assign({
222
- style: selectInputStyles(themeTokens, inactive),
223
- onFocus: handleFocus,
224
- onBlur: handleBlur,
225
- onMouseOver: handleMouseOver,
226
- onMouseOut: handleMouseOut,
227
- onChange: setValue,
228
- value: currentValue,
229
- inactive: inactive,
230
- placeholder: placeholder !== undefined ? {
231
- label: placeholder,
232
- value: ''
233
- } : undefined
234
- }, a11yProps, {
235
- nativeID: inputId,
236
- testID: testID
237
- }), children), ValidationIconComponent && /*#__PURE__*/React.createElement(View, {
238
- pointerEvents: "none",
239
- style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)]
240
- }, /*#__PURE__*/React.createElement(ValidationIconComponent, {
241
- tokens: selectValidationIconTokens(themeTokens)
242
- })), IconComponent && Platform.OS !== 'android' &&
243
- /*#__PURE__*/
244
- // we can't hide the default caret of a native picker on android
245
- React.createElement(View, {
246
- pointerEvents: "none",
247
- style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)]
248
- }, /*#__PURE__*/React.createElement(IconComponent, {
249
- tokens: selectIconTokens(themeTokens)
250
- }))));
251
- };
237
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSupports.default, { ...supportsProps,
238
+ children: ({
239
+ a11yProps,
240
+ inputId
241
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
242
+ style: selectOuterBorderStyles(themeTokens),
243
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Picker.default, {
244
+ ref: ref,
245
+ style: selectInputStyles(themeTokens, inactive),
246
+ onFocus: handleFocus,
247
+ onBlur: handleBlur,
248
+ onMouseOver: handleMouseOver,
249
+ onMouseOut: handleMouseOut,
250
+ onChange: setValue,
251
+ value: currentValue,
252
+ inactive: inactive,
253
+ placeholder: placeholder !== undefined ? {
254
+ label: placeholder,
255
+ value: ''
256
+ } : undefined,
257
+ ...a11yProps,
258
+ nativeID: inputId,
259
+ testID: testID,
260
+ children: children
261
+ }), ValidationIconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
262
+ pointerEvents: "none",
263
+ style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)],
264
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidationIconComponent, {
265
+ tokens: selectValidationIconTokens(themeTokens)
266
+ })
267
+ }), IconComponent && _Platform.default.OS !== 'android' &&
268
+ /*#__PURE__*/
269
+ // we can't hide the default caret of a native picker on android
270
+ (0, _jsxRuntime.jsx)(_View.default, {
271
+ pointerEvents: "none",
272
+ style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)],
273
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconTokens(themeTokens)
274
+ })
275
+ })]
276
+ })
277
+ });
278
+ });
279
+ Select.displayName = 'Select';
280
+ Select.propTypes = { ..._propTypes2.default.types,
281
+
282
+ /**
283
+ * Initial value for the uncontrolled version.
284
+ */
285
+ initialValue: _propTypes.default.string,
252
286
 
253
- Select.propTypes = { ...inputSupportsProps.types,
254
- initialValue: PropTypes.string,
255
- value: PropTypes.string,
256
- onChange: PropTypes.func,
257
- children: componentPropType(['Item', 'Group']),
258
- inactive: PropTypes.bool,
259
- readOnly: PropTypes.bool,
260
- placeholder: PropTypes.string,
261
- tokens: getTokensPropType('Select'),
262
- variant: variantProp.propType,
263
- testID: PropTypes.string
287
+ /**
288
+ * Current value to be set as selected.
289
+ */
290
+ value: _propTypes.default.string,
291
+
292
+ /**
293
+ * Callback to be called when the value changes.
294
+ */
295
+ onChange: _propTypes.default.func,
296
+
297
+ /**
298
+ * An array of items or item groups to be used as options.
299
+ */
300
+ children: (0, _utils.componentPropType)(['Item', 'Group']),
301
+
302
+ /**
303
+ * Whether the select is disabled.
304
+ */
305
+ inactive: _propTypes.default.bool,
306
+
307
+ /**
308
+ * Whether the select is read-only.
309
+ */
310
+ readOnly: _propTypes.default.bool,
311
+
312
+ /**
313
+ * A placeholder to provide instructions (such as "Please select...")
314
+ * as an unselectable option
315
+ */
316
+ placeholder: _propTypes.default.string,
317
+
318
+ /**
319
+ * Select tokens.
320
+ */
321
+ tokens: (0, _utils.getTokensPropType)('Select'),
322
+
323
+ /**
324
+ * Select variant.
325
+ */
326
+ variant: _utils.variantProp.propType,
327
+
328
+ /**
329
+ * Dedicated ID for testing.
330
+ */
331
+ testID: _propTypes.default.string
264
332
  };
265
- export default Select;
266
- const staticStyles = StyleSheet.create({
333
+ var _default = Select;
334
+ exports.default = _default;
335
+
336
+ const staticStyles = _StyleSheet.default.create({
267
337
  iconContainer: {
268
338
  position: 'absolute',
269
339
  right: 0,
@@ -1,6 +1,19 @@
1
- import Select from './Select';
2
- import Group from './Group';
3
- import Item from './Item';
4
- Select.Group = Group;
5
- Select.Item = Item;
6
- export default Select;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Select = _interopRequireDefault(require("./Select"));
9
+
10
+ var _Group = _interopRequireDefault(require("./Group"));
11
+
12
+ var _Item = _interopRequireDefault(require("./Item"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ _Select.default.Group = _Group.default;
17
+ _Select.default.Item = _Item.default;
18
+ var _default = _Select.default;
19
+ exports.default = _default;