@telus-uds/components-base 2.0.2 → 2.2.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 (394) hide show
  1. package/CHANGELOG.md +40 -2
  2. package/lib/A11yInfoProvider/index.js +0 -0
  3. package/lib/A11yText/index.js +0 -0
  4. package/lib/ActionCard/ActionCard.js +0 -0
  5. package/lib/ActionCard/index.js +0 -0
  6. package/lib/ActivityIndicator/Spinner.js +0 -0
  7. package/lib/ActivityIndicator/Spinner.native.js +0 -0
  8. package/lib/ActivityIndicator/index.js +0 -0
  9. package/lib/ActivityIndicator/shared.js +0 -0
  10. package/lib/Autocomplete/Autocomplete.js +0 -0
  11. package/lib/Autocomplete/Loading.js +0 -0
  12. package/lib/Autocomplete/Suggestions.js +0 -0
  13. package/lib/Autocomplete/constants.js +0 -0
  14. package/lib/Autocomplete/dictionary.js +0 -0
  15. package/lib/Autocomplete/index.js +0 -0
  16. package/lib/Badge/Badge.js +0 -0
  17. package/lib/Badge/index.js +0 -0
  18. package/lib/BaseProvider/HydrationContext.js +0 -0
  19. package/lib/BaseProvider/index.js +0 -0
  20. package/lib/Box/Box.js +0 -0
  21. package/lib/Box/backgroundImageStylesMap.js +0 -0
  22. package/lib/Box/index.js +0 -0
  23. package/lib/Button/Button.js +0 -0
  24. package/lib/Button/ButtonBase.js +0 -0
  25. package/lib/Button/ButtonDropdown.js +0 -0
  26. package/lib/Button/ButtonGroup.js +0 -0
  27. package/lib/Button/ButtonLink.js +0 -0
  28. package/lib/Button/index.js +0 -0
  29. package/lib/Button/propTypes.js +0 -0
  30. package/lib/Card/Card.js +0 -0
  31. package/lib/Card/CardBase.js +0 -0
  32. package/lib/Card/PressableCardBase.js +2 -1
  33. package/lib/Card/index.js +0 -0
  34. package/lib/CardGroup/CardGroup.js +0 -0
  35. package/lib/CardGroup/dictionary.js +0 -0
  36. package/lib/CardGroup/index.js +0 -0
  37. package/lib/Carousel/Carousel.js +121 -33
  38. package/lib/Carousel/CarouselContext.js +0 -0
  39. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +0 -0
  40. package/lib/Carousel/CarouselItem/CarouselItem.js +39 -24
  41. package/lib/Carousel/CarouselItem/index.js +0 -0
  42. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +41 -4
  43. package/lib/Carousel/CarouselStepTracker/index.js +0 -0
  44. package/lib/Carousel/CarouselTabs/CarouselTabs.js +0 -0
  45. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -0
  46. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -0
  47. package/lib/Carousel/CarouselTabs/index.js +0 -0
  48. package/lib/Carousel/CarouselThumbnail.js +0 -0
  49. package/lib/Carousel/CarouselThumbnailNavigation.js +0 -0
  50. package/lib/Carousel/Constants.js +3 -0
  51. package/lib/Carousel/dictionary.js +0 -0
  52. package/lib/Carousel/index.js +0 -0
  53. package/lib/Checkbox/Checkbox.js +0 -0
  54. package/lib/Checkbox/CheckboxButton.js +0 -0
  55. package/lib/Checkbox/CheckboxGroup.js +4 -2
  56. package/lib/Checkbox/CheckboxInput.js +0 -0
  57. package/lib/Checkbox/CheckboxInput.native.js +0 -0
  58. package/lib/Checkbox/index.js +0 -0
  59. package/lib/CheckboxCard/CheckboxCard.js +0 -0
  60. package/lib/CheckboxCard/index.js +0 -0
  61. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +0 -0
  62. package/lib/CheckboxCardGroup/index.js +0 -0
  63. package/lib/ColourToggle/ColourBubble.js +0 -0
  64. package/lib/ColourToggle/ColourToggle.js +0 -0
  65. package/lib/ColourToggle/index.js +0 -0
  66. package/lib/Divider/Divider.js +0 -0
  67. package/lib/Divider/index.js +0 -0
  68. package/lib/DownloadApp/DownloadApp.js +0 -0
  69. package/lib/DownloadApp/dictionary.js +0 -0
  70. package/lib/DownloadApp/index.js +0 -0
  71. package/lib/ExpandCollapse/Accordion.js +0 -0
  72. package/lib/ExpandCollapse/Control.js +0 -0
  73. package/lib/ExpandCollapse/ExpandCollapse.js +0 -0
  74. package/lib/ExpandCollapse/Panel.js +0 -0
  75. package/lib/ExpandCollapse/dictionary.js +0 -0
  76. package/lib/ExpandCollapse/index.js +0 -0
  77. package/lib/Feedback/Feedback.js +0 -0
  78. package/lib/Feedback/index.js +0 -0
  79. package/lib/Fieldset/Fieldset.js +0 -0
  80. package/lib/Fieldset/FieldsetContainer.js +0 -0
  81. package/lib/Fieldset/FieldsetContainer.native.js +0 -0
  82. package/lib/Fieldset/Legend.js +0 -0
  83. package/lib/Fieldset/Legend.native.js +0 -0
  84. package/lib/Fieldset/cssReset.js +0 -0
  85. package/lib/Fieldset/index.js +0 -0
  86. package/lib/FileUpload/FileUpload.js +0 -0
  87. package/lib/FileUpload/NotificationContent.js +0 -0
  88. package/lib/FileUpload/dictionary.js +0 -0
  89. package/lib/FileUpload/index.js +0 -0
  90. package/lib/FlexGrid/Col/Col.js +0 -0
  91. package/lib/FlexGrid/Col/index.js +0 -0
  92. package/lib/FlexGrid/FlexGrid.js +0 -0
  93. package/lib/FlexGrid/Row/Row.js +0 -0
  94. package/lib/FlexGrid/Row/index.js +0 -0
  95. package/lib/FlexGrid/helpers/index.js +0 -0
  96. package/lib/FlexGrid/index.js +0 -0
  97. package/lib/FlexGrid/providers/GutterContext.js +0 -0
  98. package/lib/Footnote/Footnote.js +0 -0
  99. package/lib/Footnote/FootnoteLink.js +0 -0
  100. package/lib/Footnote/dictionary.js +0 -0
  101. package/lib/Footnote/index.js +0 -0
  102. package/lib/HorizontalScroll/HorizontalScroll.js +17 -13
  103. package/lib/HorizontalScroll/HorizontalScrollButton.js +0 -0
  104. package/lib/HorizontalScroll/ScrollViewEnd.js +0 -0
  105. package/lib/HorizontalScroll/ScrollViewEnd.native.js +0 -0
  106. package/lib/HorizontalScroll/dictionary.js +0 -0
  107. package/lib/HorizontalScroll/index.js +0 -0
  108. package/lib/HorizontalScroll/itemPositions.js +0 -0
  109. package/lib/Icon/Icon.js +1 -0
  110. package/lib/Icon/IconText.js +0 -0
  111. package/lib/Icon/index.js +0 -0
  112. package/lib/IconButton/IconButton.js +0 -0
  113. package/lib/IconButton/index.js +0 -0
  114. package/lib/InputLabel/InputLabel.js +0 -0
  115. package/lib/InputLabel/LabelContent.js +0 -0
  116. package/lib/InputLabel/LabelContent.native.js +0 -0
  117. package/lib/InputLabel/index.js +0 -0
  118. package/lib/InputSupports/InputSupports.js +3 -0
  119. package/lib/InputSupports/index.js +0 -0
  120. package/lib/InputSupports/useInputSupports.js +0 -0
  121. package/lib/Link/ChevronLink.js +0 -0
  122. package/lib/Link/InlinePressable.js +0 -0
  123. package/lib/Link/InlinePressable.native.js +0 -0
  124. package/lib/Link/Link.js +0 -0
  125. package/lib/Link/LinkBase.js +2 -2
  126. package/lib/Link/TextButton.js +0 -0
  127. package/lib/Link/index.js +0 -0
  128. package/lib/List/List.js +0 -0
  129. package/lib/List/ListItem.js +0 -0
  130. package/lib/List/ListItemBase.js +0 -0
  131. package/lib/List/ListItemContent.js +0 -0
  132. package/lib/List/ListItemMark.js +0 -0
  133. package/lib/List/PressableListItemBase.js +0 -0
  134. package/lib/List/index.js +0 -0
  135. package/lib/Listbox/GroupControl.js +0 -0
  136. package/lib/Listbox/Listbox.js +0 -0
  137. package/lib/Listbox/ListboxContext.js +0 -0
  138. package/lib/Listbox/ListboxGroup.js +0 -0
  139. package/lib/Listbox/ListboxItem.js +0 -0
  140. package/lib/Listbox/ListboxOverlay.js +0 -0
  141. package/lib/Listbox/PressableItem.js +2 -2
  142. package/lib/Listbox/index.js +0 -0
  143. package/lib/Modal/Modal.js +4 -0
  144. package/lib/Modal/ModalContent.js +27 -8
  145. package/lib/Modal/WebModal.js +0 -0
  146. package/lib/Modal/dictionary.js +0 -0
  147. package/lib/Modal/index.js +0 -0
  148. package/lib/MultiSelectFilter/ModalOverlay.js +0 -0
  149. package/lib/MultiSelectFilter/MultiSelectFilter.js +0 -0
  150. package/lib/MultiSelectFilter/dictionary.js +0 -0
  151. package/lib/MultiSelectFilter/index.js +0 -0
  152. package/lib/Notification/Notification.js +0 -0
  153. package/lib/Notification/dictionary.js +0 -0
  154. package/lib/Notification/index.js +0 -0
  155. package/lib/OrderedList/Item.js +0 -0
  156. package/lib/OrderedList/ItemBase.js +0 -0
  157. package/lib/OrderedList/OrderedList.js +0 -0
  158. package/lib/OrderedList/OrderedListBase.js +0 -0
  159. package/lib/OrderedList/index.js +0 -0
  160. package/lib/Pagination/PageButton.js +0 -0
  161. package/lib/Pagination/Pagination.js +0 -0
  162. package/lib/Pagination/SideButton.js +0 -0
  163. package/lib/Pagination/constants.js +0 -0
  164. package/lib/Pagination/dictionary.js +0 -0
  165. package/lib/Pagination/index.js +0 -0
  166. package/lib/Pagination/usePagination.js +0 -0
  167. package/lib/Portal/Portal.js +0 -0
  168. package/lib/Portal/Portal.native.js +0 -0
  169. package/lib/Portal/index.js +0 -0
  170. package/lib/PriceLockup/PriceLockup.js +0 -0
  171. package/lib/PriceLockup/index.js +0 -0
  172. package/lib/PriceLockup/utils/renderFootnoteContent.js +0 -0
  173. package/lib/PriceLockup/utils/renderFootnoteLinks.js +0 -0
  174. package/lib/PriceLockup/utils/renderPrice.js +0 -0
  175. package/lib/PriceLockup/utils/renderTypography.js +0 -0
  176. package/lib/ProductCard/ProductCard.js +0 -0
  177. package/lib/ProductCard/dictionary.js +0 -0
  178. package/lib/ProductCard/index.js +0 -0
  179. package/lib/ProductCardGroup/ProductCardGroup.js +0 -0
  180. package/lib/ProductCardGroup/index.js +0 -0
  181. package/lib/Progress/Progress.js +8 -2
  182. package/lib/Progress/ProgressBar.js +40 -12
  183. package/lib/Progress/ProgressBarBackground.js +4 -2
  184. package/lib/Progress/constants.js +4 -0
  185. package/lib/Progress/index.js +0 -0
  186. package/lib/QuickLinks/QuickLinks.js +0 -0
  187. package/lib/QuickLinks/QuickLinksCard.js +0 -0
  188. package/lib/QuickLinks/QuickLinksItem.js +0 -0
  189. package/lib/QuickLinks/index.js +0 -0
  190. package/lib/QuickLinksFeature/QuickLinksFeature.js +0 -0
  191. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +0 -0
  192. package/lib/QuickLinksFeature/index.js +0 -0
  193. package/lib/Radio/Radio.js +0 -0
  194. package/lib/Radio/RadioButton.js +0 -0
  195. package/lib/Radio/RadioGroup.js +0 -0
  196. package/lib/Radio/RadioInput.js +0 -0
  197. package/lib/Radio/RadioInput.native.js +0 -0
  198. package/lib/Radio/index.js +0 -0
  199. package/lib/RadioCard/RadioCard.js +0 -0
  200. package/lib/RadioCard/RadioCardGroup.js +0 -0
  201. package/lib/RadioCard/index.js +0 -0
  202. package/lib/Responsive/Responsive.js +0 -0
  203. package/lib/Responsive/ResponsiveProp.js +0 -0
  204. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +0 -0
  205. package/lib/Responsive/index.js +0 -0
  206. package/lib/Search/Search.js +4 -2
  207. package/lib/Search/dictionary.js +0 -0
  208. package/lib/Search/index.js +0 -0
  209. package/lib/Select/Group.js +0 -0
  210. package/lib/Select/Group.native.js +0 -0
  211. package/lib/Select/Item.js +0 -0
  212. package/lib/Select/Item.native.js +0 -0
  213. package/lib/Select/Picker.js +0 -0
  214. package/lib/Select/Picker.native.js +1 -0
  215. package/lib/Select/Select.js +1 -4
  216. package/lib/Select/constants.js +0 -0
  217. package/lib/Select/index.js +0 -0
  218. package/lib/SideNav/Item.js +0 -0
  219. package/lib/SideNav/ItemContent.js +0 -0
  220. package/lib/SideNav/ItemsGroup.js +0 -0
  221. package/lib/SideNav/SideNav.js +0 -0
  222. package/lib/SideNav/index.js +0 -0
  223. package/lib/Skeleton/Skeleton.js +0 -0
  224. package/lib/Skeleton/index.js +0 -0
  225. package/lib/Skeleton/skeleton.constant.js +0 -0
  226. package/lib/Skeleton/skeletonWebAnimation.js +0 -0
  227. package/lib/Skeleton/useSkeletonNativeAnimation.js +0 -0
  228. package/lib/SkipLink/SkipLink.js +0 -0
  229. package/lib/SkipLink/index.js +0 -0
  230. package/lib/Spacer/Spacer.js +0 -0
  231. package/lib/Spacer/index.js +0 -0
  232. package/lib/StackView/StackView.js +0 -0
  233. package/lib/StackView/StackWrap.js +0 -0
  234. package/lib/StackView/StackWrap.native.js +0 -0
  235. package/lib/StackView/StackWrapBox.js +0 -0
  236. package/lib/StackView/StackWrapGap.js +0 -0
  237. package/lib/StackView/common.js +0 -0
  238. package/lib/StackView/getStackedContent.js +0 -0
  239. package/lib/StackView/index.js +0 -0
  240. package/lib/Status/Status.js +6 -2
  241. package/lib/Status/index.js +0 -0
  242. package/lib/StepTracker/Step.js +0 -0
  243. package/lib/StepTracker/StepTracker.js +0 -0
  244. package/lib/StepTracker/dictionary.js +0 -0
  245. package/lib/StepTracker/index.js +0 -0
  246. package/lib/TabBar/TabBar.js +0 -0
  247. package/lib/TabBar/TabBarItem.js +0 -0
  248. package/lib/TabBar/index.js +0 -0
  249. package/lib/Tabs/Tabs.js +0 -0
  250. package/lib/Tabs/TabsItem.js +0 -0
  251. package/lib/Tabs/index.js +0 -0
  252. package/lib/Tags/Tags.js +0 -0
  253. package/lib/Tags/index.js +0 -0
  254. package/lib/TextInput/TextArea.js +0 -0
  255. package/lib/TextInput/TextInput.js +0 -0
  256. package/lib/TextInput/TextInputBase.js +2 -2
  257. package/lib/TextInput/dictionary.js +0 -0
  258. package/lib/TextInput/index.js +0 -0
  259. package/lib/TextInput/propTypes.js +0 -0
  260. package/lib/ThemeProvider/ThemeProvider.js +0 -0
  261. package/lib/ThemeProvider/index.js +0 -0
  262. package/lib/ThemeProvider/useResponsiveThemeTokens.js +0 -0
  263. package/lib/ThemeProvider/useSetTheme.js +0 -0
  264. package/lib/ThemeProvider/useTheme.js +0 -0
  265. package/lib/ThemeProvider/useThemeTokens.js +0 -0
  266. package/lib/ThemeProvider/utils/index.js +0 -0
  267. package/lib/ThemeProvider/utils/styles.js +0 -0
  268. package/lib/ThemeProvider/utils/theme-tokens.js +0 -0
  269. package/lib/Timeline/Timeline.js +0 -0
  270. package/lib/Timeline/index.js +0 -0
  271. package/lib/ToggleSwitch/ToggleSwitch.js +0 -0
  272. package/lib/ToggleSwitch/ToggleSwitchGroup.js +0 -0
  273. package/lib/ToggleSwitch/index.js +0 -0
  274. package/lib/Tooltip/Backdrop.js +0 -0
  275. package/lib/Tooltip/Backdrop.native.js +0 -0
  276. package/lib/Tooltip/Tooltip.js +22 -13
  277. package/lib/Tooltip/Tooltip.native.js +24 -15
  278. package/lib/Tooltip/dictionary.js +0 -0
  279. package/lib/Tooltip/getTooltipPosition.js +0 -0
  280. package/lib/Tooltip/index.js +0 -0
  281. package/lib/Tooltip/shared.js +0 -0
  282. package/lib/TooltipButton/TooltipButton.js +0 -0
  283. package/lib/TooltipButton/index.js +0 -0
  284. package/lib/Typography/Typography.js +12 -0
  285. package/lib/Typography/index.js +0 -0
  286. package/lib/Validator/Validator.js +4 -0
  287. package/lib/Validator/index.js +0 -0
  288. package/lib/ViewportProvider/ViewportProvider.js +0 -0
  289. package/lib/ViewportProvider/index.js +0 -0
  290. package/lib/ViewportProvider/useViewport.js +0 -0
  291. package/lib/ViewportProvider/useViewportListener.js +0 -0
  292. package/lib/index.js +0 -0
  293. package/lib/server.js +0 -0
  294. package/lib/utils/BaseView/BaseView.js +0 -0
  295. package/lib/utils/BaseView/BaseView.native.js +0 -0
  296. package/lib/utils/BaseView/index.js +0 -0
  297. package/lib/utils/a11y/index.js +0 -0
  298. package/lib/utils/a11y/semantics.js +0 -0
  299. package/lib/utils/a11y/textSize.js +0 -0
  300. package/lib/utils/animation/index.js +0 -0
  301. package/lib/utils/animation/useVerticalExpandAnimation.js +0 -0
  302. package/lib/utils/children.js +0 -0
  303. package/lib/utils/containUniqueFields.js +0 -0
  304. package/lib/utils/convertFromMegaByteToByte.js +0 -0
  305. package/lib/utils/floating-ui/index.js +0 -0
  306. package/lib/utils/floating-ui/index.native.js +0 -0
  307. package/lib/utils/formatImageSource.js +0 -0
  308. package/lib/utils/hasOwnProperty.js +0 -0
  309. package/lib/utils/htmlAttrs.js +0 -0
  310. package/lib/utils/index.js +0 -0
  311. package/lib/utils/info/index.js +0 -0
  312. package/lib/utils/info/platform/index.js +0 -0
  313. package/lib/utils/info/platform/platform.android.js +0 -0
  314. package/lib/utils/info/platform/platform.ios.js +0 -0
  315. package/lib/utils/info/platform/platform.js +0 -0
  316. package/lib/utils/info/platform/platform.native.js +0 -0
  317. package/lib/utils/info/versions.js +0 -0
  318. package/lib/utils/input.js +0 -0
  319. package/lib/utils/pressability.js +0 -0
  320. package/lib/utils/props/a11yProps.js +0 -0
  321. package/lib/utils/props/clickProps.js +0 -0
  322. package/lib/utils/props/componentPropType.js +0 -0
  323. package/lib/utils/props/contentfulProps.js +22 -0
  324. package/lib/utils/props/copyPropTypes.js +0 -0
  325. package/lib/utils/props/getPropSelector.js +0 -0
  326. package/lib/utils/props/handlerProps.js +0 -0
  327. package/lib/utils/props/hrefAttrsProp.js +0 -0
  328. package/lib/utils/props/index.js +2 -1
  329. package/lib/utils/props/inputSupportsProps.js +0 -0
  330. package/lib/utils/props/linkProps.js +0 -0
  331. package/lib/utils/props/paddingProp.js +0 -0
  332. package/lib/utils/props/pressProps.js +0 -0
  333. package/lib/utils/props/rectProp.js +0 -0
  334. package/lib/utils/props/responsiveProps.js +0 -0
  335. package/lib/utils/props/selectSystemProps.js +0 -0
  336. package/lib/utils/props/spacingProps.js +0 -0
  337. package/lib/utils/props/textInputProps.js +0 -0
  338. package/lib/utils/props/textProps.js +0 -0
  339. package/lib/utils/props/tokens.js +0 -0
  340. package/lib/utils/props/variantProp.js +0 -0
  341. package/lib/utils/props/viewProps.js +0 -0
  342. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -0
  343. package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +0 -0
  344. package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +0 -0
  345. package/lib/utils/ssr-media-query/create-stylesheet/index.js +0 -0
  346. package/lib/utils/ssr-media-query/hash.js +0 -0
  347. package/lib/utils/ssr-media-query/index.js +0 -0
  348. package/lib/utils/ssr-media-query/utils/common.js +0 -0
  349. package/lib/utils/ssr-media-query/utils/create-declaration-block.js +0 -0
  350. package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +0 -0
  351. package/lib/utils/ssr-media-query/utils/hyphenate-style-name.js +0 -0
  352. package/lib/utils/ssr-media-query/utils/inject.js +0 -0
  353. package/lib/utils/ssr.js +0 -0
  354. package/lib/utils/transformGradient.js +0 -0
  355. package/lib/utils/useCopy.js +0 -0
  356. package/lib/utils/useHash.js +0 -0
  357. package/lib/utils/useHash.native.js +0 -0
  358. package/lib/utils/useOverlaidPosition.js +0 -0
  359. package/lib/utils/useResponsiveProp.js +0 -0
  360. package/lib/utils/useSafeLayoutEffect.js +0 -0
  361. package/lib/utils/useScrollBlocking.js +0 -0
  362. package/lib/utils/useScrollBlocking.native.js +0 -0
  363. package/lib/utils/useSpacingScale.js +0 -0
  364. package/lib/utils/useUniqueId.js +0 -0
  365. package/lib/utils/withLinkRouter.js +0 -0
  366. package/package.json +2 -2
  367. package/src/Card/PressableCardBase.jsx +1 -1
  368. package/src/Carousel/Carousel.jsx +166 -34
  369. package/src/Carousel/CarouselItem/CarouselItem.jsx +56 -26
  370. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +71 -37
  371. package/src/Carousel/Constants.js +3 -0
  372. package/src/Checkbox/CheckboxGroup.jsx +7 -3
  373. package/src/HorizontalScroll/HorizontalScroll.jsx +19 -15
  374. package/src/Icon/Icon.jsx +1 -0
  375. package/src/InputSupports/InputSupports.jsx +1 -0
  376. package/src/Link/LinkBase.jsx +8 -2
  377. package/src/Listbox/PressableItem.jsx +2 -2
  378. package/src/Modal/Modal.jsx +4 -0
  379. package/src/Modal/ModalContent.jsx +23 -7
  380. package/src/Progress/Progress.jsx +12 -2
  381. package/src/Progress/ProgressBar.jsx +48 -13
  382. package/src/Progress/ProgressBarBackground.jsx +4 -2
  383. package/src/Progress/constants.js +4 -0
  384. package/src/Search/Search.jsx +9 -3
  385. package/src/Select/Picker.native.jsx +1 -0
  386. package/src/Select/Select.jsx +8 -9
  387. package/src/Status/Status.jsx +2 -2
  388. package/src/TextInput/TextInputBase.jsx +2 -2
  389. package/src/Tooltip/Tooltip.jsx +6 -1
  390. package/src/Tooltip/Tooltip.native.jsx +7 -1
  391. package/src/Typography/Typography.jsx +12 -0
  392. package/src/Validator/Validator.jsx +7 -1
  393. package/src/utils/props/contentfulProps.js +24 -0
  394. package/src/utils/props/index.js +1 -0
