@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,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.tokenTypes = exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _jsxRuntime = require("react/jsx-runtime");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  const tokenTypes = {
21
14
  itemIconSize: _propTypes.default.number.isRequired,
22
15
  itemIconColor: _propTypes.default.string.isRequired,
@@ -24,7 +17,6 @@ const tokenTypes = {
24
17
  iconMarginTop: _propTypes.default.number.isRequired
25
18
  };
26
19
  exports.tokenTypes = tokenTypes;
27
-
28
20
  const selectItemIconTokens = _ref => {
29
21
  let {
30
22
  itemIconSize,
@@ -35,7 +27,6 @@ const selectItemIconTokens = _ref => {
35
27
  color: itemIconColor
36
28
  };
37
29
  };
38
-
39
30
  const selectSideItemContainerStyles = _ref2 => {
40
31
  let {
41
32
  listGutter,
@@ -45,9 +36,9 @@ const selectSideItemContainerStyles = _ref2 => {
45
36
  marginTop: iconMarginTop,
46
37
  marginRight: listGutter
47
38
  };
48
- }; // Align bullets with the top line of text the same way icons are aligned
49
-
39
+ };
50
40
 
41
+ // Align bullets with the top line of text the same way icons are aligned
51
42
  const selectBulletPositioningStyles = _ref3 => {
52
43
  let {
53
44
  itemIconSize
@@ -57,7 +48,6 @@ const selectBulletPositioningStyles = _ref3 => {
57
48
  height: itemIconSize
58
49
  };
59
50
  };
60
-
61
51
  const selectBulletStyles = _ref4 => {
62
52
  let {
63
53
  itemBulletWidth,
@@ -71,7 +61,6 @@ const selectBulletStyles = _ref4 => {
71
61
  backgroundColor: itemBulletColor
72
62
  };
73
63
  };
74
-
75
64
  const selectBulletContainerStyles = _ref5 => {
76
65
  let {
77
66
  itemBulletContainerWidth,
@@ -82,6 +71,7 @@ const selectBulletContainerStyles = _ref5 => {
82
71
  alignItems: itemBulletContainerAlign
83
72
  };
84
73
  };
74
+
85
75
  /**
86
76
  * Subcomponent used within ListItem and similar components for rendering bullets or icons
87
77
  * that sit alongside a ListIconContent in a { flexDirection: row } container.
@@ -89,8 +79,6 @@ const selectBulletContainerStyles = _ref5 => {
89
79
  * It's the responsibility of themes to make sure that the supplied tokens align the
90
80
  * icon or bullet nicely against the first line of text in a ListIconContent.
91
81
  */
92
-
93
-
94
82
  const ListItemMark = _ref6 => {
95
83
  let {
96
84
  icon,
@@ -101,7 +89,6 @@ const ListItemMark = _ref6 => {
101
89
  const IconComponent = icon || /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
102
90
  const themeTokens = typeof tokens === 'function' ? tokens() : tokens;
103
91
  const sideItemContainerStyles = selectSideItemContainerStyles(themeTokens);
104
-
105
92
  if (icon) {
106
93
  const iconTokens = selectItemIconTokens(themeTokens);
107
94
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
@@ -112,7 +99,6 @@ const ListItemMark = _ref6 => {
112
99
  })
113
100
  });
114
101
  }
115
-
116
102
  const itemBulletContainerStyles = selectBulletContainerStyles(themeTokens);
117
103
  const itemBulletStyles = selectBulletStyles(themeTokens);
118
104
  const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens);
@@ -127,32 +113,26 @@ const ListItemMark = _ref6 => {
127
113
  })
128
114
  });
129
115
  };
130
-
131
116
  ListItemMark.propTypes = {
132
117
  tokens: _propTypes.default.shape(tokenTypes).isRequired,
133
-
134
118
  /**
135
119
  * Renders side item icon
136
120
  */
137
121
  icon: _propTypes.default.elementType,
138
-
139
122
  /**
140
123
  * Will set display icon color
141
124
  */
142
125
  iconColor: _propTypes.default.string,
143
-
144
126
  /**
145
127
  * Allow the user define the icon size
146
128
  */
147
129
  iconSize: _propTypes.default.number
148
130
  };
