@telus-uds/components-base 2.4.0 → 3.0.0

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 (822) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/lib/cjs/A11yInfoProvider/index.js +73 -0
  3. package/lib/cjs/A11yText/index.js +75 -0
  4. package/lib/cjs/ActionCard/ActionCard.js +349 -0
  5. package/lib/cjs/ActionCard/index.js +9 -0
  6. package/lib/cjs/ActivityIndicator/Spinner.js +85 -0
  7. package/lib/cjs/ActivityIndicator/Spinner.native.js +151 -0
  8. package/lib/cjs/ActivityIndicator/index.js +51 -0
  9. package/lib/cjs/ActivityIndicator/shared.js +20 -0
  10. package/lib/cjs/Autocomplete/Autocomplete.js +480 -0
  11. package/lib/cjs/Autocomplete/Loading.js +42 -0
  12. package/lib/cjs/Autocomplete/Suggestions.js +71 -0
  13. package/lib/cjs/Autocomplete/constants.js +10 -0
  14. package/lib/cjs/Autocomplete/dictionary.js +18 -0
  15. package/lib/cjs/Autocomplete/index.js +9 -0
  16. package/lib/cjs/Badge/Badge.js +109 -0
  17. package/lib/cjs/Badge/index.js +9 -0
  18. package/lib/cjs/BaseProvider/HydrationContext.js +56 -0
  19. package/lib/cjs/BaseProvider/index.js +46 -0
  20. package/lib/cjs/Box/Box.js +385 -0
  21. package/lib/cjs/Box/backgroundImageStylesMap.js +100 -0
  22. package/lib/cjs/Box/index.js +9 -0
  23. package/lib/cjs/Button/Button.js +43 -0
  24. package/lib/cjs/Button/ButtonBase.js +353 -0
  25. package/lib/cjs/Button/ButtonDropdown.js +182 -0
  26. package/lib/cjs/Button/ButtonGroup.js +279 -0
  27. package/lib/cjs/Button/ButtonLink.js +57 -0
  28. package/lib/cjs/Button/index.js +34 -0
  29. package/lib/cjs/Button/propTypes.js +53 -0
  30. package/lib/cjs/Card/Card.js +334 -0
  31. package/lib/cjs/Card/CardBase.js +127 -0
  32. package/lib/cjs/Card/PressableCardBase.js +121 -0
  33. package/lib/cjs/Card/index.js +32 -0
  34. package/lib/cjs/CardGroup/CardGroup.js +219 -0
  35. package/lib/cjs/CardGroup/dictionary.js +14 -0
  36. package/lib/cjs/CardGroup/index.js +9 -0
  37. package/lib/cjs/Carousel/Carousel.js +1046 -0
  38. package/lib/cjs/Carousel/CarouselContext.js +59 -0
  39. package/lib/cjs/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +57 -0
  40. package/lib/cjs/Carousel/CarouselItem/CarouselItem.js +185 -0
  41. package/lib/cjs/Carousel/CarouselItem/index.js +9 -0
  42. package/lib/cjs/Carousel/CarouselStepTracker/CarouselStepTracker.js +101 -0
  43. package/lib/cjs/Carousel/CarouselStepTracker/index.js +9 -0
  44. package/lib/cjs/Carousel/CarouselTabs/CarouselTabs.js +54 -0
  45. package/lib/cjs/Carousel/CarouselTabs/CarouselTabsPanel.js +95 -0
  46. package/lib/cjs/Carousel/CarouselTabs/CarouselTabsPanelItem.js +125 -0
  47. package/lib/cjs/Carousel/CarouselTabs/index.js +9 -0
  48. package/lib/cjs/Carousel/CarouselThumbnail.js +120 -0
  49. package/lib/cjs/Carousel/CarouselThumbnailNavigation.js +78 -0
  50. package/lib/cjs/Carousel/Constants.js +13 -0
  51. package/lib/cjs/Carousel/dictionary.js +28 -0
  52. package/lib/cjs/Carousel/index.js +36 -0
  53. package/lib/cjs/Checkbox/Checkbox.js +349 -0
  54. package/lib/cjs/Checkbox/CheckboxButton.js +171 -0
  55. package/lib/cjs/Checkbox/CheckboxGroup.js +249 -0
  56. package/lib/cjs/Checkbox/CheckboxInput.js +55 -0
  57. package/lib/cjs/Checkbox/CheckboxInput.native.js +11 -0
  58. package/lib/cjs/Checkbox/index.js +16 -0
  59. package/lib/cjs/CheckboxCard/CheckboxCard.js +191 -0
  60. package/lib/cjs/CheckboxCard/index.js +9 -0
  61. package/lib/cjs/CheckboxCardGroup/CheckboxCardGroup.js +215 -0
  62. package/lib/cjs/CheckboxCardGroup/index.js +9 -0
  63. package/lib/cjs/ColourToggle/ColourBubble.js +133 -0
  64. package/lib/cjs/ColourToggle/ColourToggle.js +98 -0
  65. package/lib/cjs/ColourToggle/index.js +9 -0
  66. package/lib/cjs/Divider/Divider.js +138 -0
  67. package/lib/cjs/Divider/index.js +9 -0
  68. package/lib/cjs/DownloadApp/DownloadApp.js +167 -0
  69. package/lib/cjs/DownloadApp/dictionary.js +16 -0
  70. package/lib/cjs/DownloadApp/index.js +9 -0
  71. package/lib/cjs/ExpandCollapse/Accordion.js +20 -0
  72. package/lib/cjs/ExpandCollapse/Control.js +170 -0
  73. package/lib/cjs/ExpandCollapse/ExpandCollapse.js +105 -0
  74. package/lib/cjs/ExpandCollapse/Panel.js +248 -0
  75. package/lib/cjs/ExpandCollapse/dictionary.js +16 -0
  76. package/lib/cjs/ExpandCollapse/index.js +19 -0
  77. package/lib/cjs/ExpandCollapseMini/ExpandCollapseMini.js +84 -0
  78. package/lib/cjs/ExpandCollapseMini/ExpandCollapseMiniControl.js +133 -0
  79. package/lib/cjs/ExpandCollapseMini/index.js +9 -0
  80. package/lib/cjs/Feedback/Feedback.js +167 -0
  81. package/lib/cjs/Feedback/index.js +9 -0
  82. package/lib/cjs/Fieldset/Fieldset.js +198 -0
  83. package/lib/cjs/Fieldset/FieldsetContainer.js +55 -0
  84. package/lib/cjs/Fieldset/FieldsetContainer.native.js +39 -0
  85. package/lib/cjs/Fieldset/Legend.js +29 -0
  86. package/lib/cjs/Fieldset/Legend.native.js +36 -0
  87. package/lib/cjs/Fieldset/cssReset.js +20 -0
  88. package/lib/cjs/Fieldset/index.js +9 -0
  89. package/lib/cjs/FileUpload/FileUpload.js +370 -0
  90. package/lib/cjs/FileUpload/NotificationContent.js +59 -0
  91. package/lib/cjs/FileUpload/dictionary.js +50 -0
  92. package/lib/cjs/FileUpload/index.js +9 -0
  93. package/lib/cjs/FlexGrid/Col/Col.js +264 -0
  94. package/lib/cjs/FlexGrid/Col/index.js +9 -0
  95. package/lib/cjs/FlexGrid/FlexGrid.js +165 -0
  96. package/lib/cjs/FlexGrid/Row/Row.js +188 -0
  97. package/lib/cjs/FlexGrid/Row/index.js +9 -0
  98. package/lib/cjs/FlexGrid/helpers/index.js +21 -0
  99. package/lib/cjs/FlexGrid/index.js +9 -0
  100. package/lib/cjs/FlexGrid/providers/GutterContext.js +10 -0
  101. package/lib/cjs/Footnote/Footnote.js +323 -0
  102. package/lib/cjs/Footnote/FootnoteLink.js +114 -0
  103. package/lib/cjs/Footnote/dictionary.js +18 -0
  104. package/lib/cjs/Footnote/index.js +11 -0
  105. package/lib/cjs/HorizontalScroll/HorizontalScroll.js +175 -0
  106. package/lib/cjs/HorizontalScroll/HorizontalScrollButton.js +86 -0
  107. package/lib/cjs/HorizontalScroll/ScrollViewEnd.js +53 -0
  108. package/lib/cjs/HorizontalScroll/ScrollViewEnd.native.js +32 -0
  109. package/lib/cjs/HorizontalScroll/dictionary.js +17 -0
  110. package/lib/cjs/HorizontalScroll/index.js +26 -0
  111. package/lib/cjs/HorizontalScroll/itemPositions.js +122 -0
  112. package/lib/cjs/Icon/Icon.js +101 -0
  113. package/lib/cjs/Icon/IconText.js +117 -0
  114. package/lib/cjs/Icon/index.js +24 -0
  115. package/lib/cjs/IconButton/IconButton.js +208 -0
  116. package/lib/cjs/IconButton/index.js +9 -0
  117. package/lib/cjs/InputLabel/InputLabel.js +184 -0
  118. package/lib/cjs/InputLabel/LabelContent.js +35 -0
  119. package/lib/cjs/InputLabel/LabelContent.native.js +26 -0
  120. package/lib/cjs/InputLabel/index.js +9 -0
  121. package/lib/cjs/InputSupports/InputSupports.js +140 -0
  122. package/lib/cjs/InputSupports/dictionary.js +18 -0
  123. package/lib/cjs/InputSupports/index.js +9 -0
  124. package/lib/cjs/InputSupports/useInputSupports.js +47 -0
  125. package/lib/cjs/Link/ChevronLink.js +73 -0
  126. package/lib/cjs/Link/InlinePressable.js +53 -0
  127. package/lib/cjs/Link/InlinePressable.native.js +93 -0
  128. package/lib/cjs/Link/Link.js +35 -0
  129. package/lib/cjs/Link/LinkBase.js +283 -0
  130. package/lib/cjs/Link/TextButton.js +48 -0
  131. package/lib/cjs/Link/index.js +34 -0
  132. package/lib/cjs/List/List.js +83 -0
  133. package/lib/cjs/List/ListItem.js +37 -0
  134. package/lib/cjs/List/ListItemBase.js +171 -0
  135. package/lib/cjs/List/ListItemContent.js +80 -0
  136. package/lib/cjs/List/ListItemMark.js +132 -0
  137. package/lib/cjs/List/PressableListItemBase.js +117 -0
  138. package/lib/cjs/List/index.js +23 -0
  139. package/lib/cjs/Listbox/GroupControl.js +112 -0
  140. package/lib/cjs/Listbox/Listbox.js +177 -0
  141. package/lib/cjs/Listbox/ListboxContext.js +11 -0
  142. package/lib/cjs/Listbox/ListboxGroup.js +133 -0
  143. package/lib/cjs/Listbox/ListboxItem.js +83 -0
  144. package/lib/cjs/Listbox/ListboxOverlay.js +87 -0
  145. package/lib/cjs/Listbox/PressableItem.js +146 -0
  146. package/lib/cjs/Listbox/index.js +9 -0
  147. package/lib/cjs/Modal/Modal.js +377 -0
  148. package/lib/cjs/Modal/ModalContent.js +205 -0
  149. package/lib/cjs/Modal/WebModal.js +83 -0
  150. package/lib/cjs/Modal/dictionary.js +15 -0
  151. package/lib/cjs/Modal/index.js +9 -0
  152. package/lib/cjs/MultiSelectFilter/ModalOverlay.js +162 -0
  153. package/lib/cjs/MultiSelectFilter/MultiSelectFilter.js +544 -0
  154. package/lib/cjs/MultiSelectFilter/dictionary.js +18 -0
  155. package/lib/cjs/MultiSelectFilter/index.js +9 -0
  156. package/lib/cjs/Notification/Notification.js +437 -0
  157. package/lib/cjs/Notification/dictionary.js +14 -0
  158. package/lib/cjs/Notification/index.js +9 -0
  159. package/lib/cjs/OrderedList/Item.js +166 -0
  160. package/lib/cjs/OrderedList/ItemBase.js +51 -0
  161. package/lib/cjs/OrderedList/OrderedList.js +70 -0
  162. package/lib/cjs/OrderedList/OrderedListBase.js +44 -0
  163. package/lib/cjs/OrderedList/index.js +9 -0
  164. package/lib/cjs/Pagination/PageButton.js +82 -0
  165. package/lib/cjs/Pagination/Pagination.js +226 -0
  166. package/lib/cjs/Pagination/SideButton.js +119 -0
  167. package/lib/cjs/Pagination/constants.js +9 -0
  168. package/lib/cjs/Pagination/dictionary.js +24 -0
  169. package/lib/cjs/Pagination/index.js +9 -0
  170. package/lib/cjs/Pagination/usePagination.js +83 -0
  171. package/lib/cjs/Portal/Portal.js +56 -0
  172. package/lib/cjs/Portal/Portal.native.js +8 -0
  173. package/lib/cjs/Portal/index.js +9 -0
  174. package/lib/cjs/PriceLockup/PriceLockup.js +230 -0
  175. package/lib/cjs/PriceLockup/index.js +9 -0
  176. package/lib/cjs/PriceLockup/utils/renderFootnoteContent.js +92 -0
  177. package/lib/cjs/PriceLockup/utils/renderFootnoteLinks.js +35 -0
  178. package/lib/cjs/PriceLockup/utils/renderPrice.js +146 -0
  179. package/lib/cjs/PriceLockup/utils/renderTypography.js +30 -0
  180. package/lib/cjs/ProductCard/ProductCard.js +237 -0
  181. package/lib/cjs/ProductCard/dictionary.js +44 -0
  182. package/lib/cjs/ProductCard/index.js +9 -0
  183. package/lib/cjs/ProductCardGroup/ProductCardGroup.js +77 -0
  184. package/lib/cjs/ProductCardGroup/index.js +9 -0
  185. package/lib/cjs/Progress/Progress.js +101 -0
  186. package/lib/cjs/Progress/ProgressBar.js +168 -0
  187. package/lib/cjs/Progress/ProgressBarBackground.js +49 -0
  188. package/lib/cjs/Progress/constants.js +10 -0
  189. package/lib/cjs/Progress/index.js +11 -0
  190. package/lib/cjs/QuickLinks/QuickLinks.js +83 -0
  191. package/lib/cjs/QuickLinks/QuickLinksCard.js +38 -0
  192. package/lib/cjs/QuickLinks/QuickLinksItem.js +56 -0
  193. package/lib/cjs/QuickLinks/index.js +11 -0
  194. package/lib/cjs/QuickLinksFeature/QuickLinksFeature.js +74 -0
  195. package/lib/cjs/QuickLinksFeature/QuickLinksFeatureItem.js +152 -0
  196. package/lib/cjs/QuickLinksFeature/index.js +11 -0
  197. package/lib/cjs/Radio/Radio.js +291 -0
  198. package/lib/cjs/Radio/RadioButton.js +191 -0
  199. package/lib/cjs/Radio/RadioGroup.js +262 -0
  200. package/lib/cjs/Radio/RadioInput.js +55 -0
  201. package/lib/cjs/Radio/RadioInput.native.js +11 -0
  202. package/lib/cjs/Radio/index.js +16 -0
  203. package/lib/cjs/RadioCard/RadioCard.js +219 -0
  204. package/lib/cjs/RadioCard/RadioCardGroup.js +266 -0
  205. package/lib/cjs/RadioCard/index.js +16 -0
  206. package/lib/cjs/Responsive/Responsive.js +70 -0
  207. package/lib/cjs/Responsive/ResponsiveProp.js +45 -0
  208. package/lib/cjs/Responsive/ResponsiveWithMediaQueryStyleSheet.js +75 -0
  209. package/lib/cjs/Responsive/index.js +9 -0
  210. package/lib/cjs/Search/Search.js +281 -0
  211. package/lib/cjs/Search/dictionary.js +18 -0
  212. package/lib/cjs/Search/index.js +9 -0
  213. package/lib/cjs/Select/Group.js +31 -0
  214. package/lib/cjs/Select/Group.native.js +23 -0
  215. package/lib/cjs/Select/Item.js +30 -0
  216. package/lib/cjs/Select/Item.native.js +8 -0
  217. package/lib/cjs/Select/Picker.js +103 -0
  218. package/lib/cjs/Select/Picker.native.js +130 -0
  219. package/lib/cjs/Select/Select.js +339 -0
  220. package/lib/cjs/Select/constants.js +13 -0
  221. package/lib/cjs/Select/index.js +13 -0
  222. package/lib/cjs/SideNav/Item.js +150 -0
  223. package/lib/cjs/SideNav/ItemContent.js +56 -0
  224. package/lib/cjs/SideNav/ItemsGroup.js +125 -0
  225. package/lib/cjs/SideNav/SideNav.js +139 -0
  226. package/lib/cjs/SideNav/index.js +13 -0
  227. package/lib/cjs/Skeleton/Skeleton.js +184 -0
  228. package/lib/cjs/Skeleton/index.js +9 -0
  229. package/lib/cjs/Skeleton/skeleton.constant.js +8 -0
  230. package/lib/cjs/Skeleton/skeletonWebAnimation.js +20 -0
  231. package/lib/cjs/Skeleton/useSkeletonNativeAnimation.js +35 -0
  232. package/lib/cjs/SkipLink/SkipLink.js +196 -0
  233. package/lib/cjs/SkipLink/index.js +9 -0
  234. package/lib/cjs/Spacer/Spacer.js +100 -0
  235. package/lib/cjs/Spacer/index.js +9 -0
  236. package/lib/cjs/StackView/StackView.js +133 -0
  237. package/lib/cjs/StackView/StackWrap.js +54 -0
  238. package/lib/cjs/StackView/StackWrap.native.js +10 -0
  239. package/lib/cjs/StackView/StackWrapBox.js +121 -0
  240. package/lib/cjs/StackView/StackWrapGap.js +68 -0
  241. package/lib/cjs/StackView/common.js +43 -0
  242. package/lib/cjs/StackView/getStackedContent.js +128 -0
  243. package/lib/cjs/StackView/index.js +23 -0
  244. package/lib/cjs/Status/Status.js +176 -0
  245. package/lib/cjs/Status/index.js +9 -0
  246. package/lib/cjs/StepTracker/Step.js +271 -0
  247. package/lib/cjs/StepTracker/StepTracker.js +220 -0
  248. package/lib/cjs/StepTracker/dictionary.js +36 -0
  249. package/lib/cjs/StepTracker/index.js +9 -0
  250. package/lib/cjs/TabBar/TabBar.js +132 -0
  251. package/lib/cjs/TabBar/TabBarItem.js +182 -0
  252. package/lib/cjs/TabBar/index.js +9 -0
  253. package/lib/cjs/Tabs/Tabs.js +188 -0
  254. package/lib/cjs/Tabs/TabsItem.js +245 -0
  255. package/lib/cjs/Tabs/index.js +9 -0
  256. package/lib/cjs/Tags/Tags.js +252 -0
  257. package/lib/cjs/Tags/index.js +9 -0
  258. package/lib/cjs/TextInput/TextArea.js +105 -0
  259. package/lib/cjs/TextInput/TextInput.js +86 -0
  260. package/lib/cjs/TextInput/TextInputBase.js +502 -0
  261. package/lib/cjs/TextInput/dictionary.js +18 -0
  262. package/lib/cjs/TextInput/index.js +20 -0
  263. package/lib/cjs/TextInput/propTypes.js +40 -0
  264. package/lib/cjs/ThemeProvider/ThemeProvider.js +91 -0
  265. package/lib/cjs/ThemeProvider/index.js +59 -0
  266. package/lib/cjs/ThemeProvider/useResponsiveThemeTokens.js +88 -0
  267. package/lib/cjs/ThemeProvider/useSetTheme.js +30 -0
  268. package/lib/cjs/ThemeProvider/useTheme.js +17 -0
  269. package/lib/cjs/ThemeProvider/useThemeTokens.js +118 -0
  270. package/lib/cjs/ThemeProvider/utils/index.js +27 -0
  271. package/lib/cjs/ThemeProvider/utils/styles.js +208 -0
  272. package/lib/cjs/ThemeProvider/utils/theme-tokens.js +173 -0
  273. package/lib/cjs/Timeline/Timeline.js +175 -0
  274. package/lib/cjs/Timeline/index.js +9 -0
  275. package/lib/cjs/ToggleSwitch/ToggleSwitch.js +286 -0
  276. package/lib/cjs/ToggleSwitch/ToggleSwitchGroup.js +215 -0
  277. package/lib/cjs/ToggleSwitch/index.js +20 -0
  278. package/lib/cjs/Tooltip/Backdrop.js +57 -0
  279. package/lib/cjs/Tooltip/Backdrop.native.js +46 -0
  280. package/lib/cjs/Tooltip/Tooltip.js +295 -0
  281. package/lib/cjs/Tooltip/Tooltip.native.js +370 -0
  282. package/lib/cjs/Tooltip/dictionary.js +14 -0
  283. package/lib/cjs/Tooltip/getTooltipPosition.js +175 -0
  284. package/lib/cjs/Tooltip/index.js +12 -0
  285. package/lib/cjs/Tooltip/shared.js +48 -0
  286. package/lib/cjs/TooltipButton/TooltipButton.js +97 -0
  287. package/lib/cjs/TooltipButton/index.js +9 -0
  288. package/lib/cjs/Typography/Typography.js +271 -0
  289. package/lib/cjs/Typography/index.js +9 -0
  290. package/lib/cjs/Validator/Validator.js +228 -0
  291. package/lib/cjs/Validator/index.js +9 -0
  292. package/lib/cjs/ViewportProvider/ViewportProvider.js +32 -0
  293. package/lib/cjs/ViewportProvider/index.js +22 -0
  294. package/lib/cjs/ViewportProvider/useViewport.js +10 -0
  295. package/lib/cjs/ViewportProvider/useViewportListener.js +43 -0
  296. package/lib/cjs/index.js +781 -0
  297. package/lib/cjs/server.js +40 -0
  298. package/lib/cjs/utils/BaseView/BaseView.js +47 -0
  299. package/lib/cjs/utils/BaseView/BaseView.native.js +12 -0
  300. package/lib/cjs/utils/BaseView/index.js +9 -0
  301. package/lib/cjs/utils/a11y/index.js +27 -0
  302. package/lib/cjs/utils/a11y/semantics.js +145 -0
  303. package/lib/cjs/utils/a11y/textSize.js +44 -0
  304. package/lib/cjs/utils/animation/index.js +13 -0
  305. package/lib/cjs/utils/animation/useVerticalExpandAnimation.js +92 -0
  306. package/lib/cjs/utils/children.js +121 -0
  307. package/lib/cjs/utils/containUniqueFields.js +30 -0
  308. package/lib/cjs/utils/convertFromMegaByteToByte.js +16 -0
  309. package/lib/cjs/utils/floating-ui/index.js +42 -0
  310. package/lib/cjs/utils/floating-ui/index.native.js +42 -0
  311. package/lib/cjs/utils/formatImageSource.js +33 -0
  312. package/lib/cjs/utils/hasOwnProperty.js +17 -0
  313. package/lib/cjs/utils/htmlAttrs.js +30 -0
  314. package/lib/cjs/utils/index.js +245 -0
  315. package/lib/cjs/utils/info/index.js +14 -0
  316. package/lib/cjs/utils/info/platform/index.js +18 -0
  317. package/lib/cjs/utils/info/platform/platform.android.js +7 -0
  318. package/lib/cjs/utils/info/platform/platform.ios.js +7 -0
  319. package/lib/cjs/utils/info/platform/platform.js +7 -0
  320. package/lib/cjs/utils/info/platform/platform.native.js +10 -0
  321. package/lib/cjs/utils/info/versions.js +12 -0
  322. package/lib/cjs/utils/input.js +193 -0
  323. package/lib/cjs/utils/pressability.js +122 -0
  324. package/lib/cjs/utils/props/a11yProps.js +315 -0
  325. package/lib/cjs/utils/props/clickProps.js +32 -0
  326. package/lib/cjs/utils/props/componentPropType.js +55 -0
  327. package/lib/cjs/utils/props/contentfulProps.js +29 -0
  328. package/lib/cjs/utils/props/copyPropTypes.js +9 -0
  329. package/lib/cjs/utils/props/getPropSelector.js +58 -0
  330. package/lib/cjs/utils/props/handlerProps.js +111 -0
  331. package/lib/cjs/utils/props/hrefAttrsProp.js +39 -0
  332. package/lib/cjs/utils/props/index.js +176 -0
  333. package/lib/cjs/utils/props/inputSupportsProps.js +87 -0
  334. package/lib/cjs/utils/props/linkProps.js +50 -0
  335. package/lib/cjs/utils/props/paddingProp.js +16 -0
  336. package/lib/cjs/utils/props/pressProps.js +49 -0
  337. package/lib/cjs/utils/props/rectProp.js +16 -0
  338. package/lib/cjs/utils/props/responsiveProps.js +35 -0
  339. package/lib/cjs/utils/props/selectSystemProps.js +29 -0
  340. package/lib/cjs/utils/props/spacingProps.js +63 -0
  341. package/lib/cjs/utils/props/textInputProps.js +194 -0
  342. package/lib/cjs/utils/props/textProps.js +67 -0
  343. package/lib/cjs/utils/props/tokens.js +140 -0
  344. package/lib/cjs/utils/props/variantProp.js +24 -0
  345. package/lib/cjs/utils/props/viewProps.js +28 -0
  346. package/lib/cjs/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +55 -0
  347. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.android.js +9 -0
  348. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.ios.js +9 -0
  349. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.js +42 -0
  350. package/lib/cjs/utils/ssr-media-query/hash.js +19 -0
  351. package/lib/cjs/utils/ssr-media-query/index.js +18 -0
  352. package/lib/cjs/utils/ssr-media-query/utils/common.js +44 -0
  353. package/lib/cjs/utils/ssr-media-query/utils/create-declaration-block.js +23 -0
  354. package/lib/cjs/utils/ssr-media-query/utils/create-media-query-styles.js +66 -0
  355. package/lib/cjs/utils/ssr-media-query/utils/hyphenate-style-name.js +18 -0
  356. package/lib/cjs/utils/ssr-media-query/utils/inject.js +47 -0
  357. package/lib/cjs/utils/ssr.js +150 -0
  358. package/lib/cjs/utils/transformGradient.js +22 -0
  359. package/lib/cjs/utils/useCopy.js +48 -0
  360. package/lib/cjs/utils/useHash.js +44 -0
  361. package/lib/cjs/utils/useHash.native.js +12 -0
  362. package/lib/cjs/utils/useOverlaidPosition.js +242 -0
  363. package/lib/cjs/utils/useResponsiveProp.js +53 -0
  364. package/lib/cjs/utils/useSafeLayoutEffect.js +34 -0
  365. package/lib/cjs/utils/useScrollBlocking.js +55 -0
  366. package/lib/cjs/utils/useScrollBlocking.native.js +9 -0
  367. package/lib/cjs/utils/useSpacingScale.js +129 -0
  368. package/lib/cjs/utils/useUniqueId.js +17 -0
  369. package/lib/cjs/utils/withLinkRouter.js +89 -0
  370. package/lib/esm/A11yInfoProvider/index.js +65 -0
  371. package/lib/esm/Autocomplete/Autocomplete.js +473 -0
  372. package/lib/esm/Autocomplete/Suggestions.js +64 -0
  373. package/lib/esm/BaseProvider/HydrationContext.js +47 -0
  374. package/lib/esm/BaseProvider/index.js +40 -0
  375. package/lib/esm/Button/ButtonDropdown.js +173 -0
  376. package/lib/esm/Card/Card.js +327 -0
  377. package/lib/esm/Card/CardBase.js +120 -0
  378. package/lib/esm/Card/PressableCardBase.js +113 -0
  379. package/lib/esm/CardGroup/CardGroup.js +210 -0
  380. package/lib/esm/Carousel/Carousel.js +1039 -0
  381. package/lib/esm/Carousel/CarouselItem/CarouselItem.js +178 -0
  382. package/lib/esm/Carousel/CarouselStepTracker/CarouselStepTracker.js +94 -0
  383. package/lib/esm/Carousel/CarouselTabs/CarouselTabs.js +49 -0
  384. package/lib/esm/Carousel/CarouselTabs/CarouselTabsPanel.js +88 -0
  385. package/lib/esm/Carousel/CarouselTabs/CarouselTabsPanelItem.js +118 -0
  386. package/lib/esm/Carousel/CarouselThumbnail.js +113 -0
  387. package/lib/esm/Carousel/Constants.js +7 -0
  388. package/lib/esm/Checkbox/Checkbox.js +342 -0
  389. package/lib/esm/ColourToggle/ColourToggle.js +91 -0
  390. package/lib/esm/ExpandCollapseMini/ExpandCollapseMini.js +77 -0
  391. package/lib/esm/ExpandCollapseMini/ExpandCollapseMiniControl.js +126 -0
  392. package/lib/esm/ExpandCollapseMini/index.js +2 -0
  393. package/lib/esm/Footnote/Footnote.js +316 -0
  394. package/lib/esm/HorizontalScroll/HorizontalScroll.js +167 -0
  395. package/lib/esm/Icon/Icon.js +94 -0
  396. package/lib/esm/Icon/IconText.js +110 -0
  397. package/lib/esm/IconButton/IconButton.js +202 -0
  398. package/lib/esm/InputSupports/InputSupports.js +133 -0
  399. package/lib/esm/Link/LinkBase.js +276 -0
  400. package/lib/esm/List/List.js +76 -0
  401. package/lib/esm/List/ListItemContent.js +73 -0
  402. package/lib/esm/Listbox/Listbox.js +168 -0
  403. package/lib/esm/Listbox/PressableItem.js +139 -0
  404. package/lib/esm/Modal/Modal.js +370 -0
  405. package/lib/esm/MultiSelectFilter/MultiSelectFilter.js +537 -0
  406. package/lib/esm/Notification/Notification.js +430 -0
  407. package/lib/esm/OrderedList/OrderedList.js +63 -0
  408. package/lib/esm/Pagination/usePagination.js +77 -0
  409. package/lib/esm/PriceLockup/utils/renderFootnoteContent.js +85 -0
  410. package/lib/esm/PriceLockup/utils/renderFootnoteLinks.js +28 -0
  411. package/lib/esm/PriceLockup/utils/renderPrice.js +139 -0
  412. package/lib/esm/ProductCard/ProductCard.js +230 -0
  413. package/lib/esm/Progress/ProgressBarBackground.js +42 -0
  414. package/lib/esm/QuickLinksFeature/QuickLinksFeature.js +68 -0
  415. package/lib/esm/Radio/Radio.js +282 -0
  416. package/lib/esm/Search/Search.js +274 -0
  417. package/lib/esm/Select/Picker.js +96 -0
  418. package/lib/esm/StackView/StackWrap.js +48 -0
  419. package/lib/esm/StackView/getStackedContent.js +121 -0
  420. package/lib/esm/StepTracker/StepTracker.js +213 -0
  421. package/lib/esm/TabBar/TabBar.js +125 -0
  422. package/lib/esm/Tabs/Tabs.js +179 -0
  423. package/lib/esm/Tabs/TabsItem.js +238 -0
  424. package/lib/esm/TextInput/TextArea.js +98 -0
  425. package/lib/esm/TextInput/TextInput.js +79 -0
  426. package/lib/esm/TextInput/TextInputBase.js +495 -0
  427. package/lib/esm/ThemeProvider/utils/theme-tokens.js +158 -0
  428. package/lib/esm/Timeline/Timeline.js +168 -0
  429. package/lib/esm/Tooltip/Tooltip.native.js +363 -0
  430. package/lib/esm/Typography/Typography.js +265 -0
  431. package/lib/esm/Validator/Validator.js +221 -0
  432. package/lib/esm/ViewportProvider/useViewportListener.js +37 -0
  433. package/lib/esm/index.js +72 -0
  434. package/lib/esm/utils/children.js +113 -0
  435. package/lib/esm/utils/input.js +185 -0
  436. package/lib/esm/utils/props/componentPropType.js +49 -0
  437. package/lib/esm/utils/props/selectSystemProps.js +23 -0
  438. package/lib/esm/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
  439. package/lib/esm/utils/ssr-media-query/create-stylesheet/index.js +35 -0
  440. package/lib/esm/utils/ssr-media-query/utils/inject.js +37 -0
  441. package/lib/esm/utils/useHash.js +38 -0
  442. package/lib/esm/utils/useOverlaidPosition.js +235 -0
  443. package/lib/esm/utils/useScrollBlocking.js +49 -0
  444. package/lib/esm/utils/useSpacingScale.js +123 -0
  445. package/lib/package.json +88 -0
  446. package/package.json +13 -11
  447. package/src/Carousel/Carousel.jsx +228 -155
  448. package/src/Carousel/CarouselItem/CarouselItem.jsx +14 -4
  449. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +3 -0
  450. package/src/Carousel/Constants.js +4 -0
  451. package/src/ExpandCollapseMini/ExpandCollapseMini.jsx +76 -0
  452. package/src/ExpandCollapseMini/ExpandCollapseMiniControl.jsx +119 -0
  453. package/src/ExpandCollapseMini/index.js +3 -0
  454. package/src/Link/LinkBase.jsx +8 -3
  455. package/src/TextInput/TextInputBase.jsx +30 -1
  456. package/src/index.js +1 -0
  457. package/src/utils/useOverlaidPosition.js +23 -0
  458. package/lib/A11yInfoProvider/index.js +0 -65
  459. package/lib/Autocomplete/Autocomplete.js +0 -483
  460. package/lib/Autocomplete/Suggestions.js +0 -64
  461. package/lib/BaseProvider/HydrationContext.js +0 -48
  462. package/lib/BaseProvider/index.js +0 -41
  463. package/lib/Button/ButtonDropdown.js +0 -173
  464. package/lib/Card/Card.js +0 -328
  465. package/lib/Card/CardBase.js +0 -120
  466. package/lib/Card/PressableCardBase.js +0 -113
  467. package/lib/CardGroup/CardGroup.js +0 -210
  468. package/lib/Carousel/Carousel.js +0 -981
  469. package/lib/Carousel/CarouselItem/CarouselItem.js +0 -161
  470. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -91
  471. package/lib/Carousel/CarouselTabs/CarouselTabs.js +0 -50
  472. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -88
  473. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -118
  474. package/lib/Carousel/CarouselThumbnail.js +0 -113
  475. package/lib/Carousel/Constants.js +0 -3
  476. package/lib/Checkbox/Checkbox.js +0 -342
  477. package/lib/ColourToggle/ColourToggle.js +0 -91
  478. package/lib/Footnote/Footnote.js +0 -316
  479. package/lib/HorizontalScroll/HorizontalScroll.js +0 -168
  480. package/lib/Icon/Icon.js +0 -94
  481. package/lib/Icon/IconText.js +0 -111
  482. package/lib/IconButton/IconButton.js +0 -203
  483. package/lib/InputSupports/InputSupports.js +0 -133
  484. package/lib/Link/LinkBase.js +0 -271
  485. package/lib/List/List.js +0 -77
  486. package/lib/List/ListItemContent.js +0 -73
  487. package/lib/Listbox/Listbox.js +0 -171
  488. package/lib/Listbox/PressableItem.js +0 -139
  489. package/lib/Modal/Modal.js +0 -373
  490. package/lib/MultiSelectFilter/MultiSelectFilter.js +0 -537
  491. package/lib/Notification/Notification.js +0 -432
  492. package/lib/OrderedList/OrderedList.js +0 -64
  493. package/lib/Pagination/usePagination.js +0 -78
  494. package/lib/PriceLockup/utils/renderFootnoteContent.js +0 -85
  495. package/lib/PriceLockup/utils/renderFootnoteLinks.js +0 -28
  496. package/lib/PriceLockup/utils/renderPrice.js +0 -139
  497. package/lib/ProductCard/ProductCard.js +0 -231
  498. package/lib/Progress/ProgressBarBackground.js +0 -42
  499. package/lib/QuickLinksFeature/QuickLinksFeature.js +0 -69
  500. package/lib/Radio/Radio.js +0 -282
  501. package/lib/Search/Search.js +0 -275
  502. package/lib/Select/Picker.js +0 -96
  503. package/lib/StackView/StackWrap.js +0 -51
  504. package/lib/StackView/getStackedContent.js +0 -122
  505. package/lib/StepTracker/StepTracker.js +0 -214
  506. package/lib/TabBar/TabBar.js +0 -125
  507. package/lib/Tabs/Tabs.js +0 -179
  508. package/lib/Tabs/TabsItem.js +0 -238
  509. package/lib/TextInput/TextArea.js +0 -98
  510. package/lib/TextInput/TextInput.js +0 -79
  511. package/lib/TextInput/TextInputBase.js +0 -468
  512. package/lib/ThemeProvider/utils/theme-tokens.js +0 -160
  513. package/lib/Timeline/Timeline.js +0 -169
  514. package/lib/Tooltip/Tooltip.native.js +0 -363
  515. package/lib/Typography/Typography.js +0 -266
  516. package/lib/Validator/Validator.js +0 -226
  517. package/lib/ViewportProvider/useViewportListener.js +0 -37
  518. package/lib/index.js +0 -71
  519. package/lib/utils/children.js +0 -117
  520. package/lib/utils/input.js +0 -185
  521. package/lib/utils/props/componentPropType.js +0 -50
  522. package/lib/utils/props/selectSystemProps.js +0 -23
  523. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -48
  524. package/lib/utils/ssr-media-query/create-stylesheet/index.js +0 -36
  525. package/lib/utils/ssr-media-query/utils/inject.js +0 -39
  526. package/lib/utils/useHash.js +0 -41
  527. package/lib/utils/useOverlaidPosition.js +0 -214
  528. package/lib/utils/useScrollBlocking.js +0 -51
  529. package/lib/utils/useSpacingScale.js +0 -123
  530. /package/lib/{A11yText → esm/A11yText}/index.js +0 -0
  531. /package/lib/{ActionCard → esm/ActionCard}/ActionCard.js +0 -0
  532. /package/lib/{ActionCard → esm/ActionCard}/index.js +0 -0
  533. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.js +0 -0
  534. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.native.js +0 -0
  535. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/index.js +0 -0
  536. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/shared.js +0 -0
  537. /package/lib/{Autocomplete → esm/Autocomplete}/Loading.js +0 -0
  538. /package/lib/{Autocomplete → esm/Autocomplete}/constants.js +0 -0
  539. /package/lib/{Autocomplete → esm/Autocomplete}/dictionary.js +0 -0
  540. /package/lib/{Autocomplete → esm/Autocomplete}/index.js +0 -0
  541. /package/lib/{Badge → esm/Badge}/Badge.js +0 -0
  542. /package/lib/{Badge → esm/Badge}/index.js +0 -0
  543. /package/lib/{Box → esm/Box}/Box.js +0 -0
  544. /package/lib/{Box → esm/Box}/backgroundImageStylesMap.js +0 -0
  545. /package/lib/{Box → esm/Box}/index.js +0 -0
  546. /package/lib/{Button → esm/Button}/Button.js +0 -0
  547. /package/lib/{Button → esm/Button}/ButtonBase.js +0 -0
  548. /package/lib/{Button → esm/Button}/ButtonGroup.js +0 -0
  549. /package/lib/{Button → esm/Button}/ButtonLink.js +0 -0
  550. /package/lib/{Button → esm/Button}/index.js +0 -0
  551. /package/lib/{Button → esm/Button}/propTypes.js +0 -0
  552. /package/lib/{Card → esm/Card}/index.js +0 -0
  553. /package/lib/{CardGroup → esm/CardGroup}/dictionary.js +0 -0
  554. /package/lib/{CardGroup → esm/CardGroup}/index.js +0 -0
  555. /package/lib/{Carousel → esm/Carousel}/CarouselContext.js +0 -0
  556. /package/lib/{Carousel → esm/Carousel}/CarouselFirstFocus/CarouselFirstFocus.js +0 -0
  557. /package/lib/{Carousel → esm/Carousel}/CarouselItem/index.js +0 -0
  558. /package/lib/{Carousel → esm/Carousel}/CarouselStepTracker/index.js +0 -0
  559. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/index.js +0 -0
  560. /package/lib/{Carousel → esm/Carousel}/CarouselThumbnailNavigation.js +0 -0
  561. /package/lib/{Carousel → esm/Carousel}/dictionary.js +0 -0
  562. /package/lib/{Carousel → esm/Carousel}/index.js +0 -0
  563. /package/lib/{Checkbox → esm/Checkbox}/CheckboxButton.js +0 -0
  564. /package/lib/{Checkbox → esm/Checkbox}/CheckboxGroup.js +0 -0
  565. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.js +0 -0
  566. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.native.js +0 -0
  567. /package/lib/{Checkbox → esm/Checkbox}/index.js +0 -0
  568. /package/lib/{CheckboxCard → esm/CheckboxCard}/CheckboxCard.js +0 -0
  569. /package/lib/{CheckboxCard → esm/CheckboxCard}/index.js +0 -0
  570. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/CheckboxCardGroup.js +0 -0
  571. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/index.js +0 -0
  572. /package/lib/{ColourToggle → esm/ColourToggle}/ColourBubble.js +0 -0
  573. /package/lib/{ColourToggle → esm/ColourToggle}/index.js +0 -0
  574. /package/lib/{Divider → esm/Divider}/Divider.js +0 -0
  575. /package/lib/{Divider → esm/Divider}/index.js +0 -0
  576. /package/lib/{DownloadApp → esm/DownloadApp}/DownloadApp.js +0 -0
  577. /package/lib/{DownloadApp → esm/DownloadApp}/dictionary.js +0 -0
  578. /package/lib/{DownloadApp → esm/DownloadApp}/index.js +0 -0
  579. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Accordion.js +0 -0
  580. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Control.js +0 -0
  581. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/ExpandCollapse.js +0 -0
  582. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Panel.js +0 -0
  583. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/dictionary.js +0 -0
  584. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/index.js +0 -0
  585. /package/lib/{Feedback → esm/Feedback}/Feedback.js +0 -0
  586. /package/lib/{Feedback → esm/Feedback}/index.js +0 -0
  587. /package/lib/{Fieldset → esm/Fieldset}/Fieldset.js +0 -0
  588. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.js +0 -0
  589. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.native.js +0 -0
  590. /package/lib/{Fieldset → esm/Fieldset}/Legend.js +0 -0
  591. /package/lib/{Fieldset → esm/Fieldset}/Legend.native.js +0 -0
  592. /package/lib/{Fieldset → esm/Fieldset}/cssReset.js +0 -0
  593. /package/lib/{Fieldset → esm/Fieldset}/index.js +0 -0
  594. /package/lib/{FileUpload → esm/FileUpload}/FileUpload.js +0 -0
  595. /package/lib/{FileUpload → esm/FileUpload}/NotificationContent.js +0 -0
  596. /package/lib/{FileUpload → esm/FileUpload}/dictionary.js +0 -0
  597. /package/lib/{FileUpload → esm/FileUpload}/index.js +0 -0
  598. /package/lib/{FlexGrid → esm/FlexGrid}/Col/Col.js +0 -0
  599. /package/lib/{FlexGrid → esm/FlexGrid}/Col/index.js +0 -0
  600. /package/lib/{FlexGrid → esm/FlexGrid}/FlexGrid.js +0 -0
  601. /package/lib/{FlexGrid → esm/FlexGrid}/Row/Row.js +0 -0
  602. /package/lib/{FlexGrid → esm/FlexGrid}/Row/index.js +0 -0
  603. /package/lib/{FlexGrid → esm/FlexGrid}/helpers/index.js +0 -0
  604. /package/lib/{FlexGrid → esm/FlexGrid}/index.js +0 -0
  605. /package/lib/{FlexGrid → esm/FlexGrid}/providers/GutterContext.js +0 -0
  606. /package/lib/{Footnote → esm/Footnote}/FootnoteLink.js +0 -0
  607. /package/lib/{Footnote → esm/Footnote}/dictionary.js +0 -0
  608. /package/lib/{Footnote → esm/Footnote}/index.js +0 -0
  609. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/HorizontalScrollButton.js +0 -0
  610. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.js +0 -0
  611. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.native.js +0 -0
  612. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/dictionary.js +0 -0
  613. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/index.js +0 -0
  614. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/itemPositions.js +0 -0
  615. /package/lib/{Icon → esm/Icon}/index.js +0 -0
  616. /package/lib/{IconButton → esm/IconButton}/index.js +0 -0
  617. /package/lib/{InputLabel → esm/InputLabel}/InputLabel.js +0 -0
  618. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.js +0 -0
  619. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.native.js +0 -0
  620. /package/lib/{InputLabel → esm/InputLabel}/index.js +0 -0
  621. /package/lib/{InputSupports → esm/InputSupports}/dictionary.js +0 -0
  622. /package/lib/{InputSupports → esm/InputSupports}/index.js +0 -0
  623. /package/lib/{InputSupports → esm/InputSupports}/useInputSupports.js +0 -0
  624. /package/lib/{Link → esm/Link}/ChevronLink.js +0 -0
  625. /package/lib/{Link → esm/Link}/InlinePressable.js +0 -0
  626. /package/lib/{Link → esm/Link}/InlinePressable.native.js +0 -0
  627. /package/lib/{Link → esm/Link}/Link.js +0 -0
  628. /package/lib/{Link → esm/Link}/TextButton.js +0 -0
  629. /package/lib/{Link → esm/Link}/index.js +0 -0
  630. /package/lib/{List → esm/List}/ListItem.js +0 -0
  631. /package/lib/{List → esm/List}/ListItemBase.js +0 -0
  632. /package/lib/{List → esm/List}/ListItemMark.js +0 -0
  633. /package/lib/{List → esm/List}/PressableListItemBase.js +0 -0
  634. /package/lib/{List → esm/List}/index.js +0 -0
  635. /package/lib/{Listbox → esm/Listbox}/GroupControl.js +0 -0
  636. /package/lib/{Listbox → esm/Listbox}/ListboxContext.js +0 -0
  637. /package/lib/{Listbox → esm/Listbox}/ListboxGroup.js +0 -0
  638. /package/lib/{Listbox → esm/Listbox}/ListboxItem.js +0 -0
  639. /package/lib/{Listbox → esm/Listbox}/ListboxOverlay.js +0 -0
  640. /package/lib/{Listbox → esm/Listbox}/index.js +0 -0
  641. /package/lib/{Modal → esm/Modal}/ModalContent.js +0 -0
  642. /package/lib/{Modal → esm/Modal}/WebModal.js +0 -0
  643. /package/lib/{Modal → esm/Modal}/dictionary.js +0 -0
  644. /package/lib/{Modal → esm/Modal}/index.js +0 -0
  645. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/ModalOverlay.js +0 -0
  646. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/dictionary.js +0 -0
  647. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/index.js +0 -0
  648. /package/lib/{Notification → esm/Notification}/dictionary.js +0 -0
  649. /package/lib/{Notification → esm/Notification}/index.js +0 -0
  650. /package/lib/{OrderedList → esm/OrderedList}/Item.js +0 -0
  651. /package/lib/{OrderedList → esm/OrderedList}/ItemBase.js +0 -0
  652. /package/lib/{OrderedList → esm/OrderedList}/OrderedListBase.js +0 -0
  653. /package/lib/{OrderedList → esm/OrderedList}/index.js +0 -0
  654. /package/lib/{Pagination → esm/Pagination}/PageButton.js +0 -0
  655. /package/lib/{Pagination → esm/Pagination}/Pagination.js +0 -0
  656. /package/lib/{Pagination → esm/Pagination}/SideButton.js +0 -0
  657. /package/lib/{Pagination → esm/Pagination}/constants.js +0 -0
  658. /package/lib/{Pagination → esm/Pagination}/dictionary.js +0 -0
  659. /package/lib/{Pagination → esm/Pagination}/index.js +0 -0
  660. /package/lib/{Portal → esm/Portal}/Portal.js +0 -0
  661. /package/lib/{Portal → esm/Portal}/Portal.native.js +0 -0
  662. /package/lib/{Portal → esm/Portal}/index.js +0 -0
  663. /package/lib/{PriceLockup → esm/PriceLockup}/PriceLockup.js +0 -0
  664. /package/lib/{PriceLockup → esm/PriceLockup}/index.js +0 -0
  665. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderTypography.js +0 -0
  666. /package/lib/{ProductCard → esm/ProductCard}/dictionary.js +0 -0
  667. /package/lib/{ProductCard → esm/ProductCard}/index.js +0 -0
  668. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/ProductCardGroup.js +0 -0
  669. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/index.js +0 -0
  670. /package/lib/{Progress → esm/Progress}/Progress.js +0 -0
  671. /package/lib/{Progress → esm/Progress}/ProgressBar.js +0 -0
  672. /package/lib/{Progress → esm/Progress}/constants.js +0 -0
  673. /package/lib/{Progress → esm/Progress}/index.js +0 -0
  674. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinks.js +0 -0
  675. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksCard.js +0 -0
  676. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksItem.js +0 -0
  677. /package/lib/{QuickLinks → esm/QuickLinks}/index.js +0 -0
  678. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/QuickLinksFeatureItem.js +0 -0
  679. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/index.js +0 -0
  680. /package/lib/{Radio → esm/Radio}/RadioButton.js +0 -0
  681. /package/lib/{Radio → esm/Radio}/RadioGroup.js +0 -0
  682. /package/lib/{Radio → esm/Radio}/RadioInput.js +0 -0
  683. /package/lib/{Radio → esm/Radio}/RadioInput.native.js +0 -0
  684. /package/lib/{Radio → esm/Radio}/index.js +0 -0
  685. /package/lib/{RadioCard → esm/RadioCard}/RadioCard.js +0 -0
  686. /package/lib/{RadioCard → esm/RadioCard}/RadioCardGroup.js +0 -0
  687. /package/lib/{RadioCard → esm/RadioCard}/index.js +0 -0
  688. /package/lib/{Responsive → esm/Responsive}/Responsive.js +0 -0
  689. /package/lib/{Responsive → esm/Responsive}/ResponsiveProp.js +0 -0
  690. /package/lib/{Responsive → esm/Responsive}/ResponsiveWithMediaQueryStyleSheet.js +0 -0
  691. /package/lib/{Responsive → esm/Responsive}/index.js +0 -0
  692. /package/lib/{Search → esm/Search}/dictionary.js +0 -0
  693. /package/lib/{Search → esm/Search}/index.js +0 -0
  694. /package/lib/{Select → esm/Select}/Group.js +0 -0
  695. /package/lib/{Select → esm/Select}/Group.native.js +0 -0
  696. /package/lib/{Select → esm/Select}/Item.js +0 -0
  697. /package/lib/{Select → esm/Select}/Item.native.js +0 -0
  698. /package/lib/{Select → esm/Select}/Picker.native.js +0 -0
  699. /package/lib/{Select → esm/Select}/Select.js +0 -0
  700. /package/lib/{Select → esm/Select}/constants.js +0 -0
  701. /package/lib/{Select → esm/Select}/index.js +0 -0
  702. /package/lib/{SideNav → esm/SideNav}/Item.js +0 -0
  703. /package/lib/{SideNav → esm/SideNav}/ItemContent.js +0 -0
  704. /package/lib/{SideNav → esm/SideNav}/ItemsGroup.js +0 -0
  705. /package/lib/{SideNav → esm/SideNav}/SideNav.js +0 -0
  706. /package/lib/{SideNav → esm/SideNav}/index.js +0 -0
  707. /package/lib/{Skeleton → esm/Skeleton}/Skeleton.js +0 -0
  708. /package/lib/{Skeleton → esm/Skeleton}/index.js +0 -0
  709. /package/lib/{Skeleton → esm/Skeleton}/skeleton.constant.js +0 -0
  710. /package/lib/{Skeleton → esm/Skeleton}/skeletonWebAnimation.js +0 -0
  711. /package/lib/{Skeleton → esm/Skeleton}/useSkeletonNativeAnimation.js +0 -0
  712. /package/lib/{SkipLink → esm/SkipLink}/SkipLink.js +0 -0
  713. /package/lib/{SkipLink → esm/SkipLink}/index.js +0 -0
  714. /package/lib/{Spacer → esm/Spacer}/Spacer.js +0 -0
  715. /package/lib/{Spacer → esm/Spacer}/index.js +0 -0
  716. /package/lib/{StackView → esm/StackView}/StackView.js +0 -0
  717. /package/lib/{StackView → esm/StackView}/StackWrap.native.js +0 -0
  718. /package/lib/{StackView → esm/StackView}/StackWrapBox.js +0 -0
  719. /package/lib/{StackView → esm/StackView}/StackWrapGap.js +0 -0
  720. /package/lib/{StackView → esm/StackView}/common.js +0 -0
  721. /package/lib/{StackView → esm/StackView}/index.js +0 -0
  722. /package/lib/{Status → esm/Status}/Status.js +0 -0
  723. /package/lib/{Status → esm/Status}/index.js +0 -0
  724. /package/lib/{StepTracker → esm/StepTracker}/Step.js +0 -0
  725. /package/lib/{StepTracker → esm/StepTracker}/dictionary.js +0 -0
  726. /package/lib/{StepTracker → esm/StepTracker}/index.js +0 -0
  727. /package/lib/{TabBar → esm/TabBar}/TabBarItem.js +0 -0
  728. /package/lib/{TabBar → esm/TabBar}/index.js +0 -0
  729. /package/lib/{Tabs → esm/Tabs}/index.js +0 -0
  730. /package/lib/{Tags → esm/Tags}/Tags.js +0 -0
  731. /package/lib/{Tags → esm/Tags}/index.js +0 -0
  732. /package/lib/{TextInput → esm/TextInput}/dictionary.js +0 -0
  733. /package/lib/{TextInput → esm/TextInput}/index.js +0 -0
  734. /package/lib/{TextInput → esm/TextInput}/propTypes.js +0 -0
  735. /package/lib/{ThemeProvider → esm/ThemeProvider}/ThemeProvider.js +0 -0
  736. /package/lib/{ThemeProvider → esm/ThemeProvider}/index.js +0 -0
  737. /package/lib/{ThemeProvider → esm/ThemeProvider}/useResponsiveThemeTokens.js +0 -0
  738. /package/lib/{ThemeProvider → esm/ThemeProvider}/useSetTheme.js +0 -0
  739. /package/lib/{ThemeProvider → esm/ThemeProvider}/useTheme.js +0 -0
  740. /package/lib/{ThemeProvider → esm/ThemeProvider}/useThemeTokens.js +0 -0
  741. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/index.js +0 -0
  742. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/styles.js +0 -0
  743. /package/lib/{Timeline → esm/Timeline}/index.js +0 -0
  744. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitch.js +0 -0
  745. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitchGroup.js +0 -0
  746. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/index.js +0 -0
  747. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.js +0 -0
  748. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.native.js +0 -0
  749. /package/lib/{Tooltip → esm/Tooltip}/Tooltip.js +0 -0
  750. /package/lib/{Tooltip → esm/Tooltip}/dictionary.js +0 -0
  751. /package/lib/{Tooltip → esm/Tooltip}/getTooltipPosition.js +0 -0
  752. /package/lib/{Tooltip → esm/Tooltip}/index.js +0 -0
  753. /package/lib/{Tooltip → esm/Tooltip}/shared.js +0 -0
  754. /package/lib/{TooltipButton → esm/TooltipButton}/TooltipButton.js +0 -0
  755. /package/lib/{TooltipButton → esm/TooltipButton}/index.js +0 -0
  756. /package/lib/{Typography → esm/Typography}/index.js +0 -0
  757. /package/lib/{Validator → esm/Validator}/index.js +0 -0
  758. /package/lib/{ViewportProvider → esm/ViewportProvider}/ViewportProvider.js +0 -0
  759. /package/lib/{ViewportProvider → esm/ViewportProvider}/index.js +0 -0
  760. /package/lib/{ViewportProvider → esm/ViewportProvider}/useViewport.js +0 -0
  761. /package/lib/{server.js → esm/server.js} +0 -0
  762. /package/lib/{utils → esm/utils}/BaseView/BaseView.js +0 -0
  763. /package/lib/{utils → esm/utils}/BaseView/BaseView.native.js +0 -0
  764. /package/lib/{utils → esm/utils}/BaseView/index.js +0 -0
  765. /package/lib/{utils → esm/utils}/a11y/index.js +0 -0
  766. /package/lib/{utils → esm/utils}/a11y/semantics.js +0 -0
  767. /package/lib/{utils → esm/utils}/a11y/textSize.js +0 -0
  768. /package/lib/{utils → esm/utils}/animation/index.js +0 -0
  769. /package/lib/{utils → esm/utils}/animation/useVerticalExpandAnimation.js +0 -0
  770. /package/lib/{utils → esm/utils}/containUniqueFields.js +0 -0
  771. /package/lib/{utils → esm/utils}/convertFromMegaByteToByte.js +0 -0
  772. /package/lib/{utils → esm/utils}/floating-ui/index.js +0 -0
  773. /package/lib/{utils → esm/utils}/floating-ui/index.native.js +0 -0
  774. /package/lib/{utils → esm/utils}/formatImageSource.js +0 -0
  775. /package/lib/{utils → esm/utils}/hasOwnProperty.js +0 -0
  776. /package/lib/{utils → esm/utils}/htmlAttrs.js +0 -0
  777. /package/lib/{utils → esm/utils}/index.js +0 -0
  778. /package/lib/{utils → esm/utils}/info/index.js +0 -0
  779. /package/lib/{utils → esm/utils}/info/platform/index.js +0 -0
  780. /package/lib/{utils → esm/utils}/info/platform/platform.android.js +0 -0
  781. /package/lib/{utils → esm/utils}/info/platform/platform.ios.js +0 -0
  782. /package/lib/{utils → esm/utils}/info/platform/platform.js +0 -0
  783. /package/lib/{utils → esm/utils}/info/platform/platform.native.js +0 -0
  784. /package/lib/{utils → esm/utils}/info/versions.js +0 -0
  785. /package/lib/{utils → esm/utils}/pressability.js +0 -0
  786. /package/lib/{utils → esm/utils}/props/a11yProps.js +0 -0
  787. /package/lib/{utils → esm/utils}/props/clickProps.js +0 -0
  788. /package/lib/{utils → esm/utils}/props/contentfulProps.js +0 -0
  789. /package/lib/{utils → esm/utils}/props/copyPropTypes.js +0 -0
  790. /package/lib/{utils → esm/utils}/props/getPropSelector.js +0 -0
  791. /package/lib/{utils → esm/utils}/props/handlerProps.js +0 -0
  792. /package/lib/{utils → esm/utils}/props/hrefAttrsProp.js +0 -0
  793. /package/lib/{utils → esm/utils}/props/index.js +0 -0
  794. /package/lib/{utils → esm/utils}/props/inputSupportsProps.js +0 -0
  795. /package/lib/{utils → esm/utils}/props/linkProps.js +0 -0
  796. /package/lib/{utils → esm/utils}/props/paddingProp.js +0 -0
  797. /package/lib/{utils → esm/utils}/props/pressProps.js +0 -0
  798. /package/lib/{utils → esm/utils}/props/rectProp.js +0 -0
  799. /package/lib/{utils → esm/utils}/props/responsiveProps.js +0 -0
  800. /package/lib/{utils → esm/utils}/props/spacingProps.js +0 -0
  801. /package/lib/{utils → esm/utils}/props/textInputProps.js +0 -0
  802. /package/lib/{utils → esm/utils}/props/textProps.js +0 -0
  803. /package/lib/{utils → esm/utils}/props/tokens.js +0 -0
  804. /package/lib/{utils → esm/utils}/props/variantProp.js +0 -0
  805. /package/lib/{utils → esm/utils}/props/viewProps.js +0 -0
  806. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.android.js +0 -0
  807. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.ios.js +0 -0
  808. /package/lib/{utils → esm/utils}/ssr-media-query/hash.js +0 -0
  809. /package/lib/{utils → esm/utils}/ssr-media-query/index.js +0 -0
  810. /package/lib/{utils → esm/utils}/ssr-media-query/utils/common.js +0 -0
  811. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-declaration-block.js +0 -0
  812. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-media-query-styles.js +0 -0
  813. /package/lib/{utils → esm/utils}/ssr-media-query/utils/hyphenate-style-name.js +0 -0
  814. /package/lib/{utils → esm/utils}/ssr.js +0 -0
  815. /package/lib/{utils → esm/utils}/transformGradient.js +0 -0
  816. /package/lib/{utils → esm/utils}/useCopy.js +0 -0
  817. /package/lib/{utils → esm/utils}/useHash.native.js +0 -0
  818. /package/lib/{utils → esm/utils}/useResponsiveProp.js +0 -0
  819. /package/lib/{utils → esm/utils}/useSafeLayoutEffect.js +0 -0
  820. /package/lib/{utils → esm/utils}/useScrollBlocking.native.js +0 -0
  821. /package/lib/{utils → esm/utils}/useUniqueId.js +0 -0
  822. /package/lib/{utils → esm/utils}/withLinkRouter.js +0 -0
