@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
@@ -6,19 +6,17 @@ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
6
6
  import View from "react-native-web/dist/exports/View";
7
7
  import { applyOuterBorder, useThemeTokensCallback, applyShadowToken } from '../ThemeProvider';
8
8
  import { a11yProps, clickProps, getTokensPropType, hrefAttrsProp, linkProps, resolvePressableState, selectSystemProps, selectTokens, variantProp, viewProps, withLinkRouter } from '../utils';
9
- import Icon from '../Icon'; // function to get the dimentionals of the conditionals
9
+ import Icon from '../Icon';
10
10
 
11
+ // function to get the dimentionals of the conditionals
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
-
13
13
  const getPasswordDimensions = (password, width, height) => {
14
14
  return password ? {
15
15
  width,
16
16
  height
17
17
  } : {};
18
18
  };
19
-
20
19
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
21
-
22
20
  const selectOuterStyle = (_ref, password) => {
23
21
  let {
24
22
  backgroundColor,
@@ -58,10 +56,8 @@ const selectOuterStyle = (_ref, password) => {
58
56
  })
59
57
  }, staticStyles.outer];
60
58
  };
61
-
62
59
  const calculatePadding = (padding, borderWidth) => padding && Math.max(0, padding - borderWidth); // Stable size as border changes
63
60
 
64
-
65
61
  const selectInnerStyle = (_ref2, password) => {
66
62
  let {
67
63
  borderColor,
@@ -112,13 +108,12 @@ const selectInnerStyle = (_ref2, password) => {
112
108
  ...getPasswordDimensions(password, width, height)
113
109
  };
114
110
  };
111
+
115
112
  /**
116
113
  * A pressable themeless base component that handles pressable states and passes tokens
117
114
  * based on these to an outer border and a base Card component. Not intended to be used in
118
115
  * apps or sites directly: build themed components on top of this.
119
116
  */
120
-
121
-
122
117
  const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
123
118
  let {
124
119
  tokens,
@@ -134,13 +129,12 @@ const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
134
129
  onPress,
135
130
  ...rest
136
131
  } = clickProps.toPressProps(rawRest);
137
- const selectedProps = selectProps({ ...rest,
132
+ const selectedProps = selectProps({
133
+ ...rest,
138
134
  accessibilityRole
139
135
  });
140
-
141
136
  const handlePress = () => {
142
137
  var _ref$current;
143
-
144
138
  linkProps.handleHref({
145
139
  href,
146
140
  onPress
@@ -150,11 +144,8 @@ const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
150
144
  }
151
145
  });
152
146
  };
153
-
154
147
  const getTokens = useThemeTokensCallback('IconButton', tokens, variant);
155
-
156
148
  const getOuterStyle = pressableState => selectOuterStyle(getTokens(resolvePressableState(pressableState), variant.password));
157
-
158
149
  return /*#__PURE__*/_jsx(Pressable, {
159
150
  ref: ref,
160
151
  href: href,
@@ -178,31 +169,27 @@ const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
178
169
  });
179
170
  });
180
171
  IconButton.displayName = 'IconButton';
