@telus-uds/components-base 2.5.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 (744) hide show
  1. package/CHANGELOG.md +20 -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/{Carousel → esm/Carousel}/Carousel.js +166 -107
  371. package/lib/{Carousel → esm/Carousel}/CarouselItem/CarouselItem.js +23 -6
  372. package/lib/esm/Carousel/Constants.js +7 -0
  373. package/lib/{TextInput → esm/TextInput}/TextInputBase.js +30 -1
  374. package/lib/package.json +88 -0
  375. package/package.json +13 -11
  376. package/src/Carousel/Carousel.jsx +228 -155
  377. package/src/Carousel/CarouselItem/CarouselItem.jsx +14 -4
  378. package/src/Carousel/Constants.js +4 -0
  379. package/src/TextInput/TextInputBase.jsx +30 -1
  380. package/lib/Carousel/Constants.js +0 -3
  381. /package/lib/{A11yInfoProvider → esm/A11yInfoProvider}/index.js +0 -0
  382. /package/lib/{A11yText → esm/A11yText}/index.js +0 -0
  383. /package/lib/{ActionCard → esm/ActionCard}/ActionCard.js +0 -0
  384. /package/lib/{ActionCard → esm/ActionCard}/index.js +0 -0
  385. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.js +0 -0
  386. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.native.js +0 -0
  387. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/index.js +0 -0
  388. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/shared.js +0 -0
  389. /package/lib/{Autocomplete → esm/Autocomplete}/Autocomplete.js +0 -0
  390. /package/lib/{Autocomplete → esm/Autocomplete}/Loading.js +0 -0
  391. /package/lib/{Autocomplete → esm/Autocomplete}/Suggestions.js +0 -0
  392. /package/lib/{Autocomplete → esm/Autocomplete}/constants.js +0 -0
  393. /package/lib/{Autocomplete → esm/Autocomplete}/dictionary.js +0 -0
  394. /package/lib/{Autocomplete → esm/Autocomplete}/index.js +0 -0
  395. /package/lib/{Badge → esm/Badge}/Badge.js +0 -0
  396. /package/lib/{Badge → esm/Badge}/index.js +0 -0
  397. /package/lib/{BaseProvider → esm/BaseProvider}/HydrationContext.js +0 -0
  398. /package/lib/{BaseProvider → esm/BaseProvider}/index.js +0 -0
  399. /package/lib/{Box → esm/Box}/Box.js +0 -0
  400. /package/lib/{Box → esm/Box}/backgroundImageStylesMap.js +0 -0
  401. /package/lib/{Box → esm/Box}/index.js +0 -0
  402. /package/lib/{Button → esm/Button}/Button.js +0 -0
  403. /package/lib/{Button → esm/Button}/ButtonBase.js +0 -0
  404. /package/lib/{Button → esm/Button}/ButtonDropdown.js +0 -0
  405. /package/lib/{Button → esm/Button}/ButtonGroup.js +0 -0
  406. /package/lib/{Button → esm/Button}/ButtonLink.js +0 -0
  407. /package/lib/{Button → esm/Button}/index.js +0 -0
  408. /package/lib/{Button → esm/Button}/propTypes.js +0 -0
  409. /package/lib/{Card → esm/Card}/Card.js +0 -0
  410. /package/lib/{Card → esm/Card}/CardBase.js +0 -0
  411. /package/lib/{Card → esm/Card}/PressableCardBase.js +0 -0
  412. /package/lib/{Card → esm/Card}/index.js +0 -0
  413. /package/lib/{CardGroup → esm/CardGroup}/CardGroup.js +0 -0
  414. /package/lib/{CardGroup → esm/CardGroup}/dictionary.js +0 -0
  415. /package/lib/{CardGroup → esm/CardGroup}/index.js +0 -0
  416. /package/lib/{Carousel → esm/Carousel}/CarouselContext.js +0 -0
  417. /package/lib/{Carousel → esm/Carousel}/CarouselFirstFocus/CarouselFirstFocus.js +0 -0
  418. /package/lib/{Carousel → esm/Carousel}/CarouselItem/index.js +0 -0
  419. /package/lib/{Carousel → esm/Carousel}/CarouselStepTracker/CarouselStepTracker.js +0 -0
  420. /package/lib/{Carousel → esm/Carousel}/CarouselStepTracker/index.js +0 -0
  421. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/CarouselTabs.js +0 -0
  422. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/CarouselTabsPanel.js +0 -0
  423. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/CarouselTabsPanelItem.js +0 -0
  424. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/index.js +0 -0
  425. /package/lib/{Carousel → esm/Carousel}/CarouselThumbnail.js +0 -0
  426. /package/lib/{Carousel → esm/Carousel}/CarouselThumbnailNavigation.js +0 -0
  427. /package/lib/{Carousel → esm/Carousel}/dictionary.js +0 -0
  428. /package/lib/{Carousel → esm/Carousel}/index.js +0 -0
  429. /package/lib/{Checkbox → esm/Checkbox}/Checkbox.js +0 -0
  430. /package/lib/{Checkbox → esm/Checkbox}/CheckboxButton.js +0 -0
  431. /package/lib/{Checkbox → esm/Checkbox}/CheckboxGroup.js +0 -0
  432. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.js +0 -0
  433. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.native.js +0 -0
  434. /package/lib/{Checkbox → esm/Checkbox}/index.js +0 -0
  435. /package/lib/{CheckboxCard → esm/CheckboxCard}/CheckboxCard.js +0 -0
  436. /package/lib/{CheckboxCard → esm/CheckboxCard}/index.js +0 -0
  437. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/CheckboxCardGroup.js +0 -0
  438. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/index.js +0 -0
  439. /package/lib/{ColourToggle → esm/ColourToggle}/ColourBubble.js +0 -0
  440. /package/lib/{ColourToggle → esm/ColourToggle}/ColourToggle.js +0 -0
  441. /package/lib/{ColourToggle → esm/ColourToggle}/index.js +0 -0
  442. /package/lib/{Divider → esm/Divider}/Divider.js +0 -0
  443. /package/lib/{Divider → esm/Divider}/index.js +0 -0
  444. /package/lib/{DownloadApp → esm/DownloadApp}/DownloadApp.js +0 -0
  445. /package/lib/{DownloadApp → esm/DownloadApp}/dictionary.js +0 -0
  446. /package/lib/{DownloadApp → esm/DownloadApp}/index.js +0 -0
  447. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Accordion.js +0 -0
  448. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Control.js +0 -0
  449. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/ExpandCollapse.js +0 -0
  450. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Panel.js +0 -0
  451. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/dictionary.js +0 -0
  452. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/index.js +0 -0
  453. /package/lib/{ExpandCollapseMini → esm/ExpandCollapseMini}/ExpandCollapseMini.js +0 -0
  454. /package/lib/{ExpandCollapseMini → esm/ExpandCollapseMini}/ExpandCollapseMiniControl.js +0 -0
  455. /package/lib/{ExpandCollapseMini → esm/ExpandCollapseMini}/index.js +0 -0
  456. /package/lib/{Feedback → esm/Feedback}/Feedback.js +0 -0
  457. /package/lib/{Feedback → esm/Feedback}/index.js +0 -0
  458. /package/lib/{Fieldset → esm/Fieldset}/Fieldset.js +0 -0
  459. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.js +0 -0
  460. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.native.js +0 -0
  461. /package/lib/{Fieldset → esm/Fieldset}/Legend.js +0 -0
  462. /package/lib/{Fieldset → esm/Fieldset}/Legend.native.js +0 -0
  463. /package/lib/{Fieldset → esm/Fieldset}/cssReset.js +0 -0
  464. /package/lib/{Fieldset → esm/Fieldset}/index.js +0 -0
  465. /package/lib/{FileUpload → esm/FileUpload}/FileUpload.js +0 -0
  466. /package/lib/{FileUpload → esm/FileUpload}/NotificationContent.js +0 -0
  467. /package/lib/{FileUpload → esm/FileUpload}/dictionary.js +0 -0
  468. /package/lib/{FileUpload → esm/FileUpload}/index.js +0 -0
  469. /package/lib/{FlexGrid → esm/FlexGrid}/Col/Col.js +0 -0
  470. /package/lib/{FlexGrid → esm/FlexGrid}/Col/index.js +0 -0
  471. /package/lib/{FlexGrid → esm/FlexGrid}/FlexGrid.js +0 -0
  472. /package/lib/{FlexGrid → esm/FlexGrid}/Row/Row.js +0 -0
  473. /package/lib/{FlexGrid → esm/FlexGrid}/Row/index.js +0 -0
  474. /package/lib/{FlexGrid → esm/FlexGrid}/helpers/index.js +0 -0
  475. /package/lib/{FlexGrid → esm/FlexGrid}/index.js +0 -0
  476. /package/lib/{FlexGrid → esm/FlexGrid}/providers/GutterContext.js +0 -0
  477. /package/lib/{Footnote → esm/Footnote}/Footnote.js +0 -0
  478. /package/lib/{Footnote → esm/Footnote}/FootnoteLink.js +0 -0
  479. /package/lib/{Footnote → esm/Footnote}/dictionary.js +0 -0
  480. /package/lib/{Footnote → esm/Footnote}/index.js +0 -0
  481. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/HorizontalScroll.js +0 -0
  482. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/HorizontalScrollButton.js +0 -0
  483. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.js +0 -0
  484. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.native.js +0 -0
  485. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/dictionary.js +0 -0
  486. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/index.js +0 -0
  487. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/itemPositions.js +0 -0
  488. /package/lib/{Icon → esm/Icon}/Icon.js +0 -0
  489. /package/lib/{Icon → esm/Icon}/IconText.js +0 -0
  490. /package/lib/{Icon → esm/Icon}/index.js +0 -0
  491. /package/lib/{IconButton → esm/IconButton}/IconButton.js +0 -0
  492. /package/lib/{IconButton → esm/IconButton}/index.js +0 -0
  493. /package/lib/{InputLabel → esm/InputLabel}/InputLabel.js +0 -0
  494. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.js +0 -0
  495. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.native.js +0 -0
  496. /package/lib/{InputLabel → esm/InputLabel}/index.js +0 -0
  497. /package/lib/{InputSupports → esm/InputSupports}/InputSupports.js +0 -0
  498. /package/lib/{InputSupports → esm/InputSupports}/dictionary.js +0 -0
  499. /package/lib/{InputSupports → esm/InputSupports}/index.js +0 -0
  500. /package/lib/{InputSupports → esm/InputSupports}/useInputSupports.js +0 -0
  501. /package/lib/{Link → esm/Link}/ChevronLink.js +0 -0
  502. /package/lib/{Link → esm/Link}/InlinePressable.js +0 -0
  503. /package/lib/{Link → esm/Link}/InlinePressable.native.js +0 -0
  504. /package/lib/{Link → esm/Link}/Link.js +0 -0
  505. /package/lib/{Link → esm/Link}/LinkBase.js +0 -0
  506. /package/lib/{Link → esm/Link}/TextButton.js +0 -0
  507. /package/lib/{Link → esm/Link}/index.js +0 -0
  508. /package/lib/{List → esm/List}/List.js +0 -0
  509. /package/lib/{List → esm/List}/ListItem.js +0 -0
  510. /package/lib/{List → esm/List}/ListItemBase.js +0 -0
  511. /package/lib/{List → esm/List}/ListItemContent.js +0 -0
  512. /package/lib/{List → esm/List}/ListItemMark.js +0 -0
  513. /package/lib/{List → esm/List}/PressableListItemBase.js +0 -0
  514. /package/lib/{List → esm/List}/index.js +0 -0
  515. /package/lib/{Listbox → esm/Listbox}/GroupControl.js +0 -0
  516. /package/lib/{Listbox → esm/Listbox}/Listbox.js +0 -0
  517. /package/lib/{Listbox → esm/Listbox}/ListboxContext.js +0 -0
  518. /package/lib/{Listbox → esm/Listbox}/ListboxGroup.js +0 -0
  519. /package/lib/{Listbox → esm/Listbox}/ListboxItem.js +0 -0
  520. /package/lib/{Listbox → esm/Listbox}/ListboxOverlay.js +0 -0
  521. /package/lib/{Listbox → esm/Listbox}/PressableItem.js +0 -0
  522. /package/lib/{Listbox → esm/Listbox}/index.js +0 -0
  523. /package/lib/{Modal → esm/Modal}/Modal.js +0 -0
  524. /package/lib/{Modal → esm/Modal}/ModalContent.js +0 -0
  525. /package/lib/{Modal → esm/Modal}/WebModal.js +0 -0
  526. /package/lib/{Modal → esm/Modal}/dictionary.js +0 -0
  527. /package/lib/{Modal → esm/Modal}/index.js +0 -0
  528. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/ModalOverlay.js +0 -0
  529. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/MultiSelectFilter.js +0 -0
  530. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/dictionary.js +0 -0
  531. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/index.js +0 -0
  532. /package/lib/{Notification → esm/Notification}/Notification.js +0 -0
  533. /package/lib/{Notification → esm/Notification}/dictionary.js +0 -0
  534. /package/lib/{Notification → esm/Notification}/index.js +0 -0
  535. /package/lib/{OrderedList → esm/OrderedList}/Item.js +0 -0
  536. /package/lib/{OrderedList → esm/OrderedList}/ItemBase.js +0 -0
  537. /package/lib/{OrderedList → esm/OrderedList}/OrderedList.js +0 -0
  538. /package/lib/{OrderedList → esm/OrderedList}/OrderedListBase.js +0 -0
  539. /package/lib/{OrderedList → esm/OrderedList}/index.js +0 -0
  540. /package/lib/{Pagination → esm/Pagination}/PageButton.js +0 -0
  541. /package/lib/{Pagination → esm/Pagination}/Pagination.js +0 -0
  542. /package/lib/{Pagination → esm/Pagination}/SideButton.js +0 -0
  543. /package/lib/{Pagination → esm/Pagination}/constants.js +0 -0
  544. /package/lib/{Pagination → esm/Pagination}/dictionary.js +0 -0
  545. /package/lib/{Pagination → esm/Pagination}/index.js +0 -0
  546. /package/lib/{Pagination → esm/Pagination}/usePagination.js +0 -0
  547. /package/lib/{Portal → esm/Portal}/Portal.js +0 -0
  548. /package/lib/{Portal → esm/Portal}/Portal.native.js +0 -0
  549. /package/lib/{Portal → esm/Portal}/index.js +0 -0
  550. /package/lib/{PriceLockup → esm/PriceLockup}/PriceLockup.js +0 -0
  551. /package/lib/{PriceLockup → esm/PriceLockup}/index.js +0 -0
  552. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderFootnoteContent.js +0 -0
  553. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderFootnoteLinks.js +0 -0
  554. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderPrice.js +0 -0
  555. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderTypography.js +0 -0
  556. /package/lib/{ProductCard → esm/ProductCard}/ProductCard.js +0 -0
  557. /package/lib/{ProductCard → esm/ProductCard}/dictionary.js +0 -0
  558. /package/lib/{ProductCard → esm/ProductCard}/index.js +0 -0
  559. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/ProductCardGroup.js +0 -0
  560. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/index.js +0 -0
  561. /package/lib/{Progress → esm/Progress}/Progress.js +0 -0
  562. /package/lib/{Progress → esm/Progress}/ProgressBar.js +0 -0
  563. /package/lib/{Progress → esm/Progress}/ProgressBarBackground.js +0 -0
  564. /package/lib/{Progress → esm/Progress}/constants.js +0 -0
  565. /package/lib/{Progress → esm/Progress}/index.js +0 -0
  566. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinks.js +0 -0
  567. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksCard.js +0 -0
  568. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksItem.js +0 -0
  569. /package/lib/{QuickLinks → esm/QuickLinks}/index.js +0 -0
  570. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/QuickLinksFeature.js +0 -0
  571. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/QuickLinksFeatureItem.js +0 -0
  572. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/index.js +0 -0
  573. /package/lib/{Radio → esm/Radio}/Radio.js +0 -0
  574. /package/lib/{Radio → esm/Radio}/RadioButton.js +0 -0
  575. /package/lib/{Radio → esm/Radio}/RadioGroup.js +0 -0
  576. /package/lib/{Radio → esm/Radio}/RadioInput.js +0 -0
  577. /package/lib/{Radio → esm/Radio}/RadioInput.native.js +0 -0
  578. /package/lib/{Radio → esm/Radio}/index.js +0 -0
  579. /package/lib/{RadioCard → esm/RadioCard}/RadioCard.js +0 -0
  580. /package/lib/{RadioCard → esm/RadioCard}/RadioCardGroup.js +0 -0
  581. /package/lib/{RadioCard → esm/RadioCard}/index.js +0 -0
  582. /package/lib/{Responsive → esm/Responsive}/Responsive.js +0 -0
  583. /package/lib/{Responsive → esm/Responsive}/ResponsiveProp.js +0 -0
  584. /package/lib/{Responsive → esm/Responsive}/ResponsiveWithMediaQueryStyleSheet.js +0 -0
  585. /package/lib/{Responsive → esm/Responsive}/index.js +0 -0
  586. /package/lib/{Search → esm/Search}/Search.js +0 -0
  587. /package/lib/{Search → esm/Search}/dictionary.js +0 -0
  588. /package/lib/{Search → esm/Search}/index.js +0 -0
  589. /package/lib/{Select → esm/Select}/Group.js +0 -0
  590. /package/lib/{Select → esm/Select}/Group.native.js +0 -0
  591. /package/lib/{Select → esm/Select}/Item.js +0 -0
  592. /package/lib/{Select → esm/Select}/Item.native.js +0 -0
  593. /package/lib/{Select → esm/Select}/Picker.js +0 -0
  594. /package/lib/{Select → esm/Select}/Picker.native.js +0 -0
  595. /package/lib/{Select → esm/Select}/Select.js +0 -0
  596. /package/lib/{Select → esm/Select}/constants.js +0 -0
  597. /package/lib/{Select → esm/Select}/index.js +0 -0
  598. /package/lib/{SideNav → esm/SideNav}/Item.js +0 -0
  599. /package/lib/{SideNav → esm/SideNav}/ItemContent.js +0 -0
  600. /package/lib/{SideNav → esm/SideNav}/ItemsGroup.js +0 -0
  601. /package/lib/{SideNav → esm/SideNav}/SideNav.js +0 -0
  602. /package/lib/{SideNav → esm/SideNav}/index.js +0 -0
  603. /package/lib/{Skeleton → esm/Skeleton}/Skeleton.js +0 -0
  604. /package/lib/{Skeleton → esm/Skeleton}/index.js +0 -0
  605. /package/lib/{Skeleton → esm/Skeleton}/skeleton.constant.js +0 -0
  606. /package/lib/{Skeleton → esm/Skeleton}/skeletonWebAnimation.js +0 -0
  607. /package/lib/{Skeleton → esm/Skeleton}/useSkeletonNativeAnimation.js +0 -0
  608. /package/lib/{SkipLink → esm/SkipLink}/SkipLink.js +0 -0
  609. /package/lib/{SkipLink → esm/SkipLink}/index.js +0 -0
  610. /package/lib/{Spacer → esm/Spacer}/Spacer.js +0 -0
  611. /package/lib/{Spacer → esm/Spacer}/index.js +0 -0
  612. /package/lib/{StackView → esm/StackView}/StackView.js +0 -0
  613. /package/lib/{StackView → esm/StackView}/StackWrap.js +0 -0
  614. /package/lib/{StackView → esm/StackView}/StackWrap.native.js +0 -0
  615. /package/lib/{StackView → esm/StackView}/StackWrapBox.js +0 -0
  616. /package/lib/{StackView → esm/StackView}/StackWrapGap.js +0 -0
  617. /package/lib/{StackView → esm/StackView}/common.js +0 -0
  618. /package/lib/{StackView → esm/StackView}/getStackedContent.js +0 -0
  619. /package/lib/{StackView → esm/StackView}/index.js +0 -0
  620. /package/lib/{Status → esm/Status}/Status.js +0 -0
  621. /package/lib/{Status → esm/Status}/index.js +0 -0
  622. /package/lib/{StepTracker → esm/StepTracker}/Step.js +0 -0
  623. /package/lib/{StepTracker → esm/StepTracker}/StepTracker.js +0 -0
  624. /package/lib/{StepTracker → esm/StepTracker}/dictionary.js +0 -0
  625. /package/lib/{StepTracker → esm/StepTracker}/index.js +0 -0
  626. /package/lib/{TabBar → esm/TabBar}/TabBar.js +0 -0
  627. /package/lib/{TabBar → esm/TabBar}/TabBarItem.js +0 -0
  628. /package/lib/{TabBar → esm/TabBar}/index.js +0 -0
  629. /package/lib/{Tabs → esm/Tabs}/Tabs.js +0 -0
  630. /package/lib/{Tabs → esm/Tabs}/TabsItem.js +0 -0
  631. /package/lib/{Tabs → esm/Tabs}/index.js +0 -0
  632. /package/lib/{Tags → esm/Tags}/Tags.js +0 -0
  633. /package/lib/{Tags → esm/Tags}/index.js +0 -0
  634. /package/lib/{TextInput → esm/TextInput}/TextArea.js +0 -0
  635. /package/lib/{TextInput → esm/TextInput}/TextInput.js +0 -0
  636. /package/lib/{TextInput → esm/TextInput}/dictionary.js +0 -0
  637. /package/lib/{TextInput → esm/TextInput}/index.js +0 -0
  638. /package/lib/{TextInput → esm/TextInput}/propTypes.js +0 -0
  639. /package/lib/{ThemeProvider → esm/ThemeProvider}/ThemeProvider.js +0 -0
  640. /package/lib/{ThemeProvider → esm/ThemeProvider}/index.js +0 -0
  641. /package/lib/{ThemeProvider → esm/ThemeProvider}/useResponsiveThemeTokens.js +0 -0
  642. /package/lib/{ThemeProvider → esm/ThemeProvider}/useSetTheme.js +0 -0
  643. /package/lib/{ThemeProvider → esm/ThemeProvider}/useTheme.js +0 -0
  644. /package/lib/{ThemeProvider → esm/ThemeProvider}/useThemeTokens.js +0 -0
  645. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/index.js +0 -0
  646. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/styles.js +0 -0
  647. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/theme-tokens.js +0 -0
  648. /package/lib/{Timeline → esm/Timeline}/Timeline.js +0 -0
  649. /package/lib/{Timeline → esm/Timeline}/index.js +0 -0
  650. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitch.js +0 -0
  651. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitchGroup.js +0 -0
  652. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/index.js +0 -0
  653. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.js +0 -0
  654. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.native.js +0 -0
  655. /package/lib/{Tooltip → esm/Tooltip}/Tooltip.js +0 -0
  656. /package/lib/{Tooltip → esm/Tooltip}/Tooltip.native.js +0 -0
  657. /package/lib/{Tooltip → esm/Tooltip}/dictionary.js +0 -0
  658. /package/lib/{Tooltip → esm/Tooltip}/getTooltipPosition.js +0 -0
  659. /package/lib/{Tooltip → esm/Tooltip}/index.js +0 -0
  660. /package/lib/{Tooltip → esm/Tooltip}/shared.js +0 -0
  661. /package/lib/{TooltipButton → esm/TooltipButton}/TooltipButton.js +0 -0
  662. /package/lib/{TooltipButton → esm/TooltipButton}/index.js +0 -0
  663. /package/lib/{Typography → esm/Typography}/Typography.js +0 -0
  664. /package/lib/{Typography → esm/Typography}/index.js +0 -0
  665. /package/lib/{Validator → esm/Validator}/Validator.js +0 -0
  666. /package/lib/{Validator → esm/Validator}/index.js +0 -0
  667. /package/lib/{ViewportProvider → esm/ViewportProvider}/ViewportProvider.js +0 -0
  668. /package/lib/{ViewportProvider → esm/ViewportProvider}/index.js +0 -0
  669. /package/lib/{ViewportProvider → esm/ViewportProvider}/useViewport.js +0 -0
  670. /package/lib/{ViewportProvider → esm/ViewportProvider}/useViewportListener.js +0 -0
  671. /package/lib/{index.js → esm/index.js} +0 -0
  672. /package/lib/{server.js → esm/server.js} +0 -0
  673. /package/lib/{utils → esm/utils}/BaseView/BaseView.js +0 -0
  674. /package/lib/{utils → esm/utils}/BaseView/BaseView.native.js +0 -0
  675. /package/lib/{utils → esm/utils}/BaseView/index.js +0 -0
  676. /package/lib/{utils → esm/utils}/a11y/index.js +0 -0
  677. /package/lib/{utils → esm/utils}/a11y/semantics.js +0 -0
  678. /package/lib/{utils → esm/utils}/a11y/textSize.js +0 -0
  679. /package/lib/{utils → esm/utils}/animation/index.js +0 -0
  680. /package/lib/{utils → esm/utils}/animation/useVerticalExpandAnimation.js +0 -0
  681. /package/lib/{utils → esm/utils}/children.js +0 -0
  682. /package/lib/{utils → esm/utils}/containUniqueFields.js +0 -0
  683. /package/lib/{utils → esm/utils}/convertFromMegaByteToByte.js +0 -0
  684. /package/lib/{utils → esm/utils}/floating-ui/index.js +0 -0
  685. /package/lib/{utils → esm/utils}/floating-ui/index.native.js +0 -0
  686. /package/lib/{utils → esm/utils}/formatImageSource.js +0 -0
  687. /package/lib/{utils → esm/utils}/hasOwnProperty.js +0 -0
  688. /package/lib/{utils → esm/utils}/htmlAttrs.js +0 -0
  689. /package/lib/{utils → esm/utils}/index.js +0 -0
  690. /package/lib/{utils → esm/utils}/info/index.js +0 -0
  691. /package/lib/{utils → esm/utils}/info/platform/index.js +0 -0
  692. /package/lib/{utils → esm/utils}/info/platform/platform.android.js +0 -0
  693. /package/lib/{utils → esm/utils}/info/platform/platform.ios.js +0 -0
  694. /package/lib/{utils → esm/utils}/info/platform/platform.js +0 -0
  695. /package/lib/{utils → esm/utils}/info/platform/platform.native.js +0 -0
  696. /package/lib/{utils → esm/utils}/info/versions.js +0 -0
  697. /package/lib/{utils → esm/utils}/input.js +0 -0
  698. /package/lib/{utils → esm/utils}/pressability.js +0 -0
  699. /package/lib/{utils → esm/utils}/props/a11yProps.js +0 -0
  700. /package/lib/{utils → esm/utils}/props/clickProps.js +0 -0
  701. /package/lib/{utils → esm/utils}/props/componentPropType.js +0 -0
  702. /package/lib/{utils → esm/utils}/props/contentfulProps.js +0 -0
  703. /package/lib/{utils → esm/utils}/props/copyPropTypes.js +0 -0
  704. /package/lib/{utils → esm/utils}/props/getPropSelector.js +0 -0
  705. /package/lib/{utils → esm/utils}/props/handlerProps.js +0 -0
  706. /package/lib/{utils → esm/utils}/props/hrefAttrsProp.js +0 -0
  707. /package/lib/{utils → esm/utils}/props/index.js +0 -0
  708. /package/lib/{utils → esm/utils}/props/inputSupportsProps.js +0 -0
  709. /package/lib/{utils → esm/utils}/props/linkProps.js +0 -0
  710. /package/lib/{utils → esm/utils}/props/paddingProp.js +0 -0
  711. /package/lib/{utils → esm/utils}/props/pressProps.js +0 -0
  712. /package/lib/{utils → esm/utils}/props/rectProp.js +0 -0
  713. /package/lib/{utils → esm/utils}/props/responsiveProps.js +0 -0
  714. /package/lib/{utils → esm/utils}/props/selectSystemProps.js +0 -0
  715. /package/lib/{utils → esm/utils}/props/spacingProps.js +0 -0
  716. /package/lib/{utils → esm/utils}/props/textInputProps.js +0 -0
  717. /package/lib/{utils → esm/utils}/props/textProps.js +0 -0
  718. /package/lib/{utils → esm/utils}/props/tokens.js +0 -0
  719. /package/lib/{utils → esm/utils}/props/variantProp.js +0 -0
  720. /package/lib/{utils → esm/utils}/props/viewProps.js +0 -0
  721. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -0
  722. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.android.js +0 -0
  723. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.ios.js +0 -0
  724. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.js +0 -0
  725. /package/lib/{utils → esm/utils}/ssr-media-query/hash.js +0 -0
  726. /package/lib/{utils → esm/utils}/ssr-media-query/index.js +0 -0
  727. /package/lib/{utils → esm/utils}/ssr-media-query/utils/common.js +0 -0
  728. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-declaration-block.js +0 -0
  729. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-media-query-styles.js +0 -0
  730. /package/lib/{utils → esm/utils}/ssr-media-query/utils/hyphenate-style-name.js +0 -0
  731. /package/lib/{utils → esm/utils}/ssr-media-query/utils/inject.js +0 -0
  732. /package/lib/{utils → esm/utils}/ssr.js +0 -0
  733. /package/lib/{utils → esm/utils}/transformGradient.js +0 -0
  734. /package/lib/{utils → esm/utils}/useCopy.js +0 -0
  735. /package/lib/{utils → esm/utils}/useHash.js +0 -0
  736. /package/lib/{utils → esm/utils}/useHash.native.js +0 -0
  737. /package/lib/{utils → esm/utils}/useOverlaidPosition.js +0 -0
  738. /package/lib/{utils → esm/utils}/useResponsiveProp.js +0 -0
  739. /package/lib/{utils → esm/utils}/useSafeLayoutEffect.js +0 -0
  740. /package/lib/{utils → esm/utils}/useScrollBlocking.js +0 -0
  741. /package/lib/{utils → esm/utils}/useScrollBlocking.native.js +0 -0
  742. /package/lib/{utils → esm/utils}/useSpacingScale.js +0 -0
  743. /package/lib/{utils → esm/utils}/useUniqueId.js +0 -0
  744. /package/lib/{utils → esm/utils}/withLinkRouter.js +0 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveResponsiveProp = exports.default = void 0;
