@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
@@ -31,27 +31,29 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
31
31
 
32
32
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.textInputHandlerProps, _utils.textInputProps, _utils.viewProps]);
33
33
 
34
- const selectInputStyles = ({
35
- backgroundColor,
36
- color,
37
- borderWidth = 0,
38
- borderColor,
39
- borderRadius,
40
- paddingTop = 0,
41
- paddingBottom = 0,
42
- paddingLeft,
43
- paddingRight = 0,
44
- fontName,
45
- fontSize,
46
- fontWeight,
47
- lineHeight,
48
- icon,
49
- iconSize = 0,
50
- minLines,
51
- maxLines,
52
- width,
53
- height
54
- }, inactive) => {
34
+ const selectInputStyles = (_ref, inactive) => {
35
+ let {
36
+ backgroundColor,
37
+ color,
38
+ borderWidth = 0,
39
+ borderColor,
40
+ borderRadius,
41
+ paddingTop = 0,
42
+ paddingBottom = 0,
43
+ paddingLeft,
44
+ paddingRight = 0,
45
+ fontName,
46
+ fontSize,
47
+ fontWeight,
48
+ lineHeight,
49
+ icon,
50
+ iconSize = 0,
51
+ minLines,
52
+ maxLines,
53
+ width,
54
+ height
55
+ } = _ref;
56
+
55
57
  // Subtract border width from padding so overall input width/height doesn't
56
58
  // jump around if the border width changes (avoiding NaN and negative padding)
57
59
  const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
@@ -102,52 +104,62 @@ const selectInputStyles = ({
102
104
  };
103
105
  };
104
106
 
105
- const selectOuterBorderStyles = ({
106
- outerBackgroundColor,
107
- outerBorderWidth,
108
- outerBorderColor,
109
- borderRadius
110
- }) => ({
111
- background: outerBackgroundColor,
112
- ...(0, _ThemeProvider.applyOuterBorder)({
113
- outerBorderColor,
107
+ const selectOuterBorderStyles = _ref2 => {
108
+ let {
109
+ outerBackgroundColor,
114
110
  outerBorderWidth,
111
+ outerBorderColor,
115
112
  borderRadius
116
- })
117
- });
113
+ } = _ref2;
114
+ return {
115
+ background: outerBackgroundColor,
116
+ ...(0, _ThemeProvider.applyOuterBorder)({
117
+ outerBorderColor,
118
+ outerBorderWidth,
119
+ borderRadius
120
+ })
121
+ };
122
+ };
118
123
 
119
- const selectIconTokens = ({
120
- iconSize,
121
- iconColor
122
- }) => ({
123
- size: iconSize,
124
- color: iconColor
125
- });
124
+ const selectIconTokens = _ref3 => {
125
+ let {
126
+ iconSize,
127
+ iconColor
128
+ } = _ref3;
129
+ return {
130
+ size: iconSize,
131
+ color: iconColor
132
+ };
133
+ };
126
134
 
127
- const selectIconContainerStyles = ({
128
- paddingRight,
129
- paddingBottom
130
- }) => ({
131
- paddingRight,
132
- paddingBottom
133
- });
135
+ const selectIconContainerStyles = _ref4 => {
136
+ let {
137
+ paddingRight,
138
+ paddingBottom
139
+ } = _ref4;
140
+ return {
141
+ paddingRight,
142
+ paddingBottom
143
+ };
144
+ };
134
145
 
135
- const TextInputBase = /*#__PURE__*/(0, _react.forwardRef)(({
136
- value,
137
- height,
138
- initialValue,
139
- inactive,
140
- readOnly,
141
- onChange,
142
- onChangeText,
143
- onFocus,
144
- onBlur,
145
- onMouseOver,
146
- onMouseOut,
147
- tokens,
148
- variant = {},
149
- ...rest
150
- }, ref) => {
146
+ const TextInputBase = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {
147
+ let {
148
+ value,
149
+ height,
150
+ initialValue,
151
+ inactive,
152
+ readOnly,
153
+ onChange,
154
+ onChangeText,
155
+ onFocus,
156
+ onBlur,
157
+ onMouseOver,
158
+ onMouseOut,
159
+ tokens,
160
+ variant = {},
161
+ ...rest
162
+ } = _ref5;
151
163
  const [isFocused, setIsFocused] = (0, _react.useState)(false);
152
164
 
153
165
  const handleFocus = event => {
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "TextInput", {
6
+ Object.defineProperty(exports, "TextArea", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _TextInput.default;
9
+ return _TextArea.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "TextArea", {
12
+ Object.defineProperty(exports, "TextInput", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _TextArea.default;
15
+ return _TextInput.default;
16
16
  }
17
17
  });
18
18
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.ThemeSetterContext = exports.ThemeContext = exports.uninitialisedError = void 0;
6
+ exports.uninitialisedError = exports.default = exports.ThemeSetterContext = exports.ThemeContext = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
@@ -26,10 +26,11 @@ exports.ThemeContext = ThemeContext;
26
26
  const ThemeSetterContext = /*#__PURE__*/(0, _react.createContext)(uninitialisedError);
27
27
  exports.ThemeSetterContext = ThemeSetterContext;
28
28
 
29
- const ThemeProvider = ({
30
- children,
31
- defaultTheme
32
- }) => {
29
+ const ThemeProvider = _ref => {
30
+ let {
31
+ children,
32
+ defaultTheme
33
+ } = _ref;
33
34
  const [theme, setTheme] = (0, _react.useState)(defaultTheme); // Validate the theme tokens version on every render.
34
35
  // This will intentionally break the application when attempting to use an invalid theme.
35
36
  // This will surface an incompatibility quickly rather than allowing the potential for strange bugs due to missing or incompatible tokens.
@@ -7,19 +7,19 @@ var _exportNames = {
7
7
  useTheme: true,
8
8
  useSetTheme: true
9
9
  };
10
- Object.defineProperty(exports, "useTheme", {
10
+ exports.default = void 0;
11
+ Object.defineProperty(exports, "useSetTheme", {
11
12
  enumerable: true,
12
13
  get: function () {
13
- return _useTheme.default;
14
+ return _useSetTheme.default;
14
15
  }
15
16
  });
16
- Object.defineProperty(exports, "useSetTheme", {
17
+ Object.defineProperty(exports, "useTheme", {
17
18
  enumerable: true,
18
19
  get: function () {
19
- return _useSetTheme.default;
20
+ return _useTheme.default;
20
21
  }
21
22
  });
22
- exports.default = void 0;
23
23
 
24
24
  var _ThemeProvider = _interopRequireDefault(require("./ThemeProvider"));
25
25
 
@@ -18,9 +18,12 @@ const useSetTheme = () => {
18
18
  } // Merge provided object into current theme
19
19
 
20
20
 
21
- const editTheme = (0, _react.useCallback)(newTheme => setTheme((oldTheme = {}) => ({ ...oldTheme,
22
- ...newTheme
23
- })), [setTheme]);
21
+ const editTheme = (0, _react.useCallback)(newTheme => setTheme(function () {
22
+ let oldTheme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
+ return { ...oldTheme,
24
+ ...newTheme
25
+ };
26
+ }), [setTheme]);
24
27
  return {
25
28
  setTheme,
26
29
  editTheme
@@ -45,7 +45,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
45
45
  * @param {AppearanceSet} [states] - optional object containing current theme appearances dictated by user action or context
46
46
  * @returns {TokensSet} - the currently-applicable resolved set of theme tokens to apply
47
47
  */
48
- const useThemeTokens = (componentName, tokens = {}, variants = {}, states = {}) => {
48
+ const useThemeTokens = function (componentName) {
49
+ let tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
50
+ let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
51
+ let states = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
49
52
  const theme = (0, _useTheme.default)();
50
53
  const componentTheme = (0, _utils.getComponentTheme)(theme, componentName);
51
54
  const themeTokens = (0, _utils.getThemeTokens)(componentTheme, tokens, variants, states);
@@ -107,7 +110,9 @@ const useThemeTokens = (componentName, tokens = {}, variants = {}, states = {})
107
110
 
108
111
  exports.useThemeTokens = useThemeTokens;
109
112
 
110
- const useThemeTokensCallback = (componentName, tokens = {}, variants = {}) => {
113
+ const useThemeTokensCallback = function (componentName) {
114
+ let tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
115
+ let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
111
116
  const theme = (0, _useTheme.default)();
112
117
  const componentTheme = (0, _utils.getComponentTheme)(theme, componentName);
113
118
  const getThemeTokensCallback = (0, _react.useCallback)((states, tokenOverrides) => {
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.applyTextStyles = applyTextStyles;
6
+ exports.applyOuterBorder = void 0;
7
7
  exports.applyShadowToken = applyShadowToken;
8
+ exports.applyTextStyles = applyTextStyles;
8
9
  exports.verticalAlignRow = verticalAlignRow;
9
- exports.applyOuterBorder = void 0;
10
10
 
11
11
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
12
12
 
@@ -19,16 +19,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
19
  * don't map directly to cross-platform design token values.
20
20
  */
21
21
  // Make design tokens fit React Native's text styles' specific requirements and quirks
22
- function applyTextStyles({
23
- fontSize,
24
- fontScaleCap,
25
- lineHeight,
26
- letterSpacing,
27
- fontWeight = '400',
28
- fontName,
29
- fontStyle = 'normal',
30
- ...rest
31
- }) {
22
+ function applyTextStyles(_ref) {
23
+ let {
24
+ fontSize,
25
+ fontScaleCap,
26
+ lineHeight,
27
+ letterSpacing,
28
+ fontWeight = '400',
29
+ fontName,
30
+ fontStyle = 'normal',
31
+ ...rest
32
+ } = _ref;
32
33
  const styles = { ...rest
33
34
  };
34
35
 
@@ -50,7 +51,7 @@ function applyTextStyles({
50
51
  if (fontName) {
51
52
  // Don't set undefined font families. May need some validation here that the font is available.
52
53
  // Android doesn't recognise font weights natively so apply custom font weights via `fontFamily`.
53
- styles.fontFamily = `${fontName}${fontWeight}${fontStyle}`;
54
+ styles.fontFamily = "".concat(fontName).concat(fontWeight).concat(fontStyle);
54
55
  } else if (fontWeight) {
55
56
  // If using system default font, apply the font weight directly.
56
57
  // Font weight support in Android is limited to 'bold' or anything else === 'normal'.
@@ -89,17 +90,18 @@ function applyShadowToken(shadowToken) {
89
90
  return applyShadow();
90
91
  }
91
92
 
92
- function applyWebShadow({
93
- inset,
94
- color = '',
95
- offsetX = 0,
96
- offsetY = 0,
97
- blur = 0,
98
- spread = 0
99
- }) {
93
+ function applyWebShadow(_ref2) {
94
+ let {
95
+ inset,
96
+ color = '',
97
+ offsetX = 0,
98
+ offsetY = 0,
99
+ blur = 0,
100
+ spread = 0
101
+ } = _ref2;
100
102
  const insetString = inset ? 'inset ' : '';
101
103
  const boxShadow = {
102
- boxShadow: `${insetString}${offsetX}px ${offsetY}px ${blur}px ${spread}px ${color}`
104
+ boxShadow: "".concat(insetString).concat(offsetX, "px ").concat(offsetY, "px ").concat(blur, "px ").concat(spread, "px ").concat(color)
103
105
  };
104
106
  return boxShadow;
105
107
  }
@@ -128,14 +130,15 @@ function applyAndroidShadow(shadowToken) {
128
130
  return {};
129
131
  }
130
132
 
131
- function applyIosShadow({
132
- inset,
133
- color,
134
- offsetX,
135
- offsetY,
136
- spread,
137
- blur
138
- }) {
133
+ function applyIosShadow(_ref3) {
134
+ let {
135
+ inset,
136
+ color,
137
+ offsetX,
138
+ offsetY,
139
+ spread,
140
+ blur
141
+ } = _ref3;
139
142
  // React Native iOS doesn't support inset shadows.
140
143
  // TODO: maybe use a library or workaround for inset shadows. This is a sizable task and would
141
144
  // involve changing component implementations to use a custom view, can't be done with styles alone.
@@ -167,7 +170,8 @@ const verticalAlignToFlexRowAlign = {
167
170
  bottom: 'flex-end'
168
171
  };
169
172
 
170
- function verticalAlignRow(verticalAlign, reverse = false) {
173
+ function verticalAlignRow(verticalAlign) {
174
+ let reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
171
175
  return {
172
176
  flexDirection: reverse ? 'row-reverse' : 'row',
173
177
  alignItems: verticalAlignToFlexRowAlign[verticalAlign]
@@ -179,17 +183,20 @@ function verticalAlignRow(verticalAlign, reverse = false) {
179
183
  */
180
184
 
181
185
 
182
- const applyOuterBorder = ({
183
- outerBorderColor,
184
- outerBorderWidth = 0,
185
- outerBorderGap = 0,
186
- borderRadius = 0
187
- }) => ({
188
- margin: 0 - outerBorderWidth - outerBorderGap,
189
- padding: outerBorderGap,
190
- borderRadius: borderRadius + outerBorderGap + outerBorderWidth,
191
- borderWidth: outerBorderWidth,
192
- borderColor: outerBorderColor
193
- });
186
+ const applyOuterBorder = _ref4 => {
187
+ let {
188
+ outerBorderColor,
189
+ outerBorderWidth = 0,
190
+ outerBorderGap = 0,
191
+ borderRadius = 0
192
+ } = _ref4;
193
+ return {
194
+ margin: 0 - outerBorderWidth - outerBorderGap,
195
+ padding: outerBorderGap,
196
+ borderRadius: borderRadius + outerBorderGap + outerBorderWidth,
197
+ borderWidth: outerBorderWidth,
198
+ borderColor: outerBorderColor
199
+ };
200
+ };
194
201
 
195
202
  exports.applyOuterBorder = applyOuterBorder;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateThemeTokensVersion = exports.toArray = exports.getThemeTokens = exports.mergeAppearances = exports.validateThemeTokens = exports.resolveThemeTokens = exports.doesThemeRuleApply = exports.doesThemeConditionApply = exports.getComponentTheme = void 0;
6
+ exports.validateThemeTokensVersion = exports.validateThemeTokens = exports.toArray = exports.resolveThemeTokens = exports.mergeAppearances = exports.getThemeTokens = exports.getComponentTheme = exports.doesThemeRuleApply = exports.doesThemeConditionApply = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
@@ -28,19 +28,19 @@ const getComponentTheme = (theme, componentName) => {
28
28
  // Give clear and understandable error messages for common dev errors, for example,
29
29
  // typo in component name, missing export or accessing old version of theme
30
30
  if (!theme) {
31
- throw new Error(`Called useTheme's getStyle on "${componentName}" with no theme provided`);
31
+ throw new Error("Called useTheme's getStyle on \"".concat(componentName, "\" with no theme provided"));
32
32
  }
33
33
 
34
34
  const themeName = ((_theme$metadata = theme.metadata) === null || _theme$metadata === void 0 ? void 0 : _theme$metadata.name) || '';
35
35
 
36
36
  if (!theme.components) {
37
- throw new Error(`Theme "${themeName}" has no components defined (looking for "${componentName}")`);
37
+ throw new Error("Theme \"".concat(themeName, "\" has no components defined (looking for \"").concat(componentName, "\")"));
38
38
  }
39
39
 
40
40
  const componentTheme = theme.components[componentName];
41
41
 
42
42
  if (!componentTheme) {
43
- throw new Error(`Theme "${themeName}" does not have styles for component "${componentName}"`);
43
+ throw new Error("Theme \"".concat(themeName, "\" does not have styles for component \"").concat(componentName, "\""));
44
44
  }
45
45
 
46
46
  return componentTheme;
@@ -48,9 +48,12 @@ const getComponentTheme = (theme, componentName) => {
48
48
 
49
49
  exports.getComponentTheme = getComponentTheme;
50
50
 
51
- const doesThemeConditionApply = ([key, value], appearances) => {
51
+ const doesThemeConditionApply = (_ref, appearances) => {
52
+ var _appearances$key;
53
+
54
+ let [key, value] = _ref;
52
55
  // use null rather than undefined so we can serialise the value in themes
53
- const appearanceValue = appearances[key] ?? null;
56
+ const appearanceValue = (_appearances$key = appearances[key]) !== null && _appearances$key !== void 0 ? _appearances$key : null;
54
57
  return Array.isArray(value) ? value.includes(appearanceValue) : value === appearanceValue;
55
58
  };
56
59
 
@@ -77,12 +80,18 @@ const doesThemeRuleApply = (rule, appearances) => Object.entries(rule.if).every(
77
80
 
78
81
  exports.doesThemeRuleApply = doesThemeRuleApply;
79
82
 
80
- const resolveThemeTokens = (defaultTokens, appearances = {}, tokenOverrides) => {
83
+ const resolveThemeTokens = function (defaultTokens) {
84
+ let appearances = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
85
+ let tokenOverrides = arguments.length > 2 ? arguments[2] : undefined;
86
+
81
87
  const resolve = tokens => typeof tokens === 'function' ? tokens(appearances) : tokens;
82
88
 
83
89
  if (!tokenOverrides) return resolve(defaultTokens);
84
- return Object.entries(resolve(tokenOverrides)).reduce((mergedTokens, [tokenName, tokenValue]) => tokenValue === undefined ? mergedTokens : { ...mergedTokens,
85
- [tokenName]: tokenValue
90
+ return Object.entries(resolve(tokenOverrides)).reduce((mergedTokens, _ref2) => {
91
+ let [tokenName, tokenValue] = _ref2;
92
+ return tokenValue === undefined ? mergedTokens : { ...mergedTokens,
93
+ [tokenName]: tokenValue
94
+ };
86
95
  }, resolve(defaultTokens));
87
96
  };
88
97
  /**
@@ -122,9 +131,13 @@ const validateThemeTokens = (themeTokens, validator, componentName) => {
122
131
 
123
132
  exports.validateThemeTokens = validateThemeTokens;
124
133
 
125
- const mergeAppearances = (variants = {}, states) => states ? { ...states,
126
- ...variants
127
- } : variants;
134
+ const mergeAppearances = function () {
135
+ let variants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
136
+ let states = arguments.length > 1 ? arguments[1] : undefined;
137
+ return states ? { ...states,
138
+ ...variants
139
+ } : variants;
140
+ };
128
141
  /**
129
142
  * Get a set of theme tokens by applying a theme's component rules based on a component's variants and state.
130
143
  *
@@ -140,10 +153,13 @@ const mergeAppearances = (variants = {}, states) => states ? { ...states,
140
153
 
141
154
  exports.mergeAppearances = mergeAppearances;
142
155
 
143
- const getThemeTokens = ({
144
- rules = [],
145
- tokens: defaultThemeTokens = {}
146
- }, tokensProp, variants = {}, states) => {
156
+ const getThemeTokens = function (_ref3, tokensProp) {
157
+ let {
158
+ rules = [],
159
+ tokens: defaultThemeTokens = {}
160
+ } = _ref3;
161
+ let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
162
+ let states = arguments.length > 3 ? arguments[3] : undefined;
147
163
  const appearances = mergeAppearances(variants, states); // TODO: if in dev mode, validate the appearances and provided propTokens
148
164
  // Get the theme's default tokens set and merge tokens from applicable theme rules over it
149
165
 
@@ -178,11 +194,7 @@ const validateThemeTokensVersion = theme => {
178
194
  const actualThemeTokensVersion = theme === null || theme === void 0 ? void 0 : (_theme$metadata2 = theme.metadata) === null || _theme$metadata2 === void 0 ? void 0 : _theme$metadata2.themeTokensVersion;
179
195
 
180
196
  if (!(0, _satisfies.default)(actualThemeTokensVersion, expectedThemeTokensVersion)) {
181
- throw new Error(`Invalid UDS token schema version detected.
182
-
183
- The UDS base components ${_package.default.name} v${_package.default.version} are only compatible with UDS themes that are built with @telus-uds/system-theme-tokens version that is semver compatible with ${expectedThemeTokensVersion}. The current theme was built with @telus-uds/system-theme-tokens v${actualThemeTokensVersion}.
184
-
185
- If you see this error than most likely you have attempted to install ${_package.default.name} and a UDS theme manually because you are building a multi-brand application. If you are building a single brand application, consider installing the brand specific design system package such as @telus-uds/ds-allium. For more information, see https://github.com/telus/universal-design-system/blob/main/packages/docs-uds/docs/multi-brand-usage.md`);
197
+ throw new Error("Invalid UDS token schema version detected.\n\nThe UDS base components ".concat(_package.default.name, " v").concat(_package.default.version, " are only compatible with UDS themes that are built with @telus-uds/system-theme-tokens version that is semver compatible with ").concat(expectedThemeTokensVersion, ". The current theme was built with @telus-uds/system-theme-tokens v").concat(actualThemeTokensVersion, ".\n\nIf you see this error than most likely you have attempted to install ").concat(_package.default.name, " and a UDS theme manually because you are building a multi-brand application. If you are building a single brand application, consider installing the brand specific design system package such as @telus-uds/ds-allium. For more information, see https://github.com/telus/universal-design-system/blob/main/packages/docs-uds/docs/multi-brand-usage.md"));
186
198
  }
187
199
  };
188
200