@telus-uds/components-base 0.0.2-prerelease.9 → 1.1.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 (293) hide show
  1. package/.eslintrc.js +9 -0
  2. package/.storybook/main.js +4 -0
  3. package/.storybook/preview.js +37 -0
  4. package/.ultra.cache.json +1 -1
  5. package/CHANGELOG.md +50 -0
  6. package/README.md +4 -2
  7. package/__fixtures__/test-utils.js +25 -0
  8. package/__fixtures__/testTheme.js +4 -2
  9. package/__tests__/Button/ButtonGroup.test.jsx +4 -5
  10. package/__tests__/Checkbox/Checkbox.test.jsx +2 -2
  11. package/__tests__/Checkbox/CheckboxGroup.test.jsx +4 -5
  12. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
  13. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
  14. package/__tests__/Link/LinkBase.test.jsx +0 -14
  15. package/__tests__/Radio/Radio.test.jsx +2 -2
  16. package/__tests__/Radio/RadioGroup.test.jsx +4 -5
  17. package/__tests__/RadioCard/RadioCard.test.jsx +2 -2
  18. package/__tests__/RadioCard/RadioCardGroup.test.jsx +4 -5
  19. package/__tests__/Search/Search.test.jsx +9 -8
  20. package/__tests__/Select/Select.test.jsx +3 -2
  21. package/__tests__/Tabs/Tabs.test.jsx +1 -161
  22. package/__tests__/Tags/Tags.test.jsx +4 -5
  23. package/__tests__/TextInput/TextArea.test.jsx +3 -2
  24. package/__tests__/TextInput/TextInputBase.test.jsx +10 -5
  25. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
  26. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +9 -5
  27. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
  28. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
  29. package/__tests__/utils/children.test.jsx +128 -0
  30. package/__tests__/utils/input.test.js +1 -1
  31. package/__tests__/utils/semantics.test.jsx +43 -0
  32. package/babel.config.js +9 -16
  33. package/component-docs.json +10313 -0
  34. package/generate-component-docs.js +56 -0
  35. package/lib/A11yText/index.js +10 -5
  36. package/lib/ActivityIndicator/Spinner.js +16 -13
  37. package/lib/ActivityIndicator/Spinner.native.js +12 -8
  38. package/lib/Box/Box.js +103 -8
  39. package/lib/Button/Button.js +9 -8
  40. package/lib/Button/ButtonBase.js +14 -7
  41. package/lib/Button/ButtonGroup.js +25 -10
  42. package/lib/Button/ButtonLink.js +10 -7
  43. package/lib/Card/Card.js +2 -0
  44. package/lib/Card/CardBase.js +13 -5
  45. package/lib/Card/PressableCardBase.js +12 -8
  46. package/lib/Checkbox/Checkbox.js +25 -14
  47. package/lib/Checkbox/CheckboxGroup.js +22 -12
  48. package/lib/Divider/Divider.js +12 -7
  49. package/lib/ExpandCollapse/Accordion.js +10 -4
  50. package/lib/ExpandCollapse/Control.js +12 -6
  51. package/lib/ExpandCollapse/ExpandCollapse.js +10 -5
  52. package/lib/ExpandCollapse/Panel.js +8 -7
  53. package/lib/Feedback/Feedback.js +10 -5
  54. package/lib/Fieldset/Fieldset.js +10 -5
  55. package/lib/Fieldset/FieldsetContainer.js +10 -5
  56. package/lib/Fieldset/FieldsetContainer.native.js +10 -5
  57. package/lib/Fieldset/Legend.js +10 -5
  58. package/lib/Fieldset/Legend.native.js +10 -5
  59. package/lib/FlexGrid/Col/Col.js +8 -5
  60. package/lib/FlexGrid/FlexGrid.js +31 -6
  61. package/lib/FlexGrid/Row/Row.js +12 -5
  62. package/lib/{Tabs → HorizontalScroll}/HorizontalScroll.js +5 -4
  63. package/lib/{Tabs/TabsScrollButton.js → HorizontalScroll/HorizontalScrollButton.js} +14 -8
  64. package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.js +0 -0
  65. package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.native.js +0 -0
  66. package/lib/{Tabs → HorizontalScroll}/dictionary.js +0 -0
  67. package/lib/HorizontalScroll/index.js +35 -0
  68. package/lib/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
  69. package/lib/Icon/Icon.js +16 -9
  70. package/lib/Icon/IconText.js +8 -7
  71. package/lib/IconButton/IconButton.js +10 -5
  72. package/lib/InputLabel/InputLabel.js +33 -5
  73. package/lib/InputLabel/LabelContent.js +22 -12
  74. package/lib/InputLabel/LabelContent.native.js +23 -5
  75. package/lib/InputSupports/InputSupports.js +10 -5
  76. package/lib/Link/ChevronLink.js +12 -5
  77. package/lib/Link/InlinePressable.js +10 -4
  78. package/lib/Link/InlinePressable.native.js +5 -4
  79. package/lib/Link/Link.js +12 -5
  80. package/lib/Link/LinkBase.js +12 -5
  81. package/lib/Link/TextButton.js +10 -5
  82. package/lib/List/List.js +6 -6
  83. package/lib/List/ListItem.js +28 -33
  84. package/lib/List/index.js +15 -0
  85. package/lib/Modal/Modal.js +10 -5
  86. package/lib/Notification/Notification.js +21 -5
  87. package/lib/Pagination/PageButton.js +16 -11
  88. package/lib/Pagination/Pagination.js +12 -7
  89. package/lib/Pagination/SideButton.js +12 -7
  90. package/lib/Pagination/usePagination.js +2 -2
  91. package/lib/Progress/Progress.js +10 -5
  92. package/lib/Progress/ProgressBar.js +21 -10
  93. package/lib/Progress/ProgressBarBackground.js +12 -8
  94. package/lib/Radio/Radio.js +14 -13
  95. package/lib/Radio/RadioButton.js +20 -9
  96. package/lib/Radio/RadioGroup.js +24 -13
  97. package/lib/RadioCard/RadioCard.js +14 -10
  98. package/lib/RadioCard/RadioCardGroup.js +13 -12
  99. package/lib/Search/Search.js +29 -18
  100. package/lib/Select/Picker.js +11 -6
  101. package/lib/Select/Picker.native.js +21 -6
  102. package/lib/Select/Select.js +46 -4
  103. package/lib/SideNav/Item.js +10 -5
  104. package/lib/SideNav/ItemsGroup.js +10 -5
  105. package/lib/SideNav/SideNav.js +11 -7
  106. package/lib/Skeleton/Skeleton.js +15 -15
  107. package/lib/Skeleton/skeletonWebAnimation.js +1 -1
  108. package/lib/Spacer/Spacer.js +19 -7
  109. package/lib/StackView/StackView.js +26 -7
  110. package/lib/StackView/StackWrap.js +24 -13
  111. package/lib/StackView/StackWrapBox.js +34 -8
  112. package/lib/StackView/StackWrapGap.js +16 -7
  113. package/lib/StackView/common.js +4 -2
  114. package/lib/StackView/getStackedContent.js +2 -2
  115. package/lib/StepTracker/StepTracker.js +10 -5
  116. package/lib/Tabs/Tabs.js +26 -19
  117. package/lib/Tabs/TabsItem.js +16 -12
  118. package/lib/Tags/Tags.js +27 -11
  119. package/lib/TextInput/TextArea.js +7 -5
  120. package/lib/TextInput/TextInput.js +12 -6
  121. package/lib/TextInput/TextInputBase.js +12 -8
  122. package/lib/ThemeProvider/ThemeProvider.js +14 -10
  123. package/lib/ThemeProvider/useSetTheme.js +6 -1
  124. package/lib/ThemeProvider/utils/styles.js +2 -2
  125. package/lib/ThemeProvider/utils/theme-tokens.js +39 -8
  126. package/lib/ToggleSwitch/ToggleSwitch.js +11 -6
  127. package/lib/Tooltip/Backdrop.js +10 -2
  128. package/lib/Tooltip/Tooltip.js +5 -4
  129. package/lib/Typography/Typography.js +40 -24
  130. package/lib/index.js +36 -1
  131. package/lib/utils/a11y/index.js +13 -0
  132. package/lib/utils/a11y/propTypes.js +61 -0
  133. package/lib/utils/a11y/propTypes.native.js +47 -0
  134. package/lib/utils/a11y/semantics.js +173 -0
  135. package/lib/utils/animation/useVerticalExpandAnimation.js +1 -1
  136. package/lib/utils/children.js +55 -8
  137. package/lib/utils/input.js +27 -17
  138. package/lib/utils/propTypes.js +40 -68
  139. package/lib/utils/useCopy.js +1 -1
  140. package/lib/utils/useHash.js +8 -4
  141. package/lib/utils/useSpacingScale.js +1 -3
  142. package/lib/utils/useUniqueId.js +1 -1
  143. package/package.json +14 -6
  144. package/release-context.json +4 -4
  145. package/src/A11yText/index.jsx +6 -4
  146. package/src/ActivityIndicator/Spinner.jsx +5 -3
  147. package/src/ActivityIndicator/Spinner.native.jsx +5 -3
  148. package/src/Box/Box.jsx +125 -39
  149. package/src/Button/Button.jsx +7 -4
  150. package/src/Button/ButtonBase.jsx +86 -77
  151. package/src/Button/ButtonGroup.jsx +81 -69
  152. package/src/Button/ButtonLink.jsx +18 -13
  153. package/src/Card/Card.jsx +2 -2
  154. package/src/Card/CardBase.jsx +6 -4
  155. package/src/Card/PressableCardBase.jsx +71 -64
  156. package/src/Checkbox/Checkbox.jsx +118 -108
  157. package/src/Checkbox/CheckboxGroup.jsx +72 -62
  158. package/src/Divider/Divider.jsx +7 -4
  159. package/src/ExpandCollapse/Accordion.jsx +3 -2
  160. package/src/ExpandCollapse/Control.jsx +40 -43
  161. package/src/ExpandCollapse/ExpandCollapse.jsx +26 -23
  162. package/src/ExpandCollapse/Panel.jsx +69 -63
  163. package/src/Feedback/Feedback.jsx +36 -33
  164. package/src/Fieldset/Fieldset.jsx +63 -56
  165. package/src/Fieldset/FieldsetContainer.jsx +14 -5
  166. package/src/Fieldset/FieldsetContainer.native.jsx +7 -4
  167. package/src/Fieldset/Legend.jsx +7 -2
  168. package/src/Fieldset/Legend.native.jsx +7 -2
  169. package/src/FlexGrid/Col/Col.jsx +139 -132
  170. package/src/FlexGrid/FlexGrid.jsx +79 -51
  171. package/src/FlexGrid/Row/Row.jsx +55 -48
  172. package/src/HorizontalScroll/HorizontalScroll.jsx +168 -0
  173. package/src/HorizontalScroll/HorizontalScrollButton.jsx +105 -0
  174. package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.jsx +0 -0
  175. package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.native.jsx +0 -0
  176. package/src/{Tabs → HorizontalScroll}/dictionary.js +0 -0
  177. package/src/HorizontalScroll/index.js +17 -0
  178. package/src/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
  179. package/src/Icon/Icon.jsx +37 -35
  180. package/src/Icon/IconText.jsx +22 -17
  181. package/src/IconButton/IconButton.jsx +49 -42
  182. package/src/InputLabel/InputLabel.jsx +53 -38
  183. package/src/InputLabel/LabelContent.jsx +14 -6
  184. package/src/InputLabel/LabelContent.native.jsx +11 -2
  185. package/src/InputSupports/InputSupports.jsx +29 -34
  186. package/src/Link/ChevronLink.jsx +26 -16
  187. package/src/Link/InlinePressable.jsx +5 -3
  188. package/src/Link/InlinePressable.native.jsx +5 -3
  189. package/src/Link/Link.jsx +22 -16
  190. package/src/Link/LinkBase.jsx +67 -58
  191. package/src/Link/TextButton.jsx +30 -23
  192. package/src/List/List.jsx +6 -7
  193. package/src/List/ListItem.jsx +70 -90
  194. package/src/List/index.js +5 -0
  195. package/src/Modal/Modal.jsx +9 -4
  196. package/src/Notification/Notification.jsx +58 -43
  197. package/src/Pagination/PageButton.jsx +37 -34
  198. package/src/Pagination/Pagination.jsx +88 -92
  199. package/src/Pagination/SideButton.jsx +44 -41
  200. package/src/Progress/Progress.jsx +5 -4
  201. package/src/Progress/ProgressBar.jsx +42 -29
  202. package/src/Progress/ProgressBarBackground.jsx +5 -3
  203. package/src/Radio/Radio.jsx +85 -78
  204. package/src/Radio/RadioButton.jsx +54 -43
  205. package/src/Radio/RadioGroup.jsx +74 -63
  206. package/src/RadioCard/RadioCard.jsx +75 -68
  207. package/src/RadioCard/RadioCardGroup.jsx +82 -75
  208. package/src/Search/Search.jsx +127 -106
  209. package/src/Select/Picker.jsx +49 -42
  210. package/src/Select/Picker.native.jsx +56 -49
  211. package/src/Select/Select.jsx +115 -72
  212. package/src/SideNav/Item.jsx +53 -46
  213. package/src/SideNav/ItemsGroup.jsx +50 -43
  214. package/src/SideNav/SideNav.jsx +68 -60
  215. package/src/Skeleton/Skeleton.jsx +9 -13
  216. package/src/Spacer/Spacer.jsx +11 -4
  217. package/src/StackView/StackView.jsx +47 -23
  218. package/src/StackView/StackWrap.jsx +14 -12
  219. package/src/StackView/StackWrapBox.jsx +62 -28
  220. package/src/StackView/StackWrapGap.jsx +46 -24
  221. package/src/StackView/common.jsx +3 -2
  222. package/src/StepTracker/StepTracker.jsx +73 -62
  223. package/src/Tabs/Tabs.jsx +70 -62
  224. package/src/Tabs/TabsItem.jsx +111 -103
  225. package/src/Tags/Tags.jsx +114 -102
  226. package/src/TextInput/TextArea.jsx +5 -4
  227. package/src/TextInput/TextInput.jsx +5 -4
  228. package/src/TextInput/TextInputBase.jsx +84 -77
  229. package/src/ThemeProvider/ThemeProvider.jsx +11 -7
  230. package/src/ThemeProvider/useSetTheme.js +4 -0
  231. package/src/ThemeProvider/utils/theme-tokens.js +28 -0
  232. package/src/ToggleSwitch/ToggleSwitch.jsx +49 -50
  233. package/src/Tooltip/Tooltip.jsx +134 -130
  234. package/src/Typography/Typography.jsx +67 -44
  235. package/src/index.js +3 -1
  236. package/src/utils/a11y/index.js +1 -0
  237. package/src/utils/a11y/propTypes.js +61 -0
  238. package/src/utils/a11y/propTypes.native.js +39 -0
  239. package/src/utils/a11y/semantics.js +162 -0
  240. package/src/utils/children.jsx +60 -7
  241. package/src/utils/input.js +20 -17
  242. package/src/utils/propTypes.js +30 -76
  243. package/src/utils/useCopy.js +1 -1
  244. package/src/utils/useHash.js +8 -3
  245. package/stories/A11yText/A11yText.stories.jsx +3 -3
  246. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +2 -2
  247. package/stories/Box/Box.stories.jsx +2 -2
  248. package/stories/Button/Button.stories.jsx +3 -3
  249. package/stories/Button/ButtonGroup.stories.jsx +2 -2
  250. package/stories/Button/ButtonLink.stories.jsx +2 -2
  251. package/stories/Card/Card.stories.jsx +2 -2
  252. package/stories/Checkbox/Checkbox.stories.jsx +2 -2
  253. package/stories/Divider/Divider.stories.jsx +2 -2
  254. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +3 -3
  255. package/stories/Feedback/Feedback.stories.jsx +2 -2
  256. package/stories/FlexGrid/01 FlexGrid.stories.jsx +2 -2
  257. package/stories/FlexGrid/02 Row.stories.jsx +2 -2
  258. package/stories/FlexGrid/03 Col.stories.jsx +2 -2
  259. package/stories/Icon/Icon.stories.jsx +2 -2
  260. package/stories/IconButton/IconButton.stories.jsx +2 -2
  261. package/stories/InputLabel/InputLabel.stories.jsx +2 -2
  262. package/stories/Link/ChevronLink.stories.jsx +2 -2
  263. package/stories/Link/Link.stories.jsx +2 -2
  264. package/stories/Link/TextButton.stories.jsx +2 -2
  265. package/stories/List/List.stories.jsx +2 -2
  266. package/stories/Modal/Modal.stories.jsx +2 -2
  267. package/stories/Notification/Notification.stories.jsx +2 -2
  268. package/stories/Pagination/Pagination.stories.jsx +2 -2
  269. package/stories/Progress/Progress.stories.jsx +2 -2
  270. package/stories/Radio/Radio.stories.jsx +2 -2
  271. package/stories/RadioCard/RadioCard.stories.jsx +2 -2
  272. package/stories/Search/Search.stories.jsx +2 -2
  273. package/stories/Select/Select.stories.jsx +2 -2
  274. package/stories/SideNav/SideNav.stories.jsx +2 -2
  275. package/stories/SideNav/SideNavItem.stories.jsx +2 -2
  276. package/stories/SideNav/SideNavItemsGroup.stories.jsx +2 -2
  277. package/stories/Skeleton/Skeleton.stories.jsx +3 -3
  278. package/stories/Spacer/Spacer.stories.jsx +2 -2
  279. package/stories/StackView/StackView.stories.jsx +2 -2
  280. package/stories/StackView/StackWrap.stories.jsx +2 -2
  281. package/stories/StepTracker/StepTracker.stories.jsx +2 -2
  282. package/stories/Tabs/Tabs.stories.jsx +2 -2
  283. package/stories/Tags/Tags.stories.jsx +2 -2
  284. package/stories/TextInput/TextArea.stories.jsx +2 -2
  285. package/stories/TextInput/TextInput.stories.jsx +2 -2
  286. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +2 -2
  287. package/stories/Tooltip/Tooltip.stories.jsx +2 -2
  288. package/stories/TooltipButton/TooltipButton.stories.jsx +2 -2
  289. package/stories/Typography/Typography.stories.jsx +2 -2
  290. package/stories/platform-supports.jsx +1 -1
  291. package/stories/supports.jsx +4 -5
  292. package/src/Tabs/HorizontalScroll.jsx +0 -165
  293. package/src/Tabs/TabsScrollButton.jsx +0 -100
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
11
11
 
