@telus-uds/components-base 0.0.2-prerelease.5 → 0.0.2-prerelease.9

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 (429) hide show
  1. package/.ultra.cache.json +1 -0
  2. package/CHANGELOG.md +65 -0
  3. package/__fixtures__/Accessible.js +33 -0
  4. package/__fixtures__/Accessible.native.js +32 -0
  5. package/__fixtures__/testTheme.js +871 -52
  6. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  7. package/__tests__/Button/ButtonBase.test.jsx +3 -32
  8. package/__tests__/Button/ButtonGroup.test.jsx +2 -2
  9. package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
  10. package/__tests__/Checkbox/CheckboxGroup.test.jsx +247 -0
  11. package/__tests__/Icon/Icon.test.jsx +3 -3
  12. package/__tests__/IconButton/IconButton.test.jsx +52 -0
  13. package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
  14. package/__tests__/List/List.test.jsx +60 -0
  15. package/__tests__/Modal/Modal.test.jsx +47 -0
  16. package/__tests__/Notification/Notification.test.jsx +20 -0
  17. package/__tests__/Pagination/Pagination.test.jsx +2 -2
  18. package/__tests__/Progress/Progress.test.jsx +79 -0
  19. package/__tests__/Radio/Radio.test.jsx +87 -0
  20. package/__tests__/Radio/RadioGroup.test.jsx +221 -0
  21. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  22. package/__tests__/RadioCard/RadioCardGroup.test.jsx +247 -0
  23. package/__tests__/Search/Search.test.jsx +72 -0
  24. package/__tests__/Select/Select.test.jsx +93 -0
  25. package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
  26. package/__tests__/StackView/StackView.test.jsx +0 -26
  27. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  28. package/__tests__/Tabs/Tabs.test.jsx +200 -0
  29. package/__tests__/Tags/Tags.test.jsx +328 -0
  30. package/__tests__/TextInput/TextArea.test.jsx +34 -0
  31. package/__tests__/TextInput/{TextInput.test.jsx → TextInputBase.test.jsx} +20 -46
  32. package/__tests__/Tooltip/Tooltip.test.jsx +65 -0
  33. package/__tests__/Tooltip/getTooltipPosition.test.js +79 -0
  34. package/__tests__/utils/input.test.js +58 -0
  35. package/__tests__/utils/useCopy.test.js +42 -0
  36. package/__tests__/utils/useResponsiveProp.test.jsx +202 -0
  37. package/__tests__/utils/{spacing.test.jsx → useSpacingScale.test.jsx} +1 -1
  38. package/babel.config.js +20 -0
  39. package/jest.config.js +13 -4
  40. package/lib/A11yInfoProvider/index.js +54 -26
  41. package/lib/A11yText/index.js +37 -14
  42. package/lib/ActivityIndicator/Spinner.js +78 -0
  43. package/lib/ActivityIndicator/Spinner.native.js +121 -87
  44. package/lib/ActivityIndicator/index.js +28 -12
  45. package/lib/ActivityIndicator/shared.js +27 -12
  46. package/lib/BaseProvider/index.js +34 -11
  47. package/lib/Box/Box.js +54 -31
  48. package/lib/Box/index.js +13 -2
  49. package/lib/Button/Button.js +38 -10
  50. package/lib/Button/ButtonBase.js +115 -94
  51. package/lib/Button/ButtonGroup.js +94 -86
  52. package/lib/Button/ButtonLink.js +41 -13
  53. package/lib/Button/index.js +31 -4
  54. package/lib/Button/propTypes.js +32 -9
  55. package/lib/Card/Card.js +36 -41
  56. package/lib/Card/CardBase.js +78 -0
  57. package/lib/Card/PressableCardBase.js +137 -0
  58. package/lib/Card/index.js +40 -2
  59. package/lib/Checkbox/Checkbox.js +344 -0
  60. package/lib/Checkbox/CheckboxGroup.js +231 -0
  61. package/lib/Checkbox/CheckboxInput.js +74 -0
  62. package/lib/Checkbox/CheckboxInput.native.js +14 -0
  63. package/lib/Checkbox/index.js +21 -0
  64. package/lib/Divider/Divider.js +50 -24
  65. package/lib/Divider/index.js +13 -2
  66. package/lib/ExpandCollapse/Accordion.js +20 -7
  67. package/lib/ExpandCollapse/Control.js +50 -27
  68. package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
  69. package/lib/ExpandCollapse/Panel.js +75 -37
  70. package/lib/ExpandCollapse/index.js +25 -7
  71. package/lib/Feedback/Feedback.js +85 -34
  72. package/lib/Feedback/index.js +13 -2
  73. package/lib/Fieldset/Fieldset.js +160 -0
  74. package/lib/Fieldset/FieldsetContainer.js +41 -0
  75. package/lib/Fieldset/FieldsetContainer.native.js +33 -0
  76. package/lib/Fieldset/Legend.js +33 -0
  77. package/lib/Fieldset/Legend.native.js +43 -0
  78. package/lib/Fieldset/cssReset.js +21 -0
  79. package/lib/Fieldset/index.js +13 -0
  80. package/lib/FlexGrid/Col/Col.js +67 -38
  81. package/lib/FlexGrid/Col/index.js +13 -2
  82. package/lib/FlexGrid/FlexGrid.js +70 -45
  83. package/lib/FlexGrid/Row/Row.js +48 -27
  84. package/lib/FlexGrid/Row/index.js +13 -2
  85. package/lib/FlexGrid/helpers/index.js +9 -1
  86. package/lib/FlexGrid/index.js +13 -2
  87. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  88. package/lib/Icon/Icon.js +52 -47
  89. package/lib/Icon/IconText.js +100 -0
  90. package/lib/Icon/index.js +31 -3
  91. package/lib/IconButton/IconButton.js +135 -0
  92. package/lib/IconButton/index.js +13 -0
  93. package/lib/InputLabel/InputLabel.js +70 -34
  94. package/lib/InputLabel/LabelContent.js +31 -0
  95. package/lib/InputLabel/LabelContent.native.js +9 -1
  96. package/lib/InputLabel/index.js +13 -2
  97. package/lib/InputSupports/InputSupports.js +104 -0
  98. package/lib/InputSupports/index.js +13 -0
  99. package/lib/InputSupports/propTypes.js +66 -0
  100. package/lib/InputSupports/useInputSupports.js +41 -0
  101. package/lib/Link/ChevronLink.js +57 -15
  102. package/lib/Link/InlinePressable.js +50 -0
  103. package/lib/Link/InlinePressable.native.js +101 -0
  104. package/lib/Link/Link.js +30 -13
  105. package/lib/Link/LinkBase.js +114 -145
  106. package/lib/Link/TextButton.js +47 -17
  107. package/lib/Link/index.js +39 -4
  108. package/lib/List/List.js +80 -0
  109. package/lib/List/ListItem.js +237 -0
  110. package/lib/List/index.js +13 -0
  111. package/lib/Modal/Modal.js +226 -0
  112. package/lib/Modal/dictionary.js +16 -0
  113. package/lib/Modal/index.js +13 -0
  114. package/lib/Notification/Notification.js +200 -0
  115. package/lib/Notification/dictionary.js +15 -0
  116. package/lib/Notification/index.js +13 -0
  117. package/lib/Pagination/PageButton.js +45 -46
  118. package/lib/Pagination/Pagination.js +70 -40
  119. package/lib/Pagination/SideButton.js +74 -58
  120. package/lib/Pagination/dictionary.js +9 -2
  121. package/lib/Pagination/index.js +13 -2
  122. package/lib/Pagination/usePagination.js +12 -2
  123. package/lib/Progress/Progress.js +99 -0
  124. package/lib/Progress/ProgressBar.js +146 -0
  125. package/lib/Progress/ProgressBarBackground.js +57 -0
  126. package/lib/Progress/index.js +16 -0
  127. package/lib/Radio/Radio.js +292 -0
  128. package/lib/Radio/RadioButton.js +141 -0
  129. package/lib/Radio/RadioGroup.js +233 -0
  130. package/lib/Radio/RadioInput.js +76 -0
  131. package/lib/Radio/RadioInput.native.js +14 -0
  132. package/lib/Radio/index.js +21 -0
  133. package/lib/RadioCard/RadioCard.js +240 -0
  134. package/lib/RadioCard/RadioCardGroup.js +251 -0
  135. package/lib/RadioCard/index.js +21 -0
  136. package/lib/Search/Search.js +243 -0
  137. package/lib/Search/dictionary.js +19 -0
  138. package/lib/Search/index.js +13 -0
  139. package/lib/Select/Group.js +33 -0
  140. package/lib/Select/Group.native.js +25 -0
  141. package/lib/Select/Item.js +29 -0
  142. package/lib/Select/Item.native.js +19 -0
  143. package/lib/Select/Picker.js +79 -0
  144. package/lib/Select/Picker.native.js +115 -0
  145. package/lib/Select/Select.js +300 -0
  146. package/lib/Select/index.js +19 -0
  147. package/lib/SideNav/Item.js +54 -33
  148. package/lib/SideNav/ItemContent.js +41 -15
  149. package/lib/SideNav/ItemsGroup.js +46 -27
  150. package/lib/SideNav/SideNav.js +92 -69
  151. package/lib/SideNav/index.js +15 -1
  152. package/lib/Skeleton/Skeleton.js +137 -0
  153. package/lib/Skeleton/index.js +13 -0
  154. package/lib/Skeleton/skeleton.constant.js +12 -0
  155. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  156. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  157. package/lib/Spacer/Spacer.js +31 -12
  158. package/lib/Spacer/index.js +13 -2
  159. package/lib/StackView/StackView.js +57 -33
  160. package/lib/StackView/StackWrap.js +33 -10
  161. package/lib/StackView/StackWrap.native.js +13 -2
  162. package/lib/StackView/StackWrapBox.js +50 -23
  163. package/lib/StackView/StackWrapGap.js +45 -19
  164. package/lib/StackView/common.js +19 -4
  165. package/lib/StackView/getStackedContent.js +49 -19
  166. package/lib/StackView/index.js +29 -5
  167. package/lib/StepTracker/Step.js +245 -0
  168. package/lib/StepTracker/StepTracker.js +197 -0
  169. package/lib/StepTracker/dictionary.js +17 -0
  170. package/lib/StepTracker/index.js +13 -0
  171. package/lib/Tabs/HorizontalScroll.js +199 -0
  172. package/lib/Tabs/ScrollViewEnd.js +66 -0
  173. package/lib/Tabs/ScrollViewEnd.native.js +41 -0
  174. package/lib/Tabs/Tabs.js +117 -0
  175. package/lib/Tabs/TabsItem.js +234 -0
  176. package/lib/Tabs/TabsScrollButton.js +121 -0
  177. package/lib/Tabs/dictionary.js +18 -0
  178. package/lib/Tabs/index.js +13 -0
  179. package/lib/Tabs/itemPositions.js +128 -0
  180. package/lib/Tags/Tags.js +250 -0
  181. package/lib/Tags/index.js +13 -0
  182. package/lib/TextInput/TextArea.js +109 -0
  183. package/lib/TextInput/TextInput.js +41 -303
  184. package/lib/TextInput/TextInputBase.js +252 -0
  185. package/lib/TextInput/index.js +23 -2
  186. package/lib/TextInput/propTypes.js +42 -0
  187. package/lib/ThemeProvider/ThemeProvider.js +38 -14
  188. package/lib/ThemeProvider/index.js +61 -6
  189. package/lib/ThemeProvider/useSetTheme.js +14 -5
  190. package/lib/ThemeProvider/useTheme.js +13 -4
  191. package/lib/ThemeProvider/useThemeTokens.js +86 -19
  192. package/lib/ThemeProvider/utils/index.js +31 -2
  193. package/lib/ThemeProvider/utils/styles.js +52 -16
  194. package/lib/ThemeProvider/utils/theme-tokens.js +94 -16
  195. package/lib/ToggleSwitch/ToggleSwitch.js +76 -52
  196. package/lib/ToggleSwitch/index.js +13 -2
  197. package/lib/Tooltip/Backdrop.js +56 -0
  198. package/lib/Tooltip/Backdrop.native.js +59 -0
  199. package/lib/Tooltip/Tooltip.js +357 -0
  200. package/lib/Tooltip/dictionary.js +15 -0
  201. package/lib/Tooltip/getTooltipPosition.js +172 -0
  202. package/lib/Tooltip/index.js +13 -0
  203. package/lib/TooltipButton/TooltipButton.js +83 -0
  204. package/lib/TooltipButton/index.js +13 -0
  205. package/lib/Typography/Typography.js +58 -43
  206. package/lib/Typography/index.js +13 -2
  207. package/lib/ViewportProvider/ViewportProvider.js +46 -0
  208. package/lib/ViewportProvider/index.js +22 -38
  209. package/lib/ViewportProvider/useViewport.js +15 -0
  210. package/lib/ViewportProvider/useViewportListener.js +57 -0
  211. package/lib/index.js +518 -24
  212. package/lib/utils/a11y/index.js +18 -0
  213. package/lib/utils/a11y/textSize.js +49 -0
  214. package/lib/utils/animation/index.js +15 -2
  215. package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
  216. package/lib/utils/children.js +87 -0
  217. package/lib/utils/index.js +163 -4
  218. package/lib/utils/info/index.js +19 -0
  219. package/lib/utils/info/platform/index.js +23 -0
  220. package/lib/utils/info/platform/platform.android.js +8 -0
  221. package/lib/utils/info/platform/platform.ios.js +8 -0
  222. package/lib/utils/info/platform/platform.js +8 -0
  223. package/lib/utils/info/platform/platform.native.js +11 -0
  224. package/lib/utils/info/versions.js +16 -0
  225. package/lib/utils/input.js +51 -33
  226. package/lib/utils/pressability.js +120 -0
  227. package/lib/utils/propTypes.js +269 -116
  228. package/lib/utils/useCopy.js +51 -0
  229. package/lib/utils/useHash.js +48 -0
  230. package/lib/utils/useHash.native.js +15 -0
  231. package/lib/utils/useResponsiveProp.js +59 -0
  232. package/lib/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +45 -12
  233. package/lib/utils/useUniqueId.js +13 -4
  234. package/package.json +12 -9
  235. package/release-context.json +4 -4
  236. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
  237. package/src/Box/Box.jsx +11 -4
  238. package/src/Button/Button.jsx +9 -5
  239. package/src/Button/ButtonBase.jsx +69 -69
  240. package/src/Button/ButtonGroup.jsx +11 -24
  241. package/src/Button/ButtonLink.jsx +14 -4
  242. package/src/Button/propTypes.js +12 -2
  243. package/src/Card/Card.jsx +4 -30
  244. package/src/Card/CardBase.jsx +57 -0
  245. package/src/Card/PressableCardBase.jsx +112 -0
  246. package/src/Card/index.js +3 -0
  247. package/src/Checkbox/Checkbox.jsx +274 -0
  248. package/src/Checkbox/CheckboxGroup.jsx +196 -0
  249. package/src/Checkbox/CheckboxInput.jsx +55 -0
  250. package/src/Checkbox/CheckboxInput.native.jsx +6 -0
  251. package/src/Checkbox/index.js +5 -0
  252. package/src/ExpandCollapse/Control.jsx +1 -1
  253. package/src/Feedback/Feedback.jsx +31 -22
  254. package/src/Fieldset/Fieldset.jsx +129 -0
  255. package/src/Fieldset/FieldsetContainer.jsx +22 -0
  256. package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
  257. package/src/Fieldset/Legend.jsx +16 -0
  258. package/src/Fieldset/Legend.native.jsx +22 -0
  259. package/src/Fieldset/cssReset.js +14 -0
  260. package/src/Fieldset/index.js +3 -0
  261. package/src/Icon/Icon.jsx +21 -26
  262. package/src/Icon/IconText.jsx +63 -0
  263. package/src/Icon/index.js +3 -2
  264. package/src/IconButton/IconButton.jsx +107 -0
  265. package/src/IconButton/index.js +3 -0
  266. package/src/InputLabel/InputLabel.jsx +11 -4
  267. package/src/InputLabel/{LabelContent.web.jsx → LabelContent.jsx} +0 -0
  268. package/src/InputSupports/InputSupports.jsx +75 -0
  269. package/src/InputSupports/index.js +3 -0
  270. package/src/InputSupports/propTypes.js +44 -0
  271. package/src/InputSupports/useInputSupports.js +30 -0
  272. package/src/Link/ChevronLink.jsx +28 -7
  273. package/src/Link/InlinePressable.jsx +37 -0
  274. package/src/Link/InlinePressable.native.jsx +73 -0
  275. package/src/Link/Link.jsx +17 -13
  276. package/src/Link/LinkBase.jsx +67 -148
  277. package/src/Link/TextButton.jsx +25 -11
  278. package/src/Link/index.js +2 -1
  279. package/src/List/List.jsx +47 -0
  280. package/src/List/ListItem.jsx +187 -0
  281. package/src/List/index.js +3 -0
  282. package/src/Modal/Modal.jsx +185 -0
  283. package/src/Modal/dictionary.js +9 -0
  284. package/src/Modal/index.js +3 -0
  285. package/src/Notification/Notification.jsx +149 -0
  286. package/src/Notification/dictionary.js +8 -0
  287. package/src/Notification/index.js +3 -0
  288. package/src/Pagination/PageButton.jsx +3 -17
  289. package/src/Pagination/SideButton.jsx +27 -38
  290. package/src/Progress/Progress.jsx +77 -0
  291. package/src/Progress/ProgressBar.jsx +110 -0
  292. package/src/Progress/ProgressBarBackground.jsx +34 -0
  293. package/src/Progress/index.js +6 -0
  294. package/src/Radio/Radio.jsx +233 -0
  295. package/src/Radio/RadioButton.jsx +131 -0
  296. package/src/Radio/RadioGroup.jsx +198 -0
  297. package/src/Radio/RadioInput.jsx +57 -0
  298. package/src/Radio/RadioInput.native.jsx +6 -0
  299. package/src/Radio/index.js +5 -0
  300. package/src/RadioCard/RadioCard.jsx +191 -0
  301. package/src/RadioCard/RadioCardGroup.jsx +211 -0
  302. package/src/RadioCard/index.js +5 -0
  303. package/src/Search/Search.jsx +204 -0
  304. package/src/Search/dictionary.js +12 -0
  305. package/src/Search/index.js +3 -0
  306. package/src/Select/Group.jsx +15 -0
  307. package/src/Select/Group.native.jsx +14 -0
  308. package/src/Select/Item.jsx +11 -0
  309. package/src/Select/Item.native.jsx +10 -0
  310. package/src/Select/Picker.jsx +67 -0
  311. package/src/Select/Picker.native.jsx +95 -0
  312. package/src/Select/Select.jsx +255 -0
  313. package/src/Select/index.js +8 -0
  314. package/src/SideNav/Item.jsx +2 -2
  315. package/src/Skeleton/Skeleton.jsx +98 -0
  316. package/src/Skeleton/index.js +3 -0
  317. package/src/Skeleton/skeleton.constant.js +3 -0
  318. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  319. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  320. package/src/StackView/StackView.jsx +25 -17
  321. package/src/StackView/StackWrap.jsx +9 -1
  322. package/src/StackView/StackWrapBox.jsx +19 -7
  323. package/src/StackView/StackWrapGap.jsx +15 -5
  324. package/src/StackView/getStackedContent.jsx +8 -2
  325. package/src/StepTracker/Step.jsx +202 -0
  326. package/src/StepTracker/StepTracker.jsx +163 -0
  327. package/src/StepTracker/dictionary.js +10 -0
  328. package/src/StepTracker/index.js +3 -0
  329. package/src/Tabs/HorizontalScroll.jsx +165 -0
  330. package/src/Tabs/ScrollViewEnd.jsx +53 -0
  331. package/src/Tabs/ScrollViewEnd.native.jsx +24 -0
  332. package/src/Tabs/Tabs.jsx +89 -0
  333. package/src/Tabs/TabsItem.jsx +204 -0
  334. package/src/Tabs/TabsScrollButton.jsx +100 -0
  335. package/src/Tabs/dictionary.js +11 -0
  336. package/src/Tabs/index.js +3 -0
  337. package/src/Tabs/itemPositions.js +101 -0
  338. package/src/Tags/Tags.jsx +207 -0
  339. package/src/Tags/index.js +3 -0
  340. package/src/TextInput/TextArea.jsx +78 -0
  341. package/src/TextInput/TextInput.jsx +17 -290
  342. package/src/TextInput/TextInputBase.jsx +210 -0
  343. package/src/TextInput/index.js +2 -1
  344. package/src/TextInput/propTypes.js +29 -0
  345. package/src/ThemeProvider/useThemeTokens.js +56 -5
  346. package/src/ThemeProvider/utils/styles.js +18 -5
  347. package/src/ThemeProvider/utils/theme-tokens.js +46 -5
  348. package/src/ToggleSwitch/ToggleSwitch.jsx +3 -4
  349. package/src/Tooltip/Backdrop.jsx +60 -0
  350. package/src/Tooltip/Backdrop.native.jsx +33 -0
  351. package/src/Tooltip/Tooltip.jsx +294 -0
  352. package/src/Tooltip/dictionary.js +8 -0
  353. package/src/Tooltip/getTooltipPosition.js +161 -0
  354. package/src/Tooltip/index.js +3 -0
  355. package/src/TooltipButton/TooltipButton.jsx +49 -0
  356. package/src/TooltipButton/index.js +3 -0
  357. package/src/Typography/Typography.jsx +10 -20
  358. package/src/ViewportProvider/ViewportProvider.jsx +21 -0
  359. package/src/ViewportProvider/index.jsx +2 -41
  360. package/src/ViewportProvider/useViewport.js +5 -0
  361. package/src/ViewportProvider/useViewportListener.js +43 -0
  362. package/src/index.js +31 -3
  363. package/src/utils/a11y/index.js +1 -0
  364. package/src/utils/a11y/textSize.js +30 -0
  365. package/src/utils/children.jsx +66 -0
  366. package/src/utils/index.js +11 -1
  367. package/src/utils/info/index.js +8 -0
  368. package/src/utils/info/platform/index.js +11 -0
  369. package/src/utils/info/platform/platform.android.js +1 -0
  370. package/src/utils/info/platform/platform.ios.js +1 -0
  371. package/src/utils/info/platform/platform.js +1 -0
  372. package/src/utils/info/platform/platform.native.js +4 -0
  373. package/src/utils/info/versions.js +6 -0
  374. package/src/utils/input.js +20 -12
  375. package/src/utils/pressability.js +96 -0
  376. package/src/utils/propTypes.js +195 -56
  377. package/src/utils/useCopy.js +39 -0
  378. package/src/utils/useHash.js +34 -0
  379. package/src/utils/useHash.native.js +6 -0
  380. package/src/utils/useResponsiveProp.js +50 -0
  381. package/src/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +25 -10
  382. package/stories/A11yText/A11yText.stories.jsx +4 -8
  383. package/stories/Button/Button.stories.jsx +5 -0
  384. package/stories/Card/Card.stories.jsx +1 -1
  385. package/stories/Checkbox/Checkbox.stories.jsx +94 -0
  386. package/stories/Feedback/Feedback.stories.jsx +5 -6
  387. package/stories/Icon/Icon.stories.jsx +27 -7
  388. package/stories/IconButton/IconButton.stories.jsx +50 -0
  389. package/stories/InputLabel/InputLabel.stories.jsx +8 -3
  390. package/stories/Link/ChevronLink.stories.jsx +3 -3
  391. package/stories/Link/Link.stories.jsx +28 -18
  392. package/stories/List/List.stories.jsx +117 -0
  393. package/stories/Modal/Modal.stories.jsx +29 -0
  394. package/stories/Notification/Notification.stories.jsx +82 -0
  395. package/stories/Progress/Progress.stories.jsx +93 -0
  396. package/stories/Radio/Radio.stories.jsx +100 -0
  397. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  398. package/stories/Search/Search.stories.jsx +16 -0
  399. package/stories/Select/Select.stories.jsx +55 -0
  400. package/stories/Skeleton/Skeleton.stories.jsx +36 -0
  401. package/stories/Spacer/Spacer.stories.jsx +7 -2
  402. package/stories/StackView/StackView.stories.jsx +10 -0
  403. package/stories/StackView/StackWrap.stories.jsx +12 -0
  404. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  405. package/stories/Tabs/Tabs.stories.jsx +97 -0
  406. package/stories/Tags/Tags.stories.jsx +69 -0
  407. package/stories/TextInput/TextArea.stories.jsx +100 -0
  408. package/stories/Tooltip/Tooltip.stories.jsx +81 -0
  409. package/stories/TooltipButton/TooltipButton.stories.jsx +11 -0
  410. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +0 -0
  411. package/stories/supports.jsx +36 -2
  412. package/__fixtures__/accessible.icon.svg +0 -6
  413. package/babel.config.json +0 -8
  414. package/docs/Contributing.stories.mdx +0 -9
  415. package/docs/Fonts.stories.mdx +0 -104
  416. package/docs/Icons.stories.mdx +0 -144
  417. package/docs/Introduction.stories.mdx +0 -9
  418. package/lib/ActivityIndicator/Spinner.web.js +0 -55
  419. package/lib/InputLabel/LabelContent.web.js +0 -17
  420. package/lib/Pagination/useCopy.js +0 -10
  421. package/lib/config/svgr-icons-web.js +0 -9
  422. package/lib/config/svgr-icons.js +0 -52
  423. package/lib/utils/spacing/index.js +0 -2
  424. package/lib/utils/spacing/utils.js +0 -32
  425. package/src/Pagination/useCopy.js +0 -7
  426. package/src/config/svgr-icons-web.js +0 -11
  427. package/src/config/svgr-icons.js +0 -46
  428. package/src/utils/spacing/index.js +0 -3
  429. package/src/utils/spacing/utils.js +0 -28