@@ -1,316 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
- import Text from "react-native-web/dist/exports/Text";
5
- import Dimensions from "react-native-web/dist/exports/Dimensions";
6
- import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWithoutFeedback";
7
- import Modal from "react-native-web/dist/exports/Modal";
8
- import View from "react-native-web/dist/exports/View";
9
- import SafeAreaView from "react-native-web/dist/exports/SafeAreaView";
10
- import ScrollView from "react-native-web/dist/exports/ScrollView";
11
- import defaultDictionary from './dictionary';
12
- import { getTokensPropType, htmlAttrs, selectSystemProps, useCopy, viewProps } from '../utils';
13
- import { useViewport } from '../ViewportProvider';
14
- import { useTheme, useThemeTokens } from '../ThemeProvider';
15
- import Typography from '../Typography';
16
- import Icon from '../Icon';
17
- import OrderedList from '../OrderedList';
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs, viewProps]);
20
- const selectFootnoteStyle = _ref => {
21
- let {
22
- screenHeight,
23
- footnoteBackground,
24
- isVisible,
25
- footnoteBorderTopSizeMd,
26
- footnoteBorderColorMd
27
- } = _ref;
28
- return {
29
- left: 0,
30
- backgroundColor: footnoteBackground,
31
- display: isVisible ? 'flex' : 'none',
32
- height: screenHeight,
33
- borderTopColor: footnoteBorderColorMd,
34
- borderTopWidth: footnoteBorderTopSizeMd
35
- };
36
- };
37
- const selectFootnoteHeaderContentStyle = _ref2 => {
38
- let {
39
- footnoteHeaderPaddingTop,
40
- footnoteHeaderPaddingBottom,
41
- footnoteHeaderPaddingRight,
42
- footnoteHeaderPaddingLeft,
43
- headerMargin
44
- } = _ref2;
45
- return {
46
- paddingTop: footnoteHeaderPaddingTop,
47
- paddingBottom: footnoteHeaderPaddingBottom,
48
- paddingRight: footnoteHeaderPaddingRight,
49
- paddingLeft: footnoteHeaderPaddingLeft,
50
- marginRight: headerMargin
51
- };
52
- };
53
- const selectFootnoteCloseButtonStyle = _ref3 => {
54
- let {
55
- closeButtonBorderSize,
56
- closeButtonBorderColor,
57
- closeButtonHeight,
58
- closeButtonBackgroundColor,
59
- closeButtonMarginTop,
60
- closeButtonMarginRight,
61
- closeButtonMarginBottom,
62
- closeButtonMarginLeft,
63
- closeButtonWidth
64
- } = _ref3;
65
- return {
66
- backgroundColor: closeButtonBackgroundColor,
67
- borderWidth: closeButtonBorderSize,
68
- borderColor: closeButtonBorderColor,
69
- height: closeButtonHeight,
70
- marginTop: closeButtonMarginTop,
71
- marginRight: closeButtonMarginRight,
72
- marginBottom: closeButtonMarginBottom,
73
- marginLeft: closeButtonMarginLeft,
74
- width: closeButtonWidth
75
- };
76
- };
77
- const selectFootnoteBodyStyle = _ref4 => {
78
- let {
79
- maxWidth,
80
- footnoteBodyBackground,
81
- footnoteBodyPaddingTop,
82
- footnoteBodyPaddingRight,
83
- footnoteBodyPaddingBottom,
84
- footnoteBodyPaddingLeft,
85
- screenWidth
86
- } = _ref4;
87
- return {
88
- maxWidth,
89
- backgroundColor: footnoteBodyBackground,
90
- paddingTop: footnoteBodyPaddingTop,
91
- paddingRight: footnoteBodyPaddingRight * 2,
92
- paddingBottom: footnoteBodyPaddingBottom,
93
- paddingLeft: footnoteBodyPaddingLeft,
94
- width: screenWidth
95
- };
96
- };
97
- const selectCustomContentFontStyle = _ref5 => {
98
- let {
99
- listItemColor,
100
- listItemFontSize,
101
- listItemLineHeight,
102
- listItemPaddingLeft,
103
- listItemFontName,
104
- listItemFontWeight
105
- } = _ref5;
106
- return {
107
- fontSize: listItemFontSize,
108
- lineHeight: listItemLineHeight * listItemFontSize,
109
- paddingLeft: listItemPaddingLeft,
110
- color: listItemColor,
111
- fontName: listItemFontName,
112
- fontWeight: listItemFontWeight
113
- };
114
- };
115
-
116
- /**
117
- * Use `Footnote` to display a single legal content.
118
- *
119
- * ## Usage Criteria
120
- *
121
- * - Use `Footnote` to display a single legal statement
122
- * - Display on top of all UI, including other sticky elements such as Cart Summary
123
- * - Dismiss by clicking on the close button, clicking anywhere outside of the `Footnote`
124
- * - Use copy to set language, ‘en’ for English or ‘fr’ for French
125
- *
126
- * ## Accessibility requirements
127
- *
128
- * - Only one instance of `Footnote` should display at a time
129
- * - Place `Footnote` as the last element in the body or main
130
- * - When `Footnote` is open, the inert prop must be set on all children of body excluding the Footnote
131
- * - When `Footnote` is closed, focus must return to the initiating element
132
- */
133
- const Footnote = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
134
- let {
135
- copy = 'en',
136
- number = undefined,
137
- content = undefined,
138
- onClose,
139
- isOpen = false,
140
- tokens,
141
- variant = {},
142
- dictionary = defaultDictionary,
143
- ...rest
144
- } = _ref6;
145
- const viewport = useViewport();
146
- const themeTokens = useThemeTokens('Footnote', tokens, variant, {
147
- viewport
148
- });
149
- const themeOptions = useTheme();
150
- const getCopy = useCopy({
151
- dictionary,
152
- copy
153
- });
154
- const [isVisible, setIsVisible] = React.useState(false);
155
- const screenHeight = Dimensions.get('screen').height;
156
- const screenWidth = Dimensions.get('screen').width;
157
- const getFootnoteBodyContent = React.useCallback(() => {
158
- if (!number || !content) {
159
- return null;
160
- }
161
- if (/*#__PURE__*/React.isValidElement(content)) {
162
- return /*#__PURE__*/_jsx(View, {
163
- style: selectCustomContentFontStyle(themeTokens),
164
- children: content
165
- });
166
- }
167
- return /*#__PURE__*/_jsx(OrderedList, {
168
- start: number,
169
- children: /*#__PURE__*/_jsx(OrderedList.Item, {
170
- children: /*#__PURE__*/_jsx(Text, {
171
- style: selectCustomContentFontStyle(themeTokens),
172
- children: content
173
- })
174
- }, number)
175
- });
176
- }, [content, number, themeTokens]);
177
- React.useEffect(() => {
178
- if (isOpen) {
179
- setIsVisible(true);
180
- }
181
- }, [isOpen]);
182
- const closeFootnote = React.useCallback((event, options) => {
183
- onClose(event, options);
184
- setIsVisible(false);
185
- }, [onClose]);
186
- const handleClose = event => closeFootnote(event, {
187
- returnFocus: true
188
- });
189
- return /*#__PURE__*/_jsx(View, {
190
- ...selectProps(rest),
191
- ref: ref,
192
- children: /*#__PURE__*/_jsx(Modal, {
193
- visible: isVisible,
194
- animationType: "slide",
195
- children: /*#__PURE__*/_jsx(SafeAreaView, {
196
- style: staticStyles.container,
197
- children: /*#__PURE__*/_jsx(ScrollView, {
198
- style: selectFootnoteStyle({
199
- screenHeight,
200
- isVisible,
201
- ...themeTokens
202
- }),
203
- children: /*#__PURE__*/_jsxs(View, {
204
- style: staticStyles.content,
205
- children: [/*#__PURE__*/_jsxs(View, {
206
- style: [selectFootnoteHeaderContentStyle(themeTokens), staticStyles.headerContent],
207
- children: [/*#__PURE__*/_jsx(Typography, {
208
- tokens: {
209
- fontSize: themeTokens === null || themeTokens === void 0 ? void 0 : themeTokens.headerFontSize,
210
- lineHeight: themeTokens === null || themeTokens === void 0 ? void 0 : themeTokens.headerLineHeight
211
- },
212
- variant: {
213
- size: 'h4'
214
- },
215
- children: getCopy('heading')
216
- }), /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
217
- onPress: handleClose,
218
- accessibilityLabel: getCopy('close'),
219
- children: /*#__PURE__*/_jsx(View, {
220
- style: [selectFootnoteCloseButtonStyle(themeTokens), staticStyles.closeButton],
221
- children: /*#__PURE__*/_jsx(Icon, {
222
- icon: themeTokens === null || themeTokens === void 0 ? void 0 : themeTokens.closeIcon,
223
- tokens: {
224
- size: themeTokens === null || themeTokens === void 0 ? void 0 : themeTokens.closeButtonIconSize
225
- }
226
- })
227
- })
228
- })]
229
- }), /*#__PURE__*/_jsx(View, {
230
- style: selectFootnoteBodyStyle({
231
- maxWidth: themeOptions.contentMaxWidth,
232
- screenWidth,
233
- ...themeTokens
234
- }),
235
- children: getFootnoteBodyContent()
236
- })]
237
- })
238
- })
239
- })
240
- })
241
- });
242
- });
243
- Footnote.displayName = 'Footnote';
244
- const copyShape = PropTypes.shape({
245
- close: PropTypes.string.isRequired,
246
- heading: PropTypes.string.isRequired
247
- });
248
-
249
- // If a language dictionary entry is provided, it must contain every key
250
- const dictionaryContentShape = PropTypes.shape({
251
- a11yLabel: PropTypes.string.isRequired,
252
- close: PropTypes.string.isRequired,
253
- heading: PropTypes.string.isRequired
254
- });
255
- Footnote.propTypes = {
256
- ...selectedSystemPropTypes,
257
- tokens: getTokensPropType('Footnote'),
258
- /**
259
- * The content.
260
- */
261
- content: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
262
- /**
263
- * Use the `copy` prop to either select provided English or French copy by passing 'en' or 'fr' respectively.
264
- * To provide your own, pass a JSON object with the keys `heading` and `close`.
265
- */
266
- copy: PropTypes.oneOfType([PropTypes.oneOf(['en', 'fr']), copyShape]),
267
- /**
268
- * A boolean flag used hide or show the `Footnote`. Set to `true` to open the `Footnote`.
269
- */
270
- isOpen: PropTypes.bool,
271
- /**
272
- * The number, must match the number of the `FootnoteLink` that initiated the `Footnote`.
273
- */
274
- number: PropTypes.number,
275
- /**
276
- * A callback function to handle the closing of the footnote.
277
- *
278
- * @param {SyntheticEvent} event The React `SyntheticEvent`
279
- * @param {Object} options Custom options
280
- * @param {boolean} options.returnFocus Should the `Footnote` return focus on close
281
- */
282
- onClose: PropTypes.func.isRequired,
283
- /**
284
- * Override the default dictionary, by passing the complete dictionary object for `en` and `fr`
285
- */
286
- dictionary: PropTypes.shape({
287
- en: dictionaryContentShape,
288
- fr: dictionaryContentShape
289
- })
290
- };
291
- export default Footnote;
292
- const staticStyles = StyleSheet.create({
293
- container: {
294
- flex: 1
295
- },
296
- content: {
297
- marginLeft: 'auto',
298
- marginRight: 'auto',
299
- left: 0,
300
- right: 0,
301
- maxWidth: 1200,
302
- paddingBottom: 100
303
- },
304
- headerContent: {
305
- alignItems: 'center',
306
- display: 'flex',
307
- flexDirection: 'row',
308
- justifyContent: 'space-between'
309
- },
310
- closeButton: {
311
- alignItems: 'center',
312
- borderRadius: 50,
313
- display: 'flex',
314
- justifyContent: 'center'
315
- }
316
- });
@@ -1,168 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import Platform from "react-native-web/dist/exports/Platform";
4
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
5
- import View from "react-native-web/dist/exports/View";
6
- import { validateThemeTokens, resolveThemeTokens } from '../ThemeProvider';
7
- import { a11yProps, getTokensSetPropType, selectSystemProps, selectTokens, viewProps } from '../utils';
8
- import ScrollViewEnd from './ScrollViewEnd';
9
- import { getItemPositionScrollTarget, itemPositionsPropType } from './itemPositions';
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
12
- const tokenKeys = ['nextIcon', 'previousIcon', 'gutter', 'borderBottomWidth', 'borderBottomColor', 'buttonClearance'];
13
- export const selectHorizontalScrollTokens = (themeTokens, prefix) => selectTokens(tokenKeys, themeTokens, prefix);
14
- const selectBorderStyles = (borderBottomWidth, borderBottomColor) => ({
15
- borderBottomWidth,
16
- borderBottomColor
17
- });
18
-
19
- /**
20
- * Base component that scrolls horizontally and displays left and right buttons if
21
- * there is content to the left and the right which can be scrolled to.
22
- *
23
- * @TODO revisit `ScrollButton` after IconButton is stable.
24
- */
25
- const HorizontalScroll = /*#__PURE__*/React.forwardRef((_ref, ref) => {
26
- let {
27
- ScrollButton,
28
- tokens,
29
- itemPositions,
30
- children,
31
- ...rest
32
- } = _ref;
33
- const {
34
- nextIcon,
35
- previousIcon,
36
- gutter,
37
- borderBottomWidth,
38
- borderBottomColor,
39
- buttonClearance = 0
40
- } = validateThemeTokens(resolveThemeTokens(tokens),
41
- // Allow missing icons
42
- getTokensSetPropType(tokenKeys, {
43
- partial: true
44
- }), 'HorizontalScroll');
45
- const [containerWidth, setContainerWidth] = React.useState(0);
46
- const [contentWidth, setContentWidth] = React.useState(0);
47
- const handleContentWidth = width => setContentWidth(width);
48
- const handleContainerLayout = _ref2 => {
49
- let {
50
- nativeEvent: {
51
- layout: {
52
- width
53
- }
54
- }
55
- } = _ref2;
56
- return setContainerWidth(width);
57
- };
58
-
59
- // Update the scroll position only when scrolling actions ends to minimally rerender
60
- // and update which buttons are conditionally rendered.
61
- const [scrollOffset, setScrollOffset] = React.useState(0);
62
- const handleScrollEnd = _ref3 => {
63
- let {
64
- nativeEvent: {
65
- contentOffset: {
66
- x
67
- }
68
- }
69
- } = _ref3;
70
- setScrollOffset(x);
71
- };
72
- const scrollMax = Math.max(0, contentWidth - containerWidth);
73
- const showNextButton = scrollOffset < scrollMax;
74
- const showPreviousButton = scrollOffset > 0;
75
- const scrollRef = React.useRef(null);
76
- const scrollTo = targetX => {
77
- var _scrollRef$current;
78
- if (typeof ((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTo) === 'function') {
79
- const x = getItemPositionScrollTarget(targetX, scrollMax, itemPositions.positions, buttonClearance);
80
- scrollRef.current.scrollTo({
81
- x,
82
- animated: true
83
- });
84
- if (Platform.OS === 'android') {
85
- // React Native calls onScrollMomentumEnd after scrollTo for iOS, but not Android.
86
- // See https://github.com/facebook/react-native/issues/26661
87
- // There's also no callback for when scrollTo finishes.
88
- setTimeout(() => setScrollOffset(x), 300);
89
- }
90
- }
91
- };
92
- // Make scrollTo and relevant co-ordinates available to any component with an interest in itemPositions.
93
- // ItemPositions is a mutable ref object intended to have its properties mutated without any rerenders.
94
- /* eslint-disable-next-line no-param-reassign */
95
- itemPositions.scrollTo = scrollTo;
96
- /* eslint-disable-next-line no-param-reassign */
97
- itemPositions.containerWidth = containerWidth;
98
- /* eslint-disable-next-line no-param-reassign */
99
- itemPositions.contentWidth = contentWidth;
100
- /* eslint-disable-next-line no-param-reassign */
101
- itemPositions.scrollOffset = scrollOffset;
102
- const hasWidths = itemPositions.contentWidth > 0;
103
- React.useEffect(() => {
104
- if (hasWidths) itemPositions.setIsReady(true);
105
- // itemPositions is a ref object so this should occur only when elements' widths are set in state
106
- }, [hasWidths, itemPositions]);
107
-
108
- // When scrolling, allow clearance around scroll buttons, so e.g. this...
109
- // (<-) Item 5 Item 6 Item 7 Item 8 It(->)
110
- // ...doesn't scroll like this with Item 9 never being properly visible:
111
- // (<-)em 9 Item 10 Item 11 Item 12 Item (->)
112
- const scrollDistance = containerWidth - buttonClearance * 2;
113
- const scrollNext = () => scrollTo(scrollOffset + scrollDistance);
114
- const scrollPrevious = () => scrollTo(scrollOffset - scrollDistance);
115
-
116
- // On Web, being scrollable in one direction prevents overflow: visible in the other direction.
117
- // Apply a fixed margin gutter that tab highlight effects can overhang without getting trimmed.
118
- return /*#__PURE__*/_jsxs(View, {
119
- ref: ref,
120
- style: staticStyles.container,
121
- children: [/*#__PURE__*/_jsx(View, {
122
- style: selectBorderStyles(borderBottomWidth, borderBottomColor),
123
- children: /*#__PURE__*/_jsx(ScrollViewEnd, {
124
- onScrollEnd: handleScrollEnd,
125
- ref: scrollRef,
126
- horizontal: true,
127
- onContentSizeChange: handleContentWidth,
128
- onLayout: handleContainerLayout,
129
- showsHorizontalScrollIndicator: false,
130
- contentContainerStyle: staticStyles.scrollContainer,
131
- ...selectProps(rest),
132
- children: children
133
- })
134
- }), showPreviousButton && /*#__PURE__*/_jsx(ScrollButton, {
135
- icon: previousIcon,
136
- onPress: scrollPrevious,
137
- offset: gutter,
138
- direction: "previous"
139
- }), showNextButton && /*#__PURE__*/_jsx(ScrollButton, {
140
- icon: nextIcon,
141
- onPress: scrollNext,
142
- offset: gutter,
143
- direction: "next"
144
- })]
145
- });
146
- });
147
- HorizontalScroll.displayName = 'HorizontalScroll';
148
- const staticStyles = StyleSheet.create({
149
- scrollContainer: {
150
- // Gives inner container width from content, allowing it to exceed its container's width
151
- alignSelf: 'flex-start',
152
- flexGrow: 1
153
- },
154
- container: {
155
- // Vertically center the ScrollButtons buttons
156
- justifyContent: 'center'
157
- }
158
- });
159
- HorizontalScroll.propTypes = {
160
- ...selectedSystemPropTypes,
161
- itemPositions: itemPositionsPropType,
162
- ScrollButton: PropTypes.elementType,
163
- tokens: getTokensSetPropType(tokenKeys, {
164
- allowFunction: true
165
- }),
166
- children: PropTypes.node
167
- };
168
- export default HorizontalScroll;
package/lib/Icon/Icon.js DELETED
@@ -1,94 +0,0 @@
1
- import React from 'react';
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import View from "react-native-web/dist/exports/View";
4
- import PropTypes from 'prop-types';
5
- import { useThemeTokens } from '../ThemeProvider';
6
- import { getTokensPropType, scaleWithText, variantProp } from '../utils';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- const Icon = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9
- let {
10
- icon: IconComponent,
11
- accessibilityLabel,
12
- variant,
13
- tokens,
14
- scalesWithText = false,
15
- style = {},
16
- dataSet
17
- } = _ref;
18
- const themeTokens = useThemeTokens('Icon', tokens, variant);
19
- const size = scalesWithText ? scaleWithText(themeTokens.size) : themeTokens.size;
20
- const iconContent = /*#__PURE__*/_jsx(IconComponent, {
21
- title: accessibilityLabel,
22
- size: size,
23
- color: themeTokens.color
24
- });
25
- const paddingStyles = variant !== null && variant !== void 0 && variant.padding ? {
26
- padding: themeTokens.width,
27
- width: themeTokens.size + themeTokens.width * 2,
28
- // sets the diameter of the circle which is the size of the icon plus twice the general padding established to obtain a perfect circle
29
- height: themeTokens.size + themeTokens.width * 2
30
- } : {};
31
- const getIconContentForMobile = () => {
32
- if (Object.keys(paddingStyles).length) {
33
- return /*#__PURE__*/_jsx(View, {
34
- style: {
35
- backgroundColor: themeTokens.backgroundColor,
36
- borderRadius: themeTokens.borderRadius,
37
- ...paddingStyles
38
- },
39
- children: iconContent
40
- });
41
- }
42
- return iconContent;
43
- };
44
- return Platform.OS === 'web' ? /*#__PURE__*/_jsx(View, {
45
- ref: ref
46
- // eslint-disable-next-line react-native/no-inline-styles
47
- ,
48
- style: {
49
- // TODO: systematise animations.
50
- // https://github.com/telus/universal-design-system/issues/487
51
- transition: 'transform 200ms, color 200ms',
52
- transform: [themeTokens.scale ? `scale(${themeTokens.scale})` : '', themeTokens.translateX ? `translateX(${themeTokens.translateX}px)` : '', themeTokens.translateY ? `translateY(${themeTokens.translateY}px)` : ''].filter(exists => exists).join(' '),
53
- ...style,
54
- backgroundColor: themeTokens.backgroundColor,
55
- borderRadius: themeTokens.borderRadius,
56
- paddingTop: themeTokens.paddingTop,
57
- ...paddingStyles
58
- },
59
- dataSet: dataSet,
60
- children: iconContent
61
- }) : getIconContentForMobile();
62
- });
63
- Icon.displayName = 'Icon';
64
- export const iconComponentPropTypes = {
65
- variant: variantProp.propType,
66
- tokens: getTokensPropType('Icon'),
67
- /**
68
- * Descriptive label used in web SVG title tag for accessibility
69
- */
70
- accessibilityLabel: PropTypes.string,
71
- /**
72
- * controls whether the icon size should be proportionate to any accessibility-related font scaling.
73
- */
74
- scalesWithText: PropTypes.bool,
75
- /**
76
- * Custom style object to be applied to the icon component.
77
- * This is useful for overriding the default icon style but for cases where desires styles are not available as tokens.
78
- *
79
- * Note: This prop is only used in web.
80
- *
81
- * @example
82
- * <Icon style={{ color: 'red' }}
83
- */
84
- style: PropTypes.object
85
- };
86
- Icon.propTypes = {
87
- ...iconComponentPropTypes,
88
- /**
89
- * A valid UDS icon component imported from a UDS palette
90
- * (e.g.) `import { MyIcon } from @telus-uds/palette-<brand>/build/web/icons`
91
- */
92
- icon: PropTypes.elementType.isRequired
93
- };
94
- export default Icon;
@@ -1,111 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import Platform from "react-native-web/dist/exports/Platform";
4
- import View from "react-native-web/dist/exports/View";
5
- import Text from "react-native-web/dist/exports/Text";
6
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
7
- import Icon, { iconComponentPropTypes } from './Icon';
8
- import { getStackedContent } from '../StackView';
9
- import { spacingProps } from '../utils';
10
-
11
- /**
12
- * Returns an icon and some text with a sized gap between them. This is a utility component
13
- * intended for use when creating components, not intended for use in applications on its own.
14
- *
15
- * IconText does not wrap its children, so should be used either:
16
- * - inline within a <Text> element
17
- * - within a container with `flexDirection: 'row'`
18
- */
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- const IconText = /*#__PURE__*/React.forwardRef((_ref, ref) => {
21
- var _iconProps$tokens, _iconProps$tokens2;
22
- let {
23
- space,
24
- iconPosition = 'left',
25
- icon: IconComponent,
26
- iconProps,
27
- children
28
- } = _ref;
29
- const iconContent = IconComponent && /*#__PURE__*/_jsx(Icon, {
30
- ref: ref,
31
- icon: IconComponent,
32
- scalesWithText: true,
33
- ...iconProps
34
- });
35
-
36
- // Inline images on Android are always baseline-aligned which makes them look misaligned - offset it.
37
- // See abandoned issue https://github.com/facebook/react-native/issues/6529
38
- const size = (iconProps === null || iconProps === void 0 || (_iconProps$tokens = iconProps.tokens) === null || _iconProps$tokens === void 0 ? void 0 : _iconProps$tokens.size) ?? 0;
39
- const valueTranslateY = iconProps === null || iconProps === void 0 || (_iconProps$tokens2 = iconProps.tokens) === null || _iconProps$tokens2 === void 0 ? void 0 : _iconProps$tokens2.translateY;
40
- /**
41
- * These calculations were carried out using a set of linear equations to calculate that the
42
- * position of the icon "->"" is aligned to the first line of the tooltip text on IOS and Android.
43
- * The issue was mainly on IOS, the translateY style didn't match with the old calculations.
44
- */
45
- const resultY = valueTranslateY ? Math.floor(-1 * (valueTranslateY - 4)) : 0;
46
- const iconAdjustedAndroid = /*#__PURE__*/_jsx(View, {
47
- style: {
48
- transform: [{
49
- translateY: valueTranslateY ? size * 0.2 : size * 0.01
50
- }]
51
- },
52
- children: iconContent
53
- });
54
- const iconAdjustedIOS = /*#__PURE__*/_jsx(View, {
55
- style: {
56
- transform: [{
57
- translateY: valueTranslateY ? resultY : size * 0.01
58
- }]
59
- },
60
- children: iconContent
61
- });
62
- const mobile = Platform.OS === 'android' ? iconAdjustedAndroid : iconAdjustedIOS;
63
- const adjustedContainer = Platform.OS === 'web' ? iconContent : mobile;
64
- const adjustedContainerWithPosition = /*#__PURE__*/_jsx(View, {
65
- style: staticStyles.adjustedContainer,
66
- children: adjustedContainer
67
- });
68
- if (iconPosition === 'inline') {
69
- return /*#__PURE__*/_jsxs(Text, {
70
- children: [children, " ", adjustedContainerWithPosition]
71
- });
72
- }
73
- return getStackedContent(iconPosition === 'left' ? [adjustedContainer, children] : [children, adjustedContainer], {
74
- space,
75
- direction: 'row'
76
- });
77
- });
78
- IconText.displayName = 'IconText';
79
- IconText.propTypes = {
80
- /**
81
- * Amount of space to separate the text content and icon. Uses the themes's spacing scale
82
- * (see useSpacingScale for more info).
83
- */
84
- space: spacingProps.types.spacingValue,
85
- /**
86
- * Whether the icon should be to the left of the content, the right of the content or inline with the content.
87
- */
88
- iconPosition: PropTypes.oneOf(['left', 'right', 'inline']),
89
- /**
90
- * A valid UDS icon component imported from a UDS palette.
91
- */
92
- icon: PropTypes.elementType,
93
- /**
94
- * Props that will be passed to the icon component. By default the icon's `scalesWithText`
95
- * prop will be set as "true" so that the icon continues to match the size of the text
96
- * if users use accessibility settings to increase text size.
97
- */
98
- iconProps: PropTypes.exact(iconComponentPropTypes),
99
- /**
100
- * Content to be rendered alongside the Icon component. Usually this should be a
101
- * `<Typography>` component, or a component that renders `<Text>`.
102
- */
103
- children: PropTypes.node
104
- /* eslint-enable react/no-unused-prop-types */
105
- };
106
- const staticStyles = StyleSheet.create({
107
- adjustedContainer: {
108
- position: 'absolute'
109
- }
110
- });
111
- export default IconText;