@@ -25,6 +25,10 @@ var _jsxRuntime = require("react/jsx-runtime");
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
28
32
  const selectStyles = tokens => (0, _utils.selectTokens)('Feedback', tokens);
29
33
 
30
34
  const selectTitleTextStyles = ({
@@ -74,7 +78,7 @@ const selectIconContainerStyles = ({
74
78
  */
75
79
 
76
80
 
77
- const Feedback = ({
81
+ const Feedback = /*#__PURE__*/(0, _react.forwardRef)(({
78
82
  title,
79
83
  children,
80
84
  id,
@@ -82,7 +86,7 @@ const Feedback = ({
82
86
  tokens,
83
87
  variant,
84
88
  ...rest
85
- }) => {
89
+ }, ref) => {
86
90
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('Feedback', tokens, { ...variant,
87
91
  validation
88
92
  });
@@ -105,6 +109,7 @@ const Feedback = ({
105
109
  });
106
110
 
107
111
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
112
+ ref: ref,
108
113
  style: selectStyles(themeTokens),
109
114
  ...accessibilityProps,
110
115
  nativeID: id,
@@ -126,8 +131,8 @@ const Feedback = ({
126
131
  }) : content]
127
132
  })
128
133
  });
129
- };
130
-
134
+ });
135
+ Feedback.displayName = 'Feedback';
131
136
  Feedback.propTypes = {
132
137
  /**
133
138
  * Emphasized summary of the feedback. If an icon is set, it is rendered next to the title.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -27,13 +27,17 @@ var _jsxRuntime = require("react/jsx-runtime");
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
30
34
  /**
31
35
  * An alternative to InputSupports for groups of input elements that, on web, are to be
32
36
  * wrapped in a `<fieldset>` tag, with label content displated in a `<legend>` tag.
33
37
  *
34
38
  * Follows the same theming and most of the same props as InputSupports.
35
39
  */
36
- const Fieldset = ({
40
+ const Fieldset = /*#__PURE__*/(0, _react.forwardRef)(({
37
41
  space,
38
42
  feedback,
39
43
  feedbackPosition = 'top',
@@ -46,7 +50,7 @@ const Fieldset = ({
46
50
  accessibilityRole,
47
51
  name: fieldsetName,
48
52
  children
49
- }) => {
53
+ }, ref) => {
50
54
  // Skips `inputId` because a fieldset' legend describes multiple inputs
51
55
  const {
52
56
  hintId,
@@ -87,13 +91,14 @@ const Fieldset = ({
87
91
  preserveFragments: true
88
92
  });
89
93
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FieldsetContainer.default, {
94
+ ref: ref,
90
95
  inactive: inactive,
91
96
  accessibilityRole: accessibilityRole,
92
97
  name: fieldsetName,
93
98
  children: stackedContent
94
99
  });
95
- };
96
-
100
+ });
101
+ Fieldset.displayName = 'Fieldset';
97
102
  Fieldset.propTypes = {
98
103
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
99
104
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -15,22 +15,27 @@ var _jsxRuntime = require("react/jsx-runtime");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
18
22
  /**
19
23
  * On Web, wraps children with a HTML `<fieldset>` and sets its attributes as necessary.
20
24
  */
21
- const FieldsetContainer = ({
25
+ const FieldsetContainer = /*#__PURE__*/(0, _react.forwardRef)(({
22
26
  children,
23
27
  inactive,
24
28
  accessibilityRole,
25
29
  name: fieldsetName
26
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)("fieldset", {
30
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)("fieldset", {
31
+ ref: ref,
27
32
  disabled: inactive,
28
33
  style: _cssReset.default,
29
34
  role: accessibilityRole,
30
35
  name: fieldsetName,
31
36
  children: children
32
- });
33
-
37
+ }));
38
+ FieldsetContainer.displayName = 'FieldsetContainer';
34
39
  FieldsetContainer.propTypes = {
35
40
  accessibilityRole: _propTypes.default.string,
36
41
  children: _propTypes.default.node,
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -15,16 +15,21 @@ var _jsxRuntime = require("react/jsx-runtime");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
18
22
  // No equivalent of `<fieldset>` on native, so just apply accessibility role to container.
19
23
  // If a11y testing finds any additional handling is needed at the container level, add it here.
20
- const FieldsetContainer = ({
24
+ const FieldsetContainer = /*#__PURE__*/(0, _react.forwardRef)(({
21
25
  children,
22
26
  accessibilityRole
23
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
27
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
28
+ ref: ref,
24
29
  accessibilityRole: accessibilityRole,
25
30
  children: children
26
- });
27
-
31
+ }));
32
+ FieldsetContainer.displayName = 'FieldsetContainer';
28
33
  FieldsetContainer.propTypes = {
29
34
  children: _propTypes.default.node,
30
35
  accessibilityRole: _propTypes.default.string
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -15,17 +15,22 @@ var _jsxRuntime = require("react/jsx-runtime");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
18
22
  /**
19
23
  * On Web, wraps children in HTML `<legend>` tag.
20
24
  * On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
21
25
  */
22
- const Legend = ({
26
+ const Legend = /*#__PURE__*/(0, _react.forwardRef)(({
23
27
  children
24
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)("legend", {
28
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)("legend", {
29
+ ref: ref,
25
30
  style: _cssReset.default,
26
31
  children: children
27
- });
28
-
32
+ }));
33
+ Legend.displayName = 'Legend';
29
34
  Legend.propTypes = {
30
35
  children: _propTypes.default.node
31
36
  };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
11
 
@@ -17,17 +17,22 @@ var _jsxRuntime = require("react/jsx-runtime");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
20
24
  /**
21
25
  * On Web, wraps children in HTML `<legend>` tag.
22
26
  * On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
23
27
  */
24
- const Legend = ({
28
+ const Legend = /*#__PURE__*/(0, _react.forwardRef)(({
25
29
  children
26
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
30
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
31
+ ref: ref,
27
32
  style: staticStyles.stretch,
28
33
  children: children
29
- });
30
-
34
+ }));
35
+ Legend.displayName = 'Legend';
31
36
  Legend.propTypes = {
32
37
  children: _propTypes.default.node
33
38
  };
@@ -33,7 +33,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
35
 
36
- const Col = ({
36
+ const Col = /*#__PURE__*/(0, _react.forwardRef)(({
37
37
  horizontalAlign,
38
38
  children,
39
39
  xs,
@@ -47,7 +47,7 @@ const Col = ({
47
47
  lgOffset,
48
48
  xlOffset,
49
49
  ...viewProps
50
- }) => {
50
+ }, ref) => {
51
51
  const gutter = (0, _react.useContext)(_GutterContext.default);
52
52
  const viewPort = (0, _ViewportProvider.useViewport)();
53
53
  const hiddenLevels = (0, _helpers.default)([xs, sm, md, lg, xl]);
@@ -67,7 +67,7 @@ const Col = ({
67
67
  const horizontalAlignLevel = getHorizontalAlignLevel();
68
68
 
69
69
  const toPercent = num => {
70
- return "".concat(num / 12 * 100, "%");
70
+ return `${num / 12 * 100}%`;
71
71
  };
72
72
 
73
73
  const calculateWidth = value => {
@@ -175,12 +175,15 @@ const Col = ({
175
175
  lg: offsetsWithIheritance[3],
176
176
  xl: offsetsWithIheritance[4]
177
177
  };
178
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...viewProps,
178
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
179
+ ref: ref,
180
+ ...viewProps,
179
181
  style: [styles.col, gutterPadding, offsetStyles(offsets), sizeStyles(sizes), { ...hidingStyles
180
182
  }],
181
183
  children: children
182
184
  });
183
- };
185
+ });
186
+ Col.displayName = 'Col';
184
187
 
185
188
  const styles = _StyleSheet.default.create({
186
189
  col: {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -25,14 +25,20 @@ var _GutterContext = _interopRequireDefault(require("./providers/GutterContext")
25
25
 
26
26
  var _helpers = _interopRequireDefault(require("./helpers"));
27
27
 
28
+ var _utils = require("../utils");
29
+
28
30
  var _jsxRuntime = require("react/jsx-runtime");
29
31
 
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
33
 
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
32
38
  /**
33
39
  * A mobile-first flexbox grid.
34
40
  */
35
- const FlexGrid = ({
41
+ const FlexGrid = /*#__PURE__*/(0, _react.forwardRef)(({
36
42
  limitWidth = true,
37
43
  gutter = true,
38
44
  outsideGutter = true,
@@ -41,9 +47,11 @@ const FlexGrid = ({
41
47
  mdReverse,
42
48
  lgReverse,
43
49
  xlReverse,
50
+ tag,
51
+ accessibilityRole,
44
52
  children,
45
53
  ...rest
46
- }) => {
54
+ }, ref) => {
47
55
  const viewPort = (0, _ViewportProvider.useViewport)();
48
56
  const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
49
57
  const marginVertical = 0;
@@ -77,9 +85,15 @@ const FlexGrid = ({
77
85
  flexDirection = reverseLevel[4] ? 'column-reverse' : 'column';
78
86
  }
79
87
 
88
+ const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
89
+ ..._utils.a11yProps.select(rest),
90
+ ..._utils.viewProps.select(rest)
91
+ };
80
92
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GutterContext.default.Provider, {
81
93
  value: gutter,
82
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...rest,
94
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
95
+ ref: ref,
96
+ ...props,
83
97
  style: [styles.grid, {
84
98
  marginHorizontal,
85
99
  marginVertical,
@@ -90,7 +104,8 @@ const FlexGrid = ({
90
104
  children: children
91
105
  })
92
106
  });
93
- };
107
+ });
108
+ FlexGrid.displayName = 'FlexGrid';
94
109
 
95
110
  const styles = _StyleSheet.default.create({
96
111
  grid: {
@@ -98,7 +113,9 @@ const styles = _StyleSheet.default.create({
98
113
  }
99
114
  });
100
115
 
101
- FlexGrid.propTypes = {
116
+ FlexGrid.propTypes = { ..._utils.a11yProps.propTypes,
117
+ ..._utils.viewProps.types,
118
+
102
119
  /**
103
120
  * Whether or not to give the grid a fixed width. This also centres the grid horizontally.
104
121
  */
@@ -139,6 +156,14 @@ FlexGrid.propTypes = {
139
156
  */
140
157
  xlReverse: _propTypes.default.bool,
141
158
 
159
+ /**
160
+ * Optional semantic HTML tag, to apply to the container on web. Does not change styling.
161
+ *
162
+ * In native apps, if a header tag is provided ("h1", "h2" etc) and accessibilityRole prop
163
+ * is not defined, the accessibilityRole will default to "heading".
164
+ */
165
+ tag: _propTypes.default.oneOf(_utils.layoutTags),
166
+
142
167
  /**
143
168
  * The rows and columns of the Grid. Will typically be `FlexGrid.Row` and `FlexGrid.Col` components.
144
169
  */
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -23,6 +23,10 @@ var _jsxRuntime = require("react/jsx-runtime");
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
 
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
26
30
  const horizontalAlignStyles = horizontalAlign => {
27
31
  switch (horizontalAlign) {
28
32
  case 'start':
@@ -87,7 +91,7 @@ const distributeStyles = distribute => {
87
91
  }
88
92
  };
89
93
 
90
- const Row = ({
94
+ const Row = /*#__PURE__*/(0, _react.forwardRef)(({
91
95
  horizontalAlign,
92
96
  verticalAlign,
93
97
  distribute,
@@ -98,7 +102,7 @@ const Row = ({
98
102
  xlReverse,
99
103
  children,
100
104
  ...rest
101
- }) => {
105
+ }, ref) => {
102
106
  const viewPort = (0, _ViewportProvider.useViewport)();
103
107
  const reverseLevel = (0, _helpers.default)([xsReverse, smReverse, mdReverse, lgReverse, xlReverse]);
104
108
  let flexDirection = '';
@@ -123,7 +127,9 @@ const Row = ({
123
127
  flexDirection = reverseLevel[4] ? 'row-reverse' : 'row';
124
128
  }
125
129
 
126
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...rest,
130
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
131
+ ref: ref,
132
+ ...rest,
127
133
  style: [styles.row, {
128
134
  flexDirection,
129
135
  ...horizontalAlignStyles(horizontalAlign),
@@ -132,7 +138,8 @@ const Row = ({
132
138
  }],
133
139
  children: children
134
140
  });
135
- };
141
+ });
142
+ Row.displayName = 'Row';
136
143
 
137
144
  const styles = _StyleSheet.default.create({
138
145
  row: {
@@ -43,14 +43,13 @@ const selectHorizontalScrollTokens = (themeTokens, prefix) => (0, _utils.selectT
43
43
 
44
44
 
45
45
  exports.selectHorizontalScrollTokens = selectHorizontalScrollTokens;
46
-
47
- const HorizontalScroll = ({
46
+ const HorizontalScroll = /*#__PURE__*/(0, _react.forwardRef)(({
48
47
  ScrollButton,
49
48
  tokens,
50
49
  itemPositions,
51
50
  children,
52
51
  ...rest
53
- }) => {
52
+ }, ref) => {
54
53
  const {
55
54
  nextIcon,
56
55
  previousIcon,
@@ -146,6 +145,7 @@ const HorizontalScroll = ({
146
145
 
147
146
 
148
147
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
148
+ ref: ref,
149
149
  style: staticStyles.container,
150
150
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollViewEnd.default, {
151
151
  onScrollEnd: handleScrollEnd,
@@ -173,7 +173,8 @@ const HorizontalScroll = ({
173
173
  direction: "next"
174
174
  })]
175
175
  });
176
- };
176
+ });
177
+ HorizontalScroll.displayName = 'HorizontalScroll';
177
178
 
178
179
  const staticStyles = _StyleSheet.default.create({
179
180
  scrollContainer: {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -27,6 +27,10 @@ var _jsxRuntime = require("react/jsx-runtime");
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
30
34
  const selectButtonStyles = ({
31
35
  borderRadius,
32
36
  backgroundColor,
@@ -50,7 +54,7 @@ const selectButtonStyles = ({
50
54
  */
51
55
 
52
56
 
53
- const TabsScrollButton = ({
57
+ const HorizontalScrollButton = /*#__PURE__*/(0, _react.forwardRef)(({
54
58
  direction = 'next',
55
59
  icon,
56
60
  onPress,
@@ -58,8 +62,8 @@ const TabsScrollButton = ({
58
62
  variant,
59
63
  tokens,
60
64
  copy
61
- }) => {
62
- const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('TabsScrollButton', tokens, variant);
65
+ }, ref) => {
66
+ const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('HorizontalScrollButton', tokens, variant);
63
67
 
64
68
  const resolveButtonTokens = pressableState => (0, _utils.resolvePressableTokens)(getTokens, pressableState);
65
69
 
@@ -73,6 +77,7 @@ const TabsScrollButton = ({
73
77
  });
74
78
  const label = direction === 'previous' ? getCopy('previousText') : getCopy('nextText');
75
79
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
80
+ ref: ref,
76
81
  style: getPressableStyle,
77
82
  onPress: onPress,
78
83
  accessibilityLabel: label,
@@ -94,7 +99,8 @@ const TabsScrollButton = ({
94
99
  });
95
100
  }
96
101
  });
97
- };
102
+ });
103
+ HorizontalScrollButton.displayName = 'HorizontalScrollButton';
98
104
 
99
105
  const staticStyles = _StyleSheet.default.create({
100
106
  absolute: {
@@ -108,8 +114,8 @@ const staticStyles = _StyleSheet.default.create({
108
114
  }
109
115
  });
110
116
 
111
- TabsScrollButton.propTypes = {
112
- tokens: (0, _utils.getTokensPropType)('TabsScrollButton'),
117
+ HorizontalScrollButton.propTypes = {
118
+ tokens: (0, _utils.getTokensPropType)('HorizontalScrollButton'),
113
119
  variant: _utils.variantProp.propType,
114
120
  copy: _utils.copyPropTypes,
115
121
  direction: _propTypes.default.oneOf(['previous', 'next']),
@@ -117,5 +123,5 @@ TabsScrollButton.propTypes = {
117
123
  icon: _propTypes.default.elementType,
118
124
  onPress: _propTypes.default.func.isRequired
119
125
  };
120
- var _default = TabsScrollButton;
126
+ var _default = HorizontalScrollButton;
121
127
  exports.default = _default;
File without changes
File without changes
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "HorizontalScrollButton", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _HorizontalScrollButton.default;
10
+ }
11
+ });
12
+ exports.horizontalScrollUtils = exports.default = void 0;
13
+
14
+ var _HorizontalScroll = _interopRequireWildcard(require("./HorizontalScroll"));
15
+
16
+ var _itemPositions = require("./itemPositions");
17
+
18
+ var _HorizontalScrollButton = _interopRequireDefault(require("./HorizontalScrollButton"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ var _default = _HorizontalScroll.default;
27
+ exports.default = _default;
28
+ const horizontalScrollUtils = {
29
+ selectHorizontalScrollTokens: _HorizontalScroll.selectHorizontalScrollTokens,
30
+ useItemPositions: _itemPositions.useItemPositions,
31
+ getItemPositionScrollTarget: _itemPositions.getItemPositionScrollTarget,
32
+ getItemPositionLayoutHandler: _itemPositions.getItemPositionLayoutHandler,
33
+ itemPositionsPropType: _itemPositions.itemPositionsPropType
34
+ };
35
+ exports.horizontalScrollUtils = horizontalScrollUtils;
File without changes