@@ -1,9 +1,28 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View, StyleSheet } from 'react-native';
4
- import Typography from '../Typography';
5
- import { selectTokens, getTokensPropType } from '../utils';
6
- export function selectAccentStyles(tokens) {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectAccentStyles = selectAccentStyles;
7
+ exports.default = void 0;
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+
13
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
14
+
15
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
16
+
17
+ var _Typography = _interopRequireDefault(require("../Typography"));
18
+
19
+ var _utils = require("../utils");
20
+
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ function selectAccentStyles(tokens) {
7
26
  return {
8
27
  left: tokens.accentOffset,
9
28
  top: tokens.accentPadding,
@@ -17,22 +36,29 @@ export function selectAccentStyles(tokens) {
17
36
  * Content inside an item or control in a SideNav, themed by the SideNavItem theme
18
37
  */
19
38
 
39
+
20
40
  const ItemContent = ({
21
41
  children,
22
42
  tokens
23
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
24
- tokens: selectTokens('Typography', tokens)
25
- }, children), /*#__PURE__*/React.createElement(View, {
26
- style: [staticStyles.absolute, selectAccentStyles(tokens)]
27
- }));
43
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
45
+ tokens: (0, _utils.selectTokens)('Typography', tokens),
46
+ children: children
47
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
48
+ style: [staticStyles.absolute, selectAccentStyles(tokens)]
49
+ })]
50
+ });
28
51
 
