@telus-uds/components-base 0.0.2-prerelease.9 → 1.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 (282) hide show
  1. package/.eslintrc.js +9 -0
  2. package/.ultra.cache.json +1 -1
  3. package/CHANGELOG.md +32 -0
  4. package/README.md +4 -2
  5. package/__fixtures__/test-utils.js +25 -0
  6. package/__fixtures__/testTheme.js +4 -2
  7. package/__tests__/Button/ButtonGroup.test.jsx +4 -5
  8. package/__tests__/Checkbox/Checkbox.test.jsx +2 -2
  9. package/__tests__/Checkbox/CheckboxGroup.test.jsx +4 -5
  10. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
  11. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
  12. package/__tests__/Link/LinkBase.test.jsx +0 -14
  13. package/__tests__/Radio/Radio.test.jsx +2 -2
  14. package/__tests__/Radio/RadioGroup.test.jsx +4 -5
  15. package/__tests__/RadioCard/RadioCard.test.jsx +2 -2
  16. package/__tests__/RadioCard/RadioCardGroup.test.jsx +4 -5
  17. package/__tests__/Search/Search.test.jsx +9 -8
  18. package/__tests__/Select/Select.test.jsx +3 -2
  19. package/__tests__/Tabs/Tabs.test.jsx +1 -161
  20. package/__tests__/Tags/Tags.test.jsx +4 -5
  21. package/__tests__/TextInput/TextArea.test.jsx +3 -2
  22. package/__tests__/TextInput/TextInputBase.test.jsx +10 -5
  23. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
  24. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +9 -5
  25. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
  26. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
  27. package/__tests__/utils/children.test.jsx +128 -0
  28. package/__tests__/utils/input.test.js +1 -1
  29. package/__tests__/utils/semantics.test.jsx +43 -0
  30. package/lib/A11yText/index.js +10 -5
  31. package/lib/ActivityIndicator/Spinner.js +16 -13
  32. package/lib/ActivityIndicator/Spinner.native.js +12 -8
  33. package/lib/Box/Box.js +102 -8
  34. package/lib/Button/Button.js +9 -8
  35. package/lib/Button/ButtonBase.js +14 -7
  36. package/lib/Button/ButtonGroup.js +25 -10
  37. package/lib/Button/ButtonLink.js +10 -7
  38. package/lib/Card/Card.js +2 -0
  39. package/lib/Card/CardBase.js +12 -5
  40. package/lib/Card/PressableCardBase.js +12 -8
  41. package/lib/Checkbox/Checkbox.js +25 -14
  42. package/lib/Checkbox/CheckboxGroup.js +22 -12
  43. package/lib/Divider/Divider.js +12 -7
  44. package/lib/ExpandCollapse/Accordion.js +10 -4
  45. package/lib/ExpandCollapse/Control.js +12 -6
  46. package/lib/ExpandCollapse/ExpandCollapse.js +10 -5
  47. package/lib/ExpandCollapse/Panel.js +8 -7
  48. package/lib/Feedback/Feedback.js +10 -5
  49. package/lib/Fieldset/Fieldset.js +10 -5
  50. package/lib/Fieldset/FieldsetContainer.js +10 -5
  51. package/lib/Fieldset/FieldsetContainer.native.js +10 -5
  52. package/lib/Fieldset/Legend.js +10 -5
  53. package/lib/Fieldset/Legend.native.js +10 -5
  54. package/lib/FlexGrid/Col/Col.js +8 -5
  55. package/lib/FlexGrid/FlexGrid.js +31 -6
  56. package/lib/FlexGrid/Row/Row.js +12 -5
  57. package/lib/{Tabs → HorizontalScroll}/HorizontalScroll.js +5 -4
  58. package/lib/{Tabs/TabsScrollButton.js → HorizontalScroll/HorizontalScrollButton.js} +14 -8
  59. package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.js +0 -0
  60. package/lib/{Tabs → HorizontalScroll}/ScrollViewEnd.native.js +0 -0
  61. package/lib/{Tabs → HorizontalScroll}/dictionary.js +0 -0
  62. package/lib/HorizontalScroll/index.js +35 -0
  63. package/lib/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
  64. package/lib/Icon/Icon.js +16 -9
  65. package/lib/Icon/IconText.js +8 -7
  66. package/lib/IconButton/IconButton.js +10 -5
  67. package/lib/InputLabel/InputLabel.js +33 -5
  68. package/lib/InputLabel/LabelContent.js +22 -12
  69. package/lib/InputLabel/LabelContent.native.js +23 -5
  70. package/lib/InputSupports/InputSupports.js +10 -5
  71. package/lib/Link/ChevronLink.js +12 -5
  72. package/lib/Link/InlinePressable.js +10 -4
  73. package/lib/Link/InlinePressable.native.js +5 -4
  74. package/lib/Link/Link.js +12 -5
  75. package/lib/Link/LinkBase.js +12 -5
  76. package/lib/Link/TextButton.js +10 -5
  77. package/lib/List/List.js +5 -4
  78. package/lib/List/ListItem.js +16 -8
  79. package/lib/Modal/Modal.js +10 -5
  80. package/lib/Notification/Notification.js +21 -5
  81. package/lib/Pagination/PageButton.js +21 -10
  82. package/lib/Pagination/Pagination.js +12 -7
  83. package/lib/Pagination/SideButton.js +12 -7
  84. package/lib/Pagination/usePagination.js +2 -2
  85. package/lib/Progress/Progress.js +10 -5
  86. package/lib/Progress/ProgressBar.js +21 -10
  87. package/lib/Progress/ProgressBarBackground.js +12 -8
  88. package/lib/Radio/Radio.js +14 -13
  89. package/lib/Radio/RadioButton.js +20 -9
  90. package/lib/Radio/RadioGroup.js +24 -13
  91. package/lib/RadioCard/RadioCard.js +14 -10
  92. package/lib/RadioCard/RadioCardGroup.js +13 -12
  93. package/lib/Search/Search.js +29 -18
  94. package/lib/Select/Picker.js +11 -6
  95. package/lib/Select/Picker.native.js +21 -6
  96. package/lib/Select/Select.js +46 -4
  97. package/lib/SideNav/Item.js +10 -5
  98. package/lib/SideNav/ItemsGroup.js +10 -5
  99. package/lib/SideNav/SideNav.js +11 -7
  100. package/lib/Skeleton/Skeleton.js +15 -15
  101. package/lib/Skeleton/skeletonWebAnimation.js +1 -1
  102. package/lib/Spacer/Spacer.js +19 -7
  103. package/lib/StackView/StackView.js +25 -7
  104. package/lib/StackView/StackWrap.js +16 -9
  105. package/lib/StackView/StackWrapBox.js +33 -8
  106. package/lib/StackView/StackWrapGap.js +16 -7
  107. package/lib/StackView/common.js +4 -2
  108. package/lib/StackView/getStackedContent.js +2 -2
  109. package/lib/StepTracker/StepTracker.js +10 -5
  110. package/lib/Tabs/Tabs.js +26 -19
  111. package/lib/Tabs/TabsItem.js +16 -12
  112. package/lib/Tags/Tags.js +27 -11
  113. package/lib/TextInput/TextArea.js +7 -5
  114. package/lib/TextInput/TextInput.js +12 -6
  115. package/lib/TextInput/TextInputBase.js +12 -8
  116. package/lib/ThemeProvider/ThemeProvider.js +14 -10
  117. package/lib/ThemeProvider/useSetTheme.js +6 -1
  118. package/lib/ThemeProvider/utils/styles.js +2 -2
  119. package/lib/ThemeProvider/utils/theme-tokens.js +39 -8
  120. package/lib/ToggleSwitch/ToggleSwitch.js +11 -6
  121. package/lib/Tooltip/Backdrop.js +10 -2
  122. package/lib/Tooltip/Tooltip.js +5 -4
  123. package/lib/Typography/Typography.js +40 -24
  124. package/lib/index.js +21 -0
  125. package/lib/utils/a11y/index.js +13 -0
  126. package/lib/utils/a11y/semantics.js +173 -0
  127. package/lib/utils/animation/useVerticalExpandAnimation.js +1 -1
  128. package/lib/utils/children.js +55 -8
  129. package/lib/utils/input.js +27 -17
  130. package/lib/utils/propTypes.js +82 -29
  131. package/lib/utils/useCopy.js +1 -1
  132. package/lib/utils/useHash.js +8 -4
  133. package/lib/utils/useSpacingScale.js +1 -3
  134. package/lib/utils/useUniqueId.js +1 -1
  135. package/package.json +9 -5
  136. package/release-context.json +4 -4
  137. package/src/A11yText/index.jsx +6 -4
  138. package/src/ActivityIndicator/Spinner.jsx +5 -3
  139. package/src/ActivityIndicator/Spinner.native.jsx +5 -3
  140. package/src/Box/Box.jsx +124 -39
  141. package/src/Button/Button.jsx +7 -4
  142. package/src/Button/ButtonBase.jsx +86 -77
  143. package/src/Button/ButtonGroup.jsx +81 -69
  144. package/src/Button/ButtonLink.jsx +18 -13
  145. package/src/Card/Card.jsx +2 -2
  146. package/src/Card/CardBase.jsx +5 -4
  147. package/src/Card/PressableCardBase.jsx +71 -64
  148. package/src/Checkbox/Checkbox.jsx +118 -108
  149. package/src/Checkbox/CheckboxGroup.jsx +72 -62
  150. package/src/Divider/Divider.jsx +7 -4
  151. package/src/ExpandCollapse/Accordion.jsx +3 -2
  152. package/src/ExpandCollapse/Control.jsx +40 -43
  153. package/src/ExpandCollapse/ExpandCollapse.jsx +26 -23
  154. package/src/ExpandCollapse/Panel.jsx +69 -63
  155. package/src/Feedback/Feedback.jsx +36 -33
  156. package/src/Fieldset/Fieldset.jsx +63 -56
  157. package/src/Fieldset/FieldsetContainer.jsx +14 -5
  158. package/src/Fieldset/FieldsetContainer.native.jsx +7 -4
  159. package/src/Fieldset/Legend.jsx +7 -2
  160. package/src/Fieldset/Legend.native.jsx +7 -2
  161. package/src/FlexGrid/Col/Col.jsx +139 -132
  162. package/src/FlexGrid/FlexGrid.jsx +79 -51
  163. package/src/FlexGrid/Row/Row.jsx +55 -48
  164. package/src/HorizontalScroll/HorizontalScroll.jsx +168 -0
  165. package/src/HorizontalScroll/HorizontalScrollButton.jsx +105 -0
  166. package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.jsx +0 -0
  167. package/src/{Tabs → HorizontalScroll}/ScrollViewEnd.native.jsx +0 -0
  168. package/src/{Tabs → HorizontalScroll}/dictionary.js +0 -0
  169. package/src/HorizontalScroll/index.js +17 -0
  170. package/src/{Tabs → HorizontalScroll}/itemPositions.js +0 -0
  171. package/src/Icon/Icon.jsx +37 -35
  172. package/src/Icon/IconText.jsx +22 -17
  173. package/src/IconButton/IconButton.jsx +49 -42
  174. package/src/InputLabel/InputLabel.jsx +53 -38
  175. package/src/InputLabel/LabelContent.jsx +14 -6
  176. package/src/InputLabel/LabelContent.native.jsx +11 -2
  177. package/src/InputSupports/InputSupports.jsx +29 -34
  178. package/src/Link/ChevronLink.jsx +26 -16
  179. package/src/Link/InlinePressable.jsx +5 -3
  180. package/src/Link/InlinePressable.native.jsx +5 -3
  181. package/src/Link/Link.jsx +22 -16
  182. package/src/Link/LinkBase.jsx +67 -58
  183. package/src/Link/TextButton.jsx +30 -23
  184. package/src/List/List.jsx +5 -4
  185. package/src/List/ListItem.jsx +77 -82
  186. package/src/Modal/Modal.jsx +9 -4
  187. package/src/Notification/Notification.jsx +58 -43
  188. package/src/Pagination/PageButton.jsx +42 -35
  189. package/src/Pagination/Pagination.jsx +88 -92
  190. package/src/Pagination/SideButton.jsx +44 -41
  191. package/src/Progress/Progress.jsx +5 -4
  192. package/src/Progress/ProgressBar.jsx +42 -29
  193. package/src/Progress/ProgressBarBackground.jsx +5 -3
  194. package/src/Radio/Radio.jsx +85 -78
  195. package/src/Radio/RadioButton.jsx +54 -43
  196. package/src/Radio/RadioGroup.jsx +74 -63
  197. package/src/RadioCard/RadioCard.jsx +75 -68
  198. package/src/RadioCard/RadioCardGroup.jsx +82 -75
  199. package/src/Search/Search.jsx +127 -106
  200. package/src/Select/Picker.jsx +49 -42
  201. package/src/Select/Picker.native.jsx +56 -49
  202. package/src/Select/Select.jsx +115 -72
  203. package/src/SideNav/Item.jsx +53 -46
  204. package/src/SideNav/ItemsGroup.jsx +50 -43
  205. package/src/SideNav/SideNav.jsx +68 -60
  206. package/src/Skeleton/Skeleton.jsx +9 -13
  207. package/src/Spacer/Spacer.jsx +11 -4
  208. package/src/StackView/StackView.jsx +46 -23
  209. package/src/StackView/StackWrap.jsx +7 -6
  210. package/src/StackView/StackWrapBox.jsx +61 -28
  211. package/src/StackView/StackWrapGap.jsx +46 -24
  212. package/src/StackView/common.jsx +3 -2
  213. package/src/StepTracker/StepTracker.jsx +73 -62
  214. package/src/Tabs/Tabs.jsx +70 -62
  215. package/src/Tabs/TabsItem.jsx +111 -103
  216. package/src/Tags/Tags.jsx +114 -102
  217. package/src/TextInput/TextArea.jsx +5 -4
  218. package/src/TextInput/TextInput.jsx +5 -4
  219. package/src/TextInput/TextInputBase.jsx +84 -77
  220. package/src/ThemeProvider/ThemeProvider.jsx +11 -7
  221. package/src/ThemeProvider/useSetTheme.js +4 -0
  222. package/src/ThemeProvider/utils/theme-tokens.js +28 -0
  223. package/src/ToggleSwitch/ToggleSwitch.jsx +49 -50
  224. package/src/Tooltip/Tooltip.jsx +134 -130
  225. package/src/Typography/Typography.jsx +67 -44
  226. package/src/index.js +2 -0
  227. package/src/utils/a11y/index.js +1 -0
  228. package/src/utils/a11y/semantics.js +162 -0
  229. package/src/utils/children.jsx +60 -7
  230. package/src/utils/input.js +20 -17
  231. package/src/utils/propTypes.js +101 -39
  232. package/src/utils/useCopy.js +1 -1
  233. package/src/utils/useHash.js +8 -3
  234. package/stories/A11yText/A11yText.stories.jsx +2 -2
  235. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +1 -1
  236. package/stories/Box/Box.stories.jsx +1 -1
  237. package/stories/Button/Button.stories.jsx +2 -2
  238. package/stories/Button/ButtonGroup.stories.jsx +1 -1
  239. package/stories/Button/ButtonLink.stories.jsx +1 -1
  240. package/stories/Card/Card.stories.jsx +1 -1
  241. package/stories/Checkbox/Checkbox.stories.jsx +1 -1
  242. package/stories/Divider/Divider.stories.jsx +1 -1
  243. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +2 -2
  244. package/stories/Feedback/Feedback.stories.jsx +1 -1
  245. package/stories/FlexGrid/01 FlexGrid.stories.jsx +1 -1
  246. package/stories/FlexGrid/02 Row.stories.jsx +1 -1
  247. package/stories/FlexGrid/03 Col.stories.jsx +1 -1
  248. package/stories/Icon/Icon.stories.jsx +1 -1
  249. package/stories/IconButton/IconButton.stories.jsx +1 -1
  250. package/stories/InputLabel/InputLabel.stories.jsx +1 -1
  251. package/stories/Link/ChevronLink.stories.jsx +1 -1
  252. package/stories/Link/Link.stories.jsx +1 -1
  253. package/stories/Link/TextButton.stories.jsx +1 -1
  254. package/stories/List/List.stories.jsx +1 -1
  255. package/stories/Modal/Modal.stories.jsx +1 -1
  256. package/stories/Notification/Notification.stories.jsx +1 -1
  257. package/stories/Pagination/Pagination.stories.jsx +1 -1
  258. package/stories/Progress/Progress.stories.jsx +1 -1
  259. package/stories/Radio/Radio.stories.jsx +1 -1
  260. package/stories/RadioCard/RadioCard.stories.jsx +1 -1
  261. package/stories/Search/Search.stories.jsx +1 -1
  262. package/stories/Select/Select.stories.jsx +1 -1
  263. package/stories/SideNav/SideNav.stories.jsx +1 -1
  264. package/stories/SideNav/SideNavItem.stories.jsx +1 -1
  265. package/stories/SideNav/SideNavItemsGroup.stories.jsx +1 -1
  266. package/stories/Skeleton/Skeleton.stories.jsx +2 -2
  267. package/stories/Spacer/Spacer.stories.jsx +1 -1
  268. package/stories/StackView/StackView.stories.jsx +1 -1
  269. package/stories/StackView/StackWrap.stories.jsx +1 -1
  270. package/stories/StepTracker/StepTracker.stories.jsx +1 -1
  271. package/stories/Tabs/Tabs.stories.jsx +1 -1
  272. package/stories/Tags/Tags.stories.jsx +1 -1
  273. package/stories/TextInput/TextArea.stories.jsx +1 -1
  274. package/stories/TextInput/TextInput.stories.jsx +1 -1
  275. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +1 -1
  276. package/stories/Tooltip/Tooltip.stories.jsx +1 -1
  277. package/stories/TooltipButton/TooltipButton.stories.jsx +1 -1
  278. package/stories/Typography/Typography.stories.jsx +1 -1
  279. package/stories/platform-supports.jsx +1 -1
  280. package/stories/supports.jsx +2 -2
  281. package/src/Tabs/HorizontalScroll.jsx +0 -165
  282. package/src/Tabs/TabsScrollButton.jsx +0 -100
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.selectPressableCardTokens = 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 tokenKeys = [...(0, _utils.getTokenNames)('Card'), // Outer border tokens. TODO: centralise common token sets like these as part of
31
35
  // https://github.com/telus/universal-design-system/issues/782
32
36
  'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
@@ -40,8 +44,7 @@ const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.map(key
40
44
 
41
45
 
42
46
  exports.selectPressableCardTokens = selectPressableCardTokens;
43
-
44
- const PressableCardBase = ({
47
+ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
45
48
  children,
46
49
  tokens,
47
50
  checked,
@@ -52,7 +55,7 @@ const PressableCardBase = ({
52
55
  onPress,
53
56
  accessibilityRole = href ? 'link' : undefined,
54
57
  ...rest
55
- }) => {
58
+ }, ref) => {
56
59
  const viewport = (0, _ViewportProvider.useViewport)();
57
60
 
58
61
  const a11y = _propTypes2.a11yProps.select({ ...rest,
@@ -105,12 +108,13 @@ const PressableCardBase = ({
105
108
  onPress
106
109
  });
107
110
 
108
- const handleKeyDown = e => {
111
+ const handleKeyDown = event => {
109
112
  // The expected keyboard shortcut for selecting a focused item is the Space key
110
- if ((e === null || e === void 0 ? void 0 : e.key) === ' ') handleChange();
113
+ if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
111
114
  };
112
115
 
113
116
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
117
+ ref: ref,
114
118
  href: href,
115
119
  onPress: handleChange,
116
120
  onKeyDown: handleKeyDown,
@@ -122,8 +126,8 @@ const PressableCardBase = ({
122
126
  children: typeof children === 'function' ? children(getCardState(pressableState)) : children
123
127
  })
124
128
  });
125
- };
126
-
129
+ });
130
+ PressableCardBase.displayName = 'PressableCardBase';
127
131
  PressableCardBase.propTypes = {
128
132
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
129
133
  tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
@@ -5,10 +5,12 @@ 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
 
12
+ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
+
12
14
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
13
15
 
14
16
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
@@ -37,6 +39,10 @@ var _jsxRuntime = require("react/jsx-runtime");
37
39
 
38
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
41
 
42
+ 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); }
43
+
44
+ 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; }
45
+
40
46
  // @todo move `LabelContent` outside of the `InputLabel` and fix
