@telus-uds/components-base 1.66.0 → 1.67.1

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 (486) hide show
  1. package/CHANGELOG.md +23 -3
  2. package/lib/A11yInfoProvider/index.js +5 -20
  3. package/lib/A11yText/index.js +3 -17
  4. package/lib/ActivityIndicator/Spinner.js +2 -9
  5. package/lib/ActivityIndicator/Spinner.native.js +4 -27
  6. package/lib/ActivityIndicator/index.js +1 -13
  7. package/lib/ActivityIndicator/shared.js +0 -3
  8. package/lib/Autocomplete/Autocomplete.js +34 -85
  9. package/lib/Autocomplete/Loading.js +0 -10
  10. package/lib/Autocomplete/Suggestions.js +0 -11
  11. package/lib/Autocomplete/index.js +0 -3
  12. package/lib/BaseProvider/HydrationContext.js +4 -18
  13. package/lib/BaseProvider/index.js +0 -12
  14. package/lib/Box/Box.js +10 -35
  15. package/lib/Box/index.js +0 -3
  16. package/lib/Button/Button.js +4 -13
  17. package/lib/Button/ButtonBase.js +23 -55
  18. package/lib/Button/ButtonDropdown.js +7 -32
  19. package/lib/Button/ButtonGroup.js +15 -48
  20. package/lib/Button/ButtonLink.js +3 -17
  21. package/lib/Button/index.js +0 -5
  22. package/lib/Button/propTypes.js +0 -15
  23. package/lib/Card/Card.js +3 -14
  24. package/lib/Card/CardBase.js +5 -16
  25. package/lib/Card/PressableCardBase.js +7 -30
  26. package/lib/Card/index.js +0 -7
  27. package/lib/Carousel/Carousel.js +22 -115
  28. package/lib/Carousel/CarouselContext.js +0 -14
  29. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +6 -18
  30. package/lib/Carousel/CarouselItem/CarouselItem.js +5 -20
  31. package/lib/Carousel/CarouselItem/index.js +0 -3
  32. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -9
  33. package/lib/Carousel/CarouselStepTracker/index.js +0 -3
  34. package/lib/Carousel/CarouselTabs/CarouselTabs.js +5 -15
  35. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -16
  36. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -22
  37. package/lib/Carousel/CarouselTabs/index.js +0 -3
  38. package/lib/Carousel/CarouselThumbnail.js +1 -16
  39. package/lib/Carousel/CarouselThumbnailNavigation.js +0 -15
  40. package/lib/Carousel/index.js +0 -5
  41. package/lib/Checkbox/Checkbox.js +5 -44
  42. package/lib/Checkbox/CheckboxButton.js +7 -33
  43. package/lib/Checkbox/CheckboxGroup.js +14 -45
  44. package/lib/Checkbox/CheckboxInput.js +1 -11
  45. package/lib/Checkbox/CheckboxInput.native.js +0 -2
  46. package/lib/Checkbox/index.js +0 -4
  47. package/lib/CheckboxCard/CheckboxCard.js +4 -37
  48. package/lib/CheckboxCard/index.js +0 -3
  49. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +216 -0
  50. package/lib/CheckboxCardGroup/index.js +10 -0
  51. package/lib/Divider/Divider.js +13 -24
  52. package/lib/Divider/index.js +0 -3
  53. package/lib/ExpandCollapse/Accordion.js +1 -9
  54. package/lib/ExpandCollapse/Control.js +10 -32
  55. package/lib/ExpandCollapse/ExpandCollapse.js +3 -19
  56. package/lib/ExpandCollapse/Panel.js +13 -38
  57. package/lib/ExpandCollapse/index.js +0 -5
  58. package/lib/Feedback/Feedback.js +13 -30
  59. package/lib/Feedback/index.js +0 -3
  60. package/lib/Fieldset/Fieldset.js +6 -37
  61. package/lib/Fieldset/FieldsetContainer.js +1 -10
  62. package/lib/Fieldset/FieldsetContainer.native.js +0 -8
  63. package/lib/Fieldset/Legend.js +1 -10
  64. package/lib/Fieldset/Legend.native.js +1 -13
  65. package/lib/Fieldset/index.js +0 -3
  66. package/lib/FlexGrid/Col/Col.js +10 -53
  67. package/lib/FlexGrid/Col/index.js +0 -3
  68. package/lib/FlexGrid/FlexGrid.js +3 -34
  69. package/lib/FlexGrid/Row/Row.js +0 -38
  70. package/lib/FlexGrid/Row/index.js +0 -3
  71. package/lib/FlexGrid/helpers/index.js +0 -4
  72. package/lib/FlexGrid/index.js +0 -3
  73. package/lib/FlexGrid/providers/GutterContext.js +0 -4
  74. package/lib/HorizontalScroll/HorizontalScroll.js +17 -45
  75. package/lib/HorizontalScroll/HorizontalScrollButton.js +1 -17
  76. package/lib/HorizontalScroll/ScrollViewEnd.js +5 -13
  77. package/lib/HorizontalScroll/ScrollViewEnd.native.js +1 -10
  78. package/lib/HorizontalScroll/index.js +0 -7
  79. package/lib/HorizontalScroll/itemPositions.js +8 -19
  80. package/lib/Icon/Icon.js +4 -17
  81. package/lib/Icon/IconText.js +5 -25
  82. package/lib/Icon/index.js +0 -6
  83. package/lib/IconButton/IconButton.js +5 -37
  84. package/lib/IconButton/index.js +0 -3
  85. package/lib/InputLabel/InputLabel.js +4 -28
  86. package/lib/InputLabel/LabelContent.js +2 -8
  87. package/lib/InputLabel/LabelContent.native.js +0 -8
  88. package/lib/InputLabel/index.js +0 -3
  89. package/lib/InputSupports/InputSupports.js +0 -21
  90. package/lib/InputSupports/index.js +0 -3
  91. package/lib/InputSupports/useInputSupports.js +2 -6
  92. package/lib/Link/ChevronLink.js +7 -18
  93. package/lib/Link/InlinePressable.js +0 -10
  94. package/lib/Link/InlinePressable.native.js +5 -18
  95. package/lib/Link/Link.js +0 -8
  96. package/lib/Link/LinkBase.js +17 -47
  97. package/lib/Link/TextButton.js +3 -16
  98. package/lib/Link/index.js +0 -5
  99. package/lib/List/List.js +5 -21
  100. package/lib/List/ListItem.js +1 -11
  101. package/lib/List/ListItemBase.js +5 -34
  102. package/lib/List/ListItemContent.js +1 -14
  103. package/lib/List/ListItemMark.js +3 -23
  104. package/lib/List/PressableListItemBase.js +2 -28
  105. package/lib/List/index.js +0 -4
  106. package/lib/Listbox/GroupControl.js +0 -14
  107. package/lib/Listbox/Listbox.js +15 -40
  108. package/lib/Listbox/ListboxContext.js +0 -7
  109. package/lib/Listbox/ListboxGroup.js +7 -19
  110. package/lib/Listbox/ListboxItem.js +3 -17
  111. package/lib/Listbox/ListboxOverlay.js +4 -20
  112. package/lib/Listbox/PressableItem.js +3 -18
  113. package/lib/Listbox/index.js +0 -3
  114. package/lib/Modal/Modal.js +94 -45
  115. package/lib/Modal/ModalContent.js +184 -0
  116. package/lib/Modal/index.js +0 -3
  117. package/lib/MultiSelectFilter/ModalOverlay.js +1 -20
  118. package/lib/MultiSelectFilter/MultiSelectFilter.js +20 -69
  119. package/lib/MultiSelectFilter/index.js +0 -3
  120. package/lib/Notification/Notification.js +11 -38
  121. package/lib/Notification/index.js +0 -3
  122. package/lib/Pagination/PageButton.js +2 -22
  123. package/lib/Pagination/Pagination.js +21 -42
  124. package/lib/Pagination/SideButton.js +0 -24
  125. package/lib/Pagination/index.js +0 -3
  126. package/lib/Pagination/usePagination.js +4 -9
  127. package/lib/Progress/Progress.js +3 -17
  128. package/lib/Progress/ProgressBar.js +3 -25
  129. package/lib/Progress/ProgressBarBackground.js +0 -12
  130. package/lib/Progress/index.js +0 -4
  131. package/lib/QuickLinks/QuickLinks.js +1 -18
  132. package/lib/QuickLinks/QuickLinksCard.js +1 -11
  133. package/lib/QuickLinks/QuickLinksItem.js +3 -17
  134. package/lib/QuickLinks/index.js +0 -4
  135. package/lib/QuickLinksFeature/QuickLinksFeature.js +3 -20
  136. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +7 -30
  137. package/lib/QuickLinksFeature/index.js +0 -4
  138. package/lib/Radio/Radio.js +5 -39
  139. package/lib/Radio/RadioButton.js +7 -26
  140. package/lib/Radio/RadioGroup.js +6 -39
  141. package/lib/Radio/RadioInput.js +1 -11
  142. package/lib/Radio/RadioInput.native.js +0 -2
  143. package/lib/Radio/index.js +0 -4
  144. package/lib/RadioCard/RadioCard.js +5 -38
  145. package/lib/RadioCard/RadioCardGroup.js +25 -40
  146. package/lib/RadioCard/index.js +0 -4
  147. package/lib/Responsive/Responsive.js +1 -14
  148. package/lib/Responsive/index.js +0 -3
  149. package/lib/Search/Search.js +22 -45
  150. package/lib/Search/index.js +0 -3
  151. package/lib/Select/Group.js +0 -8
  152. package/lib/Select/Group.native.js +0 -6
  153. package/lib/Select/Item.js +0 -7
  154. package/lib/Select/Item.native.js +0 -2
  155. package/lib/Select/Picker.js +0 -8
  156. package/lib/Select/Picker.native.js +6 -22
  157. package/lib/Select/Select.js +9 -52
  158. package/lib/Select/index.js +0 -5
  159. package/lib/SideNav/Item.js +5 -29
  160. package/lib/SideNav/ItemContent.js +1 -14
  161. package/lib/SideNav/ItemsGroup.js +9 -31
  162. package/lib/SideNav/SideNav.js +9 -33
  163. package/lib/SideNav/index.js +0 -2
  164. package/lib/Skeleton/Skeleton.js +10 -42
  165. package/lib/Skeleton/index.js +0 -3
  166. package/lib/Skeleton/skeletonWebAnimation.js +0 -2
  167. package/lib/Skeleton/useSkeletonNativeAnimation.js +1 -9
  168. package/lib/SkipLink/SkipLink.js +7 -27
  169. package/lib/SkipLink/index.js +0 -3
  170. package/lib/Spacer/Spacer.js +4 -20
  171. package/lib/Spacer/index.js +0 -3
  172. package/lib/StackView/StackView.js +3 -21
  173. package/lib/StackView/StackWrap.js +11 -21
  174. package/lib/StackView/StackWrap.native.js +0 -3
  175. package/lib/StackView/StackWrapBox.js +5 -21
  176. package/lib/StackView/StackWrapGap.js +1 -14
  177. package/lib/StackView/common.js +0 -6
  178. package/lib/StackView/getStackedContent.js +10 -21
  179. package/lib/StackView/index.js +0 -5
  180. package/lib/StepTracker/Step.js +3 -27
  181. package/lib/StepTracker/StepTracker.js +5 -32
  182. package/lib/StepTracker/index.js +0 -3
  183. package/lib/Tabs/Tabs.js +7 -30
  184. package/lib/Tabs/TabsItem.js +13 -38
  185. package/lib/Tabs/index.js +0 -3
  186. package/lib/Tags/Tags.js +9 -42
  187. package/lib/Tags/index.js +0 -3
  188. package/lib/TextInput/TextArea.js +11 -20
  189. package/lib/TextInput/TextInput.js +7 -16
  190. package/lib/TextInput/TextInputBase.js +12 -58
  191. package/lib/TextInput/index.js +0 -3
  192. package/lib/TextInput/propTypes.js +0 -8
  193. package/lib/ThemeProvider/ThemeProvider.js +10 -18
  194. package/lib/ThemeProvider/index.js +0 -9
  195. package/lib/ThemeProvider/useSetTheme.js +6 -9
  196. package/lib/ThemeProvider/useTheme.js +2 -7
  197. package/lib/ThemeProvider/useThemeTokens.js +1 -9
  198. package/lib/ThemeProvider/utils/index.js +0 -4
  199. package/lib/ThemeProvider/utils/styles.js +14 -35
  200. package/lib/ThemeProvider/utils/theme-tokens.js +15 -43
  201. package/lib/Timeline/Timeline.js +11 -27
  202. package/lib/Timeline/index.js +0 -3
  203. package/lib/ToggleSwitch/ToggleSwitch.js +12 -43
  204. package/lib/ToggleSwitch/ToggleSwitchGroup.js +4 -38
  205. package/lib/ToggleSwitch/index.js +0 -3
  206. package/lib/Tooltip/Backdrop.js +4 -11
  207. package/lib/Tooltip/Backdrop.native.js +1 -14
  208. package/lib/Tooltip/Tooltip.js +9 -37
  209. package/lib/Tooltip/Tooltip.native.js +14 -45
  210. package/lib/Tooltip/getTooltipPosition.js +26 -31
  211. package/lib/Tooltip/index.js +0 -5
  212. package/lib/Tooltip/shared.js +0 -10
  213. package/lib/TooltipButton/TooltipButton.js +5 -20
  214. package/lib/TooltipButton/index.js +0 -3
  215. package/lib/Typography/Typography.js +15 -38
  216. package/lib/Typography/index.js +0 -3
  217. package/lib/Validator/Validator.js +10 -58
  218. package/lib/Validator/index.js +0 -3
  219. package/lib/ViewportProvider/ViewportProvider.js +1 -13
  220. package/lib/ViewportProvider/index.js +0 -5
  221. package/lib/ViewportProvider/useViewport.js +0 -4
  222. package/lib/ViewportProvider/useViewportListener.js +3 -12
  223. package/lib/index.js +8 -71
  224. package/lib/utils/BaseView/BaseView.js +3 -17
  225. package/lib/utils/BaseView/BaseView.native.js +0 -3
  226. package/lib/utils/BaseView/index.js +0 -3
  227. package/lib/utils/a11y/index.js +0 -4
  228. package/lib/utils/a11y/semantics.js +14 -32
  229. package/lib/utils/a11y/textSize.js +1 -8
  230. package/lib/utils/animation/index.js +0 -2
  231. package/lib/utils/animation/useVerticalExpandAnimation.js +5 -18
  232. package/lib/utils/children.js +16 -28
  233. package/lib/utils/containUniqueFields.js +2 -5
  234. package/lib/utils/floating-ui/index.js +0 -1
  235. package/lib/utils/floating-ui/index.native.js +0 -1
  236. package/lib/utils/hasOwnProperty.js +0 -1
  237. package/lib/utils/htmlAttrs.js +2 -4
  238. package/lib/utils/index.js +0 -31
  239. package/lib/utils/info/index.js +0 -4
  240. package/lib/utils/info/platform/index.js +0 -4
  241. package/lib/utils/info/versions.js +0 -3
  242. package/lib/utils/input.js +12 -24
  243. package/lib/utils/pressability.js +7 -21
  244. package/lib/utils/props/a11yProps.js +19 -25
  245. package/lib/utils/props/clickProps.js +0 -4
  246. package/lib/utils/props/componentPropType.js +0 -14
  247. package/lib/utils/props/copyPropTypes.js +0 -4
  248. package/lib/utils/props/getPropSelector.js +11 -12
  249. package/lib/utils/props/handlerProps.js +2 -23
  250. package/lib/utils/props/hrefAttrsProp.js +0 -4
  251. package/lib/utils/props/index.js +0 -22
  252. package/lib/utils/props/inputSupportsProps.js +0 -9
  253. package/lib/utils/props/linkProps.js +2 -12
  254. package/lib/utils/props/paddingProp.js +0 -3
  255. package/lib/utils/props/pressProps.js +2 -8
  256. package/lib/utils/props/rectProp.js +0 -3
  257. package/lib/utils/props/responsiveProps.js +1 -5
  258. package/lib/utils/props/selectSystemProps.js +4 -6
  259. package/lib/utils/props/spacingProps.js +3 -10
  260. package/lib/utils/props/textInputProps.js +10 -31
  261. package/lib/utils/props/textProps.js +6 -11
  262. package/lib/utils/props/tokens.js +7 -26
  263. package/lib/utils/props/variantProp.js +0 -3
  264. package/lib/utils/props/viewProps.js +0 -5
  265. package/lib/utils/ssr.js +13 -33
  266. package/lib/utils/useCopy.js +3 -6
  267. package/lib/utils/useHash.js +5 -10
  268. package/lib/utils/useHash.native.js +0 -2
  269. package/lib/utils/useOverlaidPosition.js +6 -29
  270. package/lib/utils/useResponsiveProp.js +6 -13
  271. package/lib/utils/useSafeLayoutEffect.js +5 -10
  272. package/lib/utils/useScrollBlocking.js +3 -11
  273. package/lib/utils/useScrollBlocking.native.js +0 -2
  274. package/lib/utils/useSpacingScale.js +5 -8
  275. package/lib/utils/useUniqueId.js +0 -4
  276. package/lib/utils/withLinkRouter.js +13 -18
  277. package/lib-module/A11yInfoProvider/index.js +5 -9
  278. package/lib-module/A11yText/index.js +3 -4
  279. package/lib-module/ActivityIndicator/Spinner.js +2 -2
  280. package/lib-module/ActivityIndicator/Spinner.native.js +4 -6
  281. package/lib-module/ActivityIndicator/index.js +1 -5
  282. package/lib-module/ActivityIndicator/shared.js +2 -1
  283. package/lib-module/Autocomplete/Autocomplete.js +34 -59
  284. package/lib-module/Autocomplete/Loading.js +0 -2
  285. package/lib-module/BaseProvider/HydrationContext.js +4 -7
  286. package/lib-module/BaseProvider/index.js +0 -3
  287. package/lib-module/Box/Box.js +10 -24
  288. package/lib-module/Button/Button.js +4 -2
  289. package/lib-module/Button/ButtonBase.js +23 -35
  290. package/lib-module/Button/ButtonDropdown.js +7 -16
  291. package/lib-module/Button/ButtonGroup.js +15 -32
  292. package/lib-module/Button/ButtonLink.js +3 -2
  293. package/lib-module/Button/propTypes.js +0 -7
  294. package/lib-module/Card/Card.js +3 -2
  295. package/lib-module/Card/CardBase.js +5 -4
  296. package/lib-module/Card/PressableCardBase.js +7 -11
  297. package/lib-module/Carousel/Carousel.js +22 -60
  298. package/lib-module/Carousel/CarouselContext.js +0 -5
  299. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +7 -5
  300. package/lib-module/Carousel/CarouselItem/CarouselItem.js +5 -11
  301. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -2
  302. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +3 -4
  303. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -6
  304. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -10
  305. package/lib-module/Carousel/CarouselThumbnail.js +1 -7
  306. package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -2
  307. package/lib-module/Checkbox/Checkbox.js +5 -23
  308. package/lib-module/Checkbox/CheckboxButton.js +7 -17
  309. package/lib-module/Checkbox/CheckboxGroup.js +14 -31
  310. package/lib-module/Checkbox/CheckboxInput.js +1 -3
  311. package/lib-module/Checkbox/CheckboxInput.native.js +0 -1
  312. package/lib-module/CheckboxCard/CheckboxCard.js +4 -21
  313. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +206 -0
  314. package/lib-module/CheckboxCardGroup/index.js +2 -0
  315. package/lib-module/Divider/Divider.js +13 -11
  316. package/lib-module/ExpandCollapse/Accordion.js +1 -1
  317. package/lib-module/ExpandCollapse/Control.js +10 -17
  318. package/lib-module/ExpandCollapse/ExpandCollapse.js +3 -9
  319. package/lib-module/ExpandCollapse/Panel.js +13 -23
  320. package/lib-module/Feedback/Feedback.js +13 -16
  321. package/lib-module/Fieldset/Fieldset.js +6 -25
  322. package/lib-module/Fieldset/FieldsetContainer.js +1 -1
  323. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -1
  324. package/lib-module/Fieldset/Legend.js +1 -1
  325. package/lib-module/Fieldset/Legend.native.js +1 -1
  326. package/lib-module/FlexGrid/Col/Col.js +10 -37
  327. package/lib-module/FlexGrid/FlexGrid.js +3 -17
  328. package/lib-module/FlexGrid/Row/Row.js +0 -25
  329. package/lib-module/FlexGrid/helpers/index.js +0 -3
  330. package/lib-module/HorizontalScroll/HorizontalScroll.js +17 -27
  331. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +1 -3
  332. package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -4
  333. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -1
  334. package/lib-module/HorizontalScroll/itemPositions.js +11 -10
  335. package/lib-module/Icon/Icon.js +4 -8
  336. package/lib-module/Icon/IconText.js +6 -17
  337. package/lib-module/IconButton/IconButton.js +7 -20
  338. package/lib-module/InputLabel/InputLabel.js +4 -13
  339. package/lib-module/InputLabel/LabelContent.js +2 -1
  340. package/lib-module/InputLabel/LabelContent.native.js +0 -1
  341. package/lib-module/InputSupports/InputSupports.js +0 -9
  342. package/lib-module/InputSupports/useInputSupports.js +2 -4
  343. package/lib-module/Link/ChevronLink.js +7 -7
  344. package/lib-module/Link/InlinePressable.js +0 -2
  345. package/lib-module/Link/InlinePressable.native.js +4 -12
  346. package/lib-module/Link/LinkBase.js +17 -25
  347. package/lib-module/Link/TextButton.js +3 -5
  348. package/lib-module/List/List.js +5 -9
  349. package/lib-module/List/ListItem.js +1 -1
  350. package/lib-module/List/ListItemBase.js +5 -17
  351. package/lib-module/List/ListItemContent.js +1 -4
  352. package/lib-module/List/ListItemMark.js +3 -16
  353. package/lib-module/List/PressableListItemBase.js +2 -6
  354. package/lib-module/Listbox/GroupControl.js +0 -2
  355. package/lib-module/Listbox/Listbox.js +15 -23
  356. package/lib-module/Listbox/ListboxContext.js +0 -2
  357. package/lib-module/Listbox/ListboxGroup.js +6 -4
  358. package/lib-module/Listbox/ListboxItem.js +2 -1
  359. package/lib-module/Listbox/ListboxOverlay.js +3 -4
  360. package/lib-module/Listbox/PressableItem.js +2 -7
  361. package/lib-module/Modal/Modal.js +94 -25
  362. package/lib-module/Modal/ModalContent.js +175 -0
  363. package/lib-module/MultiSelectFilter/ModalOverlay.js +1 -4
  364. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +20 -42
  365. package/lib-module/Notification/Notification.js +11 -22
  366. package/lib-module/Pagination/PageButton.js +2 -6
  367. package/lib-module/Pagination/Pagination.js +21 -21
  368. package/lib-module/Pagination/SideButton.js +3 -8
  369. package/lib-module/Pagination/usePagination.js +4 -8
  370. package/lib-module/Progress/Progress.js +3 -7
  371. package/lib-module/Progress/ProgressBar.js +3 -11
  372. package/lib-module/Progress/ProgressBarBackground.js +0 -2
  373. package/lib-module/QuickLinks/QuickLinks.js +1 -6
  374. package/lib-module/QuickLinks/QuickLinksCard.js +1 -3
  375. package/lib-module/QuickLinks/QuickLinksItem.js +3 -2
  376. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +5 -9
  377. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +9 -13
  378. package/lib-module/Radio/Radio.js +5 -22
  379. package/lib-module/Radio/RadioButton.js +8 -10
  380. package/lib-module/Radio/RadioGroup.js +6 -25
  381. package/lib-module/Radio/RadioInput.js +1 -3
  382. package/lib-module/Radio/RadioInput.native.js +0 -1
  383. package/lib-module/RadioCard/RadioCard.js +5 -21
  384. package/lib-module/RadioCard/RadioCardGroup.js +25 -27
  385. package/lib-module/Responsive/Responsive.js +1 -6
  386. package/lib-module/Search/Search.js +22 -31
  387. package/lib-module/Select/Group.js +0 -3
  388. package/lib-module/Select/Group.native.js +0 -3
  389. package/lib-module/Select/Item.js +0 -3
  390. package/lib-module/Select/Item.native.js +0 -1
  391. package/lib-module/Select/Picker.native.js +8 -10
  392. package/lib-module/Select/Select.js +10 -35
  393. package/lib-module/SideNav/Item.js +5 -16
  394. package/lib-module/SideNav/ItemContent.js +1 -2
  395. package/lib-module/SideNav/ItemsGroup.js +9 -19
  396. package/lib-module/SideNav/SideNav.js +9 -22
  397. package/lib-module/Skeleton/Skeleton.js +10 -25
  398. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -1
  399. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +1 -3
  400. package/lib-module/SkipLink/SkipLink.js +7 -9
  401. package/lib-module/Spacer/Spacer.js +4 -7
  402. package/lib-module/StackView/StackView.js +3 -7
  403. package/lib-module/StackView/StackWrap.js +13 -13
  404. package/lib-module/StackView/StackWrap.native.js +2 -1
  405. package/lib-module/StackView/StackWrapBox.js +5 -8
  406. package/lib-module/StackView/StackWrapGap.js +1 -1
  407. package/lib-module/StackView/getStackedContent.js +10 -10
  408. package/lib-module/StepTracker/Step.js +3 -14
  409. package/lib-module/StepTracker/StepTracker.js +5 -13
  410. package/lib-module/Tabs/Tabs.js +7 -16
  411. package/lib-module/Tabs/TabsItem.js +13 -16
  412. package/lib-module/Tags/Tags.js +9 -26
  413. package/lib-module/TextInput/TextArea.js +11 -8
  414. package/lib-module/TextInput/TextInput.js +7 -5
  415. package/lib-module/TextInput/TextInputBase.js +13 -39
  416. package/lib-module/TextInput/propTypes.js +3 -7
  417. package/lib-module/ThemeProvider/ThemeProvider.js +10 -9
  418. package/lib-module/ThemeProvider/useSetTheme.js +6 -7
  419. package/lib-module/ThemeProvider/useTheme.js +2 -5
  420. package/lib-module/ThemeProvider/useThemeTokens.js +1 -2
  421. package/lib-module/ThemeProvider/utils/styles.js +15 -27
  422. package/lib-module/ThemeProvider/utils/theme-tokens.js +15 -20
  423. package/lib-module/Timeline/Timeline.js +11 -17
  424. package/lib-module/ToggleSwitch/ToggleSwitch.js +13 -26
  425. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +4 -23
  426. package/lib-module/Tooltip/Backdrop.js +4 -7
  427. package/lib-module/Tooltip/Backdrop.native.js +1 -4
  428. package/lib-module/Tooltip/Tooltip.js +9 -18
  429. package/lib-module/Tooltip/Tooltip.native.js +14 -23
  430. package/lib-module/Tooltip/getTooltipPosition.js +26 -30
  431. package/lib-module/Tooltip/shared.js +0 -6
  432. package/lib-module/TooltipButton/TooltipButton.js +5 -8
  433. package/lib-module/Typography/Typography.js +14 -22
  434. package/lib-module/Validator/Validator.js +10 -42
  435. package/lib-module/ViewportProvider/ViewportProvider.js +1 -3
  436. package/lib-module/ViewportProvider/useViewportListener.js +6 -8
  437. package/lib-module/index.js +1 -0
  438. package/lib-module/utils/BaseView/BaseView.js +3 -4
  439. package/lib-module/utils/BaseView/BaseView.native.js +0 -1
  440. package/lib-module/utils/a11y/semantics.js +14 -27
  441. package/lib-module/utils/a11y/textSize.js +1 -2
  442. package/lib-module/utils/animation/useVerticalExpandAnimation.js +8 -11
  443. package/lib-module/utils/children.js +17 -19
  444. package/lib-module/utils/containUniqueFields.js +2 -4
  445. package/lib-module/utils/htmlAttrs.js +2 -1
  446. package/lib-module/utils/info/index.js +2 -1
  447. package/lib-module/utils/info/platform/index.js +4 -1
  448. package/lib-module/utils/info/versions.js +2 -1
  449. package/lib-module/utils/input.js +11 -19
  450. package/lib-module/utils/pressability.js +8 -7
  451. package/lib-module/utils/props/a11yProps.js +22 -20
  452. package/lib-module/utils/props/clickProps.js +0 -1
  453. package/lib-module/utils/props/componentPropType.js +0 -13
  454. package/lib-module/utils/props/getPropSelector.js +12 -8
  455. package/lib-module/utils/props/handlerProps.js +2 -19
  456. package/lib-module/utils/props/hrefAttrsProp.js +2 -2
  457. package/lib-module/utils/props/inputSupportsProps.js +0 -6
  458. package/lib-module/utils/props/linkProps.js +2 -3
  459. package/lib-module/utils/props/pressProps.js +2 -2
  460. package/lib-module/utils/props/responsiveProps.js +1 -3
  461. package/lib-module/utils/props/selectSystemProps.js +4 -5
  462. package/lib-module/utils/props/spacingProps.js +4 -3
  463. package/lib-module/utils/props/textInputProps.js +13 -27
  464. package/lib-module/utils/props/textProps.js +9 -7
  465. package/lib-module/utils/props/tokens.js +10 -13
  466. package/lib-module/utils/props/variantProp.js +1 -1
  467. package/lib-module/utils/props/viewProps.js +0 -1
  468. package/lib-module/utils/ssr.js +14 -18
  469. package/lib-module/utils/useCopy.js +3 -5
  470. package/lib-module/utils/useHash.js +5 -9
  471. package/lib-module/utils/useHash.native.js +0 -1
  472. package/lib-module/utils/useOverlaidPosition.js +6 -25
  473. package/lib-module/utils/useResponsiveProp.js +6 -7
  474. package/lib-module/utils/useSafeLayoutEffect.js +5 -7
  475. package/lib-module/utils/useScrollBlocking.js +3 -10
  476. package/lib-module/utils/useSpacingScale.js +4 -4
  477. package/lib-module/utils/useUniqueId.js +0 -2
  478. package/lib-module/utils/withLinkRouter.js +13 -10
  479. package/package.json +2 -2
  480. package/src/Checkbox/CheckboxGroup.jsx +10 -8
  481. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +231 -0
  482. package/src/CheckboxCardGroup/index.js +3 -0
  483. package/src/Modal/Modal.jsx +98 -5
  484. package/src/Modal/ModalContent.jsx +171 -0
  485. package/src/RadioCard/RadioCardGroup.jsx +23 -2
  486. package/src/index.js +1 -0