29
52
  ItemContent.propTypes = {
30
- tokens: getTokensPropType('SideNavItem'),
31
- children: PropTypes.node
53
+ tokens: (0, _utils.getTokensPropType)('SideNavItem'),
54
+ children: _propTypes.default.node
32
55
  };
33
- const staticStyles = StyleSheet.create({
56
+
57
+ const staticStyles = _StyleSheet.default.create({
34
58
  absolute: {
35
59
  position: 'absolute'
36
60
  }
37
61
  });
38
- export default ItemContent;
62
+
63
+ var _default = ItemContent;
64
+ exports.default = _default;
@@ -1,9 +1,26 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import ItemContent from './ItemContent';
4
- import ExpandCollapse from '../ExpandCollapse';
5
- import { getTokensPropType, variantProp, componentPropType, selectTokens } from '../utils';
6
- import { useThemeTokensCallback } 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 _ItemContent = _interopRequireDefault(require("./ItemContent"));
13
+
14
+ var _ExpandCollapse = _interopRequireDefault(require("../ExpandCollapse"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
7
24
  /**
8
25
  Expandable content areas for use within `SideNav`.
9
26
 
@@ -14,7 +31,6 @@ import { useThemeTokensCallback } from '../ThemeProvider';
14
31
  ## Usage Criteria
15
32
  - Use `SideNav.ItemsGroup` with large pages that have multiple sections
16
33
  */
17
-
18
34
  const ItemsGroup = ({
19
35
  children,
20
36
  label,
@@ -37,13 +53,13 @@ const ItemsGroup = ({
37
53
  type: 'parent'
38
54
  });
39
55
 
40
- const getGroupTokens = useThemeTokensCallback('SideNavItemsGroup', tokens, variant);
56
+ const getGroupTokens = (0, _ThemeProvider.useThemeTokensCallback)('SideNavItemsGroup', tokens, variant);
41
57
 
42
- const getPanelTokens = appearance => selectTokens('ExpandCollapsePanel', getGroupTokens(getAppearance(appearance)));
58
+ const getPanelTokens = appearance => (0, _utils.selectTokens)('ExpandCollapsePanel', getGroupTokens(getAppearance(appearance)));
43
59
 
44
- const getItemTokens = useThemeTokensCallback('SideNavItem', itemTokens, variant);
60
+ const getItemTokens = (0, _ThemeProvider.useThemeTokensCallback)('SideNavItem', itemTokens, variant);
45
61
 
46
- const getControlTokens = appearance => selectTokens('ExpandCollapseControl', { ...getItemTokens(getItemAppearance(appearance)),
62
+ const getControlTokens = appearance => (0, _utils.selectTokens)('ExpandCollapseControl', { ...getItemTokens(getItemAppearance(appearance)),
47
63
  // main style from SideNavItem
48
64
  ...getGroupTokens(getAppearance(appearance)) // control-specific tokens like icon etc
49
65
 
@@ -51,12 +67,13 @@ const ItemsGroup = ({
51
67
 
52
68
  const controlContent = controlState => {
53
69
  const currentItemTokens = getItemTokens(getItemAppearance(controlState));
54
- return /*#__PURE__*/React.createElement(ItemContent, {
55
- tokens: currentItemTokens
56
- }, label);
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ItemContent.default, {
71
+ tokens: currentItemTokens,
72
+ children: label
73
+ });
57
74
  };
58
75
 
59
- return /*#__PURE__*/React.createElement(ExpandCollapse.Panel, {
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandCollapse.default.Panel, {
60
77
  openIds: openGroups,
61
78
  panelId: groupId,
62
79
  onToggle: onToggle,
@@ -66,46 +83,48 @@ const ItemsGroup = ({
66
83
  accessibilityState: {
67
84
  active: isActive
68
85
  } // ExpandCollapse.Panel handles expanded state
69
-
70
- }, children);
86
+ ,
87
+ children: children
88
+ });
71
89
  };
72
90
 
73
91
  ItemsGroup.propTypes = {
74
92
  /**
75
93
  * Specifies the links contained within. It may only contain `SideNav.Item`.
76
94
  */
77
- children: componentPropType('Item'),
95
+ children: (0, _utils.componentPropType)('Item'),
78
96
 
79
97
  /**
80
98
  * Text content of the group's parent `SideNav.Item`.
81
99
  */
82
- label: PropTypes.string.isRequired,
100
+ label: _propTypes.default.string.isRequired,
83
101
 
84
102
  /**
85
103
  * @ignore
86
104
  * Set internally in `SideNav` render function - used to keep track of expanded items groups.
87
105
  */
88
- groupId: PropTypes.string,
106
+ groupId: _propTypes.default.string,
89
107
 
90
108
  /**
91
109
  * @ignore
92
110
  * Set internally in `SideNav` render function. Called when the group is expanded/collapsed.
93
111
  */
94
- onToggle: PropTypes.func,
112
+ onToggle: _propTypes.default.func,
95
113
 
96
114
  /**
97
115
  * @ignore
98
116
  * Set internally in `SideNav` render function. Contains `groupId`s of currently open groups.
99
117
  */
100
- openGroups: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
118
+ openGroups: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])),
101
119
 
102
120
  /**
103
121
  * @ignore
104
122
  * Set internally in `SideNav` render function. Used to mark group containing the currently active `SideNav.Item`.
105
123
  */
106
- isActive: PropTypes.bool,
107
- variant: variantProp.propType,
108
- tokens: getTokensPropType('SideNavItemsGroup'),
109
- itemTokens: getTokensPropType('SideNavItem')
124
+ isActive: _propTypes.default.bool,
125
+ variant: _utils.variantProp.propType,
126
+ tokens: (0, _utils.getTokensPropType)('SideNavItemsGroup'),
127
+ itemTokens: (0, _utils.getTokensPropType)('SideNavItem')
110
128
  };
111
- export default ItemsGroup;
129
+ var _default = ItemsGroup;
130
+ exports.default = _default;
@@ -1,10 +1,31 @@
1
- import React, { useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import ExpandCollapse from '../ExpandCollapse';
4
- import Item from './Item';
5
- import ItemsGroup from './ItemsGroup';
6
- import { useThemeTokens } from '../ThemeProvider';
7
- import { componentPropType, getTokensPropType, variantProp } from '../utils';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _ExpandCollapse = _interopRequireDefault(require("../ExpandCollapse"));
13
+
14
+ var _Item = _interopRequireDefault(require("./Item"));
15
+
16
+ var _ItemsGroup = _interopRequireDefault(require("./ItemsGroup"));
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
8
29
 
9
30
  function selectBorderStyles(tokens) {
10
31
  return {
@@ -28,8 +49,8 @@ const SideNav = ({
28
49
  itemTokens,
29
50
  groupTokens
30
51
  }) => {
31
- const themeTokens = useThemeTokens('SideNav', tokens, variant);
32
- const [active, setActive] = useState({
52
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('SideNav', tokens, variant);
53
+ const [active, setActive] = (0, _react.useState)({
33
54
  groupId: undefined,
34
55
  itemId: undefined
35
56
  });
@@ -45,60 +66,61 @@ const SideNav = ({
45
66
  return active.groupId === groupId && active.itemId === itemId;
46
67
  };
47
68
 
48
- return /*#__PURE__*/React.createElement(ExpandCollapse, {
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandCollapse.default, {
49
70
  maxOpen: accordion ? 1 : null,
50
- style: selectBorderStyles(themeTokens)
51
- }, ({
52
- openIds,
53
- onToggle
54
- }) => {
55
- const renderItem = (item, index, groupId) => {
56
- const {
57
- itemId = `item-${index}`,
58
- onPress
59
- } = item.props;
60
-
61
- const handlePress = (...args) => {
62
- onItemPress(...args);
63
- if (onPress) onPress(...args);
64
- };
65
-
66
- return /*#__PURE__*/React.createElement(Item, Object.assign({}, item.props, {
67
- key: itemId,
68
- itemId: itemId,
69
- groupId: groupId,
70
- variant: groupId ? { ...variant,
71
- type: 'child'
72
- } : variant,
73
- tokens: itemTokens,
74
- isActive: isItemActive(itemId, groupId),
75
- onPress: handlePress
76
- }));
77
- };
78
-
79
- return React.Children.map(children, (child, index) => {
80
- // iterate over children and identify them internally to later reference expanded groups and active items
81
- if (child.type === Item) return renderItem(child, index);
82
-
83
- if (child.type === ItemsGroup) {
71
+ style: selectBorderStyles(themeTokens),
72
+ children: ({
73
+ openIds,
74
+ onToggle
75
+ }) => {
76
+ const renderItem = (item, index, groupId) => {
84
77
  const {
85
- groupId = `group-${index}`
86
- } = child.props;
87
- const isGroupActive = active.itemId !== undefined && active.groupId === groupId;
88
- return /*#__PURE__*/React.createElement(ItemsGroup, Object.assign({}, child.props, {
89
- key: groupId,
78
+ itemId = "item-".concat(index),
79
+ onPress
80
+ } = item.props;
81
+
82
+ const handlePress = (...args) => {
83
+ onItemPress(...args);
84
+ if (onPress) onPress(...args);
85
+ };
86
+
87
+ return /*#__PURE__*/(0, _react.createElement)(_Item.default, { ...item.props,
88
+ key: itemId,
89
+ itemId: itemId,
90
90
  groupId: groupId,
91
- variant: variant,
92
- tokens: groupTokens,
93
- itemTokens: itemTokens,
94
- openGroups: openIds,
95
- isActive: isGroupActive,
96
- onToggle: () => onToggle(groupId)
97
- }), React.Children.map(child.props.children, (item, itemIndex) => renderItem(item, itemIndex, groupId)));
98
- }
99
-
100
- return null;
101
- });
91
+ variant: groupId ? { ...variant,
92
+ type: 'child'
93
+ } : variant,
94
+ tokens: itemTokens,
95
+ isActive: isItemActive(itemId, groupId),
96
+ onPress: handlePress
97
+ });
98
+ };
99
+
100
+ return _react.default.Children.map(children, (child, index) => {
101
+ // iterate over children and identify them internally to later reference expanded groups and active items
102
+ if (child.type === _Item.default) return renderItem(child, index);
103
+
104
+ if (child.type === _ItemsGroup.default) {
105
+ const {
106
+ groupId = "group-".concat(index)
107
+ } = child.props;
108
+ const isGroupActive = active.itemId !== undefined && active.groupId === groupId;
109
+ return /*#__PURE__*/(0, _react.createElement)(_ItemsGroup.default, { ...child.props,
110
+ key: groupId,
111
+ groupId: groupId,
112
+ variant: variant,
113
+ tokens: groupTokens,
114
+ itemTokens: itemTokens,
115
+ openGroups: openIds,
116
+ isActive: isGroupActive,
117
+ onToggle: () => onToggle(groupId)
118
+ }, _react.default.Children.map(child.props.children, (item, itemIndex) => renderItem(item, itemIndex, groupId)));
119
+ }
120
+
121
+ return null;
122
+ });
123
+ }
102
124
  });
103
125
  };
104
126
 
@@ -106,17 +128,18 @@ SideNav.propTypes = {
106
128
  /**
107
129
  * Specifies the structure and links of the `SideNav`. It may only consist of `SideNav.Item` and `SideNav.ItemsGroup`.
108
130
  */
109
- children: componentPropType(['Item', 'ItemsGroup']),
131
+ children: (0, _utils.componentPropType)(['Item', 'ItemsGroup']),
110
132
 
111
133
  /**
112
134
  * Identifies if only one `SideNav.ItemsGroup` should be open at a time.
113
135
  */
114
- accordion: PropTypes.bool,
115
- variant: variantProp.propType,
116
- tokens: getTokensPropType('SideNav'),
117
- itemTokens: getTokensPropType('SideNavItem'),
118
- groupTokens: getTokensPropType('SideNavItemsGroup')
136
+ accordion: _propTypes.default.bool,
137
+ variant: _utils.variantProp.propType,
138
+ tokens: (0, _utils.getTokensPropType)('SideNav'),
139
+ itemTokens: (0, _utils.getTokensPropType)('SideNavItem'),
140
+ groupTokens: (0, _utils.getTokensPropType)('SideNavItemsGroup')
119
141
  };
120
- SideNav.Item = Item;
121
- SideNav.ItemsGroup = ItemsGroup;
122
- export default SideNav;
142
+ SideNav.Item = _Item.default;
143
+ SideNav.ItemsGroup = _ItemsGroup.default;
144
+ var _default = SideNav;
145
+ exports.default = _default;
@@ -1 +1,15 @@
1
- export { default } from './SideNav';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SideNav.default;
10
+ }
11
+ });
12
+
13
+ var _SideNav = _interopRequireDefault(require("./SideNav"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,137 @@
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 _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _StackView = _interopRequireDefault(require("../StackView"));
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var _useSkeletonNativeAnimation = _interopRequireDefault(require("./useSkeletonNativeAnimation"));
23
+
24
+ var _skeletonWebAnimation = _interopRequireDefault(require("./skeletonWebAnimation"));
25
+
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
30
+ const selectSkeletonStyles = ({
31
+ color,
32
+ radius,
33
+ fadeAnimation
34
+ }) => ({
35
+ backgroundColor: color,
36
+ borderRadius: radius,
37
+ ...fadeAnimation
38
+ });
39
+
40
+ const selectLineStyles = ({
41
+ skeletonHeight,
42
+ lineWidth
43
+ }) => ({
44
+ width: lineWidth,
45
+ height: skeletonHeight
46
+ });
47
+
48
+ const selectShapeStyles = ({
49
+ skeletonHeight
50
+ }) => ({
51
+ height: skeletonHeight,
52
+ width: skeletonHeight
53
+ });
54
+
55
+ const selectSquareStyles = ({
56
+ radius
57
+ }) => ({
58
+ borderRadius: radius
59
+ });
60
+
61
+ const Skeleton = ({
62
+ tokens,
63
+ variant,
64
+ size,
65
+ characters,
66
+ lines,
67
+ shape = 'line'
68
+ }) => {
69
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('Skeleton', tokens, variant);
70
+ const skeletonHeight = (0, _utils.useSpacingScale)(size || themeTokens.size);
71
+ const nativeAnimation = (0, _useSkeletonNativeAnimation.default)();
72
+
73
+ const getAnimationBaseOnPlatform = () => {
74
+ if (_Platform.default.OS !== 'web') {
75
+ return nativeAnimation;
76
+ }
77
+
78
+ return _skeletonWebAnimation.default;
79
+ };
80
+
81
+ const getLineWidth = () => {
82
+ if (characters) {
83
+ return characters * themeTokens.baseWidth;
84
+ }
85
+
86
+ return themeTokens.characters * themeTokens.baseWidth;
87
+ };
88
+
89
+ const getStyledBasedOnShape = () => {
90
+ if (shape === 'circle') {
91
+ return selectShapeStyles({
92
+ skeletonHeight
93
+ });
94
+ }
95
+
96
+ if (shape === 'box') {
97
+ return [selectShapeStyles({
98
+ skeletonHeight
99
+ }), selectSquareStyles({
100
+ radius: themeTokens.squareRadius
101
+ })];
102
+ }
103
+
104
+ return selectLineStyles({
105
+ skeletonHeight,
106
+ lineWidth: getLineWidth()
107
+ });
108
+ };
109
+
110
+ const renderSkeleton = (index = 0) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Animated.default.View, {
111
+ testID: "skeleton",
112
+ style: [selectSkeletonStyles({ ...themeTokens,
113
+ fadeAnimation: getAnimationBaseOnPlatform()
114
+ }), getStyledBasedOnShape()]
115
+ }, "skeleton-".concat(index + 1));
116
+
117
+ if (lines) {
118
+ const arrayOfSkeletons = [...Array(lines)];
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.default, {
120
+ space: themeTokens.spaceBetweenLines,
121
+ children: arrayOfSkeletons.map((_, index) => renderSkeleton(index))
122
+ });
123
+ }
124
+
125
+ return renderSkeleton();
126
+ };
127
+
128
+ Skeleton.propTypes = {
129
+ tokens: (0, _utils.getTokensPropType)('Skeleton'),
130
+ variant: _utils.variantProp.propType,
131
+ size: _propTypes.default.number,
132
+ characters: _propTypes.default.number,
133
+ lines: _propTypes.default.number,
134
+ shape: _propTypes.default.oneOf(['line', 'circle', 'box'])
135
+ };
136
+ var _default = Skeleton;
137
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Skeleton = _interopRequireDefault(require("./Skeleton"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = _Skeleton.default;
13
+ exports.default = _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ANIMATION_DURATION = exports.OPACITY_STOP = exports.DEFAULT_OPACITY = void 0;
7
+ const DEFAULT_OPACITY = 1;
8
+ exports.DEFAULT_OPACITY = DEFAULT_OPACITY;
9
+ const OPACITY_STOP = 0.4;
10
+ exports.OPACITY_STOP = OPACITY_STOP;
11
+ const ANIMATION_DURATION = 1500;
12
+ exports.ANIMATION_DURATION = ANIMATION_DURATION;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _skeleton = require("./skeleton.constant");
9
+
10
+ var _default = {
11
+ animationDuration: "".concat(_skeleton.ANIMATION_DURATION, "ms"),
12
+ animationTimingFunction: 'ease-in-out',
13
+ animationDelay: '0.5s',
14
+ animationIterationCount: 'infinite',
15
+ animationKeyframes: {
16
+ '0%': {
17
+ opacity: _skeleton.DEFAULT_OPACITY
18
+ },
19
+ '50%': {
20
+ opacity: _skeleton.OPACITY_STOP
21
+ },
22
+ '100%': {
23
+ opacity: _skeleton.DEFAULT_OPACITY
24
+ }
25
+ }
26
+ };
27
+ exports.default = _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Animated"));
11
+
12
+ var _skeleton = require("./skeleton.constant");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const useSkeletonNativeAnimation = () => {
17
+ const fadeAnimation = (0, _react.useRef)(new _Animated.default.Value(_skeleton.DEFAULT_OPACITY)).current;
18
+ (0, _react.useEffect)(() => {
19
+ const fade = _Animated.default.sequence([_Animated.default.timing(fadeAnimation, {
20
+ toValue: _skeleton.OPACITY_STOP,
21
+ duration: _skeleton.ANIMATION_DURATION,
22
+ useNativeDriver: true
23
+ }), _Animated.default.timing(fadeAnimation, {
24
+ toValue: _skeleton.DEFAULT_OPACITY,
25
+ duration: _skeleton.ANIMATION_DURATION,
26
+ useNativeDriver: true
27
+ })]);
28
+
29
+ _Animated.default.loop(fade).start();
30
+ }, [fadeAnimation]);
31
+ return {
32
+ opacity: fadeAnimation
33
+ };
34
+ };
35
+
36
+ var _default = useSkeletonNativeAnimation;
37
+ exports.default = _default;