@telus-uds/components-base 1.8.1 → 1.8.4

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 (288) hide show
  1. package/CHANGELOG.md +35 -2
  2. package/component-docs.json +711 -669
  3. package/lib/A11yInfoProvider/index.js +4 -3
  4. package/lib/A11yText/index.js +6 -5
  5. package/lib/ActivityIndicator/Spinner.js +14 -13
  6. package/lib/ActivityIndicator/Spinner.native.js +10 -8
  7. package/lib/ActivityIndicator/index.js +6 -5
  8. package/lib/ActivityIndicator/shared.js +1 -1
  9. package/lib/BaseProvider/index.js +13 -10
  10. package/lib/Box/Box.js +20 -19
  11. package/lib/Button/Button.js +7 -6
  12. package/lib/Button/ButtonBase.js +97 -79
  13. package/lib/Button/ButtonGroup.js +34 -32
  14. package/lib/Button/ButtonLink.js +9 -7
  15. package/lib/Button/index.js +4 -4
  16. package/lib/Button/propTypes.js +1 -1
  17. package/lib/Card/Card.js +8 -7
  18. package/lib/Card/CardBase.js +35 -31
  19. package/lib/Card/PressableCardBase.js +14 -12
  20. package/lib/Checkbox/Checkbox.js +97 -83
  21. package/lib/Checkbox/CheckboxGroup.js +29 -27
  22. package/lib/Checkbox/CheckboxInput.js +12 -10
  23. package/lib/Divider/Divider.js +10 -9
  24. package/lib/ExpandCollapse/Control.js +42 -36
  25. package/lib/ExpandCollapse/ExpandCollapse.js +11 -10
  26. package/lib/ExpandCollapse/Panel.js +29 -40
  27. package/lib/Feedback/Feedback.js +48 -35
  28. package/lib/Fieldset/Fieldset.js +16 -15
  29. package/lib/Fieldset/FieldsetContainer.js +16 -13
  30. package/lib/Fieldset/FieldsetContainer.native.js +11 -8
  31. package/lib/Fieldset/Legend.js +10 -7
  32. package/lib/Fieldset/Legend.native.js +10 -7
  33. package/lib/FlexGrid/Col/Col.js +18 -17
  34. package/lib/FlexGrid/FlexGrid.js +15 -14
  35. package/lib/FlexGrid/Row/Row.js +13 -12
  36. package/lib/HorizontalScroll/HorizontalScroll.js +25 -20
  37. package/lib/HorizontalScroll/HorizontalScrollButton.js +18 -14
  38. package/lib/HorizontalScroll/ScrollViewEnd.js +6 -5
  39. package/lib/HorizontalScroll/ScrollViewEnd.native.js +12 -9
  40. package/lib/HorizontalScroll/itemPositions.js +19 -13
  41. package/lib/Icon/Icon.js +11 -10
  42. package/lib/Icon/IconText.js +8 -7
  43. package/lib/Icon/index.js +5 -5
  44. package/lib/IconButton/IconButton.js +50 -42
  45. package/lib/InputLabel/InputLabel.js +37 -30
  46. package/lib/InputLabel/LabelContent.js +12 -9
  47. package/lib/InputLabel/LabelContent.native.js +9 -6
  48. package/lib/InputSupports/InputSupports.js +11 -10
  49. package/lib/InputSupports/useInputSupports.js +7 -6
  50. package/lib/Link/ChevronLink.js +9 -8
  51. package/lib/Link/InlinePressable.js +13 -10
  52. package/lib/Link/InlinePressable.native.js +20 -16
  53. package/lib/Link/Link.js +10 -9
  54. package/lib/Link/LinkBase.js +96 -78
  55. package/lib/Link/TextButton.js +9 -8
  56. package/lib/List/List.js +20 -13
  57. package/lib/List/ListItem.js +103 -79
  58. package/lib/Modal/Modal.js +74 -60
  59. package/lib/Notification/Notification.js +46 -33
  60. package/lib/Pagination/PageButton.js +13 -12
  61. package/lib/Pagination/Pagination.js +43 -30
  62. package/lib/Pagination/SideButton.js +21 -18
  63. package/lib/Pagination/usePagination.js +7 -6
  64. package/lib/Progress/Progress.js +23 -19
  65. package/lib/Progress/ProgressBar.js +25 -21
  66. package/lib/Progress/ProgressBarBackground.js +7 -6
  67. package/lib/Radio/Radio.js +80 -69
  68. package/lib/Radio/RadioButton.js +63 -53
  69. package/lib/Radio/RadioGroup.js +30 -28
  70. package/lib/Radio/RadioInput.js +12 -10
  71. package/lib/RadioCard/RadioCard.js +16 -15
  72. package/lib/RadioCard/RadioCardGroup.js +30 -28
  73. package/lib/Search/Search.js +52 -32
  74. package/lib/Select/Group.js +5 -4
  75. package/lib/Select/Group.native.js +4 -3
  76. package/lib/Select/Item.js +10 -7
  77. package/lib/Select/Item.native.js +1 -9
  78. package/lib/Select/Picker.js +16 -15
  79. package/lib/Select/Picker.native.js +49 -38
  80. package/lib/Select/Select.js +134 -113
  81. package/lib/SideNav/Item.js +39 -33
  82. package/lib/SideNav/ItemContent.js +15 -12
  83. package/lib/SideNav/ItemsGroup.js +13 -11
  84. package/lib/SideNav/SideNav.js +21 -18
  85. package/lib/Skeleton/Skeleton.js +60 -44
  86. package/lib/Skeleton/skeleton.constant.js +1 -1
  87. package/lib/Skeleton/skeletonWebAnimation.js +1 -1
  88. package/lib/Spacer/Spacer.js +6 -5
  89. package/lib/StackView/StackView.js +12 -11
  90. package/lib/StackView/StackWrap.js +5 -3
  91. package/lib/StackView/StackWrapBox.js +12 -11
  92. package/lib/StackView/StackWrapGap.js +11 -10
  93. package/lib/StackView/common.js +14 -11
  94. package/lib/StackView/getStackedContent.js +10 -9
  95. package/lib/StackView/index.js +1 -1
  96. package/lib/StepTracker/Step.js +122 -103
  97. package/lib/StepTracker/StepTracker.js +48 -38
  98. package/lib/Tabs/Tabs.js +57 -27
  99. package/lib/Tabs/TabsItem.js +78 -68
  100. package/lib/Tags/Tags.js +68 -62
  101. package/lib/TextInput/TextArea.js +26 -20
  102. package/lib/TextInput/TextInput.js +20 -15
  103. package/lib/TextInput/TextInputBase.js +74 -62
  104. package/lib/TextInput/index.js +4 -4
  105. package/lib/ThemeProvider/ThemeProvider.js +6 -5
  106. package/lib/ThemeProvider/index.js +5 -5
  107. package/lib/ThemeProvider/useSetTheme.js +6 -3
  108. package/lib/ThemeProvider/useThemeTokens.js +7 -2
  109. package/lib/ThemeProvider/utils/styles.js +50 -43
  110. package/lib/ThemeProvider/utils/theme-tokens.js +33 -21
  111. package/lib/ToggleSwitch/ToggleSwitch.js +90 -74
  112. package/lib/ToggleSwitch/ToggleSwitchGroup.js +37 -35
  113. package/lib/Tooltip/Backdrop.js +6 -13
  114. package/lib/Tooltip/Backdrop.native.js +5 -4
  115. package/lib/Tooltip/Tooltip.js +81 -65
  116. package/lib/Tooltip/getTooltipPosition.js +29 -18
  117. package/lib/TooltipButton/TooltipButton.js +28 -21
  118. package/lib/Typography/Typography.js +37 -33
  119. package/lib/ViewportProvider/ViewportProvider.js +4 -3
  120. package/lib/ViewportProvider/useViewportListener.js +6 -3
  121. package/lib/index.js +54 -54
  122. package/lib/utils/a11y/semantics.js +5 -2
  123. package/lib/utils/a11y/textSize.js +8 -6
  124. package/lib/utils/animation/useVerticalExpandAnimation.js +46 -19
  125. package/lib/utils/children.js +4 -3
  126. package/lib/utils/index.js +10 -10
  127. package/lib/utils/input.js +28 -29
  128. package/lib/utils/pressability.js +36 -22
  129. package/lib/utils/props/clickProps.js +2 -1
  130. package/lib/utils/props/componentPropType.js +3 -3
  131. package/lib/utils/props/getPropSelector.js +6 -3
  132. package/lib/utils/props/handlerProps.js +25 -19
  133. package/lib/utils/props/hrefAttrsProp.js +14 -11
  134. package/lib/utils/props/index.js +12 -12
  135. package/lib/utils/props/inputSupportsProps.js +15 -12
  136. package/lib/utils/props/linkProps.js +7 -6
  137. package/lib/utils/props/pressProps.js +1 -1
  138. package/lib/utils/props/selectSystemProps.js +2 -2
  139. package/lib/utils/props/tokens.js +29 -15
  140. package/lib/utils/ssr.js +6 -2
  141. package/lib/utils/useCopy.js +6 -4
  142. package/lib/utils/useHash.js +2 -1
  143. package/lib/utils/useResponsiveProp.js +1 -1
  144. package/lib/utils/useSpacingScale.js +3 -1
  145. package/lib/utils/useUniqueId.js +3 -2
  146. package/lib/utils/withLinkRouter.js +6 -5
  147. package/lib-module/A11yInfoProvider/index.js +4 -3
  148. package/lib-module/A11yText/index.js +6 -5
  149. package/lib-module/ActivityIndicator/Spinner.js +14 -13
  150. package/lib-module/ActivityIndicator/Spinner.native.js +9 -8
  151. package/lib-module/ActivityIndicator/index.js +6 -5
  152. package/lib-module/BaseProvider/index.js +13 -10
  153. package/lib-module/Box/Box.js +20 -19
  154. package/lib-module/Button/Button.js +7 -6
  155. package/lib-module/Button/ButtonBase.js +96 -79
  156. package/lib-module/Button/ButtonGroup.js +34 -32
  157. package/lib-module/Button/ButtonLink.js +8 -7
  158. package/lib-module/Card/Card.js +8 -7
  159. package/lib-module/Card/CardBase.js +35 -31
  160. package/lib-module/Card/PressableCardBase.js +12 -11
  161. package/lib-module/Checkbox/Checkbox.js +97 -83
  162. package/lib-module/Checkbox/CheckboxGroup.js +29 -27
  163. package/lib-module/Checkbox/CheckboxInput.js +12 -10
  164. package/lib-module/Divider/Divider.js +10 -9
  165. package/lib-module/ExpandCollapse/Control.js +42 -36
  166. package/lib-module/ExpandCollapse/ExpandCollapse.js +11 -10
  167. package/lib-module/ExpandCollapse/Panel.js +29 -37
  168. package/lib-module/Feedback/Feedback.js +46 -33
  169. package/lib-module/Fieldset/Fieldset.js +16 -15
  170. package/lib-module/Fieldset/FieldsetContainer.js +16 -13
  171. package/lib-module/Fieldset/FieldsetContainer.native.js +11 -8
  172. package/lib-module/Fieldset/Legend.js +10 -7
  173. package/lib-module/Fieldset/Legend.native.js +10 -7
  174. package/lib-module/FlexGrid/Col/Col.js +18 -17
  175. package/lib-module/FlexGrid/FlexGrid.js +15 -14
  176. package/lib-module/FlexGrid/Row/Row.js +13 -12
  177. package/lib-module/HorizontalScroll/HorizontalScroll.js +24 -19
  178. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +18 -14
  179. package/lib-module/HorizontalScroll/ScrollViewEnd.js +6 -5
  180. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +12 -9
  181. package/lib-module/HorizontalScroll/itemPositions.js +18 -12
  182. package/lib-module/Icon/Icon.js +10 -9
  183. package/lib-module/Icon/IconText.js +9 -7
  184. package/lib-module/IconButton/IconButton.js +48 -41
  185. package/lib-module/InputLabel/InputLabel.js +37 -30
  186. package/lib-module/InputLabel/LabelContent.js +12 -9
  187. package/lib-module/InputLabel/LabelContent.native.js +9 -6
  188. package/lib-module/InputSupports/InputSupports.js +11 -10
  189. package/lib-module/InputSupports/useInputSupports.js +7 -6
  190. package/lib-module/Link/ChevronLink.js +9 -8
  191. package/lib-module/Link/InlinePressable.js +13 -10
  192. package/lib-module/Link/InlinePressable.native.js +20 -16
  193. package/lib-module/Link/Link.js +10 -9
  194. package/lib-module/Link/LinkBase.js +94 -77
  195. package/lib-module/Link/TextButton.js +9 -8
  196. package/lib-module/List/List.js +20 -13
  197. package/lib-module/List/ListItem.js +103 -78
  198. package/lib-module/Modal/Modal.js +74 -60
  199. package/lib-module/Notification/Notification.js +46 -33
  200. package/lib-module/Pagination/PageButton.js +13 -12
  201. package/lib-module/Pagination/Pagination.js +43 -30
  202. package/lib-module/Pagination/SideButton.js +21 -18
  203. package/lib-module/Pagination/usePagination.js +7 -6
  204. package/lib-module/Progress/Progress.js +23 -19
  205. package/lib-module/Progress/ProgressBar.js +25 -21
  206. package/lib-module/Progress/ProgressBarBackground.js +7 -6
  207. package/lib-module/Radio/Radio.js +80 -69
  208. package/lib-module/Radio/RadioButton.js +62 -52
  209. package/lib-module/Radio/RadioGroup.js +30 -28
  210. package/lib-module/Radio/RadioInput.js +12 -10
  211. package/lib-module/RadioCard/RadioCard.js +16 -15
  212. package/lib-module/RadioCard/RadioCardGroup.js +30 -28
  213. package/lib-module/Search/Search.js +52 -32
  214. package/lib-module/Select/Group.js +5 -4
  215. package/lib-module/Select/Group.native.js +4 -3
  216. package/lib-module/Select/Item.js +10 -7
  217. package/lib-module/Select/Item.native.js +1 -7
  218. package/lib-module/Select/Picker.js +16 -15
  219. package/lib-module/Select/Picker.native.js +46 -36
  220. package/lib-module/Select/Select.js +134 -113
  221. package/lib-module/SideNav/Item.js +39 -33
  222. package/lib-module/SideNav/ItemContent.js +14 -11
  223. package/lib-module/SideNav/ItemsGroup.js +13 -11
  224. package/lib-module/SideNav/SideNav.js +21 -18
  225. package/lib-module/Skeleton/Skeleton.js +60 -44
  226. package/lib-module/Skeleton/skeletonWebAnimation.js +1 -1
  227. package/lib-module/Spacer/Spacer.js +6 -5
  228. package/lib-module/StackView/StackView.js +12 -11
  229. package/lib-module/StackView/StackWrap.js +5 -3
  230. package/lib-module/StackView/StackWrapBox.js +12 -11
  231. package/lib-module/StackView/StackWrapGap.js +11 -10
  232. package/lib-module/StackView/common.js +14 -11
  233. package/lib-module/StackView/getStackedContent.js +10 -9
  234. package/lib-module/StepTracker/Step.js +122 -103
  235. package/lib-module/StepTracker/StepTracker.js +48 -38
  236. package/lib-module/Tabs/Tabs.js +57 -27
  237. package/lib-module/Tabs/TabsItem.js +77 -68
  238. package/lib-module/Tags/Tags.js +68 -62
  239. package/lib-module/TextInput/TextArea.js +26 -20
  240. package/lib-module/TextInput/TextInput.js +19 -15
  241. package/lib-module/TextInput/TextInputBase.js +74 -62
  242. package/lib-module/ThemeProvider/ThemeProvider.js +5 -4
  243. package/lib-module/ThemeProvider/useSetTheme.js +6 -3
  244. package/lib-module/ThemeProvider/useThemeTokens.js +7 -2
  245. package/lib-module/ThemeProvider/utils/styles.js +48 -41
  246. package/lib-module/ThemeProvider/utils/theme-tokens.js +32 -20
  247. package/lib-module/ToggleSwitch/ToggleSwitch.js +90 -74
  248. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +37 -35
  249. package/lib-module/Tooltip/Backdrop.js +6 -13
  250. package/lib-module/Tooltip/Backdrop.native.js +5 -4
  251. package/lib-module/Tooltip/Tooltip.js +81 -65
  252. package/lib-module/Tooltip/getTooltipPosition.js +29 -18
  253. package/lib-module/TooltipButton/TooltipButton.js +28 -21
  254. package/lib-module/Typography/Typography.js +35 -31
  255. package/lib-module/ViewportProvider/ViewportProvider.js +4 -3
  256. package/lib-module/ViewportProvider/useViewportListener.js +6 -3
  257. package/lib-module/utils/a11y/semantics.js +4 -1
  258. package/lib-module/utils/a11y/textSize.js +7 -5
  259. package/lib-module/utils/animation/useVerticalExpandAnimation.js +47 -20
  260. package/lib-module/utils/children.js +4 -3
  261. package/lib-module/utils/input.js +28 -29
  262. package/lib-module/utils/pressability.js +35 -21
  263. package/lib-module/utils/props/clickProps.js +2 -1
  264. package/lib-module/utils/props/componentPropType.js +3 -3
  265. package/lib-module/utils/props/getPropSelector.js +6 -3
  266. package/lib-module/utils/props/handlerProps.js +24 -18
  267. package/lib-module/utils/props/hrefAttrsProp.js +14 -11
  268. package/lib-module/utils/props/inputSupportsProps.js +15 -12
  269. package/lib-module/utils/props/linkProps.js +7 -6
  270. package/lib-module/utils/props/selectSystemProps.js +2 -2
  271. package/lib-module/utils/props/tokens.js +27 -14
  272. package/lib-module/utils/ssr.js +5 -2
  273. package/lib-module/utils/useCopy.js +6 -4
  274. package/lib-module/utils/useHash.js +2 -1
  275. package/lib-module/utils/useSpacingScale.js +3 -1
  276. package/lib-module/utils/useUniqueId.js +3 -2
  277. package/lib-module/utils/withLinkRouter.js +6 -5
  278. package/package.json +13 -11
  279. package/src/ExpandCollapse/Panel.jsx +2 -19
  280. package/src/List/List.jsx +34 -19
  281. package/src/List/ListItem.jsx +12 -2
  282. package/src/Modal/Modal.jsx +2 -1
  283. package/src/Pagination/Pagination.jsx +3 -0
  284. package/src/Search/Search.jsx +11 -0
  285. package/src/Select/Item.native.jsx +0 -7
  286. package/src/Tabs/Tabs.jsx +24 -2
  287. package/src/Tabs/TabsItem.jsx +6 -5
  288. package/src/utils/animation/useVerticalExpandAnimation.js +47 -13
