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

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 (349) hide show
  1. package/.ultra.cache.json +1 -1
  2. package/CHANGELOG.md +27 -0
  3. package/__fixtures__/Accessible.js +33 -0
  4. package/__fixtures__/Accessible.native.js +32 -0
  5. package/__fixtures__/testTheme.js +429 -29
  6. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  7. package/__tests__/Button/ButtonGroup.test.jsx +2 -2
  8. package/__tests__/Checkbox/CheckboxGroup.test.jsx +247 -0
  9. package/__tests__/Icon/Icon.test.jsx +3 -3
  10. package/__tests__/Modal/Modal.test.jsx +47 -0
  11. package/__tests__/Notification/Notification.test.jsx +20 -0
  12. package/__tests__/Pagination/Pagination.test.jsx +2 -2
  13. package/__tests__/Progress/Progress.test.jsx +79 -0
  14. package/__tests__/Radio/RadioGroup.test.jsx +221 -0
  15. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  16. package/__tests__/RadioCard/RadioCardGroup.test.jsx +247 -0
  17. package/__tests__/Search/Search.test.jsx +72 -0
  18. package/__tests__/Skeleton/Skeleton.test.jsx +1 -1
  19. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  20. package/__tests__/Tabs/Tabs.test.jsx +200 -0
  21. package/__tests__/Tags/Tags.test.jsx +1 -1
  22. package/__tests__/utils/input.test.js +58 -0
  23. package/__tests__/utils/useCopy.test.js +14 -3
  24. package/babel.config.js +20 -0
  25. package/jest.config.js +1 -1
  26. package/lib/A11yInfoProvider/index.js +54 -26
  27. package/lib/A11yText/index.js +37 -14
  28. package/lib/ActivityIndicator/Spinner.js +78 -0
  29. package/lib/ActivityIndicator/Spinner.native.js +121 -87
  30. package/lib/ActivityIndicator/index.js +28 -12
  31. package/lib/ActivityIndicator/shared.js +27 -12
  32. package/lib/BaseProvider/index.js +34 -11
  33. package/lib/Box/Box.js +54 -31
  34. package/lib/Box/index.js +13 -2
  35. package/lib/Button/Button.js +32 -11
  36. package/lib/Button/ButtonBase.js +85 -78
  37. package/lib/Button/ButtonGroup.js +94 -70
  38. package/lib/Button/ButtonLink.js +38 -15
  39. package/lib/Button/index.js +31 -4
  40. package/lib/Button/propTypes.js +32 -9
  41. package/lib/Card/Card.js +36 -41
  42. package/lib/Card/CardBase.js +78 -0
  43. package/lib/Card/PressableCardBase.js +137 -0
  44. package/lib/Card/index.js +40 -2
  45. package/lib/Checkbox/Checkbox.js +139 -103
  46. package/lib/Checkbox/CheckboxGroup.js +231 -0
  47. package/lib/Checkbox/CheckboxInput.js +74 -0
  48. package/lib/Checkbox/CheckboxInput.native.js +9 -1
  49. package/lib/Checkbox/index.js +21 -2
  50. package/lib/Divider/Divider.js +50 -24
  51. package/lib/Divider/index.js +13 -2
  52. package/lib/ExpandCollapse/Accordion.js +20 -7
  53. package/lib/ExpandCollapse/Control.js +50 -27
  54. package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
  55. package/lib/ExpandCollapse/Panel.js +75 -37
  56. package/lib/ExpandCollapse/index.js +25 -7
  57. package/lib/Feedback/Feedback.js +69 -40
  58. package/lib/Feedback/index.js +13 -2
  59. package/lib/Fieldset/Fieldset.js +160 -0
  60. package/lib/Fieldset/FieldsetContainer.js +41 -0
  61. package/lib/Fieldset/FieldsetContainer.native.js +33 -0
  62. package/lib/Fieldset/Legend.js +33 -0
  63. package/lib/Fieldset/Legend.native.js +43 -0
  64. package/lib/Fieldset/cssReset.js +21 -0
  65. package/lib/Fieldset/index.js +13 -0
  66. package/lib/FlexGrid/Col/Col.js +67 -38
  67. package/lib/FlexGrid/Col/index.js +13 -2
  68. package/lib/FlexGrid/FlexGrid.js +70 -45
  69. package/lib/FlexGrid/Row/Row.js +48 -27
  70. package/lib/FlexGrid/Row/index.js +13 -2
  71. package/lib/FlexGrid/helpers/index.js +9 -1
  72. package/lib/FlexGrid/index.js +13 -2
  73. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  74. package/lib/Icon/Icon.js +46 -44
  75. package/lib/Icon/IconText.js +49 -21
  76. package/lib/Icon/index.js +31 -4
  77. package/lib/InputLabel/InputLabel.js +70 -36
  78. package/lib/InputLabel/LabelContent.js +31 -0
  79. package/lib/InputLabel/LabelContent.native.js +9 -1
  80. package/lib/InputLabel/index.js +13 -2
  81. package/lib/InputSupports/InputSupports.js +62 -48
  82. package/lib/InputSupports/index.js +13 -2
  83. package/lib/InputSupports/propTypes.js +19 -8
  84. package/lib/InputSupports/useInputSupports.js +41 -0
  85. package/lib/Link/ChevronLink.js +33 -16
  86. package/lib/Link/InlinePressable.js +50 -0
  87. package/lib/Link/InlinePressable.native.js +34 -11
  88. package/lib/Link/Link.js +25 -9
  89. package/lib/Link/LinkBase.js +87 -57
  90. package/lib/Link/TextButton.js +32 -13
  91. package/lib/Link/index.js +39 -5
  92. package/lib/List/List.js +51 -23
  93. package/lib/List/ListItem.js +70 -40
  94. package/lib/List/index.js +13 -2
  95. package/lib/Modal/Modal.js +226 -0
  96. package/lib/Modal/dictionary.js +16 -0
  97. package/lib/Modal/index.js +13 -0
  98. package/lib/Notification/Notification.js +200 -0
  99. package/lib/Notification/dictionary.js +15 -0
  100. package/lib/Notification/index.js +13 -0
  101. package/lib/Pagination/PageButton.js +47 -25
  102. package/lib/Pagination/Pagination.js +70 -40
  103. package/lib/Pagination/SideButton.js +63 -37
  104. package/lib/Pagination/dictionary.js +9 -2
  105. package/lib/Pagination/index.js +13 -2
  106. package/lib/Pagination/usePagination.js +12 -2
  107. package/lib/Progress/Progress.js +99 -0
  108. package/lib/Progress/ProgressBar.js +146 -0
  109. package/lib/Progress/ProgressBarBackground.js +57 -0
  110. package/lib/Progress/index.js +16 -0
  111. package/lib/Radio/Radio.js +110 -109
  112. package/lib/Radio/RadioButton.js +141 -0
  113. package/lib/Radio/RadioGroup.js +233 -0
  114. package/lib/Radio/RadioInput.js +76 -0
  115. package/lib/Radio/RadioInput.native.js +9 -1
  116. package/lib/Radio/index.js +21 -2
  117. package/lib/RadioCard/RadioCard.js +240 -0
  118. package/lib/RadioCard/RadioCardGroup.js +251 -0
  119. package/lib/RadioCard/index.js +21 -0
  120. package/lib/Search/Search.js +243 -0
  121. package/lib/Search/dictionary.js +19 -0
  122. package/lib/Search/index.js +13 -0
  123. package/lib/Select/Group.js +33 -0
  124. package/lib/Select/Group.native.js +16 -5
  125. package/lib/Select/Item.js +29 -0
  126. package/lib/Select/Item.native.js +14 -4
  127. package/lib/Select/Picker.js +79 -0
  128. package/lib/Select/Picker.native.js +52 -24
  129. package/lib/Select/Select.js +110 -82
  130. package/lib/Select/index.js +19 -6
  131. package/lib/SideNav/Item.js +54 -33
  132. package/lib/SideNav/ItemContent.js +41 -15
  133. package/lib/SideNav/ItemsGroup.js +46 -27
  134. package/lib/SideNav/SideNav.js +92 -69
  135. package/lib/SideNav/index.js +15 -1
  136. package/lib/Skeleton/Skeleton.js +55 -37
  137. package/lib/Skeleton/index.js +13 -2
  138. package/lib/Skeleton/skeleton.constant.js +12 -0
  139. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  140. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  141. package/lib/Spacer/Spacer.js +31 -12
  142. package/lib/Spacer/index.js +13 -2
  143. package/lib/StackView/StackView.js +49 -27
  144. package/lib/StackView/StackWrap.js +33 -10
  145. package/lib/StackView/StackWrap.native.js +13 -2
  146. package/lib/StackView/StackWrapBox.js +46 -24
  147. package/lib/StackView/StackWrapGap.js +43 -22
  148. package/lib/StackView/common.js +19 -4
  149. package/lib/StackView/getStackedContent.js +49 -19
  150. package/lib/StackView/index.js +29 -5
  151. package/lib/StepTracker/Step.js +245 -0
  152. package/lib/StepTracker/StepTracker.js +197 -0
  153. package/lib/StepTracker/dictionary.js +17 -0
  154. package/lib/StepTracker/index.js +13 -0
  155. package/lib/Tabs/HorizontalScroll.js +199 -0
  156. package/lib/Tabs/ScrollViewEnd.js +66 -0
  157. package/lib/Tabs/ScrollViewEnd.native.js +41 -0
  158. package/lib/Tabs/Tabs.js +117 -0
  159. package/lib/Tabs/TabsItem.js +234 -0
  160. package/lib/Tabs/TabsScrollButton.js +121 -0
  161. package/lib/Tabs/dictionary.js +18 -0
  162. package/lib/Tabs/index.js +13 -0
  163. package/lib/Tabs/itemPositions.js +128 -0
  164. package/lib/Tags/Tags.js +130 -97
  165. package/lib/Tags/index.js +13 -2
  166. package/lib/TextInput/TextArea.js +51 -24
  167. package/lib/TextInput/TextInput.js +40 -19
  168. package/lib/TextInput/TextInputBase.js +78 -55
  169. package/lib/TextInput/index.js +23 -3
  170. package/lib/TextInput/propTypes.js +18 -7
  171. package/lib/ThemeProvider/ThemeProvider.js +38 -14
  172. package/lib/ThemeProvider/index.js +61 -6
  173. package/lib/ThemeProvider/useSetTheme.js +14 -5
  174. package/lib/ThemeProvider/useTheme.js +13 -4
  175. package/lib/ThemeProvider/useThemeTokens.js +32 -16
  176. package/lib/ThemeProvider/utils/index.js +31 -2
  177. package/lib/ThemeProvider/utils/styles.js +52 -16
  178. package/lib/ThemeProvider/utils/theme-tokens.js +94 -16
  179. package/lib/ToggleSwitch/ToggleSwitch.js +75 -51
  180. package/lib/ToggleSwitch/index.js +13 -2
  181. package/lib/Tooltip/{Backdrop.web.js → Backdrop.js} +22 -18
  182. package/lib/Tooltip/Backdrop.native.js +39 -15
  183. package/lib/Tooltip/Tooltip.js +112 -70
  184. package/lib/Tooltip/dictionary.js +9 -2
  185. package/lib/Tooltip/getTooltipPosition.js +9 -1
  186. package/lib/Tooltip/index.js +13 -2
  187. package/lib/TooltipButton/TooltipButton.js +57 -38
  188. package/lib/TooltipButton/index.js +13 -2
  189. package/lib/Typography/Typography.js +57 -27
  190. package/lib/Typography/index.js +13 -2
  191. package/lib/ViewportProvider/ViewportProvider.js +34 -13
  192. package/lib/ViewportProvider/index.js +28 -3
  193. package/lib/ViewportProvider/useViewport.js +15 -3
  194. package/lib/ViewportProvider/useViewportListener.js +24 -10
  195. package/lib/index.js +509 -33
  196. package/lib/utils/a11y/index.js +18 -1
  197. package/lib/utils/a11y/textSize.js +23 -7
  198. package/lib/utils/animation/index.js +15 -2
  199. package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
  200. package/lib/utils/children.js +87 -0
  201. package/lib/utils/index.js +163 -10
  202. package/lib/utils/info/index.js +18 -6
  203. package/lib/utils/info/platform/index.js +19 -7
  204. package/lib/utils/info/platform/platform.android.js +8 -1
  205. package/lib/utils/info/platform/platform.ios.js +8 -1
  206. package/lib/utils/info/platform/platform.js +8 -0
  207. package/lib/utils/info/platform/platform.native.js +8 -1
  208. package/lib/utils/info/versions.js +15 -4
  209. package/lib/utils/input.js +51 -33
  210. package/lib/utils/pressability.js +38 -10
  211. package/lib/utils/propTypes.js +217 -125
  212. package/lib/utils/useCopy.js +40 -5
  213. package/lib/utils/useHash.js +48 -0
  214. package/lib/utils/useHash.native.js +15 -0
  215. package/lib/utils/useResponsiveProp.js +21 -9
  216. package/lib/utils/useSpacingScale.js +21 -9
  217. package/lib/utils/useUniqueId.js +13 -4
  218. package/package.json +7 -6
  219. package/release-context.json +4 -4
  220. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
  221. package/src/Box/Box.jsx +11 -4
  222. package/src/Button/Button.jsx +3 -2
  223. package/src/Button/ButtonBase.jsx +27 -36
  224. package/src/Button/ButtonGroup.jsx +2 -2
  225. package/src/Button/ButtonLink.jsx +3 -2
  226. package/src/Button/propTypes.js +12 -2
  227. package/src/Card/Card.jsx +4 -30
  228. package/src/Card/CardBase.jsx +57 -0
  229. package/src/Card/PressableCardBase.jsx +112 -0
  230. package/src/Card/index.js +3 -0
  231. package/src/Checkbox/Checkbox.jsx +10 -11
  232. package/src/Checkbox/CheckboxGroup.jsx +196 -0
  233. package/src/Checkbox/{CheckboxInput.web.jsx → CheckboxInput.jsx} +0 -0
  234. package/src/Checkbox/index.js +2 -0
  235. package/src/ExpandCollapse/Control.jsx +1 -1
  236. package/src/Feedback/Feedback.jsx +1 -1
  237. package/src/Fieldset/Fieldset.jsx +129 -0
  238. package/src/Fieldset/FieldsetContainer.jsx +22 -0
  239. package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
  240. package/src/Fieldset/Legend.jsx +16 -0
  241. package/src/Fieldset/Legend.native.jsx +22 -0
  242. package/src/Fieldset/cssReset.js +14 -0
  243. package/src/Fieldset/index.js +3 -0
  244. package/src/Icon/Icon.jsx +14 -23
  245. package/src/Icon/IconText.jsx +2 -2
  246. package/src/Icon/index.js +2 -2
  247. package/src/InputLabel/InputLabel.jsx +9 -2
  248. package/src/InputLabel/{LabelContent.web.jsx → LabelContent.jsx} +0 -0
  249. package/src/InputSupports/InputSupports.jsx +7 -18
  250. package/src/InputSupports/useInputSupports.js +30 -0
  251. package/src/Link/{InlinePressable.web.jsx → InlinePressable.jsx} +0 -0
  252. package/src/Link/LinkBase.jsx +14 -12
  253. package/src/Modal/Modal.jsx +185 -0
  254. package/src/Modal/dictionary.js +9 -0
  255. package/src/Modal/index.js +3 -0
  256. package/src/Notification/Notification.jsx +149 -0
  257. package/src/Notification/dictionary.js +8 -0
  258. package/src/Notification/index.js +3 -0
  259. package/src/Progress/Progress.jsx +77 -0
  260. package/src/Progress/ProgressBar.jsx +110 -0
  261. package/src/Progress/ProgressBarBackground.jsx +34 -0
  262. package/src/Progress/index.js +6 -0
  263. package/src/Radio/Radio.jsx +19 -56
  264. package/src/Radio/RadioButton.jsx +131 -0
  265. package/src/Radio/RadioGroup.jsx +198 -0
  266. package/src/Radio/{RadioInput.web.jsx → RadioInput.jsx} +0 -0
  267. package/src/Radio/index.js +2 -0
  268. package/src/RadioCard/RadioCard.jsx +191 -0
  269. package/src/RadioCard/RadioCardGroup.jsx +211 -0
  270. package/src/RadioCard/index.js +5 -0
  271. package/src/Search/Search.jsx +204 -0
  272. package/src/Search/dictionary.js +12 -0
  273. package/src/Search/index.js +3 -0
  274. package/src/Select/{Group.web.jsx → Group.jsx} +0 -0
  275. package/src/Select/{Item.web.jsx → Item.jsx} +0 -0
  276. package/src/Select/{Picker.web.jsx → Picker.jsx} +0 -0
  277. package/src/Select/Select.jsx +12 -22
  278. package/src/SideNav/Item.jsx +2 -2
  279. package/src/Skeleton/Skeleton.jsx +17 -20
  280. package/src/Skeleton/skeleton.constant.js +3 -0
  281. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  282. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  283. package/src/StackView/StackView.jsx +10 -3
  284. package/src/StackView/StackWrap.jsx +9 -1
  285. package/src/StackView/StackWrapBox.jsx +4 -3
  286. package/src/StackView/StackWrapGap.jsx +3 -3
  287. package/src/StackView/getStackedContent.jsx +8 -2
  288. package/src/StepTracker/Step.jsx +202 -0
  289. package/src/StepTracker/StepTracker.jsx +163 -0
  290. package/src/StepTracker/dictionary.js +10 -0
  291. package/src/StepTracker/index.js +3 -0
  292. package/src/Tabs/HorizontalScroll.jsx +165 -0
  293. package/src/Tabs/ScrollViewEnd.jsx +53 -0
  294. package/src/Tabs/ScrollViewEnd.native.jsx +24 -0
  295. package/src/Tabs/Tabs.jsx +89 -0
  296. package/src/Tabs/TabsItem.jsx +204 -0
  297. package/src/Tabs/TabsScrollButton.jsx +100 -0
  298. package/src/Tabs/dictionary.js +11 -0
  299. package/src/Tabs/index.js +3 -0
  300. package/src/Tabs/itemPositions.js +101 -0
  301. package/src/Tags/Tags.jsx +2 -1
  302. package/src/TextInput/TextInputBase.jsx +12 -22
  303. package/src/ThemeProvider/useThemeTokens.js +2 -2
  304. package/src/ThemeProvider/utils/styles.js +18 -5
  305. package/src/ThemeProvider/utils/theme-tokens.js +46 -5
  306. package/src/ToggleSwitch/ToggleSwitch.jsx +2 -3
  307. package/src/Tooltip/{Backdrop.web.jsx → Backdrop.jsx} +0 -0
  308. package/src/Tooltip/Tooltip.jsx +1 -1
  309. package/src/TooltipButton/TooltipButton.jsx +23 -27
  310. package/src/Typography/Typography.jsx +6 -5
  311. package/src/index.js +20 -2
  312. package/src/utils/children.jsx +66 -0
  313. package/src/utils/index.js +3 -0
  314. package/src/utils/info/platform/platform.js +1 -0
  315. package/src/utils/info/versions.js +2 -2
  316. package/src/utils/input.js +20 -12
  317. package/src/utils/pressability.js +4 -0
  318. package/src/utils/propTypes.js +98 -34
  319. package/src/utils/useCopy.js +30 -4
  320. package/src/utils/useHash.js +34 -0
  321. package/src/utils/useHash.native.js +6 -0
  322. package/stories/A11yText/A11yText.stories.jsx +4 -8
  323. package/stories/Checkbox/Checkbox.stories.jsx +24 -1
  324. package/stories/Icon/Icon.stories.jsx +6 -5
  325. package/stories/Modal/Modal.stories.jsx +29 -0
  326. package/stories/Notification/Notification.stories.jsx +82 -0
  327. package/stories/Progress/Progress.stories.jsx +93 -0
  328. package/stories/Radio/Radio.stories.jsx +23 -36
  329. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  330. package/stories/Search/Search.stories.jsx +16 -0
  331. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  332. package/stories/Tabs/Tabs.stories.jsx +97 -0
  333. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +0 -0
  334. package/__fixtures__/accessible.icon.svg +0 -6
  335. package/babel.config.json +0 -8
  336. package/lib/ActivityIndicator/Spinner.web.js +0 -55
  337. package/lib/Checkbox/CheckboxInput.web.js +0 -57
  338. package/lib/InputLabel/LabelContent.web.js +0 -17
  339. package/lib/Link/InlinePressable.web.js +0 -32
  340. package/lib/Radio/RadioInput.web.js +0 -59
  341. package/lib/Select/Group.web.js +0 -18
  342. package/lib/Select/Item.web.js +0 -15
  343. package/lib/Select/Picker.web.js +0 -63
  344. package/lib/config/svgr-icons-web.js +0 -9
  345. package/lib/config/svgr-icons.js +0 -52
  346. package/lib/utils/info/platform/platform.web.js +0 -1
  347. package/src/config/svgr-icons-web.js +0 -11
  348. package/src/config/svgr-icons.js +0 -46
  349. package/src/utils/info/platform/platform.web.js +0 -1
