@telus-uds/components-base 2.4.0 → 3.0.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 (822) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/lib/cjs/A11yInfoProvider/index.js +73 -0
  3. package/lib/cjs/A11yText/index.js +75 -0
  4. package/lib/cjs/ActionCard/ActionCard.js +349 -0
  5. package/lib/cjs/ActionCard/index.js +9 -0
  6. package/lib/cjs/ActivityIndicator/Spinner.js +85 -0
  7. package/lib/cjs/ActivityIndicator/Spinner.native.js +151 -0
  8. package/lib/cjs/ActivityIndicator/index.js +51 -0
  9. package/lib/cjs/ActivityIndicator/shared.js +20 -0
  10. package/lib/cjs/Autocomplete/Autocomplete.js +480 -0
  11. package/lib/cjs/Autocomplete/Loading.js +42 -0
  12. package/lib/cjs/Autocomplete/Suggestions.js +71 -0
  13. package/lib/cjs/Autocomplete/constants.js +10 -0
  14. package/lib/cjs/Autocomplete/dictionary.js +18 -0
  15. package/lib/cjs/Autocomplete/index.js +9 -0
  16. package/lib/cjs/Badge/Badge.js +109 -0
  17. package/lib/cjs/Badge/index.js +9 -0
  18. package/lib/cjs/BaseProvider/HydrationContext.js +56 -0
  19. package/lib/cjs/BaseProvider/index.js +46 -0
  20. package/lib/cjs/Box/Box.js +385 -0
  21. package/lib/cjs/Box/backgroundImageStylesMap.js +100 -0
  22. package/lib/cjs/Box/index.js +9 -0
  23. package/lib/cjs/Button/Button.js +43 -0
  24. package/lib/cjs/Button/ButtonBase.js +353 -0
  25. package/lib/cjs/Button/ButtonDropdown.js +182 -0
  26. package/lib/cjs/Button/ButtonGroup.js +279 -0
  27. package/lib/cjs/Button/ButtonLink.js +57 -0
  28. package/lib/cjs/Button/index.js +34 -0
  29. package/lib/cjs/Button/propTypes.js +53 -0
  30. package/lib/cjs/Card/Card.js +334 -0
  31. package/lib/cjs/Card/CardBase.js +127 -0
  32. package/lib/cjs/Card/PressableCardBase.js +121 -0
  33. package/lib/cjs/Card/index.js +32 -0
  34. package/lib/cjs/CardGroup/CardGroup.js +219 -0
  35. package/lib/cjs/CardGroup/dictionary.js +14 -0
  36. package/lib/cjs/CardGroup/index.js +9 -0
  37. package/lib/cjs/Carousel/Carousel.js +1046 -0
  38. package/lib/cjs/Carousel/CarouselContext.js +59 -0
  39. package/lib/cjs/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +57 -0
  40. package/lib/cjs/Carousel/CarouselItem/CarouselItem.js +185 -0
  41. package/lib/cjs/Carousel/CarouselItem/index.js +9 -0
  42. package/lib/cjs/Carousel/CarouselStepTracker/CarouselStepTracker.js +101 -0
  43. package/lib/cjs/Carousel/CarouselStepTracker/index.js +9 -0
  44. package/lib/cjs/Carousel/CarouselTabs/CarouselTabs.js +54 -0
  45. package/lib/cjs/Carousel/CarouselTabs/CarouselTabsPanel.js +95 -0
  46. package/lib/cjs/Carousel/CarouselTabs/CarouselTabsPanelItem.js +125 -0
  47. package/lib/cjs/Carousel/CarouselTabs/index.js +9 -0
  48. package/lib/cjs/Carousel/CarouselThumbnail.js +120 -0
  49. package/lib/cjs/Carousel/CarouselThumbnailNavigation.js +78 -0
  50. package/lib/cjs/Carousel/Constants.js +13 -0
  51. package/lib/cjs/Carousel/dictionary.js +28 -0
  52. package/lib/cjs/Carousel/index.js +36 -0
  53. package/lib/cjs/Checkbox/Checkbox.js +349 -0
  54. package/lib/cjs/Checkbox/CheckboxButton.js +171 -0
  55. package/lib/cjs/Checkbox/CheckboxGroup.js +249 -0
  56. package/lib/cjs/Checkbox/CheckboxInput.js +55 -0
  57. package/lib/cjs/Checkbox/CheckboxInput.native.js +11 -0
  58. package/lib/cjs/Checkbox/index.js +16 -0
  59. package/lib/cjs/CheckboxCard/CheckboxCard.js +191 -0
  60. package/lib/cjs/CheckboxCard/index.js +9 -0
  61. package/lib/cjs/CheckboxCardGroup/CheckboxCardGroup.js +215 -0
  62. package/lib/cjs/CheckboxCardGroup/index.js +9 -0
  63. package/lib/cjs/ColourToggle/ColourBubble.js +133 -0
  64. package/lib/cjs/ColourToggle/ColourToggle.js +98 -0
  65. package/lib/cjs/ColourToggle/index.js +9 -0
  66. package/lib/cjs/Divider/Divider.js +138 -0
  67. package/lib/cjs/Divider/index.js +9 -0
  68. package/lib/cjs/DownloadApp/DownloadApp.js +167 -0
  69. package/lib/cjs/DownloadApp/dictionary.js +16 -0
  70. package/lib/cjs/DownloadApp/index.js +9 -0
  71. package/lib/cjs/ExpandCollapse/Accordion.js +20 -0
  72. package/lib/cjs/ExpandCollapse/Control.js +170 -0
  73. package/lib/cjs/ExpandCollapse/ExpandCollapse.js +105 -0
  74. package/lib/cjs/ExpandCollapse/Panel.js +248 -0
  75. package/lib/cjs/ExpandCollapse/dictionary.js +16 -0
  76. package/lib/cjs/ExpandCollapse/index.js +19 -0
  77. package/lib/cjs/ExpandCollapseMini/ExpandCollapseMini.js +84 -0
  78. package/lib/cjs/ExpandCollapseMini/ExpandCollapseMiniControl.js +133 -0
  79. package/lib/cjs/ExpandCollapseMini/index.js +9 -0
  80. package/lib/cjs/Feedback/Feedback.js +167 -0
  81. package/lib/cjs/Feedback/index.js +9 -0
  82. package/lib/cjs/Fieldset/Fieldset.js +198 -0
  83. package/lib/cjs/Fieldset/FieldsetContainer.js +55 -0
  84. package/lib/cjs/Fieldset/FieldsetContainer.native.js +39 -0
  85. package/lib/cjs/Fieldset/Legend.js +29 -0
  86. package/lib/cjs/Fieldset/Legend.native.js +36 -0
  87. package/lib/cjs/Fieldset/cssReset.js +20 -0
  88. package/lib/cjs/Fieldset/index.js +9 -0
  89. package/lib/cjs/FileUpload/FileUpload.js +370 -0
  90. package/lib/cjs/FileUpload/NotificationContent.js +59 -0
  91. package/lib/cjs/FileUpload/dictionary.js +50 -0
  92. package/lib/cjs/FileUpload/index.js +9 -0
  93. package/lib/cjs/FlexGrid/Col/Col.js +264 -0
  94. package/lib/cjs/FlexGrid/Col/index.js +9 -0
  95. package/lib/cjs/FlexGrid/FlexGrid.js +165 -0
  96. package/lib/cjs/FlexGrid/Row/Row.js +188 -0
  97. package/lib/cjs/FlexGrid/Row/index.js +9 -0
  98. package/lib/cjs/FlexGrid/helpers/index.js +21 -0
  99. package/lib/cjs/FlexGrid/index.js +9 -0
  100. package/lib/cjs/FlexGrid/providers/GutterContext.js +10 -0
  101. package/lib/cjs/Footnote/Footnote.js +323 -0
  102. package/lib/cjs/Footnote/FootnoteLink.js +114 -0
  103. package/lib/cjs/Footnote/dictionary.js +18 -0
  104. package/lib/cjs/Footnote/index.js +11 -0
  105. package/lib/cjs/HorizontalScroll/HorizontalScroll.js +175 -0
  106. package/lib/cjs/HorizontalScroll/HorizontalScrollButton.js +86 -0
  107. package/lib/cjs/HorizontalScroll/ScrollViewEnd.js +53 -0
  108. package/lib/cjs/HorizontalScroll/ScrollViewEnd.native.js +32 -0
  109. package/lib/cjs/HorizontalScroll/dictionary.js +17 -0
  110. package/lib/cjs/HorizontalScroll/index.js +26 -0
  111. package/lib/cjs/HorizontalScroll/itemPositions.js +122 -0
  112. package/lib/cjs/Icon/Icon.js +101 -0
  113. package/lib/cjs/Icon/IconText.js +117 -0
  114. package/lib/cjs/Icon/index.js +24 -0
  115. package/lib/cjs/IconButton/IconButton.js +208 -0
  116. package/lib/cjs/IconButton/index.js +9 -0
  117. package/lib/cjs/InputLabel/InputLabel.js +184 -0
  118. package/lib/cjs/InputLabel/LabelContent.js +35 -0
  119. package/lib/cjs/InputLabel/LabelContent.native.js +26 -0
  120. package/lib/cjs/InputLabel/index.js +9 -0
  121. package/lib/cjs/InputSupports/InputSupports.js +140 -0
  122. package/lib/cjs/InputSupports/dictionary.js +18 -0
  123. package/lib/cjs/InputSupports/index.js +9 -0
  124. package/lib/cjs/InputSupports/useInputSupports.js +47 -0
  125. package/lib/cjs/Link/ChevronLink.js +73 -0
  126. package/lib/cjs/Link/InlinePressable.js +53 -0
  127. package/lib/cjs/Link/InlinePressable.native.js +93 -0
  128. package/lib/cjs/Link/Link.js +35 -0
  129. package/lib/cjs/Link/LinkBase.js +283 -0
  130. package/lib/cjs/Link/TextButton.js +48 -0
  131. package/lib/cjs/Link/index.js +34 -0
  132. package/lib/cjs/List/List.js +83 -0
  133. package/lib/cjs/List/ListItem.js +37 -0
  134. package/lib/cjs/List/ListItemBase.js +171 -0
  135. package/lib/cjs/List/ListItemContent.js +80 -0
  136. package/lib/cjs/List/ListItemMark.js +132 -0
  137. package/lib/cjs/List/PressableListItemBase.js +117 -0
  138. package/lib/cjs/List/index.js +23 -0
  139. package/lib/cjs/Listbox/GroupControl.js +112 -0
  140. package/lib/cjs/Listbox/Listbox.js +177 -0
  141. package/lib/cjs/Listbox/ListboxContext.js +11 -0
  142. package/lib/cjs/Listbox/ListboxGroup.js +133 -0
  143. package/lib/cjs/Listbox/ListboxItem.js +83 -0
  144. package/lib/cjs/Listbox/ListboxOverlay.js +87 -0
  145. package/lib/cjs/Listbox/PressableItem.js +146 -0
  146. package/lib/cjs/Listbox/index.js +9 -0
  147. package/lib/cjs/Modal/Modal.js +377 -0
  148. package/lib/cjs/Modal/ModalContent.js +205 -0
  149. package/lib/cjs/Modal/WebModal.js +83 -0
  150. package/lib/cjs/Modal/dictionary.js +15 -0
  151. package/lib/cjs/Modal/index.js +9 -0
  152. package/lib/cjs/MultiSelectFilter/ModalOverlay.js +162 -0
  153. package/lib/cjs/MultiSelectFilter/MultiSelectFilter.js +544 -0
  154. package/lib/cjs/MultiSelectFilter/dictionary.js +18 -0
  155. package/lib/cjs/MultiSelectFilter/index.js +9 -0
  156. package/lib/cjs/Notification/Notification.js +437 -0
  157. package/lib/cjs/Notification/dictionary.js +14 -0
  158. package/lib/cjs/Notification/index.js +9 -0
  159. package/lib/cjs/OrderedList/Item.js +166 -0
  160. package/lib/cjs/OrderedList/ItemBase.js +51 -0
  161. package/lib/cjs/OrderedList/OrderedList.js +70 -0
  162. package/lib/cjs/OrderedList/OrderedListBase.js +44 -0
  163. package/lib/cjs/OrderedList/index.js +9 -0
  164. package/lib/cjs/Pagination/PageButton.js +82 -0
  165. package/lib/cjs/Pagination/Pagination.js +226 -0
  166. package/lib/cjs/Pagination/SideButton.js +119 -0
  167. package/lib/cjs/Pagination/constants.js +9 -0
  168. package/lib/cjs/Pagination/dictionary.js +24 -0
  169. package/lib/cjs/Pagination/index.js +9 -0
  170. package/lib/cjs/Pagination/usePagination.js +83 -0
  171. package/lib/cjs/Portal/Portal.js +56 -0
  172. package/lib/cjs/Portal/Portal.native.js +8 -0
  173. package/lib/cjs/Portal/index.js +9 -0
  174. package/lib/cjs/PriceLockup/PriceLockup.js +230 -0
  175. package/lib/cjs/PriceLockup/index.js +9 -0
  176. package/lib/cjs/PriceLockup/utils/renderFootnoteContent.js +92 -0
  177. package/lib/cjs/PriceLockup/utils/renderFootnoteLinks.js +35 -0
  178. package/lib/cjs/PriceLockup/utils/renderPrice.js +146 -0
  179. package/lib/cjs/PriceLockup/utils/renderTypography.js +30 -0
  180. package/lib/cjs/ProductCard/ProductCard.js +237 -0
  181. package/lib/cjs/ProductCard/dictionary.js +44 -0
  182. package/lib/cjs/ProductCard/index.js +9 -0
  183. package/lib/cjs/ProductCardGroup/ProductCardGroup.js +77 -0
  184. package/lib/cjs/ProductCardGroup/index.js +9 -0
  185. package/lib/cjs/Progress/Progress.js +101 -0
  186. package/lib/cjs/Progress/ProgressBar.js +168 -0
  187. package/lib/cjs/Progress/ProgressBarBackground.js +49 -0
  188. package/lib/cjs/Progress/constants.js +10 -0
  189. package/lib/cjs/Progress/index.js +11 -0
  190. package/lib/cjs/QuickLinks/QuickLinks.js +83 -0
  191. package/lib/cjs/QuickLinks/QuickLinksCard.js +38 -0
  192. package/lib/cjs/QuickLinks/QuickLinksItem.js +56 -0
  193. package/lib/cjs/QuickLinks/index.js +11 -0
  194. package/lib/cjs/QuickLinksFeature/QuickLinksFeature.js +74 -0
  195. package/lib/cjs/QuickLinksFeature/QuickLinksFeatureItem.js +152 -0
  196. package/lib/cjs/QuickLinksFeature/index.js +11 -0
  197. package/lib/cjs/Radio/Radio.js +291 -0
  198. package/lib/cjs/Radio/RadioButton.js +191 -0
  199. package/lib/cjs/Radio/RadioGroup.js +262 -0
  200. package/lib/cjs/Radio/RadioInput.js +55 -0
  201. package/lib/cjs/Radio/RadioInput.native.js +11 -0
  202. package/lib/cjs/Radio/index.js +16 -0
  203. package/lib/cjs/RadioCard/RadioCard.js +219 -0
  204. package/lib/cjs/RadioCard/RadioCardGroup.js +266 -0
  205. package/lib/cjs/RadioCard/index.js +16 -0
  206. package/lib/cjs/Responsive/Responsive.js +70 -0
  207. package/lib/cjs/Responsive/ResponsiveProp.js +45 -0
  208. package/lib/cjs/Responsive/ResponsiveWithMediaQueryStyleSheet.js +75 -0
  209. package/lib/cjs/Responsive/index.js +9 -0
  210. package/lib/cjs/Search/Search.js +281 -0
  211. package/lib/cjs/Search/dictionary.js +18 -0
  212. package/lib/cjs/Search/index.js +9 -0
  213. package/lib/cjs/Select/Group.js +31 -0
  214. package/lib/cjs/Select/Group.native.js +23 -0
  215. package/lib/cjs/Select/Item.js +30 -0
  216. package/lib/cjs/Select/Item.native.js +8 -0
  217. package/lib/cjs/Select/Picker.js +103 -0
  218. package/lib/cjs/Select/Picker.native.js +130 -0
  219. package/lib/cjs/Select/Select.js +339 -0
  220. package/lib/cjs/Select/constants.js +13 -0
  221. package/lib/cjs/Select/index.js +13 -0
  222. package/lib/cjs/SideNav/Item.js +150 -0
  223. package/lib/cjs/SideNav/ItemContent.js +56 -0
  224. package/lib/cjs/SideNav/ItemsGroup.js +125 -0
  225. package/lib/cjs/SideNav/SideNav.js +139 -0
  226. package/lib/cjs/SideNav/index.js +13 -0
  227. package/lib/cjs/Skeleton/Skeleton.js +184 -0
  228. package/lib/cjs/Skeleton/index.js +9 -0
  229. package/lib/cjs/Skeleton/skeleton.constant.js +8 -0
  230. package/lib/cjs/Skeleton/skeletonWebAnimation.js +20 -0
  231. package/lib/cjs/Skeleton/useSkeletonNativeAnimation.js +35 -0
  232. package/lib/cjs/SkipLink/SkipLink.js +196 -0
  233. package/lib/cjs/SkipLink/index.js +9 -0
  234. package/lib/cjs/Spacer/Spacer.js +100 -0
  235. package/lib/cjs/Spacer/index.js +9 -0
  236. package/lib/cjs/StackView/StackView.js +133 -0
  237. package/lib/cjs/StackView/StackWrap.js +54 -0
  238. package/lib/cjs/StackView/StackWrap.native.js +10 -0
  239. package/lib/cjs/StackView/StackWrapBox.js +121 -0
  240. package/lib/cjs/StackView/StackWrapGap.js +68 -0
  241. package/lib/cjs/StackView/common.js +43 -0
  242. package/lib/cjs/StackView/getStackedContent.js +128 -0
  243. package/lib/cjs/StackView/index.js +23 -0
  244. package/lib/cjs/Status/Status.js +176 -0
  245. package/lib/cjs/Status/index.js +9 -0
  246. package/lib/cjs/StepTracker/Step.js +271 -0
  247. package/lib/cjs/StepTracker/StepTracker.js +220 -0
  248. package/lib/cjs/StepTracker/dictionary.js +36 -0
  249. package/lib/cjs/StepTracker/index.js +9 -0
  250. package/lib/cjs/TabBar/TabBar.js +132 -0
  251. package/lib/cjs/TabBar/TabBarItem.js +182 -0
  252. package/lib/cjs/TabBar/index.js +9 -0
  253. package/lib/cjs/Tabs/Tabs.js +188 -0
  254. package/lib/cjs/Tabs/TabsItem.js +245 -0
  255. package/lib/cjs/Tabs/index.js +9 -0
  256. package/lib/cjs/Tags/Tags.js +252 -0
  257. package/lib/cjs/Tags/index.js +9 -0
  258. package/lib/cjs/TextInput/TextArea.js +105 -0
  259. package/lib/cjs/TextInput/TextInput.js +86 -0
  260. package/lib/cjs/TextInput/TextInputBase.js +502 -0
  261. package/lib/cjs/TextInput/dictionary.js +18 -0
  262. package/lib/cjs/TextInput/index.js +20 -0
  263. package/lib/cjs/TextInput/propTypes.js +40 -0
  264. package/lib/cjs/ThemeProvider/ThemeProvider.js +91 -0
  265. package/lib/cjs/ThemeProvider/index.js +59 -0
  266. package/lib/cjs/ThemeProvider/useResponsiveThemeTokens.js +88 -0
  267. package/lib/cjs/ThemeProvider/useSetTheme.js +30 -0
  268. package/lib/cjs/ThemeProvider/useTheme.js +17 -0
  269. package/lib/cjs/ThemeProvider/useThemeTokens.js +118 -0
  270. package/lib/cjs/ThemeProvider/utils/index.js +27 -0
  271. package/lib/cjs/ThemeProvider/utils/styles.js +208 -0
  272. package/lib/cjs/ThemeProvider/utils/theme-tokens.js +173 -0
  273. package/lib/cjs/Timeline/Timeline.js +175 -0
  274. package/lib/cjs/Timeline/index.js +9 -0
  275. package/lib/cjs/ToggleSwitch/ToggleSwitch.js +286 -0
  276. package/lib/cjs/ToggleSwitch/ToggleSwitchGroup.js +215 -0
  277. package/lib/cjs/ToggleSwitch/index.js +20 -0
  278. package/lib/cjs/Tooltip/Backdrop.js +57 -0
  279. package/lib/cjs/Tooltip/Backdrop.native.js +46 -0
  280. package/lib/cjs/Tooltip/Tooltip.js +295 -0
  281. package/lib/cjs/Tooltip/Tooltip.native.js +370 -0
  282. package/lib/cjs/Tooltip/dictionary.js +14 -0
  283. package/lib/cjs/Tooltip/getTooltipPosition.js +175 -0
  284. package/lib/cjs/Tooltip/index.js +12 -0
  285. package/lib/cjs/Tooltip/shared.js +48 -0
  286. package/lib/cjs/TooltipButton/TooltipButton.js +97 -0
  287. package/lib/cjs/TooltipButton/index.js +9 -0
  288. package/lib/cjs/Typography/Typography.js +271 -0
  289. package/lib/cjs/Typography/index.js +9 -0
  290. package/lib/cjs/Validator/Validator.js +228 -0
  291. package/lib/cjs/Validator/index.js +9 -0
  292. package/lib/cjs/ViewportProvider/ViewportProvider.js +32 -0
  293. package/lib/cjs/ViewportProvider/index.js +22 -0
  294. package/lib/cjs/ViewportProvider/useViewport.js +10 -0
  295. package/lib/cjs/ViewportProvider/useViewportListener.js +43 -0
  296. package/lib/cjs/index.js +781 -0
  297. package/lib/cjs/server.js +40 -0
  298. package/lib/cjs/utils/BaseView/BaseView.js +47 -0
  299. package/lib/cjs/utils/BaseView/BaseView.native.js +12 -0
  300. package/lib/cjs/utils/BaseView/index.js +9 -0
  301. package/lib/cjs/utils/a11y/index.js +27 -0
  302. package/lib/cjs/utils/a11y/semantics.js +145 -0
  303. package/lib/cjs/utils/a11y/textSize.js +44 -0
  304. package/lib/cjs/utils/animation/index.js +13 -0
  305. package/lib/cjs/utils/animation/useVerticalExpandAnimation.js +92 -0
  306. package/lib/cjs/utils/children.js +121 -0
  307. package/lib/cjs/utils/containUniqueFields.js +30 -0
  308. package/lib/cjs/utils/convertFromMegaByteToByte.js +16 -0
  309. package/lib/cjs/utils/floating-ui/index.js +42 -0
  310. package/lib/cjs/utils/floating-ui/index.native.js +42 -0
  311. package/lib/cjs/utils/formatImageSource.js +33 -0
  312. package/lib/cjs/utils/hasOwnProperty.js +17 -0
  313. package/lib/cjs/utils/htmlAttrs.js +30 -0
  314. package/lib/cjs/utils/index.js +245 -0
  315. package/lib/cjs/utils/info/index.js +14 -0
  316. package/lib/cjs/utils/info/platform/index.js +18 -0
  317. package/lib/cjs/utils/info/platform/platform.android.js +7 -0
  318. package/lib/cjs/utils/info/platform/platform.ios.js +7 -0
  319. package/lib/cjs/utils/info/platform/platform.js +7 -0
  320. package/lib/cjs/utils/info/platform/platform.native.js +10 -0
  321. package/lib/cjs/utils/info/versions.js +12 -0
  322. package/lib/cjs/utils/input.js +193 -0
  323. package/lib/cjs/utils/pressability.js +122 -0
  324. package/lib/cjs/utils/props/a11yProps.js +315 -0
  325. package/lib/cjs/utils/props/clickProps.js +32 -0
  326. package/lib/cjs/utils/props/componentPropType.js +55 -0
  327. package/lib/cjs/utils/props/contentfulProps.js +29 -0
  328. package/lib/cjs/utils/props/copyPropTypes.js +9 -0
  329. package/lib/cjs/utils/props/getPropSelector.js +58 -0
  330. package/lib/cjs/utils/props/handlerProps.js +111 -0
  331. package/lib/cjs/utils/props/hrefAttrsProp.js +39 -0
  332. package/lib/cjs/utils/props/index.js +176 -0
  333. package/lib/cjs/utils/props/inputSupportsProps.js +87 -0
  334. package/lib/cjs/utils/props/linkProps.js +50 -0
  335. package/lib/cjs/utils/props/paddingProp.js +16 -0
  336. package/lib/cjs/utils/props/pressProps.js +49 -0
  337. package/lib/cjs/utils/props/rectProp.js +16 -0
  338. package/lib/cjs/utils/props/responsiveProps.js +35 -0
  339. package/lib/cjs/utils/props/selectSystemProps.js +29 -0
  340. package/lib/cjs/utils/props/spacingProps.js +63 -0
  341. package/lib/cjs/utils/props/textInputProps.js +194 -0
  342. package/lib/cjs/utils/props/textProps.js +67 -0
  343. package/lib/cjs/utils/props/tokens.js +140 -0
  344. package/lib/cjs/utils/props/variantProp.js +24 -0
  345. package/lib/cjs/utils/props/viewProps.js +28 -0
  346. package/lib/cjs/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +55 -0
  347. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.android.js +9 -0
  348. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.ios.js +9 -0
  349. package/lib/cjs/utils/ssr-media-query/create-stylesheet/index.js +42 -0
  350. package/lib/cjs/utils/ssr-media-query/hash.js +19 -0
  351. package/lib/cjs/utils/ssr-media-query/index.js +18 -0
  352. package/lib/cjs/utils/ssr-media-query/utils/common.js +44 -0
  353. package/lib/cjs/utils/ssr-media-query/utils/create-declaration-block.js +23 -0
  354. package/lib/cjs/utils/ssr-media-query/utils/create-media-query-styles.js +66 -0
  355. package/lib/cjs/utils/ssr-media-query/utils/hyphenate-style-name.js +18 -0
  356. package/lib/cjs/utils/ssr-media-query/utils/inject.js +47 -0
  357. package/lib/cjs/utils/ssr.js +150 -0
  358. package/lib/cjs/utils/transformGradient.js +22 -0
  359. package/lib/cjs/utils/useCopy.js +48 -0
  360. package/lib/cjs/utils/useHash.js +44 -0
  361. package/lib/cjs/utils/useHash.native.js +12 -0
  362. package/lib/cjs/utils/useOverlaidPosition.js +242 -0
  363. package/lib/cjs/utils/useResponsiveProp.js +53 -0
  364. package/lib/cjs/utils/useSafeLayoutEffect.js +34 -0
  365. package/lib/cjs/utils/useScrollBlocking.js +55 -0
  366. package/lib/cjs/utils/useScrollBlocking.native.js +9 -0
  367. package/lib/cjs/utils/useSpacingScale.js +129 -0
  368. package/lib/cjs/utils/useUniqueId.js +17 -0
  369. package/lib/cjs/utils/withLinkRouter.js +89 -0
  370. package/lib/esm/A11yInfoProvider/index.js +65 -0
  371. package/lib/esm/Autocomplete/Autocomplete.js +473 -0
  372. package/lib/esm/Autocomplete/Suggestions.js +64 -0
  373. package/lib/esm/BaseProvider/HydrationContext.js +47 -0
  374. package/lib/esm/BaseProvider/index.js +40 -0
  375. package/lib/esm/Button/ButtonDropdown.js +173 -0
  376. package/lib/esm/Card/Card.js +327 -0
  377. package/lib/esm/Card/CardBase.js +120 -0
  378. package/lib/esm/Card/PressableCardBase.js +113 -0
  379. package/lib/esm/CardGroup/CardGroup.js +210 -0
  380. package/lib/esm/Carousel/Carousel.js +1039 -0
  381. package/lib/esm/Carousel/CarouselItem/CarouselItem.js +178 -0
  382. package/lib/esm/Carousel/CarouselStepTracker/CarouselStepTracker.js +94 -0
  383. package/lib/esm/Carousel/CarouselTabs/CarouselTabs.js +49 -0
  384. package/lib/esm/Carousel/CarouselTabs/CarouselTabsPanel.js +88 -0
  385. package/lib/esm/Carousel/CarouselTabs/CarouselTabsPanelItem.js +118 -0
  386. package/lib/esm/Carousel/CarouselThumbnail.js +113 -0
  387. package/lib/esm/Carousel/Constants.js +7 -0
  388. package/lib/esm/Checkbox/Checkbox.js +342 -0
  389. package/lib/esm/ColourToggle/ColourToggle.js +91 -0
  390. package/lib/esm/ExpandCollapseMini/ExpandCollapseMini.js +77 -0
  391. package/lib/esm/ExpandCollapseMini/ExpandCollapseMiniControl.js +126 -0
  392. package/lib/esm/ExpandCollapseMini/index.js +2 -0
  393. package/lib/esm/Footnote/Footnote.js +316 -0
  394. package/lib/esm/HorizontalScroll/HorizontalScroll.js +167 -0
  395. package/lib/esm/Icon/Icon.js +94 -0
  396. package/lib/esm/Icon/IconText.js +110 -0
  397. package/lib/esm/IconButton/IconButton.js +202 -0
  398. package/lib/esm/InputSupports/InputSupports.js +133 -0
  399. package/lib/esm/Link/LinkBase.js +276 -0
  400. package/lib/esm/List/List.js +76 -0
  401. package/lib/esm/List/ListItemContent.js +73 -0
  402. package/lib/esm/Listbox/Listbox.js +168 -0
  403. package/lib/esm/Listbox/PressableItem.js +139 -0
  404. package/lib/esm/Modal/Modal.js +370 -0
  405. package/lib/esm/MultiSelectFilter/MultiSelectFilter.js +537 -0
  406. package/lib/esm/Notification/Notification.js +430 -0
  407. package/lib/esm/OrderedList/OrderedList.js +63 -0
  408. package/lib/esm/Pagination/usePagination.js +77 -0
  409. package/lib/esm/PriceLockup/utils/renderFootnoteContent.js +85 -0
  410. package/lib/esm/PriceLockup/utils/renderFootnoteLinks.js +28 -0
  411. package/lib/esm/PriceLockup/utils/renderPrice.js +139 -0
  412. package/lib/esm/ProductCard/ProductCard.js +230 -0
  413. package/lib/esm/Progress/ProgressBarBackground.js +42 -0
  414. package/lib/esm/QuickLinksFeature/QuickLinksFeature.js +68 -0
  415. package/lib/esm/Radio/Radio.js +282 -0
  416. package/lib/esm/Search/Search.js +274 -0
  417. package/lib/esm/Select/Picker.js +96 -0
  418. package/lib/esm/StackView/StackWrap.js +48 -0
  419. package/lib/esm/StackView/getStackedContent.js +121 -0
  420. package/lib/esm/StepTracker/StepTracker.js +213 -0
  421. package/lib/esm/TabBar/TabBar.js +125 -0
  422. package/lib/esm/Tabs/Tabs.js +179 -0
  423. package/lib/esm/Tabs/TabsItem.js +238 -0
  424. package/lib/esm/TextInput/TextArea.js +98 -0
  425. package/lib/esm/TextInput/TextInput.js +79 -0
  426. package/lib/esm/TextInput/TextInputBase.js +495 -0
  427. package/lib/esm/ThemeProvider/utils/theme-tokens.js +158 -0
  428. package/lib/esm/Timeline/Timeline.js +168 -0
  429. package/lib/esm/Tooltip/Tooltip.native.js +363 -0
  430. package/lib/esm/Typography/Typography.js +265 -0
  431. package/lib/esm/Validator/Validator.js +221 -0
  432. package/lib/esm/ViewportProvider/useViewportListener.js +37 -0
  433. package/lib/esm/index.js +72 -0
  434. package/lib/esm/utils/children.js +113 -0
  435. package/lib/esm/utils/input.js +185 -0
  436. package/lib/esm/utils/props/componentPropType.js +49 -0
  437. package/lib/esm/utils/props/selectSystemProps.js +23 -0
  438. package/lib/esm/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
  439. package/lib/esm/utils/ssr-media-query/create-stylesheet/index.js +35 -0
  440. package/lib/esm/utils/ssr-media-query/utils/inject.js +37 -0
  441. package/lib/esm/utils/useHash.js +38 -0
  442. package/lib/esm/utils/useOverlaidPosition.js +235 -0
  443. package/lib/esm/utils/useScrollBlocking.js +49 -0
  444. package/lib/esm/utils/useSpacingScale.js +123 -0
  445. package/lib/package.json +88 -0
  446. package/package.json +13 -11
  447. package/src/Carousel/Carousel.jsx +228 -155
  448. package/src/Carousel/CarouselItem/CarouselItem.jsx +14 -4
  449. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +3 -0
  450. package/src/Carousel/Constants.js +4 -0
  451. package/src/ExpandCollapseMini/ExpandCollapseMini.jsx +76 -0
  452. package/src/ExpandCollapseMini/ExpandCollapseMiniControl.jsx +119 -0
  453. package/src/ExpandCollapseMini/index.js +3 -0
  454. package/src/Link/LinkBase.jsx +8 -3
  455. package/src/TextInput/TextInputBase.jsx +30 -1
  456. package/src/index.js +1 -0
  457. package/src/utils/useOverlaidPosition.js +23 -0
  458. package/lib/A11yInfoProvider/index.js +0 -65
  459. package/lib/Autocomplete/Autocomplete.js +0 -483
  460. package/lib/Autocomplete/Suggestions.js +0 -64
  461. package/lib/BaseProvider/HydrationContext.js +0 -48
  462. package/lib/BaseProvider/index.js +0 -41
  463. package/lib/Button/ButtonDropdown.js +0 -173
  464. package/lib/Card/Card.js +0 -328
  465. package/lib/Card/CardBase.js +0 -120
  466. package/lib/Card/PressableCardBase.js +0 -113
  467. package/lib/CardGroup/CardGroup.js +0 -210
  468. package/lib/Carousel/Carousel.js +0 -981
  469. package/lib/Carousel/CarouselItem/CarouselItem.js +0 -161
  470. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -91
  471. package/lib/Carousel/CarouselTabs/CarouselTabs.js +0 -50
  472. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -88
  473. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -118
  474. package/lib/Carousel/CarouselThumbnail.js +0 -113
  475. package/lib/Carousel/Constants.js +0 -3
  476. package/lib/Checkbox/Checkbox.js +0 -342
  477. package/lib/ColourToggle/ColourToggle.js +0 -91
  478. package/lib/Footnote/Footnote.js +0 -316
  479. package/lib/HorizontalScroll/HorizontalScroll.js +0 -168
  480. package/lib/Icon/Icon.js +0 -94
  481. package/lib/Icon/IconText.js +0 -111
  482. package/lib/IconButton/IconButton.js +0 -203
  483. package/lib/InputSupports/InputSupports.js +0 -133
  484. package/lib/Link/LinkBase.js +0 -271
  485. package/lib/List/List.js +0 -77
  486. package/lib/List/ListItemContent.js +0 -73
  487. package/lib/Listbox/Listbox.js +0 -171
  488. package/lib/Listbox/PressableItem.js +0 -139
  489. package/lib/Modal/Modal.js +0 -373
  490. package/lib/MultiSelectFilter/MultiSelectFilter.js +0 -537
  491. package/lib/Notification/Notification.js +0 -432
  492. package/lib/OrderedList/OrderedList.js +0 -64
  493. package/lib/Pagination/usePagination.js +0 -78
  494. package/lib/PriceLockup/utils/renderFootnoteContent.js +0 -85
  495. package/lib/PriceLockup/utils/renderFootnoteLinks.js +0 -28
  496. package/lib/PriceLockup/utils/renderPrice.js +0 -139
  497. package/lib/ProductCard/ProductCard.js +0 -231
  498. package/lib/Progress/ProgressBarBackground.js +0 -42
  499. package/lib/QuickLinksFeature/QuickLinksFeature.js +0 -69
  500. package/lib/Radio/Radio.js +0 -282
  501. package/lib/Search/Search.js +0 -275
  502. package/lib/Select/Picker.js +0 -96
  503. package/lib/StackView/StackWrap.js +0 -51
  504. package/lib/StackView/getStackedContent.js +0 -122
  505. package/lib/StepTracker/StepTracker.js +0 -214
  506. package/lib/TabBar/TabBar.js +0 -125
  507. package/lib/Tabs/Tabs.js +0 -179
  508. package/lib/Tabs/TabsItem.js +0 -238
  509. package/lib/TextInput/TextArea.js +0 -98
  510. package/lib/TextInput/TextInput.js +0 -79
  511. package/lib/TextInput/TextInputBase.js +0 -468
  512. package/lib/ThemeProvider/utils/theme-tokens.js +0 -160
  513. package/lib/Timeline/Timeline.js +0 -169
  514. package/lib/Tooltip/Tooltip.native.js +0 -363
  515. package/lib/Typography/Typography.js +0 -266
  516. package/lib/Validator/Validator.js +0 -226
  517. package/lib/ViewportProvider/useViewportListener.js +0 -37
  518. package/lib/index.js +0 -71
  519. package/lib/utils/children.js +0 -117
  520. package/lib/utils/input.js +0 -185
  521. package/lib/utils/props/componentPropType.js +0 -50
  522. package/lib/utils/props/selectSystemProps.js +0 -23
  523. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -48
  524. package/lib/utils/ssr-media-query/create-stylesheet/index.js +0 -36
  525. package/lib/utils/ssr-media-query/utils/inject.js +0 -39
  526. package/lib/utils/useHash.js +0 -41
  527. package/lib/utils/useOverlaidPosition.js +0 -214
  528. package/lib/utils/useScrollBlocking.js +0 -51
  529. package/lib/utils/useSpacingScale.js +0 -123
  530. /package/lib/{A11yText → esm/A11yText}/index.js +0 -0
  531. /package/lib/{ActionCard → esm/ActionCard}/ActionCard.js +0 -0
  532. /package/lib/{ActionCard → esm/ActionCard}/index.js +0 -0
  533. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.js +0 -0
  534. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/Spinner.native.js +0 -0
  535. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/index.js +0 -0
  536. /package/lib/{ActivityIndicator → esm/ActivityIndicator}/shared.js +0 -0
  537. /package/lib/{Autocomplete → esm/Autocomplete}/Loading.js +0 -0
  538. /package/lib/{Autocomplete → esm/Autocomplete}/constants.js +0 -0
  539. /package/lib/{Autocomplete → esm/Autocomplete}/dictionary.js +0 -0
  540. /package/lib/{Autocomplete → esm/Autocomplete}/index.js +0 -0
  541. /package/lib/{Badge → esm/Badge}/Badge.js +0 -0
  542. /package/lib/{Badge → esm/Badge}/index.js +0 -0
  543. /package/lib/{Box → esm/Box}/Box.js +0 -0
  544. /package/lib/{Box → esm/Box}/backgroundImageStylesMap.js +0 -0
  545. /package/lib/{Box → esm/Box}/index.js +0 -0
  546. /package/lib/{Button → esm/Button}/Button.js +0 -0
  547. /package/lib/{Button → esm/Button}/ButtonBase.js +0 -0
  548. /package/lib/{Button → esm/Button}/ButtonGroup.js +0 -0
  549. /package/lib/{Button → esm/Button}/ButtonLink.js +0 -0
  550. /package/lib/{Button → esm/Button}/index.js +0 -0
  551. /package/lib/{Button → esm/Button}/propTypes.js +0 -0
  552. /package/lib/{Card → esm/Card}/index.js +0 -0
  553. /package/lib/{CardGroup → esm/CardGroup}/dictionary.js +0 -0
  554. /package/lib/{CardGroup → esm/CardGroup}/index.js +0 -0
  555. /package/lib/{Carousel → esm/Carousel}/CarouselContext.js +0 -0
  556. /package/lib/{Carousel → esm/Carousel}/CarouselFirstFocus/CarouselFirstFocus.js +0 -0
  557. /package/lib/{Carousel → esm/Carousel}/CarouselItem/index.js +0 -0
  558. /package/lib/{Carousel → esm/Carousel}/CarouselStepTracker/index.js +0 -0
  559. /package/lib/{Carousel → esm/Carousel}/CarouselTabs/index.js +0 -0
  560. /package/lib/{Carousel → esm/Carousel}/CarouselThumbnailNavigation.js +0 -0
  561. /package/lib/{Carousel → esm/Carousel}/dictionary.js +0 -0
  562. /package/lib/{Carousel → esm/Carousel}/index.js +0 -0
  563. /package/lib/{Checkbox → esm/Checkbox}/CheckboxButton.js +0 -0
  564. /package/lib/{Checkbox → esm/Checkbox}/CheckboxGroup.js +0 -0
  565. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.js +0 -0
  566. /package/lib/{Checkbox → esm/Checkbox}/CheckboxInput.native.js +0 -0
  567. /package/lib/{Checkbox → esm/Checkbox}/index.js +0 -0
  568. /package/lib/{CheckboxCard → esm/CheckboxCard}/CheckboxCard.js +0 -0
  569. /package/lib/{CheckboxCard → esm/CheckboxCard}/index.js +0 -0
  570. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/CheckboxCardGroup.js +0 -0
  571. /package/lib/{CheckboxCardGroup → esm/CheckboxCardGroup}/index.js +0 -0
  572. /package/lib/{ColourToggle → esm/ColourToggle}/ColourBubble.js +0 -0
  573. /package/lib/{ColourToggle → esm/ColourToggle}/index.js +0 -0
  574. /package/lib/{Divider → esm/Divider}/Divider.js +0 -0
  575. /package/lib/{Divider → esm/Divider}/index.js +0 -0
  576. /package/lib/{DownloadApp → esm/DownloadApp}/DownloadApp.js +0 -0
  577. /package/lib/{DownloadApp → esm/DownloadApp}/dictionary.js +0 -0
  578. /package/lib/{DownloadApp → esm/DownloadApp}/index.js +0 -0
  579. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Accordion.js +0 -0
  580. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Control.js +0 -0
  581. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/ExpandCollapse.js +0 -0
  582. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/Panel.js +0 -0
  583. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/dictionary.js +0 -0
  584. /package/lib/{ExpandCollapse → esm/ExpandCollapse}/index.js +0 -0
  585. /package/lib/{Feedback → esm/Feedback}/Feedback.js +0 -0
  586. /package/lib/{Feedback → esm/Feedback}/index.js +0 -0
  587. /package/lib/{Fieldset → esm/Fieldset}/Fieldset.js +0 -0
  588. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.js +0 -0
  589. /package/lib/{Fieldset → esm/Fieldset}/FieldsetContainer.native.js +0 -0
  590. /package/lib/{Fieldset → esm/Fieldset}/Legend.js +0 -0
  591. /package/lib/{Fieldset → esm/Fieldset}/Legend.native.js +0 -0
  592. /package/lib/{Fieldset → esm/Fieldset}/cssReset.js +0 -0
  593. /package/lib/{Fieldset → esm/Fieldset}/index.js +0 -0
  594. /package/lib/{FileUpload → esm/FileUpload}/FileUpload.js +0 -0
  595. /package/lib/{FileUpload → esm/FileUpload}/NotificationContent.js +0 -0
  596. /package/lib/{FileUpload → esm/FileUpload}/dictionary.js +0 -0
  597. /package/lib/{FileUpload → esm/FileUpload}/index.js +0 -0
  598. /package/lib/{FlexGrid → esm/FlexGrid}/Col/Col.js +0 -0
  599. /package/lib/{FlexGrid → esm/FlexGrid}/Col/index.js +0 -0
  600. /package/lib/{FlexGrid → esm/FlexGrid}/FlexGrid.js +0 -0
  601. /package/lib/{FlexGrid → esm/FlexGrid}/Row/Row.js +0 -0
  602. /package/lib/{FlexGrid → esm/FlexGrid}/Row/index.js +0 -0
  603. /package/lib/{FlexGrid → esm/FlexGrid}/helpers/index.js +0 -0
  604. /package/lib/{FlexGrid → esm/FlexGrid}/index.js +0 -0
  605. /package/lib/{FlexGrid → esm/FlexGrid}/providers/GutterContext.js +0 -0
  606. /package/lib/{Footnote → esm/Footnote}/FootnoteLink.js +0 -0
  607. /package/lib/{Footnote → esm/Footnote}/dictionary.js +0 -0
  608. /package/lib/{Footnote → esm/Footnote}/index.js +0 -0
  609. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/HorizontalScrollButton.js +0 -0
  610. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.js +0 -0
  611. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/ScrollViewEnd.native.js +0 -0
  612. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/dictionary.js +0 -0
  613. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/index.js +0 -0
  614. /package/lib/{HorizontalScroll → esm/HorizontalScroll}/itemPositions.js +0 -0
  615. /package/lib/{Icon → esm/Icon}/index.js +0 -0
  616. /package/lib/{IconButton → esm/IconButton}/index.js +0 -0
  617. /package/lib/{InputLabel → esm/InputLabel}/InputLabel.js +0 -0
  618. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.js +0 -0
  619. /package/lib/{InputLabel → esm/InputLabel}/LabelContent.native.js +0 -0
  620. /package/lib/{InputLabel → esm/InputLabel}/index.js +0 -0
  621. /package/lib/{InputSupports → esm/InputSupports}/dictionary.js +0 -0
  622. /package/lib/{InputSupports → esm/InputSupports}/index.js +0 -0
  623. /package/lib/{InputSupports → esm/InputSupports}/useInputSupports.js +0 -0
  624. /package/lib/{Link → esm/Link}/ChevronLink.js +0 -0
  625. /package/lib/{Link → esm/Link}/InlinePressable.js +0 -0
  626. /package/lib/{Link → esm/Link}/InlinePressable.native.js +0 -0
  627. /package/lib/{Link → esm/Link}/Link.js +0 -0
  628. /package/lib/{Link → esm/Link}/TextButton.js +0 -0
  629. /package/lib/{Link → esm/Link}/index.js +0 -0
  630. /package/lib/{List → esm/List}/ListItem.js +0 -0
  631. /package/lib/{List → esm/List}/ListItemBase.js +0 -0
  632. /package/lib/{List → esm/List}/ListItemMark.js +0 -0
  633. /package/lib/{List → esm/List}/PressableListItemBase.js +0 -0
  634. /package/lib/{List → esm/List}/index.js +0 -0
  635. /package/lib/{Listbox → esm/Listbox}/GroupControl.js +0 -0
  636. /package/lib/{Listbox → esm/Listbox}/ListboxContext.js +0 -0
  637. /package/lib/{Listbox → esm/Listbox}/ListboxGroup.js +0 -0
  638. /package/lib/{Listbox → esm/Listbox}/ListboxItem.js +0 -0
  639. /package/lib/{Listbox → esm/Listbox}/ListboxOverlay.js +0 -0
  640. /package/lib/{Listbox → esm/Listbox}/index.js +0 -0
  641. /package/lib/{Modal → esm/Modal}/ModalContent.js +0 -0
  642. /package/lib/{Modal → esm/Modal}/WebModal.js +0 -0
  643. /package/lib/{Modal → esm/Modal}/dictionary.js +0 -0
  644. /package/lib/{Modal → esm/Modal}/index.js +0 -0
  645. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/ModalOverlay.js +0 -0
  646. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/dictionary.js +0 -0
  647. /package/lib/{MultiSelectFilter → esm/MultiSelectFilter}/index.js +0 -0
  648. /package/lib/{Notification → esm/Notification}/dictionary.js +0 -0
  649. /package/lib/{Notification → esm/Notification}/index.js +0 -0
  650. /package/lib/{OrderedList → esm/OrderedList}/Item.js +0 -0
  651. /package/lib/{OrderedList → esm/OrderedList}/ItemBase.js +0 -0
  652. /package/lib/{OrderedList → esm/OrderedList}/OrderedListBase.js +0 -0
  653. /package/lib/{OrderedList → esm/OrderedList}/index.js +0 -0
  654. /package/lib/{Pagination → esm/Pagination}/PageButton.js +0 -0
  655. /package/lib/{Pagination → esm/Pagination}/Pagination.js +0 -0
  656. /package/lib/{Pagination → esm/Pagination}/SideButton.js +0 -0
  657. /package/lib/{Pagination → esm/Pagination}/constants.js +0 -0
  658. /package/lib/{Pagination → esm/Pagination}/dictionary.js +0 -0
  659. /package/lib/{Pagination → esm/Pagination}/index.js +0 -0
  660. /package/lib/{Portal → esm/Portal}/Portal.js +0 -0
  661. /package/lib/{Portal → esm/Portal}/Portal.native.js +0 -0
  662. /package/lib/{Portal → esm/Portal}/index.js +0 -0
  663. /package/lib/{PriceLockup → esm/PriceLockup}/PriceLockup.js +0 -0
  664. /package/lib/{PriceLockup → esm/PriceLockup}/index.js +0 -0
  665. /package/lib/{PriceLockup → esm/PriceLockup}/utils/renderTypography.js +0 -0
  666. /package/lib/{ProductCard → esm/ProductCard}/dictionary.js +0 -0
  667. /package/lib/{ProductCard → esm/ProductCard}/index.js +0 -0
  668. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/ProductCardGroup.js +0 -0
  669. /package/lib/{ProductCardGroup → esm/ProductCardGroup}/index.js +0 -0
  670. /package/lib/{Progress → esm/Progress}/Progress.js +0 -0
  671. /package/lib/{Progress → esm/Progress}/ProgressBar.js +0 -0
  672. /package/lib/{Progress → esm/Progress}/constants.js +0 -0
  673. /package/lib/{Progress → esm/Progress}/index.js +0 -0
  674. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinks.js +0 -0
  675. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksCard.js +0 -0
  676. /package/lib/{QuickLinks → esm/QuickLinks}/QuickLinksItem.js +0 -0
  677. /package/lib/{QuickLinks → esm/QuickLinks}/index.js +0 -0
  678. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/QuickLinksFeatureItem.js +0 -0
  679. /package/lib/{QuickLinksFeature → esm/QuickLinksFeature}/index.js +0 -0
  680. /package/lib/{Radio → esm/Radio}/RadioButton.js +0 -0
  681. /package/lib/{Radio → esm/Radio}/RadioGroup.js +0 -0
  682. /package/lib/{Radio → esm/Radio}/RadioInput.js +0 -0
  683. /package/lib/{Radio → esm/Radio}/RadioInput.native.js +0 -0
  684. /package/lib/{Radio → esm/Radio}/index.js +0 -0
  685. /package/lib/{RadioCard → esm/RadioCard}/RadioCard.js +0 -0
  686. /package/lib/{RadioCard → esm/RadioCard}/RadioCardGroup.js +0 -0
  687. /package/lib/{RadioCard → esm/RadioCard}/index.js +0 -0
  688. /package/lib/{Responsive → esm/Responsive}/Responsive.js +0 -0
  689. /package/lib/{Responsive → esm/Responsive}/ResponsiveProp.js +0 -0
  690. /package/lib/{Responsive → esm/Responsive}/ResponsiveWithMediaQueryStyleSheet.js +0 -0
  691. /package/lib/{Responsive → esm/Responsive}/index.js +0 -0
  692. /package/lib/{Search → esm/Search}/dictionary.js +0 -0
  693. /package/lib/{Search → esm/Search}/index.js +0 -0
  694. /package/lib/{Select → esm/Select}/Group.js +0 -0
  695. /package/lib/{Select → esm/Select}/Group.native.js +0 -0
  696. /package/lib/{Select → esm/Select}/Item.js +0 -0
  697. /package/lib/{Select → esm/Select}/Item.native.js +0 -0
  698. /package/lib/{Select → esm/Select}/Picker.native.js +0 -0
  699. /package/lib/{Select → esm/Select}/Select.js +0 -0
  700. /package/lib/{Select → esm/Select}/constants.js +0 -0
  701. /package/lib/{Select → esm/Select}/index.js +0 -0
  702. /package/lib/{SideNav → esm/SideNav}/Item.js +0 -0
  703. /package/lib/{SideNav → esm/SideNav}/ItemContent.js +0 -0
  704. /package/lib/{SideNav → esm/SideNav}/ItemsGroup.js +0 -0
  705. /package/lib/{SideNav → esm/SideNav}/SideNav.js +0 -0
  706. /package/lib/{SideNav → esm/SideNav}/index.js +0 -0
  707. /package/lib/{Skeleton → esm/Skeleton}/Skeleton.js +0 -0
  708. /package/lib/{Skeleton → esm/Skeleton}/index.js +0 -0
  709. /package/lib/{Skeleton → esm/Skeleton}/skeleton.constant.js +0 -0
  710. /package/lib/{Skeleton → esm/Skeleton}/skeletonWebAnimation.js +0 -0
  711. /package/lib/{Skeleton → esm/Skeleton}/useSkeletonNativeAnimation.js +0 -0
  712. /package/lib/{SkipLink → esm/SkipLink}/SkipLink.js +0 -0
  713. /package/lib/{SkipLink → esm/SkipLink}/index.js +0 -0
  714. /package/lib/{Spacer → esm/Spacer}/Spacer.js +0 -0
  715. /package/lib/{Spacer → esm/Spacer}/index.js +0 -0
  716. /package/lib/{StackView → esm/StackView}/StackView.js +0 -0
  717. /package/lib/{StackView → esm/StackView}/StackWrap.native.js +0 -0
  718. /package/lib/{StackView → esm/StackView}/StackWrapBox.js +0 -0
  719. /package/lib/{StackView → esm/StackView}/StackWrapGap.js +0 -0
  720. /package/lib/{StackView → esm/StackView}/common.js +0 -0
  721. /package/lib/{StackView → esm/StackView}/index.js +0 -0
  722. /package/lib/{Status → esm/Status}/Status.js +0 -0
  723. /package/lib/{Status → esm/Status}/index.js +0 -0
  724. /package/lib/{StepTracker → esm/StepTracker}/Step.js +0 -0
  725. /package/lib/{StepTracker → esm/StepTracker}/dictionary.js +0 -0
  726. /package/lib/{StepTracker → esm/StepTracker}/index.js +0 -0
  727. /package/lib/{TabBar → esm/TabBar}/TabBarItem.js +0 -0
  728. /package/lib/{TabBar → esm/TabBar}/index.js +0 -0
  729. /package/lib/{Tabs → esm/Tabs}/index.js +0 -0
  730. /package/lib/{Tags → esm/Tags}/Tags.js +0 -0
  731. /package/lib/{Tags → esm/Tags}/index.js +0 -0
  732. /package/lib/{TextInput → esm/TextInput}/dictionary.js +0 -0
  733. /package/lib/{TextInput → esm/TextInput}/index.js +0 -0
  734. /package/lib/{TextInput → esm/TextInput}/propTypes.js +0 -0
  735. /package/lib/{ThemeProvider → esm/ThemeProvider}/ThemeProvider.js +0 -0
  736. /package/lib/{ThemeProvider → esm/ThemeProvider}/index.js +0 -0
  737. /package/lib/{ThemeProvider → esm/ThemeProvider}/useResponsiveThemeTokens.js +0 -0
  738. /package/lib/{ThemeProvider → esm/ThemeProvider}/useSetTheme.js +0 -0
  739. /package/lib/{ThemeProvider → esm/ThemeProvider}/useTheme.js +0 -0
  740. /package/lib/{ThemeProvider → esm/ThemeProvider}/useThemeTokens.js +0 -0
  741. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/index.js +0 -0
  742. /package/lib/{ThemeProvider → esm/ThemeProvider}/utils/styles.js +0 -0
  743. /package/lib/{Timeline → esm/Timeline}/index.js +0 -0
  744. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitch.js +0 -0
  745. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/ToggleSwitchGroup.js +0 -0
  746. /package/lib/{ToggleSwitch → esm/ToggleSwitch}/index.js +0 -0
  747. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.js +0 -0
  748. /package/lib/{Tooltip → esm/Tooltip}/Backdrop.native.js +0 -0
  749. /package/lib/{Tooltip → esm/Tooltip}/Tooltip.js +0 -0
  750. /package/lib/{Tooltip → esm/Tooltip}/dictionary.js +0 -0
  751. /package/lib/{Tooltip → esm/Tooltip}/getTooltipPosition.js +0 -0
  752. /package/lib/{Tooltip → esm/Tooltip}/index.js +0 -0
  753. /package/lib/{Tooltip → esm/Tooltip}/shared.js +0 -0
  754. /package/lib/{TooltipButton → esm/TooltipButton}/TooltipButton.js +0 -0
  755. /package/lib/{TooltipButton → esm/TooltipButton}/index.js +0 -0
  756. /package/lib/{Typography → esm/Typography}/index.js +0 -0
  757. /package/lib/{Validator → esm/Validator}/index.js +0 -0
  758. /package/lib/{ViewportProvider → esm/ViewportProvider}/ViewportProvider.js +0 -0
  759. /package/lib/{ViewportProvider → esm/ViewportProvider}/index.js +0 -0
  760. /package/lib/{ViewportProvider → esm/ViewportProvider}/useViewport.js +0 -0
  761. /package/lib/{server.js → esm/server.js} +0 -0
  762. /package/lib/{utils → esm/utils}/BaseView/BaseView.js +0 -0
  763. /package/lib/{utils → esm/utils}/BaseView/BaseView.native.js +0 -0
  764. /package/lib/{utils → esm/utils}/BaseView/index.js +0 -0
  765. /package/lib/{utils → esm/utils}/a11y/index.js +0 -0
  766. /package/lib/{utils → esm/utils}/a11y/semantics.js +0 -0
  767. /package/lib/{utils → esm/utils}/a11y/textSize.js +0 -0
  768. /package/lib/{utils → esm/utils}/animation/index.js +0 -0
  769. /package/lib/{utils → esm/utils}/animation/useVerticalExpandAnimation.js +0 -0
  770. /package/lib/{utils → esm/utils}/containUniqueFields.js +0 -0
  771. /package/lib/{utils → esm/utils}/convertFromMegaByteToByte.js +0 -0
  772. /package/lib/{utils → esm/utils}/floating-ui/index.js +0 -0
  773. /package/lib/{utils → esm/utils}/floating-ui/index.native.js +0 -0
  774. /package/lib/{utils → esm/utils}/formatImageSource.js +0 -0
  775. /package/lib/{utils → esm/utils}/hasOwnProperty.js +0 -0
  776. /package/lib/{utils → esm/utils}/htmlAttrs.js +0 -0
  777. /package/lib/{utils → esm/utils}/index.js +0 -0
  778. /package/lib/{utils → esm/utils}/info/index.js +0 -0
  779. /package/lib/{utils → esm/utils}/info/platform/index.js +0 -0
  780. /package/lib/{utils → esm/utils}/info/platform/platform.android.js +0 -0
  781. /package/lib/{utils → esm/utils}/info/platform/platform.ios.js +0 -0
  782. /package/lib/{utils → esm/utils}/info/platform/platform.js +0 -0
  783. /package/lib/{utils → esm/utils}/info/platform/platform.native.js +0 -0
  784. /package/lib/{utils → esm/utils}/info/versions.js +0 -0
  785. /package/lib/{utils → esm/utils}/pressability.js +0 -0
  786. /package/lib/{utils → esm/utils}/props/a11yProps.js +0 -0
  787. /package/lib/{utils → esm/utils}/props/clickProps.js +0 -0
  788. /package/lib/{utils → esm/utils}/props/contentfulProps.js +0 -0
  789. /package/lib/{utils → esm/utils}/props/copyPropTypes.js +0 -0
  790. /package/lib/{utils → esm/utils}/props/getPropSelector.js +0 -0
  791. /package/lib/{utils → esm/utils}/props/handlerProps.js +0 -0
  792. /package/lib/{utils → esm/utils}/props/hrefAttrsProp.js +0 -0
  793. /package/lib/{utils → esm/utils}/props/index.js +0 -0
  794. /package/lib/{utils → esm/utils}/props/inputSupportsProps.js +0 -0
  795. /package/lib/{utils → esm/utils}/props/linkProps.js +0 -0
  796. /package/lib/{utils → esm/utils}/props/paddingProp.js +0 -0
  797. /package/lib/{utils → esm/utils}/props/pressProps.js +0 -0
  798. /package/lib/{utils → esm/utils}/props/rectProp.js +0 -0
  799. /package/lib/{utils → esm/utils}/props/responsiveProps.js +0 -0
  800. /package/lib/{utils → esm/utils}/props/spacingProps.js +0 -0
  801. /package/lib/{utils → esm/utils}/props/textInputProps.js +0 -0
  802. /package/lib/{utils → esm/utils}/props/textProps.js +0 -0
  803. /package/lib/{utils → esm/utils}/props/tokens.js +0 -0
  804. /package/lib/{utils → esm/utils}/props/variantProp.js +0 -0
  805. /package/lib/{utils → esm/utils}/props/viewProps.js +0 -0
  806. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.android.js +0 -0
  807. /package/lib/{utils → esm/utils}/ssr-media-query/create-stylesheet/index.ios.js +0 -0
  808. /package/lib/{utils → esm/utils}/ssr-media-query/hash.js +0 -0
  809. /package/lib/{utils → esm/utils}/ssr-media-query/index.js +0 -0
  810. /package/lib/{utils → esm/utils}/ssr-media-query/utils/common.js +0 -0
  811. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-declaration-block.js +0 -0
  812. /package/lib/{utils → esm/utils}/ssr-media-query/utils/create-media-query-styles.js +0 -0
  813. /package/lib/{utils → esm/utils}/ssr-media-query/utils/hyphenate-style-name.js +0 -0
  814. /package/lib/{utils → esm/utils}/ssr.js +0 -0
  815. /package/lib/{utils → esm/utils}/transformGradient.js +0 -0
  816. /package/lib/{utils → esm/utils}/useCopy.js +0 -0
  817. /package/lib/{utils → esm/utils}/useHash.native.js +0 -0
  818. /package/lib/{utils → esm/utils}/useResponsiveProp.js +0 -0
  819. /package/lib/{utils → esm/utils}/useSafeLayoutEffect.js +0 -0
  820. /package/lib/{utils → esm/utils}/useScrollBlocking.native.js +0 -0
  821. /package/lib/{utils → esm/utils}/useUniqueId.js +0 -0
  822. /package/lib/{utils → esm/utils}/withLinkRouter.js +0 -0