@@ -4,6 +4,7 @@ import ItemContent from './ItemContent';
4
4
  import ExpandCollapse from '../ExpandCollapse';
5
5
  import { getTokensPropType, variantProp, componentPropType, selectTokens } from '../utils';
6
6
  import { useThemeTokensCallback } from '../ThemeProvider';
7
+
7
8
  /**
8
9
  Expandable content areas for use within `SideNav`.
9
10
 
@@ -14,7 +15,6 @@ import { useThemeTokensCallback } from '../ThemeProvider';
14
15
  ## Usage Criteria
15
16
  - Use `SideNav.ItemsGroup` with large pages that have multiple sections
16
17
  */
17
-
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  const ItemsGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
20
20
  let {
@@ -28,38 +28,35 @@ const ItemsGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
28
28
  itemTokens,
29
29
  onToggle
30
30
  } = _ref;
31
-
32
31
  // A SideNav control uses the same style and theme as SideNavItem, with a 'parent' variant,
33
32
  // plus control-specific tokens from the SideNavItemsGroup theme (e.g. open/close icon, etc).
34
- const getAppearance = appearance => ({ ...variant,
33
+ const getAppearance = appearance => ({
34
+ ...variant,
35
35
  ...appearance,
36
36
  active: isActive
37
37
  });
38
-
39
- const getItemAppearance = appearance => ({ ...getAppearance(appearance),
38
+ const getItemAppearance = appearance => ({
39
+ ...getAppearance(appearance),
40
40
  type: 'parent'
41
41
  });
42
-
43
42
  const getGroupTokens = useThemeTokensCallback('SideNavItemsGroup', tokens, variant);
44
-
45
43
  const getPanelTokens = appearance => {
46
44
  const {
47
45
  panelBorderColor,
48
46
  ...itemsGroupTokens
49
47
  } = getGroupTokens(getAppearance(appearance));
50
- const groupTokens = { ...itemsGroupTokens,
48
+ const groupTokens = {
49
+ ...itemsGroupTokens,
51
50
  borderWidth: 0,
52
51
  marginBottom: 0
53
52
  };
54
53
  return selectTokens('ExpandCollapsePanel', groupTokens);
55
54
  };
56
-
57
55
  const getItemTokens = useThemeTokensCallback('SideNavItem', itemTokens, variant);
58
-
59
- const getControlTokens = appearance => selectTokens('ExpandCollapseControl', { ...getItemTokens(getItemAppearance(appearance)),
56
+ const getControlTokens = appearance => selectTokens('ExpandCollapseControl', {
57
+ ...getItemTokens(getItemAppearance(appearance)),
60
58
  // main style from SideNavItem
61
59
  ...getGroupTokens(getAppearance(appearance)) // control-specific tokens like icon etc
62
-
63
60
  });
64
61
 
65
62
  const controlContent = controlState => {
@@ -69,7 +66,6 @@ const ItemsGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
69
66
  children: label
70
67
  });
71
68
  };
72
-
73
69
  return /*#__PURE__*/_jsx(ExpandCollapse.Panel, {
74
70
  ref: ref,
75
71
  openIds: openGroups,
@@ -91,30 +87,25 @@ ItemsGroup.propTypes = {
91
87
  * Specifies the links contained within. It may only contain `SideNav.Item`.
92
88
  */
93
89
  children: componentPropType('Item'),
94
-
95
90
  /**
96
91
  * Text content of the group's parent `SideNav.Item`.
97
92
  */
98
93
  label: PropTypes.string.isRequired,
99
-
100
94
  /**
101
95
  * @ignore
102
96
  * Set internally in `SideNav` render function - used to keep track of expanded items groups.
103
97
  */
104
98
  groupId: PropTypes.string,
105
-
106
99
  /**
107
100
  * @ignore
108
101
  * Set internally in `SideNav` render function. Called when the group is expanded/collapsed.
109
102
  */
110
103
  onToggle: PropTypes.func,
111
-
112
104
  /**
113
105
  * @ignore
114
106
  * Set internally in `SideNav` render function. Contains `groupId`s of currently open groups.
115
107
  */
116
108
  openGroups: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
117
-
118
109
  /**
119
110
  * @ignore
120
111
  * Set internally in `SideNav` render function. Used to mark group containing the currently active `SideNav.Item`.
@@ -122,7 +113,6 @@ ItemsGroup.propTypes = {
122
113
  isActive: PropTypes.bool,
123
114
  variant: variantProp.propType,
124
115
  tokens: getTokensPropType('SideNavItemsGroup'),
125
-
126
116
  /**
127
117
  * Custom tokens for `SideNav.Item`
128
118
  */
@@ -7,7 +7,6 @@ import { useThemeTokens } from '../ThemeProvider';
7
7
  import { a11yProps, componentPropType, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils';
8
8
  import { createElement as _createElement } from "react";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
-
11
10
  function selectBorderStyles(tokens) {
12
11
  return {
13
12
  borderBottomWidth: tokens.borderWidth,
@@ -15,14 +14,13 @@ function selectBorderStyles(tokens) {
15
14
  borderBottomColor: tokens.borderColor
16
15
  };
17
16
  }
18
-
19
17
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
18
+
20
19
  /**
21
20
  ## Usage Criteria
22
21
  - Use in conjunction with a large amount of educational / informational content
23
22
  - Allow the user to navigate between options frequently and efficiently
24
23
  */
25
-
26
24
  const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
27
25
  let {
28
26
  children,
@@ -38,18 +36,15 @@ const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
38
36
  groupId: undefined,
39
37
  itemId: undefined
40
38
  });
41
-
42
39
  const onItemPress = (itemId, groupId) => {
43
40
  setActive({
44
41
  itemId,
45
42
  groupId
46
43
  });
47
44
  };
48
-
49
45
  const isItemActive = (itemId, groupId) => {
50
46
  return active.groupId === groupId && active.itemId === itemId;
51
47
  };
52
-
53
48
  return /*#__PURE__*/_jsx(ExpandCollapse, {
54
49
  ref: ref,
55
50
  maxOpen: accordion ? 1 : null,
@@ -60,23 +55,22 @@ const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
60
55
  openIds,
61
56
  onToggle
62
57
  } = _ref2;
63
-
64
58
  const renderItem = (item, index, groupId) => {
65
59
  const {
66
60
  itemId = `item-${index}`,
67
61
  onPress
68
62
  } = item.props;
69
-
70
63
  const handlePress = function () {
71
64
  onItemPress(...arguments);
72
65
  if (onPress) onPress(...arguments);
73
66
  };
74
-
75
- return /*#__PURE__*/_createElement(Item, { ...item.props,
67
+ return /*#__PURE__*/_createElement(Item, {
68
+ ...item.props,
76
69
  key: itemId,
77
70
  itemId: itemId,
78
71
  groupId: groupId,
79
- variant: groupId ? { ...variant,
72
+ variant: groupId ? {
73
+ ...variant,
80
74
  type: 'child'
81
75
  } : variant,
82
76
  tokens: itemTokens,
@@ -84,20 +78,17 @@ const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
84
78
  onPress: handlePress
85
79
  });
86
80
  };
87
-
88
81
  return React.Children.map(children, (child, index) => {
89
82
  // iterate over children and identify them internally to later reference expanded groups and active items
90
83
  if (child.type === Item) return renderItem(child, index);
91
-
92
84
  if (child.type === ItemsGroup) {
93
85
  const {
94
86
  groupId = `group-${index}`
95
87
  } = child.props;
96
88
  const isGroupActive = active.itemId !== undefined && active.groupId === groupId;
97
-
98
89
  const handleToggle = event => onToggle(groupId, event);
99
-
100
- return /*#__PURE__*/_createElement(ItemsGroup, { ...child.props,
90
+ return /*#__PURE__*/_createElement(ItemsGroup, {
91
+ ...child.props,
101
92
  key: groupId,
102
93
  groupId: groupId,
103
94
  variant: variant,
@@ -108,32 +99,28 @@ const SideNav = /*#__PURE__*/forwardRef((_ref, ref) => {
108
99
  onToggle: handleToggle
109
100
  }, React.Children.map(child.props.children, (item, itemIndex) => renderItem(item, itemIndex, groupId)));
110
101
  }
111
-
112
102
  return null;
113
103
  });
114
104
  }
115
105
  });
116
106
  });
117
107
  SideNav.displayName = 'SideNav';
118
- SideNav.propTypes = { ...selectedSystemPropTypes,
119
-
108
+ SideNav.propTypes = {
109
+ ...selectedSystemPropTypes,
120
110
  /**
121
111
  * Specifies the structure and links of the `SideNav`. It may only consist of `SideNav.Item` and `SideNav.ItemsGroup`.
122
112
  */
123
113
  children: componentPropType(['Item', 'ItemsGroup']),
124
-
125
114
  /**
126
115
  * Identifies if only one `SideNav.ItemsGroup` should be open at a time.
127
116
  */
128
117
  accordion: PropTypes.bool,
129
118
  variant: variantProp.propType,
130
119
  tokens: getTokensPropType('SideNav'),
131
-
132
120
  /**
133
121
  * Custom tokens for `SideNav.Item`
134
122
  */
135
123
  itemTokens: getTokensPropType('SideNavItem'),
136
-
137
124
  /**
138
125
  * Custom tokens for `SideNavItemsGroup`
139
126
  */
@@ -11,7 +11,6 @@ import useSkeletonNativeAnimation from './useSkeletonNativeAnimation';
11
11
  import skeletonWebAnimation from './skeletonWebAnimation';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
14
-
15
14
  const selectSkeletonStyles = _ref => {
16
15
  let {
17
16
  color,
@@ -23,7 +22,6 @@ const selectSkeletonStyles = _ref => {
23
22
  maxWidth: '100%'
24
23
  };
25
24
  };
26
-
27
25
  const selectLineStyles = _ref2 => {
28
26
  let {
29
27
  skeletonHeight,
@@ -34,7 +32,6 @@ const selectLineStyles = _ref2 => {
34
32
  height: skeletonHeight
35
33
  };
36
34
  };
37
-
38
35
  const selectShapeStyles = _ref3 => {
39
36
  let {
40
37
  skeletonHeight
@@ -44,7 +41,6 @@ const selectShapeStyles = _ref3 => {
44
41
  width: skeletonHeight
45
42
  };
46
43
  };
47
-
48
44
  const selectSquareStyles = _ref4 => {
49
45
  let {
50
46
  radius
@@ -53,7 +49,6 @@ const selectSquareStyles = _ref4 => {
53
49
  borderRadius: radius
54
50
  };
55
51
  };
56
-
57
52
  const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
58
53
  let {
59
54
  tokens,
@@ -68,15 +63,18 @@ const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
68
63
  } = _ref5;
69
64
  const themeTokens = useThemeTokens('Skeleton', tokens, variant);
70
65
  const pixels = useResponsiveProp(sizePixels);
71
- const spacingScaleValue = typeof pixels === 'number' ? // Size by an exact number of pixels
66
+ const spacingScaleValue = typeof pixels === 'number' ?
67
+ // Size by an exact number of pixels
72
68
  {
73
69
  options: {
74
70
  size: pixels
75
71
  }
76
- } : // Size by an index on the spacing scale (getting default index from theme if none provided)
72
+ } :
73
+ // Size by an index on the spacing scale (getting default index from theme if none provided)
77
74
  sizeIndex || themeTokens.size;
78
- const skeletonHeight = useSpacingScale(spacingScaleValue); // Animation color and animation duration
75
+ const skeletonHeight = useSpacingScale(spacingScaleValue);
79
76
 
77
+ // Animation color and animation duration
80
78
  const {
81
79
  secondColor,
82
80
  animationDuration
@@ -84,32 +82,27 @@ const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
84
82
  const nativeAnimation = useSkeletonNativeAnimation({
85
83
  animationDuration
86
84
  });
87
-
88
85
  const getAnimationBasedOnPlatform = () => {
89
- const animation = Platform.OS === 'web' ? skeletonWebAnimation(secondColor, animationDuration) : nativeAnimation; // We must pass the animation styles through `StyleSheet.create`
86
+ const animation = Platform.OS === 'web' ? skeletonWebAnimation(secondColor, animationDuration) : nativeAnimation;
87
+ // We must pass the animation styles through `StyleSheet.create`
90
88
  // @see https://github.com/necolas/react-native-web/issues/2387
91
-
92
89
  const styles = StyleSheet.create({
93
90
  animation
94
91
  });
95
92
  return styles.animation;
96
93
  };
97
-
98
94
  const getLineWidth = () => {
99
95
  if (characters) {
100
96
  return characters * themeTokens.baseWidth;
101
97
  }
102
-
103
98
  return themeTokens.characters * themeTokens.baseWidth;
104
99
  };
105
-
106
100
  const getStyledBasedOnShape = () => {
107
101
  if (shape === 'circle') {
108
102
  return selectShapeStyles({
109
103
  skeletonHeight
110
104
  });
111
105
  }
112
-
113
106
  if (shape === 'box') {
114
107
  return [selectShapeStyles({
115
108
  skeletonHeight
@@ -117,13 +110,11 @@ const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
117
110
  radius: themeTokens.squareRadius
118
111
  })];
119
112
  }
120
-
121
113
  return selectLineStyles({
122
114
  skeletonHeight,
123
115
  lineWidth: getLineWidth()
124
116
  });
125
117
  };
126
-
127
118
  const renderSkeleton = function () {
128
119
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
129
120
  // @see https://github.com/necolas/react-native-web/issues/2387
@@ -133,7 +124,6 @@ const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
133
124
  style: [selectSkeletonStyles(themeTokens), getAnimationBasedOnPlatform(), getStyledBasedOnShape()]
134
125
  }, `skeleton-${index + 1}`);
135
126
  };
136
-
137
127
  return /*#__PURE__*/_jsx(StackView, {
138
128
  space: themeTokens.spaceBetweenLines,
139
129
  ref: ref,
@@ -142,36 +132,32 @@ const Skeleton = /*#__PURE__*/forwardRef((_ref5, ref) => {
142
132
  });
143
133
  });
144
134
  Skeleton.displayName = 'Skeleton';
145
- Skeleton.propTypes = { ...selectedSystemPropTypes,
135
+ Skeleton.propTypes = {
136
+ ...selectedSystemPropTypes,
146
137
  tokens: getTokensPropType('Skeleton'),
147
138
  variant: variantProp.propType,
148
-
149
139
  /**
150
140
  * Sets the size of Skeleton lines or shape according to the theme's spacing scale. For example, size={1} gives the smallest non-zero theme-defined spacing size.
151
141
  *
152
142
  * May also accept an object with responsive viewport keys or spacing scale options - see `useSpacingScale` for details.
153
143
  */
154
144
  sizeIndex: spacingProps.types.spacingValue,
155
-
156
145
  /**
157
146
  * @deprecated alias for `sizeIndex`
158
147
  */
159
148
  size: spacingProps.types.spacingValue,
160
-
161
149
  /**
162
150
  * Sets the size of Skeleton lines or shape to an exact number of pixels. Use when it's necessary to exactly match sizes of images or other boxes.
163
151
  *
164
152
  * Accepts a number or an object with responsive viewport keys, e.g. { xs: 32, lg: 64 } would be 32px at xs, sm and md and 64 at lg and xl viewports.
165
153
  */
166
154
  sizePixels: responsiveProps.getTypeOptionallyByViewport(propTypes.number),
167
-
168
155
  /**
169
156
  * Determines the width of simulated lines of text if the Skeleton's shape is 'line' (the default shape).
170
157
  *
171
158
  * Only has any affect if shape is line (the default). If unset, takes a default value from the theme.
172
159
  */
173
160
  characters: propTypes.number,
174
-
175
161
  /**
176
162
  * Determines how many Skeleton items are rendered (default 1).
177
163
  *
@@ -180,7 +166,6 @@ Skeleton.propTypes = { ...selectedSystemPropTypes,
180
166
  * The amount of spacing between multiple lines is controlled by theme tokens.
181
167
  */
182
168
  lines: propTypes.number,
183
-
184
169
  /**
185
170
  * Determines if the skeleton should resemble lines of text (default), a circle, or a square box with themed rounded corners.
186
171
  */
@@ -11,5 +11,4 @@ const skeletonWebAnimation = (secondColor, animationTime) => {
11
11
  }
12
12
  };
13
13
  };
14
-
15
14
  export default skeletonWebAnimation;
@@ -2,14 +2,13 @@ import { useEffect, useRef } from 'react';
2
2
  import Animated from "react-native-web/dist/exports/Animated";
3
3
  import Platform from "react-native-web/dist/exports/Platform";
4
4
  import { DEFAULT_OPACITY, OPACITY_STOP } from './skeleton.constant';
5
-
6
5
  const useSkeletonNativeAnimation = _ref => {
7
6
  let {
8
7
  animationDuration
9
8
  } = _ref;
10
9
  const fadeAnimation = useRef(new Animated.Value(DEFAULT_OPACITY)).current;
11
- /* eslint-disable react-hooks/exhaustive-deps */
12
10
 
11
+ /* eslint-disable react-hooks/exhaustive-deps */
13
12
  useEffect(() => {
14
13
  const fade = Animated.sequence([Animated.timing(fadeAnimation, {
15
14
  toValue: OPACITY_STOP,
@@ -26,5 +25,4 @@ const useSkeletonNativeAnimation = _ref => {
26
25
  opacity: fadeAnimation
27
26
  };
28
27
  };
29
-
30
28
  export default useSkeletonNativeAnimation;
@@ -7,8 +7,9 @@ import PropTypes from 'prop-types';
7
7
  import { useThemeTokensCallback } from '../ThemeProvider';
8
8
  import { a11yProps, clickProps, getTokensPropType, linkProps, resolvePressableTokens, selectSystemProps, variantProp, withLinkRouter } from '../utils';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps]); // ensure explicit selection of tokens
10
+ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps]);
11
11
 
12
+ // ensure explicit selection of tokens
12
13
  const selectStyles = _ref => {
13
14
  let {
14
15
  backgroundColor,
@@ -31,7 +32,6 @@ const selectStyles = _ref => {
31
32
  borderRadius
32
33
  };
33
34
  };
34
-
35
35
  const selectTextStyles = _ref2 => {
36
36
  let {
37
37
  color,
@@ -49,6 +49,7 @@ const selectTextStyles = _ref2 => {
49
49
  fontSize
50
50
  };
51
51
  };
52
+
52
53
  /**
53
54
  * A generic Skip link component, unstyled by default.
54
55
  * A Skip link component help keyboard-only users, screen reader users to skip
@@ -104,8 +105,6 @@ const selectTextStyles = _ref2 => {
104
105
  *
105
106
  * Skip link supports all the common a11y and link props.
106
107
  */
107
-
108
-
109
108
  const SkipLink = /*#__PURE__*/forwardRef((_ref3, ref) => {
110
109
  let {
111
110
  tokens,
@@ -119,9 +118,9 @@ const SkipLink = /*#__PURE__*/forwardRef((_ref3, ref) => {
119
118
  ...rest
120
119
  } = clickProps.toPressProps(rawRest);
121
120
  const getTokens = useThemeTokensCallback('SkipLink', tokens, variant);
122
-
123
121
  const handlePress = event => {
124
- if (typeof onPress === 'function') onPress(event); // TODO - support native apps with something based on refs and/or setAccessibilityFocus
122
+ if (typeof onPress === 'function') onPress(event);
123
+ // TODO - support native apps with something based on refs and/or setAccessibilityFocus
125
124
  };
126
125
 
127
126
  return /*#__PURE__*/_jsx(Pressable, {
@@ -149,13 +148,12 @@ const SkipLink = /*#__PURE__*/forwardRef((_ref3, ref) => {
149
148
  });
150
149
  });
151
150
  SkipLink.displayName = 'SkipLink';
152
- SkipLink.propTypes = { ...selectedSystemPropTypes,
153
-
151
+ SkipLink.propTypes = {
152
+ ...selectedSystemPropTypes,
154
153
  /**
155
154
  * The text content shown or read out when the SkipLink is focused, usually a string.
156
155
  */
157
156
  children: PropTypes.node,
158
-
159
157
  /**
160
158
  * The target to skip to. Usually an anchor link to a section id (e.g. href="#main-section").
161
159
  */
@@ -3,19 +3,19 @@ import PropTypes from 'prop-types';
3
3
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
4
  import View from "react-native-web/dist/exports/View";
5
5
  import { a11yProps, selectSystemProps, spacingProps, useSpacingScale, viewProps } from '../utils';
6
+
6
7
  /**
7
8
  * @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
8
9
  * @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
9
10
  */
10
-
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
13
-
14
13
  const selectSizeStyle = (size, direction) => ({
15
14
  // Only apply space in one direction at a time, else large spacers will increase the
16
15
  // 'across' size of the parent and mess up siblings with styles like `alignItems: stretch`.
17
16
  [direction === 'row' ? 'width' : 'height']: size
18
17
  });
18
+
19
19
  /**
20
20
  * An empty element used to create a gap between components that is sized according to the theme spacing scale,
21
21
  * passing its `space` prop ({@link SpacingValue}) to `useSpacingScale`.
@@ -56,8 +56,6 @@ const selectSizeStyle = (size, direction) => ({
56
56
  * Spacer has no content and is ignored by tools such as screen readers. Use `Divider` for
57
57
  * separations between elements that may be treated as semantically meaningful on web.
58
58
  */
59
-
60
-
61
59
  const Spacer = /*#__PURE__*/forwardRef((_ref, ref) => {
62
60
  let {
63
61
  space = 1,
@@ -73,15 +71,14 @@ const Spacer = /*#__PURE__*/forwardRef((_ref, ref) => {
73
71
  });
74
72
  });
75
73
  Spacer.displayName = 'Spacer';
76
- Spacer.propTypes = { ...selectedSystemPropTypes,
77
-
74
+ Spacer.propTypes = {
75
+ ...selectedSystemPropTypes,
78
76
  /**
79
77
  * The size of the spacer according to the theme's spacing scale.
80
78
  * Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
81
79
  * or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
82
80
  */
83
81
  space: spacingProps.types.spacingValue,
84
-
85
82
  /**
86
83
  * The spacer applies space in only one direction, which is controlled by the `direction` prop:
87
84
  *
@@ -9,6 +9,7 @@ import getStackedContent from './getStackedContent';
9
9
  import { staticStyles, selectFlexStyles } from './common';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
12
+
12
13
  /**
13
14
  * StackView evenly spaces its children, by default placing `Spacer` components between them.
14
15
  *
@@ -51,7 +52,6 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
51
52
  * It applies no accessibility props of its own, unless `divider` prop is passed (`Divider` has a
52
53
  * semantic role but only on web, not within native apps).
53
54
  */
54
-
55
55
  const StackView = /*#__PURE__*/forwardRef((_ref, ref) => {
56
56
  let {
57
57
  space = 0,
@@ -91,28 +91,25 @@ const StackView = /*#__PURE__*/forwardRef((_ref, ref) => {
91
91
  });
92
92
  });
93
93
  StackView.displayName = 'StackView';
94
- StackView.propTypes = { ...selectedSystemPropTypes,
94
+ StackView.propTypes = {
95
+ ...selectedSystemPropTypes,
95
96
  tokens: getTokensPropType('StackView'),
96
97
  variant: variantProp.propType,
97
-
98
98
  /**
99
99
  * Sets the `flexDirection` of the container and, if `divider` is used, gives the Divider the appropriate direction.
100
100
  */
101
101
  direction: responsiveProps.getTypeOptionallyByViewport(PropTypes.oneOf(['column', 'row', 'column-reverse', 'row-reverse'])),
102
-
103
102
  /**
104
103
  * If true, renders a UDS `Divider` component between each item. If an object is passed,
105
104
  * this object is passes as props to each Divider.
106
105
  */
107
106
  divider: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape(Divider.propTypes)]),
108
-
109
107
  /**
110
108
  * The size of the spacer according to the theme's spacing scale.
111
109
  * Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
112
110
  * or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
113
111
  */
114
112
  space: spacingProps.types.spacingValue,
115
-
116
113
  /**
117
114
  * Optional semantic HTML tag, to apply to the container on web. Does not change styling.
118
115
  *
@@ -120,7 +117,6 @@ StackView.propTypes = { ...selectedSystemPropTypes,
120
117
  * is not defined, the accessibilityRole will default to "heading".
121
118
  */
122
119
  tag: PropTypes.oneOf(layoutTags),
123
-
124
120
  /**
125
121
  * A StackView may take any children, but will have no effect if it is only passed one child or is passed children
126
122
  * wrapped in a component. If necessary, children may be wrapped in one React Fragment.
@@ -2,19 +2,19 @@ import React, { forwardRef, useState } from 'react';
2
2
  import Platform from "react-native-web/dist/exports/Platform";
3
3
  import useSafeLayoutEffect from '../utils/useSafeLayoutEffect';
4
4
  import StackWrapBox from './StackWrapBox';
5
- import StackWrapGap from './StackWrapGap'; // In Jest/CI/SSR, global CSS isn't always available and doesn't always have .supports method
5
+ import StackWrapGap from './StackWrapGap';
6
6
 
7
+ // In Jest/CI/SSR, global CSS isn't always available and doesn't always have .supports method
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
-
9
9
  const cssSupports = (property, value) => {
10
10
  var _window$CSS;
11
-
12
11
  return Platform.OS === 'web' && typeof window !== 'undefined' && typeof ((_window$CSS = window.CSS) === null || _window$CSS === void 0 ? void 0 : _window$CSS.supports) === 'function' && window.CSS.supports(property, value);
13
- }; // CSS.supports needs an example of the type of value you intend to use.
14
- // Will be an integer appended `px` after hooks and JSX styles are resolved.
15
-
12
+ };
16
13
 
14
+ // CSS.supports needs an example of the type of value you intend to use.
15
+ // Will be an integer appended `px` after hooks and JSX styles are resolved.
17
16
  const exampleGapValue = '1px';
17
+
18
18
  /**
19
19
  * StackWrap is an alternative to StackView where the spaced items are allowed to wrap.
20
20
  *
@@ -22,22 +22,22 @@ const exampleGapValue = '1px';
22
22
  * wrapped lines of items. By default, this `gap` is the same as the gap between spaced items.
23
23
  * If a different spacing is desired between wrapped lines, pass a spacing value to the `gap` prop.
24
24
  */
25
-
26
25
  const StackWrap = /*#__PURE__*/forwardRef((props, ref) => {
27
26
  const [canUseCSSGap, setCanUseCSSGap] = useState(false);
28
27
  const {
29
28
  space
30
- } = props; // Don't apply separate gap if `null` or `undefined`, so can be unset in Storybook etc
31
-
29
+ } = props;
30
+ // Don't apply separate gap if `null` or `undefined`, so can be unset in Storybook etc
32
31
  const gap = props.gap ?? space;
33
- const gapEqualsSpace = gap === space; // If possible, use the cleaner implementation that applies CSS `gap` styles to the container,
32
+ const gapEqualsSpace = gap === space;
33
+
34
+ // If possible, use the cleaner implementation that applies CSS `gap` styles to the container,
34
35
  // preserving direct parent-child relationships between the container and each item, which
35
36
  // can result in clearer descriptions on some screen readers (e.g. radio "X of Y" on MacOS).
36
37
  // Else, use the fallback implementation which renders a `Box` component around each child.
37
-
38
- const Component = canUseCSSGap ? StackWrapGap : StackWrapBox; // In SSR, the type of implementation must match the server during hydration, but
38
+ const Component = canUseCSSGap ? StackWrapGap : StackWrapBox;
39
+ // In SSR, the type of implementation must match the server during hydration, but
39
40
  // the server can't know if gap is supported, so never use it until after hydration.
40
-
41
41
  useSafeLayoutEffect(() => {
42
42
  setCanUseCSSGap(gapEqualsSpace && cssSupports('gap', exampleGapValue));
43
43
  }, [gapEqualsSpace]);
@@ -1,3 +1,4 @@
1
- import StackWrapBox from './StackWrapBox'; // No support for CSS `gap` on React Native, so always use the fallback "box" implementation.
1
+ import StackWrapBox from './StackWrapBox';
2
2
 
3
+ // No support for CSS `gap` on React Native, so always use the fallback "box" implementation.
3
4
  export default StackWrapBox;