@telus-uds/components-base 1.65.0 → 1.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/CHANGELOG.md +22 -2
  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 +5 -37
  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 +215 -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 +7 -38
  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 +106 -69
  191. package/lib/TextInput/index.js +0 -3
  192. package/lib/TextInput/propTypes.js +4 -7
  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 +11 -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 +5 -23
  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 +205 -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 +7 -25
  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 +107 -51
  416. package/lib-module/TextInput/propTypes.js +7 -6
  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 +14 -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/CheckboxCardGroup/CheckboxCardGroup.jsx +230 -0
  481. package/src/CheckboxCardGroup/index.js +3 -0
  482. package/src/Modal/Modal.jsx +98 -5
  483. package/src/Modal/ModalContent.jsx +171 -0
  484. package/src/TextInput/TextInputBase.jsx +67 -12
  485. package/src/TextInput/propTypes.js +4 -0
  486. package/src/index.js +1 -0
  487. package/src/utils/props/textInputProps.js +1 -0
@@ -4,43 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
11
-
12
9
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
17
-
18
12
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
19
-
20
13
  var _shared = _interopRequireDefault(require("./shared"));
21
-
22
14
  var _floatingUi = require("../utils/floating-ui");
23
-
24
15
  var _ThemeProvider = require("../ThemeProvider");
25
-
26
16
  var _utils = require("../utils");
27
-
28
17
  var _TooltipButton = _interopRequireDefault(require("../TooltipButton"));
29
-
30
18
  var _useCopy = _interopRequireDefault(require("../utils/useCopy"));
31
-
32
19
  var _dictionary = _interopRequireDefault(require("./dictionary"));
33
-
34
20
  var _jsxRuntime = require("react/jsx-runtime");