@@ -1,8 +1,28 @@
1
- import React from 'react';
2
- import { Animated, Easing, StyleSheet, View } from 'react-native';
3
- import { DURATION, MIN_EMPTY_ANGLE, MIN_STROKE_ANGLE, BEZIER, propTypes } from './shared';
4
- const ea = MIN_EMPTY_ANGLE / 2;
5
- const sa = MIN_STROKE_ANGLE / 2;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Animated"));
11
+
12
+ var _Easing = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Easing"));
13
+
14
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
+
16
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
17
+
18
+ var _shared = require("./shared");
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ const ea = _shared.MIN_EMPTY_ANGLE / 2;
25
+ const sa = _shared.MIN_STROKE_ANGLE / 2;
6
26
 
7
27
  const Spinner = ({
8
28
  size,
@@ -12,113 +32,127 @@ const Spinner = ({
12
32
  }) => {
13
33
  const {
14
34
  current: timer
15
- } = React.useRef(new Animated.Value(0));
16
- React.useLayoutEffect(() => {
17
- const loop = Animated.timing(timer, {
18
- duration: DURATION,
19
- easing: Easing.linear,
35
+ } = _react.default.useRef(new _Animated.default.Value(0));
36
+
37
+ _react.default.useLayoutEffect(() => {
38
+ const loop = _Animated.default.timing(timer, {
39
+ duration: _shared.DURATION,
40
+ easing: _Easing.default.linear,
20
41
  // Animated.loop does not work if useNativeDriver is true on web
21
42
  useNativeDriver: true,
22
43
  toValue: 1,
23
44
  isInteraction: false
24
45
  });
25
- Animated.loop(loop).start();
46
+
47
+ _Animated.default.loop(loop).start();
26
48
  }, [timer]);
27
- const frames = 60 * DURATION / 1000;
28
- const easing = Easing.bezier(...BEZIER);
49
+
50
+ const frames = 60 * _shared.DURATION / 1000;
51
+
52
+ const easing = _Easing.default.bezier(..._shared.BEZIER);
53
+
29
54
  const containerStyle = {
30
55
  width: size,
31
56
  height: size / 2,
32
57
  overflow: 'hidden'
33
58
  }; // Credit to https://github.com/n4kz/react-native-indicators and https://github.com/callstack/react-native-paper for this
34
59
 
35
- return /*#__PURE__*/React.createElement(View, {
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
36
61
  style: [styles.container],
37
62
  accessible: true,
38
63
  accessibilityLabel: label,
39
64
  accessibilityRole: "progressbar",
40
65
  accessibilityState: {
41
66
  busy: true
42
- }
43
- }, /*#__PURE__*/React.createElement(Animated.View, {
44
- style: [{
45
- width: size,
46
- height: size
47
- }],
48
- collapsable: false
49
- }, [0, 1].map(index => {
50
- const inputRange = Array.from(new Array(frames), (_, frameIndex) => frameIndex / (frames - 1));
51
- const outputRange = Array.from(new Array(frames), (_, frameIndex) => {
52
- let progress = 2 * frameIndex / (frames - 1);
53
- const rotation = index ? +(360 - sa) : -(180 - sa);
54
-
55
- if (progress > 1.0) {
56
- progress = 2.0 - progress;
57
- }
58
-
59
- const direction = index ? -1 : +1;
60
- return `${direction * (180 - (sa + ea)) * easing(progress) + rotation}deg`;
61
- });
62
- const layerStyle = {
63
- width: size,
64
- height: size,
65
- transform: [{
66
- rotate: timer.interpolate({
67
- inputRange: [0, 1],
68
- outputRange: [`${0 + ea + sa}deg`, `${2 * 360 + ea + sa}deg`]
69
- })
70
- }]
71
- };
72
- const viewportStyle = {
73
- width: size,
74
- height: size,
75
- transform: [{
76
- translateY: index ? -size / 2 : 0
77
- }, {
78
- rotate: timer.interpolate({
79
- inputRange,
80
- outputRange
81
- })
82
- }]
83
- };
84
- const offsetStyle = index ? {
85
- top: size / 2
86
- } : null;
87
- const lineStyle = {
88
- width: size,
89
- height: size,
90
- borderColor: color,
91
- borderWidth: thickness,
92
- borderRadius: size / 2
93
- };
94
- return /*#__PURE__*/React.createElement(Animated.View, {
95
- key: index,
96
- style: [styles.layer]
97
- }, /*#__PURE__*/React.createElement(Animated.View, {
98
- style: layerStyle
99
- }, /*#__PURE__*/React.createElement(Animated.View, {
100
- style: [containerStyle, offsetStyle],
101
- collapsable: false
102
- }, /*#__PURE__*/React.createElement(Animated.View, {
103
- style: viewportStyle
104
- }, /*#__PURE__*/React.createElement(Animated.View, {
105
- style: containerStyle,
106
- collapsable: false
107
- }, /*#__PURE__*/React.createElement(Animated.View, {
108
- style: lineStyle
109
- }))))));
110
- })));
67
+ },
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
69
+ style: [{
70
+ width: size,
71
+ height: size
72
+ }],
73
+ collapsable: false,
74
+ children: [0, 1].map(index => {
75
+ const inputRange = Array.from(new Array(frames), (_, frameIndex) => frameIndex / (frames - 1));
76
+ const outputRange = Array.from(new Array(frames), (_, frameIndex) => {
77
+ let progress = 2 * frameIndex / (frames - 1);
78
+ const rotation = index ? +(360 - sa) : -(180 - sa);
79
+
80
+ if (progress > 1.0) {
81
+ progress = 2.0 - progress;
82
+ }
83
+
84
+ const direction = index ? -1 : +1;
85
+ return "".concat(direction * (180 - (sa + ea)) * easing(progress) + rotation, "deg");
86
+ });
87
+ const layerStyle = {
88
+ width: size,
89
+ height: size,
90
+ transform: [{
91
+ rotate: timer.interpolate({
92
+ inputRange: [0, 1],
93
+ outputRange: ["".concat(0 + ea + sa, "deg"), "".concat(2 * 360 + ea + sa, "deg")]
94
+ })
95
+ }]
96
+ };
97
+ const viewportStyle = {
98
+ width: size,
99
+ height: size,
100
+ transform: [{
101
+ translateY: index ? -size / 2 : 0
102
+ }, {
103
+ rotate: timer.interpolate({
104
+ inputRange,
105
+ outputRange
106
+ })
107
+ }]
108
+ };
109
+ const offsetStyle = index ? {
110
+ top: size / 2
111
+ } : null;
112
+ const lineStyle = {
113
+ width: size,
114
+ height: size,
115
+ borderColor: color,
116
+ borderWidth: thickness,
117
+ borderRadius: size / 2
118
+ };
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
120
+ style: [styles.layer],
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
122
+ style: layerStyle,
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
124
+ style: [containerStyle, offsetStyle],
125
+ collapsable: false,
126
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
127
+ style: viewportStyle,
128
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
129
+ style: containerStyle,
130
+ collapsable: false,
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
132
+ style: lineStyle
133
+ })
134
+ })
135
+ })
136
+ })
137
+ })
138
+ }, index);
139
+ })
140
+ })
141
+ });
111
142
  };