7
+ var _systemConstants = require("@telus-uds/system-constants");
8
+ var _ViewportProvider = require("../ViewportProvider");
9
+ var _hasOwnProperty = _interopRequireDefault(require("./hasOwnProperty"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const hasResponsiveProperties = objectProp => _systemConstants.viewports.keys.some(key => (0, _hasOwnProperty.default)(objectProp, key));
12
+
13
+ /**
14
+ * Resolves a prop which may be a responsive object with keys for viewports.
15
+ *
16
+ * Used internally in useResponsiveProp - see that for more details.
17
+ *
18
+ * @param {*} prop
19
+ * @param {"xs"|"sm"|"md"|"lg"|"xl"} viewport
20
+ * @param {*} [defaultValue]
21
+ * @returns {*}
22
+ */
23
+ const resolveResponsiveProp = (prop, viewport, defaultValue) => {
24
+ if (prop === undefined) return defaultValue;
25
+ if (!prop || typeof prop !== 'object' || !hasResponsiveProperties(prop)) return prop;
26
+ const value = _systemConstants.viewports.keys.includes(viewport) ?
27
+ // If there's a current viewport, return the closest match at or below it
28
+ _systemConstants.viewports.inherit(prop)[viewport] :
29
+ // If no current viewport is available, default to smallest viewport
30
+ prop[_systemConstants.viewports.keys.find(key => (0, _hasOwnProperty.default)(prop, key))];
31
+ return value === undefined ? defaultValue : value;
32
+ };
33
+
34
+ /**
35
+ * Takes any value and, if that value is a responsive prop (an object with one or more
36
+ * keys matching system viewport names), returns the value corresponding to the largest
37
+ * viewport key smaller than the current screen's viewport.
38
+ *
39
+ * For example, if passed `{ sm: 4, lg: 8 }`, it will return 8 on `xl` and `lg` viewports,
40
+ * 4 on `md` and `sm` viewports, and `undefined` (or a provided `defaultValue`) on `xs` viewports.
41
+ *
42
+ * To generate propTypes for responsive props, see `responsiveProps` in `./utils/props/responsiveProps.js`.
43
+ *
44
+ * @param {*} prop - any value which may be an object with viewport keys
45
+ * @param {*} [defaultValue] - default value to provide if no matches found for the current viewport
46
+ * @returns {*}
47
+ */
48
+ exports.resolveResponsiveProp = resolveResponsiveProp;
49
+ const useResponsiveProp = (prop, defaultValue) => {
50
+ const viewport = (0, _ViewportProvider.useViewport)();
51
+ return resolveResponsiveProp(prop, viewport, defaultValue);
52
+ };
53
+ var _default = exports.default = useResponsiveProp;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _HydrationContext = require("../BaseProvider/HydrationContext");
9
+ const isSSR = typeof window === 'undefined';
10
+ const noop = () => {};
11
+
12
+ /**
13
+ * useSafeLayoutEffect is a alternative to useLayoutEffect that avoids SSR hydration problems:
14
+ * - In a client-side render, it uses useLayoutEffect to avoid flashing the pre-render UI to the user.
15
+ * - During hydration from SSR, the provided function is skipped to avoid mismatches from server content.
16
+ * - In SSR, it is a no-op function to avoid warnings about using useLayoutEffect in SSR
17
+ */
18
+ const useSafeLayoutEffect = isSSR ? noop // avoid React's fussy warnings by ensuring to never call useLayoutEffect on server
19
+ : function (fn) {
20
+ let deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
21
+ const isHydrating = (0, _HydrationContext.useHydrationContext)();
22
+
23
+ // Callback updates and effect re-runs when deps array content changes, like useEffect.
24
+ /* eslint-disable-next-line react-hooks/exhaustive-deps */
25
+ const callback = (0, _react.useCallback)(fn, deps);
26
+ (0, _react.useLayoutEffect)(() => {
27
+ // Do nothing before hydrating server-generated content, like useEffect. When hydration completes,
28
+ // useHydrationContext provides false, re-rendering this hook and re-running the effect.
29
+ if (isHydrating) return noop;
30
+ // If there's no hydration in progress, behave like useLayoutEffect.
31
+ return callback();
32
+ }, [isHydrating, callback]);
33
+ };
34
+ var _default = exports.default = useSafeLayoutEffect;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ const addScrollBlocking = (preventScrolling, stopPropagation, ref) => {
9
+ document.body.addEventListener('touchmove', preventScrolling, {
10
+ passive: false
11
+ });
12
+ ref.current?.addEventListener('touchmove', stopPropagation);
13
+ document.body.style.overflow = 'hidden';
14
+ };
15
+ const removeScrollBlocking = (preventScrolling, stopPropagation, ref) => {
16
+ document.body.removeEventListener('touchmove', preventScrolling);
17
+ ref.current?.removeEventListener('touchmove', stopPropagation);
18
+ document.body.style.overflow = 'inherit';
19
+ };
20
+
21
+ /**
22
+ * Disables scrolling when passed `true` or an array where all items are `true`.
23
+ *
24
+ * Returns an optional callback ref. Pass this to an element if it or its children
25
+ * should allow touch-based scrolling within that element's bounds.
26
+ *
27
+ * @param {boolean | boolean[]} conditionProps
28
+ * @returns
29
+ */
30
+ const useScrollBlocking = conditionProps => {
31
+ // useRef refs are null on first render and don't trigger a re-render when they get their
32
+ // element. Force re-run when ref mounts to ensure the stopPropagation listener is attached.
33
+ const ref = (0, _react.useRef)();
34
+ const [refIsMounted, setRefIsMounted] = (0, _react.useState)(false);
35
+ const callbackRef = (0, _react.useCallback)(element => {
36
+ ref.current = element;
37
+ setRefIsMounted(Boolean(element));
38
+ }, []);
39
+ const conditionsMet = Array.isArray(conditionProps) ? conditionProps.every(condition => condition) : Boolean(conditionProps);
40
+ const preventScrolling = (0, _react.useCallback)(event => event.preventDefault(), []);
41
+ const stopPropagation = (0, _react.useCallback)(event => event.stopPropagation(), []);
42
+ (0, _react.useEffect)(() => {
43
+ const cleanup = () => removeScrollBlocking(preventScrolling, stopPropagation, ref);
44
+ if (conditionsMet) {
45
+ addScrollBlocking(preventScrolling, stopPropagation, ref);
46
+ } else {
47
+ cleanup();
48
+ }
49
+ return cleanup;
50
+ // preventScrolling and stopPropagation are stable callbacks with no deps, so this
51
+ // will re-run when conditionsMet or refIsMounted flip between true and false.
52
+ }, [preventScrolling, conditionsMet, stopPropagation, refIsMounted]);
53
+ return callbackRef;
54
+ };
55
+ var _default = exports.default = useScrollBlocking;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ // This is a no-op to emphasize that the original hook is web-only
8
+ var _default = () => {};
9
+ exports.default = _default;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _ViewportProvider = require("../ViewportProvider");
8
+ var _ThemeProvider = require("../ThemeProvider");
9
+ var _useResponsiveProp = require("./useResponsiveProp");
10
+ /**
11
+ * @typedef {import('@telus-uds/system-constants/viewports').Viewport} Viewport
12
+ * @typedef {import('./props/spacingProps.js').SpacingValue} SpacingValue
13
+ * @typedef {import('./props/spacingProps.js').SpacingIndex} SpacingIndex
14
+ * @typedef {import('./props/spacingProps.js').SpacingObject} SpacingObject
15
+ * @typedef {import('./props/spacingProps.js').SpacingOptions} SpacingOptions
16
+ */
17
+
18
+ const resolveSpacingOptions = space => {
19
+ if (!space?.options) return {};
20
+ const {
21
+ size,
22
+ variant,
23
+ subtract = 0
24
+ } = space.options;
25
+ const overridden = typeof size === 'number';
26
+
27
+ // Might need an option that adapts the size value by current user's system font scale, so that
28
+ // meaningful spacing between items doesn't disappear on the highest a11y font scale settings.
29
+ // https://github.com/telus/universal-design-system/issues/583
30
+
31
+ return {
32
+ tokens: {
33
+ size
34
+ },
35
+ variant,
36
+ overridden,
37
+ subtract
38
+ };
39
+ };
40
+
41
+ /**
42
+ * Pass a {@link SpacingValue}, which is one of:
43
+ *
44
+ * - A number 0-11 ({@link SpacingIndex}) pointing to an index on the theme's spacing scale
45
+ * - Or, an object ({@link SpacingObject}), with optional properties:
46
+ * - `xs`, `sm`, `md`, `lg`, `xl`: {@link SpacingIndex} to apply at or above these specified {@link Viewport}
47
+ * - `options`: an optional {@link SpacingOptions} object, see below
48
+ * - `space`: a {@link SpacingIndex} to apply to all viewports (can be used alongside `options`)
49
+ *
50
+ * ## Example
51
+ *
52
+ * If the theme's spacing scale is `[0, 4, 8, 12, 16, 24, 48]` with no theme rules:
53
+ *
54
+ * - `useSpacingScale(0)` returns `0`
55
+ * - `useSpacingScale(2)` returns `8`
56
+ * - `useSpacingScale({ xs: 3, lg: 4 })` returns `12` at 'xs', 'sm' or 'md' viewports, and `16` at 'lg' or 'xl'.
57
+ *
58
+ * These viewport properties are intended to support case-specific responsive layout changes, for example, where a
59
+ * grid item drops or adds spacing on a particular side at viewports where the parent changes the layout shape.
60
+ *
61
+ * ## Theming
62
+ *
63
+ * A theme's `'spacingScale'` has theme rules and appearances same as components, and may support `viewport`.
64
+ * For example, a theme with the following rule would change index [2] above from `8` to `12` on large viewports:
65
+ *
66
+ * ```json
67
+ * { if: { space: 2, viewport: ['lg', 'xl'] }, tokens: { size: 12 }}
68
+ * ```
69
+ *
70
+ * Setting responsive spacing in the theme is the preferred way to adapt the aesthetic tightness or looseness of
71
+ * a theme to the available space without changing the shape of the layout itself.
72
+ *
73
+ * ## Options
74
+ *
75
+ * Space values passed as objects may have an `options` key, with the following optional properties:
76
+ *
77
+ * - `variant`: Themes may choose to have spacing scale variants, same as variants in component themes.
78
+ * For example, if a theme rule contains `{ if: { space: 2, compact: true }, tokens: { size: 6 }}`,
79
+ * this tighter spacing can be accessed with:
80
+ *
81
+ * ```jsx
82
+ * const compactSize = useSpacingScale({ space: 2, options: { variant: { compact: true }}})`
83
+ * ```
84
+ *
85
+ * - `subtract`: Sometimes on-brand spacing needs to be reduced by another value to achieve an on-brand result.
86
+ * For example, a component with a variable border may want to subtract its border width from its padding so
87
+ * the total distance from content edge to bounding box is a valid theme value, regardless of border width:
88
+ *
89
+ * ```jsx
90
+ * const padding = useSpacingScale({ space: 2, options: { subtract: themeTokens.borderWidth }})
91
+ * ```
92
+ *
93
+ * - `size`: In exceptional cases, the theme's spacing scale may be bypassed by passing a `size` option.
94
+ * This can result in layouts that may be rejected for being off-brand so should only be used as a
95
+ * last resort for fixing layout problems (e.g. when working around non-branded embedded content).
96
+ * Where possible, fixing layout issues using a spacing scale value and the `subtract` option is preferred.
97
+ *
98
+ * ```jsx
99
+ * // Comments should be included when `size` is used, stating why this off-brand size is needed
100
+ * const iframeOffset = useSpacingScale({ options: { size: 13 }})`
101
+ * ```
102
+ *
103
+ * ## References
104
+ *
105
+ * `/ADRs/inter-component-spacing/README.md` - ADR on this structure
106
+ *
107
+ * @param {SpacingValue} [spaceValue] - a {@link SpacingIndex} number, or a {@link SpacingObject}
108
+ * @returns {number}
109
+ */
110
+ const useSpacingScale = spaceValue => {
111
+ // In future, may need to consider window height as well as width, particularly for native apps,
112
+ // e.g. to ensure designs don't look lost on large, tall, not-so-wide portrait screens.
113
+ const viewport = (0, _ViewportProvider.useViewport)();
114
+ const {
115
+ tokens,
116
+ variant,
117
+ overridden,
118
+ subtract = 0
119
+ } = resolveSpacingOptions(spaceValue);
120
+ const space = !overridden && (spaceValue?.space ?? (0, _useResponsiveProp.resolveResponsiveProp)(spaceValue, viewport, 0));
121
+ const {
122
+ size
123
+ } = (0, _ThemeProvider.useThemeTokens)('spacingScale', tokens, variant, {
124
+ space: typeof space === 'number' ? space : 0,
125
+ viewport
126
+ });
127
+ return Math.max(size - subtract, 0);
128
+ };
129
+ var _default = exports.default = useSpacingScale;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ let id = 0;
9
+ function useUniqueId() {
10
+ let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
11
+ const [uniqueId] = (0, _react.useState)(() => {
12
+ id += 1;
13
+ return `${prefix}-${id}`;
14
+ });
15
+ return uniqueId;
16
+ }
17
+ var _default = exports.default = useUniqueId;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _hasOwnProperty = _interopRequireDefault(require("./hasOwnProperty"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /**
13
+ * Higher-order component that has no effect unless an additional prop `LinkRouter` is passed.
14
+ * This may be used to provide custom wrappers for integrations with third party libraries.
15
+ *
16
+ * If LinkRouter is passed, LinkRouter is rendered in place of the main component and is passed:
17
+ *
18
+ * - `linkRouterProps`: an optional object passed alongside LinkRouter, for props needed by the wrapper
19
+ * that are not valid props for the wrapped component.
20
+ * - `Component`: automatically provided, the original component to render inside the wrapper.
21
+ * - `ref`: forwarded `ref` passed down to `Component`
22
+ * - All other props passed to the outer component
23
+ *
24
+ * @example A LinkRouter component to be used with link-like components might look like:
25
+ *
26
+ * ```jsx
27
+ * const LinkLinkRouter = React.forwardRef(({ Component, linkRouterProps: { to, options }, href, ...rest }, ref) => {
28
+ * const { href: resolvedHref, onClick } = useSomeRouterHook({ to, href, options })
29
+ * return <Component href={resolvedHref} onPress={onClick} {...rest} />
30
+ * })
31
+ * ```
32
+ *
33
+ * Any component that takes href and onPress props may then use this wrapper:
34
+ *
35
+ * ```jsx
36
+ * <Link href={href} LinkRouter={LinkLinkRouter} linkRouterProps={{ to, options }}>Some link</Link>
37
+ * <IconButton icon={SomeIcon} LinkRouter={LinkLinkRouter} linkRouterProps={{ to, options }} ref={iconRef} />
38
+ * ```
39
+ */const withLinkRouter = Component => {
40
+ const wrappedComponent = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
41
+ let {
42
+ LinkRouter,
43
+ linkRouterProps,
44
+ ...props
45
+ } = _ref;
46
+ if (!LinkRouter) return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
47
+ ...props,
48
+ ref: ref
49
+ });
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkRouter, {
51
+ linkRouterProps: linkRouterProps,
52
+ Component: Component,
53
+ ref: ref,
54
+ ...props
55
+ });
56
+ });
57
+
58
+ // Ensure the returned component has appropriate outer properties set:
59
+ /* eslint-disable-next-line react/forbid-foreign-prop-types */
60
+ const {
61
+ displayName,
62
+ name,
63
+ propTypes,
64
+ ...otherProperties
65
+ } = Component;
66
+
67
+ // Apply unique component name as a displayName
68
+ wrappedComponent.displayName = Component.displayName || Component.name;
69
+
70
+ // Apply proptypes including wrapper props - is safely { ...undefined, ...undefined } in prod
71
+ wrappedComponent.propTypes = {
72
+ ...Component.propTypes,
73
+ ...withLinkRouter.propTypes
74
+ };
75
+
76
+ // Forward any other properties explicitly set e.g. Component.SubComponent
77
+ Object.keys(otherProperties).forEach(key => {
78
+ // Skip internal React properties from wrappedComponent's forwardRef (render, $$typeof, etc)
79
+ if ((0, _hasOwnProperty.default)(Component, key) && !(0, _hasOwnProperty.default)(wrappedComponent, key)) {
80
+ wrappedComponent[key] = Component[key];
81
+ }
82
+ });
83
+ return wrappedComponent;
84
+ };
85
+ withLinkRouter.propTypes = {
86
+ LinkRouter: _propTypes.default.elementType,
87
+ linkRouterProps: _propTypes.default.object
88
+ };
89
+ var _default = exports.default = withLinkRouter;