@@ -28,39 +28,47 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
28
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
29
 
30
30
  // styling of the native input is very limited, most of the styles have to be applied to an additional View
31
- const selectAndroidInputStyles = ({
32
- height = 0,
33
- paddingBottom = 0,
34
- paddingTop = 0,
35
- borderWidth = 0,
36
- color
37
- }) => ({
38
- height: height - paddingTop - paddingBottom - 2 * borderWidth,
39
- color
40
- }); // the native input has a side padding of 8px, which can't be adjusted, so we have to account for that in the container
41
-
42
-
43
- const selectAndroidContainerStyles = ({
44
- paddingLeft = 0,
45
- paddingRight = 0,
46
- ...rest
47
- }) => ({
48
- paddingLeft: paddingLeft > 8 ? paddingLeft - 8 : 0,
49
- paddingRight: paddingRight > 8 ? paddingRight - 8 : 0,
50
- ...rest
51
- });
31
+ const selectAndroidInputStyles = _ref => {
32
+ let {
33
+ height = 0,
34
+ paddingBottom = 0,
35
+ paddingTop = 0,
36
+ borderWidth = 0,
37
+ color
38
+ } = _ref;
39
+ return {
40
+ height: height - paddingTop - paddingBottom - 2 * borderWidth,
41
+ color
42
+ };
43
+ }; // the native input has a side padding of 8px, which can't be adjusted, so we have to account for that in the container
44
+
45
+
46
+ const selectAndroidContainerStyles = _ref2 => {
47
+ let {
48
+ paddingLeft = 0,
49
+ paddingRight = 0,
50
+ ...rest
51
+ } = _ref2;
52
+ return {
53
+ paddingLeft: paddingLeft > 8 ? paddingLeft - 8 : 0,
54
+ paddingRight: paddingRight > 8 ? paddingRight - 8 : 0,
55
+ ...rest
56
+ };
57
+ };
58
+
59
+ const Picker = /*#__PURE__*/(0, _react.forwardRef)((_ref3, ref) => {
60
+ let {
61
+ value,
62
+ onChange,
63
+ onFocus,
64
+ onBlur,
65
+ style,
66
+ inactive,
67
+ children,
68
+ placeholder,
69
+ ...rest
70
+ } = _ref3;
52
71
 
53
- const Picker = /*#__PURE__*/(0, _react.forwardRef)(({
54
- value,
55
- onChange,
56
- onFocus,
57
- onBlur,
58
- style,
59
- inactive,
60
- children,
61
- placeholder,
62
- ...rest
63
- }, ref) => {
64
72
  // ungroup items, since there's no way to support groups on native
65
73
  const flatChildren = _react.Children.toArray(children).flatMap(child => {
66
74
  if (child.type === _Group.default) {
@@ -70,12 +78,15 @@ const Picker = /*#__PURE__*/(0, _react.forwardRef)(({
70
78
  return child;
71
79
  });
72
80
 
73
- const items = flatChildren.map(({
74
- props
75
- }) => ({
76
- label: props.children,
77
- value: props.value
78
- })); // Unlike other input components, react-native-picker-select doesn't pass an event to its change fn.
81
+ const items = flatChildren.map(_ref4 => {
82
+ let {
83
+ props
84
+ } = _ref4;
85
+ return {
86
+ label: props.children,
87
+ value: props.value
88
+ };
89
+ }); // Unlike other input components, react-native-picker-select doesn't pass an event to its change fn.
79
90
 
80
91
  const handleChange = (newValue, index) => {
81
92
  if (onChange) onChange(newValue, {
@@ -33,26 +33,28 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
33
33
 
34
34
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.inputSupportsProps, _utils.viewProps]);
35
35
 
36
- const selectInputStyles = ({
37
- backgroundColor,
38
- color,
39
- borderWidth = 0,
40
- borderColor,
41
- borderRadius,
42
- paddingTop,
43
- paddingBottom,
44
- paddingLeft = 0,
45
- paddingRight,
46
- fontName,
47
- fontSize,
48
- fontWeight,
49
- lineHeight,
50
- icon,
51
- iconSize = 0,
52
- validationIcon,
53
- validationIconSize = 0,
54
- height
55
- }, inactive) => {
36
+ const selectInputStyles = (_ref, inactive) => {
37
+ let {
38
+ backgroundColor,
39
+ color,
40
+ borderWidth = 0,
41
+ borderColor,
42
+ borderRadius,
43
+ paddingTop,
44
+ paddingBottom,
45
+ paddingLeft = 0,
46
+ paddingRight,
47
+ fontName,
48
+ fontSize,
49
+ fontWeight,
50
+ lineHeight,
51
+ icon,
52
+ iconSize = 0,
53
+ validationIcon,
54
+ validationIconSize = 0,
55
+ height
56
+ } = _ref;
57
+
56
58
  // Subtract border width from padding so overall input width/height doesn't
57
59
  // jump around if the border width changes (avoiding NaN and negative padding)
58
60
  const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
@@ -104,53 +106,68 @@ const selectInputStyles = ({
104
106
  };
105
107
  };
106
108
 
107
- const selectOuterBorderStyles = ({
108
- outerBackgroundColor,
109
- outerBorderWidth,
110
- outerBorderColor,
111
- borderRadius
112
- }) => ({
113
- background: outerBackgroundColor,
114
- ...(0, _ThemeProvider.applyOuterBorder)({
115
- outerBorderColor,
109
+ const selectOuterBorderStyles = _ref2 => {
110
+ let {
111
+ outerBackgroundColor,
116
112
  outerBorderWidth,
113
+ outerBorderColor,
117
114
  borderRadius
118
- })
119
- });
115
+ } = _ref2;
116
+ return {
117
+ background: outerBackgroundColor,
118
+ ...(0, _ThemeProvider.applyOuterBorder)({
119
+ outerBorderColor,
120
+ outerBorderWidth,
121
+ borderRadius
122
+ })
123
+ };
124
+ };
120
125
 
121
- const selectIconTokens = ({
122
- iconSize,
123
- iconColor
124
- }) => ({
125
- size: iconSize,
126
- color: iconColor
127
- });
126
+ const selectIconTokens = _ref3 => {
127
+ let {
128
+ iconSize,
129
+ iconColor
130
+ } = _ref3;
131
+ return {
132
+ size: iconSize,
133
+ color: iconColor
134
+ };
135
+ };
128
136
 
129
- const selectIconContainerStyles = ({
130
- paddingRight,
131
- paddingBottom
132
- }) => ({
133
- paddingRight,
134
- paddingBottom
135
- });
137
+ const selectIconContainerStyles = _ref4 => {
138
+ let {
139
+ paddingRight,
140
+ paddingBottom
141
+ } = _ref4;
142
+ return {
143
+ paddingRight,
144
+ paddingBottom
145
+ };
146
+ };
136
147
 
137
- const selectValidationIconTokens = ({
138
- validationIconSize,
139
- validationIconColor
140
- }) => ({
141
- size: validationIconSize,
142
- color: validationIconColor
143
- });
148
+ const selectValidationIconTokens = _ref5 => {
149
+ let {
150
+ validationIconSize,
151
+ validationIconColor
152
+ } = _ref5;
153
+ return {
154
+ size: validationIconSize,
155
+ color: validationIconColor
156
+ };
157
+ };
144
158
 
145
- const selectValidationIconContainerStyles = ({
146
- icon,
147
- iconSize = 0,
148
- paddingRight = 0,
149
- paddingBottom
150
- }) => ({
151
- paddingRight: icon ? paddingRight + iconSize : paddingRight,
152
- paddingBottom
153
- });
159
+ const selectValidationIconContainerStyles = _ref6 => {
160
+ let {
161
+ icon,
162
+ iconSize = 0,
163
+ paddingRight = 0,
164
+ paddingBottom
165
+ } = _ref6;
166
+ return {
167
+ paddingRight: icon ? paddingRight + iconSize : paddingRight,
168
+ paddingBottom
169
+ };
170
+ };
154
171
  /**
155
172
  * A basic form single-choice select component. Use in forms or individually to receive user's input.
156
173
  *
@@ -185,20 +202,21 @@ const selectValidationIconContainerStyles = ({
185
202
  */
186
203
 
187
204
 
188
- const Select = /*#__PURE__*/(0, _react.forwardRef)(({
189
- value,
190
- initialValue,
191
- onChange,
192
- children,
193
- inactive,
194
- readOnly,
195
- placeholder,
196
- validation,
197
- tokens,
198
- variant,
199
- testID,
200
- ...rest
201
- }, ref) => {
205
+ const Select = /*#__PURE__*/(0, _react.forwardRef)((_ref7, ref) => {
206
+ let {
207
+ value,
208
+ initialValue,
209
+ onChange,
210
+ children,
211
+ inactive,
212
+ readOnly,
213
+ placeholder,
214
+ validation,
215
+ tokens,
216
+ variant,
217
+ testID,
218
+ ...rest
219
+ } = _ref7;
202
220
  const {
203
221
  currentValue,
204
222
  setValue
@@ -236,44 +254,47 @@ const Select = /*#__PURE__*/(0, _react.forwardRef)(({
236
254
  } = themeTokens;
237
255
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSupports.default, { ...supportsProps,
238
256
  ...selectedProps,
239
- children: ({
240
- inputId,
241
- ...props
242
- }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
243
- style: selectOuterBorderStyles(themeTokens),
244
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Picker.default, {
245
- ref: ref,
246
- style: selectInputStyles(themeTokens, inactive),
247
- onFocus: handleFocus,
248
- onBlur: handleBlur,
249
- onMouseOver: handleMouseOver,
250
- onMouseOut: handleMouseOut,
251
- onChange: setValue,
252
- value: currentValue,
253
- inactive: inactive,
254
- placeholder: placeholder !== undefined ? {
255
- label: placeholder,
256
- value: ''
257
- } : undefined,
258
- ...props,
259
- nativeID: inputId,
260
- testID: testID,
261
- children: children
262
- }), ValidationIconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
263
- pointerEvents: "none",
264
- style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)],
265
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidationIconComponent, { ...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
- })
257
+ children: _ref8 => {
258
+ let {
259
+ inputId,
260
+ ...props
261
+ } = _ref8;
262
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
263
+ style: selectOuterBorderStyles(themeTokens),
264
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Picker.default, {
265
+ ref: ref,
266
+ style: selectInputStyles(themeTokens, inactive),
267
+ onFocus: handleFocus,
268
+ onBlur: handleBlur,
269
+ onMouseOver: handleMouseOver,
270
+ onMouseOut: handleMouseOut,
271
+ onChange: setValue,
272
+ value: currentValue,
273
+ inactive: inactive,
274
+ placeholder: placeholder !== undefined ? {
275
+ label: placeholder,
276
+ value: ''
277
+ } : undefined,
278
+ ...props,
279
+ nativeID: inputId,
280
+ testID: testID,
281
+ children: children
282
+ }), ValidationIconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
283
+ pointerEvents: "none",
284
+ style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)],
285
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidationIconComponent, { ...selectValidationIconTokens(themeTokens)
286
+ })
287
+ }), IconComponent && _Platform.default.OS !== 'android' &&
288
+ /*#__PURE__*/
289
+ // we can't hide the default caret of a native picker on android
290
+ (0, _jsxRuntime.jsx)(_View.default, {
291
+ pointerEvents: "none",
292
+ style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)],
293
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconTokens(themeTokens)
294
+ })
295
+ })]
296
+ });
297
+ }
277
298
  });
278
299
  });