@@ -1,537 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import View from "react-native-web/dist/exports/View";
4
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
5
- import Dimensions from "react-native-web/dist/exports/Dimensions";
6
- import SafeAreaView from "react-native-web/dist/exports/SafeAreaView";
7
- import Platform from "react-native-web/dist/exports/Platform";
8
- import ScrollView from "react-native-web/dist/exports/ScrollView";
9
- import { useThemeTokens, useThemeTokensCallback, applyTextStyles } from '../ThemeProvider';
10
- import { containUniqueFields, getTokensPropType, getPressHandlersWithArgs, selectTokens, useOverlaidPosition, useCopy, useMultipleInputValues, useResponsiveProp, variantProp, useScrollBlocking } from '../utils';
11
- import defaultDictionary from './dictionary';
12
- import { useViewport } from '../ViewportProvider';
13
- import Box from '../Box';
14
- import { Button, ButtonDropdown } from '../Button';
15
- import { CheckboxGroup } from '../Checkbox';
16
- import Divider from '../Divider';
17
- import FlexGrid from '../FlexGrid';
18
- import Spacer from '../Spacer';
19
- import StackView from '../StackView';
20
- import Typography from '../Typography';
21
- import { TextButton } from '../Link';
22
- import ModalOverlay from './ModalOverlay';
23
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
24
- const {
25
- Col,
26
- Row
27
- } = FlexGrid;
28
- const selectHeaderTokens = _ref => {
29
- let {
30
- contentMarginLeft,
31
- contentMarginRight,
32
- contentMarginTop,
33
- contentPaddingLeft,
34
- contentPaddingRight
35
- } = _ref;
36
- return {
37
- marginLeft: contentMarginLeft,
38
- marginRight: contentMarginRight,
39
- marginTop: contentMarginTop,
40
- paddingLeft: contentPaddingLeft,
41
- paddingRight: contentPaddingRight,
42
- flexGrow: 1
43
- };
44
- };
45
- const selectControlsTokens = _ref2 => {
46
- let {
47
- contentMarginBottom,
48
- contentMarginLeft,
49
- contentMarginRight,
50
- contentPaddingLeft,
51
- contentPaddingRight
52
- } = _ref2;
53
- return {
54
- marginBottom: contentMarginBottom,
55
- marginLeft: contentMarginLeft,
56
- marginRight: contentMarginRight,
57
- paddingLeft: contentPaddingLeft,
58
- paddingRight: contentPaddingRight
59
- };
60
- };
61
- const selectContainerStyle = (windowHeight, windowWidth) => ({
62
- height: windowHeight,
63
- width: windowWidth
64
- });
65
- const TOTAL_COLUMNS = 12;
66
- const MAX_ITEMS_THRESHOLD = 12;
67
- const MultiSelectFilter = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
68
- let {
69
- label,
70
- subtitle,
71
- id = label,
72
- variant,
73
- tokens,
74
- items = [],
75
- values,
76
- maxHeight = false,
77
- initialValues,
78
- maxValues,
79
- onChange,
80
- onConfirm = () => {},
81
- onCancel = () => {},
82
- onOpen = () => {},
83
- copy = 'en',
84
- readOnly = false,
85
- inactive = false,
86
- rowLimit = 12,
87
- dictionary = defaultDictionary,
88
- ...rest
89
- } = _ref3;
90
- const viewport = useViewport();
91
- const {
92
- currentValues,
93
- setValues
94
- } = useMultipleInputValues({
95
- initialValues,
96
- values,
97
- maxValues,
98
- onChange,
99
- readOnly
100
- });
101
- const [isOpen, setIsOpen] = React.useState(false);
102
- const [checkedIds, setCheckedIds] = React.useState(currentValues ?? []);
103
- const [maxWidth, setMaxWidth] = React.useState(false);
104
- const {
105
- headerFontColor,
106
- headerFontSize,
107
- buttonDirection,
108
- headerFontWeight,
109
- headerLineHeight,
110
- subHeaderFontWeight,
111
- subHeaderFontSize,
112
- maxHeightSize,
113
- maxWidthSize,
114
- subHeaderLineHeight,
115
- minHeight,
116
- minWidth,
117
- labelFontName,
118
- labelFontSize,
119
- labelFontWeight,
120
- labelColor,
121
- labelLineHeight,
122
- labelPaddingTop,
123
- labelPaddingBottom,
124
- labelPaddingLeft,
125
- labelPaddingRight,
126
- buttonBorderColor,
127
- buttonIconSize,
128
- buttonIconPadding,
129
- subtitleColor,
130
- dividerColor,
131
- ...restTokens
132
- } = useThemeTokens('MultiSelectFilter', tokens, {
133
- ...variant,
134
- maxHeight,
135
- maxWidth
136
- }, {
137
- viewport
138
- });
139
- const dropdownTokens = {
140
- borderColor: buttonBorderColor,
141
- iconSize: buttonIconSize,
142
- iconPadding: buttonIconPadding,
143
- lineHeight: labelLineHeight,
144
- fontName: labelFontName,
145
- fontSize: labelFontSize,
146
- fontWeight: labelFontWeight,
147
- color: labelColor,
148
- paddingTop: labelPaddingTop,
149
- paddingBottom: labelPaddingBottom,
150
- paddingLeft: labelPaddingLeft,
151
- paddingRight: labelPaddingRight
152
- };
153
- const getButtonDropdownTokens = useThemeTokensCallback('ButtonDropdown', dropdownTokens, variant);
154
- const getButtonTokens = buttonState => selectTokens('ButtonDropdown', getButtonDropdownTokens(buttonState));
155
- const getCopy = useCopy({
156
- dictionary,
157
- copy
158
- });
159
- const colSizeNotMobile = items.length > rowLimit ? 2 : 1;
160
- const colSize = viewport !== 'xs' ? colSizeNotMobile : 1;
161
- const itemsLengthNotMobile = items.length > 24 ? items.length / 2 : rowLimit;
162
- const isSelected = currentValues.length > 0;
163
- const rowLength = viewport !== 'xs' ? itemsLengthNotMobile : items.length;
164
- React.useEffect(() => {
165
- if (colSize === 1) return setMaxWidth(false);
166
- return colSize === 2 && setMaxWidth(true);
167
- }, [colSize]);
168
- React.useEffect(() => setCheckedIds(currentValues ?? []), [currentValues]);
169
- const uniqueFields = ['id', 'label'];
170
- if (!containUniqueFields(items, uniqueFields)) {
171
- throw new Error(`MultiSelectFilter items must have unique ${uniqueFields.join(', ')}`);
172
- }
173
- // Pass an object of relevant component state as first argument for any passed-in press handlers
174
- const pressHandlers = getPressHandlersWithArgs(rest, [{
175
- id,
176
- label,
177
- currentValues
178
- }]);
179
- const handleChange = event => {
180
- if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0 || pressHandlers.onPress(event);
181
- if (isOpen) onOpen();
182
- setIsOpen(!isOpen);
183
- };
184
- const onApply = e => {
185
- setValues(e);
186
- setIsOpen(false);
187
- onConfirm(e);
188
- };
189
- const onClear = () => {
190
- setCheckedIds(() => []);
191
- setValues([]);
192
- setIsOpen(false);
193
- onCancel();
194
- };
195
- const onClose = () => {
196
- setIsOpen(false);
197
- onCancel();
198
- };
199
- const {
200
- align,
201
- offsets
202
- } = useResponsiveProp({
203
- xs: {
204
- align: {
205
- top: 'top',
206
- left: 'left'
207
- }
208
- },
209
- sm: {
210
- align: {
211
- top: 'bottom',
212
- left: 'left'
213
- },
214
- offsets: {
215
- vertical: 4
216
- }
217
- }
218
- });
219
- const headerStyles = applyTextStyles({
220
- fontSize: headerFontSize,
221
- fontWeight: headerFontWeight,
222
- fontColor: headerFontColor
223
- });
224
- const subeHeaderStyles = applyTextStyles({
225
- fontSize: subHeaderFontSize,
226
- fontWeight: subHeaderFontWeight,
227
- fontColor: subtitleColor
228
- });
229
- const {
230
- overlaidPosition,
231
- onTargetLayout,
232
- isReady,
233
- sourceRef
234
- } = useOverlaidPosition({
235
- isShown: isOpen,
236
- offsets,
237
- align
238
- });
239
- const [isScrolling, setIsScrolling] = React.useState(false);
240
- const [scrollViewHeight, setScrollViewHeight] = React.useState(0);
241
- const [rowHeight, setRowHeight] = React.useState(0);
242
- const modalRef = useScrollBlocking(isOpen);
243
- const windowWidth = Dimensions.get('window').width;
244
- const windowHeight = Dimensions.get('window').height;
245
- React.useEffect(() => {
246
- if (rowHeight > scrollViewHeight) {
247
- setIsScrolling(true);
248
- } else {
249
- setIsScrolling(false);
250
- }
251
- }, [scrollViewHeight, rowHeight]);
252
- const handleScrollViewLayout = event => {
253
- const {
254
- height
255
- } = event.nativeEvent.layout;
256
- setScrollViewHeight(height);
257
- };
258
- const handleRowLayout = event => {
259
- const {
260
- height
261
- } = event.nativeEvent.layout;
262
- setRowHeight(height);
263
- };
264
- const headerContent = /*#__PURE__*/_jsxs(View, {
265
- style: [selectHeaderTokens(restTokens), styles.container],
266
- children: [/*#__PURE__*/_jsx(Row, {
267
- children: /*#__PURE__*/_jsx(View, {
268
- children: /*#__PURE__*/_jsx(Typography, {
269
- tokens: {
270
- ...headerStyles,
271
- lineHeight: headerLineHeight
272
- },
273
- children: getCopy('filterByLabel').replace(/%\{filterCategory\}/g, label.toLowerCase())
274
- })
275
- })
276
- }), subtitle && /*#__PURE__*/_jsxs(_Fragment, {
277
- children: [/*#__PURE__*/_jsx(Spacer, {
278
- space: 4
279
- }), /*#__PURE__*/_jsx(Row, {
280
- children: /*#__PURE__*/_jsx(Typography, {
281
- tokens: {
282
- ...subeHeaderStyles,
283
- lineHeight: subHeaderLineHeight
284
- },
285
- children: subtitle
286
- })
287
- }), /*#__PURE__*/_jsx(Spacer, {
288
- space: 4
289
- })]
290
- }), /*#__PURE__*/_jsx(View, {
291
- style: styles.options,
292
- children: /*#__PURE__*/_jsx(ScrollView, {
293
- onLayout: handleScrollViewLayout,
294
- children: /*#__PURE__*/_jsx(Row, {
295
- distribute: "between",
296
- onLayout: handleRowLayout,
297
- children: [...Array(colSize).keys()].map(i => /*#__PURE__*/_jsxs(Col, {
298
- xs: TOTAL_COLUMNS / colSize,
299
- children: [/*#__PURE__*/_jsx(CheckboxGroup, {
300
- items: items.slice(i * rowLength, (i + 1) * rowLength),
301
- checkedIds: checkedIds,
302
- onChange: e => setCheckedIds(e, i)
303
- }), /*#__PURE__*/_jsx(Spacer, {
304
- size: 4
305
- })]
306
- }, i))
307
- })
308
- })
309
- })]
310
- });
311
- const controlsContent = /*#__PURE__*/_jsxs(_Fragment, {
312
- children: [isScrolling ? /*#__PURE__*/_jsx(Divider, {
313
- tokens: {
314
- color: dividerColor
315
- },
316
- space: 4
317
- }) : /*#__PURE__*/_jsx(Spacer, {
318
- space: 4
319
- }), /*#__PURE__*/_jsx(View, {
320
- style: selectControlsTokens(restTokens),
321
- children: /*#__PURE__*/_jsx(Row, {
322
- horizontalAlign: buttonDirection === 'column' ? 'center' : 'start',
323
- children: /*#__PURE__*/_jsxs(StackView, {
324
- direction: buttonDirection,
325
- space: 3,
326
- tokens: {
327
- alignItems: 'center',
328
- ...(viewport === 'xs' && {
329
- flexGrow: 1
330
- })
331
- },
332
- children: [/*#__PURE__*/_jsx(Button, {
333
- onPress: () => onApply(checkedIds),
334
- variant: {
335
- priority: 'high',
336
- ...(viewport === 'xs' && {
337
- width: 'full'
338
- })
339
- },
340
- children: getCopy('applyButtonLabel')
341
- }), /*#__PURE__*/_jsx(Box, {
342
- children: /*#__PURE__*/_jsx(TextButton, {
343
- onPress: onClear,
344
- children: getCopy('clearButtonLabel')
345
- })
346
- })]
347
- })
348
- })
349
- })]
350
- });
351
- return /*#__PURE__*/_jsxs(_Fragment, {
352
- children: [/*#__PURE__*/_jsx(ButtonDropdown, {
353
- ref: sourceRef,
354
- ...pressHandlers,
355
- value: isOpen,
356
- selected: isSelected,
357
- label: label,
358
- onChange: handleChange,
359
- tokens: getButtonTokens,
360
- inactive: inactive
361
- }, id), isOpen && viewport === 'xs' && /*#__PURE__*/_jsx(ModalOverlay, {
362
- overlaidPosition: {
363
- top: 0,
364
- left: 0
365
- },
366
- onClose: onClose,
367
- maxHeight: true,
368
- maxHeightSize: windowHeight,
369
- maxWidthSize: windowWidth,
370
- minHeight: windowHeight,
371
- minWidth: windowWidth,
372
- tokens: {
373
- ...tokens,
374
- maxWidth: true
375
- },
376
- copy: copy,
377
- isReady: isReady,
378
- onLayout: onTargetLayout,
379
- ref: modalRef,
380
- enableFullscreen: true,
381
- children: /*#__PURE__*/_jsxs(SafeAreaView, {
382
- style: [selectContainerStyle(windowHeight, windowWidth), styles.content],
383
- ref: ref,
384
- children: [headerContent, /*#__PURE__*/_jsx(View, {
385
- style: styles.controls,
386
- children: controlsContent
387
- })]
388
- })
389
- }), isOpen && viewport !== 'xs' && /*#__PURE__*/_jsxs(ModalOverlay, {
390
- overlaidPosition: overlaidPosition,
391
- onClose: onClose,
392
- maxHeight: items.length > MAX_ITEMS_THRESHOLD ? true : maxHeight,
393
- maxHeightSize: maxHeightSize,
394
- maxWidthSize: maxWidthSize,
395
- minHeight: minHeight,
396
- minWidth: minWidth,
397
- tokens: {
398
- ...tokens,
399
- maxWidth: items.length > MAX_ITEMS_THRESHOLD ? true : maxWidth
400
- },
401
- copy: copy,
402
- isReady: isReady,
403
- onLayout: onTargetLayout,
404
- ref: ref,
405
- children: [headerContent, controlsContent]
406
- })]
407
- });
408
- });
409
- MultiSelectFilter.displayName = 'MultiSelectFilter';
410
- const styles = StyleSheet.create({
411
- container: {
412
- flex: 1
413
- },
414
- controls: Platform.select({
415
- web: {},
416
- default: {
417
- flex: 0.35
418
- }
419
- }),
420
- content: {
421
- flex: 1,
422
- justifyContent: 'space-between',
423
- backgroundColor: 'transparent'
424
- },
425
- options: {
426
- flex: 1
427
- }
428
- });
429
-
430
- // If a language dictionary entry is provided, it must contain every key
431
- const dictionaryContentShape = PropTypes.shape({
432
- filterByLabel: PropTypes.string.isRequired,
433
- applyButtonLabel: PropTypes.string.isRequired,
434
- clearButtonLabel: PropTypes.string.isRequired
435
- });
436
- MultiSelectFilter.propTypes = {
437
- /**
438
- * The text displayed to the user in a ButtonDropdown.
439
- */
440
- label: PropTypes.string.isRequired,
441
- /**
442
- * The text for the subtitle
443
- */
444
- subtitle: PropTypes.string,
445
- /**
446
- * An optional unique string may be provided to identify the ButtonDropdown.
447
- * If not provided, the label is used.
448
- */
449
- id: PropTypes.string,
450
- /**
451
- * Sets the variant for ButtonDropdown element.
452
- */
453
- variant: variantProp.propType,
454
- /**
455
- * Sets the tokens for MultiSelectFilter element.
456
- */
457
- tokens: getTokensPropType('MultiSelectFilter'),
458
- /**
459
- * The options a user may select.
460
- */
461
- items: PropTypes.arrayOf(PropTypes.shape({
462
- /**
463
- * The text displayed to the user with a checkbox, describing this option.
464
- */
465
- label: PropTypes.string.isRequired,
466
- /**
467
- * An optional unique string may be provided to identify this option.
468
- * If not provided, the label is used.
469
- */
470
- id: PropTypes.string
471
- })),
472
- /**
473
- * If the selected item(s) in the checkbox group(s) are to be controlled externally by
474
- * a parent component, pass an array of strings as well as an `onChange` handler.
475
- * Passing an array for "values" makes the MultiSelectFilter a "controlled" component that
476
- * expects its state to be handled via `onChange` and so doesn't handle it itself.
477
- */
478
- values: PropTypes.arrayOf(PropTypes.string),
479
- /**
480
- * If `values` is not passed, making the MultiSelectFilter an "uncontrolled" component
481
- * managing its own selected state, a default set of selections may be provided.
482
- * Changing the `initialValues` does not change the user's selections.
483
- */
484
- initialValues: PropTypes.arrayOf(PropTypes.string),
485
- /**
486
- * If provided, sets a maximum number of items a user may select at once.
487
- */
488
- maxValues: PropTypes.number,
489
- /**
490
- * If provided sets maxHeight to be active
491
- */
492
- maxHeight: PropTypes.bool,
493
- /**
494
- * If provided, this function is called when the current selection is changed
495
- * and is passed an array of the `id`s of all currently selected `items`.
496
- */
497
- onChange: PropTypes.func,
498
- /**
499
- * If provided, this function is called when the selection is confirmed.
500
- */
501
- onConfirm: PropTypes.func,
502
- /**
503
- * If provided, this function is called when the modal with options is opened.
504
- * */
505
- onOpen: PropTypes.func,
506
- /**
507
- * If provided, this function is called when `MultiSelectFilter` is closed.
508
- * */
509
- onCancel: PropTypes.func,
510
- /**
511
- * Select English or French copy for the accessible label.
512
- */
513
- copy: PropTypes.oneOf(['en', 'fr']),
514
- /**
515
- * Custom dictionary containing the labels
516
- */
517
- dictionary: PropTypes.shape({
518
- en: dictionaryContentShape,
519
- fr: dictionaryContentShape
520
- }),
521
- /**
522
- * If true, the ButtonDropdown cannot be selected by the user and simply show their current state.
523
- */
524
- readOnly: PropTypes.string,
525
- /**
526
- * If true, the MultiSelectFilter cannot be interacted with, ButtonDropdown is
527
- * set as `disabled` and if the theme supports `inactive` appearances rules, these
528
- * are applied.
529
- */
530
- inactive: PropTypes.string,
531
- /**
532
- * Sets the maximum number of items in one column. If number of items are more
533
- * than the `rowLimit`, they will be rendered in 2 columns.
534
- */
535
- rowLimit: PropTypes.number
536
- };
537
- export default MultiSelectFilter;