149
-
150
131
  const staticStyles = _StyleSheet.default.create({
151
132
  bulletPositioning: {
152
133
  alignItems: 'center',
153
134
  justifyContent: 'center'
154
135
  }
155
136
  });
156
-
157
137
  var _default = ListItemMark;
158
138
  exports.default = _default;
@@ -4,35 +4,20 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
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 _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _ListItemBase = _interopRequireDefault(require("./ListItemBase"));
23
-
24
15
  var _ListItemContent = _interopRequireDefault(require("./ListItemContent"));
25
-
26
16
  var _ListItemMark = _interopRequireDefault(require("./ListItemMark"));
27
-
28
17
  var _jsxRuntime = require("react/jsx-runtime");
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  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); }
33
-
34
20
  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; }
35
-
36
21
  const selectPressableStyles = _ref => {
37
22
  let {
38
23
  backgroundColor,
@@ -58,7 +43,6 @@ const selectPressableStyles = _ref => {
58
43
  })
59
44
  };
60
45
  };
61
-
62
46
  const PressableListItemBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
63
47
  let {
64
48
  href,
@@ -68,22 +52,18 @@ const PressableListItemBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =
68
52
  listItemRef,
69
53
  ...rest
70
54
  } = _ref2;
71
-
72
55
  const {
73
56
  onPress,
74
57
  ...props
75
58
  } = _utils.clickProps.toPressProps(rest);
76
-
77
59
  const {
78
60
  hrefAttrs,
79
61
  rest: listItemProps
80
62
  } = _utils.hrefAttrsProp.bundle(props);
81
-
82
63
  const handlePress = _utils.linkProps.handleHref({
83
64
  href,
84
65
  onPress
85
66
  });
86
-
87
67
  const listItemTokens = (0, _utils.selectTokens)('List', typeof tokens === 'function' ? tokens() : tokens);
88
68
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemBase.default, {
89
69
  ref: listItemRef,
@@ -93,13 +73,10 @@ const PressableListItemBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =
93
73
  let {
94
74
  isLastItem
95
75
  } = _ref3;
96
-
97
76
  const getTokens = pressableState => (0, _utils.resolvePressableTokens)(tokens, pressableState, {
98
77
  last: isLastItem
99
78
  });
100
-
101
79
  const getPressableStyle = pressableState => [staticStyles.itemContainer, selectPressableStyles(getTokens(pressableState))];
102
-
103
80
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
104
81
  onPress: handlePress,
105
82
  href: href,
@@ -123,15 +100,14 @@ const PressableListItemBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =
123
100
  });
124
101
  });
125
102
  PressableListItemBase.displayName = 'PressableListItemBase';
126
-
127
103
  const staticStyles = _StyleSheet.default.create({
128
104
  itemContainer: {
129
105
  flexDirection: 'row',
130
106
  flex: 1
131
107
  }
132
108
  });
133
-
134
- PressableListItemBase.propTypes = { ..._utils.withLinkRouter.propTypes,
109
+ PressableListItemBase.propTypes = {
110
+ ..._utils.withLinkRouter.propTypes,
135
111
  href: _propTypes.default.string,
136
112
  onPress: _propTypes.default.func,
137
113
  // eslint-disable-next-line react/forbid-prop-types
@@ -140,7 +116,5 @@ PressableListItemBase.propTypes = { ..._utils.withLinkRouter.propTypes,
140
116
  children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
141
117
  listItemRef: _airbnbPropTypes.default.ref()
142
118
  };
143
-
144
119
  var _default = (0, _utils.withLinkRouter)(PressableListItemBase);
145
-
146
120
  exports.default = _default;
package/lib/List/index.js CHANGED
@@ -16,13 +16,9 @@ Object.defineProperty(exports, "ListItem", {
16
16
  }
17
17
  });
18
18
  exports.default = void 0;
19
-
20
19
  var _List = _interopRequireDefault(require("./List"));
21
-
22
20
  var _ListItem = _interopRequireDefault(require("./ListItem"));
23
-
24
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
22
  _List.default.Item = _ListItem.default;
27
23
  var _default = _List.default;
28
24
  exports.default = _default;
@@ -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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
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 _ThemeProvider = require("../ThemeProvider");
19
-
20
13
  var _Icon = _interopRequireDefault(require("../Icon"));
21
-
22
14
  var _Spacer = _interopRequireDefault(require("../Spacer"));
23
-
24
15
  var _ListboxContext = require("./ListboxContext");
25
-
26
16
  var _jsxRuntime = require("react/jsx-runtime");
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
18
  const styles = _StyleSheet.default.create({
31
19
  controlWrapper: {
32
20
  width: '100%',
@@ -37,7 +25,6 @@ const styles = _StyleSheet.default.create({
37
25
  boxSizing: 'border-box'
38
26
  }
39
27
  });
40
-
41
28
  const GroupControl = _ref => {
42
29
  let {
43
30
  expanded,
@@ -108,7 +95,6 @@ const GroupControl = _ref => {
108
95
  })]
109
96
  });
110
97
  };