279
300
  Select.displayName = 'Select';
@@ -27,18 +27,19 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
27
27
 
28
28
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.linkProps, _utils.viewProps]);
29
29
 
30
- function selectItemStyles({
31
- backgroundColor,
32
- borderColor,
33
- borderWidth,
34
- borderStyle,
35
- paddingLeft,
36
- paddingRight,
37
- paddingTop,
38
- paddingBottom,
39
- justifyContent,
40
- verticalAlign
41
- }) {
30
+ function selectItemStyles(_ref) {
31
+ let {
32
+ backgroundColor,
33
+ borderColor,
34
+ borderWidth,
35
+ borderStyle,
36
+ paddingLeft,
37
+ paddingRight,
38
+ paddingTop,
39
+ paddingBottom,
40
+ justifyContent,
41
+ verticalAlign
42
+ } = _ref;
42
43
  return {
43
44
  backgroundColor,
44
45
  borderTopColor: borderColor,
@@ -59,20 +60,22 @@ function selectItemStyles({
59
60
  */
60
61
 
61
62
 
62
- const Item = /*#__PURE__*/(0, _react.forwardRef)(({
63
- children,
64
- itemId,
65
- groupId,
66
- onPress,
67
- isActive = false,
68
- isExpanded = false,
69
- tokens,
70
- variant,
71
- href,
72
- accessibilityRole = 'link',
73
- testID,
74
- ...props
75
- }, ref) => {
63
+ const Item = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
64
+ let {
65
+ children,
66
+ itemId,
67
+ groupId,
68
+ onPress,
69
+ isActive = false,
70
+ isExpanded = false,
71
+ tokens,
72
+ variant,
73
+ href,
74
+ accessibilityRole = 'link',
75
+ testID,
76
+ ...props
77
+ } = _ref2;
78
+
76
79
  const handlePress = () => onPress(itemId, groupId);
77
80
 
78
81
  const {
@@ -89,13 +92,16 @@ const Item = /*#__PURE__*/(0, _react.forwardRef)(({
89
92
  });
90
93
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('SideNavItem', tokens, variant);
91
94
 
92
- const getAppearanceState = ({
93
- hovered
94
- }) => ({
95
- hover: hovered,
96
- active: isActive,
97
- expanded: isExpanded
98
- });
95
+ const getAppearanceState = _ref3 => {
96
+ let {
97
+ hovered
98
+ } = _ref3;
99
+ return {
100
+ hover: hovered,
101
+ active: isActive,
102
+ expanded: isExpanded
103
+ };
104
+ };
99
105
 
100
106
  const getPressableStyle = pressableState => selectItemStyles(getTokens(getAppearanceState(pressableState)));
101
107
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectAccentStyles = selectAccentStyles;
7
6
  exports.default = void 0;
7
+ exports.selectAccentStyles = selectAccentStyles;
8
8
 
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
 
@@ -37,17 +37,20 @@ function selectAccentStyles(tokens) {
37
37
  */
38
38
 
39
39
 
40
- const ItemContent = ({
41
- children,
42
- tokens
43
- }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
44
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
45
- tokens: (0, _utils.selectTokens)('Typography', tokens),
46
- children: children
47
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
48
- style: [staticStyles.absolute, selectAccentStyles(tokens)]
49
- })]
50
- });
40
+ const ItemContent = _ref => {
41
+ let {
42
+ children,
43
+ tokens
44
+ } = _ref;
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
46
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
47
+ tokens: (0, _utils.selectTokens)('Typography', tokens),
48
+ children: children
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
50
+ style: [staticStyles.absolute, selectAccentStyles(tokens)]
51
+ })]
52
+ });
53
+ };
51
54
 
52
55
  ItemContent.propTypes = {
53
56
  tokens: (0, _utils.getTokensPropType)('SideNavItem'),
@@ -35,17 +35,19 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
35
35
  ## Usage Criteria
36
36
  - Use `SideNav.ItemsGroup` with large pages that have multiple sections
37
37
  */
38
- const ItemsGroup = /*#__PURE__*/(0, _react.forwardRef)(({
39
- children,
40
- label,
41
- openGroups,
42
- groupId,
43
- isActive = false,
44
- variant,
45
- tokens,
46
- itemTokens,
47
- onToggle
48
- }, ref) => {
38
+ const ItemsGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
39
+ let {
40
+ children,
41
+ label,
42
+ openGroups,
43
+ groupId,
44
+ isActive = false,
45
+ variant,
46
+ tokens,
47
+ itemTokens,
48
+ onToggle
49
+ } = _ref;
50
+
49
51
  // A SideNav control uses the same style and theme as SideNavItem, with a 'parent' variant,
50
52
  // plus control-specific tokens from the SideNavItemsGroup theme (e.g. open/close icon, etc).
51
53
  const getAppearance = appearance => ({ ...variant,
@@ -42,15 +42,16 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
42
42
  - Allow the user to navigate between options frequently and efficiently
43
43
  */
44
44
 
45
- const SideNav = /*#__PURE__*/(0, _react.forwardRef)(({
46
- children,
47
- variant = {},
48
- tokens,
49
- accordion = true,
50
- itemTokens,
51
- groupTokens,
52
- ...rest
53
- }, ref) => {
45
+ const SideNav = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
46
+ let {
47
+ children,
48
+ variant = {},
49
+ tokens,
50
+ accordion = true,
51
+ itemTokens,
52
+ groupTokens,
53
+ ...rest
54
+ } = _ref;
54
55
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('SideNav', tokens, variant);
55
56
  const [active, setActive] = (0, _react.useState)({
56
57
  groupId: undefined,
@@ -73,19 +74,21 @@ const SideNav = /*#__PURE__*/(0, _react.forwardRef)(({
73
74
  maxOpen: accordion ? 1 : null,
74
75
  style: selectBorderStyles(themeTokens),
75
76
  ...selectProps(rest),
76
- children: ({
77
- openIds,
78
- onToggle
79
- }) => {
77
+ children: _ref2 => {
78
+ let {
79
+ openIds,
80
+ onToggle
81
+ } = _ref2;
82
+
80
83
  const renderItem = (item, index, groupId) => {
81
84
  const {
82
- itemId = `item-${index}`,
85
+ itemId = "item-".concat(index),
83
86
  onPress
84
87
  } = item.props;
85
88
 
86
- const handlePress = (...args) => {
87
- onItemPress(...args);
88
- if (onPress) onPress(...args);
89
+ const handlePress = function () {
90
+ onItemPress(...arguments);
91
+ if (onPress) onPress(...arguments);
89
92
  };
90
93
 
91
94
  return /*#__PURE__*/(0, _react.createElement)(_Item.default, { ...item.props,
@@ -107,7 +110,7 @@ const SideNav = /*#__PURE__*/(0, _react.forwardRef)(({
107
110
 
108
111
  if (child.type === _ItemsGroup.default) {
109
112
  const {
110
- groupId = `group-${index}`
113
+ groupId = "group-".concat(index)
111
114
  } = child.props;
112
115
  const isGroupActive = active.itemId !== undefined && active.groupId === groupId;
113
116