@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPressHandlersWithArgs = exports.resolvePressableTokens = exports.resolvePressableState = exports.getCursorStyle = void 0;
6
+ exports.resolvePressableTokens = exports.resolvePressableState = exports.getPressHandlersWithArgs = exports.getCursorStyle = void 0;
7
7
 
8
8
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
9
9
 
@@ -30,11 +30,12 @@ const shouldUseCursor = ['checkbox', 'radio', 'switch'];
30
30
  * @returns
31
31
  */
32
32
 
33
- const getCursorStyle = ({
34
- inactive,
35
- disabled,
36
- accessibilityRole
37
- }) => {
33
+ const getCursorStyle = _ref => {
34
+ let {
35
+ inactive,
36
+ disabled,
37
+ accessibilityRole
38
+ } = _ref;
38
39
  if (_Platform.default.OS !== 'web') return undefined;
39
40
  if (inactive || disabled) return staticStyles.notAllowed;
40
41
  if (shouldUseCursor.includes(accessibilityRole)) return staticStyles.pointer;
@@ -58,15 +59,19 @@ const getCursorStyle = ({
58
59
 
59
60
  exports.getCursorStyle = getCursorStyle;
60
61
 
61
- const resolvePressableState = ({
62
- pressed = false,
63
- focused = false,
64
- hovered = false
65
- } = {}, additionalState) => ({ ...additionalState,
66
- focus: focused,
67
- hover: hovered,
68
- pressed
69
- });
62
+ const resolvePressableState = function () {
63
+ let {
64
+ pressed = false,
65
+ focused = false,
66
+ hovered = false
67
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
+ let additionalState = arguments.length > 1 ? arguments[1] : undefined;
69
+ return { ...additionalState,
70
+ focus: focused,
71
+ hover: hovered,
72
+ pressed
73
+ };
74
+ };
70
75
  /**
71
76
  * Takes a UDS `tokens` prop and, if it is a function, resolves it based on a state
72
77
  * object passed from the React Native `Pressable` component and optional extra properties.
@@ -106,14 +111,23 @@ const staticStyles = _StyleSheet.default.create(_Platform.default.select({
106
111
  */
107
112
 
108
113
 
109
- const getPressHandlersWithArgs = (pressableProps = {}, args = []) => {
114
+ const getPressHandlersWithArgs = function () {
115
+ let pressableProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
116
+ let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
110
117
  // Allow handlers to be passed down for blur, hover, focus, pressIn, etc
111
- const pressHandlers = Object.fromEntries(Object.entries(_pressProps.default.selectHandlers(pressableProps)).map(([key, handler]) => ({
112
- [key]: (...defaultArgs) => {
113
- // Pass each handler data on this button and current selection
114
- handler(...args, ...defaultArgs);
115
- }
116
- })));
118
+ const pressHandlers = Object.fromEntries(Object.entries(_pressProps.default.selectHandlers(pressableProps)).map(_ref2 => {
119
+ let [key, handler] = _ref2;
120
+ return {
121
+ [key]: function () {
122
+ for (var _len = arguments.length, defaultArgs = new Array(_len), _key = 0; _key < _len; _key++) {
123
+ defaultArgs[_key] = arguments[_key];
124
+ }
125
+
126
+ // Pass each handler data on this button and current selection
127
+ handler(...args, ...defaultArgs);
128
+ }
129
+ };
130
+ }));
117
131
  return pressHandlers;
118
132
  };
119
133
 
@@ -28,7 +28,8 @@ var _default = {
28
28
  * web-oriented tooling that injects web-oriented event handlers directly. For example, for
29
29
  * to support use with NextJS's 'next/link' component, which injects `onClick` prop into its child.
30
30
  */
31
- toPressProps: props => Object.fromEntries(Object.entries(props).map(([originalName, value]) => {
31
+ toPressProps: props => Object.fromEntries(Object.entries(props).map(_ref => {
32
+ let [originalName, value] = _ref;
32
33
  const translatedName = clickHandlerMapping[originalName];
33
34
  return translatedName ? [translatedName, value] : [originalName, value];
34
35
  }))
@@ -33,8 +33,8 @@ function componentPropType(passedName) {
33
33
  const nameInProp = ((_props$propName$type = props[propName].type) === null || _props$propName$type === void 0 ? void 0 : _props$propName$type.displayName) || ((_props$propName$type2 = props[propName].type) === null || _props$propName$type2 === void 0 ? void 0 : _props$propName$type2.name);
34
34
 
35
35
  if (!nameInProp || !passedNames.includes(nameInProp)) {
36
- const propDescription = nameInProp ? `Component ${nameInProp}` : typeof props[propName];
37
- return new Error(`${componentName}: ${propDescription} was passed to \`${propName}\` prop; should be ${passedNames.join(' or ')}`);
36
+ const propDescription = nameInProp ? "Component ".concat(nameInProp) : typeof props[propName];
37
+ return new Error("".concat(componentName, ": ").concat(propDescription, " was passed to `").concat(propName, "` prop; should be ").concat(passedNames.join(' or ')));
38
38
  }
39
39
 
40
40
  return undefined;
@@ -42,7 +42,7 @@ function componentPropType(passedName) {
42
42
 
43
43
  const checkRequired = (props, propName, componentName) => {
44
44
  if (props[propName] === undefined) {
45
- return new Error(`The prop \`${propName}\` is marked as required in \`${componentName}\`, but its value is ${props[propName]}.`);
45
+ return new Error("The prop `".concat(propName, "` is marked as required in `").concat(componentName, "`, but its value is ").concat(props[propName], "."));
46
46
  }
47
47
 
48
48
  return undefined;
@@ -7,7 +7,10 @@ exports.default = getPropSelector;
7
7
 
8
8
  function getPropSelector(propTypes, regexp) {
9
9
  const keys = Object.keys(propTypes);
10
- return props => Object.entries(props).reduce((items, [key, value]) => keys.includes(key) || regexp && regexp.test(key) ? { ...items,
11
- [key]: value
12
- } : items, {});
10
+ return props => Object.entries(props).reduce((items, _ref) => {
11
+ let [key, value] = _ref;
12
+ return keys.includes(key) || regexp && regexp.test(key) ? { ...items,
13
+ [key]: value
14
+ } : items;
15
+ }, {});
13
16
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.textInputHandlerProps = exports.focusHandlerProps = void 0;
6
+ exports.textInputHandlerProps = exports.focusHandlerProps = exports.default = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -21,13 +21,16 @@ const focusHandlerProps = {
21
21
  */
22
22
  onFocus: _propTypes.default.func
23
23
  },
24
- select: ({
25
- onBlur,
26
- onFocus
27
- }) => ({
28
- onBlur,
29
- onFocus
30
- })
24
+ select: _ref => {
25
+ let {
26
+ onBlur,
27
+ onFocus
28
+ } = _ref;
29
+ return {
30
+ onBlur,
31
+ onFocus
32
+ };
33
+ }
31
34
  };
32
35
  exports.focusHandlerProps = focusHandlerProps;
33
36
  const textInputHandlerProps = {
@@ -52,17 +55,20 @@ const textInputHandlerProps = {
52
55
  */
53
56
  onSubmitEditing: _propTypes.default.func
54
57
  },
55
- select: ({
56
- onChange,
57
- onChangeText,
58
- onSubmit,
59
- onSubmitEditing
60
- }) => ({
61
- onChange,
62
- onChangeText,
63
- onSubmit,
64
- onSubmitEditing
65
- })
58
+ select: _ref2 => {
59
+ let {
60
+ onChange,
61
+ onChangeText,
62
+ onSubmit,
63
+ onSubmitEditing
64
+ } = _ref2;
65
+ return {
66
+ onChange,
67
+ onChangeText,
68
+ onSubmit,
69
+ onSubmitEditing
70
+ };
71
+ }
66
72
  };
67
73
  exports.textInputHandlerProps = textInputHandlerProps;
68
74
  var _default = {
@@ -24,18 +24,21 @@ var _default = {
24
24
  * Takes a props object, bundles any hrefAttrs props present into one object
25
25
  * and returns that keyed as `hrefAttrs` and non-hrefAttrs props keyed as `rest`
26
26
  */
27
- bundle: ({
28
- download,
29
- rel,
30
- target,
31
- ...rest
32
- }) => ({
33
- hrefAttrs: {
27
+ bundle: _ref => {
28
+ let {
34
29
  download,
35
30
  rel,
36
- target
37
- },
38
- rest
39
- })
31
+ target,
32
+ ...rest
33
+ } = _ref;
34
+ return {
35
+ hrefAttrs: {
36
+ download,
37
+ rel,
38
+ target
39
+ },
40
+ rest
41
+ };
42
+ }
40
43
  };
41
44
  exports.default = _default;
@@ -34,16 +34,16 @@ Object.defineProperty(exports, "clickProps", {
34
34
  return _clickProps.default;
35
35
  }
36
36
  });
37
- Object.defineProperty(exports, "copyPropTypes", {
37
+ Object.defineProperty(exports, "componentPropType", {
38
38
  enumerable: true,
39
39
  get: function () {
40
- return _copyPropTypes.default;
40
+ return _componentPropType.default;
41
41
  }
42
42
  });
43
- Object.defineProperty(exports, "componentPropType", {
43
+ Object.defineProperty(exports, "copyPropTypes", {
44
44
  enumerable: true,
45
45
  get: function () {
46
- return _componentPropType.default;
46
+ return _copyPropTypes.default;
47
47
  }
48
48
  });
49
49
  Object.defineProperty(exports, "hrefAttrsProp", {
@@ -64,16 +64,16 @@ Object.defineProperty(exports, "linkProps", {
64
64
  return _linkProps.default;
65
65
  }
66
66
  });
67
- Object.defineProperty(exports, "pressProps", {
67
+ Object.defineProperty(exports, "paddingProp", {
68
68
  enumerable: true,
69
69
  get: function () {
70
- return _pressProps.default;
70
+ return _paddingProp.default;
71
71
  }
72
72
  });
73
- Object.defineProperty(exports, "paddingProp", {
73
+ Object.defineProperty(exports, "pressProps", {
74
74
  enumerable: true,
75
75
  get: function () {
76
- return _paddingProp.default;
76
+ return _pressProps.default;
77
77
  }
78
78
  });
79
79
  Object.defineProperty(exports, "rectProp", {
@@ -88,16 +88,16 @@ Object.defineProperty(exports, "responsiveProps", {
88
88
  return _responsiveProps.default;
89
89
  }
90
90
  });
91
- Object.defineProperty(exports, "spacingProps", {
91
+ Object.defineProperty(exports, "selectSystemProps", {
92
92
  enumerable: true,
93
93
  get: function () {
94
- return _spacingProps.default;
94
+ return _selectSystemProps.default;
95
95
  }
96
96
  });
97
- Object.defineProperty(exports, "selectSystemProps", {
97
+ Object.defineProperty(exports, "spacingProps", {
98
98
  enumerable: true,
99
99
  get: function () {
100
- return _selectSystemProps.default;
100
+ return _spacingProps.default;
101
101
  }
102
102
  });
103
103
  Object.defineProperty(exports, "textInputProps", {
@@ -47,16 +47,8 @@ var _default = {
47
47
  */
48
48
  validation: _propTypes.default.oneOf(['error', 'success'])
49
49
  },
50
- select: ({
51
- copy,
52
- label,
53
- hint,
54
- hintPosition,
55
- feedback,
56
- tooltip,
57
- validation
58
- }) => ({
59
- supportsProps: {
50
+ select: _ref => {
51
+ let {
60
52
  copy,
61
53
  label,
62
54
  hint,
@@ -64,7 +56,18 @@ var _default = {
64
56
  feedback,
65
57
  tooltip,
66
58
  validation
67
- }
68
- })
59
+ } = _ref;
60
+ return {
61
+ supportsProps: {
62
+ copy,
63
+ label,
64
+ hint,
65
+ hintPosition,
66
+ feedback,
67
+ tooltip,
68
+ validation
69
+ }
70
+ };
71
+ }
69
72
  };
70
73
  exports.default = _default;
@@ -44,14 +44,15 @@ var _default = {
44
44
  * @returns {(() => void)|undefined} Returns a press handler, or undefined on web if no press
45
45
  * handler is provided (expects calling component to render as `<a href={href}>` on web).
46
46
  */
47
- handleHref: ({
48
- onPress,
49
- href
50
- }) => {
47
+ handleHref: _ref => {
48
+ let {
49
+ onPress,
50
+ href
51
+ } = _ref;
51
52
  return _Platform.default.select({
52
53
  web: onPress,
53
- default: (...args) => {
54
- if (onPress) onPress(...args);
54
+ default: function () {
55
+ if (onPress) onPress(...arguments);
55
56
  if (href) _Linking.default.openURL(href);
56
57
  }
57
58
  });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.pressPropTypes = void 0;
6
+ exports.pressPropTypes = exports.default = void 0;
7
7
 
8
8
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
9
9
 
@@ -10,7 +10,7 @@ exports.default = selectSystemProps;
10
10
  function selectSystemProps(systemPropHelpers) {
11
11
  const selectProps = props => systemPropHelpers.reduce((acc, propHelper) => {
12
12
  if (typeof (propHelper === null || propHelper === void 0 ? void 0 : propHelper.select) !== 'function') {
13
- throw new Error(`An invalid system prop helper has been passed to 'selectSystemProps': prop selector ('.select') is missing in ${propHelper}`);
13
+ throw new Error("An invalid system prop helper has been passed to 'selectSystemProps': prop selector ('.select') is missing in ".concat(propHelper));
14
14
  }
15
15
 
16
16
  return { ...acc,
@@ -20,7 +20,7 @@ function selectSystemProps(systemPropHelpers) {
20
20
 
21
21
  const selectedPropTypes = systemPropHelpers.reduce((acc, propHelper) => {
22
22
  if (!(propHelper !== null && propHelper !== void 0 && propHelper.types)) {
23
- throw new Error(`An invalid system prop helper has been passed to 'selectSystemProps': types selector ('.types') is missing in ${propHelper}`);
23
+ throw new Error("An invalid system prop helper has been passed to 'selectSystemProps': types selector ('.types') is missing in ".concat(propHelper));
24
24
  }
25
25
 
26
26
  return { ...acc,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getTokensSetPropType = exports.getTokensPropType = exports.selectTokens = exports.getTokenNames = void 0;
6
+ exports.selectTokens = exports.getTokensSetPropType = exports.getTokensPropType = exports.getTokenNames = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -22,7 +22,7 @@ const getTokenNames = componentName => {
22
22
  const componentTokenSchema = _systemThemeTokens.components[componentName];
23
23
 
24
24
  if (!componentTokenSchema) {
25
- throw new Error(`No "${componentName}" tokenKeys in @telus-uds/system-theme-tokens`);
25
+ throw new Error("No \"".concat(componentName, "\" tokenKeys in @telus-uds/system-theme-tokens"));
26
26
  }
27
27
 
28
28
  return Object.keys(componentTokenSchema);
@@ -63,7 +63,7 @@ exports.getTokenNames = getTokenNames;
63
63
  const selectTokens = (specifier, tokens, prefix) => {
64
64
  const tokenNames = typeof specifier === 'string' ? getTokenNames(specifier) : specifier;
65
65
  const filteredTokens = tokenNames.reduce((validTokens, key) => {
66
- const prefixedKey = prefix ? `${prefix}${key[0].toUpperCase()}${key.slice(1)}` : key;
66
+ const prefixedKey = prefix ? "".concat(prefix).concat(key[0].toUpperCase()).concat(key.slice(1)) : key;
67
67
  const token = tokens[prefixedKey];
68
68
  return token !== undefined ? { ...validTokens,
69
69
  [key]: token
@@ -103,16 +103,22 @@ const selectTokens = (specifier, tokens, prefix) => {
103
103
 
104
104
  exports.selectTokens = selectTokens;
105
105
 
106
- const getTokensPropType = (...componentsNames) => (props, propName, componentName) => {
107
- _propTypes.default.checkPropTypes({
108
- [propName]: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func])
109
- }, props, propName, componentName);
106
+ const getTokensPropType = function () {
107
+ for (var _len = arguments.length, componentsNames = new Array(_len), _key = 0; _key < _len; _key++) {
108
+ componentsNames[_key] = arguments[_key];
109
+ }
110
110
 
111
- if (typeof props[propName] !== 'function') {
111
+ return (props, propName, componentName) => {
112
112
  _propTypes.default.checkPropTypes({
113
- [propName]: _propTypes.default.exact(Object.fromEntries(componentsNames.flatMap(component => getTokenNames(component).map(key => [key, tokenValueType]))))
113
+ [propName]: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func])
114
114
  }, props, propName, componentName);
115
- }
115
+
116
+ if (typeof props[propName] !== 'function') {
117
+ _propTypes.default.checkPropTypes({
118
+ [propName]: _propTypes.default.exact(Object.fromEntries(componentsNames.flatMap(component => getTokenNames(component).map(key => [key, tokenValueType]))))
119
+ }, props, propName, componentName);
120
+ }
121
+ };
116
122
  };
117
123
  /**
118
124
  * Get a proptypes validator for a set of tokens that is not based on a component in the theme schema.
@@ -132,12 +138,20 @@ const getTokensPropType = (...componentsNames) => (props, propName, componentNam
132
138
 
133
139
  exports.getTokensPropType = getTokensPropType;
134
140
 
135
- const getTokensSetPropType = (componentTokenKeys, {
136
- partial = false,
137
- allowFunction = false
138
- } = {}) => {
141
+ const getTokensSetPropType = function (componentTokenKeys) {
142
+ let {
143
+ partial = false,
144
+ allowFunction = false
145
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
146
+
139
147
  const tokensObjectValidator = _propTypes.default.exact(Object.fromEntries(componentTokenKeys.map(key => [key, partial ? tokenValueType : // Some theme tokens can validly resolve to `null`, but .isRequired treats null as undefined
140
- (props, propName, ...args) => props[propName] !== null && tokenValueType.isRequired(props, propName, ...args)])));
148
+ function (props, propName) {
149
+ for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
150
+ args[_key2 - 2] = arguments[_key2];
151
+ }
152
+
153
+ return props[propName] !== null && tokenValueType.isRequired(props, propName, ...args);
154
+ }])));
141
155
 
142
156
  return allowFunction ? _propTypes.default.oneOfType([tokensObjectValidator, _propTypes.default.func]) : tokensObjectValidator;
143
157
  };
package/lib/utils/ssr.js CHANGED
@@ -21,7 +21,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
21
21
  * @param {string} [appName]
22
22
  * @returns {ReactElement[]}
23
23
  */
24
- const getReactNativeWebSSRStyles = (AppRoot, appName = 'app') => {
24
+ const getReactNativeWebSSRStyles = function (AppRoot) {
25
+ let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'app';
26
+
25
27
  _AppRegistry.default.registerComponent(appName, () => AppRoot);
26
28
 
27
29
  const {
@@ -43,7 +45,9 @@ const getReactNativeWebSSRStyles = (AppRoot, appName = 'app') => {
43
45
 
44
46
  exports.getReactNativeWebSSRStyles = getReactNativeWebSSRStyles;
45
47
 
46
- const getSSRStyles = (AppRoot, appName = 'app', existingStyles = []) => {
48
+ const getSSRStyles = function (AppRoot) {
49
+ let appName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'app';
50
+ let existingStyles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
47
51
  return [...existingStyles, ...getReactNativeWebSSRStyles(AppRoot, appName) // if any other CSS-in-JS is added e.g. styled-components generate and add its styles here
48
52
  ];
49
53
  };
@@ -35,10 +35,12 @@ const DEFAULT_COPY = 'en';
35
35
 
36
36
  exports.DEFAULT_COPY = DEFAULT_COPY;
37
37
 
38
- function useCopy({
39
- dictionary,
40
- copy = DEFAULT_COPY
41
- }) {
38
+ function useCopy(_ref) {
39
+ let {
40
+ dictionary,
41
+ copy = DEFAULT_COPY
42
+ } = _ref;
43
+
42
44
  if (typeof copy === 'string') {
43
45
  return key => key ? dictionary[copy][key] : dictionary[copy];
44
46
  } // support overriding the entire copy dictionary with an object for a single language
@@ -29,7 +29,8 @@ const doAction = (action, event) => {
29
29
  */
30
30
 
31
31
 
32
- const useHash = (action, isReady = true) => {
32
+ const useHash = function (action) {
33
+ let isReady = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
33
34
  const [isDone, setIsDone] = (0, _react.useState)(false); // Do the action just once when ready after component mount, from hash on page load
34
35
 
35
36
  const isToDo = isReady && !isDone;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.resolveResponsiveProp = void 0;
6
+ exports.resolveResponsiveProp = exports.default = void 0;
7
7
 
8
8
  var _systemConstants = require("@telus-uds/system-constants");
9
9
 
@@ -110,6 +110,8 @@ const resolveSpacingOptions = space => {
110
110
 
111
111
 
112
112
  const useSpacingScale = spaceValue => {
113
+ var _spaceValue$space;
114
+
113
115
  // In future, may need to consider window height as well as width, particularly for native apps,
114
116
  // e.g. to ensure designs don't look lost on large, tall, not-so-wide portrait screens.
115
117
  const viewport = (0, _ViewportProvider.useViewport)();
@@ -119,7 +121,7 @@ const useSpacingScale = spaceValue => {
119
121
  overridden,
120
122
  subtract = 0
121
123
  } = resolveSpacingOptions(spaceValue);
122
- const space = !overridden && ((spaceValue === null || spaceValue === void 0 ? void 0 : spaceValue.space) ?? (0, _useResponsiveProp.resolveResponsiveProp)(spaceValue, viewport, 0));
124
+ const space = !overridden && ((_spaceValue$space = spaceValue === null || spaceValue === void 0 ? void 0 : spaceValue.space) !== null && _spaceValue$space !== void 0 ? _spaceValue$space : (0, _useResponsiveProp.resolveResponsiveProp)(spaceValue, viewport, 0));
123
125
  const {
124
126
  size
125
127
  } = (0, _ThemeProvider.useThemeTokens)('spacingScale', tokens, variant, {
@@ -9,10 +9,11 @@ var _react = require("react");
9
9
 
10
10
  let id = 0;
11
11
 
12
- function useUniqueId(prefix = '') {
12
+ function useUniqueId() {
13
+ let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
13
14
  const [uniqueId] = (0, _react.useState)(() => {
14
15
  id += 1;
15
- return `${prefix}-${id}`;
16
+ return "".concat(prefix, "-").concat(id);
16
17
  });
17
18
  return uniqueId;
18
19
  }
@@ -50,11 +50,12 @@ const hasOwnProperty = (object, prop) => Object.prototype.hasOwnProperty.call(ob
50
50
 
51
51
 
52
52
  const withLinkRouter = Component => {
53
- const wrappedComponent = /*#__PURE__*/(0, _react.forwardRef)(({
54
- LinkRouter,
55
- linkRouterProps,
56
- ...props
57
- }, ref) => {
53
+ const wrappedComponent = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
54
+ let {
55
+ LinkRouter,
56
+ linkRouterProps,
57
+ ...props
58
+ } = _ref;
58
59
  if (!LinkRouter) return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { ...props,
59
60
  ref: ref
60
61
  });
@@ -6,9 +6,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const ScreenReaderContext = /*#__PURE__*/createContext(false);
7
7
  const ReducedMotionContext = /*#__PURE__*/createContext(false);
8
8
 
9
- const A11yInfoProvider = ({
10
- children
11
- }) => {
9
+ const A11yInfoProvider = _ref => {
10
+ let {
11
+ children
12
+ } = _ref;
12
13
  const [reduceMotionEnabled, setReduceMotionEnabled] = useState(false);
13
14
  const [screenReaderEnabled, setScreenReaderEnabled] = useState(false);
14
15
  useEffect(() => {
@@ -13,11 +13,12 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
13
13
  * as a sibling to blocks of text like paragraphs and interactive elements like buttons.
14
14
  */
15
15
 
16
- const A11yText = /*#__PURE__*/forwardRef(({
17
- text,
18
- heading,
19
- ...rest
20
- }, ref) => {
16
+ const A11yText = /*#__PURE__*/forwardRef((_ref, ref) => {
17
+ let {
18
+ text,
19
+ heading,
20
+ ...rest
21
+ } = _ref;
21
22
  const selectedProps = selectProps({
22
23
  // On iOS, needs `accessible` to be true to be focusable without non-a11y content.
23
24
  // On Web, `accessible` causes RNW to set attributes that may make the element be treated as a group.