111
-
112
98
  GroupControl.propTypes = {
113
99
  id: _propTypes.default.string,
114
100
  expanded: _propTypes.default.bool,
@@ -4,48 +4,29 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
17
-
18
12
  var _ThemeProvider = require("../ThemeProvider");
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _ExpandCollapse = _interopRequireDefault(require("../ExpandCollapse"));
23
-
24
15
  var _ListboxGroup = _interopRequireDefault(require("./ListboxGroup"));
25
-
26
16
  var _ListboxItem = _interopRequireDefault(require("./ListboxItem"));
27
-
28
17
  var _ListboxContext = require("./ListboxContext");
29
-
30
18
  var _ListboxOverlay = _interopRequireDefault(require("./ListboxOverlay"));
31
-
32
19
  var _jsxRuntime = require("react/jsx-runtime");
33
-
34
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
-
36
21
  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); }
37
-
38
22
  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; }
39
-
40
23
  const styles = _StyleSheet.default.create({
41
24
  list: {
42
25
  padding: 0,
43
26
  margin: 0
44
27
  }
45
28
  });
46
-
47
29
  const getInitialOpen = (items, selectedId) => items.filter(item => item.items && item.items.some(nestedItem => (nestedItem.id ?? nestedItem.label) === selectedId)).map(item => item.id ?? item.label);