41
47
  // the issue with the cursor not being pointer on Web
42
48
  const selectInputStyles = ({
@@ -55,12 +61,16 @@ const selectInputStyles = ({
55
61
  borderWidth: inputBorderWidth,
56
62
  borderRadius: inputBorderRadius,
57
63
  backgroundColor: isChecked ? iconBackgroundColor : inputBackgroundColor,
58
- outlineStyle: 'solid',
59
- outlineColor: inputOutlineColor,
60
- outlineWidth: inputOutlineWidth,
61
64
  height: inputHeight,
62
65
  width: inputWidth,
63
- ...(0, _ThemeProvider.applyShadowToken)(inputShadow)
66
+ ...(0, _ThemeProvider.applyShadowToken)(inputShadow),
67
+ ..._Platform.default.select({
68
+ web: {
69
+ outlineStyle: 'solid',
70
+ outlineColor: inputOutlineColor,
71
+ outlineWidth: inputOutlineWidth
72
+ }
73
+ })
64
74
  });
65
75
 
66
76
  const selectLabelStyles = ({
@@ -137,7 +147,7 @@ const selectFeedbackTokens = ({
137
147
  */
138
148
 
139
149
 
140
- const Checkbox = ({
150
+ const Checkbox = /*#__PURE__*/(0, _react.forwardRef)(({
141
151
  checked,
142
152
  defaultChecked,
143
153
  error = false,
@@ -151,7 +161,7 @@ const Checkbox = ({
151
161
  value,
152
162
  variant,
153
163
  ...rest
154
- }) => {
164
+ }, ref) => {
155
165
  const {
156
166
  currentValue: isChecked,
157
167
  setValue: setIsChecked,
@@ -181,23 +191,24 @@ const Checkbox = ({
181
191
  }
182
192
  });
183
193
 
184
- const handleChange = () => {
194
+ const handleChange = event => {
185
195
  if (!inactive) {
186
- setIsChecked(!isChecked);
196
+ setIsChecked(!isChecked, event);
187
197
  }
188
198
  };
189
199
 
190
- const handleKeyDown = e => {
200
+ const handleKeyDown = event => {
191
201
  // The expected keyboard shortcut for activating a checkbox is the Space key
192
- if ((e === null || e === void 0 ? void 0 : e.key) === ' ') handleChange();
202
+ if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
193
203
  };
194
204
 
195
205
  const accessibilityProps = _propTypes2.a11yProps.select(rest);
196
206
 
197
207
  const uniqueId = (0, _useUniqueId.default)('checkbox');
198
- const inputId = id !== null && id !== void 0 ? id : uniqueId;
208
+ const inputId = id ?? uniqueId;
199
209
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
200
210
  style: staticStyles.wrapper,
211
+ ref: ref,
201
212
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StackView.default, {
202
213
  direction: feedbackPosition === 'top' ? 'column-reverse' : 'column',
203
214
  space: 0,
@@ -262,8 +273,8 @@ const Checkbox = ({
262
273
  })]
263
274
  })
264
275
  });
265
- };
266
-
276
+ });
277
+ Checkbox.displayName = 'Checkbox';
267
278
  Checkbox.propTypes = { ..._propTypes2.a11yProps.propTypes,
268
279
 
269
280
  /**
@@ -5,10 +5,12 @@ 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
 
12
+ var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
13
+
12
14
  var _ViewportProvider = require("../ViewportProvider");
13
15
 
14
16
  var _ThemeProvider = require("../ThemeProvider");
@@ -25,6 +27,10 @@ var _jsxRuntime = require("react/jsx-runtime");
25
27
 
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
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
+
28
34
  /**
29
35
  * A group of Checkboxs that behave as a fieldset. Use when users select any number of choices from options.
30
36
  *
@@ -72,7 +78,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
72
78
  * />
73
79
  * ```
74
80
  */
75
- const CheckboxGroup = ({
81
+ const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)(({
76
82
  tokens,
77
83
  radioTokens,
78
84
  variant,
@@ -88,7 +94,7 @@ const CheckboxGroup = ({
88
94
  readOnly,
89
95
  name: inputGroupName,
90
96
  inactive
91
- }) => {
97
+ }, ref) => {
92
98
  const viewport = (0, _ViewportProvider.useViewport)();
93
99
  const {
94
100
  space,
@@ -108,16 +114,18 @@ const CheckboxGroup = ({
108
114
  const checkboxes = items.map(({
109
115
  label,
110
116
  id,
111
- onChange: itemOnChange
117
+ onChange: itemOnChange,
118
+ ref: itemRef
112
119
  }, index) => {
113
- const checkboxId = id || "Checkbox[".concat(index, "]");
120
+ const checkboxId = id || `Checkbox[${index}]`;
114
121
 
115
- const handleChange = (...args) => {
116
- if (typeof itemOnChange === 'function') itemOnChange(...args);
117
- toggleOneValue(checkboxId);
122
+ const handleChange = (newCheckedState, event) => {
123
+ if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event);
124
+ toggleOneValue(checkboxId, event);
118
125
  };
119
126
 
120
127
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
128
+ ref: itemRef,
121
129
  id: checkboxId,
122
130
  checked: currentValues.includes(checkboxId),
123
131
  onChange: handleChange,
@@ -129,6 +137,7 @@ const CheckboxGroup = ({
129
137
  }, checkboxId);
130
138
  });
131
139
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Fieldset.default, {
140
+ ref: ref,
132
141
  name: inputGroupName,
133
142
  legend: legend,
134
143
  tooltip: tooltip,
@@ -136,14 +145,14 @@ const CheckboxGroup = ({
136
145
  space: fieldSpace,
137
146
  feedback: feedback,
138
147
  inactive: inactive,
139
- status: validation,
148
+ validation: validation,
140
149
  children: (0, _StackView.getStackedContent)(checkboxes, {
141
150
  space,
142
151
  direction: 'column'
143
152
  })
144
153
  });
145
- };
146
-
154
+ });
155
+ CheckboxGroup.displayName = 'CheckboxGroup';
147
156
  CheckboxGroup.propTypes = {
148
157
  /**
149
158
  * Optional theme token overrides for the outer CheckboxGroup component
@@ -166,7 +175,8 @@ CheckboxGroup.propTypes = {
166
175
  items: _propTypes.default.arrayOf(_propTypes.default.exact({
167
176
  label: _propTypes.default.string,
168
177
  id: _propTypes.default.string,
169
- onChange: _propTypes.default.func
178
+ onChange: _propTypes.default.func,
179
+ ref: _airbnbPropTypes.default.ref()
170
180
  })),
171
181
 
172
182
  /**
@@ -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,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
  /**
29
33
  * @typedef {import('../utils/propTypes.js').SpacingIndex} SpacingIndex
30
34
  * @typedef {import('../utils/propTypes.js').SpacingObject} SpacingObject
@@ -66,13 +70,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
66
70
  *
67
71
  * For accessibility purposes a divider component will be described with ARIA attributes, i.e. `role="separator"` and `aria-orientation="vertical/horizontal"`.
68
72
  */
69
- const Divider = ({
73
+ const Divider = /*#__PURE__*/(0, _react.forwardRef)(({
70
74
  variant,
71
75
  vertical = false,
72
76
  space,
73
77
  tokens,
74
78
  testID
75
- }) => {
79
+ }, ref) => {
76
80
  const {
77
81
  color,
78
82
  width
@@ -91,6 +95,7 @@ const Divider = ({
91
95
  } : // There are no such equivalent attributes for native
92
96
  {};
93
97
  const divider = /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
98
+ ref: ref,
94
99
  style: [styles.divider, borderStyles],
95
100
  testID: testID,
96
101
  ...a11y
@@ -102,13 +107,13 @@ const Divider = ({
102
107
  };
103
108
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
104
109
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spacer.default, { ...spacerProps,
105
- testID: testID ? "".concat(testID, "-Spacer-before") : undefined
110
+ testID: testID ? `${testID}-Spacer-before` : undefined
106
111
  }), divider, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spacer.default, { ...spacerProps,
107
- testID: testID ? "".concat(testID, "-Spacer-after") : undefined
112
+ testID: testID ? `${testID}-Spacer-after` : undefined
108
113
  })]
109
114
  });
110
- };
111
-
115
+ });
116
+ Divider.displayName = 'Divider';
112
117
  Divider.propTypes = {
113
118
  tokens: (0, _utils.getTokensPropType)('Divider'),
114
119
  space: _utils.spacingProps.types.spacingValue,
@@ -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 _ExpandCollapse = _interopRequireDefault(require("./ExpandCollapse"));
11
11
 
@@ -13,13 +13,19 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ 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; }
19
+
16
20
  /**
17
21
  * 'Accordion' is a shorthand for an ExpandCollapse where only one item may be open at a time
18
22
  */
19
- const Accordion = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandCollapse.default, { ...props,
23
+ const Accordion = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandCollapse.default, {
24
+ ref: ref,
25
+ ...props,
20
26
  maxOpen: 1
21
- });
22
-
27
+ }));
28
+ Accordion.displayName = 'Accordion';
23
29
  Accordion.propTypes = _ExpandCollapse.default.propTypes;
24
30
  var _default = Accordion;
25
31
  exports.default = _default;
@@ -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 _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
11
11
 
@@ -21,6 +21,10 @@ var _jsxRuntime = require("react/jsx-runtime");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
+ 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); }
25
+
26
+ 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; }
27
+
24
28
  function selectContainerStyles({
25
29
  backgroundColor,
26
30
  borderColor,
@@ -66,7 +70,7 @@ function selectIconTokens(tokens) {
66
70
  };
67
71
  }
68
72
 
69
- const ExpandCollapseControl = ({
73
+ const ExpandCollapseControl = /*#__PURE__*/(0, _react.forwardRef)(({
70
74
  onPress,
71
75
  isExpanded,
72
76
  children,
@@ -74,7 +78,7 @@ const ExpandCollapseControl = ({
74
78
  accessibilityRole = 'button',
75
79
  variant,
76
80
  rest
77
- }) => {
81
+ }, ref) => {
78
82
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ExpandCollapseControl', tokens, variant);
79
83
 
80
84
  const a11y = _utils.a11yProps.select({ ...rest,
@@ -100,7 +104,9 @@ const ExpandCollapseControl = ({
100
104
 
101
105
  const getPressableStyle = pressableState => selectContainerStyles(getControlTokens(pressableState));
102
106
 
103
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, { ...a11y,
107
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
108
+ ref: ref,
109
+ ...a11y,
104
110
  onPress: onPress,
105
111
  style: getPressableStyle,
106
112
  children: pressableState => {
@@ -117,8 +123,8 @@ const ExpandCollapseControl = ({
117
123
  });
118
124
  }
119
125
  });
120
- };
121
-
126
+ });
127
+ ExpandCollapseControl.displayName = 'ExpandCollapseControl';
122
128
  ExpandCollapseControl.propTypes = { ..._utils.a11yProps.propTypes,
123
129
  tokens: (0, _utils.getTokensPropType)('ExpandCollapseControl'),
124
130
  variant: _utils.variantProp.propType,
@@ -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
 
@@ -19,6 +19,10 @@ var _jsxRuntime = require("react/jsx-runtime");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
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
+
22
26
  function selectBorderStyles(tokens) {
23
27
  return {
24
28
  borderBottomWidth: tokens.borderWidth,
@@ -35,7 +39,7 @@ function selectBorderStyles(tokens) {
35
39
  */
36
40
 
37
41
 
38
- const ExpandCollapse = ({
42
+ const ExpandCollapse = /*#__PURE__*/(0, _react.forwardRef)(({
39
43
  children,
40
44
  tokens,
41
45
  variant,
@@ -43,7 +47,7 @@ const ExpandCollapse = ({
43
47
  open,
44
48
  initialOpen,
45
49
  onChange
46
- }) => {
50
+ }, ref) => {
47
51
  const {
48
52
  currentValues: openIds,
49
53
  toggleOneValue: onToggle,
@@ -58,6 +62,7 @@ const ExpandCollapse = ({
58
62
  });
59
63
  const themeTokens = (0, _ThemeProvider.useThemeTokens)('ExpandCollapse', tokens, variant);
60
64
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
65
+ ref: ref,
61
66
  style: selectBorderStyles(themeTokens),
62
67
  children: typeof children === 'function' ? children({
63
68
  openIds,
@@ -67,8 +72,8 @@ const ExpandCollapse = ({
67
72
  unsetValues
68
73
  }) : children
69
74
  });
70
- };
71
-
75
+ });
76
+ ExpandCollapse.displayName = 'ExpandCollapse';
72
77
  ExpandCollapse.propTypes = {
73
78
  variant: _utils.variantProp.propType,
74
79
  tokens: (0, _utils.getTokensPropType)('ExpandCollapse'),
@@ -57,7 +57,7 @@ const selectContainerStyles = ({
57
57
  */
58
58
 
59
59
 
60
- const ExpandCollapsePanel = ({
60
+ const ExpandCollapsePanel = /*#__PURE__*/(0, _react.forwardRef)(({
61
61
  openIds = [],
62
62
  panelId,
63
63
  onToggle,
@@ -68,7 +68,7 @@ const ExpandCollapsePanel = ({
68
68
  tokens,
69
69
  variant,
70
70
  ...rest
71
- }) => {
71
+ }, ref) => {
72
72
  const [containerHeight, setContainerHeight] = (0, _react.useState)(null);
73
73
  const isExpanded = openIds.includes(panelId);
74
74
 
@@ -81,9 +81,9 @@ const ExpandCollapsePanel = ({
81
81
  expanded: isExpanded
82
82
  });
83
83
 
84
- const handleControlPress = () => {
85
- onToggle(panelId);
86
- if (onPress) onPress(panelId);
84
+ const handleControlPress = event => {
85
+ onToggle(panelId, event);
86
+ if (onPress) onPress(panelId, event);
87
87
  };
88
88
 
89
89
  const onContainerLayout = event => {
@@ -110,6 +110,7 @@ const ExpandCollapsePanel = ({
110
110
  } : undefined;
111
111
  const focusabilityProps = isExpanded ? {} : _utils.a11yProps.nonFocusableProps;
112
112
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
113
+ ref: ref,
113
114
  style: selectGroupStyles(themeTokens),
114
115
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Control.default, { ...a11y,
115
116
  isExpanded: isExpanded,
@@ -129,8 +130,8 @@ const ExpandCollapsePanel = ({
129
130
  })
130
131
  })]
131
132
  });
132
- };
133
-
133
+ });
134
+ ExpandCollapsePanel.displayName = 'ExpandCollapsePanel';
134
135
  ExpandCollapsePanel.propTypes = {
135
136
  variant: _utils.variantProp.propType,
136
137
  tokens: (0, _utils.getTokensPropType)('ExpandCollapsePanel'),
@@ -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