@@ -134,7 +134,10 @@ const CheckboxGroup = React.forwardRef(
134
134
  }
135
135
 
136
136
  const checkboxes = items.map(
137
- ({ label, id, onChange: itemOnChange, ref: itemRef, ...itemRest }, index) => {
137
+ (
138
+ { label, id, onChange: itemOnChange, ref: itemRef, inactive: itemInactive, ...itemRest },
139
+ index
140
+ ) => {
138
141
  const checkboxId = id || `Checkbox[${index}]`
139
142
  const handleChange = (newCheckedState, event) => {
140
143
  if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event)
@@ -148,7 +151,7 @@ const CheckboxGroup = React.forwardRef(
148
151
  id={checkboxId}
149
152
  checked={currentValues.includes(checkboxId)}
150
153
  onChange={handleChange}
151
- inactive={inactive}
154
+ inactive={itemInactive}
152
155
  label={label}
153
156
  name={inputGroupName}
154
157
  tokens={radioTokens}
@@ -206,7 +209,8 @@ CheckboxGroup.propTypes = {
206
209
  label: PropTypes.string,
207
210
  id: PropTypes.string,
208
211
  onChange: PropTypes.func,
209
- ref: ABBPropTypes.ref()
212
+ ref: ABBPropTypes.ref(),
213
+ inactive: PropTypes.bool
210
214
  })
211
215
  ),
212
216
  /**
@@ -26,6 +26,11 @@ const tokenKeys = [
26
26
  export const selectHorizontalScrollTokens = (themeTokens, prefix) =>
27
27
  selectTokens(tokenKeys, themeTokens, prefix)
28
28
 
29
+ const selectBorderStyles = (borderBottomWidth, borderBottomColor) => ({
30
+ borderBottomWidth,
31
+ borderBottomColor
32
+ })
33
+
29
34
  /**
30
35
  * Base component that scrolls horizontally and displays left and right buttons if
31
36
  * there is content to the left and the right which can be scrolled to.
@@ -120,21 +125,20 @@ const HorizontalScroll = React.forwardRef(
120
125
  // Apply a fixed margin gutter that tab highlight effects can overhang without getting trimmed.
121
126
  return (
122
127
  <View ref={ref} style={staticStyles.container}>
123
- <ScrollViewEnd
124
- onScrollEnd={handleScrollEnd}
125
- ref={scrollRef}
126
- horizontal
127
- onContentSizeChange={handleContentWidth}
128
- onLayout={handleContainerLayout}
129
- showsHorizontalScrollIndicator={false}
130
- contentContainerStyle={[
131
- staticStyles.scrollContainer,
132
- { borderBottomWidth, borderBottomColor }
133
- ]}
134
- {...selectProps(rest)}
135
- >
136
- {children}
137
- </ScrollViewEnd>
128
+ <View style={selectBorderStyles(borderBottomWidth, borderBottomColor)}>
129
+ <ScrollViewEnd
130
+ onScrollEnd={handleScrollEnd}
131
+ ref={scrollRef}
132
+ horizontal
133
+ onContentSizeChange={handleContentWidth}
134
+ onLayout={handleContainerLayout}
135
+ showsHorizontalScrollIndicator={false}
136
+ contentContainerStyle={staticStyles.scrollContainer}
137
+ {...selectProps(rest)}
138
+ >
139
+ {children}
140
+ </ScrollViewEnd>
141
+ </View>
138
142
  {showPreviousButton && (
139
143
  <ScrollButton
140
144
  icon={previousIcon}
package/src/Icon/Icon.jsx CHANGED
@@ -69,6 +69,7 @@ const Icon = React.forwardRef(
69
69
  ...style,
70
70
  backgroundColor: themeTokens.backgroundColor,
71
71
  borderRadius: themeTokens.borderRadius,
72
+ paddingTop: themeTokens.paddingTop,
72
73
  ...paddingStyles
73
74
  }}
74
75
  dataSet={dataSet}
@@ -55,6 +55,7 @@ const InputSupports = React.forwardRef(
55
55
  title={feedback}
56
56
  validation={validation}
57
57
  tokens={feedbackTokens}
58
+ variant={{ icon: feedbackProps.showFeedbackIcon }}
58
59
  {...feedbackProps}
59
60
  />
60
61
  ) : null}
@@ -9,7 +9,8 @@ import {
9
9
  linkProps,
10
10
  selectSystemProps,
11
11
  variantProp,
12
- viewProps
12
+ viewProps,
13
+ contentfulProps
13
14
  } from '../utils/props'
14
15
  import { resolvePressableTokens } from '../utils/pressability'
15
16
  import { withLinkRouter } from '../utils'
@@ -18,7 +19,12 @@ import InlinePressable from './InlinePressable'
18
19
  import { applyTextStyles, applyOuterBorder, useTheme } from '../ThemeProvider'
19
20
  import { IconText, iconComponentPropTypes } from '../Icon'
20
21
 
21
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps, viewProps])
22
+ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
23
+ a11yProps,
24
+ linkProps,
25
+ viewProps,
26
+ contentfulProps
27
+ ])
22
28
 
23
29
  const selectOuterBorderStyles = ({
24
30
  outerBorderColor,
@@ -109,9 +109,9 @@ const PressableItem = React.forwardRef(
109
109
  {...(href && { href })}
110
110
  {...(onPress && { onClick: onPress })}
111
111
  {...selectProps(rest)}
112
- onPress={() => {
112
+ onPress={(event) => {
113
113
  setSelectedId(id)
114
- onPress()
114
+ onPress(event)
115
115
  }}
116
116
  >
117
117
  {(pressableState) => {
@@ -46,7 +46,9 @@ const selectContainerStyles = ({
46
46
 
47
47
  const selectModalStyles = ({
48
48
  backgroundColor,
49
+ borderColor,
49
50
  borderRadius,
51
+ borderWidth,
50
52
  height,
51
53
  paddingLeft,
52
54
  paddingRight,
@@ -55,7 +57,9 @@ const selectModalStyles = ({
55
57
  shadow
56
58
  }) => ({
57
59
  backgroundColor,
60
+ borderColor,
58
61
  borderRadius,
62
+ borderWidth,
59
63
  height,
60
64
  paddingLeft,
61
65
  paddingRight,
@@ -51,6 +51,26 @@ const ModalContent = React.forwardRef(
51
51
  const hasCancelButton = cancelButtonText !== undefined && onCancel !== undefined
52
52
  const hasHeadingSection = Boolean(heading || subHeading)
53
53
 
54
+ const selectHeadingContainerStyles = ({
55
+ paddingLeft,
56
+ paddingRight,
57
+ marginLeft,
58
+ marginRight,
59
+ borderColor,
60
+ headingBorderBottomWidth,
61
+ headingPaddingRight,
62
+ headingPaddingTop
63
+ }) => ({
64
+ flexDirection: 'column',
65
+ marginLeft: -marginLeft,
66
+ marginRight: -marginRight,
67
+ paddingLeft,
68
+ paddingTop: headingPaddingTop,
69
+ paddingRight: paddingRight + headingPaddingRight,
70
+ borderBottomColor: borderColor,
71
+ borderBottomWidth: headingBorderBottomWidth
72
+ })
73
+
54
74
  const selectFooterContainerStyles = ({
55
75
  paddingLeft,
56
76
  paddingRight,
@@ -75,12 +95,6 @@ const ModalContent = React.forwardRef(
75
95
  borderTopColor: borderColor
76
96
  })
77
97
 
78
- const headingStyles = {
79
- flexDirection: 'column',
80
- paddingTop: 8,
81
- paddingRight: themeTokens.headingPaddingRight
82
- }
83
-
84
98
  const subheadingStyles = {
85
99
  marginTop: themeTokens.subHeadingMarginTop
86
100
  }
@@ -88,7 +102,7 @@ const ModalContent = React.forwardRef(
88
102
  return (
89
103
  <View style={styles.modalContent} ref={ref}>
90
104
  {hasHeadingSection && (
91
- <View style={headingStyles}>
105
+ <View style={selectHeadingContainerStyles(themeTokens)}>
92
106
  {heading && (
93
107
  <Typography
94
108
  variant={{ size: headingLevel }}
@@ -110,6 +124,8 @@ const ModalContent = React.forwardRef(
110
124
  <Box
111
125
  scroll={{ onContentSizeChange, showsVerticalScrollIndicator: true }}
112
126
  onLayout={handleContainerLayout}
127
+ top={themeTokens.contentPaddingTop}
128
+ bottom={themeTokens.contentPaddingBottom}
113
129
  >
114
130
  <Typography>{bodyText}</Typography>
115
131
  </Box>
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import PropTypes from 'prop-types'
3
- import { View } from 'react-native'
3
+ import { View, StyleSheet } from 'react-native'
4
4
 
5
5
  import { applyShadowToken, useThemeTokens } from '../ThemeProvider'
6
6
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils'
@@ -57,7 +57,11 @@ const Progress = React.forwardRef(({ children, tokens, variant, ...rest }, ref)
57
57
  const themeTokens = useThemeTokens('Progress', tokens, variant)
58
58
 
59
59
  return (
60
- <View ref={ref} style={selectProgressStyles(themeTokens)} {...selectProps(rest)}>
60
+ <View
61
+ ref={ref}
62
+ style={[staticStyles.progressContainer, selectProgressStyles(themeTokens)]}
63
+ {...selectProps(rest)}
64
+ >
61
65
  {children}
62
66
  </View>
63
67
  )
@@ -81,3 +85,9 @@ Progress.propTypes = {
81
85
  }
82
86
 
83
87
  export default Progress
88
+
89
+ const staticStyles = StyleSheet.create({
90
+ progressContainer: {
91
+ position: 'relative'
92
+ }
93
+ })
@@ -5,19 +5,22 @@ import { Platform, StyleSheet, View } from 'react-native'
5
5
  import ProgressBarBackground from './ProgressBarBackground'
6
6
  import { applyShadowToken, useThemeTokens } from '../ThemeProvider'
7
7
  import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils'
8
+ import { MAX_PERCENT_VALUE, MIN_PERCENT_VALUE } from './constants'
8
9
 
9
10
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps])
10
11
 
11
12
  const selectBarStyles = (
12
13
  { backgroundColor, borderRadius, outlineWidth, outlineColor, shadow },
13
- percentage
14
+ calculatedPercentage,
15
+ barPosition
14
16
  ) => ({
15
17
  backgroundColor,
16
18
  borderRadius,
17
19
  outlineWidth,
18
20
  outlineColor,
19
21
  ...applyShadowToken(shadow),
20
- width: `${percentage}%`
22
+ width: `${calculatedPercentage}%`,
23
+ left: `${barPosition}%`
21
24
  })
22
25
 
23
26
  /**
@@ -56,28 +59,52 @@ const selectBarStyles = (
56
59
  *
57
60
  */
58
61
  const ProgressBar = React.forwardRef(
59
- ({ children = null, percentage = 0, tokens, variant, ...rest }, ref) => {
62
+ (
63
+ {
64
+ children = null,
65
+ percentage = 0,
66
+ tokens,
67
+ variant,
68
+ offset = { items: 0, current: 1 },
69
+ ...rest
70
+ },
71
+ ref
72
+ ) => {
73
+ const { items, current } = offset
74
+ let calculatedPercentage = percentage
75
+ let barPosition = MIN_PERCENT_VALUE
76
+ const validItems = items > MIN_PERCENT_VALUE
77
+ if (validItems) {
78
+ calculatedPercentage = MAX_PERCENT_VALUE / items
79
+ barPosition = calculatedPercentage * (current < 1 ? MIN_PERCENT_VALUE : current - 1)
80
+ if (current > items) {
81
+ barPosition = calculatedPercentage * (items - 1)
82
+ }
83
+ }
84
+
60
85
  const themeTokens = useThemeTokens('ProgressBar', tokens, variant)
61
- if (percentage < 0) {
86
+ if (percentage < MIN_PERCENT_VALUE) {
62
87
  throw new Error('ProgressBar: `percentage` must be a positive number')
63
- } else if (percentage > 100) {
88
+ } else if (percentage > MAX_PERCENT_VALUE) {
64
89
  throw new Error('ProgressBar: `percentage` cannot exceed 100')
65
90
  }
66
91
  const selectedProps = selectProps({
67
92
  accessibilityRole: 'progressbar',
68
93
  accessibilityValue: {
69
- min: 0,
70
- max: 100,
71
- now: percentage,
72
- text: `${percentage}%`
94
+ min: MIN_PERCENT_VALUE,
95
+ max: MAX_PERCENT_VALUE,
96
+ now: calculatedPercentage.toFixed(2),
97
+ text: `${
98
+ validItems ? (barPosition + calculatedPercentage).toFixed(2) : calculatedPercentage
99
+ }%`
73
100
  },
74
101
  ...rest
75
102
  })
76
103
 
77
- return percentage > 0 ? (
104
+ return percentage > MIN_PERCENT_VALUE || items ? (
78
105
  <View
79
106
  ref={ref}
80
- style={[staticStyles.bar, selectBarStyles(themeTokens, percentage)]}
107
+ style={[staticStyles.bar, selectBarStyles(themeTokens, calculatedPercentage, barPosition)]}
81
108
  {...selectedProps}
82
109
  >
83
110
  {children ?? <ProgressBarBackground variant={variant} />}
@@ -108,7 +135,15 @@ ProgressBar.propTypes = {
108
135
  /**
109
136
  * Progress bar variant.
110
137
  */
111
- variant: variantProp.propType
138
+ variant: variantProp.propType,
139
+ /**
140
+ * Using the offset object, the `items` will determine the total number of items.
141
+ * The `current` will determine the current position of the progress bar.
142
+ */
143
+ offset: PropTypes.shape({
144
+ items: PropTypes.number,
145
+ current: PropTypes.number
146
+ })
112
147
  }
113
148
 
114
149
  export default ProgressBar
@@ -117,7 +152,7 @@ const staticStyles = StyleSheet.create({
117
152
  bar: {
118
153
  height: '100%',
119
154
  overflow: 'hidden',
120
- position: 'absolute',
155
+ position: 'relative',
121
156
  ...Platform.select({
122
157
  web: {
123
158
  outlineStyle: 'solid'
@@ -1,5 +1,6 @@
1
1
  import React from 'react'
2
2
  import { ImageBackground, StyleSheet } from 'react-native'
3
+ import { INACTIVE_VARIANT, NEGATIVE_VARIANT } from './constants'
3
4
 
4
5
  import { variantProp } from '../utils'
5
6
 
@@ -8,9 +9,10 @@ const negativeBackground = `%3Csvg xmlns='http://www.w3.org/2000/svg' width='100
8
9
 
9
10
  const ProgressBarBackground = React.forwardRef(({ variant }, ref) => {
10
11
  let source = null
11
- if (variant?.inactive) {
12
+ // TODO: Remove the `variant?.inactive` & `variant?.negative` to complete the deprecation
13
+ if (variant?.inactive || variant?.style === INACTIVE_VARIANT) {
12
14
  source = inactiveBackground
13
- } else if (variant?.negative) {
15
+ } else if (variant?.negative || variant?.style === NEGATIVE_VARIANT) {
14
16
  source = negativeBackground
15
17
  } else {
16
18
  return null
@@ -0,0 +1,4 @@
1
+ export const MAX_PERCENT_VALUE = 100
2
+ export const MIN_PERCENT_VALUE = 0
3
+ export const INACTIVE_VARIANT = 'inactive'
4
+ export const NEGATIVE_VARIANT = 'negative'
@@ -13,14 +13,19 @@ import {
13
13
  textInputHandlerProps,
14
14
  textInputProps,
15
15
  variantProp,
16
- viewProps
16
+ viewProps,
17
+ contentfulProps
17
18
  } from '../utils'
18
19
  import TextInputBase from '../TextInput/TextInputBase'
19
20
  import ButtonBase from '../Button/ButtonBase'
20
21
  import useCopy from '../utils/useCopy'
21
22
  import dictionary from './dictionary'
22
23
 
23
- const [selectContainerProps, selectedContainerPropTypes] = selectSystemProps([a11yProps, viewProps])
24
+ const [selectContainerProps, selectedContainerPropTypes] = selectSystemProps([
25
+ a11yProps,
26
+ viewProps,
27
+ contentfulProps
28
+ ])
24
29
  const [selectInputProps, selectedInputPropTypes] = selectSystemProps([
25
30
  textInputHandlerProps,
26
31
  textInputProps
@@ -72,6 +77,7 @@ const Search = React.forwardRef(
72
77
  tokens,
73
78
  variant,
74
79
  nativeSubmitBtnID,
80
+ dataSet,
75
81
  ...rest
76
82
  },
77
83
  ref
@@ -125,7 +131,7 @@ const Search = React.forwardRef(
125
131
  const { nativeID, testID, ...containerProps } = selectContainerProps(rest)
126
132
 
127
133
  return (
128
- <View {...containerProps}>
134
+ <View {...containerProps} dataSet={dataSet}>
129
135
  <TextInputBase
130
136
  nativeID={nativeID}
131
137
  testID={testID}
@@ -79,6 +79,7 @@ const Picker = React.forwardRef(
79
79
  items={items}
80
80
  value={value}
81
81
  onValueChange={handleChange}
82
+ useNativeAndroidPickerStyle={false}
82
83
  style={{
83
84
  inputIOS: style,
84
85
  inputAndroid: selectAndroidInputStyles(style)
@@ -271,15 +271,14 @@ const Select = React.forwardRef(
271
271
  <ValidationIconComponent {...selectValidationIconTokens(themeTokens)} />
272
272
  </View>
273
273
  )}
274
- {IconComponent &&
275
- Platform.OS !== 'android' && ( // we can't hide the default caret of a native picker on android
276
- <View
277
- pointerEvents="none"
278
- style={[staticStyles.iconContainer, selectIconContainerStyles(themeTokens)]}
279
- >
280
- <IconComponent {...selectIconTokens(themeTokens)} />
281
- </View>
282
- )}
274
+ {IconComponent && (
275
+ <View
276
+ pointerEvents="none"
277
+ style={[staticStyles.iconContainer, selectIconContainerStyles(themeTokens)]}
278
+ >
279
+ <IconComponent {...selectIconTokens(themeTokens)} />
280
+ </View>
281
+ )}
283
282
  </View>
284
283
  )}
285
284
  </InputSupports>
@@ -57,9 +57,9 @@ const selectContainerStyles = ({
57
57
  return styles
58
58
  }
59
59
 
60
- const selectIconProps = ({ icon, iconColor }) => ({
60
+ const selectIconProps = ({ icon, iconColor, iconSize, iconPaddingTop }) => ({
61
61
  icon,
62
- tokens: { color: iconColor },
62
+ tokens: { color: iconColor, paddingTop: iconPaddingTop, size: iconSize },
63
63
  variant: { size: 'small' }
64
64
  })
65
65
 
@@ -295,7 +295,7 @@ const TextInputBase = React.forwardRef(
295
295
  textInputButtons?.unshift(
296
296
  <IconButton
297
297
  accessibilityLabel={
298
- !showPassword
298
+ showPassword
299
299
  ? getCopy('hidePasswordAccessibilityLabel')
300
300
  : getCopy('showPasswordAccessibilityLabel')
301
301
  }
@@ -363,7 +363,7 @@ const TextInputBase = React.forwardRef(
363
363
  <IconComponent {...selectIconTokens(themeTokens)} />
364
364
  </View>
365
365
  )}
366
- {buttons?.length > 0 && (
366
+ {buttons?.length > 0 && !inactive && (
367
367
  <View style={[staticStyles.buttonsContainer, selectButtonsContainerStyle(themeTokens)]}>
368
368
  <StackView direction="row" space={buttonsGap}>
369
369
  {textInputButtons}
@@ -31,6 +31,11 @@ const selectTooltipShadowStyles = ({ shadow, borderRadius }) => ({
31
31
  ...applyShadowToken(shadow)
32
32
  })
33
33
 
34
+ const selectToolTipSizeStyles = ({ maxWidth, minWidth }) => ({
35
+ maxWidth,
36
+ minWidth
37
+ })
38
+
34
39
  const selectMobileTooltipPositionStyles = ({ top, left, position }) => {
35
40
  return { top, left, position }
36
41
  }
@@ -206,6 +211,7 @@ const Tooltip = React.forwardRef(
206
211
  style={[
207
212
  selectTooltipShadowStyles(themeTokens),
208
213
  staticStyles.tooltip, // applied separately so that it doesn't cover the arrow
214
+ selectToolTipSizeStyles,
209
215
  selectMobileTooltipPositionStyles({
210
216
  position: strategy,
211
217
  top: y ?? 0,
@@ -250,7 +256,6 @@ const staticStyles = StyleSheet.create({
250
256
  },
251
257
  tooltip: {
252
258
  position: 'absolute',
253
- maxWidth: 240,
254
259
  top: 0,
255
260
  left: 0
256
261
  },
@@ -31,6 +31,12 @@ const selectTooltipShadowStyles = ({ shadow, borderRadius }) => ({
31
31
  borderRadius,
32
32
  ...applyShadowToken(shadow)
33
33
  })
34
+
35
+ const selectToolTipSizeStyles = ({ maxWidth, minWidth }) => ({
36
+ maxWidth,
37
+ minWidth
38
+ })
39
+
34
40
  const selectTooltipPositionStyles = ({ top, left, width }) => {
35
41
  return { top, left, width }
36
42
  }
@@ -294,6 +300,7 @@ const Tooltip = React.forwardRef(
294
300
  style={[
295
301
  staticStyles.tooltip,
296
302
  selectTooltipShadowStyles(themeTokens), // applied separately so that it doesn't cover the arrow
303
+ selectToolTipSizeStyles(themeTokens),
297
304
  tooltipPosition && selectTooltipPositionStyles(tooltipPosition),
298
305
  (tooltipPosition === null || tooltipPosition?.isNormalized) &&
299
306
  staticStyles.tooltipHidden // visually hide the tooltip until we have a final measurement
@@ -332,7 +339,6 @@ const staticStyles = StyleSheet.create({
332
339
  },
333
340
  tooltip: {
334
341
  position: 'absolute',
335
- maxWidth: 240,
336
342
  top: 0,
337
343
  left: 0
338
344
  },
@@ -152,6 +152,18 @@ const Typography = React.forwardRef(
152
152
  },
153
153
  themeOptions
154
154
  )
155
+ if (themeTokens[vp].gradient) {
156
+ const tokensWithGradient = {
157
+ ...acc[vp],
158
+ color: 'transparent',
159
+ backgroundImage: generateGradientString(themeTokens[vp].gradient),
160
+ backgroundClip: 'text'
161
+ }
162
+ return {
163
+ ...acc,
164
+ [vp]: tokensWithGradient
165
+ }
166
+ }
155
167
  return acc
156
168
  },
157
169
  {}
@@ -191,7 +191,13 @@ const Validator = React.forwardRef(
191
191
  }, [])
192
192
 
193
193
  return (
194
- <InputSupports {...supportsProps}>
194
+ <InputSupports
195
+ {...supportsProps}
196
+ feedbackProps={{
197
+ ...rest?.feedbackProps,
198
+ showFeedbackIcon: true
199
+ }}
200
+ >
195
201
  <StackView space={2} direction="row" ref={codeRef}>
196
202
  {getCodeComponents()}
197
203
  </StackView>
@@ -0,0 +1,24 @@
1
+ import PropTypes from 'prop-types'
2
+ import { Platform } from 'react-native'
3
+ import getPropSelector from './getPropSelector'
4
+
5
+ const contentfulPropsTypes = {
6
+ ...Platform.select({
7
+ web: {
8
+ 'data-contentful-field-id': PropTypes.string,
9
+ 'data-contentful-entry-id': PropTypes.string
10
+ },
11
+ default: {}
12
+ })
13
+ }
14
+
15
+ export default {
16
+ /**
17
+ * Set of contentful properties used for the content preview inspector.
18
+ */
19
+ types: contentfulPropsTypes,
20
+ /**
21
+ * Filters a props object, returning only contentful props.
22
+ */
23
+ select: getPropSelector(contentfulPropsTypes)
24
+ }
@@ -17,3 +17,4 @@ export { default as textInputProps } from './textInputProps'
17
17
  export { default as textProps } from './textProps'
18
18
  export { default as variantProp } from './variantProp'
19
19
  export { default as viewProps } from './viewProps'
20
+ export { default as contentfulProps } from './contentfulProps'