48
-
49
30
  const Listbox = _ref => {
50
31
  let {
51
32
  items = [],
@@ -65,25 +46,23 @@ const Listbox = _ref => {
65
46
  const {
66
47
  minHeight,
67
48
  minWidth
68
- } = (0, _ThemeProvider.useThemeTokens)('Listbox', variant, tokens); // We need to keep track of each item's ref in order to be able to
69
- // focus on a specific item via keyboard navigation
49
+ } = (0, _ThemeProvider.useThemeTokens)('Listbox', variant, tokens);
70
50
 
51
+ // We need to keep track of each item's ref in order to be able to
52
+ // focus on a specific item via keyboard navigation
71
53
  const itemRefs = (0, _react.useRef)([]);
72
54
  if (firstItemRef !== null && firstItemRef !== void 0 && firstItemRef.current) itemRefs.current[0] = firstItemRef.current;
73
55
  const [focusedIndex, setFocusedIndex] = (0, _react.useState)(0);
74
56
  const handleKeydown = (0, _react.useCallback)(event => {
75
57
  const nextItemRef = itemRefs.current[focusedIndex + 1];
76
58
  const prevItemRef = itemRefs.current[focusedIndex - 1];
77
-
78
59
  if (event.key === 'ArrowUp' || event.shiftKey && event.key === 'Tab') {
79
60
  var _parentRef$current;
80
-
81
61
  // Move the focus to the previous item or to the parent one if on the first
82
62
  if (prevItemRef) {
83
63
  event.preventDefault();
84
64
  prevItemRef.focus();
85
65
  } else if (parentRef) (_parentRef$current = parentRef.current) === null || _parentRef$current === void 0 ? void 0 : _parentRef$current.focus();
86
-
87
66
  setFocusedIndex(focusedIndex - 1);
88
67
  } else if ((event.key === 'ArrowDown' || event.key === 'Tab') && nextItemRef) {
89
68
  event.preventDefault();
@@ -91,15 +70,15 @@ const Listbox = _ref => {
91
70
  nextItemRef.focus();
92
71
  } else if (event.key === 'Escape') {
93
72
  var _parentRef$current2, _parentRef$current3;
94
-
95
73
  // Close the dropdown
96
- 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
97
-
74
+ parentRef === null || parentRef === void 0 ? void 0 : (_parentRef$current2 = parentRef.current) === null || _parentRef$current2 === void 0 ? void 0 : _parentRef$current2.click();
75
+ // Return focus to the dropdown control after leaving the last item
98
76
  parentRef === null || parentRef === void 0 ? void 0 : (_parentRef$current3 = parentRef.current) === null || _parentRef$current3 === void 0 ? void 0 : _parentRef$current3.focus();
99
77
  if (onClose) onClose(event);
100
78
  }
101
- }, [focusedIndex, onClose, parentRef]); // Add listeners for mouse clicks outside and for key presses
79
+ }, [focusedIndex, onClose, parentRef]);
102
80
 
81
+ // Add listeners for mouse clicks outside and for key presses
103
82
  (0, _react.useEffect)(() => {
104
83
  if (_Platform.default.OS === 'web') {
105
84
  window.addEventListener('click', onClose);
@@ -111,7 +90,6 @@ const Listbox = _ref => {
111
90
  window.removeEventListener('touchstart', onClose);
112
91
  };
113
92
  }
114
-
115
93
  return () => {};
116
94
  }, [onClose, handleKeydown]);
117
95
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListboxContext.ListboxContext.Provider, {
@@ -134,14 +112,15 @@ const Listbox = _ref => {
134
112
  label,
135
113
  items: nestedItems
136
114
  } = item;
137
- const itemId = id ?? label; // Give the list of refs.
115
+ const itemId = id ?? label;
138
116
 
117
+ // Give the list of refs.
139
118
  const itemRef = ref => {
140
119
  itemRefs.current[index] = ref;
141
120
  return ref;
142
121
  };
143
-
144
- return nestedItems ? /*#__PURE__*/(0, _react.createElement)(_ListboxGroup.default, { ...item,
122
+ return nestedItems ? /*#__PURE__*/(0, _react.createElement)(_ListboxGroup.default, {
123
+ ...item,
145
124
  expandProps: expandProps,
146
125
  LinkRouter: LinkRouter,
147
126
  itemRouterProps: itemRouterProps,
@@ -149,7 +128,8 @@ const Listbox = _ref => {
149
128
  nextItemRef: itemRefs.current[index + 1] ?? null,
150
129
  ref: index === 0 ? firstItemRef : itemRef,
151
130
  key: itemId
152
- }) : /*#__PURE__*/(0, _react.createElement)(_ListboxItem.default, { ...item,
131
+ }) : /*#__PURE__*/(0, _react.createElement)(_ListboxItem.default, {
132
+ ...item,
153
133
  key: itemId,
154
134
  id: itemId,
155
135
  LinkRouter: LinkRouter,
@@ -163,31 +143,26 @@ const Listbox = _ref => {
163
143
  })
164
144
  });
165
145
  };
166
-
167
- Listbox.propTypes = { ..._utils.withLinkRouter.propTypes,
146
+ Listbox.propTypes = {
147
+ ..._utils.withLinkRouter.propTypes,
168
148
  tokens: (0, _utils.getTokensPropType)('Listbox'),
169
-
170
149
  /**
171
150
  * Focus will be moved to the item with this ref once within the menu.
172
151
  */
173
152
  firstItemRef: _propTypes.default.object,
174
-
175
153
  /**
176
154
  * Focus will be returned to the dropdown control with this ref after leaving
177
155
  * the last menu item.
178
156
  */
179
157
  parentRef: _propTypes.default.object,
180
-
181
158
  /**
182
159
  * `Listbox` items
183
160
  */
184
161
  items: _propTypes.default.array,
185
-
186
162
  /**
187
163
  * To select an item by default
188
164
  */
189
165
  selectedId: _propTypes.default.string,
190
-
191
166
  /**
192
167
  * onClose event
193
168
  */
@@ -4,17 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useListboxContext = exports.ListboxContext = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  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); }
11
-
12
9
  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; }
13
-
14
10
  const ListboxContext = /*#__PURE__*/_react.default.createContext({});
15
-
16
11
  exports.ListboxContext = ListboxContext;
17
-
18
12
  const useListboxContext = () => (0, _react.useContext)(ListboxContext);
19
-
20
13
  exports.useListboxContext = useListboxContext;
@@ -4,34 +4,21 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _utils = require("../utils");
17
-
18
12
  var _ExpandCollapse = _interopRequireDefault(require("../ExpandCollapse"));
19
-
20
13
  var _ListboxItem = _interopRequireDefault(require("./ListboxItem"));
21
-
22
14
  var _ListboxContext = require("./ListboxContext");
23
-
24
15
  var _GroupControl = _interopRequireDefault(require("./GroupControl"));
25
-
26
16
  var _jsxRuntime = require("react/jsx-runtime");
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
18
  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); }