181
- IconButton.propTypes = { ...selectedSystemPropTypes,
172
+ IconButton.propTypes = {
173
+ ...selectedSystemPropTypes,
182
174
  variant: variantProp.propType,
183
175
  tokens: getTokensPropType('IconButton'),
184
-
185
176
  /**
186
177
  * A unique identifier for testing purposes.
187
178
  * Will be added as a `data-testid` attribute.
188
179
  */
189
180
  testID: PropTypes.string,
190
-
191
181
  /**
192
182
  * Defines the icon to be rendered
193
183
  */
194
184
  icon: PropTypes.elementType,
195
-
196
185
  /**
197
186
  * URL to navigate to when the `Iconbutton` is pressed
198
187
  */
199
188
  href: PropTypes.string,
200
-
201
189
  /**
202
190
  * URL options to navigate to when the `Iconbutton` is pressed
203
191
  */
204
192
  hrefAttrs: PropTypes.shape(hrefAttrsProp.types),
205
-
206
193
  /**
207
194
  * Function to execute when the `Iconbutton` is pressed
208
195
  */
@@ -11,11 +11,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
13
13
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
14
-
15
- const selectLabelStyles = (tokens, themeOptions) => applyTextStyles({ ...selectTokens('Typography', tokens),
14
+ const selectLabelStyles = (tokens, themeOptions) => applyTextStyles({
15
+ ...selectTokens('Typography', tokens),
16
16
  themeOptions
17
17
  });
18
-
19
18
  const selectHintStyles = (_ref, themeOptions) => {
20
19
  let {
21
20
  hintColor,
@@ -33,7 +32,6 @@ const selectHintStyles = (_ref, themeOptions) => {
33
32
  themeOptions
34
33
  });
35
34
  };
36
-
37
35
  const selectGapStyles = _ref2 => {
38
36
  let {
39
37
  gap
@@ -42,7 +40,6 @@ const selectGapStyles = _ref2 => {
42
40
  marginRight: gap
43
41
  };
44
42
  };
45
-
46
43
  const InputLabel = /*#__PURE__*/forwardRef((_ref3, ref) => {
47
44
  let {
48
45
  copy = 'en',
@@ -95,38 +92,32 @@ const InputLabel = /*#__PURE__*/forwardRef((_ref3, ref) => {
95
92
  });
96
93
  });
97
94
  InputLabel.displayName = 'InputLabel';
98
- InputLabel.propTypes = { ...selectedSystemPropTypes,
99
-
95
+ InputLabel.propTypes = {
96
+ ...selectedSystemPropTypes,
100
97
  /**
101
98
  * Whether the English or French copy will be used (e.g. for accessibility labels).
102
99
  */
103
100
  copy: PropTypes.oneOf(['en', 'fr']),
104
-
105
101
  /**
106
102
  * The input label.
107
103
  */
108
104
  label: PropTypes.string.isRequired,
109
-
110
105
  /**
111
106
  * The id attribute of the input which this label refers to.
112
107
  */
113
108
  forId: PropTypes.string,
114
-
115
109
  /**
116
110
  * A short description of the expected input.
117
111
  */
118
112
  hint: PropTypes.string,
119
-
120
113
  /**
121
114
  * Position of the hint relative to label. Use `below` to display a larger hint below the label.
122
115
  */
123
116
  hintPosition: PropTypes.oneOf(['inline', 'below']),
124
-
125
117
  /**
126
118
  * The id attribute passed down to the hint element.
127
119
  */
128
120
  hintId: PropTypes.string,
129
-
130
121
  /**
131
122
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
132
123
  */
@@ -17,8 +17,9 @@ LabelContent.displayName = 'LabelContent';
17
17
  LabelContent.propTypes = {
18
18
  children: PropTypes.string,
19
19
  forId: PropTypes.string
20
- }; // Note that <label> is not React Native, so we can't use `StyleSheet.create` here
20
+ };
21
21
 
22
+ // Note that <label> is not React Native, so we can't use `StyleSheet.create` here
22
23
  const staticStyles = {
23
24
  inheritCursor: {
24
25
  cursor: 'inherit'
@@ -1,7 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import View from "react-native-web/dist/exports/View"; // Since there's no equivalent for web's <label> element we're simply rendering whatever is passed to this component.
4
-
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  const LabelContent = /*#__PURE__*/forwardRef((_ref, ref) => {
7
6
  let {
@@ -60,48 +60,39 @@ const InputSupports = /*#__PURE__*/forwardRef((_ref, ref) => {
60
60
  InputSupports.displayName = 'InputSupports';
61
61
  InputSupports.propTypes = {
62
62
  children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
63
-
64
63
  /**
65
64
  * Whether the English or French copy will be used (e.g. for accessibility labels).
66
65
  */
67
66
  copy: PropTypes.oneOf(['en', 'fr']),
68
-
69
67
  /**
70
68
  * The input label.
71
69
  */
72
70
  label: PropTypes.string,
73
-
74
71
  /**
75
72
  * A short description of the expected input.
76
73
  */
77
74
  hint: PropTypes.string,
78
-
79
75
  /**
80
76
  * Position of the hint relative to label.
81
77
  */
82
78
  hintPosition: PropTypes.oneOf(['inline', 'below']),
83
-
84
79
  /**
85
80
  * A detailed description of validation error/success or additional instructions.
86
81
  * Visual variant is determined based on the `validation` prop.
87
82
  */
88
83
  feedback: PropTypes.string,
89
-
90
84
  /**
91
85
  * Additional tokens to override the default feedback tokens.
92
86
  */
93
87
  feedbackTokens: PropTypes.objectOf(PropTypes.string),
94
-
95
88
  /**
96
89
  * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
97
90
  */
98
91
  tooltip: PropTypes.string,
99
-
100
92
  /**
101
93
  * Use to visually mark an input as valid or invalid.
102
94
  */
103
95
  validation: PropTypes.oneOf(['error', 'success']),
104
-
105
96
  /**
106
97
  * ID for DOM element on web
107
98
  */
@@ -1,7 +1,5 @@
1
1
  import useUniqueId from '../utils/useUniqueId';
2
-
3
2
  const joinDefined = array => array.filter(item => item !== undefined).join(' ');
4
-
5
3
  const useInputSupports = _ref => {
6
4
  let {
7
5
  label,
@@ -18,7 +16,8 @@ const useInputSupports = _ref => {
18
16
  accessibilityLabel: label,
19
17
  accessibilityHint: joinDefined([!hasValidationError && feedback, hint]),
20
18
  // native only -> replaced with describedBy on web
21
- accessibilityDescribedBy: joinDefined([!hasValidationError && feedback && feedbackId, // feedback receives a11yRole=alert on error, so there's no need to include it here
19
+ accessibilityDescribedBy: joinDefined([!hasValidationError && feedback && feedbackId,
20
+ // feedback receives a11yRole=alert on error, so there's no need to include it here
22
21
  hint && hintId]),
23
22
  accessibilityInvalid: hasValidationError
24
23
  };
@@ -29,5 +28,4 @@ const useInputSupports = _ref => {
29
28
  a11yProps
30
29
  };
31
30
  };
32
-
33
31
  export default useInputSupports;
@@ -3,13 +3,13 @@ import PropTypes from 'prop-types';
3
3
  import { useThemeTokensCallback } from '../ThemeProvider';
4
4
  import { selectTokens, getTokensPropType, linkProps } from '../utils';
5
5
  import LinkBase from './LinkBase';
6
+
6
7
  /**
7
8
  * `ChevronLink` is a convenience wrapper around the `Link` component to enable "directional" links.
8
9
  * It effectively pre-binds left and right icons, and a directional translation of the icon on hover.
9
10
  *
10
11
  * ChevronLink is not intended to be deeply themable; variants passed to ChevronLink are forwarded to Link.
11
12
  */
12
-
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
15
15
  let {
@@ -21,7 +21,6 @@ const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
21
21
  ...otherlinkProps
22
22
  } = _ref;
23
23
  const getChevronTokens = useThemeTokensCallback('ChevronLink', tokens, variant);
24
-
25
24
  const applyChevronTokens = linkState => {
26
25
  const {
27
26
  leftIcon,
@@ -32,16 +31,17 @@ const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
32
31
  ...otherTokens
33
32
  } = getChevronTokens(linkState);
34
33
  const linkTokens = selectTokens('Link', otherTokens);
35
- return { ...linkTokens,
34
+ return {
35
+ ...linkTokens,
36
36
  height,
37
37
  blockFontSize: tokens.fontSize ?? fontSize,
38
38
  icon: direction === 'right' ? rightIcon : leftIcon,
39
39
  iconTranslateX: iconDisplace * (direction === 'right' ? 1 : -1) || 0
40
40
  };
41
41
  };
42
-
43
42
  const getTokens = useThemeTokensCallback('Link', applyChevronTokens, variant);
44
- return /*#__PURE__*/_jsx(LinkBase, { ...otherlinkProps,
43
+ return /*#__PURE__*/_jsx(LinkBase, {
44
+ ...otherlinkProps,
45
45
  iconPosition: direction,
46
46
  tokens: getTokens,
47
47
  dataSet: dataSet,
@@ -50,7 +50,8 @@ const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
50
50
  });
51
51
  });
52
52
  ChevronLink.displayName = 'ChevronLink';
53
- ChevronLink.propTypes = { ...LinkBase.propTypes,
53
+ ChevronLink.propTypes = {
54
+ ...LinkBase.propTypes,
54
55
  children: PropTypes.node,
55
56
  variant: PropTypes.exact({
56
57
  size: PropTypes.oneOf(['large', 'small', 'micro']),
@@ -59,7 +60,6 @@ ChevronLink.propTypes = { ...LinkBase.propTypes,
59
60
  }),
60
61
  ...linkProps.types,
61
62
  tokens: getTokensPropType('ChevronLink', 'Link'),
62
-
63
63
  /**
64
64
  * Changes direction of chevron icon
65
65
  */
@@ -4,7 +4,6 @@ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
4
  /**
5
5
  * @typedef {import('react-native').PressableProps} PressableProps
6
6
  */
7
-
8
7
  /**
9
8
  * InlinePressable is an alternative to React Native's Pressable that works better when nested
10
9
  * inline inside Text. It accepts the same props as React Native's Pressable.
@@ -15,7 +14,6 @@ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
15
14
  */
16
15
  // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
17
16
  // eslint-disable-next-line react/prop-types
18
-
19
17
  import { jsx as _jsx } from "react/jsx-runtime";
20
18
  const InlinePressable = /*#__PURE__*/forwardRef((_ref, ref) => {
21
19
  let {
@@ -6,9 +6,7 @@ import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWit
6
6
  * @typedef {import('react-native').PressableProps} PressableProps
7
7
  */
8
8
  // TouchableWithoutFeedback and Pressable have similar but not identical props APIs
9
-
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
11
-
12
10
  const pressablePropsToTouchable = _ref => {
13
11
  let {
14
12
  unstable_pressDelay,
@@ -17,11 +15,13 @@ const pressablePropsToTouchable = _ref => {
17
15
  // Unsupported, discard it
18
16
  ...props
19
17
  } = _ref;
20
- return { ...props,
18
+ return {
19
+ ...props,
21
20
  touchSoundDisabled: android_disableSound,
22
21
  delayPressIn: unstable_pressDelay
23
22
  };
24
23
  };
24
+
25
25
  /**
26
26
  * InlinePressable is an alternative to React Native's Pressable that works better when nested
27
27
  * inline inside Text. It accepts the same props as React Native's Pressable.
@@ -42,8 +42,6 @@ const pressablePropsToTouchable = _ref => {
42
42
  */
43
43
  // React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
44
44
  // eslint-disable-next-line react/prop-types
45
-
46
-
47
45
  const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
48
46
  let {
49
47
  onPress,
@@ -52,24 +50,18 @@ const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
52
50
  ...rest
53
51
  } = _ref2;
54
52
  const [isFocused, setIsFocused] = useState(false);
55
-
56
53
  const handleFocus = () => setIsFocused(true);
57
-
58
54
  const handleBlur = () => setIsFocused(false);
59
-
60
55
  const [isPressed, setIsPressed] = useState(false);
61
-
62
56
  const handlePressIn = () => setIsPressed(true);
63
-
64
57
  const handlePressOut = () => setIsPressed(false);
65
-
66
58
  const pressState = {
67
59
  pressed: isPressed,
68
60
  focus: isFocused,
69
61
  // limited support on native
70
62
  hover: false // not yet supported on native
71
-
72
63
  };
64
+
73
65
  const currentStyle = typeof style === 'function' ? style(pressState) : style;
74
66
  return /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
75
67
  onPress: onPress,
@@ -11,7 +11,6 @@ import { applyTextStyles, applyOuterBorder, useTheme } from '../ThemeProvider';
11
11
  import { IconText, iconComponentPropTypes } from '../Icon';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps, viewProps]);
14
-
15
14
  const selectOuterBorderStyles = _ref => {
16
15
  let {
17
16
  outerBorderColor,
@@ -20,7 +19,8 @@ const selectOuterBorderStyles = _ref => {
20
19
  borderRadius,
21
20
  outerBorderOutline
22
21
  } = _ref;
23
- return (// A view wrapper with a border on native messes up inline text alignment
22
+ return (
23
+ // A view wrapper with a border on native messes up inline text alignment
24
24
  // so for now make focus styles strictly web-only
25
25
  Platform.OS === 'web' ? {
26
26
  // Allow theme to define outline, or, turn off outline and use border if rounded corners required
@@ -34,7 +34,6 @@ const selectOuterBorderStyles = _ref => {
34
34
  } : {}
35
35
  );
36
36
  };
37
-
38
37
  const selectTextStyles = _ref2 => {
39
38
  let {
40
39
  color,
@@ -53,7 +52,6 @@ const selectTextStyles = _ref2 => {
53
52
  })
54
53
  };
55
54
  };
56
-
57
55
  const selectBlockStyles = (_ref3, themeOptions) => {
58
56
  let {
59
57
  blockFontWeight,
@@ -69,7 +67,6 @@ const selectBlockStyles = (_ref3, themeOptions) => {
69
67
  themeOptions
70
68
  });
71
69
  };
72
-
73
70
  const selectDecorationStyles = _ref4 => {
74
71
  let {
75
72
  color,
@@ -90,7 +87,6 @@ const selectDecorationStyles = _ref4 => {
90
87
  })
91
88
  };
92
89
  };
93
-
94
90
  const selectIconTokens = _ref5 => {
95
91
  let {
96
92
  color,
@@ -105,6 +101,7 @@ const selectIconTokens = _ref5 => {
105
101
  size: iconSize
106
102
  };
107
103
  };
104
+
108
105
  /**
109
106
  * Renders a pressable text link, with optional icon. This is rendered as a block element
110
107
  * only (see 'Current Limitations'). On Web, renders an `<a>` anchor tag if `href` is provided.
@@ -127,8 +124,6 @@ const selectIconTokens = _ref5 => {
127
124
  * dropped in favour of investigating if a full-featured CSS-in-JS package could or
128
125
  * should be used more widely (e.g. styled components)
129
126
  */
130
-
131
-
132
127
  const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
133
128
  let {
134
129
  href,
@@ -159,20 +154,21 @@ const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
159
154
  hrefAttrs,
160
155
  ...rest
161
156
  });
162
-
163
157
  const resolveLinkTokens = pressState => resolvePressableTokens(tokens, pressState, {
164
158
  iconPosition
165
159
  });
166
-
167
160
  const defaultThemeTokens = resolveLinkTokens({});
168
- const hasIcon = Boolean(icon || defaultThemeTokens.icon); // On web, this makes focus rings wrap only the link, not the entire block
161
+ const hasIcon = Boolean(icon || defaultThemeTokens.icon);
169
162
 
163
+ // On web, this makes focus rings wrap only the link, not the entire block
170
164
  const blockLeftStyle = Platform.OS === 'web' && staticStyles.blockLeft;
171
165
  const {
172
166
  themeOptions
173
167
  } = useTheme();
174
- return /*#__PURE__*/_jsx(InlinePressable, { ...selectedProps,
175
- inlineFlex: hasIcon // assuming links without icons should be inline (even if they are long)
168
+ return /*#__PURE__*/_jsx(InlinePressable, {
169
+ ...selectedProps,
170
+ inlineFlex: hasIcon
171
+ // assuming links without icons should be inline (even if they are long)
176
172
  ,
177
173
  ref: ref,
178
174
  style: linkState => {
@@ -184,9 +180,9 @@ const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
184
180
  children: linkState => {
185
181
  const themeTokens = resolveLinkTokens(linkState);
186
182
  const textStyles = selectTextStyles(themeTokens);
187
- const iconTokens = selectIconTokens(themeTokens); // TODO: may need to apply some smarter text inheritance here if inline to avoid native
183
+ const iconTokens = selectIconTokens(themeTokens);
184
+ // TODO: may need to apply some smarter text inheritance here if inline to avoid native
188
185
  // issues like double-application of line heights breaking align-items: baseline
189
-
190
186
  const blockTextStyles = selectBlockStyles(themeTokens, themeOptions);
191
187
  const IconComponent = icon || themeTokens.icon;
192
188
  const {
@@ -196,7 +192,8 @@ const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
196
192
  icon: IconComponent,
197
193
  iconPosition: iconPosition,
198
194
  space: iconSpace,
199
- iconProps: { ...iconProps,
195
+ iconProps: {
196
+ ...iconProps,
200
197
  tokens: iconTokens,
201
198
  style: staticStyles.bubblePointerEvents
202
199
  },
@@ -209,40 +206,34 @@ const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
209
206
  });
210
207
  });
211
208
  LinkBase.displayName = 'LinkBase';
212
- LinkBase.propTypes = { ...selectedSystemPropTypes,
209
+ LinkBase.propTypes = {
210
+ ...selectedSystemPropTypes,
213
211
  tokens: getTokensPropType('Link'),
214
-
215
212
  /**
216
213
  * href for the Link
217
214
  */
218
215
  href: PropTypes.string,
219
-
220
216
  /**
221
217
  * AccesibilityRole for the link base
222
218
  */
223
219
  accessibilityrole: PropTypes.string,
224
-
225
220
  /**
226
221
  * Children nodes that can be added
227
222
  */
228
223
  variant: variantProp.propType,
229
-
230
224
  /**
231
225
  * Optional variant that may be passed down to the link's icon if there is one
232
226
  */
233
227
  iconProps: PropTypes.exact(iconComponentPropTypes),
234
-
235
228
  /**
236
229
  * A function component for an SVG icon to render inside the link. Inherits size and color from
237
230
  * the link and any Typography the link is nested inside.
238
231
  */
239
232
  icon: PropTypes.elementType,
240
-
241
233
  /**
242
234
  * When `icon` is provided, use `iconPosition` to place the Icon to the left or right side of Link.
243
235
  */
244
236
  iconPosition: PropTypes.oneOf(['left', 'right']),
245
-
246
237
  /**
247
238
  * On Web if href is passed, React Native Web maps this object's props to
248
239
  * `rel`, `target` and `download` attrs.
@@ -260,7 +251,8 @@ const staticStyles = StyleSheet.create({
260
251
  baseline: {
261
252
  alignSelf: 'baseline'
262
253
  },
263
- bubblePointerEvents: { ...Platform.select({
254
+ bubblePointerEvents: {
255
+ ...Platform.select({
264
256
  web: {
265
257
  pointerEvents: 'none'
266
258
  }
@@ -3,12 +3,12 @@ import PropTypes from 'prop-types';
3
3
  import { useThemeTokensCallback } from '../ThemeProvider';
4
4
  import LinkBase from './LinkBase';
5
5
  import { variantProp } from '../utils';
6
+
6
7
  /**
7
8
  * `TextButton` is a button that looks like a Link. It uses the same theming and variants as
8
9
  * Link but has the accessibility role of a `Button`. It should be used for actions that
9
10
  * take place on the current page, or for navigation within an app.
10
11
  */
11
-
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const TextButton = /*#__PURE__*/forwardRef((_ref, ref) => {
14
14
  let {
@@ -30,15 +30,13 @@ const TextButton = /*#__PURE__*/forwardRef((_ref, ref) => {
30
30
  });
31
31
  });
32
32
  TextButton.displayName = 'TextButton';
33
- TextButton.propTypes = { ...LinkBase.propTypes,
34
-
33
+ TextButton.propTypes = {
34
+ ...LinkBase.propTypes,
35
35
  /** onPress function */
36
36
  onPress: PropTypes.func.isRequired,
37
-
38
37
  /** Children node that can be added */
39
38
  children: PropTypes.node.isRequired,
40
39
  variant: variantProp.propType,
41
-
42
40
  /** Accesibility role for TextButton */
43
41
  accessibilityRole: PropTypes.string
44
42
  };
@@ -5,20 +5,17 @@ import PropTypes from 'prop-types';
5
5
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
8
-
9
8
  const isListItem = element => {
10
9
  var _element$type, _element$type2;
11
-
12
- const elementName = (element === null || element === void 0 ? void 0 : (_element$type = element.type) === null || _element$type === void 0 ? void 0 : _element$type.displayName) || (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2.name); // Match our own ListItem, and also, custom list items
13
-
10
+ const elementName = (element === null || element === void 0 ? void 0 : (_element$type = element.type) === null || _element$type === void 0 ? void 0 : _element$type.displayName) || (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2.name);
11
+ // Match our own ListItem, and also, custom list items
14
12
  return Boolean(elementName.match(/Item/));
15
13
  };
14
+
16
15
  /**
17
16
  * An unordered List component has a child a ListItem that
18
17
  * allows icon, dividers and customized typography
19
18
  */
20
-
21
-
22
19
  const List = /*#__PURE__*/forwardRef((_ref, ref) => {
23
20
  let {
24
21
  children,
@@ -42,7 +39,6 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
42
39
  ...child.props
43
40
  });
44
41
  }
45
-
46
42
  return child;
47
43
  });
48
44
  return /*#__PURE__*/_jsx(View, {
@@ -57,11 +53,11 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
57
53
  });
58
54
  });
59
55
  List.displayName = 'List';
60
- List.propTypes = { ...selectedSystemPropTypes,
56
+ List.propTypes = {
57
+ ...selectedSystemPropTypes,
61
58
  tokens: getTokensPropType('List'),
62
59
  variant: variantProp.propType,
63
60
  children: PropTypes.node,
64
-
65
61
  /**
66
62
  * In case it is not the last item allow display divider
67
63
  */
@@ -2,10 +2,10 @@ import React, { forwardRef } from 'react';
2
2
  import ListItemBase from './ListItemBase';
3
3
  import { useThemeTokens } from '../ThemeProvider';
4
4
  import { variantProp } from '../utils';
5
+
5
6
  /**
6
7
  * ListItem is responsible for rendering icon or a bullet as side item
7
8
  */
8
-
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const ListItem = /*#__PURE__*/forwardRef((_ref, ref) => {
11
11
  let {