35
-
36
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
-
40
23
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
-
42
24
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
43
-
44
25
  const selectTooltipStyles = _ref => {
45
26
  let {
46
27
  backgroundColor,
@@ -59,7 +40,6 @@ const selectTooltipStyles = _ref => {
59
40
  borderRadius
60
41
  };
61
42
  };
62
-
63
43
  const selectTooltipShadowStyles = _ref2 => {
64
44
  let {
65
45
  shadow,
@@ -70,7 +50,6 @@ const selectTooltipShadowStyles = _ref2 => {
70
50
  ...(0, _ThemeProvider.applyShadowToken)(shadow)
71
51
  };
72
52
  };
73
-
74
53
  const selectMobileTooltipPositionStyles = _ref3 => {
75
54
  let {
76
55
  top,
@@ -83,7 +62,6 @@ const selectMobileTooltipPositionStyles = _ref3 => {
83
62
  position
84
63
  };
85
64
  };
86
-
87
65
  const selectMobileArrowStyles = (_ref4, _ref5) => {
88
66
  let {
89
67
  backgroundColor,
@@ -119,13 +97,12 @@ const selectMobileArrowStyles = (_ref4, _ref5) => {
119
97
  [staticSide]: '-4px'
120
98
  };
121
99
  };
122
-
123
100
  const selectTextStyles = tokens => (0, _ThemeProvider.applyTextStyles)((0, _utils.selectTokens)('Typography', tokens));
124
-
125
101
  const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipButton.default, {
126
102
  pressableState: pressableState,
127
103
  variant: variant
128
104
  });
105
+
129
106
  /**
130
107
  * Tooltip provides a descriptive and detailed explanation or instructions. It can be used next to an input label
131
108
  * to help a user fill it in, or as a standalone component.
@@ -141,8 +118,6 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime
141
118
  * - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
142
119
  * - Tooltips may also be useful when vertical space is an issue.
143
120
  */
144
-
145
-
146
121
  const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
147
122
  let {
148
123
  children,
@@ -166,8 +141,9 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
166
141
  right: 'right',
167
142
  below: 'bottom',
168
143
  left: 'left'
169
- }; // "AutoPlacement" can't be used with "flip"
144
+ };
170
145
 
146
+ // "AutoPlacement" can't be used with "flip"
171
147
  const additionalMiddleware = position !== 'auto' ? _floatingUi.autoPlacement : _floatingUi.flip;
172
148
  const {
173
149
  x,
@@ -190,14 +166,11 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
190
166
  copy
191
167
  });
192
168
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('Tooltip', tokens, variant);
193
-
194
169
  const toggleIsOpen = () => {
195
170
  onPress();
196
171
  setIsOpen(!isOpen);
197
172
  };
198
-
199
173
  const close = () => setIsOpen(false);
200
-
201
174
  const getPressableState = _ref7 => {
202
175
  let {
203
176
  pressed,
@@ -210,7 +183,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
210
183
  focus: focused
211
184
  };
212
185
  };
213
-
214
186
  const onTooltipLayout = _ref8 => {
215
187
  let {
216
188
  nativeEvent: {
@@ -220,7 +192,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
220
192
  }
221
193
  }
222
194
  } = _ref8;
223
-
224
195
  if (tooltipDimensions === null || tooltipDimensions.width !== width || tooltipDimensions.height !== height) {
225
196
  setTooltipDimensions({
226
197
  width: _Platform.default.select({
@@ -232,7 +203,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
232
203
  });
233
204
  }
234
205
  };
235
-
236
206
  (0, _react.useEffect)(() => {
237
207
  if (!isOpen) {
238
208
  setTooltipDimensions(null);
@@ -270,7 +240,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
270
240
  children: typeof control === 'function' ? pressableState => control(getPressableState(pressableState), variant) : control
271
241
  }), isOpen && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
272
242
  ref: floating,
273
- style: [selectTooltipShadowStyles(themeTokens), staticStyles.tooltip, // applied separately so that it doesn't cover the arrow
243
+ style: [selectTooltipShadowStyles(themeTokens), staticStyles.tooltip,
244
+ // applied separately so that it doesn't cover the arrow
274
245
  selectMobileTooltipPositionStyles({
275
246
  position: strategy,
276
247
  top: y ?? 0,
@@ -279,7 +250,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
279
250
  onLayout: onTooltipLayout,
280
251
  accessibilityRole: "alert",
281
252
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
282
- style: [staticStyles.arrow, selectMobileArrowStyles(themeTokens, { ...arrowData,
253
+ style: [staticStyles.arrow, selectMobileArrowStyles(themeTokens, {
254
+ ...arrowData,
283
255
  placement
284
256
  })],
285
257
  ref: arrowRef
@@ -294,12 +266,12 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
294
266
  });
295
267
  });
296
268
  Tooltip.displayName = 'Tooltip';
297
- Tooltip.propTypes = { ...selectedSystemPropTypes,
269
+ Tooltip.propTypes = {
270
+ ...selectedSystemPropTypes,
298
271
  ..._shared.default
299
272
  };
300
273
  var _default = Tooltip;
301
274
  exports.default = _default;
302
-
303
275
  const staticStyles = _StyleSheet.default.create({
304
276
  container: {
305
277
  alignItems: 'flex-start',
@@ -4,47 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _Dimensions = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Dimensions"));
11
-
12
9
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
-
14
10
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
15
-
16
11
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
17
-
18
12
  var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
19
-
20
13
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
21
-
22
14
  var _shared = _interopRequireDefault(require("./shared"));
23
-
24
15
  var _ThemeProvider = require("../ThemeProvider");
25
-
26
16
  var _utils = require("../utils");
27
-
28
17
  var _Backdrop = _interopRequireDefault(require("./Backdrop"));
29
-
30
18
  var _getTooltipPosition = _interopRequireDefault(require("./getTooltipPosition"));
31
-
32
19
  var _TooltipButton = _interopRequireDefault(require("../TooltipButton"));
33
-
34
20
  var _useCopy = _interopRequireDefault(require("../utils/useCopy"));
35
-
36
21
  var _dictionary = _interopRequireDefault(require("./dictionary"));
37
-
38
22
  var _jsxRuntime = require("react/jsx-runtime");
39
-
40
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
-
42
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
-
44
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
46
26
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
47
-
48
27
  const selectTooltipStyles = _ref => {
49
28
  let {
50
29
  backgroundColor,
@@ -63,7 +42,6 @@ const selectTooltipStyles = _ref => {
63
42
  borderRadius
64
43
  };
65
44
  };
66
-
67
45
  const selectTooltipShadowStyles = _ref2 => {
68
46
  let {
69
47
  shadow,
@@ -74,7 +52,6 @@ const selectTooltipShadowStyles = _ref2 => {
74
52
  ...(0, _ThemeProvider.applyShadowToken)(shadow)
75
53
  };
76
54
  };
77
-
78
55
  const selectTooltipPositionStyles = _ref3 => {
79
56
  let {
80
57
  top,
@@ -87,7 +64,6 @@ const selectTooltipPositionStyles = _ref3 => {
87
64
  width
88
65
  };
89
66
  };
90
-
91
67
  const selectArrowStyles = (_ref4, _ref5) => {
92
68
  let {
93
69
  backgroundColor,
@@ -101,13 +77,15 @@ const selectArrowStyles = (_ref4, _ref5) => {
101
77
  height: tooltipHeight
102
78
  } = _ref5;
103
79
  // the arrow width is actually a diagonal of the rectangle that we'll use as a tip
104
- const rectangleSide = Math.sqrt(arrowWidth * arrowWidth / 2); // position the arrow at the side and center of the tooltip - this happens before rotation
105
- // so we use the rectangle size as basis
80
+ const rectangleSide = Math.sqrt(arrowWidth * arrowWidth / 2);
106
81
 
82
+ // position the arrow at the side and center of the tooltip - this happens before rotation
83
+ // so we use the rectangle size as basis
107
84
  const verticalOffset = -1 * rectangleSide / 2;
108
- const horizontalOffset = rectangleSide / 2; // percentage-based absolute positioning doesn't act well on native, so we have to
109
- // calculate the pixel values
85
+ const horizontalOffset = rectangleSide / 2;
110
86
 
87
+ // percentage-based absolute positioning doesn't act well on native, so we have to
88
+ // calculate the pixel values
111
89
  const directionalStyles = {
112
90
  above: {
113
91
  bottom: verticalOffset,
@@ -148,13 +126,12 @@ const selectArrowStyles = (_ref4, _ref5) => {
148
126
  ...directionalStyles[position]
149
127
  };
150
128
  };
151
-
152
129
  const selectTextStyles = tokens => (0, _ThemeProvider.applyTextStyles)((0, _utils.selectTokens)('Typography', tokens));
153
-
154
130
  const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipButton.default, {
155
131
  pressableState: pressableState,
156
132
  variant: variant
157
133
  });
134
+
158
135
  /**
159
136
  * Tooltip provides a descriptive and detailed explanation or instructions. It can be used next to an input label
160
137
  * to help a user fill it in, or as a standalone component.
@@ -170,8 +147,6 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime
170
147
  * - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
171
148
  * - Tooltips may also be useful when vertical space is an issue.
172
149
  */
173
-
174
-
175
150
  const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
176
151
  let {
177
152
  children,
@@ -207,17 +182,13 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
207
182
  } = _ref7;
208
183
  setWindowDimensions(window);
209
184
  });
210
-
211
185
  return () => subscription === null || subscription === void 0 ? void 0 : subscription.remove();
212
186
  });
213
-
214
187
  const toggleIsOpen = () => {
215
188
  onPress();
216
189
  setIsOpen(!isOpen);
217
190
  };
218
-
219
191
  const close = () => setIsOpen(false);
220
-
221
192
  const getPressableState = _ref8 => {
222
193
  let {
223
194
  pressed,
@@ -230,7 +201,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
230
201
  focus: focused
231
202
  };
232
203
  };
233
-
234
204
  const onTooltipLayout = _ref9 => {
235
205
  let {
236
206
  nativeEvent: {
@@ -240,7 +210,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
240
210
  }
241
211
  }
242
212
  } = _ref9;
243
-
244
213
  if (tooltipDimensions === null || tooltipDimensions.width !== width || tooltipDimensions.height !== height) {
245
214
  setTooltipDimensions({
246
215
  width: _Platform.default.select({
@@ -252,7 +221,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
252
221
  });
253
222
  }
254
223
  };
255
-
256
224
  (0, _react.useEffect)(() => {
257
225
  if (isOpen) {
258
226
  controlRef.current.measureInWindow((x, y, width, height) => {
@@ -276,19 +244,18 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
276
244
  if (tooltipPosition !== null && !(tooltipPosition !== null && tooltipPosition !== void 0 && tooltipPosition.isNormalized) || !isOpen || controlLayout === null || tooltipDimensions == null) {
277
245
  return;
278
246
  }
279
-
280
247
  const updatedPosition = (0, _getTooltipPosition.default)(position, {
281
248
  controlLayout,
282
249
  tooltipDimensions,
283
250
  windowDimensions,
284
251
  arrowWidth,
285
252
  arrowOffset
286
- }); // avoid ending up in an infinite normalization loop
253
+ });
287
254
 
255
+ // avoid ending up in an infinite normalization loop
288
256
  if (tooltipPosition !== null && tooltipPosition !== void 0 && tooltipPosition.isNormalized && updatedPosition.isNormalized) {
289
257
  return;
290
258
  }
291
-
292
259
  setTooltipPosition(updatedPosition);
293
260
  }, [isOpen, position, tooltipDimensions, controlLayout, windowDimensions, arrowWidth, arrowOffset, tooltipPosition]);
294
261
  const control = children !== undefined ? children : defaultControl;
@@ -324,9 +291,11 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
324
291
  onPress: close,
325
292
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
326
293
  ref: ref,
327
- style: [staticStyles.tooltip, selectTooltipShadowStyles(themeTokens), // applied separately so that it doesn't cover the arrow
294
+ style: [staticStyles.tooltip, selectTooltipShadowStyles(themeTokens),
295
+ // applied separately so that it doesn't cover the arrow
328
296
  tooltipPosition && selectTooltipPositionStyles(tooltipPosition), (tooltipPosition === null || (tooltipPosition === null || tooltipPosition === void 0 ? void 0 : tooltipPosition.isNormalized)) && staticStyles.tooltipHidden // visually hide the tooltip until we have a final measurement
329
297
  ],
298
+
330
299
  onLayout: onTooltipLayout,
331
300
  accessibilityRole: "alert",
332
301
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
@@ -343,12 +312,12 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
343
312
  });
344
313
  });
345
314
  Tooltip.displayName = 'NativeTooltip';
346
- Tooltip.propTypes = { ...selectedSystemPropTypes,
315
+ Tooltip.propTypes = {
316
+ ...selectedSystemPropTypes,
347
317
  ..._shared.default
348
318
  };
349
319
  var _default = Tooltip;
350
320
  exports.default = _default;
351
-
352
321
  const staticStyles = _StyleSheet.default.create({
353
322
  container: {
354
323
  alignItems: 'flex-start'
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  function normalizePosition(position) {
9
8
  const {
10
9
  left,
@@ -13,48 +12,42 @@ function normalizePosition(position) {
13
12
  top,
14
13
  width,
15
14
  ...rest
16
- } = position; // adjust the coordinates so that it fits within the window
15
+ } = position;
17
16
 
17
+ // adjust the coordinates so that it fits within the window
18
18
  const normalized = {
19
19
  left: Math.max(0, left),
20
20
  right: Math.max(0, right),
21
21
  top: Math.max(0, top),
22
22
  bottom // since it's ok the make the document grow downwards - no need to normalize here
23
-
24
23
  };
25
24
 
26
- const getAbsoluteDiff = (value1, value2) => Math.abs(Math.abs(value1) - Math.abs(value2)); // adjust the width by whatever has been subtracted from left or right
27
-
25
+ const getAbsoluteDiff = (value1, value2) => Math.abs(Math.abs(value1) - Math.abs(value2));
28
26
 
27
+ // adjust the width by whatever has been subtracted from left or right
29
28
  normalized.width = width - Math.abs(getAbsoluteDiff(left, normalized.left) - getAbsoluteDiff(right, normalized.right));
30
-
31
29
  if (normalized.top !== top) {
32
30
  normalized.bottom += normalized.top - top;
33
31
  }
34
-
35
32
  const isNormalized = normalized.right !== right || normalized.left !== left || normalized.top !== top;
36
- return { ...normalized,
33
+ return {
34
+ ...normalized,
37
35
  ...rest,
38
36
  isNormalized
39
37
  };
40
38
  }
41
-
42
39
  function invertPosition(position) {
43
40
  switch (position) {
44
41
  case 'above':
45
42
  return 'below';
46
-
47
43
  case 'below':
48
44
  return 'above';
49
-
50
45
  case 'left':
51
46
  return 'right';
52
-
53
47
  default:
54
48
  return 'left';
55
49
  }
56
50
  }
57
-
58
51
  function findRectByPosition(position, rectsArray) {
59
52
  return rectsArray.find(_ref => {
60
53
  let {
@@ -63,6 +56,7 @@ function findRectByPosition(position, rectsArray) {
63
56
  return rectPosition === position;
64
57
  });
65
58
  }
59
+
66
60
  /**
67
61
  * Used for absolute positioning of the tooltip. Since the tooltip is always centered relatively
68
62
  * to the control (button) and we have a limited set of positions, an easy and consistent way
@@ -71,8 +65,6 @@ function findRectByPosition(position, rectsArray) {
71
65
  * before it is shown, which makes it account for the width being limiting in styles, custom font
72
66
  * rendering, etc.
73
67
  */
74
-
75
-
76
68
  function getTooltipPosition(position, _ref2) {
77
69
  let {
78
70
  controlLayout,
@@ -103,8 +95,9 @@ function getTooltipPosition(position, _ref2) {
103
95
  const verticalBounds = {
104
96
  top: controlY,
105
97
  bottom: windowHeight - (controlY + controlHeight / 2 + tooltipHeight / 2)
106
- }; // calculate absolute coordinates for each of the potential positions (relative to window)
98
+ };
107
99
 
100
+ // calculate absolute coordinates for each of the potential positions (relative to window)
108
101
  const boundingRects = [{
109
102
  position: 'above',
110
103
  ...horizontalBounds,
@@ -128,42 +121,44 @@ function getTooltipPosition(position, _ref2) {
128
121
  }].map(rect => {
129
122
  // an absolute value representing how much of the tooltip is overflowing the window on each side
130
123
  const windowOverflow = Math.abs(Math.min(rect.top, 0) - Math.min(rect.left, 0) - Math.min(rect.right, 0) - Math.min(rect.bottom, 0));
131
- return { ...rect,
124
+ return {
125
+ ...rect,
132
126
  ...tooltipDimensions,
133
127
  overflow: windowOverflow,
134
128
  isNormalized: false
135
129
  };
136
- }); // the 'position' prop overrides the automatic positioning
130
+ });
137
131
 
132
+ // the 'position' prop overrides the automatic positioning
138
133
  if (position !== 'auto') {
139
- let rect = findRectByPosition(position, boundingRects); // check if the suggested 'position' fits in window
134
+ let rect = findRectByPosition(position, boundingRects);
140
135
 
136
+ // check if the suggested 'position' fits in window
141
137
  if (rect.overflow === 0) {
142
138
  return rect;
143
- } // otherwise try the inverted position (e.g. left -> right)
144
-
139
+ }
145
140
 
141
+ // otherwise try the inverted position (e.g. left -> right)
146
142
  rect = findRectByPosition(invertPosition(position), boundingRects);
147
-
148
143
  if (rect.overflow === 0) {
149
144
  return rect;
150
145
  }
151
146
  }
152
-
153
147
  const inWindow = boundingRects.filter(_ref3 => {
154
148
  let {
155
149
  overflow
156
150
  } = _ref3;
157
151
  return overflow === 0;
158
- }); // pick the first position that fits in window
159
- // (these are sorted clockwise which makes them show where one would expect them to be)
152
+ });
160
153
 
154
+ // pick the first position that fits in window
155
+ // (these are sorted clockwise which makes them show where one would expect them to be)
161
156
  if (inWindow.length > 0) {
162
157
  return inWindow[0];
163
- } // if all positions would end up being out of window bounds, let's pick the one that is
164
- // the least overflowing and normalize its position to fit within window bounds
165
-
158
+ }
166
159
 
160
+ // if all positions would end up being out of window bounds, let's pick the one that is
161
+ // the least overflowing and normalize its position to fit within window bounds
167
162
  boundingRects.sort((_ref4, _ref5) => {
168
163
  let {
169
164
  overflow: overflowA
@@ -173,11 +168,11 @@ function getTooltipPosition(position, _ref2) {
173
168
  } = _ref5;
174
169
  return overflowA - overflowB;
175
170
  });
176
- const leastOverflowing = boundingRects[0]; // prefer 'below' over 'above', since we can always expand the document downwards,
177
- // and 'above' might cause issues on small viewports with large tooltips
171
+ const leastOverflowing = boundingRects[0];
178
172
 
173
+ // prefer 'below' over 'above', since we can always expand the document downwards,
174
+ // and 'above' might cause issues on small viewports with large tooltips
179
175
  return normalizePosition(leastOverflowing.position === 'above' ? findRectByPosition('below', boundingRects) : leastOverflowing);
180
176
  }
181
-
182
177
  var _default = getTooltipPosition;
183
178
  exports.default = _default;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _Dimensions = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Dimensions"));
9
-
10
8
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
11
-
12
9
  var _Tooltip2 = _interopRequireDefault(require("./Tooltip.native"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  const Tooltip = !_Dimensions.default.get('screen').width <= 340 ? _Tooltip2.default : _Tooltip.default;
17
12
  var _default = Tooltip;
18
13
  exports.default = _default;
@@ -4,45 +4,35 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  const propTypes = {
15
11
  /**
16
12
  * Used to render the control (i.e. tooltip trigger). If a render function is used it will receive the
17
13
  * pressable state and tooltip variant as an argument.
18
14
  */
19
15
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
20
-
21
16
  /**
22
17
  * The message. Can be raw text or text components.
23
18
  */
24
19
  content: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
25
-
26
20
  /**
27
21
  * Select English or French copy for the accessible label.
28
22
  */
29
23
  copy: _propTypes.default.oneOf(['en', 'fr']),
30
-
31
24
  /**
32
25
  * Use to place the tooltip in a specific location (only if it fits within viewport).
33
26
  */
34
27
  position: _propTypes.default.oneOf(['auto', 'above', 'right', 'below', 'left']),
35
-
36
28
  /**
37
29
  * Display tooltip icon button as an inline element.
38
30
  */
39
31
  inline: _propTypes.default.bool,
40
-
41
32
  /**
42
33
  * Callback function triggered when the tooltip is pressed.
43
34
  */
44
35
  onPress: _propTypes.default.func,
45
-
46
36
  /**
47
37
  * The `id` of the tooltip button.
48
38
  */
@@ -4,29 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
-
12
9
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
13
-
14
10
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
15
-
16
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
12
  var _ThemeProvider = require("../ThemeProvider");
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _Icon = _interopRequireDefault(require("../Icon"));
23
-
24
15
  var _jsxRuntime = require("react/jsx-runtime");
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
29
-
30
18
  const selectInnerContainerStyles = _ref => {
31
19
  let {
32
20
  borderRadius,
@@ -39,7 +27,6 @@ const selectInnerContainerStyles = _ref => {
39
27
  backgroundColor
40
28
  };
41
29
  };
42
-
43
30
  const selectIconTokens = _ref2 => {
44
31
  let {
45
32
  iconSize,
@@ -52,13 +39,12 @@ const selectIconTokens = _ref2 => {
52
39
  scale: iconScale
53
40
  };
54
41
  };
42
+
55
43
  /**
56
44
  * `TooltipButton` is a helper component used as a default control for the `Tooltip` component.
57
45
  * In fact though, it isn't actually a pressable - it's meant to be used as pressable's content.
58
46
  * Due to this any interaction states (e.g. pressed, hover, etc.) has to be passed down to it as a prop.
59
47
  */
60
-
61
-
62
48
  const TooltipButton = _ref3 => {
63
49
  let {
64
50
  pressableState,
@@ -84,18 +70,17 @@ const TooltipButton = _ref3 => {
84
70
  })
85
71
  });
86
72
  };
87
-
88
73
  const staticStyles = _StyleSheet.default.create({
89
- bubblePointerEvents: { ..._Platform.default.select({
74
+ bubblePointerEvents: {
75
+ ..._Platform.default.select({
90
76
  web: {
91
77
  pointerEvents: 'none'
92
78
  }
93
79
  })
94
80
  }
95
81
  });
96
-
97
- TooltipButton.propTypes = { ...selectedSystemPropTypes,
98
-
82
+ TooltipButton.propTypes = {
83
+ ...selectedSystemPropTypes,
99
84
  /**
100
85
  * Used as appearances when resolving theme tokens.
101
86
  */
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _TooltipButton = _interopRequireDefault(require("./TooltipButton"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var _default = _TooltipButton.default;
13
10
  exports.default = _default;