31
-
32
19
  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; }
33
-
34
20
  /* eslint-disable react-native-a11y/has-valid-accessibility-role */
21
+
35
22
  const styles = _StyleSheet.default.create({
36
23
  groupWrapper: {
37
24
  margin: 0,
@@ -43,7 +30,6 @@ const styles = _StyleSheet.default.create({
43
30
  padding: 0
44
31
  }
45
32
  });
46
-
47
33
  const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
48
34
  let {
49
35
  id,
@@ -58,8 +44,9 @@ const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
58
44
  } = _ref;
59
45
  const {
60
46
  selectedId
61
- } = (0, _ListboxContext.useListboxContext)(); // TODO: implement keyboard navigation via refs for grouped items separately here
47
+ } = (0, _ListboxContext.useListboxContext)();
62
48
 
49
+ // TODO: implement keyboard navigation via refs for grouped items separately here
63
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
64
51
  id: "test",
65
52
  style: styles.groupWrapper,
@@ -76,7 +63,8 @@ const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
76
63
  borderColor: 'transparent',
77
64
  textLine: 'none',
78
65
  borderWidth: 0
79
- } // TODO refactor
66
+ }
67
+ // TODO refactor
80
68
  // eslint-disable-next-line react/no-unstable-nested-components
81
69
  ,
82
70
  control: controlProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GroupControl.default, {
@@ -122,7 +110,8 @@ const ListboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
122
110
  });
123
111
  });
124
112
  ListboxGroup.displayName = 'ListboxGroup';
125
- ListboxGroup.propTypes = { ..._utils.withLinkRouter.propTypes,
113
+ ListboxGroup.propTypes = {
114
+ ..._utils.withLinkRouter.propTypes,
126
115
  label: _propTypes.default.string,
127
116
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
128
117
  href: _propTypes.default.string,
@@ -132,7 +121,6 @@ ListboxGroup.propTypes = { ..._utils.withLinkRouter.propTypes,
132
121
  expandProps: _propTypes.default.object,
133
122
  nextItemRef: _propTypes.default.object,
134
123
  prevItemRef: _propTypes.default.object,
135
-
136
124
  /**
137
125
  * Use this callback to redirect the focus after it leaves the last item of the group.
138
126
  */
@@ -4,32 +4,20 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _utils = require("../utils");
17
-
18
12
  var _PressableItem = _interopRequireDefault(require("./PressableItem"));
19
-
20
13
  var _ThemeProvider = require("../ThemeProvider");
21
-
22
14
  var _jsxRuntime = require("react/jsx-runtime");
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  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); }
27
-
28
17
  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; }
29
-
30
18
  /* eslint-disable react/require-default-props */
31
- const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.htmlAttrs]);
32
19
 
20
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.htmlAttrs]);
33
21
  const styles = _StyleSheet.default.create({
34
22
  itemContainer: {
35
23
  display: 'flex',
@@ -42,7 +30,6 @@ const styles = _StyleSheet.default.create({
42
30
  paddingLeft: 24
43
31
  }
44
32
  });
45
-
46
33
  const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
47
34
  let {
48
35
  href,
@@ -86,7 +73,8 @@ const ListboxItem = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
86
73
  });
87
74
  });
88
75
  ListboxItem.displayName = 'ListboxItem';
89
- ListboxItem.propTypes = { ...selectedSystemPropTypes,
76
+ ListboxItem.propTypes = {
77
+ ...selectedSystemPropTypes,
90
78
  ..._utils.withLinkRouter.propTypes,
91
79
  href: _propTypes.default.string,
92
80
  isChild: _propTypes.default.bool,
@@ -96,7 +84,5 @@ ListboxItem.propTypes = { ...selectedSystemPropTypes,
96
84
  onPress: _propTypes.default.func,
97
85
  nestedChild: _propTypes.default.bool
98
86
  };
99
-
100
87
  var _default = (0, _utils.withLinkRouter)(ListboxItem);
101
-
102
88
  exports.default = _default;