112
143
 
113
- Spinner.propTypes = propTypes;
114
- const styles = StyleSheet.create({
144
+ Spinner.propTypes = _shared.propTypes;
145
+
146
+ const styles = _StyleSheet.default.create({
115
147
  container: {
116
148
  flexGrow: 0,
117
149
  flexShrink: 0
118
150
  },
119
- layer: { ...StyleSheet.absoluteFillObject,
151
+ layer: { ..._StyleSheet.default.absoluteFillObject,
120
152
  justifyContent: 'center',
121
153
  alignItems: 'center'
122
154
  }
123
155
  });
124
- export default Spinner;
156
+
157
+ var _default = Spinner;
158
+ exports.default = _default;
@@ -1,13 +1,28 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useThemeTokens } from '../ThemeProvider';
4
- import { getTokensPropType, variantProp } from '../utils/propTypes';
5
- import Spinner from './Spinner';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _ThemeProvider = require("../ThemeProvider");
13
+
14
+ var _propTypes2 = require("../utils/propTypes");
15
+
16
+ var _Spinner = _interopRequireDefault(require("./Spinner"));
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
6
22
  /**
7
23
  * `ActivityIndicator` renders a visual loading state.
8
24
  * It does not handle positioning or layout of that visual loader.
9
25
  */
10
-
11
26
  const ActivityIndicator = ({
12
27
  variant,
13
28
  tokens,
@@ -17,8 +32,8 @@ const ActivityIndicator = ({
17
32
  size,
18
33
  color,
19
34
  thickness
20
- } = useThemeTokens('ActivityIndicator', tokens, variant);
21
- return /*#__PURE__*/React.createElement(Spinner, {
35
+ } = (0, _ThemeProvider.useThemeTokens)('ActivityIndicator', tokens, variant);
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
22
37
  size: size,
23
38
  color: color,
24
39
  thickness: thickness,
@@ -27,12 +42,13 @@ const ActivityIndicator = ({
27
42
  };
28
43
 
29
44
  ActivityIndicator.propTypes = {
30
- variant: variantProp.propType,
31
- tokens: getTokensPropType('ActivityIndicator'),
45
+ variant: _propTypes2.variantProp.propType,
46
+ tokens: (0, _propTypes2.getTokensPropType)('ActivityIndicator'),
32
47
 
33
48
  /**
34
49
  * A visually hidden accessible label describing the action taking place
35
50
  */
36
- label: PropTypes.string.isRequired
51
+ label: _propTypes.default.string.isRequired
37
52
  };
38
- export default ActivityIndicator;
53
+ var _default = ActivityIndicator;
54
+ exports.default = _default;
@@ -1,12 +1,27 @@
1
- import PropTypes from 'prop-types'; // these could be specified by the theme
2
-
3
- export const DURATION = 1800;
4
- export const MIN_EMPTY_ANGLE = 60;
5
- export const MIN_STROKE_ANGLE = 30;
6
- export const BEZIER = [0.42, 0.0, 0.58, 1.0];
7
- export const propTypes = {
8
- color: PropTypes.string.isRequired,
9
- label: PropTypes.string.isRequired,
10
- size: PropTypes.number.isRequired,
11
- thickness: PropTypes.number.isRequired
12
- };
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.propTypes = exports.BEZIER = exports.MIN_STROKE_ANGLE = exports.MIN_EMPTY_ANGLE = exports.DURATION = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ // these could be specified by the theme
13
+ const DURATION = 1800;
14
+ exports.DURATION = DURATION;
15
+ const MIN_EMPTY_ANGLE = 60;
16
+ exports.MIN_EMPTY_ANGLE = MIN_EMPTY_ANGLE;
17
+ const MIN_STROKE_ANGLE = 30;
18
+ exports.MIN_STROKE_ANGLE = MIN_STROKE_ANGLE;
19
+ const BEZIER = [0.42, 0.0, 0.58, 1.0];
20
+ exports.BEZIER = BEZIER;
21
+ const propTypes = {
22
+ color: _propTypes.default.string.isRequired,
23
+ label: _propTypes.default.string.isRequired,
24
+ size: _propTypes.default.number.isRequired,
25
+ thickness: _propTypes.default.number.isRequired
26
+ };
27
+ exports.propTypes = propTypes;
@@ -1,18 +1,41 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import A11yInfoProvider from '../A11yInfoProvider';
4
- import ViewportProvider from '../ViewportProvider';
5
- import ThemeProvider from '../ThemeProvider';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _A11yInfoProvider = _interopRequireDefault(require("../A11yInfoProvider"));
13
+
14
+ var _ViewportProvider = _interopRequireDefault(require("../ViewportProvider"));
15
+
16
+ var _ThemeProvider = _interopRequireDefault(require("../ThemeProvider"));
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ var _ThemeProvider$propTy;
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
23
 
7
24
  const BaseProvider = ({
8
25
  defaultTheme,
9
26
  children
10
- }) => /*#__PURE__*/React.createElement(A11yInfoProvider, null, /*#__PURE__*/React.createElement(ViewportProvider, null, /*#__PURE__*/React.createElement(ThemeProvider, {
11
- defaultTheme: defaultTheme
12
- }, children)));
27
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_A11yInfoProvider.default, {
28
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ViewportProvider.default, {
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProvider.default, {
30
+ defaultTheme: defaultTheme,
31
+ children: children
32
+ })
33
+ })
34
+ });
13
35
 
14
36
  BaseProvider.propTypes = {
15
- defaultTheme: ThemeProvider.propTypes?.defaultTheme,
16
- children: PropTypes.node.isRequired
37
+ defaultTheme: (_ThemeProvider$propTy = _ThemeProvider.default.propTypes) === null || _ThemeProvider$propTy === void 0 ? void 0 : _ThemeProvider$propTy.defaultTheme,
38
+ children: _propTypes.default.node.isRequired
17
39
  };
18
- export default BaseProvider;
40
+ var _default = BaseProvider;
41
+ exports.default = _default;
package/lib/Box/Box.js CHANGED
@@ -1,15 +1,32 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View, ScrollView } from 'react-native';
4
- import { useThemeTokens } from '../ThemeProvider';
5
- import { a11yProps, spacingProps, variantProp, getTokensPropType, useSpacingScale } from '../utils';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
+
14
+ var _ScrollView = _interopRequireDefault(require("react-native-web/dist/cjs/exports/ScrollView"));
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
6
24
  /**
7
25
  * @typedef {import('../utils/propTypes.js').SpacingValue} SpacingValue
8
26
  * @typedef {import('../utils/propTypes.js').SpacingIndex} SpacingIndex
9
27
  * @typedef {import('../utils/propTypes.js').SpacingObject} SpacingObject
10
28
  * @typedef {import('../utils/propTypes.js').SpacingOptions} SpacingOptions
11
29
  */
12
-
13
30
  const selectBoxStyles = tokens => {
14
31
  const styles = {
15
32
  backgroundColor: tokens.backgroundColor
@@ -105,42 +122,48 @@ const Box = ({
105
122
  testID,
106
123
  ...rest
107
124
  }) => {
108
- const a11y = a11yProps.select(rest);
109
- const themeTokens = useThemeTokens('Box', tokens, variant);
125
+ const props = { ..._utils.a11yProps.select(rest),
126
+ ..._utils.viewProps.select(rest)
127
+ };
128
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('Box', tokens, variant);
110
129
  const styles = {
111
- paddingLeft: useSpacingScale(left),
112
- paddingRight: useSpacingScale(right),
113
- paddingTop: useSpacingScale(top),
114
- paddingBottom: useSpacingScale(bottom),
130
+ paddingLeft: (0, _utils.useSpacingScale)(left),
131
+ paddingRight: (0, _utils.useSpacingScale)(right),
132
+ paddingTop: (0, _utils.useSpacingScale)(top),
133
+ paddingBottom: (0, _utils.useSpacingScale)(bottom),
115
134
  ...selectBoxStyles(themeTokens)
116
135
  };
117
136
 
118
137
  if (scroll) {
119
138
  const scrollProps = typeof scroll === 'object' ? scroll : {};
120
139
  scrollProps.contentContainerStyle = [styles, scrollProps.contentContainerStyle];
121
- return /*#__PURE__*/React.createElement(ScrollView, Object.assign({}, scrollProps, a11y, {
122
- testID: testID
123
- }), children);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollView.default, { ...scrollProps,
141
+ ...props,
142
+ testID: testID,
143
+ children: children
144
+ });
124
145
  }
125
146
 
126
- return /*#__PURE__*/React.createElement(View, Object.assign({}, a11y, {
147
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...props,
127
148
  style: styles,
128
- testID: testID
129
- }), children);
149
+ testID: testID,
150
+ children: children
151
+ });
130
152
  };
131
153
 
132
154
  Box.propTypes = {
133
- space: spacingProps.types.spacingValue,
134
- vertical: spacingProps.types.spacingValue,
135
- horizontal: spacingProps.types.spacingValue,
136
- bottom: spacingProps.types.spacingValue,
137
- left: spacingProps.types.spacingValue,
138
- right: spacingProps.types.spacingValue,
139
- top: spacingProps.types.spacingValue,
140
- scroll: PropTypes.oneOfType([PropTypes.bool, ScrollView.propTypes ? PropTypes.shape(ScrollView.propTypes) : PropTypes.object]),
141
- variant: variantProp.propType,
142
- tokens: getTokensPropType('Box'),
143
- testID: PropTypes.string,
144
- children: PropTypes.node.isRequired
155
+ space: _utils.spacingProps.types.spacingValue,
156
+ vertical: _utils.spacingProps.types.spacingValue,
157
+ horizontal: _utils.spacingProps.types.spacingValue,
158
+ bottom: _utils.spacingProps.types.spacingValue,
159
+ left: _utils.spacingProps.types.spacingValue,
160
+ right: _utils.spacingProps.types.spacingValue,
161
+ top: _utils.spacingProps.types.spacingValue,
162
+ scroll: _propTypes.default.oneOfType([_propTypes.default.bool, _ScrollView.default.propTypes ? _propTypes.default.shape(_ScrollView.default.propTypes) : _propTypes.default.object]),
163
+ variant: _utils.variantProp.propType,
164
+ tokens: (0, _utils.getTokensPropType)('Box'),
165
+ testID: _propTypes.default.string,
166
+ children: _propTypes.default.node.isRequired
145
167
  };
146
- export default Box;
168
+ var _default = Box;
169
+ exports.default = _default;
package/lib/Box/index.js CHANGED
@@ -1,2 +1,13 @@
1
- import Box from './Box';
2
- export default Box;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Box = _interopRequireDefault(require("./Box"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = _Box.default;
13
+ exports.default = _default;
@@ -1,8 +1,27 @@
1
- import React from 'react';
2
- import ButtonBase from './ButtonBase';
3
- import buttonPropTypes from './propTypes';
4
- import { useThemeTokensCallback } from '../ThemeProvider';
5
- import { a11yProps } from '../utils/propTypes';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
11
+
12
+ var _propTypes = _interopRequireWildcard(require("./propTypes"));
13
+
14
+ var _ThemeProvider = require("../ThemeProvider");
15
+
16
+ var _propTypes2 = require("../utils/propTypes");
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ 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; }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
25
 
7
26
  const Button = ({
8
27
  accessibilityRole = 'button',
@@ -10,14 +29,16 @@ const Button = ({
10
29
  variant,
11
30
  ...props
12
31
  }) => {
13
- const getTokens = useThemeTokensCallback('Button', tokens, variant);
14
- return /*#__PURE__*/React.createElement(ButtonBase, Object.assign({}, props, {
32
+ const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, variant);
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, { ...props,
15
34
  tokens: getTokens,
16
35
  accessibilityRole: accessibilityRole
17
- }));
36
+ });
18
37
  };
19
38
 
20
- Button.propTypes = { ...a11yProps.types,
21
- ...buttonPropTypes
39
+ Button.propTypes = { ..._propTypes2.a11yProps.types,
40
+ ..._propTypes.default,
41
+ children: _propTypes.textAndA11yText
22
42
  };
23
- export default Button;
43
+ var _default = Button;
44
+ exports.default = _default;