@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
@@ -11,7 +11,6 @@ import { useThemeTokens } from '../ThemeProvider';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
13
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
14
-
15
14
  const selectItemBlockStyles = _ref => {
16
15
  let {
17
16
  interItemMargin
@@ -20,7 +19,6 @@ const selectItemBlockStyles = _ref => {
20
19
  marginBottom: interItemMargin
21
20
  };
22
21
  };
23
-
24
22
  const selectDividerStyles = _ref2 => {
25
23
  let {
26
24
  dividerColor,
@@ -34,11 +32,10 @@ const selectDividerStyles = _ref2 => {
34
32
  paddingBottom: interItemMarginWithDivider
35
33
  };
36
34
  };
35
+
37
36
  /**
38
37
  * ListItem is responsible for rendering icon or a bullet as side item
39
38
  */
40
-
41
-
42
39
  const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
43
40
  let {
44
41
  tokens,
@@ -70,7 +67,6 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
70
67
  size: 'h4',
71
68
  bold: true
72
69
  });
73
-
74
70
  if (title) {
75
71
  adjustedIconMarginTop = (fontSize * lineHeightRatio - itemIconSize) / 2;
76
72
  }
@@ -79,20 +75,15 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
79
75
  * add extra margin on the bottom, if "showDivider" is true it should add a divider
80
76
  * and custom margin and padding, otherwise just adds a margin to the bottom
81
77
  */
82
-
83
-
84
78
  const getContainerStyle = () => {
85
79
  if (isLastItem) {
86
80
  return undefined;
87
81
  }
88
-
89
82
  if (showDivider) {
90
83
  return dividerStyles;
91
84
  }
92
-
93
85
  return itemBlockStyles;
94
86
  };
95
-
96
87
  return /*#__PURE__*/_jsx(View, {
97
88
  ref: ref,
98
89
  style: [staticStyles.itemContainer, getContainerStyle()],
@@ -110,7 +101,8 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
110
101
  flexDirection: 'row'
111
102
  }],
112
103
  children: [/*#__PURE__*/_jsx(ListItemMark, {
113
- tokens: { ...tokens,
104
+ tokens: {
105
+ ...tokens,
114
106
  iconMarginTop: adjustedIconMarginTop
115
107
  },
116
108
  icon: icon,
@@ -142,32 +134,28 @@ const staticStyles = StyleSheet.create({
142
134
  flexShrink: 1
143
135
  }
144
136
  });
145
- ListItemBase.propTypes = { ...selectedSystemPropTypes,
137
+ ListItemBase.propTypes = {
138
+ ...selectedSystemPropTypes,
146
139
  tokens: getTokensPropType('List'),
147
140
  variant: variantProp.propType,
148
141
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,
149
-
150
142
  /**
151
143
  * Renders side item icon
152
144
  */
153
145
  icon: PropTypes.elementType,
154
-
155
146
  /**
156
147
  * Will set display icon color
157
148
  */
158
149
  iconColor: PropTypes.string,
159
-
160
150
  /**
161
151
  * Allow the user define the icon size if not defined the theme's file
162
152
  */
163
153
  iconSize: PropTypes.number,
164
-
165
154
  /**
166
155
  * @ignore
167
156
  * Defined by parent if it's last item on the list
168
157
  */
169
158
  isLastItem: PropTypes.bool,
170
-
171
159
  /**
172
160
  * @ignore
173
161
  * In case it is not the last item allow display divider
@@ -12,7 +12,6 @@ export const tokenTypes = {
12
12
  itemFontName: PropTypes.string.isRequired,
13
13
  itemFontColor: PropTypes.string
14
14
  };
15
-
16
15
  const selectItemTextStyles = (_ref, themeOptions) => {
17
16
  let {
18
17
  itemFontWeight,
@@ -30,6 +29,7 @@ const selectItemTextStyles = (_ref, themeOptions) => {
30
29
  themeOptions
31
30
  });
32
31
  };
32
+
33
33
  /**
34
34
  * Subcomponent used within ListItem and similar components for rendering content that fills
35
35
  * and wraps available space in a { flexDirection: row } container alongside a ListIconMark,
@@ -38,8 +38,6 @@ const selectItemTextStyles = (_ref, themeOptions) => {
38
38
  * It's the responsibility of themes to make sure that these text tokens align the first line of
39
39
  * text nicely against the bullet or icon rendered by ListIconMark.
40
40
  */
41
-
42
-
43
41
  const ListItemContent = _ref2 => {
44
42
  let {
45
43
  tokens,
@@ -59,7 +57,6 @@ const ListItemContent = _ref2 => {
59
57
  })
60
58
  });
61
59
  };
62
-
63
60
  const staticStyles = StyleSheet.create({
64
61
  wrap: {
65
62
  flex: 1
@@ -10,7 +10,6 @@ export const tokenTypes = {
10
10
  listGutter: PropTypes.number.isRequired,
11
11
  iconMarginTop: PropTypes.number.isRequired
12
12
  };
13
-
14
13
  const selectItemIconTokens = _ref => {
15
14
  let {
16
15
  itemIconSize,
@@ -21,7 +20,6 @@ const selectItemIconTokens = _ref => {
21
20
  color: itemIconColor
22
21
  };
23
22
  };
24
-
25
23
  const selectSideItemContainerStyles = _ref2 => {
26
24
  let {
27
25
  listGutter,
@@ -31,9 +29,9 @@ const selectSideItemContainerStyles = _ref2 => {
31
29
  marginTop: iconMarginTop,
32
30
  marginRight: listGutter
33
31
  };
34
- }; // Align bullets with the top line of text the same way icons are aligned
35
-
32
+ };
36
33
 
34
+ // Align bullets with the top line of text the same way icons are aligned
37
35
  const selectBulletPositioningStyles = _ref3 => {
38
36
  let {
39
37
  itemIconSize
@@ -43,7 +41,6 @@ const selectBulletPositioningStyles = _ref3 => {
43
41
  height: itemIconSize
44
42
  };
45
43
  };
46
-
47
44
  const selectBulletStyles = _ref4 => {
48
45
  let {
49
46
  itemBulletWidth,
@@ -57,7 +54,6 @@ const selectBulletStyles = _ref4 => {
57
54
  backgroundColor: itemBulletColor
58
55
  };
59
56
  };
60
-
61
57
  const selectBulletContainerStyles = _ref5 => {
62
58
  let {
63
59
  itemBulletContainerWidth,
@@ -68,6 +64,7 @@ const selectBulletContainerStyles = _ref5 => {
68
64
  alignItems: itemBulletContainerAlign
69
65
  };
70
66
  };
67
+
71
68
  /**
72
69
  * Subcomponent used within ListItem and similar components for rendering bullets or icons
73
70
  * that sit alongside a ListIconContent in a { flexDirection: row } container.
@@ -75,8 +72,6 @@ const selectBulletContainerStyles = _ref5 => {
75
72
  * It's the responsibility of themes to make sure that the supplied tokens align the
76
73
  * icon or bullet nicely against the first line of text in a ListIconContent.
77
74
  */
78
-
79
-
80
75
  const ListItemMark = _ref6 => {
81
76
  let {
82
77
  icon,
@@ -84,12 +79,9 @@ const ListItemMark = _ref6 => {
84
79
  iconSize,
85
80
  tokens = {}
86
81
  } = _ref6;
87
-
88
82
  const IconComponent = icon || /*#__PURE__*/_jsx(_Fragment, {});
89
-
90
83
  const themeTokens = typeof tokens === 'function' ? tokens() : tokens;
91
84
  const sideItemContainerStyles = selectSideItemContainerStyles(themeTokens);
92
-
93
85
  if (icon) {
94
86
  const iconTokens = selectItemIconTokens(themeTokens);
95
87
  return /*#__PURE__*/_jsx(View, {
@@ -100,7 +92,6 @@ const ListItemMark = _ref6 => {
100
92
  })
101
93
  });
102
94
  }
103
-
104
95
  const itemBulletContainerStyles = selectBulletContainerStyles(themeTokens);
105
96
  const itemBulletStyles = selectBulletStyles(themeTokens);
106
97
  const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens);
@@ -115,20 +106,16 @@ const ListItemMark = _ref6 => {
115
106
  })
116
107
  });
117
108
  };
118
-
119
109
  ListItemMark.propTypes = {
120
110
  tokens: PropTypes.shape(tokenTypes).isRequired,
121
-
122
111
  /**
123
112
  * Renders side item icon
124
113
  */
125
114
  icon: PropTypes.elementType,
126
-
127
115
  /**
128
116
  * Will set display icon color
129
117
  */
130
118
  iconColor: PropTypes.string,
131
-
132
119
  /**
133
120
  * Allow the user define the icon size
134
121
  */
@@ -11,7 +11,6 @@ import ListItemMark from './ListItemMark';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
-
15
14
  const selectPressableStyles = _ref => {
16
15
  let {
17
16
  backgroundColor,
@@ -37,7 +36,6 @@ const selectPressableStyles = _ref => {
37
36
  })
38
37
  };
39
38
  };
40
-
41
39
  const PressableListItemBase = /*#__PURE__*/forwardRef((_ref2, ref) => {
42
40
  let {
43
41
  href,
@@ -68,13 +66,10 @@ const PressableListItemBase = /*#__PURE__*/forwardRef((_ref2, ref) => {
68
66
  let {
69
67
  isLastItem
70
68
  } = _ref3;
71
-
72
69
  const getTokens = pressableState => resolvePressableTokens(tokens, pressableState, {
73
70
  last: isLastItem
74
71
  });
75
-
76
72
  const getPressableStyle = pressableState => [staticStyles.itemContainer, selectPressableStyles(getTokens(pressableState))];
77
-
78
73
  return /*#__PURE__*/_jsx(Pressable, {
79
74
  onPress: handlePress,
80
75
  href: href,
@@ -104,7 +99,8 @@ const staticStyles = StyleSheet.create({
104
99
  flex: 1
105
100
  }
106
101
  });
107
- PressableListItemBase.propTypes = { ...withLinkRouter.propTypes,
102
+ PressableListItemBase.propTypes = {
103
+ ...withLinkRouter.propTypes,
108
104
  href: PropTypes.string,
109
105
  onPress: PropTypes.func,
110
106
  // eslint-disable-next-line react/forbid-prop-types
@@ -19,7 +19,6 @@ const styles = StyleSheet.create({
19
19
  boxSizing: 'border-box'
20
20
  }
21
21
  });
22
-
23
22
  const GroupControl = _ref => {
24
23
  let {
25
24
  expanded,
@@ -90,7 +89,6 @@ const GroupControl = _ref => {
90
89
  })]
91
90
  });
92
91
  };
93
-
94
92
  GroupControl.propTypes = {
95
93
  id: PropTypes.string,
96
94
  expanded: PropTypes.bool,
@@ -18,9 +18,7 @@ const styles = StyleSheet.create({
18
18
  margin: 0
19
19
  }
20
20
  });
21
-
22
21
  const getInitialOpen = (items, selectedId) => items.filter(item => item.items && item.items.some(nestedItem => (nestedItem.id ?? nestedItem.label) === selectedId)).map(item => item.id ?? item.label);
23
-
24
22
  const Listbox = _ref => {
25
23
  let {
26
24
  items = [],
@@ -40,25 +38,23 @@ const Listbox = _ref => {
40
38
  const {
41
39
  minHeight,
42
40
  minWidth
43
- } = useThemeTokens('Listbox', variant, tokens); // We need to keep track of each item's ref in order to be able to
44
- // focus on a specific item via keyboard navigation
41
+ } = useThemeTokens('Listbox', variant, tokens);
45
42
 
43
+ // We need to keep track of each item's ref in order to be able to
44
+ // focus on a specific item via keyboard navigation
46
45
  const itemRefs = useRef([]);
47
46
  if (firstItemRef !== null && firstItemRef !== void 0 && firstItemRef.current) itemRefs.current[0] = firstItemRef.current;
48
47
  const [focusedIndex, setFocusedIndex] = useState(0);
49
48
  const handleKeydown = useCallback(event => {
50
49
  const nextItemRef = itemRefs.current[focusedIndex + 1];
51
50
  const prevItemRef = itemRefs.current[focusedIndex - 1];
52
-
53
51
  if (event.key === 'ArrowUp' || event.shiftKey && event.key === 'Tab') {
54
52
  var _parentRef$current;
55
-
56
53
  // Move the focus to the previous item or to the parent one if on the first
57
54
  if (prevItemRef) {
58
55
  event.preventDefault();
59
56
  prevItemRef.focus();
60
57
  } else if (parentRef) (_parentRef$current = parentRef.current) === null || _parentRef$current === void 0 ? void 0 : _parentRef$current.focus();
61
-
62
58
  setFocusedIndex(focusedIndex - 1);
63
59
  } else if ((event.key === 'ArrowDown' || event.key === 'Tab') && nextItemRef) {
64
60
  event.preventDefault();
@@ -66,15 +62,15 @@ const Listbox = _ref => {
66
62
  nextItemRef.focus();
67
63
  } else if (event.key === 'Escape') {
68
64
  var _parentRef$current2, _parentRef$current3;
69
-
70
65
  // Close the dropdown
71
- parentRef === null || parentRef === void 0 ? void 0 : (_parentRef$current2 = parentRef.current) === null || _parentRef$current2 === void 0 ? void 0 : _parentRef$current2.click(); // Return focus to the dropdown control after leaving the last item
72
-
66
+ parentRef === null || parentRef === void 0 ? void 0 : (_parentRef$current2 = parentRef.current) === null || _parentRef$current2 === void 0 ? void 0 : _parentRef$current2.click();
67
+ // Return focus to the dropdown control after leaving the last item
73
68
  parentRef === null || parentRef === void 0 ? void 0 : (_parentRef$current3 = parentRef.current) === null || _parentRef$current3 === void 0 ? void 0 : _parentRef$current3.focus();
74
69
  if (onClose) onClose(event);
75
70
  }
76
- }, [focusedIndex, onClose, parentRef]); // Add listeners for mouse clicks outside and for key presses
71
+ }, [focusedIndex, onClose, parentRef]);
77
72
 
73
+ // Add listeners for mouse clicks outside and for key presses
78
74
  useEffect(() => {
79
75
  if (Platform.OS === 'web') {
80
76
  window.addEventListener('click', onClose);
@@ -86,7 +82,6 @@ const Listbox = _ref => {
86
82
  window.removeEventListener('touchstart', onClose);
87
83
  };
88
84
  }
89
-
90
85
  return () => {};
91
86
  }, [onClose, handleKeydown]);
92
87
  return /*#__PURE__*/_jsx(ListboxContext.Provider, {
@@ -109,14 +104,15 @@ const Listbox = _ref => {
109
104
  label,
110
105
  items: nestedItems
111
106
  } = item;
112
- const itemId = id ?? label; // Give the list of refs.
107
+ const itemId = id ?? label;
113
108
 
109
+ // Give the list of refs.
114
110
  const itemRef = ref => {
115
111
  itemRefs.current[index] = ref;
116
112
  return ref;
117
113
  };
118
-
119
- return nestedItems ? /*#__PURE__*/_createElement(ListboxGroup, { ...item,
114
+ return nestedItems ? /*#__PURE__*/_createElement(ListboxGroup, {
115
+ ...item,
120
116
  expandProps: expandProps,
121
117
  LinkRouter: LinkRouter,
122
118
  itemRouterProps: itemRouterProps,
@@ -124,7 +120,8 @@ const Listbox = _ref => {
124
120
  nextItemRef: itemRefs.current[index + 1] ?? null,
125
121
  ref: index === 0 ? firstItemRef : itemRef,
126
122
  key: itemId
127
- }) : /*#__PURE__*/_createElement(ListboxItem, { ...item,
123
+ }) : /*#__PURE__*/_createElement(ListboxItem, {
124
+ ...item,
128
125
  key: itemId,
129
126
  id: itemId,
130
127
  LinkRouter: LinkRouter,
@@ -138,31 +135,26 @@ const Listbox = _ref => {
138
135
  })
139
136
  });
140
137
  };
141
-
142
- Listbox.propTypes = { ...withLinkRouter.propTypes,
138
+ Listbox.propTypes = {
139
+ ...withLinkRouter.propTypes,
143
140
  tokens: getTokensPropType('Listbox'),
144
-
145
141
  /**
146
142
  * Focus will be moved to the item with this ref once within the menu.
147
143
  */
148
144
  firstItemRef: PropTypes.object,
149
-
150
145
  /**
151
146
  * Focus will be returned to the dropdown control with this ref after leaving
152
147
  * the last menu item.
153
148
  */
154
149
  parentRef: PropTypes.object,
155
-
156
150
  /**
157
151
  * `Listbox` items
158
152
  */
159
153
  items: PropTypes.array,
160
-
161
154
  /**
162
155
  * To select an item by default
163
156
  */
164
157
  selectedId: PropTypes.string,
165
-
166
158
  /**
167
159
  * onClose event
168
160
  */
@@ -1,6 +1,4 @@
1
1
  import React, { useContext } from 'react';
2
2
  const ListboxContext = /*#__PURE__*/React.createContext({});
3
-
4
3
  const useListboxContext = () => useContext(ListboxContext);
5
-
6
4
  export { ListboxContext, useListboxContext };
@@ -34,8 +34,9 @@ const ListboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
34
34
  } = _ref;
35
35
  const {
36
36
  selectedId
37
- } = useListboxContext(); // TODO: implement keyboard navigation via refs for grouped items separately here
37
+ } = useListboxContext();
38
38
 
39
+ // TODO: implement keyboard navigation via refs for grouped items separately here
39
40
  return /*#__PURE__*/_jsx(View, {
40
41
  id: "test",
41
42
  style: styles.groupWrapper,
@@ -52,7 +53,8 @@ const ListboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
52
53
  borderColor: 'transparent',
53
54
  textLine: 'none',
54
55
  borderWidth: 0
55
- } // TODO refactor
56
+ }
57
+ // TODO refactor
56
58
  // eslint-disable-next-line react/no-unstable-nested-components
57
59
  ,
58
60
  control: controlProps => /*#__PURE__*/_jsx(GroupControl, {
@@ -98,7 +100,8 @@ const ListboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
98
100
  });
99
101
  });
100
102
  ListboxGroup.displayName = 'ListboxGroup';
101
- ListboxGroup.propTypes = { ...withLinkRouter.propTypes,
103
+ ListboxGroup.propTypes = {
104
+ ...withLinkRouter.propTypes,
102
105
  label: PropTypes.string,
103
106
  items: PropTypes.arrayOf(PropTypes.shape({
104
107
  href: PropTypes.string,
@@ -108,7 +111,6 @@ ListboxGroup.propTypes = { ...withLinkRouter.propTypes,
108
111
  expandProps: PropTypes.object,
109
112
  nextItemRef: PropTypes.object,
110
113
  prevItemRef: PropTypes.object,
111
-
112
114
  /**
113
115
  * Use this callback to redirect the focus after it leaves the last item of the group.
114
116
  */
@@ -63,7 +63,8 @@ const ListboxItem = /*#__PURE__*/forwardRef((_ref, ref) => {
63
63
  });
64
64
  });
65
65
  ListboxItem.displayName = 'ListboxItem';
66
- ListboxItem.propTypes = { ...selectedSystemPropTypes,
66
+ ListboxItem.propTypes = {
67
+ ...selectedSystemPropTypes,
67
68
  ...withLinkRouter.propTypes,
68
69
  href: PropTypes.string,
69
70
  isChild: PropTypes.bool,
@@ -14,8 +14,8 @@ const staticStyles = StyleSheet.create({
14
14
  // Grow to maxWidth when possible, shrink when not possible
15
15
  position: 'absolute',
16
16
  zIndex: 1000000000000000 // Position on top of all the other overlays, including backdrops and modals
17
-
18
17
  },
18
+
19
19
  hidden: {
20
20
  // Use opacity not visibility to hide the dropdown during positioning
21
21
  // so on web, children may be focused from the first render
@@ -53,17 +53,16 @@ const DropdownOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {
53
53
  })
54
54
  });
55
55
  });
56
-
57
56
  const withPortal = Overlay => {
58
57
  // eslint-disable-next-line react/display-name, react/no-multi-comp
59
58
  return props => {
60
59
  return /*#__PURE__*/_jsx(Portal, {
61
- children: /*#__PURE__*/_jsx(Overlay, { ...props
60
+ children: /*#__PURE__*/_jsx(Overlay, {
61
+ ...props
62
62
  })
63
63
  });
64
64
  };
65
65
  };
66
-
67
66
  DropdownOverlay.displayName = 'DropdownOverlay';
68
67
  DropdownOverlay.propTypes = {
69
68
  children: PropTypes.node.isRequired,
@@ -8,7 +8,6 @@ import { useListboxContext } from './ListboxContext';
8
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([htmlAttrs]);
11
-
12
11
  const getItemStyles = _ref => {
13
12
  let {
14
13
  groupFontName,
@@ -52,7 +51,6 @@ const getItemStyles = _ref => {
52
51
  justifyContent: 'center'
53
52
  };
54
53
  };
55
-
56
54
  const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
57
55
  let {
58
56
  children,
@@ -71,7 +69,6 @@ const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
71
69
  selectedId,
72
70
  setSelectedId
73
71
  } = useListboxContext();
74
-
75
72
  const selectTextStyles = _ref3 => {
76
73
  let {
77
74
  groupFontName,
@@ -87,7 +84,6 @@ const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
87
84
  lineHeight: lineHeight * itemFontSize
88
85
  };
89
86
  };
90
-
91
87
  const resolveButtonTokens = pressableState => {
92
88
  const themeTokens = resolvePressableTokens(tokens, pressableState, {
93
89
  isChild,
@@ -95,7 +91,6 @@ const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
95
91
  });
96
92
  return themeTokens;
97
93
  };
98
-
99
94
  const handleKeyPress = event => {
100
95
  if (['Enter', ' '].includes(event === null || event === void 0 ? void 0 : event.key)) {
101
96
  onPress === null || onPress === void 0 ? void 0 : onPress(event);
@@ -105,7 +100,6 @@ const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
105
100
  prevItemRef.current.focus();
106
101
  }
107
102
  };
108
-
109
103
  return /*#__PURE__*/_jsx(Pressable, {
110
104
  isChild: isChild,
111
105
  style: pressableState => getItemStyles(resolveButtonTokens(pressableState)),
@@ -134,7 +128,8 @@ const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
134
128
  });
135
129
  });
136
130
  PressableItem.displayName = 'PressableItem';
137
- PressableItem.propTypes = { ...selectedSystemPropTypes,
131
+ PressableItem.propTypes = {
132
+ ...selectedSystemPropTypes,
138
133
  href: PropTypes.string,
139
134
  isChild: PropTypes.bool,
140
135
  children: PropTypes.node.isRequired,