@hyphen/hyphen-components 2.9.0 → 2.9.2

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 (153) hide show
  1. package/dist/components/Alert/Alert.constants.d.ts +8 -0
  2. package/dist/components/Alert/Alert.d.ts +51 -0
  3. package/dist/components/Alert/Alert.stories.d.ts +8 -0
  4. package/dist/components/Alert/Alert.types.d.ts +7 -0
  5. package/dist/components/Badge/Badge.d.ts +31 -0
  6. package/dist/components/Badge/Badge.stories.d.ts +8 -0
  7. package/dist/components/Box/Box.d.ts +228 -0
  8. package/dist/components/Box/Box.stories.d.ts +42 -0
  9. package/dist/components/Button/Button.constants.d.ts +3 -0
  10. package/dist/components/Button/Button.d.ts +83 -0
  11. package/dist/components/Button/Button.stories.d.ts +14 -0
  12. package/dist/components/Card/Card.d.ts +17 -0
  13. package/dist/components/Card/Card.stories.d.ts +8 -0
  14. package/dist/components/Card/components/CardFooter/CardFooter.d.ts +13 -0
  15. package/dist/components/Card/components/CardHeader/CardHeader.d.ts +21 -0
  16. package/dist/components/Card/components/CardSection/CardSection.d.ts +46 -0
  17. package/dist/components/Card/components/index.d.ts +3 -0
  18. package/dist/components/CheckboxInput/CheckboxInput.d.ts +72 -0
  19. package/dist/components/CheckboxInput/CheckboxInput.stories.d.ts +18 -0
  20. package/dist/components/CheckboxInput/components/Checkbox.d.ts +71 -0
  21. package/dist/components/CheckboxInput/components/CheckboxIcon.d.ts +27 -0
  22. package/dist/components/DateInput/DateInput.d.ts +55 -0
  23. package/dist/components/DateInput/DateInput.stories.d.ts +11 -0
  24. package/dist/components/DatePicker/DatePicker.d.ts +86 -0
  25. package/dist/components/DatePicker/DatePicker.stories.d.ts +13 -0
  26. package/dist/components/Details/Details.d.ts +15 -0
  27. package/dist/components/Details/Details.stories.d.ts +6 -0
  28. package/dist/components/Details/DetailsSummary.d.ts +7 -0
  29. package/dist/components/Drawer/Drawer.d.ts +88 -0
  30. package/dist/components/Drawer/Drawer.stories.d.ts +15 -0
  31. package/dist/components/FormControl/FormControl.d.ts +38 -0
  32. package/dist/components/FormLabel/FormLabel.d.ts +41 -0
  33. package/dist/components/FormLabel/FormLabel.stories.d.ts +6 -0
  34. package/dist/components/Formik/Formik.stories.d.ts +18 -0
  35. package/dist/components/Formik/FormikCheckboxInput/FormikCheckboxInput.d.ts +12 -0
  36. package/dist/components/Formik/FormikRadioGroup/FormikRadioGroup.d.ts +12 -0
  37. package/dist/components/Formik/FormikSelectInput/FormikSelectInput.d.ts +12 -0
  38. package/dist/components/Formik/FormikSelectInputInset/FormikSelectInputInset.d.ts +12 -0
  39. package/dist/components/Formik/FormikSelectInputNative/FormikSelectInputNative.d.ts +12 -0
  40. package/dist/components/Formik/FormikTextInput/FormikTextInput.d.ts +12 -0
  41. package/dist/components/Formik/FormikTextInputInset/FormikTextInputInset.d.ts +12 -0
  42. package/dist/components/Formik/FormikTextareaInput/FormikTextareaInput.d.ts +12 -0
  43. package/dist/components/Formik/FormikTextareaInputInset/FormikTextareaInputInset.d.ts +12 -0
  44. package/dist/components/Formik/FormikTimePicker/FormikTimePicker.d.ts +12 -0
  45. package/dist/components/Formik/FormikTimePickerNative/FormikTimePickerNative.d.ts +12 -0
  46. package/dist/components/Formik/FormikToggle/FormikToggle.d.ts +12 -0
  47. package/dist/components/Heading/Heading.constants.d.ts +10 -0
  48. package/dist/components/Heading/Heading.d.ts +35 -0
  49. package/dist/components/Heading/Heading.stories.d.ts +9 -0
  50. package/dist/components/HelpText/HelpText.d.ts +12 -0
  51. package/dist/components/Icon/Icon.d.ts +22 -0
  52. package/dist/components/Icon/Icon.stories.d.ts +10 -0
  53. package/dist/components/InputValidationMessage/InputValidationMessage.d.ts +9 -0
  54. package/dist/components/Modal/Modal.d.ts +75 -0
  55. package/dist/components/Modal/Modal.stories.d.ts +11 -0
  56. package/dist/components/Modal/components/ModalBody/ModalBody.d.ts +4 -0
  57. package/dist/components/Modal/components/ModalFooter/ModalFooter.d.ts +4 -0
  58. package/dist/components/Modal/components/ModalHeader/ModalHeader.d.ts +16 -0
  59. package/dist/components/Modal/components/index.d.ts +4 -0
  60. package/dist/components/Pagination/Pagination.d.ts +51 -0
  61. package/dist/components/Pagination/Pagination.stories.d.ts +8 -0
  62. package/dist/components/Pagination/Pagination.utilities.d.ts +11 -0
  63. package/dist/components/Popover/Popover.d.ts +80 -0
  64. package/dist/components/Popover/Popover.stories.d.ts +14 -0
  65. package/dist/components/RadioGroup/RadioGroup.d.ts +75 -0
  66. package/dist/components/RadioGroup/RadioGroup.stories.d.ts +16 -0
  67. package/dist/components/RadioGroup/RadioInput/RadioInput.d.ts +57 -0
  68. package/dist/components/RadioGroup/RadioInput/RadioInputIcon.d.ts +27 -0
  69. package/dist/components/ResponsiveProvider/ResponsiveProvider.d.ts +17 -0
  70. package/dist/components/ResponsiveProvider/ResponsiveProvider.stories.d.ts +7 -0
  71. package/dist/components/SelectInput/SelectInput.d.ts +110 -0
  72. package/dist/components/SelectInput/SelectInput.stories.d.ts +20 -0
  73. package/dist/components/SelectInputInset/SelectInputInset.d.ts +92 -0
  74. package/dist/components/SelectInputInset/SelectInputInset.stories.d.ts +12 -0
  75. package/dist/components/SelectInputNative/SelectInputNative.d.ts +43 -0
  76. package/dist/components/SelectInputNative/SelectInputNative.stories.d.ts +16 -0
  77. package/dist/components/Spinner/Spinner.d.ts +12 -0
  78. package/dist/components/Spinner/Spinner.stories.d.ts +8 -0
  79. package/dist/components/Table/Table.d.ts +86 -0
  80. package/dist/components/Table/Table.stories.d.ts +31 -0
  81. package/dist/components/Table/TableBody/TableBody.d.ts +52 -0
  82. package/dist/components/Table/TableBody/TableBodyCell/TableBodyCell.d.ts +45 -0
  83. package/dist/components/Table/TableHead/TableHead.d.ts +46 -0
  84. package/dist/components/Table/TableHead/TableHeaderCell/TableHeaderCell.d.ts +65 -0
  85. package/dist/components/Table/common/TableRow/TableRow.d.ts +67 -0
  86. package/dist/components/TextInput/TextInput.d.ts +106 -0
  87. package/dist/components/TextInput/TextInput.stories.d.ts +19 -0
  88. package/dist/components/TextInputInset/TextInputInset.d.ts +102 -0
  89. package/dist/components/TextInputInset/TextInputInset.stories.d.ts +13 -0
  90. package/dist/components/TextareaInput/TextareaInput.d.ts +97 -0
  91. package/dist/components/TextareaInput/TextareaInput.stories.d.ts +23 -0
  92. package/dist/components/TextareaInputInset/TextareaInputInset.d.ts +105 -0
  93. package/dist/components/TextareaInputInset/TextareaInputInset.stories.d.ts +12 -0
  94. package/dist/components/ThemeProvider/ThemeProvider.d.ts +14 -0
  95. package/dist/components/ThemeProvider/ThemeProvider.stories.d.ts +6 -0
  96. package/dist/components/TimePicker/TimePicker.d.ts +35 -0
  97. package/dist/components/TimePicker/TimePicker.stories.d.ts +12 -0
  98. package/dist/components/TimePickerNative/TimePickerNative.d.ts +39 -0
  99. package/dist/components/TimePickerNative/TimePickerNative.stories.d.ts +11 -0
  100. package/dist/components/Toast/Toast.store.d.ts +36 -0
  101. package/dist/components/Toast/Toast.stories.d.ts +14 -0
  102. package/dist/components/Toast/Toast.types.d.ts +75 -0
  103. package/dist/components/Toast/ToastContainer.d.ts +43 -0
  104. package/dist/components/Toast/ToastNotification.d.ts +28 -0
  105. package/dist/components/Toast/index.d.ts +4 -0
  106. package/dist/components/Toast/toast.d.ts +20 -0
  107. package/dist/components/Toast/useToasts.d.ts +14 -0
  108. package/dist/components/Toggle/Toggle.d.ts +64 -0
  109. package/dist/components/Toggle/Toggle.stories.d.ts +12 -0
  110. package/dist/constants/keyCodes.d.ts +2 -0
  111. package/dist/css/fonts.css +33 -0
  112. package/dist/css/index.css +32 -0
  113. package/dist/css/reset.css +98 -0
  114. package/dist/css/utilities.css +6049 -0
  115. package/dist/css/variables.css +418 -0
  116. package/dist/hooks/index.d.ts +4 -0
  117. package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +9 -0
  118. package/dist/hooks/useBreakpoint/useBreakpoint.stories.d.ts +6 -0
  119. package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayouEffect.d.ts +2 -0
  120. package/dist/hooks/useOpenClose/useOpenClose.d.ts +39 -0
  121. package/dist/hooks/useOpenClose/useOpenClose.stories.d.ts +6 -0
  122. package/dist/hooks/useWindowSize/useWindowSize.d.ts +7 -0
  123. package/dist/hooks/useWindowSize/useWindowSize.stories.d.ts +6 -0
  124. package/dist/hyphen-components.cjs.development.js +4724 -0
  125. package/dist/hyphen-components.cjs.development.js.map +1 -0
  126. package/dist/hyphen-components.cjs.production.min.js +2 -0
  127. package/dist/hyphen-components.cjs.production.min.js.map +1 -0
  128. package/dist/hyphen-components.esm.js +4661 -0
  129. package/dist/hyphen-components.esm.js.map +1 -0
  130. package/dist/index.d.ts +48 -0
  131. package/dist/index.js +8 -0
  132. package/dist/lib/cssShorthandToClasses.d.ts +4 -0
  133. package/dist/lib/doesStringIncludeCssUnit.d.ts +1 -0
  134. package/dist/lib/generateResponsiveClasses.d.ts +2 -0
  135. package/dist/lib/getAutoCompleteValue.d.ts +1 -0
  136. package/dist/lib/getColumnKeys.d.ts +3 -0
  137. package/dist/lib/getDimensionCss.d.ts +12 -0
  138. package/dist/lib/getElementType.d.ts +14 -0
  139. package/dist/lib/getFlexCss.d.ts +9 -0
  140. package/dist/lib/index.d.ts +15 -0
  141. package/dist/lib/isFunction.d.ts +2 -0
  142. package/dist/lib/mergeRefs.d.ts +2 -0
  143. package/dist/lib/prefersReducedMotion.d.ts +1 -0
  144. package/dist/lib/react-children-utilities/filter.d.ts +3 -0
  145. package/dist/lib/react-children-utilities/index.d.ts +1 -0
  146. package/dist/lib/reactRouterClickHandler.d.ts +12 -0
  147. package/dist/lib/resolveValue.d.ts +2 -0
  148. package/dist/lib/tokens.d.ts +22 -0
  149. package/dist/modes.d.ts +8 -0
  150. package/dist/types/index.d.ts +101 -0
  151. package/dist/types/lib.types.d.ts +3 -0
  152. package/package.json +2 -1
  153. package/src/components/Box/Box.tsx +1 -3
@@ -0,0 +1,4724 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+ var classNames = require('classnames');
8
+ var icons = require('@hyphen/hyphen-design-tokens/build/assets/icons/react');
9
+ var format = require('date-fns/format');
10
+ var ReactDatePicker = require('react-datepicker');
11
+ var reactDom = require('react-dom');
12
+ var reactPopper = require('react-popper');
13
+ var FocusTrap = require('focus-trap-react');
14
+ var designTokens = require('@hyphen/hyphen-design-tokens/build/json/variables');
15
+ require('@hyphen/hyphen-design-tokens/build/assets/icons');
16
+ var ReactModal = require('react-modal');
17
+ var FocusLock = require('react-focus-lock');
18
+ var reactRemoveScroll = require('react-remove-scroll');
19
+ var formik = require('formik');
20
+ var Select = require('react-select');
21
+ var uuid = require('uuid');
22
+
23
+ function _extends() {
24
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
25
+ for (var e = 1; e < arguments.length; e++) {
26
+ var t = arguments[e];
27
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
28
+ }
29
+ return n;
30
+ }, _extends.apply(null, arguments);
31
+ }
32
+ function _objectWithoutPropertiesLoose(r, e) {
33
+ if (null == r) return {};
34
+ var t = {};
35
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
36
+ if (e.indexOf(n) >= 0) continue;
37
+ t[n] = r[n];
38
+ }
39
+ return t;
40
+ }
41
+
42
+ function isValidSpacingValue(value) {
43
+ if (value === undefined || value === null || typeof value !== 'string' && typeof value !== 'object') {
44
+ return false;
45
+ }
46
+ return true;
47
+ }
48
+ function generateBaseClasses(attribute, value) {
49
+ if (typeof value !== 'string') return [];
50
+ var trimmedValue = value.trim();
51
+ if (trimmedValue !== value) {
52
+ // eslint-disable-next-line no-console
53
+ console.warn("\n Hyphen Components: It seems you've passed an incorrect\n shorthand value as a prop in your component. The value\n has extra whitespace either at the beginning or the end of it.\n We have trimmed this whitespace, but please double-check that\n the prop value is correct.\n attribute: \"" + attribute + "\"\n value: \"" + value + "\"\n ");
54
+ }
55
+ var classes = [];
56
+ var shorthand;
57
+ if (attribute === 'br') {
58
+ shorthand = {
59
+ /* top-left-and-bottom-right | top-right-and-bottom-left */
60
+ 2: ['top-left', 'top-right'],
61
+ /* top-left | top-right-and-bottom-left | bottom-right */
62
+ 3: ['top-left', 'top-right', 'bottom-right'],
63
+ 4: ['top-left', 'top-right', 'bottom-right', 'bottom-left']
64
+ };
65
+ } else if (attribute === 'g') {
66
+ shorthand = {
67
+ 2: ['rg', 'cg']
68
+ };
69
+ } else {
70
+ shorthand = {
71
+ 2: ['v', 'h'],
72
+ 3: ['top', 'h', 'bottom'],
73
+ 4: ['top', 'right', 'bottom', 'left']
74
+ };
75
+ }
76
+ if (trimmedValue.includes(' ') && trimmedValue.split(' ').length > 1) {
77
+ var sides = trimmedValue.split(' ');
78
+ if (sides.length > 4) {
79
+ // eslint-disable-next-line no-console
80
+ console.warn("\n Hyphen Components: It seems you've passed an incorrect\n shorthand value as a prop in your component. The value\n has more than four string components. While it will not break anything,\n please double-check your prop values to ensure the expected result is correct.\n attribute: \"" + attribute + "\"\n value: \"" + value + "\"\n ");
81
+ }
82
+ var trimmedSides = sides.slice(0, 4);
83
+ // br = border radius -- the corner logic is different than sides.
84
+ if (attribute === 'br') {
85
+ trimmedSides.forEach(function (v, index) {
86
+ classes.push(attribute + "-" + shorthand[trimmedSides.length][index] + "-" + v);
87
+ if (trimmedSides.length === 3 && index === 1) {
88
+ classes.push(attribute + "-bottom-left-" + trimmedSides[index]);
89
+ } else if (trimmedSides.length === 2 && index === 0) {
90
+ classes.push(attribute + "-bottom-right-" + trimmedSides[index]);
91
+ } else if (trimmedSides.length === 2 && index === 1) {
92
+ classes.push(attribute + "-bottom-left-" + trimmedSides[index]);
93
+ }
94
+ });
95
+ } else if (attribute === 'g') {
96
+ trimmedSides.forEach(function (v, index) {
97
+ classes.push(shorthand[trimmedSides.length][index] + "-" + v);
98
+ });
99
+ } else {
100
+ trimmedSides.forEach(function (v, index) {
101
+ classes.push(attribute + "-" + shorthand[trimmedSides.length][index] + "-" + v);
102
+ });
103
+ }
104
+ } else {
105
+ classes.push(attribute + "-" + trimmedValue);
106
+ }
107
+ return classes;
108
+ }
109
+ function cssShorthandToClasses(attribute, value) {
110
+ if (!isValidSpacingValue(value)) return [];
111
+ var classes = [];
112
+ if (typeof value === 'object') {
113
+ Object.keys(value).forEach(function (key) {
114
+ var baseClasses = generateBaseClasses(attribute, value[key]);
115
+ var responsiveClasses = baseClasses == null ? void 0 : baseClasses.map(function (baseClass) {
116
+ return key === 'base' ? baseClass : baseClass + "-" + key;
117
+ });
118
+ classes.push.apply(classes, responsiveClasses);
119
+ });
120
+ } else if (typeof value === 'string') {
121
+ classes.push.apply(classes, generateBaseClasses(attribute, value));
122
+ }
123
+ return classes;
124
+ }
125
+
126
+ // eslint-disable-next-line
127
+ function generateResponsiveClasses(classRoot,
128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
+ value) {
130
+ if (value === null || typeof value !== 'string' && typeof value !== 'object') return [];
131
+ var classes = [];
132
+ if (typeof value === 'object') {
133
+ Object.keys(value).forEach(function (key) {
134
+ var baseClass = classRoot + "-" + value[key];
135
+ var responsiveClass = key === 'base' ? baseClass : baseClass + "-" + key;
136
+ classes.push(responsiveClass);
137
+ });
138
+ } else if (typeof value === 'string') {
139
+ classes.push(classRoot + "-" + value);
140
+ }
141
+ return classes;
142
+ }
143
+
144
+ // eslint-disable-next-line import/prefer-default-export
145
+ function doesStringIncludeCssUnit(value) {
146
+ var cssUnits = ['px', 'em', 'rem', '%', 'vw', 'vh'];
147
+ return cssUnits.some(function (unit) {
148
+ return value == null ? void 0 : value.includes(unit);
149
+ });
150
+ }
151
+
152
+ function getDimensionStyles(dimension, value) {
153
+ if (value === undefined) return value;
154
+ var styles;
155
+ // value is a css unit so set its style property
156
+ if (typeof value === 'string' && doesStringIncludeCssUnit(value)) {
157
+ switch (dimension) {
158
+ case 'h':
159
+ styles = {
160
+ height: value
161
+ };
162
+ break;
163
+ case 'mw':
164
+ styles = {
165
+ maxWidth: value
166
+ };
167
+ break;
168
+ case 'mh':
169
+ styles = {
170
+ maxHeight: value
171
+ };
172
+ break;
173
+ case 'minw':
174
+ styles = {
175
+ minWidth: value
176
+ };
177
+ break;
178
+ case 'minh':
179
+ styles = {
180
+ minHeight: value
181
+ };
182
+ break;
183
+ default:
184
+ styles = {
185
+ width: value
186
+ };
187
+ }
188
+ }
189
+ return styles;
190
+ }
191
+ function getDimensionClasses(dimension, value) {
192
+ if (value === undefined) return value;
193
+ var classes = [];
194
+ if (typeof value === 'string' && !doesStringIncludeCssUnit(value) || typeof value === 'object' && Object.values(value).every(function (v) {
195
+ return !doesStringIncludeCssUnit(v);
196
+ })) {
197
+ classes.push.apply(classes, generateResponsiveClasses(dimension, value));
198
+ }
199
+ return classes;
200
+ }
201
+ /**
202
+ * Returns an object of styles and class names that correspond with the given value
203
+ * @param {CssDimensionAbbreviation} dimension width or height
204
+ * @param {string} [value] value of the dimension
205
+ */
206
+ function getDimensionCss(dimension, value) {
207
+ return {
208
+ styles: getDimensionStyles(dimension, value),
209
+ classes: getDimensionClasses(dimension, value)
210
+ };
211
+ }
212
+
213
+ /**
214
+ * Returns a createElement() type based on the props of the Component.
215
+ * Useful for calculating what type a component should render as.
216
+ *
217
+ * @param {function} Component A function or ReactClass.
218
+ * @param {object} props A ReactElement props object
219
+ * @param {function} [getDefault] A function that returns a default element type.
220
+ * @returns {string} A ReactElement type
221
+ */
222
+ function getElementType(
223
+ // eslint-disable-line import/prefer-default-export
224
+ Component, props, getDefault) {
225
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
226
+ // @ts-ignore
227
+ var _Component$defaultPro = Component.defaultProps,
228
+ defaultProps = _Component$defaultPro === void 0 ? {} : _Component$defaultPro;
229
+ // ----------------------------------------
230
+ // user defined "as" element type
231
+ if (props.as && props.as !== defaultProps.as) return props.as;
232
+ // ----------------------------------------
233
+ // computed default element type
234
+ if (getDefault) {
235
+ var computedDefault = getDefault();
236
+ if (computedDefault) return computedDefault;
237
+ }
238
+ // ----------------------------------------
239
+ // infer anchor links
240
+ if (props.href) return 'a';
241
+ // ----------------------------------------
242
+ // use defaultProp or 'div'
243
+ return defaultProps.as || 'div';
244
+ }
245
+
246
+ var styles$v = {"box-transition":"Box-module_box-transition__eQx8C"};
247
+
248
+ var _excluded$I = ["as", "alignItems", "alignContent", "alignSelf", "background", "borderColor", "borderWidth", "children", "childGap", "className", "color", "columnGap", "cursor", "display", "direction", "flex", "fontFamily", "fontSize", "focus", "fontWeight", "gap", "height", "hover", "justifyContent", "margin", "maxHeight", "minHeight", "maxWidth", "minWidth", "overflow", "padding", "position", "radius", "rowGap", "shadow", "style", "textAlign", "wrap", "width", "zIndex"];
249
+ /**
250
+ * A `<Box>` is a layout component to build UIs with consistent padding and spacing between
251
+ * elements.
252
+ */
253
+ var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
254
+ var _ref3;
255
+ var _ref$as = _ref.as,
256
+ as = _ref$as === void 0 ? 'div' : _ref$as,
257
+ _ref$alignItems = _ref.alignItems,
258
+ alignItems = _ref$alignItems === void 0 ? undefined : _ref$alignItems,
259
+ _ref$alignContent = _ref.alignContent,
260
+ alignContent = _ref$alignContent === void 0 ? undefined : _ref$alignContent,
261
+ _ref$alignSelf = _ref.alignSelf,
262
+ alignSelf = _ref$alignSelf === void 0 ? undefined : _ref$alignSelf,
263
+ _ref$background = _ref.background,
264
+ background = _ref$background === void 0 ? undefined : _ref$background,
265
+ _ref$borderColor = _ref.borderColor,
266
+ borderColor = _ref$borderColor === void 0 ? undefined : _ref$borderColor,
267
+ _ref$borderWidth = _ref.borderWidth,
268
+ borderWidth = _ref$borderWidth === void 0 ? undefined : _ref$borderWidth,
269
+ _ref$children = _ref.children,
270
+ children = _ref$children === void 0 ? undefined : _ref$children,
271
+ _ref$childGap = _ref.childGap,
272
+ childGap = _ref$childGap === void 0 ? undefined : _ref$childGap,
273
+ _ref$className = _ref.className,
274
+ className = _ref$className === void 0 ? '' : _ref$className,
275
+ _ref$color = _ref.color,
276
+ color = _ref$color === void 0 ? undefined : _ref$color,
277
+ _ref$columnGap = _ref.columnGap,
278
+ columnGap = _ref$columnGap === void 0 ? undefined : _ref$columnGap,
279
+ _ref$cursor = _ref.cursor,
280
+ cursor = _ref$cursor === void 0 ? undefined : _ref$cursor,
281
+ _ref$display = _ref.display,
282
+ display = _ref$display === void 0 ? 'flex' : _ref$display,
283
+ _ref$direction = _ref.direction,
284
+ direction = _ref$direction === void 0 ? 'column' : _ref$direction,
285
+ _ref$flex = _ref.flex,
286
+ flex = _ref$flex === void 0 ? undefined : _ref$flex,
287
+ _ref$fontFamily = _ref.fontFamily,
288
+ fontFamily = _ref$fontFamily === void 0 ? undefined : _ref$fontFamily,
289
+ _ref$fontSize = _ref.fontSize,
290
+ fontSize = _ref$fontSize === void 0 ? 'inherit' : _ref$fontSize,
291
+ _ref$focus = _ref.focus,
292
+ focus = _ref$focus === void 0 ? undefined : _ref$focus,
293
+ _ref$fontWeight = _ref.fontWeight,
294
+ fontWeight = _ref$fontWeight === void 0 ? undefined : _ref$fontWeight,
295
+ _ref$gap = _ref.gap,
296
+ gap = _ref$gap === void 0 ? undefined : _ref$gap,
297
+ _ref$height = _ref.height,
298
+ height = _ref$height === void 0 ? undefined : _ref$height,
299
+ _ref$hover = _ref.hover,
300
+ hover = _ref$hover === void 0 ? undefined : _ref$hover,
301
+ _ref$justifyContent = _ref.justifyContent,
302
+ justifyContent = _ref$justifyContent === void 0 ? undefined : _ref$justifyContent,
303
+ _ref$margin = _ref.margin,
304
+ margin = _ref$margin === void 0 ? undefined : _ref$margin,
305
+ _ref$maxHeight = _ref.maxHeight,
306
+ maxHeight = _ref$maxHeight === void 0 ? undefined : _ref$maxHeight,
307
+ _ref$minHeight = _ref.minHeight,
308
+ minHeight = _ref$minHeight === void 0 ? undefined : _ref$minHeight,
309
+ _ref$maxWidth = _ref.maxWidth,
310
+ maxWidth = _ref$maxWidth === void 0 ? undefined : _ref$maxWidth,
311
+ _ref$minWidth = _ref.minWidth,
312
+ minWidth = _ref$minWidth === void 0 ? undefined : _ref$minWidth,
313
+ _ref$overflow = _ref.overflow,
314
+ overflow = _ref$overflow === void 0 ? undefined : _ref$overflow,
315
+ _ref$padding = _ref.padding,
316
+ padding = _ref$padding === void 0 ? undefined : _ref$padding,
317
+ _ref$position = _ref.position,
318
+ position = _ref$position === void 0 ? undefined : _ref$position,
319
+ _ref$radius = _ref.radius,
320
+ radius = _ref$radius === void 0 ? undefined : _ref$radius,
321
+ _ref$rowGap = _ref.rowGap,
322
+ rowGap = _ref$rowGap === void 0 ? undefined : _ref$rowGap,
323
+ _ref$shadow = _ref.shadow,
324
+ shadow = _ref$shadow === void 0 ? undefined : _ref$shadow,
325
+ _ref$style = _ref.style,
326
+ style = _ref$style === void 0 ? {} : _ref$style,
327
+ _ref$textAlign = _ref.textAlign,
328
+ textAlign = _ref$textAlign === void 0 ? undefined : _ref$textAlign,
329
+ _ref$wrap = _ref.wrap,
330
+ wrap = _ref$wrap === void 0 ? undefined : _ref$wrap,
331
+ _ref$width = _ref.width,
332
+ width = _ref$width === void 0 ? undefined : _ref$width,
333
+ _ref$zIndex = _ref.zIndex,
334
+ zIndex = _ref$zIndex === void 0 ? undefined : _ref$zIndex,
335
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$I);
336
+ var heightCss = getDimensionCss('h', height);
337
+ var widthCss = getDimensionCss('w', width);
338
+ var maxHeightCss = getDimensionCss('mh', maxHeight);
339
+ var maxWidthCss = getDimensionCss('mw', maxWidth);
340
+ var minHeightCss = getDimensionCss('minh', minHeight);
341
+ var minWidthCss = getDimensionCss('minw', minWidth);
342
+ var isFlexBox = typeof display === 'string' && display.includes('flex');
343
+ var flexDirectionClasses = isFlexBox ? generateResponsiveClasses('flex-direction', direction) : null;
344
+ var cssPropertyMap = {
345
+ color: {
346
+ classPrefix: 'font-color',
347
+ transformer: generateResponsiveClasses
348
+ },
349
+ background: {
350
+ classPrefix: 'background-color',
351
+ transformer: generateResponsiveClasses
352
+ },
353
+ borderColor: {
354
+ classPrefix: 'border-color',
355
+ transformer: generateResponsiveClasses
356
+ },
357
+ borderWidth: {
358
+ classPrefix: 'border-width',
359
+ transformer: cssShorthandToClasses
360
+ },
361
+ shadow: {
362
+ classPrefix: 'shadow',
363
+ transformer: generateResponsiveClasses
364
+ },
365
+ fontSize: {
366
+ classPrefix: 'font-size',
367
+ transformer: generateResponsiveClasses
368
+ }
369
+ };
370
+ var getStatefulClasses = function getStatefulClasses(stateKey, values) {
371
+ return values // eslint-disable-line
372
+ ? Object.entries(values).map(function (_ref2) {
373
+ var key = _ref2[0],
374
+ value = _ref2[1];
375
+ return cssPropertyMap[key].transformer(stateKey + ":" + cssPropertyMap[key].classPrefix, value);
376
+ } // eslint-disable-line max-len
377
+ ) : undefined;
378
+ };
379
+ var hoverClasses = getStatefulClasses('hover', hover);
380
+ var focusClasses = getStatefulClasses('focus', focus);
381
+ var boxClasses = classNames.apply(void 0, [className, cssShorthandToClasses('m', margin), cssShorthandToClasses('p', padding), cssShorthandToClasses('br', radius), cssShorthandToClasses('g', gap), cssShorthandToClasses('cg', columnGap), cssShorthandToClasses('rg', rowGap), heightCss.classes, maxHeightCss.classes, minHeightCss.classes, maxWidthCss.classes, minWidthCss.classes, widthCss.classes, flexDirectionClasses, generateResponsiveClasses('display', display), generateResponsiveClasses('justify-content', justifyContent), generateResponsiveClasses('align-items', alignItems), generateResponsiveClasses('align-content', alignContent), generateResponsiveClasses('align-self', alignSelf), generateResponsiveClasses('font-family', fontFamily), generateResponsiveClasses('font-size', fontSize), generateResponsiveClasses('overflow', overflow), generateResponsiveClasses('shadow', shadow), generateResponsiveClasses('flex', flex), cssShorthandToClasses('bw', borderWidth), generateResponsiveClasses('font-weight', fontWeight), generateResponsiveClasses('text-align', textAlign), generateResponsiveClasses('position', position), generateResponsiveClasses('z-index', zIndex)].concat(hoverClasses != null ? hoverClasses : [], focusClasses != null ? focusClasses : [], [(_ref3 = {
382
+ 'flex-wrap': isFlexBox && wrap,
383
+ 'flex-nowrap': isFlexBox && wrap === false
384
+ }, _ref3["background-color-" + background] = background, _ref3["font-color-" + color] = color, _ref3["border-color-" + borderColor] = borderColor, _ref3["cursor-" + cursor] = cursor, _ref3[styles$v['box-transition']] = hover || focus, _ref3)]));
385
+ var boxStyles = _extends({}, style, heightCss.styles, maxHeightCss.styles, maxWidthCss.styles, widthCss.styles, minHeightCss.styles, minWidthCss.styles);
386
+ /**
387
+ * Creates an object that maps the flex direction to either `right` or `bottom`
388
+ * so a margin can be applied to that side.
389
+ */
390
+ var generateChildGapDirection = function generateChildGapDirection() {
391
+ var childGapDirection = {};
392
+ var getChildGapMarginDirection = function getChildGapMarginDirection(d) {
393
+ var marginDirection = '';
394
+ if (d != null && d.includes('row')) marginDirection = 'right';else if (d != null && d.includes('column')) marginDirection = 'bottom';
395
+ return marginDirection;
396
+ };
397
+ if (typeof direction === 'string') {
398
+ childGapDirection = {
399
+ base: getChildGapMarginDirection(direction)
400
+ };
401
+ } else if (typeof direction === 'object' && direction !== null) {
402
+ childGapDirection = Object.keys(direction).reduce(function (acc, curr) {
403
+ var _extends2;
404
+ return _extends({}, acc, (_extends2 = {}, _extends2[curr] = getChildGapMarginDirection(direction[curr]), _extends2));
405
+ }, {});
406
+ }
407
+ return childGapDirection;
408
+ };
409
+ /**
410
+ * Shapes the childGap prop into a ResponsiveSpacing object
411
+ * so that we can cross-reference values between direction and childGap values to generate
412
+ * responsive classes.
413
+ */
414
+ var generateChildGap = function generateChildGap() {
415
+ var childGapObj = {};
416
+ if (typeof childGap === 'string') {
417
+ childGapObj = {
418
+ base: childGap
419
+ };
420
+ } else if (typeof childGap === 'object' && childGap !== null) {
421
+ childGapObj = _extends({}, childGap);
422
+ }
423
+ return childGapObj;
424
+ };
425
+ var childGapClasses = [];
426
+ if (childGap && direction) {
427
+ var childGapDirection = generateChildGapDirection();
428
+ var childGapValues = generateChildGap();
429
+ var breakpoints = ['hd', 'desktop', 'tablet', 'base'];
430
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
431
+ var findMatchingBreakpoint = function findMatchingBreakpoint(responsiveObj, key) {
432
+ var index = breakpoints.findIndex(function (breakpoint) {
433
+ return breakpoint === key;
434
+ });
435
+ var value = '';
436
+ value = responsiveObj[key];
437
+ if (!value) return findMatchingBreakpoint(responsiveObj, breakpoints[index + 1]);
438
+ return value;
439
+ };
440
+ breakpoints.forEach(function (breakpoint) {
441
+ var foundDirection = findMatchingBreakpoint(childGapDirection, breakpoint);
442
+ var foundChildGap = findMatchingBreakpoint(childGapValues, breakpoint);
443
+ var classSuffix = breakpoint === 'base' ? '' : "-" + breakpoint;
444
+ var oppositeDirection = foundDirection === 'bottom' ? 'right' : 'bottom';
445
+ childGapClasses.push("m-" + foundDirection + "-" + foundChildGap + classSuffix);
446
+ childGapClasses.push("m-" + oppositeDirection + "-0" + classSuffix);
447
+ });
448
+ }
449
+ /**
450
+ * Shallow merges existing classes of child node with a className based on the childGap value.
451
+ */
452
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
453
+ var decorateChildren = function decorateChildren(child, i, array) {
454
+ var _child$key;
455
+ if (i === array.length - 1 || !child || typeof child === 'string' || typeof child === 'number') {
456
+ return child; // Not gap if child is last element or if the children are strings or numbers.
457
+ }
458
+ var childClasses = classNames(child.props.className, [].concat(Array.from(new Set(childGapClasses))));
459
+ return React.cloneElement(child, {
460
+ className: childClasses,
461
+ key: (_child$key = child.key) != null ? _child$key : i
462
+ });
463
+ };
464
+ var decoratedChildren = React.Children.toArray(children).filter(function (child) {
465
+ return child !== null;
466
+ });
467
+ if (childGapClasses && decoratedChildren.length > 1) {
468
+ decoratedChildren = decoratedChildren.map(function (value, index, array) {
469
+ return decorateChildren(value,
470
+ // eslint-disable-line @typescript-eslint/no-explicit-any
471
+ index, array // eslint-disable-line @typescript-eslint/no-explicit-any
472
+ );
473
+ });
474
+ }
475
+ var element = getElementType(Box, {
476
+ as: as
477
+ });
478
+ return React.createElement(element, _extends({
479
+ className: boxClasses,
480
+ style: boxStyles,
481
+ ref: ref
482
+ }, restProps), children !== null && children !== undefined ? decoratedChildren : null);
483
+ });
484
+ var boxPropsKeys = ['as', 'alignItems', 'alignContent', 'alignSelf', 'background', 'borderColor', 'borderWidth', 'className', 'childGap', 'children', 'color', 'columnGap', 'cursor', 'direction', 'display', 'flex', 'focus', 'fontFamily', 'fontSize', 'fontWeight', 'gap', 'height', 'hover', 'justifyContent', 'margin', 'maxHeight', 'minHeight', 'maxWidth', 'minWidth', 'overflow', 'padding', 'position', 'radius', 'rowGap', 'shadow', 'style', 'textAlign', 'wrap', 'width', 'zIndex'];
485
+
486
+ var _excluded$H = ["className", "name", "color", "size"];
487
+ var Icon = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
488
+ var _ref$className = _ref.className,
489
+ className = _ref$className === void 0 ? undefined : _ref$className,
490
+ name = _ref.name,
491
+ color = _ref.color,
492
+ size = _ref.size,
493
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$H);
494
+ var IconComponent = icons[name];
495
+ if (!IconComponent) console.error("Icon '" + name + "' not found"); // eslint-disable-line no-console
496
+ var iconClasses = classNames(className, generateResponsiveClasses('font-color', color), generateResponsiveClasses('font-size', size));
497
+ return IconComponent ? React.createElement(IconComponent, _extends({
498
+ className: iconClasses || null,
499
+ ref: ref,
500
+ "data-testid": "icon-testid--" + name
501
+ }, restProps)) : React.createElement(Box, {
502
+ fontWeight: "bold",
503
+ background: "error",
504
+ color: "white",
505
+ padding: "2xs",
506
+ fontSize: "sm",
507
+ display: "inline"
508
+ }, "???");
509
+ });
510
+
511
+ var styles$u = {"alert":"Alert-module_alert__zP4AL","close-icon":"Alert-module_close-icon__zs4Xk","alert-heading":"Alert-module_alert-heading__VguTk","alert__default":"Alert-module_alert__default__-pcBw","alert__info":"Alert-module_alert__info__UZeOd","alert__success":"Alert-module_alert__success__o2IHF","alert__warning":"Alert-module_alert__warning__lzTY-","alert__danger":"Alert-module_alert__danger__M-XFh","alert__icon__default":"Alert-module_alert__icon__default__cCx9C","alert__icon__info":"Alert-module_alert__icon__info__2W0Bi","alert__icon__success":"Alert-module_alert__icon__success__NBCDO","alert__icon__warning":"Alert-module_alert__icon__warning__nY4hy","alert__icon__danger":"Alert-module_alert__icon__danger__NcOrf"};
512
+
513
+ // eslint-disable-next-line import/prefer-default-export
514
+ var ALERT_ICONS_MAP = {
515
+ "default": {
516
+ icon: 'c-warning'
517
+ },
518
+ info: {
519
+ icon: 'c-info'
520
+ },
521
+ success: {
522
+ icon: 'c-check'
523
+ },
524
+ warning: {
525
+ icon: 't-warning'
526
+ },
527
+ danger: {
528
+ icon: 'c-remove'
529
+ }
530
+ };
531
+
532
+ var _excluded$G = ["className", "closeText", "hasIcon", "isCompact", "isClosable", "message", "onClose", "render", "title", "variant"];
533
+ var Alert = function Alert(_ref) {
534
+ var _ref$className = _ref.className,
535
+ className = _ref$className === void 0 ? '' : _ref$className,
536
+ _ref$closeText = _ref.closeText,
537
+ closeText = _ref$closeText === void 0 ? '' : _ref$closeText,
538
+ _ref$hasIcon = _ref.hasIcon,
539
+ hasIcon = _ref$hasIcon === void 0 ? false : _ref$hasIcon,
540
+ _ref$isCompact = _ref.isCompact,
541
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
542
+ _ref$isClosable = _ref.isClosable,
543
+ isClosable = _ref$isClosable === void 0 ? false : _ref$isClosable,
544
+ _ref$message = _ref.message,
545
+ message = _ref$message === void 0 ? '' : _ref$message,
546
+ _ref$onClose = _ref.onClose,
547
+ onClose = _ref$onClose === void 0 ? undefined : _ref$onClose,
548
+ _ref$render = _ref.render,
549
+ render = _ref$render === void 0 ? undefined : _ref$render,
550
+ _ref$title = _ref.title,
551
+ title = _ref$title === void 0 ? '' : _ref$title,
552
+ _ref$variant = _ref.variant,
553
+ variant = _ref$variant === void 0 ? 'default' : _ref$variant,
554
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$G);
555
+ var handleClose = function handleClose(event) {
556
+ if (!onClose) return;
557
+ onClose(event);
558
+ };
559
+ var renderAlertIcon = function renderAlertIcon() {
560
+ return React.createElement(Box, {
561
+ fontSize: "md",
562
+ className: styles$u["alert__icon__" + variant]
563
+ }, React.createElement(Icon, {
564
+ name: ALERT_ICONS_MAP[variant].icon,
565
+ "data-testid": "alert-icon-" + variant + "-test-id"
566
+ }));
567
+ };
568
+ var renderCloseIcon = function renderCloseIcon() {
569
+ var handleCloseKeyPress = function handleCloseKeyPress(event) {
570
+ if (event.keyCode === 13) handleClose(event);
571
+ };
572
+ return React.createElement(Box, {
573
+ margin: "0 0 0 auto",
574
+ color: "secondary",
575
+ className: styles$u['close-icon']
576
+ }, React.createElement("button", {
577
+ type: "button",
578
+ onClick: handleClose,
579
+ onKeyUp: handleCloseKeyPress
580
+ }, closeText || React.createElement(Icon, {
581
+ name: "remove",
582
+ "data-testid": "alert-close-icon-test-id"
583
+ })));
584
+ };
585
+ var alertContainerClasses = classNames(styles$u["alert__" + variant], styles$u.alert, className);
586
+ return React.createElement(Box, _extends({
587
+ alignItems: "flex-start",
588
+ gap: "md",
589
+ className: alertContainerClasses,
590
+ direction: "row",
591
+ padding: isCompact ? 'xs' : 'md',
592
+ radius: "md",
593
+ role: "alert",
594
+ fontSize: "sm"
595
+ }, restProps), hasIcon && renderAlertIcon(), React.createElement("div", null, render ? render() : React.createElement(Box, {
596
+ display: "block",
597
+ childGap: message && title ? '2xs' : undefined
598
+ }, title && React.createElement(Box, {
599
+ as: "h4",
600
+ fontSize: "sm",
601
+ fontWeight: "semibold",
602
+ className: styles$u['alert-heading']
603
+ }, title), message && (typeof message === 'string' ? React.createElement("p", null, message) : message))), isClosable && renderCloseIcon());
604
+ };
605
+
606
+ var styles$t = {"badge":"Badge-module_badge__ZbEBU","size-sm":"Badge-module_size-sm__rL8a6","size-md":"Badge-module_size-md__kf6IH","size-lg":"Badge-module_size-lg__of6XJ","inverse":"Badge-module_inverse__qZCFA","purple":"Badge-module_purple__rX-xW","green":"Badge-module_green__W03uU","red":"Badge-module_red__fl2jg","blue":"Badge-module_blue__C7kyV","yellow":"Badge-module_yellow__gGZ6R","light-grey":"Badge-module_light-grey__Wtrhx","dark-grey":"Badge-module_dark-grey__X-807","hyphen":"Badge-module_hyphen__9pe7x","size-sm-tablet":"Badge-module_size-sm-tablet__6xMVk","size-md-tablet":"Badge-module_size-md-tablet__4w-7I","size-lg-tablet":"Badge-module_size-lg-tablet__8xyRF","size-sm-desktop":"Badge-module_size-sm-desktop__Ayf5L","size-md-desktop":"Badge-module_size-md-desktop__XSq7m","size-lg-desktop":"Badge-module_size-lg-desktop__Baw3S","size-sm-hd":"Badge-module_size-sm-hd__Da6Au","size-md-hd":"Badge-module_size-md-hd__-VNMk","size-lg-hd":"Badge-module_size-lg-hd__6MOwL"};
607
+
608
+ var _excluded$F = ["className", "message", "variant", "size"];
609
+ var Badge = function Badge(_ref) {
610
+ var _classNames;
611
+ var _ref$className = _ref.className,
612
+ className = _ref$className === void 0 ? '' : _ref$className,
613
+ _ref$message = _ref.message,
614
+ message = _ref$message === void 0 ? '' : _ref$message,
615
+ _ref$variant = _ref.variant,
616
+ variant = _ref$variant === void 0 ? 'light-grey' : _ref$variant,
617
+ _ref$size = _ref.size,
618
+ size = _ref$size === void 0 ? 'md' : _ref$size,
619
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$F);
620
+ var responsiveClasses = generateResponsiveClasses('size', size).map(function (c) {
621
+ return styles$t[c];
622
+ });
623
+ var badgeClasses = classNames(styles$t.badge, className, responsiveClasses, (_classNames = {}, _classNames[styles$t[variant]] = variant, _classNames));
624
+ return React.createElement(Box, _extends({
625
+ className: badgeClasses,
626
+ display: "inline-block"
627
+ }, restProps), message);
628
+ };
629
+
630
+ var styles$s = {"spinner":"Spinner-module_spinner__SZoUP","spin":"Spinner-module_spin__Yk0wm"};
631
+
632
+ var Spinner = function Spinner(_ref) {
633
+ var className = _ref.className,
634
+ _ref$size = _ref.size,
635
+ size = _ref$size === void 0 ? 'md' : _ref$size;
636
+ var classes = classNames(className, styles$s.spinner);
637
+ var sizeInPixels = function sizeInPixels() {
638
+ var pixels;
639
+ if (size === 'sm') pixels = '12';
640
+ if (size === 'md') pixels = '16';
641
+ if (size === 'lg') pixels = '24';
642
+ if (size === 'xl') pixels = '30';
643
+ return pixels;
644
+ };
645
+ return React.createElement("span", {
646
+ className: classes
647
+ }, React.createElement("svg", {
648
+ xmlns: "http://www.w3.org/2000/svg",
649
+ width: sizeInPixels(),
650
+ height: sizeInPixels(),
651
+ viewBox: "0 0 16 16",
652
+ "data-testid": "spinner-testid"
653
+ }, React.createElement("g", {
654
+ fill: "currentColor"
655
+ }, React.createElement("rect", {
656
+ fill: "currentColor",
657
+ height: "2",
658
+ rx: ".5",
659
+ width: "4",
660
+ x: "12",
661
+ y: "7"
662
+ }), React.createElement("rect", {
663
+ fill: "currentColor",
664
+ height: "4.001",
665
+ rx: ".5",
666
+ width: "1.999",
667
+ opacity: ".4",
668
+ x: "11.243",
669
+ y: "10.242",
670
+ transform: "rotate(-44.975 12.243 12.243)"
671
+ }), React.createElement("rect", {
672
+ fill: "currentColor",
673
+ height: "4",
674
+ rx: ".5",
675
+ width: "2",
676
+ opacity: ".4",
677
+ x: "7",
678
+ y: "12"
679
+ }), React.createElement("rect", {
680
+ fill: "currentColor",
681
+ height: "1.999",
682
+ rx: ".5",
683
+ width: "4.001",
684
+ opacity: ".4",
685
+ x: "1.757",
686
+ y: "11.243",
687
+ transform: "rotate(-45.03 3.757 12.242)"
688
+ }), React.createElement("rect", {
689
+ fill: "currentColor",
690
+ height: "2",
691
+ rx: ".5",
692
+ width: "4",
693
+ opacity: ".4",
694
+ y: "7"
695
+ }), React.createElement("rect", {
696
+ fill: "currentColor",
697
+ height: "4.001",
698
+ rx: ".5",
699
+ width: "1.999",
700
+ opacity: ".4",
701
+ x: "2.758",
702
+ y: "1.757",
703
+ transform: "rotate(-44.975 3.757 3.757)"
704
+ }), React.createElement("rect", {
705
+ fill: "currentColor",
706
+ height: "4",
707
+ rx: ".5",
708
+ width: "2",
709
+ opacity: ".6",
710
+ x: "7"
711
+ }), React.createElement("rect", {
712
+ fill: "currentColor",
713
+ height: "1.999",
714
+ rx: ".5",
715
+ width: "4.001",
716
+ opacity: ".8",
717
+ x: "10.242",
718
+ y: "2.758",
719
+ transform: "rotate(-45.03 12.242 3.757)"
720
+ }))));
721
+ };
722
+
723
+ var isModifiedEvent = function isModifiedEvent(e) {
724
+ return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
725
+ };
726
+ /**
727
+ * Due to react-router's handling of custom components used in RR <Link>
728
+ * we must add this validation that ensures the router will execute the passed `navigate`
729
+ * prop, thus navigating the user without triggering a refresh.
730
+ *
731
+ * SOURCES:
732
+ * https://github.com/ReactTraining/react-router/issues/7727
733
+ * https://github.com/ReactTraining/react-router/issues/7761
734
+ * */
735
+ // eslint-disable-next-line import/prefer-default-export
736
+ var handleReactRouterClick = function handleReactRouterClick(event, onClick, target, navigate) {
737
+ if (onClick) onClick(event);
738
+ if (!event.defaultPrevented &&
739
+ // onClick prevented default
740
+ event.button === 0 && (
741
+ // ignore everything but left clicks
742
+ !target || target === '_self') &&
743
+ // let browser handle "target=_blank" etc.
744
+ !isModifiedEvent(event) &&
745
+ // ignore clicks with modifier keys
746
+ navigate) {
747
+ event.preventDefault();
748
+ navigate();
749
+ }
750
+ };
751
+
752
+ var styles$r = {"button":"Button-module_button__18Bed","size-sm":"Button-module_size-sm__6Xrjw","size-md":"Button-module_size-md__BkuGu","size-lg":"Button-module_size-lg__JVYWV","primary":"Button-module_primary__st6yY","secondary":"Button-module_secondary__j-3rj","tertiary":"Button-module_tertiary__Nd7xM","danger":"Button-module_danger__Hxs5n","size-sm-tablet":"Button-module_size-sm-tablet__9XaSx","size-md-tablet":"Button-module_size-md-tablet__YQxaI","size-lg-tablet":"Button-module_size-lg-tablet__h3l97","size-sm-desktop":"Button-module_size-sm-desktop__8tTsg","size-md-desktop":"Button-module_size-md-desktop__OCdDi","size-lg-desktop":"Button-module_size-lg-desktop__uFc4f","size-sm-hd":"Button-module_size-sm-hd__INFfD","size-md-hd":"Button-module_size-md-hd__8e2mW","size-lg-hd":"Button-module_size-lg-hd__DH60l","loading":"Button-module_loading__QfItr","label":"Button-module_label__1PsXG","full-width":"Button-module_full-width__qDri6","spinner-wrapper":"Button-module_spinner-wrapper__rALNw"};
753
+
754
+ var _excluded$E = ["children", "as", "className", "fullWidth", "id", "href", "iconPrefix", "iconSuffix", "isDisabled", "isLoading", "navigate", "onClick", "onFocus", "onBlur", "tabIndex", "target", "type", "size", "variant"];
755
+ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
756
+ var _classNames;
757
+ var _ref$children = _ref.children,
758
+ children = _ref$children === void 0 ? undefined : _ref$children,
759
+ _ref$as = _ref.as,
760
+ as = _ref$as === void 0 ? 'button' : _ref$as,
761
+ _ref$className = _ref.className,
762
+ className = _ref$className === void 0 ? '' : _ref$className,
763
+ _ref$fullWidth = _ref.fullWidth,
764
+ fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
765
+ _ref$id = _ref.id,
766
+ id = _ref$id === void 0 ? undefined : _ref$id,
767
+ _ref$href = _ref.href,
768
+ href = _ref$href === void 0 ? undefined : _ref$href,
769
+ _ref$iconPrefix = _ref.iconPrefix,
770
+ iconPrefix = _ref$iconPrefix === void 0 ? undefined : _ref$iconPrefix,
771
+ _ref$iconSuffix = _ref.iconSuffix,
772
+ iconSuffix = _ref$iconSuffix === void 0 ? undefined : _ref$iconSuffix,
773
+ _ref$isDisabled = _ref.isDisabled,
774
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
775
+ _ref$isLoading = _ref.isLoading,
776
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
777
+ _ref$navigate = _ref.navigate,
778
+ navigate = _ref$navigate === void 0 ? undefined : _ref$navigate,
779
+ _ref$onClick = _ref.onClick,
780
+ _onClick = _ref$onClick === void 0 ? undefined : _ref$onClick,
781
+ _ref$onFocus = _ref.onFocus,
782
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
783
+ _ref$onBlur = _ref.onBlur,
784
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
785
+ _ref$tabIndex = _ref.tabIndex,
786
+ tabIndex = _ref$tabIndex === void 0 ? undefined : _ref$tabIndex,
787
+ _ref$target = _ref.target,
788
+ target = _ref$target === void 0 ? undefined : _ref$target,
789
+ _ref$type = _ref.type,
790
+ type = _ref$type === void 0 ? undefined : _ref$type,
791
+ _ref$size = _ref.size,
792
+ size = _ref$size === void 0 ? 'md' : _ref$size,
793
+ _ref$variant = _ref.variant,
794
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
795
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$E);
796
+ var disabled = isLoading || isDisabled;
797
+ var responsiveClasses = generateResponsiveClasses('size', size).map(function (c) {
798
+ return styles$r[c];
799
+ });
800
+ var buttonClasses = classNames('hyphen-components__variables__form-control', styles$r.button, className, responsiveClasses, (_classNames = {}, _classNames[styles$r.loading] = isLoading, _classNames[styles$r[variant]] = variant, _classNames[styles$r['full-width']] = fullWidth, _classNames));
801
+ var handleClick = handleReactRouterClick;
802
+ var handleFocus = function handleFocus(event) {
803
+ if (onFocus) onFocus(event);
804
+ };
805
+ var handleBlur = function handleBlur(event) {
806
+ if (onBlur) onBlur(event);
807
+ };
808
+ var buttonContent = iconPrefix || iconSuffix ? React.createElement(Box, {
809
+ display: "inline-flex",
810
+ direction: "row",
811
+ alignItems: "center",
812
+ gap: "xs"
813
+ }, isLoading && React.createElement(Spinner, {
814
+ className: styles$r['spinner-wrapper']
815
+ }), iconPrefix && React.createElement(Icon, {
816
+ className: styles$r.label,
817
+ name: iconPrefix,
818
+ "aria-hidden": "true",
819
+ focusable: "false",
820
+ "data-testid": "prefixIcon",
821
+ size: size === 'md' ? 'sm' : size
822
+ }), children && React.createElement("span", {
823
+ className: styles$r.label
824
+ }, children), iconSuffix && React.createElement(Icon, {
825
+ className: styles$r.label,
826
+ name: iconSuffix,
827
+ "aria-hidden": "true",
828
+ focusable: "false",
829
+ "data-testid": "suffixIcon",
830
+ size: size === 'md' ? 'sm' : size
831
+ })) : React.createElement(React.Fragment, null, isLoading && React.createElement(Spinner, {
832
+ className: styles$r['spinner-wrapper']
833
+ }), function () {
834
+ if (children) {
835
+ return React.createElement("span", {
836
+ className: styles$r.label
837
+ }, children);
838
+ }
839
+ return null;
840
+ }());
841
+ var buttonElement = getElementType(Button, {
842
+ as: as
843
+ });
844
+ return React.createElement(buttonElement, _extends({
845
+ id: id,
846
+ href: href,
847
+ className: buttonClasses,
848
+ disabled: disabled,
849
+ target: as === 'a' && href ? target : null,
850
+ onBlur: handleBlur,
851
+ onClick: function onClick(event) {
852
+ return handleClick(event, _onClick, target, navigate);
853
+ },
854
+ onFocus: handleFocus,
855
+ ref: ref,
856
+ type: type || (as !== 'a' && !href ? 'button' : undefined),
857
+ tabIndex: tabIndex
858
+ }, restProps), buttonContent);
859
+ });
860
+
861
+ var _excluded$D = ["background", "borderColor", "borderWidth", "children", "display", "padding"];
862
+ var CardFooter = function CardFooter(_ref) {
863
+ var _ref$background = _ref.background,
864
+ background = _ref$background === void 0 ? 'secondary' : _ref$background,
865
+ _ref$borderColor = _ref.borderColor,
866
+ borderColor = _ref$borderColor === void 0 ? 'subtle' : _ref$borderColor,
867
+ _ref$borderWidth = _ref.borderWidth,
868
+ borderWidth = _ref$borderWidth === void 0 ? 'xs 0 0 0' : _ref$borderWidth,
869
+ _ref$children = _ref.children,
870
+ children = _ref$children === void 0 ? null : _ref$children,
871
+ _ref$display = _ref.display,
872
+ display = _ref$display === void 0 ? 'block' : _ref$display,
873
+ _ref$padding = _ref.padding,
874
+ padding = _ref$padding === void 0 ? '2xl' : _ref$padding,
875
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$D);
876
+ return React.createElement(Box, _extends({
877
+ display: display,
878
+ padding: padding,
879
+ background: background,
880
+ borderColor: borderColor,
881
+ borderWidth: borderWidth
882
+ }, restProps), children);
883
+ };
884
+
885
+ var HEADING_DEFAULT_SIZE_MAP = {
886
+ h1: '3xl',
887
+ h2: '2xl',
888
+ h3: 'xl',
889
+ h4: 'lg',
890
+ h5: 'md',
891
+ h6: 'sm'
892
+ };
893
+
894
+ var styles$q = {"heading":"Heading-module_heading__zKyv7"};
895
+
896
+ var _excluded$C = ["as", "children", "className", "color", "size"];
897
+ var Heading = function Heading(_ref) {
898
+ var _classNames;
899
+ var _ref$as = _ref.as,
900
+ as = _ref$as === void 0 ? 'h4' : _ref$as,
901
+ children = _ref.children,
902
+ className = _ref.className,
903
+ color = _ref.color,
904
+ size = _ref.size,
905
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$C);
906
+ var element = getElementType(Heading, {
907
+ as: as
908
+ });
909
+ var headingSize = size || HEADING_DEFAULT_SIZE_MAP[as];
910
+ var classes = classNames(styles$q.heading, className, generateResponsiveClasses('heading', headingSize), (_classNames = {}, _classNames["font-color-" + color] = color, _classNames));
911
+ return React.createElement(element, _extends({
912
+ className: classes
913
+ }, restProps), children);
914
+ };
915
+
916
+ var _excluded$B = ["childGap", "children", "className", "display", "padding", "title"];
917
+ var CardHeader = function CardHeader(_ref) {
918
+ var _ref$childGap = _ref.childGap,
919
+ childGap = _ref$childGap === void 0 ? '2xs' : _ref$childGap,
920
+ _ref$children = _ref.children,
921
+ children = _ref$children === void 0 ? null : _ref$children,
922
+ _ref$className = _ref.className,
923
+ className = _ref$className === void 0 ? undefined : _ref$className,
924
+ _ref$display = _ref.display,
925
+ display = _ref$display === void 0 ? 'block' : _ref$display,
926
+ _ref$padding = _ref.padding,
927
+ padding = _ref$padding === void 0 ? '2xl' : _ref$padding,
928
+ _ref$title = _ref.title,
929
+ title = _ref$title === void 0 ? null : _ref$title,
930
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$B);
931
+ var renderTitle = function renderTitle() {
932
+ return typeof title === 'string' ? React.createElement(Heading, {
933
+ size: "sm",
934
+ as: "h4"
935
+ }, title) : title;
936
+ };
937
+ return React.createElement(Box, _extends({
938
+ childGap: childGap,
939
+ display: display,
940
+ padding: padding,
941
+ className: className
942
+ }, restProps), title && renderTitle(), children);
943
+ };
944
+
945
+ var styles$p = {"card-section-border":"Card-module_card-section-border__OefDX"};
946
+
947
+ var _excluded$A = ["background", "borderColor", "borderWidth", "children", "childGap", "gap", "className", "display", "padding", "subdued", "title"];
948
+ var CardSection = function CardSection(_ref) {
949
+ var _classNames;
950
+ var _ref$background = _ref.background,
951
+ background = _ref$background === void 0 ? undefined : _ref$background,
952
+ _ref$borderColor = _ref.borderColor,
953
+ borderColor = _ref$borderColor === void 0 ? undefined : _ref$borderColor,
954
+ _ref$borderWidth = _ref.borderWidth,
955
+ borderWidth = _ref$borderWidth === void 0 ? undefined : _ref$borderWidth,
956
+ _ref$children = _ref.children,
957
+ children = _ref$children === void 0 ? null : _ref$children,
958
+ _ref$childGap = _ref.childGap,
959
+ childGap = _ref$childGap === void 0 ? undefined : _ref$childGap,
960
+ _ref$gap = _ref.gap,
961
+ gap = _ref$gap === void 0 ? undefined : _ref$gap,
962
+ _ref$className = _ref.className,
963
+ className = _ref$className === void 0 ? undefined : _ref$className,
964
+ _ref$display = _ref.display,
965
+ display = _ref$display === void 0 ? 'block' : _ref$display,
966
+ _ref$padding = _ref.padding,
967
+ padding = _ref$padding === void 0 ? '2xl' : _ref$padding,
968
+ _ref$subdued = _ref.subdued,
969
+ subdued = _ref$subdued === void 0 ? undefined : _ref$subdued,
970
+ _ref$title = _ref.title,
971
+ title = _ref$title === void 0 ? undefined : _ref$title,
972
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$A);
973
+ var renderTitle = typeof title === 'string' ? React.createElement(Box, {
974
+ className: "m-bottom-md"
975
+ }, React.createElement(Box, {
976
+ as: "h4",
977
+ fontWeight: "bold",
978
+ fontSize: "sm",
979
+ color: "base"
980
+ }, title)) : title;
981
+ var sectionClasses = classNames((_classNames = {}, _classNames[styles$p['card-section-border']] = borderColor === undefined && borderWidth === undefined, _classNames[styles$p['card-subdued']] = subdued, _classNames), className);
982
+ return React.createElement(Box, _extends({
983
+ background: background,
984
+ borderColor: borderColor,
985
+ borderWidth: borderWidth,
986
+ className: sectionClasses,
987
+ display: display,
988
+ padding: padding
989
+ }, restProps), renderTitle, React.createElement(Box, {
990
+ gap: gap,
991
+ childGap: childGap
992
+ }, children));
993
+ };
994
+
995
+ var _excluded$z = ["children", "subdued", "overflow", "display", "width"];
996
+ var CardBaseComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
997
+ var children = _ref.children,
998
+ subdued = _ref.subdued,
999
+ _ref$overflow = _ref.overflow,
1000
+ overflow = _ref$overflow === void 0 ? 'hidden' : _ref$overflow,
1001
+ _ref$display = _ref.display,
1002
+ display = _ref$display === void 0 ? 'block' : _ref$display,
1003
+ _ref$width = _ref.width,
1004
+ width = _ref$width === void 0 ? '100' : _ref$width,
1005
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$z);
1006
+ return React.createElement(Box, _extends({
1007
+ background: subdued ? 'secondary' : 'primary',
1008
+ borderWidth: "sm",
1009
+ borderColor: "subtle",
1010
+ overflow: overflow,
1011
+ display: display,
1012
+ ref: ref,
1013
+ shadow: "2xs",
1014
+ width: width,
1015
+ radius: "lg"
1016
+ }, restProps), children);
1017
+ });
1018
+ // Actual component is wrapped in an IIFE for the export
1019
+ // To allow tree-shaking even with static properties (subcomponents in this case).
1020
+ var Card = /*#__PURE__*/function () {
1021
+ var Card = CardBaseComponent; // eslint-disable-line no-shadow
1022
+ Card.Header = CardHeader;
1023
+ Card.Section = CardSection;
1024
+ Card.Footer = CardFooter;
1025
+ return Card;
1026
+ }();
1027
+
1028
+ var _excluded$y = ["className", "error", "isChecked", "isDisabled", "isIndeterminate"];
1029
+ var CheckboxIcon = function CheckboxIcon(_ref) {
1030
+ var _ref$className = _ref.className,
1031
+ className = _ref$className === void 0 ? undefined : _ref$className,
1032
+ _ref$error = _ref.error,
1033
+ error = _ref$error === void 0 ? null : _ref$error,
1034
+ _ref$isChecked = _ref.isChecked,
1035
+ isChecked = _ref$isChecked === void 0 ? false : _ref$isChecked,
1036
+ _ref$isDisabled = _ref.isDisabled,
1037
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
1038
+ _ref$isIndeterminate = _ref.isIndeterminate,
1039
+ isIndeterminate = _ref$isIndeterminate === void 0 ? false : _ref$isIndeterminate,
1040
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$y);
1041
+ var color = 'base';
1042
+ var name = 'checkbox-btn';
1043
+ if (isChecked) name = 'checkbox-btn-checked';else name = 'checkbox-btn';
1044
+ if (isIndeterminate) name = 'checkbox-btn-indeterminate';
1045
+ if (isChecked && isDisabled) {
1046
+ color = 'disabled';
1047
+ } else if (isChecked && !isDisabled) {
1048
+ color = 'base';
1049
+ } else if (isDisabled) {
1050
+ color = 'disabled';
1051
+ }
1052
+ if (error) color = 'danger';
1053
+ if (isDisabled && error) color = 'danger-disabled';
1054
+ return React.createElement(Box, _extends({
1055
+ className: className,
1056
+ display: "inline-block",
1057
+ color: color
1058
+ }, restProps), React.createElement(Icon, {
1059
+ name: name
1060
+ }));
1061
+ };
1062
+
1063
+ var styles$o = {"checkbox":"Checkbox-module_checkbox__dY-7P","size-sm":"Checkbox-module_size-sm__mJkMQ","size-md":"Checkbox-module_size-md__I2s8g","size-lg":"Checkbox-module_size-lg__rFFnb","hidden":"Checkbox-module_hidden__2y7Zr","size-sm-tablet":"Checkbox-module_size-sm-tablet__GhQUW","size-md-tablet":"Checkbox-module_size-md-tablet__XRHf4","size-lg-tablet":"Checkbox-module_size-lg-tablet__quoAJ","size-sm-desktop":"Checkbox-module_size-sm-desktop__fqeEc","size-md-desktop":"Checkbox-module_size-md-desktop__9a278","size-lg-desktop":"Checkbox-module_size-lg-desktop__WQnv0","size-sm-hd":"Checkbox-module_size-sm-hd__X3yIF","size-md-hd":"Checkbox-module_size-md-hd__6T0dF","size-lg-hd":"Checkbox-module_size-lg-hd__UXCt1"};
1064
+
1065
+ var _excluded$x = ["className", "display", "id", "isChecked", "label", "labelledby", "onChange", "error", "isDisabled", "isHidden", "isIndeterminate", "isRequired", "onBlur", "onFocus", "size", "value"];
1066
+ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1067
+ var _ref2;
1068
+ var _ref$className = _ref.className,
1069
+ className = _ref$className === void 0 ? '' : _ref$className,
1070
+ _ref$display = _ref.display,
1071
+ display = _ref$display === void 0 ? 'inline' : _ref$display,
1072
+ id = _ref.id,
1073
+ isChecked = _ref.isChecked,
1074
+ label = _ref.label,
1075
+ labelledby = _ref.labelledby,
1076
+ onChange = _ref.onChange,
1077
+ _ref$error = _ref.error,
1078
+ error = _ref$error === void 0 ? false : _ref$error,
1079
+ _ref$isDisabled = _ref.isDisabled,
1080
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
1081
+ _ref$isHidden = _ref.isHidden,
1082
+ isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
1083
+ _ref$isIndeterminate = _ref.isIndeterminate,
1084
+ isIndeterminate = _ref$isIndeterminate === void 0 ? false : _ref$isIndeterminate,
1085
+ _ref$isRequired = _ref.isRequired,
1086
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
1087
+ _ref$onBlur = _ref.onBlur,
1088
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
1089
+ _ref$onFocus = _ref.onFocus,
1090
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
1091
+ _ref$size = _ref.size,
1092
+ size = _ref$size === void 0 ? 'md' : _ref$size,
1093
+ _ref$value = _ref.value,
1094
+ value = _ref$value === void 0 ? undefined : _ref$value,
1095
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$x);
1096
+ var inputRef = React.useRef(null);
1097
+ React.useEffect(function () {
1098
+ if (inputRef != null && inputRef.current) {
1099
+ inputRef.current.indeterminate = isIndeterminate;
1100
+ }
1101
+ }, [isIndeterminate]);
1102
+ var handleBlur = function handleBlur(event) {
1103
+ if (onBlur) onBlur(event);
1104
+ };
1105
+ var handleChange = function handleChange(event) {
1106
+ onChange(event);
1107
+ };
1108
+ var handleFocus = function handleFocus(event) {
1109
+ if (onFocus) onFocus(event);
1110
+ };
1111
+ var inputProps = _extends({
1112
+ 'aria-invalid': !!error,
1113
+ 'aria-label': label,
1114
+ 'aria-labelledby': labelledby,
1115
+ 'aria-required': isRequired,
1116
+ id: id,
1117
+ checked: !!isChecked,
1118
+ disabled: isDisabled,
1119
+ onBlur: handleBlur,
1120
+ onChange: handleChange,
1121
+ onFocus: handleFocus,
1122
+ required: isRequired,
1123
+ type: 'checkbox',
1124
+ ref: inputRef
1125
+ }, value && {
1126
+ value: value
1127
+ });
1128
+ var responsiveClasses = generateResponsiveClasses('size', size);
1129
+ var containerClasses = classNames.apply(void 0, [styles$o.checkbox, className].concat(responsiveClasses.map(function (c) {
1130
+ return styles$o[c];
1131
+ }), [(_ref2 = {}, _ref2[styles$o.hidden] = isHidden, _ref2)]));
1132
+ var iconClasses = classNames.apply(void 0, responsiveClasses.map(function (c) {
1133
+ return styles$o[c];
1134
+ }));
1135
+ return React.createElement(Box, _extends({
1136
+ display: display,
1137
+ ref: ref,
1138
+ style: {
1139
+ position: 'relative'
1140
+ },
1141
+ className: containerClasses
1142
+ }, restProps), React.createElement("input", _extends({}, inputProps, {
1143
+ style: {
1144
+ position: 'absolute',
1145
+ opacity: '0'
1146
+ }
1147
+ })), !isHidden && React.createElement(CheckboxIcon, {
1148
+ isChecked: isChecked,
1149
+ isDisabled: isDisabled,
1150
+ isIndeterminate: isIndeterminate,
1151
+ className: iconClasses,
1152
+ error: error
1153
+ }));
1154
+ });
1155
+
1156
+ var styles$n = {"input-validation-message":"InputValidationMessage-module_input-validation-message__4MMMK"};
1157
+
1158
+ var InputValidationMessage = function InputValidationMessage(_ref) {
1159
+ var children = _ref.children,
1160
+ _ref$size = _ref.size,
1161
+ size = _ref$size === void 0 ? 'sm' : _ref$size;
1162
+ var classes = classNames('hyphen-components__variables__form-control', styles$n['input-validation-message'], 'font-color-danger', "font-size-" + size, 'm-top-xs');
1163
+ return React.createElement("div", {
1164
+ className: classes
1165
+ }, children);
1166
+ };
1167
+
1168
+ var styles$m = {"label":"FormLabel-module_label__qTUB9","radio-input-label":"FormLabel-module_radio-input-label__IpAiN","disabled":"FormLabel-module_disabled__83oiH","help-text":"FormLabel-module_help-text__KmHu7"};
1169
+
1170
+ var _excluded$w = ["children", "inputId", "className", "display", "helpText", "isDisabled", "isFieldRequired", "isRadioInputLabel", "requiredIndicator", "margin", "padding"];
1171
+ var FormLabel = function FormLabel(_ref) {
1172
+ var _classNames;
1173
+ var children = _ref.children,
1174
+ inputId = _ref.inputId,
1175
+ _ref$className = _ref.className,
1176
+ className = _ref$className === void 0 ? '' : _ref$className,
1177
+ _ref$display = _ref.display,
1178
+ display = _ref$display === void 0 ? 'block' : _ref$display,
1179
+ helpText = _ref.helpText,
1180
+ _ref$isDisabled = _ref.isDisabled,
1181
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
1182
+ _ref$isFieldRequired = _ref.isFieldRequired,
1183
+ isFieldRequired = _ref$isFieldRequired === void 0 ? false : _ref$isFieldRequired,
1184
+ _ref$isRadioInputLabe = _ref.isRadioInputLabel,
1185
+ isRadioInputLabel = _ref$isRadioInputLabe === void 0 ? false : _ref$isRadioInputLabe,
1186
+ _ref$requiredIndicato = _ref.requiredIndicator,
1187
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
1188
+ _ref$margin = _ref.margin,
1189
+ margin = _ref$margin === void 0 ? '0' : _ref$margin,
1190
+ _ref$padding = _ref.padding,
1191
+ padding = _ref$padding === void 0 ? '0' : _ref$padding,
1192
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$w);
1193
+ var labelClasses = classNames('hyphen-components__variables__form-control', styles$m.label, className, (_classNames = {}, _classNames[styles$m.disabled] = isDisabled, _classNames[styles$m.disabled] = isDisabled, _classNames[styles$m['radio-input-label']] = isRadioInputLabel, _classNames));
1194
+ return React.createElement(Box, _extends({
1195
+ as: "label",
1196
+ id: inputId + "Label",
1197
+ className: labelClasses,
1198
+ display: display,
1199
+ margin: margin,
1200
+ padding: padding,
1201
+ htmlFor: inputId
1202
+ }, restProps), children, isFieldRequired && requiredIndicator && React.createElement("span", null, requiredIndicator), helpText && React.createElement(Box, {
1203
+ as: "p",
1204
+ display: "block",
1205
+ fontSize: "sm",
1206
+ color: "secondary",
1207
+ className: styles$m['help-text']
1208
+ }, helpText));
1209
+ };
1210
+
1211
+ var _excluded$v = ["id", "isChecked", "label", "onChange", "className", "error", "hideLabel", "helpText", "isDisabled", "isIndeterminate", "isRequired", "onBlur", "onFocus", "requiredIndicator", "size"];
1212
+ var labelMarginSizeMap = {
1213
+ sm: '2xs 0 0 0',
1214
+ md: 'xs 0 0 0',
1215
+ lg: 'sm 0 0 0'
1216
+ };
1217
+ var computedResponsiveSize = function computedResponsiveSize(
1218
+ // eslint-disable-line @typescript-eslint/explicit-module-boundary-types
1219
+ size) {
1220
+ if (size && !(typeof size === 'string') && typeof size === 'object') {
1221
+ return Object.entries(size).reduce(function (acc, _ref) {
1222
+ var _extends2;
1223
+ var key = _ref[0],
1224
+ value = _ref[1];
1225
+ return _extends({}, acc, (_extends2 = {}, _extends2[key] = labelMarginSizeMap[value || 'md'], _extends2));
1226
+ }, {});
1227
+ }
1228
+ return labelMarginSizeMap[size || 'md'];
1229
+ };
1230
+ var CheckboxInput = function CheckboxInput(_ref2) {
1231
+ var id = _ref2.id,
1232
+ isChecked = _ref2.isChecked,
1233
+ label = _ref2.label,
1234
+ onChange = _ref2.onChange,
1235
+ _ref2$className = _ref2.className,
1236
+ className = _ref2$className === void 0 ? '' : _ref2$className,
1237
+ _ref2$error = _ref2.error,
1238
+ error = _ref2$error === void 0 ? false : _ref2$error,
1239
+ _ref2$hideLabel = _ref2.hideLabel,
1240
+ hideLabel = _ref2$hideLabel === void 0 ? false : _ref2$hideLabel,
1241
+ helpText = _ref2.helpText,
1242
+ _ref2$isDisabled = _ref2.isDisabled,
1243
+ isDisabled = _ref2$isDisabled === void 0 ? false : _ref2$isDisabled,
1244
+ _ref2$isIndeterminate = _ref2.isIndeterminate,
1245
+ isIndeterminate = _ref2$isIndeterminate === void 0 ? false : _ref2$isIndeterminate,
1246
+ _ref2$isRequired = _ref2.isRequired,
1247
+ isRequired = _ref2$isRequired === void 0 ? false : _ref2$isRequired,
1248
+ _ref2$onBlur = _ref2.onBlur,
1249
+ onBlur = _ref2$onBlur === void 0 ? undefined : _ref2$onBlur,
1250
+ _ref2$onFocus = _ref2.onFocus,
1251
+ onFocus = _ref2$onFocus === void 0 ? undefined : _ref2$onFocus,
1252
+ _ref2$requiredIndicat = _ref2.requiredIndicator,
1253
+ requiredIndicator = _ref2$requiredIndicat === void 0 ? ' *' : _ref2$requiredIndicat,
1254
+ _ref2$size = _ref2.size,
1255
+ size = _ref2$size === void 0 ? 'md' : _ref2$size,
1256
+ restProps = _objectWithoutPropertiesLoose(_ref2, _excluded$v);
1257
+ var handleBlur = function handleBlur(event) {
1258
+ if (onBlur) onBlur(event);
1259
+ };
1260
+ var handleChange = function handleChange(event) {
1261
+ onChange(event);
1262
+ };
1263
+ var handleFocus = function handleFocus(event) {
1264
+ if (onFocus) onFocus(event);
1265
+ };
1266
+ var checkboxProps = {
1267
+ id: id,
1268
+ isChecked: !!isChecked,
1269
+ isDisabled: isDisabled,
1270
+ isIndeterminate: isIndeterminate,
1271
+ onBlur: handleBlur,
1272
+ onChange: handleChange,
1273
+ onFocus: handleFocus,
1274
+ isRequired: isRequired,
1275
+ size: size,
1276
+ label: label,
1277
+ className: classNames('hyphen-components__variables__form-control', 'm-right-md'),
1278
+ error: error
1279
+ };
1280
+ var labelProps = {
1281
+ inputId: id,
1282
+ helpText: helpText,
1283
+ isDisabled: isDisabled,
1284
+ isFieldRequired: isRequired,
1285
+ requiredIndicator: requiredIndicator,
1286
+ className: classNames.apply(void 0, cssShorthandToClasses('m', computedResponsiveSize(size)))
1287
+ };
1288
+ return React.createElement(Box, _extends({
1289
+ className: className
1290
+ }, restProps), React.createElement(Box, {
1291
+ alignItems: "flex-start",
1292
+ direction: "row"
1293
+ }, React.createElement(Checkbox, _extends({}, checkboxProps, {
1294
+ labelledby: id + "Label"
1295
+ })), label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label)), error && error !== true && React.createElement(InputValidationMessage, null, error));
1296
+ };
1297
+
1298
+ var styles$l = {};
1299
+
1300
+ var _excluded$u = ["children", "dayClassName", "maxDate", "minDate", "monthsShown", "openToDate", "startDate", "selected", "selectsRange", "showTwoColumnMonthYearPicker", "showFullMonthYearPicker", "showMonthYearPicker", "className", "formatWeekDay"];
1301
+ var DatePicker = function DatePicker(_ref) {
1302
+ var _ref$children = _ref.children,
1303
+ children = _ref$children === void 0 ? null : _ref$children,
1304
+ _ref$dayClassName = _ref.dayClassName,
1305
+ dayClassName = _ref$dayClassName === void 0 ? undefined : _ref$dayClassName,
1306
+ _ref$maxDate = _ref.maxDate,
1307
+ maxDate = _ref$maxDate === void 0 ? undefined : _ref$maxDate,
1308
+ _ref$minDate = _ref.minDate,
1309
+ minDate = _ref$minDate === void 0 ? undefined : _ref$minDate,
1310
+ _ref$monthsShown = _ref.monthsShown,
1311
+ monthsShown = _ref$monthsShown === void 0 ? undefined : _ref$monthsShown,
1312
+ _ref$openToDate = _ref.openToDate,
1313
+ openToDate = _ref$openToDate === void 0 ? undefined : _ref$openToDate,
1314
+ _ref$startDate = _ref.startDate,
1315
+ startDate = _ref$startDate === void 0 ? undefined : _ref$startDate,
1316
+ _ref$selected = _ref.selected,
1317
+ selected = _ref$selected === void 0 ? undefined : _ref$selected,
1318
+ _ref$selectsRange = _ref.selectsRange,
1319
+ selectsRange = _ref$selectsRange === void 0 ? undefined : _ref$selectsRange,
1320
+ _ref$showTwoColumnMon = _ref.showTwoColumnMonthYearPicker,
1321
+ showTwoColumnMonthYearPicker = _ref$showTwoColumnMon === void 0 ? false : _ref$showTwoColumnMon,
1322
+ _ref$showFullMonthYea = _ref.showFullMonthYearPicker,
1323
+ showFullMonthYearPicker = _ref$showFullMonthYea === void 0 ? false : _ref$showFullMonthYea,
1324
+ _ref$showMonthYearPic = _ref.showMonthYearPicker,
1325
+ showMonthYearPicker = _ref$showMonthYearPic === void 0 ? false : _ref$showMonthYearPic,
1326
+ _ref$className = _ref.className,
1327
+ className = _ref$className === void 0 ? undefined : _ref$className,
1328
+ _ref$formatWeekDay = _ref.formatWeekDay,
1329
+ formatWeekDay = _ref$formatWeekDay === void 0 ? function (formattedDate) {
1330
+ return formattedDate[0];
1331
+ } : _ref$formatWeekDay,
1332
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$u);
1333
+ var datePickerClasses = classNames(styles$l['react-datepicker'], className);
1334
+ return React.createElement(ReactDatePicker, _extends({
1335
+ inline: true,
1336
+ calendarClassName: datePickerClasses,
1337
+ formatWeekDay: formatWeekDay,
1338
+ maxDate: maxDate,
1339
+ minDate: minDate,
1340
+ monthsShown: monthsShown,
1341
+ openToDate: openToDate,
1342
+ selected: selected,
1343
+ startDate: startDate,
1344
+ selectsRange: selectsRange,
1345
+ showTwoColumnMonthYearPicker: showTwoColumnMonthYearPicker,
1346
+ showFullMonthYearPicker: showFullMonthYearPicker,
1347
+ showMonthYearPicker: showMonthYearPicker,
1348
+ dayClassName: dayClassName
1349
+ }, restProps), children);
1350
+ };
1351
+
1352
+ var _excluded$t = ["label", "hideLabel", "children", "error", "id", "isRequired", "helpText", "isDisabled", "requiredIndicator", "width"];
1353
+ var FormControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1354
+ var label = _ref.label,
1355
+ hideLabel = _ref.hideLabel,
1356
+ children = _ref.children,
1357
+ error = _ref.error,
1358
+ id = _ref.id,
1359
+ isRequired = _ref.isRequired,
1360
+ helpText = _ref.helpText,
1361
+ isDisabled = _ref.isDisabled,
1362
+ requiredIndicator = _ref.requiredIndicator,
1363
+ _ref$width = _ref.width,
1364
+ width = _ref$width === void 0 ? '100' : _ref$width,
1365
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$t);
1366
+ var labelProps = {
1367
+ inputId: id,
1368
+ helpText: helpText,
1369
+ margin: '0 0 xs 0',
1370
+ isDisabled: isDisabled,
1371
+ isFieldRequired: isRequired,
1372
+ requiredIndicator: requiredIndicator
1373
+ };
1374
+ return React.createElement(Box, _extends({
1375
+ width: width,
1376
+ ref: ref
1377
+ }, restProps), label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label), children, error && error !== true && React.createElement(InputValidationMessage, null, error));
1378
+ });
1379
+
1380
+ // eslint-disable-next-line import/prefer-default-export
1381
+ function getAutoCompleteValue(value) {
1382
+ if (!value || typeof value !== 'boolean' && typeof value !== 'string') {
1383
+ return 'off';
1384
+ }
1385
+ if (typeof value === 'boolean' && value) {
1386
+ return 'on';
1387
+ }
1388
+ return value;
1389
+ }
1390
+
1391
+ var styles$k = {"text-input-wrapper":"TextInput-module_text-input-wrapper__HCnQD","size-sm":"TextInput-module_size-sm__qWJn7","prefix":"TextInput-module_prefix__-wFO9","suffix":"TextInput-module_suffix__327yL","clear-button":"TextInput-module_clear-button__LUJpO","is-clearable":"TextInput-module_is-clearable__ExAY3","size-md":"TextInput-module_size-md__UFPtt","size-lg":"TextInput-module_size-lg__Hjfez","disabled":"TextInput-module_disabled__lrifj","size-sm-tablet":"TextInput-module_size-sm-tablet__neC5C","size-md-tablet":"TextInput-module_size-md-tablet__u29oc","size-lg-tablet":"TextInput-module_size-lg-tablet__3PUB3","size-sm-desktop":"TextInput-module_size-sm-desktop__kA12V","size-md-desktop":"TextInput-module_size-md-desktop__yLJGr","size-lg-desktop":"TextInput-module_size-lg-desktop__A1pcS","size-sm-hd":"TextInput-module_size-sm-hd__f7Thr","size-md-hd":"TextInput-module_size-md-hd__Tsnqc","size-lg-hd":"TextInput-module_size-lg-hd__XLMos","error":"TextInput-module_error__p6zZq","text-input-label":"TextInput-module_text-input-label__3PlSG"};
1392
+
1393
+ var _excluded$s = ["id", "label", "onChange", "value", "autoComplete", "autoFocus", "error", "helpText", "hideLabel", "inputProps", "isDisabled", "isRequired", "maxLength", "name", "onBlur", "onClear", "onFocus", "prefix", "placeholder", "requiredIndicator", "suffix", "size", "type"];
1394
+ var TextInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1395
+ var _ref2;
1396
+ var id = _ref.id,
1397
+ label = _ref.label,
1398
+ onChange = _ref.onChange,
1399
+ value = _ref.value,
1400
+ _ref$autoComplete = _ref.autoComplete,
1401
+ autoComplete = _ref$autoComplete === void 0 ? false : _ref$autoComplete,
1402
+ _ref$autoFocus = _ref.autoFocus,
1403
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
1404
+ _ref$error = _ref.error,
1405
+ error = _ref$error === void 0 ? false : _ref$error,
1406
+ helpText = _ref.helpText,
1407
+ _ref$hideLabel = _ref.hideLabel,
1408
+ hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
1409
+ _ref$inputProps = _ref.inputProps,
1410
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
1411
+ _ref$isDisabled = _ref.isDisabled,
1412
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
1413
+ _ref$isRequired = _ref.isRequired,
1414
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
1415
+ _ref$maxLength = _ref.maxLength,
1416
+ maxLength = _ref$maxLength === void 0 ? undefined : _ref$maxLength,
1417
+ _ref$name = _ref.name,
1418
+ name = _ref$name === void 0 ? '' : _ref$name,
1419
+ _ref$onBlur = _ref.onBlur,
1420
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
1421
+ _ref$onClear = _ref.onClear,
1422
+ onClear = _ref$onClear === void 0 ? undefined : _ref$onClear,
1423
+ _ref$onFocus = _ref.onFocus,
1424
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
1425
+ _ref$prefix = _ref.prefix,
1426
+ prefix = _ref$prefix === void 0 ? undefined : _ref$prefix,
1427
+ _ref$placeholder = _ref.placeholder,
1428
+ placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
1429
+ _ref$requiredIndicato = _ref.requiredIndicator,
1430
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
1431
+ _ref$suffix = _ref.suffix,
1432
+ suffix = _ref$suffix === void 0 ? undefined : _ref$suffix,
1433
+ _ref$size = _ref.size,
1434
+ size = _ref$size === void 0 ? 'md' : _ref$size,
1435
+ _ref$type = _ref.type,
1436
+ type = _ref$type === void 0 ? 'text' : _ref$type,
1437
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$s);
1438
+ var responsiveClasses = generateResponsiveClasses('size', size);
1439
+ var inputWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$k['text-input-wrapper']].concat(responsiveClasses.map(function (c) {
1440
+ return styles$k[c];
1441
+ }), [(_ref2 = {}, _ref2[styles$k.error] = error, _ref2[styles$k.disabled] = isDisabled, _ref2[styles$k['is-clearable']] = onClear, _ref2)]));
1442
+ var clearBtnClasses = classNames(styles$k['clear-button'], styles$k.md);
1443
+ var renderClearIcon = function renderClearIcon() {
1444
+ var handleKeyPress = function handleKeyPress(event) {
1445
+ if (event.keyCode === 13 && onClear) onClear(event);
1446
+ };
1447
+ return React.createElement("button", {
1448
+ type: "button",
1449
+ onClick: onClear,
1450
+ onKeyUp: handleKeyPress,
1451
+ className: clearBtnClasses,
1452
+ "data-testid": "text-input-clear-button",
1453
+ "aria-label": "clear input"
1454
+ }, React.createElement(Icon, {
1455
+ name: "remove",
1456
+ className: "display-block"
1457
+ }));
1458
+ };
1459
+ var computedInputProps = _extends({}, inputProps, {
1460
+ // These are spread first so that we don't have top level props overwritten by the user.
1461
+ 'aria-required': isRequired,
1462
+ 'aria-invalid': !!error,
1463
+ 'aria-label': label,
1464
+ 'aria-labelledby': label && !hideLabel ? id + "Label" : undefined,
1465
+ autoComplete: getAutoCompleteValue(autoComplete),
1466
+ autoFocus: autoFocus,
1467
+ disabled: isDisabled,
1468
+ id: id,
1469
+ maxLength: maxLength,
1470
+ name: name,
1471
+ onBlur: onBlur,
1472
+ onChange: onChange,
1473
+ onFocus: onFocus,
1474
+ placeholder: placeholder,
1475
+ required: isRequired,
1476
+ type: type,
1477
+ value: value,
1478
+ className: classNames(inputProps.className, {
1479
+ // 'p-left-xs p-left-xs-tablet p-left-xs-desktop p-left-xs-hd': prefix,
1480
+ // 'p-right-xs p-right-xs-tablet p-right-xs-desktop p-right-xs-hd': suffix,
1481
+ 'p-h-0': !suffix && !prefix
1482
+ })
1483
+ });
1484
+ return React.createElement(FormControl, _extends({
1485
+ helpText: helpText,
1486
+ error: error,
1487
+ label: label,
1488
+ id: id,
1489
+ hideLabel: hideLabel,
1490
+ isDisabled: isDisabled,
1491
+ isRequired: isRequired,
1492
+ requiredIndicator: requiredIndicator,
1493
+ ref: ref
1494
+ }, restProps), React.createElement(Box, {
1495
+ direction: "row",
1496
+ overflow: "hidden",
1497
+ className: inputWrapperClasses
1498
+ }, prefix && React.createElement(Box, {
1499
+ color: "secondary",
1500
+ background: "secondary",
1501
+ className: classNames(styles$k.prefix, 'ws-nowrap')
1502
+ }, prefix), React.createElement(Box, _extends({
1503
+ as: "input"
1504
+ }, computedInputProps)), !!onClear && !!value && renderClearIcon(), suffix && React.createElement(Box, {
1505
+ color: "secondary",
1506
+ background: "secondary",
1507
+ className: classNames(styles$k.suffix, 'ws-nowrap')
1508
+ }, suffix)));
1509
+ });
1510
+
1511
+ var styles$j = {"popover":"Popover-module_popover__rvS3X","fadeIn":"Popover-module_fadeIn__0btE5","popover-arrow":"Popover-module_popover-arrow__SLtPW"};
1512
+
1513
+ // eslint-disable-next-line import/prefer-default-export
1514
+ var getColumnKeys = function getColumnKeys(columns) {
1515
+ var INTERNAL_KEY_PREFIX = 'columnKeyPrefix';
1516
+ var columnKeys = [];
1517
+ var keys = {};
1518
+ columns.forEach(function (column) {
1519
+ var _ref = column || {},
1520
+ key = _ref.key,
1521
+ dataKey = _ref.dataKey;
1522
+ var shapedDataKey = dataKey != null && dataKey.includes(' ') ? dataKey.split(' ').join('-') : dataKey;
1523
+ var mergedKey = key || shapedDataKey || INTERNAL_KEY_PREFIX;
1524
+ while (keys[mergedKey]) {
1525
+ mergedKey = mergedKey + "_next";
1526
+ }
1527
+ keys[mergedKey] = true;
1528
+ columnKeys.push(mergedKey);
1529
+ });
1530
+ return columnKeys;
1531
+ };
1532
+
1533
+ var isFunction = function isFunction(
1534
+ // eslint-disable-line import/prefer-default-export
1535
+ valOrFunction) {
1536
+ return typeof valOrFunction === 'function';
1537
+ };
1538
+
1539
+ function mergeRefs(refs) {
1540
+ return function (value) {
1541
+ refs.forEach(function (ref) {
1542
+ if (typeof ref === 'function') {
1543
+ ref(value);
1544
+ } else if (ref != null) {
1545
+ ref.current = value;
1546
+ }
1547
+ });
1548
+ };
1549
+ }
1550
+
1551
+ var prefersReducedMotion = /*#__PURE__*/function () {
1552
+ // eslint-disable-line import/prefer-default-export
1553
+ var shouldReduceMotion;
1554
+ return function () {
1555
+ if (shouldReduceMotion === undefined) {
1556
+ var _window;
1557
+ var mediaQuery = (_window = window) == null ? void 0 : _window.matchMedia('(prefers-reduced-motion: reduce)');
1558
+ shouldReduceMotion = !mediaQuery || mediaQuery.matches;
1559
+ }
1560
+ return shouldReduceMotion;
1561
+ };
1562
+ }();
1563
+
1564
+ var resolveValue = function resolveValue(
1565
+ // eslint-disable-line import/prefer-default-export
1566
+ valOrFunction, arg) {
1567
+ return isFunction(valOrFunction) ? valOrFunction(arg) : valOrFunction;
1568
+ };
1569
+
1570
+ // export const BREAKPOINT_VALUES = Object.values(designTokens.size.breakpoint);
1571
+ var BREAKPOINTS = /*#__PURE__*/[].concat(Object.entries(designTokens.size.breakpoint), [['base', {
1572
+ value: '0'
1573
+ }]]).map(function (_ref) {
1574
+ var name = _ref[0],
1575
+ data = _ref[1];
1576
+ if (typeof data === 'object' && data !== null && 'value' in data) {
1577
+ return {
1578
+ name: name,
1579
+ minWidth: parseInt(data['value'], 10)
1580
+ };
1581
+ }
1582
+ });
1583
+ var Z_INDEX_VALUES = designTokens.size['z-index'];
1584
+ // export const BOX_SHADOW_VALUES = designTokens.size['box-shadow'];
1585
+
1586
+ var _excluded$r = ["className", "isOpen", "children", "content", "arrowColor", "contentContainerProps", "hasArrow", "offsetFromTarget", "onClickOutside", "placement", "withPortal", "portalTarget", "trapFocus"];
1587
+ var contentContainerDefaults = {
1588
+ background: 'primary',
1589
+ padding: 'sm',
1590
+ radius: 'sm',
1591
+ shadow: 'md'
1592
+ };
1593
+ var Popover = function Popover(_ref) {
1594
+ var className = _ref.className,
1595
+ isOpen = _ref.isOpen,
1596
+ children = _ref.children,
1597
+ content = _ref.content,
1598
+ _ref$arrowColor = _ref.arrowColor,
1599
+ arrowColor = _ref$arrowColor === void 0 ? undefined : _ref$arrowColor,
1600
+ _ref$contentContainer = _ref.contentContainerProps,
1601
+ contentContainerProps = _ref$contentContainer === void 0 ? _extends({}, contentContainerDefaults) : _ref$contentContainer,
1602
+ _ref$hasArrow = _ref.hasArrow,
1603
+ hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
1604
+ _ref$offsetFromTarget = _ref.offsetFromTarget,
1605
+ offsetFromTarget = _ref$offsetFromTarget === void 0 ? 12 : _ref$offsetFromTarget,
1606
+ _ref$onClickOutside = _ref.onClickOutside,
1607
+ onClickOutside = _ref$onClickOutside === void 0 ? undefined : _ref$onClickOutside,
1608
+ _ref$placement = _ref.placement,
1609
+ placement = _ref$placement === void 0 ? 'right' : _ref$placement,
1610
+ _ref$withPortal = _ref.withPortal,
1611
+ withPortal = _ref$withPortal === void 0 ? false : _ref$withPortal,
1612
+ portalTarget = _ref.portalTarget,
1613
+ _ref$trapFocus = _ref.trapFocus,
1614
+ trapFocus = _ref$trapFocus === void 0 ? false : _ref$trapFocus,
1615
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$r);
1616
+ var triggerRef = React.useRef(null);
1617
+ var popperRef = React.useRef(null);
1618
+ var _useState = React.useState(null),
1619
+ arrowElement = _useState[0],
1620
+ setArrowElement = _useState[1];
1621
+ React.useEffect(function () {
1622
+ var handleClickOutside = function handleClickOutside(event) {
1623
+ var popover = popperRef.current;
1624
+ var trigger = triggerRef.current;
1625
+ if (!popover || !trigger) {
1626
+ return;
1627
+ }
1628
+ if (event.target === trigger || trigger != null && trigger.contains(event.target)) {
1629
+ return;
1630
+ }
1631
+ if (event.target !== popover && !(popover != null && popover.contains(event.target))) {
1632
+ if (onClickOutside) onClickOutside(event);
1633
+ }
1634
+ };
1635
+ var handleKeyUp = function handleKeyUp(event) {
1636
+ if (event.key === 'Escape') {
1637
+ if (onClickOutside) onClickOutside(event);
1638
+ }
1639
+ };
1640
+ if (onClickOutside) {
1641
+ document.body.addEventListener('click', handleClickOutside, false);
1642
+ document.body.addEventListener('keyup', handleKeyUp);
1643
+ }
1644
+ return function () {
1645
+ if (onClickOutside) {
1646
+ document.body.removeEventListener('click', handleClickOutside, false);
1647
+ document.body.removeEventListener('keyup', handleKeyUp);
1648
+ }
1649
+ };
1650
+ }, [onClickOutside]);
1651
+ var _usePopper = reactPopper.usePopper(triggerRef.current, popperRef.current, {
1652
+ placement: placement,
1653
+ modifiers: [{
1654
+ name: 'arrow',
1655
+ options: {
1656
+ element: arrowElement
1657
+ }
1658
+ }, {
1659
+ name: 'offset',
1660
+ options: {
1661
+ offset: [0, offsetFromTarget]
1662
+ }
1663
+ }]
1664
+ }),
1665
+ popperStyles = _usePopper.styles,
1666
+ attributes = _usePopper.attributes;
1667
+ var containerBoxProps = _extends({}, contentContainerDefaults, contentContainerProps);
1668
+ var computedArrowColor = arrowColor || containerBoxProps.background;
1669
+ var arrowClasses = classNames(styles$j['popover-arrow'], "background-color-" + computedArrowColor, {
1670
+ 'display-none': !hasArrow
1671
+ });
1672
+ var renderPopperContent = function renderPopperContent() {
1673
+ var renderPopperBox = function renderPopperBox() {
1674
+ return React.createElement(Box, _extends({
1675
+ ref: popperRef,
1676
+ className: classNames(styles$j.popover, className),
1677
+ style: popperStyles.popper,
1678
+ role: "dialog",
1679
+ "aria-label": "Popover",
1680
+ "aria-hidden": !isOpen
1681
+ }, containerBoxProps, attributes.popper, restProps), React.createElement("div", {
1682
+ ref: setArrowElement,
1683
+ style: popperStyles.arrow,
1684
+ className: arrowClasses,
1685
+ "data-popper-arrow": true
1686
+ }), content);
1687
+ };
1688
+ return trapFocus ? React.createElement(FocusTrap, {
1689
+ active: isOpen,
1690
+ focusTrapOptions: {
1691
+ clickOutsideDeactivates: true
1692
+ }
1693
+ }, renderPopperBox()) : renderPopperBox();
1694
+ };
1695
+ var childrenWithRef = React.Children.map(children, function (child) {
1696
+ var childProps = {
1697
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1698
+ ref: triggerRef,
1699
+ role: 'button',
1700
+ 'aria-expanded': isOpen,
1701
+ 'aria-haspopup': true
1702
+ };
1703
+ // Merge local ref with any ref passed originally to child component.
1704
+ // We have to cast with `as` so TS compiler doesn't complain since ReactNode/ReactChild types don't
1705
+ // explicitly declare ref as a property in the object.
1706
+ if (child != null && child.ref) {
1707
+ // eslint-disable-line @typescript-eslint/no-explicit-any
1708
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1709
+ childProps.ref = mergeRefs([child == null ? void 0 : child.ref, childProps.ref]);
1710
+ }
1711
+ if (React.isValidElement(child)) {
1712
+ return React.cloneElement(child, childProps);
1713
+ }
1714
+ return child;
1715
+ });
1716
+ return React.createElement(React.Fragment, null, childrenWithRef, isOpen && (
1717
+ // portalTarget should always be defined if withPortal is true, but better safe than sorry here!
1718
+ withPortal && portalTarget ? reactDom.createPortal(renderPopperContent(), portalTarget) : renderPopperContent()));
1719
+ };
1720
+
1721
+ var _excluded$q = ["datePickerProps", "textInputProps", "dateFormat", "dateOptions", "popoverProps"];
1722
+ var defaultDatePickerProps = {
1723
+ selected: null,
1724
+ selectsRange: false
1725
+ };
1726
+ var defaultPopoverProps = {
1727
+ placement: 'bottom'
1728
+ };
1729
+ var defaultTextInputProps = {
1730
+ label: 'Select Date'
1731
+ };
1732
+ var DateInput = function DateInput(_ref) {
1733
+ var datePickerProps = _ref.datePickerProps,
1734
+ textInputProps = _ref.textInputProps,
1735
+ _ref$dateFormat = _ref.dateFormat,
1736
+ dateFormat = _ref$dateFormat === void 0 ? 'MM/dd/yyyy' : _ref$dateFormat,
1737
+ _ref$dateOptions = _ref.dateOptions,
1738
+ dateOptions = _ref$dateOptions === void 0 ? undefined : _ref$dateOptions,
1739
+ _ref$popoverProps = _ref.popoverProps,
1740
+ popoverProps = _ref$popoverProps === void 0 ? _extends({}, defaultPopoverProps) : _ref$popoverProps,
1741
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$q);
1742
+ var mergedDatePickerProps = _extends({}, defaultDatePickerProps, datePickerProps);
1743
+ var mergedPopoverProps = _extends({}, defaultPopoverProps, popoverProps);
1744
+ var mergedTextInputProps = _extends({}, defaultTextInputProps, textInputProps);
1745
+ var getTextInputValue = function getTextInputValue() {
1746
+ var selectsRange = mergedDatePickerProps.selectsRange,
1747
+ startDate = mergedDatePickerProps.startDate,
1748
+ endDate = mergedDatePickerProps.endDate,
1749
+ selected = mergedDatePickerProps.selected;
1750
+ var formattedStartDate = startDate ? format(startDate, dateFormat, dateOptions) : '';
1751
+ var formattedEndDate = endDate ? format(endDate, dateFormat, dateOptions) : '';
1752
+ var formattedSelectedDate = selected ? format(selected, dateFormat, dateOptions) : '';
1753
+ if (selectsRange) {
1754
+ return "" + formattedStartDate + (formattedStartDate || formattedEndDate ? ' - ' : '') + formattedEndDate;
1755
+ }
1756
+ return formattedSelectedDate;
1757
+ };
1758
+ var _useState = React.useState(false),
1759
+ isPopoverOpen = _useState[0],
1760
+ setPopoverOpen = _useState[1];
1761
+ var handleTogglePopover = function handleTogglePopover(newPopoverOpenState) {
1762
+ setPopoverOpen(newPopoverOpenState);
1763
+ };
1764
+ var handleDatePickerChange = function handleDatePickerChange(date, event // eslint-disable-line @typescript-eslint/no-explicit-any
1765
+ ) {
1766
+ mergedDatePickerProps.onChange(date, event);
1767
+ if (!mergedDatePickerProps.selectsRange && date) setPopoverOpen(false);
1768
+ };
1769
+ /**
1770
+ * This function is a one-off workaround to an edge case when detecting outside clicks.
1771
+ * in Popover.tsx, outside clicks are detected by seeing if the clicked element is a child
1772
+ * of the popover, which would mean it is NOT an outside click. However, when using min/max dates
1773
+ * in the Datepicker, the month navigation elements are removed from the DOM when the max/min date has been reached.
1774
+ * Because our outside click detector sees that the clicked element
1775
+ * is not a child of the popover (it doesn't exist in the DOM anymore)
1776
+ * It registers an outside click and closes the Popover.
1777
+ * With this code we specifically guard against closing the popover
1778
+ * if a user has clicked one of the month navigation arrows.
1779
+ * */
1780
+ var handleOnClickOutside = function handleOnClickOutside(event) {
1781
+ var target = event.target;
1782
+ if (target.className.includes('react-datepicker__navigation')) {
1783
+ return;
1784
+ }
1785
+ handleTogglePopover(false);
1786
+ };
1787
+ var renderDatePicker = function renderDatePicker() {
1788
+ return React.createElement(DatePicker, _extends({}, mergedDatePickerProps, {
1789
+ onChange: handleDatePickerChange,
1790
+ selected: mergedDatePickerProps.selected,
1791
+ selectsRange: mergedDatePickerProps.selectsRange
1792
+ }));
1793
+ };
1794
+ return React.createElement(Popover, _extends({}, mergedPopoverProps, {
1795
+ isOpen: isPopoverOpen,
1796
+ content: renderDatePicker(),
1797
+ withPortal: true,
1798
+ portalTarget: document.body,
1799
+ onClickOutside: handleOnClickOutside
1800
+ }), React.createElement(TextInput, _extends({}, mergedTextInputProps, {
1801
+ id: mergedTextInputProps.id,
1802
+ name: mergedTextInputProps.name,
1803
+ label: mergedTextInputProps.label,
1804
+ value: getTextInputValue(),
1805
+ onChange: function onChange() {
1806
+ return null;
1807
+ },
1808
+ onClick: function onClick() {
1809
+ return handleTogglePopover(true);
1810
+ },
1811
+ readOnly: true
1812
+ }, restProps)));
1813
+ };
1814
+
1815
+ var ENTER = 13;
1816
+ var SPACE = 32;
1817
+
1818
+ var _excluded$p = ["children", "display", "isDetailsOpen", "onToggle"];
1819
+ var DetailsSummary = function DetailsSummary(_ref) {
1820
+ var children = _ref.children,
1821
+ _ref$display = _ref.display,
1822
+ display = _ref$display === void 0 ? 'block' : _ref$display,
1823
+ isDetailsOpen = _ref.isDetailsOpen,
1824
+ onToggle = _ref.onToggle,
1825
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$p);
1826
+ var handleClick = function handleClick(event) {
1827
+ // Needed to avoid default `details` behavior on a click event and keep this as controlled component.
1828
+ event.preventDefault();
1829
+ if (!onToggle && !(restProps != null && restProps.onClick)) return;
1830
+ if (onToggle) {
1831
+ onToggle(event);
1832
+ }
1833
+ if (restProps != null && restProps.onClick) {
1834
+ restProps.onClick(event);
1835
+ }
1836
+ };
1837
+ var handleKeyDown = function handleKeyDown(event) {
1838
+ if ([ENTER, SPACE].indexOf(event.keyCode) !== -1) {
1839
+ // Needed to avoid default `details` behavior on a click event and keep this as controlled component.
1840
+ event.preventDefault();
1841
+ }
1842
+ if (!onToggle && !(restProps != null && restProps.onKeyDown)) return;
1843
+ if (onToggle && [ENTER, SPACE].indexOf(event.keyCode) !== -1) {
1844
+ onToggle(event);
1845
+ }
1846
+ if (restProps != null && restProps.onKeyDown) {
1847
+ restProps.onKeyDown(event);
1848
+ }
1849
+ };
1850
+ return React.createElement(Box, _extends({}, restProps, {
1851
+ as: "summary",
1852
+ display: display,
1853
+ role: "button",
1854
+ "aria-expanded": isDetailsOpen,
1855
+ tabIndex: 0,
1856
+ onClick: handleClick,
1857
+ onKeyDown: handleKeyDown
1858
+ }), children);
1859
+ };
1860
+
1861
+ var styles$i = {"details-reset":"Details-module_details-reset__HWtSD"};
1862
+
1863
+ var _excluded$o = ["children", "className", "display", "isOpen"];
1864
+ var DetailsBaseComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1865
+ var children = _ref.children,
1866
+ className = _ref.className,
1867
+ _ref$display = _ref.display,
1868
+ display = _ref$display === void 0 ? 'block' : _ref$display,
1869
+ isOpen = _ref.isOpen,
1870
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$o);
1871
+ var detailsClasses = classNames(className, styles$i['details-reset'], styles$i.details);
1872
+ return React.createElement(Box, _extends({
1873
+ as: "details",
1874
+ className: detailsClasses,
1875
+ display: display,
1876
+ open: isOpen,
1877
+ ref: ref
1878
+ }, restProps), children);
1879
+ });
1880
+ // Actual component is wrapped in an IIFE for the export
1881
+ // To allow tree-shaking even with static properties (subcomponents in this case).
1882
+ var Details = /*#__PURE__*/function () {
1883
+ var Details = DetailsBaseComponent; // eslint-disable-line no-shadow
1884
+ Details.Summary = DetailsSummary;
1885
+ return Details;
1886
+ }();
1887
+
1888
+ var styles$h = {"drawer":"Drawer-module_drawer__IKoOm","hide-overlay-right":"Drawer-module_hide-overlay-right__FANA9","hide-overlay-left":"Drawer-module_hide-overlay-left__xZFa3","hide-overlay-bottom":"Drawer-module_hide-overlay-bottom__11EB1","hide-overlay-top":"Drawer-module_hide-overlay-top__kEsV5","drawer-content":"Drawer-module_drawer-content__zZ9xR","left":"Drawer-module_left__pwTcW","right":"Drawer-module_right__EzGpI","bottom":"Drawer-module_bottom__r3Q5Z","top":"Drawer-module_top__xQejO"};
1889
+
1890
+ var Drawer = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1891
+ var _dynamicStyle, _classNames, _classNames2;
1892
+ var _ref$ariaLabel = _ref.ariaLabel,
1893
+ ariaLabel = _ref$ariaLabel === void 0 ? undefined : _ref$ariaLabel,
1894
+ _ref$ariaLabelledBy = _ref.ariaLabelledBy,
1895
+ ariaLabelledBy = _ref$ariaLabelledBy === void 0 ? undefined : _ref$ariaLabelledBy,
1896
+ _ref$allowPinchZoom = _ref.allowPinchZoom,
1897
+ allowPinchZoom = _ref$allowPinchZoom === void 0 ? false : _ref$allowPinchZoom,
1898
+ _ref$children = _ref.children,
1899
+ children = _ref$children === void 0 ? undefined : _ref$children,
1900
+ _ref$className = _ref.className,
1901
+ className = _ref$className === void 0 ? undefined : _ref$className,
1902
+ _ref$closeButton = _ref.closeButton,
1903
+ closeButton = _ref$closeButton === void 0 ? false : _ref$closeButton,
1904
+ _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
1905
+ closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
1906
+ _ref$containerRef = _ref.containerRef,
1907
+ containerRef = _ref$containerRef === void 0 ? undefined : _ref$containerRef,
1908
+ _ref$dangerouslyBypas = _ref.dangerouslyBypassFocusLock,
1909
+ dangerouslyBypassFocusLock = _ref$dangerouslyBypas === void 0 ? false : _ref$dangerouslyBypas,
1910
+ _ref$dangerouslyBypas2 = _ref.dangerouslyBypassScrollLock,
1911
+ dangerouslyBypassScrollLock = _ref$dangerouslyBypas2 === void 0 ? false : _ref$dangerouslyBypas2,
1912
+ _ref$hideOverlay = _ref.hideOverlay,
1913
+ hideOverlay = _ref$hideOverlay === void 0 ? false : _ref$hideOverlay,
1914
+ _ref$initialFocusRef = _ref.initialFocusRef,
1915
+ initialFocusRef = _ref$initialFocusRef === void 0 ? undefined : _ref$initialFocusRef,
1916
+ isOpen = _ref.isOpen,
1917
+ _ref$onDismiss = _ref.onDismiss,
1918
+ onDismiss = _ref$onDismiss === void 0 ? undefined : _ref$onDismiss,
1919
+ _ref$placement = _ref.placement,
1920
+ placement = _ref$placement === void 0 ? 'right' : _ref$placement,
1921
+ _ref$title = _ref.title,
1922
+ title = _ref$title === void 0 ? undefined : _ref$title,
1923
+ _ref$width = _ref.width,
1924
+ width = _ref$width === void 0 ? undefined : _ref$width;
1925
+ var activateFocusLock = React.useCallback(function () {
1926
+ setTimeout(function () {
1927
+ if (initialFocusRef && initialFocusRef.current) {
1928
+ initialFocusRef.current.focus();
1929
+ }
1930
+ }, 100);
1931
+ }, [initialFocusRef]);
1932
+ var dynamicWidth = width;
1933
+ var dynamicStyle = (_dynamicStyle = {}, _dynamicStyle['--w'] = dynamicWidth, _dynamicStyle);
1934
+ var overlayClassnames = classNames(styles$h.overlay, styles$h.drawer, (_classNames = {}, _classNames[styles$h['hide-overlay']] = hideOverlay, _classNames[styles$h["hide-overlay-" + placement]] = hideOverlay, _classNames['position-fixed'] = containerRef === undefined, _classNames['position-absolute'] = containerRef !== undefined, _classNames));
1935
+ var contentClassnames = classNames(styles$h['drawer-content'], styles$h[placement], (_classNames2 = {}, _classNames2[styles$h['hide-overlay']] = hideOverlay, _classNames2['overflow-auto'] = !closeButton && !title, _classNames2.className = className, _classNames2));
1936
+ var renderHeader = function renderHeader() {
1937
+ if (closeButton && onDismiss && !title) {
1938
+ return React.createElement(Box, {
1939
+ alignItems: "flex-end",
1940
+ justifyContent: "center",
1941
+ padding: "md lg"
1942
+ }, React.createElement(Button, {
1943
+ variant: "tertiary",
1944
+ onClick: onDismiss,
1945
+ "aria-label": "close",
1946
+ type: "button",
1947
+ iconPrefix: "remove"
1948
+ }));
1949
+ }
1950
+ if (title) {
1951
+ return React.createElement(Box, {
1952
+ direction: "row",
1953
+ justifyContent: "space-between",
1954
+ alignItems: "center",
1955
+ padding: "2xl"
1956
+ }, React.createElement(Box, {
1957
+ className: styles$h.title,
1958
+ fontWeight: "bold"
1959
+ }, title), onDismiss && React.createElement(Button, {
1960
+ variant: "tertiary",
1961
+ onClick: onDismiss,
1962
+ "aria-label": "close",
1963
+ type: "button",
1964
+ iconPrefix: "remove"
1965
+ }));
1966
+ }
1967
+ return null;
1968
+ };
1969
+ var content = title || closeButton ? React.createElement(Box, {
1970
+ flex: "auto",
1971
+ overflow: "auto"
1972
+ }, children) : children;
1973
+ var parentElement = containerRef != null && containerRef.current ? containerRef.current : document.body;
1974
+ var isDisabledFocusLock = hideOverlay || dangerouslyBypassFocusLock;
1975
+ var isDisabledRemoveScroll = hideOverlay || dangerouslyBypassScrollLock;
1976
+ return React.createElement(FocusLock, {
1977
+ autoFocus: true,
1978
+ returnFocus: true,
1979
+ disabled: isDisabledFocusLock || !isOpen,
1980
+ onActivation: activateFocusLock
1981
+ }, React.createElement(reactRemoveScroll.RemoveScroll, {
1982
+ allowPinchZoom: allowPinchZoom,
1983
+ enabled: !isDisabledRemoveScroll && isOpen
1984
+ }, React.createElement(Box, {
1985
+ ref: ref
1986
+ }, React.createElement(ReactModal, {
1987
+ isOpen: isOpen,
1988
+ overlayClassName: overlayClassnames,
1989
+ className: contentClassnames,
1990
+ onRequestClose: closeOnOverlayClick ? onDismiss : undefined,
1991
+ ariaHideApp: false,
1992
+ style: {
1993
+ content: dynamicStyle,
1994
+ overlay: dynamicStyle
1995
+ },
1996
+ parentSelector: function parentSelector() {
1997
+ return parentElement;
1998
+ }
1999
+ }, React.createElement(Box, {
2000
+ "aria-label": ariaLabel,
2001
+ "aria-labelledby": ariaLabelledBy
2002
+ }, renderHeader(), content)))));
2003
+ });
2004
+
2005
+ var _excluded$n = ["field", "form", "onChange", "id", "label"];
2006
+ var FormikCheckboxInput = function FormikCheckboxInput(_ref) {
2007
+ var _ref$field = _ref.field,
2008
+ name = _ref$field.name,
2009
+ onBlur = _ref$field.onBlur,
2010
+ formikOnChange = _ref$field.onChange,
2011
+ value = _ref$field.value,
2012
+ _ref$form = _ref.form,
2013
+ touched = _ref$form.touched,
2014
+ errors = _ref$form.errors,
2015
+ onChange = _ref.onChange,
2016
+ id = _ref.id,
2017
+ label = _ref.label,
2018
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$n);
2019
+ return React.createElement(CheckboxInput, _extends({}, props, {
2020
+ id: id,
2021
+ label: label,
2022
+ error: formik.getIn(touched, name) && formik.getIn(errors, name),
2023
+ isChecked: value,
2024
+ onBlur: onBlur,
2025
+ onChange: onChange != null ? onChange : formikOnChange
2026
+ }));
2027
+ };
2028
+
2029
+ var _excluded$m = ["className", "isSelected", "isDisabled", "error"];
2030
+ var RadioInputIcon = function RadioInputIcon(_ref) {
2031
+ var _ref$className = _ref.className,
2032
+ className = _ref$className === void 0 ? undefined : _ref$className,
2033
+ _ref$isSelected = _ref.isSelected,
2034
+ isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
2035
+ _ref$isDisabled = _ref.isDisabled,
2036
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2037
+ _ref$error = _ref.error,
2038
+ error = _ref$error === void 0 ? null : _ref$error,
2039
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$m);
2040
+ var color = 'secondary';
2041
+ var name = 'radio-btn-unchecked';
2042
+ if (isSelected && isDisabled) {
2043
+ color = 'disabled';
2044
+ name = 'radio-btn-checked';
2045
+ } else if (isSelected && !isDisabled) {
2046
+ color = 'base';
2047
+ name = 'radio-btn-checked';
2048
+ } else if (isDisabled) {
2049
+ color = 'disabled';
2050
+ }
2051
+ if (error) color = 'danger';
2052
+ if (isDisabled && error) color = 'danger-disabled';
2053
+ return React.createElement(Box, _extends({
2054
+ className: className
2055
+ }, restProps), React.createElement(Icon, {
2056
+ color: color,
2057
+ name: name
2058
+ }));
2059
+ };
2060
+
2061
+ var styles$g = {"size-sm":"RadioInput-module_size-sm__6DLmn","size-md":"RadioInput-module_size-md__wiJ4R","size-lg":"RadioInput-module_size-lg__pX8S8","radio-container":"RadioInput-module_radio-container__EBRgV","hidden":"RadioInput-module_hidden__KF4as","size-sm-tablet":"RadioInput-module_size-sm-tablet__x7edi","size-md-tablet":"RadioInput-module_size-md-tablet__T-HTa","size-lg-tablet":"RadioInput-module_size-lg-tablet__0Hkim","size-sm-desktop":"RadioInput-module_size-sm-desktop__HjeWG","size-md-desktop":"RadioInput-module_size-md-desktop__3Y1fn","size-lg-desktop":"RadioInput-module_size-lg-desktop__z3nKW","size-sm-hd":"RadioInput-module_size-sm-hd__oxAR7","size-md-hd":"RadioInput-module_size-md-hd__ws7ro","size-lg-hd":"RadioInput-module_size-lg-hd__87uii"};
2062
+
2063
+ var RadioInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2064
+ var _classNames;
2065
+ var name = _ref.name,
2066
+ onChange = _ref.onChange,
2067
+ option = _ref.option,
2068
+ _ref$className = _ref.className,
2069
+ className = _ref$className === void 0 ? '' : _ref$className,
2070
+ _ref$isDisabled = _ref.isDisabled,
2071
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2072
+ _ref$isHidden = _ref.isHidden,
2073
+ isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
2074
+ _ref$isRequired = _ref.isRequired,
2075
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2076
+ _ref$isSelected = _ref.isSelected,
2077
+ isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
2078
+ _ref$onBlur = _ref.onBlur,
2079
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2080
+ _ref$onFocus = _ref.onFocus,
2081
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2082
+ _ref$size = _ref.size,
2083
+ size = _ref$size === void 0 ? 'md' : _ref$size;
2084
+ var responsiveClasses = classNames.apply(void 0, generateResponsiveClasses('size', size).map(function (c) {
2085
+ return styles$g[c];
2086
+ }));
2087
+ var labelProps = {
2088
+ inputId: option.id,
2089
+ isDisabled: isDisabled,
2090
+ display: 'flex',
2091
+ isRadioInputLabel: true,
2092
+ justifyContent: 'center'
2093
+ };
2094
+ var containerClasses = classNames('hyphen-components__variables__form-control', className, styles$g['radio-container'], responsiveClasses, (_classNames = {}, _classNames[styles$g.hidden] = isHidden, _classNames));
2095
+ return React.createElement(React.Fragment, null, option && React.createElement(Box, {
2096
+ className: containerClasses,
2097
+ key: option.id,
2098
+ direction: "row",
2099
+ alignItems: "center",
2100
+ ref: ref,
2101
+ position: "relative"
2102
+ }, React.createElement(Box, {
2103
+ "aria-required": isRequired,
2104
+ as: "input",
2105
+ id: option.id,
2106
+ type: "radio",
2107
+ name: name,
2108
+ value: option.value,
2109
+ checked: isSelected,
2110
+ onChange: onChange,
2111
+ onFocus: onFocus,
2112
+ onBlur: onBlur,
2113
+ disabled: isDisabled,
2114
+ position: "absolute",
2115
+ required: isRequired,
2116
+ style: {
2117
+ opacity: '0'
2118
+ },
2119
+ margin: isHidden ? '0' : '0 xs 0 2xs'
2120
+ }), !isHidden && React.createElement(RadioInputIcon, {
2121
+ isSelected: isSelected,
2122
+ isDisabled: isDisabled,
2123
+ margin: isHidden ? '0' : '0 xs 0 2xs',
2124
+ className: responsiveClasses,
2125
+ background: isDisabled && !isSelected ? 'secondary' : 'primary',
2126
+ radius: "circle"
2127
+ }), option.label && React.createElement(FormLabel, _extends({}, labelProps), option.label)));
2128
+ });
2129
+
2130
+ var styles$f = {"radio-group":"RadioGroup-module_radio-group__FWPcT","fieldset":"RadioGroup-module_fieldset__PEUXI","legend":"RadioGroup-module_legend__tcfV7","description":"RadioGroup-module_description__8fzM-"};
2131
+
2132
+ var _excluded$l = ["name", "onChange", "options", "className", "description", "direction", "error", "isDisabled", "isRequired", "onBlur", "onFocus", "requiredIndicator", "size", "title", "value"];
2133
+ var RadioGroup = function RadioGroup(_ref) {
2134
+ var _classNames;
2135
+ var name = _ref.name,
2136
+ onChange = _ref.onChange,
2137
+ options = _ref.options,
2138
+ _ref$className = _ref.className,
2139
+ className = _ref$className === void 0 ? '' : _ref$className,
2140
+ _ref$description = _ref.description,
2141
+ description = _ref$description === void 0 ? undefined : _ref$description,
2142
+ _ref$direction = _ref.direction,
2143
+ direction = _ref$direction === void 0 ? 'column' : _ref$direction,
2144
+ _ref$error = _ref.error,
2145
+ error = _ref$error === void 0 ? false : _ref$error,
2146
+ _ref$isDisabled = _ref.isDisabled,
2147
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2148
+ _ref$isRequired = _ref.isRequired,
2149
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2150
+ _ref$onBlur = _ref.onBlur,
2151
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2152
+ _ref$onFocus = _ref.onFocus,
2153
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2154
+ _ref$requiredIndicato = _ref.requiredIndicator,
2155
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2156
+ _ref$size = _ref.size,
2157
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2158
+ _ref$title = _ref.title,
2159
+ title = _ref$title === void 0 ? undefined : _ref$title,
2160
+ _ref$value = _ref.value,
2161
+ value = _ref$value === void 0 ? undefined : _ref$value,
2162
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
2163
+ var groupClasses = classNames('hyphen-components__variables__form-control', className, (_classNames = {}, _classNames[styles$f.loading] = error, _classNames));
2164
+ return React.createElement("div", _extends({
2165
+ className: classNames(styles$f['radio-group'], groupClasses)
2166
+ }, restProps), React.createElement("fieldset", {
2167
+ className: styles$f.fieldset
2168
+ }, (title || description) && React.createElement("legend", {
2169
+ className: styles$f.legend
2170
+ }, title, isRequired && React.createElement("span", null, requiredIndicator), description && React.createElement("div", {
2171
+ className: styles$f.description
2172
+ }, description)), React.createElement(Box, {
2173
+ direction: direction,
2174
+ gap: "sm",
2175
+ className: styles$f.options
2176
+ }, options && options.map(function (option) {
2177
+ return React.createElement(RadioInput, {
2178
+ key: option.id,
2179
+ name: name,
2180
+ onChange: onChange,
2181
+ option: option,
2182
+ isDisabled: isDisabled || option.disabled || false,
2183
+ isRequired: isRequired,
2184
+ isSelected: value === option.value,
2185
+ onBlur: onBlur,
2186
+ onFocus: onFocus,
2187
+ size: size
2188
+ });
2189
+ }))), error && typeof error !== 'boolean' && React.createElement(InputValidationMessage, null, error));
2190
+ };
2191
+
2192
+ var _excluded$k = ["field", "form", "onChange", "options"];
2193
+ var FormikRadioGroup = function FormikRadioGroup(_ref) {
2194
+ var _ref$field = _ref.field,
2195
+ name = _ref$field.name,
2196
+ onBlur = _ref$field.onBlur,
2197
+ formikOnChange = _ref$field.onChange,
2198
+ value = _ref$field.value,
2199
+ _ref$form = _ref.form,
2200
+ touched = _ref$form.touched,
2201
+ errors = _ref$form.errors,
2202
+ onChange = _ref.onChange,
2203
+ options = _ref.options,
2204
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$k);
2205
+ return React.createElement(RadioGroup, _extends({}, props, {
2206
+ options: options,
2207
+ name: name,
2208
+ onBlur: onBlur,
2209
+ onChange: onChange != null ? onChange : formikOnChange,
2210
+ value: value,
2211
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2212
+ }));
2213
+ };
2214
+
2215
+ var styles$e = {"react-select-icon":"SelectInput-module_react-select-icon__PvocB","size-sm":"SelectInput-module_size-sm__PKB-J","size-md":"SelectInput-module_size-md__n9Fj8","size-lg":"SelectInput-module_size-lg__LQ-uG","error":"SelectInput-module_error__Avf98","size-sm-tablet":"SelectInput-module_size-sm-tablet__2Dg01","size-md-tablet":"SelectInput-module_size-md-tablet__-iOSg","size-lg-tablet":"SelectInput-module_size-lg-tablet__9xmuJ","size-sm-desktop":"SelectInput-module_size-sm-desktop__tOWI4","size-md-desktop":"SelectInput-module_size-md-desktop__vo-UC","size-lg-desktop":"SelectInput-module_size-lg-desktop__nxQdj","size-sm-hd":"SelectInput-module_size-sm-hd__qamTH","size-md-hd":"SelectInput-module_size-md-hd__Cf8hk","size-lg-hd":"SelectInput-module_size-lg-hd__E4-mZ","disabled":"SelectInput-module_disabled__4ezAy","select-input-label":"SelectInput-module_select-input-label__eqEYa"};
2216
+
2217
+ var _excluded$j = ["id", "label", "onChange", "options", "value", "autoFocus", "className", "error", "helpText", "hideLabel", "isClearable", "isDisabled", "isMulti", "isRequired", "menuPortalTarget", "name", "onFocus", "onBlur", "placeholder", "requiredIndicator", "size"];
2218
+ var SelectInput = function SelectInput(_ref) {
2219
+ var _ref2, _classNames;
2220
+ var id = _ref.id,
2221
+ label = _ref.label,
2222
+ onChange = _ref.onChange,
2223
+ options = _ref.options,
2224
+ value = _ref.value,
2225
+ _ref$autoFocus = _ref.autoFocus,
2226
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2227
+ _ref$className = _ref.className,
2228
+ className = _ref$className === void 0 ? '' : _ref$className,
2229
+ _ref$error = _ref.error,
2230
+ error = _ref$error === void 0 ? false : _ref$error,
2231
+ helpText = _ref.helpText,
2232
+ _ref$hideLabel = _ref.hideLabel,
2233
+ hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
2234
+ _ref$isClearable = _ref.isClearable,
2235
+ isClearable = _ref$isClearable === void 0 ? false : _ref$isClearable,
2236
+ _ref$isDisabled = _ref.isDisabled,
2237
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2238
+ _ref$isMulti = _ref.isMulti,
2239
+ isMulti = _ref$isMulti === void 0 ? false : _ref$isMulti,
2240
+ _ref$isRequired = _ref.isRequired,
2241
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2242
+ _ref$menuPortalTarget = _ref.menuPortalTarget,
2243
+ menuPortalTarget = _ref$menuPortalTarget === void 0 ? null : _ref$menuPortalTarget,
2244
+ _ref$name = _ref.name,
2245
+ name = _ref$name === void 0 ? '' : _ref$name,
2246
+ _ref$onFocus = _ref.onFocus,
2247
+ onFocus = _ref$onFocus === void 0 ? null : _ref$onFocus,
2248
+ _ref$onBlur = _ref.onBlur,
2249
+ onBlur = _ref$onBlur === void 0 ? null : _ref$onBlur,
2250
+ _ref$placeholder = _ref.placeholder,
2251
+ placeholder = _ref$placeholder === void 0 ? undefined : _ref$placeholder,
2252
+ _ref$requiredIndicato = _ref.requiredIndicator,
2253
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2254
+ _ref$size = _ref.size,
2255
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2256
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
2257
+ var handleChange = function handleChange(values) {
2258
+ var simulatedEventPayloadType = {
2259
+ target: {
2260
+ name: name,
2261
+ value: values
2262
+ }
2263
+ };
2264
+ onChange(simulatedEventPayloadType);
2265
+ };
2266
+ var handleFocus = function handleFocus(e) {
2267
+ if (onFocus) onFocus(e);
2268
+ };
2269
+ var handleBlur = function handleBlur(e) {
2270
+ if (onBlur) onBlur(e);
2271
+ };
2272
+ var responsiveClasses = generateResponsiveClasses('size', size);
2273
+ var wrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', 'select-input-wrapper', className].concat(responsiveClasses.map(function (c) {
2274
+ return styles$e[c];
2275
+ }), [(_ref2 = {}, _ref2[styles$e.disabled] = isDisabled, _ref2)]));
2276
+ var inputClasses = classNames('react-select', (_classNames = {}, _classNames[styles$e.error] = error, _classNames));
2277
+ var labelProps = {
2278
+ inputId: id,
2279
+ helpText: helpText,
2280
+ className: styles$e['select-input-label'],
2281
+ isDisabled: isDisabled,
2282
+ isFieldRequired: isRequired,
2283
+ requiredIndicator: requiredIndicator
2284
+ };
2285
+ var ClearIndicator = function ClearIndicator(props) {
2286
+ return React.createElement(Select.components.ClearIndicator, _extends({}, props), React.createElement(Icon, {
2287
+ name: "remove"
2288
+ }));
2289
+ };
2290
+ return React.createElement(Box, {
2291
+ width: "100%",
2292
+ className: wrapperClasses
2293
+ }, label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label), React.createElement(Select, _extends({}, restProps, {
2294
+ inputId: id,
2295
+ "aria-label": label,
2296
+ components: {
2297
+ ClearIndicator: ClearIndicator
2298
+ },
2299
+ "aria-labelledby": label && !hideLabel ? id + "Label" : undefined,
2300
+ className: inputClasses,
2301
+ classNamePrefix: "react-select",
2302
+ placeholder: placeholder,
2303
+ isClearable: isClearable,
2304
+ isDisabled: isDisabled,
2305
+ isMulti: isMulti,
2306
+ menuPortalTarget: menuPortalTarget,
2307
+ name: name,
2308
+ autoFocus: autoFocus,
2309
+ options: options,
2310
+ onChange: handleChange,
2311
+ onFocus: handleFocus,
2312
+ onBlur: handleBlur,
2313
+ styles: {
2314
+ menuPortal: function menuPortal(base) {
2315
+ return _extends({}, base, {
2316
+ zIndex: Number(Z_INDEX_VALUES.popover)
2317
+ });
2318
+ }
2319
+ },
2320
+ value: value
2321
+ })), error && typeof error !== 'boolean' && React.createElement(InputValidationMessage, null, error));
2322
+ };
2323
+
2324
+ var _excluded$i = ["field", "form", "onChange", "id", "label", "options"];
2325
+ var FormikSelectInput = function FormikSelectInput(_ref) {
2326
+ var _ref$field = _ref.field,
2327
+ name = _ref$field.name,
2328
+ onBlur = _ref$field.onBlur,
2329
+ formikOnChange = _ref$field.onChange,
2330
+ value = _ref$field.value,
2331
+ _ref$form = _ref.form,
2332
+ touched = _ref$form.touched,
2333
+ errors = _ref$form.errors,
2334
+ onChange = _ref.onChange,
2335
+ id = _ref.id,
2336
+ label = _ref.label,
2337
+ options = _ref.options,
2338
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
2339
+ return React.createElement(SelectInput, _extends({}, props, {
2340
+ id: id,
2341
+ label: label,
2342
+ options: options,
2343
+ name: name,
2344
+ onBlur: onBlur,
2345
+ onChange: onChange != null ? onChange : formikOnChange,
2346
+ value: value,
2347
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2348
+ }));
2349
+ };
2350
+
2351
+ var styles$d = {"help-text":"HelpText-module_help-text__8WodW"};
2352
+
2353
+ var HelpText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2354
+ var children = _ref.children,
2355
+ className = _ref.className;
2356
+ return React.createElement(Box, {
2357
+ ref: ref,
2358
+ className: classNames('hyphen-components__variables__form-control', styles$d['help-text'], className),
2359
+ display: "block",
2360
+ color: "secondary",
2361
+ fontSize: "sm"
2362
+ }, children);
2363
+ });
2364
+
2365
+ var styles$c = {"text-input-wrapper":"SelectInputInset-module_text-input-wrapper__hZ4Fy","size-md":"SelectInputInset-module_size-md__6MFcV","select-input-label":"SelectInputInset-module_select-input-label__6XdR6","clear-button":"SelectInputInset-module_clear-button__xbZaY","size-lg":"SelectInputInset-module_size-lg__i2Bzf","disabled":"SelectInputInset-module_disabled__DYSr2","size-md-tablet":"SelectInputInset-module_size-md-tablet__xwoPz","size-lg-tablet":"SelectInputInset-module_size-lg-tablet__2DgFa","size-md-desktop":"SelectInputInset-module_size-md-desktop__MfemS","size-lg-desktop":"SelectInputInset-module_size-lg-desktop__etLGJ","size-md-hd":"SelectInputInset-module_size-md-hd__NWb1q","size-lg-hd":"SelectInputInset-module_size-lg-hd__ycjXC","error":"SelectInputInset-module_error__j-jgS"};
2366
+
2367
+ var SelectInputInset = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2368
+ var _ref2;
2369
+ var id = _ref.id,
2370
+ label = _ref.label,
2371
+ onChange = _ref.onChange,
2372
+ value = _ref.value,
2373
+ _ref$autoComplete = _ref.autoComplete,
2374
+ autoComplete = _ref$autoComplete === void 0 ? false : _ref$autoComplete,
2375
+ _ref$autoFocus = _ref.autoFocus,
2376
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2377
+ _ref$error = _ref.error,
2378
+ error = _ref$error === void 0 ? false : _ref$error,
2379
+ helpText = _ref.helpText,
2380
+ _ref$inputProps = _ref.inputProps,
2381
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
2382
+ _ref$isDisabled = _ref.isDisabled,
2383
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2384
+ _ref$isRequired = _ref.isRequired,
2385
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2386
+ _ref$name = _ref.name,
2387
+ name = _ref$name === void 0 ? '' : _ref$name,
2388
+ _ref$onBlur = _ref.onBlur,
2389
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2390
+ _ref$onClear = _ref.onClear,
2391
+ onClear = _ref$onClear === void 0 ? undefined : _ref$onClear,
2392
+ _ref$onFocus = _ref.onFocus,
2393
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2394
+ options = _ref.options,
2395
+ _ref$placeholder = _ref.placeholder,
2396
+ placeholder = _ref$placeholder === void 0 ? 'Select...' : _ref$placeholder,
2397
+ _ref$requiredIndicato = _ref.requiredIndicator,
2398
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2399
+ _ref$size = _ref.size,
2400
+ size = _ref$size === void 0 ? 'md' : _ref$size;
2401
+ var placeholderOption = {
2402
+ value: '',
2403
+ label: placeholder
2404
+ };
2405
+ var optionsWithPlaceholder = [_extends({}, placeholderOption)].concat(options);
2406
+ var responsiveClasses = generateResponsiveClasses('size', size);
2407
+ var inputWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$c['text-input-wrapper']].concat(responsiveClasses.map(function (c) {
2408
+ return styles$c[c];
2409
+ }), [(_ref2 = {}, _ref2[styles$c.error] = error, _ref2[styles$c.disabled] = isDisabled, _ref2[styles$c['is-clearable']] = onClear, _ref2)]));
2410
+ var clearBtnClasses = classNames(styles$c['clear-button'], styles$c.md);
2411
+ var renderClearIcon = function renderClearIcon() {
2412
+ var handleKeyPress = function handleKeyPress(event) {
2413
+ if (event.keyCode === 13 && onClear) onClear(event);
2414
+ };
2415
+ return React.createElement("button", {
2416
+ type: "button",
2417
+ onClick: onClear,
2418
+ onKeyUp: handleKeyPress,
2419
+ className: clearBtnClasses,
2420
+ "data-testid": "text-input-clear-button",
2421
+ "aria-label": "clear input"
2422
+ }, React.createElement(Icon, {
2423
+ name: "remove",
2424
+ className: "display-block"
2425
+ }));
2426
+ };
2427
+ var computedInputProps = _extends({}, inputProps, {
2428
+ // These are spread first so that we don't have top level props overwritten by the user.
2429
+ 'aria-required': isRequired,
2430
+ 'aria-invalid': !!error,
2431
+ 'aria-label': label,
2432
+ 'aria-labelledby': label ? id + "Label" : undefined,
2433
+ autoComplete: getAutoCompleteValue(autoComplete),
2434
+ autoFocus: autoFocus,
2435
+ disabled: isDisabled,
2436
+ id: id,
2437
+ name: name,
2438
+ onBlur: onBlur,
2439
+ onChange: onChange,
2440
+ onFocus: onFocus,
2441
+ required: isRequired,
2442
+ value: value != null ? value : '',
2443
+ className: classNames(inputProps.className)
2444
+ });
2445
+ return React.createElement("div", {
2446
+ ref: ref
2447
+ }, React.createElement(Box, {
2448
+ direction: "row",
2449
+ flex: "auto",
2450
+ position: "relative",
2451
+ className: inputWrapperClasses
2452
+ }, React.createElement(Box, _extends({
2453
+ as: "select"
2454
+ }, computedInputProps), optionsWithPlaceholder.map(function (option) {
2455
+ return React.createElement(Box, {
2456
+ as: "option",
2457
+ key: option.value,
2458
+ value: option.value,
2459
+ disabled: option.value === '',
2460
+ hidden: option.value === '',
2461
+ color: option.value === '' ? 'secondary' : 'base'
2462
+ }, option.label);
2463
+ })), !!onClear && !!value && renderClearIcon(), React.createElement("label", {
2464
+ htmlFor: id,
2465
+ className: styles$c['select-input-label'],
2466
+ id: id + "Label"
2467
+ }, label, isRequired && requiredIndicator && React.createElement("span", null, requiredIndicator))), helpText && React.createElement(HelpText, null, helpText), error && error !== true && React.createElement(InputValidationMessage, null, error));
2468
+ });
2469
+
2470
+ var _excluded$h = ["field", "form", "onChange", "id", "label", "options"];
2471
+ var FormikSelectInputInset = function FormikSelectInputInset(_ref) {
2472
+ var _ref$field = _ref.field,
2473
+ name = _ref$field.name,
2474
+ onBlur = _ref$field.onBlur,
2475
+ formikOnChange = _ref$field.onChange,
2476
+ value = _ref$field.value,
2477
+ _ref$form = _ref.form,
2478
+ touched = _ref$form.touched,
2479
+ errors = _ref$form.errors,
2480
+ onChange = _ref.onChange,
2481
+ id = _ref.id,
2482
+ label = _ref.label,
2483
+ options = _ref.options,
2484
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
2485
+ return React.createElement(SelectInputInset, _extends({}, props, {
2486
+ id: id,
2487
+ label: label,
2488
+ options: options,
2489
+ name: name,
2490
+ onBlur: onBlur,
2491
+ onChange: onChange != null ? onChange : formikOnChange,
2492
+ value: value,
2493
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2494
+ }));
2495
+ };
2496
+
2497
+ var styles$b = {"text-input-wrapper":"TextareaInputInset-module_text-input-wrapper__0VNFI","size-md":"TextareaInputInset-module_size-md__Hkdpr","text-input-label":"TextareaInputInset-module_text-input-label__yHDss","size-lg":"TextareaInputInset-module_size-lg__wOXof","disabled":"TextareaInputInset-module_disabled__U-Fpa","size-md-tablet":"TextareaInputInset-module_size-md-tablet__KnN-9","size-lg-tablet":"TextareaInputInset-module_size-lg-tablet__oJ0ib","size-md-desktop":"TextareaInputInset-module_size-md-desktop__uBIxD","size-lg-desktop":"TextareaInputInset-module_size-lg-desktop__3qmko","size-md-hd":"TextareaInputInset-module_size-md-hd__6340p","size-lg-hd":"TextareaInputInset-module_size-lg-hd__PtVQT","error":"TextareaInputInset-module_error__sxX-U","textarea-resize-both":"TextareaInputInset-module_textarea-resize-both__53-Ff","textarea-resize-horizontal":"TextareaInputInset-module_textarea-resize-horizontal__X0ibH","textarea-resize-vertical":"TextareaInputInset-module_textarea-resize-vertical__YlsyR","textarea-resize-none":"TextareaInputInset-module_textarea-resize-none__p0eJB"};
2498
+
2499
+ var TextareaInputInset = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2500
+ var _ref2, _classNames;
2501
+ var id = _ref.id,
2502
+ label = _ref.label,
2503
+ onChange = _ref.onChange,
2504
+ value = _ref.value,
2505
+ _ref$autoComplete = _ref.autoComplete,
2506
+ autoComplete = _ref$autoComplete === void 0 ? false : _ref$autoComplete,
2507
+ _ref$autoFocus = _ref.autoFocus,
2508
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2509
+ className = _ref.className,
2510
+ _ref$error = _ref.error,
2511
+ error = _ref$error === void 0 ? false : _ref$error,
2512
+ helpText = _ref.helpText,
2513
+ _ref$inputProps = _ref.inputProps,
2514
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
2515
+ _ref$isDisabled = _ref.isDisabled,
2516
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2517
+ _ref$isRequired = _ref.isRequired,
2518
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2519
+ _ref$maxLength = _ref.maxLength,
2520
+ maxLength = _ref$maxLength === void 0 ? undefined : _ref$maxLength,
2521
+ _ref$name = _ref.name,
2522
+ name = _ref$name === void 0 ? '' : _ref$name,
2523
+ _ref$onBlur = _ref.onBlur,
2524
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2525
+ _ref$onFocus = _ref.onFocus,
2526
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2527
+ _ref$placeholder = _ref.placeholder,
2528
+ placeholder = _ref$placeholder === void 0 ? ' ' : _ref$placeholder,
2529
+ _ref$requiredIndicato = _ref.requiredIndicator,
2530
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2531
+ _ref$resize = _ref.resize,
2532
+ resize = _ref$resize === void 0 ? 'vertical' : _ref$resize,
2533
+ _ref$rows = _ref.rows,
2534
+ rows = _ref$rows === void 0 ? 5 : _ref$rows,
2535
+ _ref$size = _ref.size,
2536
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2537
+ _ref$type = _ref.type,
2538
+ type = _ref$type === void 0 ? 'text' : _ref$type;
2539
+ var responsiveClasses = generateResponsiveClasses('size', size);
2540
+ var inputWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$b['text-input-wrapper']].concat(responsiveClasses.map(function (c) {
2541
+ return styles$b[c];
2542
+ }), [(_ref2 = {}, _ref2[styles$b.disabled] = isDisabled, _ref2)]));
2543
+ var computedInputProps = _extends({}, inputProps, {
2544
+ // These are spread first so that we don't have top level props overwritten by the user.
2545
+ 'aria-required': isRequired,
2546
+ 'aria-invalid': !!error,
2547
+ 'aria-label': label,
2548
+ 'aria-labelledby': label ? id + "Label" : undefined,
2549
+ autoComplete: getAutoCompleteValue(autoComplete),
2550
+ autoFocus: autoFocus,
2551
+ className: classNames(styles$b["textarea-resize-" + resize], (_classNames = {}, _classNames[styles$b.error] = error, _classNames)),
2552
+ disabled: isDisabled,
2553
+ id: id,
2554
+ maxLength: maxLength,
2555
+ name: name,
2556
+ onBlur: onBlur,
2557
+ onChange: onChange,
2558
+ onFocus: onFocus,
2559
+ placeholder: placeholder,
2560
+ required: isRequired,
2561
+ rows: rows,
2562
+ type: type,
2563
+ value: value
2564
+ });
2565
+ return React.createElement(Box, {
2566
+ width: "100",
2567
+ ref: ref,
2568
+ className: className
2569
+ }, React.createElement(Box, {
2570
+ display: "block",
2571
+ position: "relative",
2572
+ className: inputWrapperClasses
2573
+ }, React.createElement(Box, _extends({
2574
+ as: "textarea"
2575
+ }, computedInputProps)), React.createElement("label", {
2576
+ htmlFor: id,
2577
+ className: styles$b['text-input-label'],
2578
+ id: id + "Label"
2579
+ }, label, isRequired && requiredIndicator && React.createElement("span", null, requiredIndicator))), helpText && React.createElement(HelpText, null, helpText), error && error !== true && React.createElement(InputValidationMessage, null, error));
2580
+ });
2581
+
2582
+ var _excluded$g = ["field", "form", "onChange", "id", "label"];
2583
+ var FormikTextareaInputInset = function FormikTextareaInputInset(_ref) {
2584
+ var _ref$field = _ref.field,
2585
+ name = _ref$field.name,
2586
+ onBlur = _ref$field.onBlur,
2587
+ formikOnChange = _ref$field.onChange,
2588
+ value = _ref$field.value,
2589
+ _ref$form = _ref.form,
2590
+ touched = _ref$form.touched,
2591
+ errors = _ref$form.errors,
2592
+ onChange = _ref.onChange,
2593
+ id = _ref.id,
2594
+ label = _ref.label,
2595
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$g);
2596
+ return React.createElement(TextareaInputInset, _extends({}, props, {
2597
+ id: id,
2598
+ label: label,
2599
+ name: name,
2600
+ onBlur: onBlur,
2601
+ onChange: onChange != null ? onChange : formikOnChange,
2602
+ value: value,
2603
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2604
+ }));
2605
+ };
2606
+
2607
+ var styles$a = {"text-input-wrapper":"TextInputInset-module_text-input-wrapper__qQzOh","size-md":"TextInputInset-module_size-md__Lg91X","label-input-wrapper":"TextInputInset-module_label-input-wrapper__opMsd","text-input-label":"TextInputInset-module_text-input-label__zADJM","prefix":"TextInputInset-module_prefix__i-iby","suffix":"TextInputInset-module_suffix__r9ZnM","clear-button":"TextInputInset-module_clear-button__kV9pf","size-lg":"TextInputInset-module_size-lg__ggigL","disabled":"TextInputInset-module_disabled__udCEB","size-md-tablet":"TextInputInset-module_size-md-tablet__adPUS","size-lg-tablet":"TextInputInset-module_size-lg-tablet__HZTUo","size-md-desktop":"TextInputInset-module_size-md-desktop__Pjze7","size-lg-desktop":"TextInputInset-module_size-lg-desktop__5ov91","size-md-hd":"TextInputInset-module_size-md-hd__jyglU","size-lg-hd":"TextInputInset-module_size-lg-hd__ymgTS","error":"TextInputInset-module_error__LZghB"};
2608
+
2609
+ var TextInputInset = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2610
+ var _ref2;
2611
+ var id = _ref.id,
2612
+ label = _ref.label,
2613
+ onChange = _ref.onChange,
2614
+ value = _ref.value,
2615
+ _ref$autoComplete = _ref.autoComplete,
2616
+ autoComplete = _ref$autoComplete === void 0 ? false : _ref$autoComplete,
2617
+ _ref$autoFocus = _ref.autoFocus,
2618
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2619
+ _ref$error = _ref.error,
2620
+ error = _ref$error === void 0 ? false : _ref$error,
2621
+ helpText = _ref.helpText,
2622
+ _ref$inputProps = _ref.inputProps,
2623
+ inputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
2624
+ _ref$isDisabled = _ref.isDisabled,
2625
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2626
+ _ref$isRequired = _ref.isRequired,
2627
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2628
+ _ref$maxLength = _ref.maxLength,
2629
+ maxLength = _ref$maxLength === void 0 ? undefined : _ref$maxLength,
2630
+ _ref$name = _ref.name,
2631
+ name = _ref$name === void 0 ? '' : _ref$name,
2632
+ _ref$onBlur = _ref.onBlur,
2633
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2634
+ _ref$onClear = _ref.onClear,
2635
+ onClear = _ref$onClear === void 0 ? undefined : _ref$onClear,
2636
+ _ref$onFocus = _ref.onFocus,
2637
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2638
+ _ref$prefix = _ref.prefix,
2639
+ prefix = _ref$prefix === void 0 ? undefined : _ref$prefix,
2640
+ _ref$placeholder = _ref.placeholder,
2641
+ placeholder = _ref$placeholder === void 0 ? ' ' : _ref$placeholder,
2642
+ _ref$requiredIndicato = _ref.requiredIndicator,
2643
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2644
+ _ref$suffix = _ref.suffix,
2645
+ suffix = _ref$suffix === void 0 ? undefined : _ref$suffix,
2646
+ _ref$size = _ref.size,
2647
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2648
+ _ref$type = _ref.type,
2649
+ type = _ref$type === void 0 ? 'text' : _ref$type;
2650
+ var responsiveClasses = generateResponsiveClasses('size', size);
2651
+ var inputWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$a['text-input-wrapper']].concat(responsiveClasses.map(function (c) {
2652
+ return styles$a[c];
2653
+ }), [(_ref2 = {}, _ref2[styles$a.error] = error, _ref2[styles$a.disabled] = isDisabled, _ref2[styles$a['is-clearable']] = onClear, _ref2)]));
2654
+ var clearBtnClasses = classNames(styles$a['clear-button'], styles$a.md);
2655
+ var renderClearIcon = function renderClearIcon() {
2656
+ var handleKeyPress = function handleKeyPress(event) {
2657
+ if (event.keyCode === 13 && onClear) onClear(event);
2658
+ };
2659
+ return React.createElement("button", {
2660
+ type: "button",
2661
+ onClick: onClear,
2662
+ onKeyUp: handleKeyPress,
2663
+ className: clearBtnClasses,
2664
+ "data-testid": "text-input-clear-button",
2665
+ "aria-label": "clear input"
2666
+ }, React.createElement(Icon, {
2667
+ name: "remove",
2668
+ className: "display-block"
2669
+ }));
2670
+ };
2671
+ var computedInputProps = _extends({}, inputProps, {
2672
+ // These are spread first so that we don't have top level props overwritten by the user.
2673
+ 'aria-required': isRequired,
2674
+ 'aria-invalid': !!error,
2675
+ 'aria-label': label,
2676
+ 'aria-labelledby': label ? id + "Label" : undefined,
2677
+ autoComplete: getAutoCompleteValue(autoComplete),
2678
+ autoFocus: autoFocus,
2679
+ disabled: isDisabled,
2680
+ id: id,
2681
+ maxLength: maxLength,
2682
+ name: name,
2683
+ onBlur: onBlur,
2684
+ onChange: onChange,
2685
+ onFocus: onFocus,
2686
+ placeholder: placeholder,
2687
+ required: isRequired,
2688
+ type: type,
2689
+ value: value,
2690
+ className: classNames(inputProps.className)
2691
+ });
2692
+ return React.createElement(Box, {
2693
+ width: "100",
2694
+ ref: ref
2695
+ }, React.createElement(Box, {
2696
+ direction: "row",
2697
+ className: inputWrapperClasses
2698
+ }, prefix && React.createElement(Box, {
2699
+ color: "base",
2700
+ alignItems: "center",
2701
+ justifyContent: "center",
2702
+ background: "secondary",
2703
+ className: classNames(styles$a.prefix, 'ws-nowrap')
2704
+ }, prefix), React.createElement(Box, {
2705
+ direction: "row",
2706
+ position: "relative",
2707
+ className: "label-input-wrapper",
2708
+ flex: "auto"
2709
+ }, React.createElement(Box, _extends({
2710
+ as: "input"
2711
+ }, computedInputProps)), !!onClear && !!value && renderClearIcon(), React.createElement("label", {
2712
+ htmlFor: id,
2713
+ className: styles$a['text-input-label'],
2714
+ id: id + "Label"
2715
+ }, label, isRequired && requiredIndicator && React.createElement("span", null, requiredIndicator))), suffix && React.createElement(Box, {
2716
+ color: "base",
2717
+ background: "secondary",
2718
+ className: classNames(styles$a.suffix, 'ws-nowrap')
2719
+ }, suffix)), helpText && React.createElement(HelpText, null, helpText), error && error !== true && React.createElement(InputValidationMessage, null, error));
2720
+ });
2721
+
2722
+ var _excluded$f = ["field", "form", "onChange", "id", "label"];
2723
+ var FormikTextInputInset = function FormikTextInputInset(_ref) {
2724
+ var _ref$field = _ref.field,
2725
+ name = _ref$field.name,
2726
+ onBlur = _ref$field.onBlur,
2727
+ formikOnChange = _ref$field.onChange,
2728
+ value = _ref$field.value,
2729
+ _ref$form = _ref.form,
2730
+ touched = _ref$form.touched,
2731
+ errors = _ref$form.errors,
2732
+ onChange = _ref.onChange,
2733
+ id = _ref.id,
2734
+ label = _ref.label,
2735
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
2736
+ return React.createElement(TextInputInset, _extends({}, props, {
2737
+ id: id,
2738
+ label: label,
2739
+ name: name,
2740
+ onBlur: onBlur,
2741
+ onChange: onChange != null ? onChange : formikOnChange,
2742
+ value: value,
2743
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2744
+ }));
2745
+ };
2746
+
2747
+ var styles$9 = {"select-input-native-wrapper":"SelectInputNative-module_select-input-native-wrapper__-vvFm","disabled":"SelectInputNative-module_disabled__gKmV4","size-sm":"SelectInputNative-module_size-sm__7Ql4z","size-md":"SelectInputNative-module_size-md__ofleh","size-lg":"SelectInputNative-module_size-lg__ewS-6","size-sm-tablet":"SelectInputNative-module_size-sm-tablet__3wbFA","size-md-tablet":"SelectInputNative-module_size-md-tablet__nLo2t","size-lg-tablet":"SelectInputNative-module_size-lg-tablet__fLu2T","size-sm-desktop":"SelectInputNative-module_size-sm-desktop__aUL7D","size-md-desktop":"SelectInputNative-module_size-md-desktop__s1uoc","size-lg-desktop":"SelectInputNative-module_size-lg-desktop__Ri2Ka","size-sm-hd":"SelectInputNative-module_size-sm-hd__RVm4G","size-md-hd":"SelectInputNative-module_size-md-hd__m4Rqf","size-lg-hd":"SelectInputNative-module_size-lg-hd__V6i8b","error":"SelectInputNative-module_error__RBOZT","text-input-label":"SelectInputNative-module_text-input-label__-YjDc"};
2748
+
2749
+ var _excluded$e = ["autoFocus", "label", "hideLabel", "helpText", "error", "id", "isDisabled", "isRequired", "name", "value", "options", "onChange", "placeholder", "requiredIndicator", "size"];
2750
+ var SelectInputNative = function SelectInputNative(_ref) {
2751
+ var _ref2;
2752
+ var _ref$autoFocus = _ref.autoFocus,
2753
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2754
+ label = _ref.label,
2755
+ hideLabel = _ref.hideLabel,
2756
+ helpText = _ref.helpText,
2757
+ error = _ref.error,
2758
+ id = _ref.id,
2759
+ isDisabled = _ref.isDisabled,
2760
+ isRequired = _ref.isRequired,
2761
+ name = _ref.name,
2762
+ value = _ref.value,
2763
+ options = _ref.options,
2764
+ onChange = _ref.onChange,
2765
+ _ref$placeholder = _ref.placeholder,
2766
+ placeholder = _ref$placeholder === void 0 ? 'Select...' : _ref$placeholder,
2767
+ _ref$requiredIndicato = _ref.requiredIndicator,
2768
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2769
+ _ref$size = _ref.size,
2770
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2771
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$e);
2772
+ var placeholderOption = {
2773
+ value: '',
2774
+ label: placeholder
2775
+ };
2776
+ var optionsWithPlaceholder = [_extends({}, placeholderOption)].concat(options);
2777
+ var responsiveClasses = generateResponsiveClasses('size', size);
2778
+ var selectWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$9['select-input-native-wrapper']].concat(responsiveClasses.map(function (className) {
2779
+ return styles$9[className];
2780
+ }), [(_ref2 = {}, _ref2[styles$9.disabled] = isDisabled, _ref2[styles$9.error] = error, _ref2)]));
2781
+ return React.createElement(FormControl, _extends({
2782
+ label: label,
2783
+ hideLabel: hideLabel,
2784
+ id: id,
2785
+ error: error,
2786
+ helpText: helpText,
2787
+ isDisabled: isDisabled,
2788
+ isRequired: isRequired,
2789
+ requiredIndicator: requiredIndicator
2790
+ }, restProps), React.createElement(Box, {
2791
+ className: selectWrapperClasses
2792
+ }, React.createElement(Box, {
2793
+ as: "select",
2794
+ "aria-label": label,
2795
+ "aria-labelledby": label && !hideLabel ? id + "Label" : undefined,
2796
+ "aria-required": isRequired,
2797
+ value: value != null ? value : '',
2798
+ onChange: onChange,
2799
+ color: !value ? 'disabled' : 'base',
2800
+ autoFocus: autoFocus,
2801
+ disabled: isDisabled,
2802
+ name: name,
2803
+ id: id,
2804
+ required: isRequired
2805
+ }, optionsWithPlaceholder.map(function (option) {
2806
+ return React.createElement(Box, {
2807
+ as: "option",
2808
+ key: option.value,
2809
+ value: option.value,
2810
+ disabled: option.value === '',
2811
+ hidden: option.value === '',
2812
+ color: option.value === '' ? 'disabled' : 'base'
2813
+ }, option.label);
2814
+ }))));
2815
+ };
2816
+
2817
+ var _excluded$d = ["field", "form", "onChange", "options", "id", "label"];
2818
+ var FormikSelectInputNative = function FormikSelectInputNative(_ref) {
2819
+ var _ref$field = _ref.field,
2820
+ name = _ref$field.name,
2821
+ onBlur = _ref$field.onBlur,
2822
+ formikOnChange = _ref$field.onChange,
2823
+ value = _ref$field.value,
2824
+ _ref$form = _ref.form,
2825
+ touched = _ref$form.touched,
2826
+ errors = _ref$form.errors,
2827
+ onChange = _ref.onChange,
2828
+ options = _ref.options,
2829
+ id = _ref.id,
2830
+ label = _ref.label,
2831
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
2832
+ return React.createElement(SelectInputNative, _extends({}, props, {
2833
+ options: options,
2834
+ id: id,
2835
+ label: label,
2836
+ onChange: onChange != null ? onChange : formikOnChange,
2837
+ name: name,
2838
+ onBlur: onBlur,
2839
+ value: value,
2840
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2841
+ }));
2842
+ };
2843
+
2844
+ var _excluded$c = ["field", "form", "onChange", "id", "label"];
2845
+ var FormikTextInput = function FormikTextInput(_ref) {
2846
+ var _ref$field = _ref.field,
2847
+ name = _ref$field.name,
2848
+ onBlur = _ref$field.onBlur,
2849
+ formikOnChange = _ref$field.onChange,
2850
+ value = _ref$field.value,
2851
+ _ref$form = _ref.form,
2852
+ touched = _ref$form.touched,
2853
+ errors = _ref$form.errors,
2854
+ onChange = _ref.onChange,
2855
+ id = _ref.id,
2856
+ label = _ref.label,
2857
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
2858
+ return React.createElement(TextInput, _extends({}, props, {
2859
+ id: id,
2860
+ label: label,
2861
+ name: name,
2862
+ onBlur: onBlur,
2863
+ onChange: onChange != null ? onChange : formikOnChange,
2864
+ value: value,
2865
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2866
+ }));
2867
+ };
2868
+
2869
+ var styles$8 = {"textarea-input-wrapper":"TextareaInput-module_textarea-input-wrapper__mJBZN","size-sm":"TextareaInput-module_size-sm__-YCcV","size-md":"TextareaInput-module_size-md__uPOvN","size-lg":"TextareaInput-module_size-lg__P5SYv","size-sm-tablet":"TextareaInput-module_size-sm-tablet__rYP2T","size-md-tablet":"TextareaInput-module_size-md-tablet__D1PYq","size-lg-tablet":"TextareaInput-module_size-lg-tablet__N-UED","size-sm-desktop":"TextareaInput-module_size-sm-desktop__Z-Zdg","size-md-desktop":"TextareaInput-module_size-md-desktop__W3jIm","size-lg-desktop":"TextareaInput-module_size-lg-desktop__XLwk0","size-sm-hd":"TextareaInput-module_size-sm-hd__KP21d","size-md-hd":"TextareaInput-module_size-md-hd__3me0R","size-lg-hd":"TextareaInput-module_size-lg-hd__BcgC-","error":"TextareaInput-module_error__JpCpt","textarea-input-label":"TextareaInput-module_textarea-input-label__1zb77","textarea-resize-both":"TextareaInput-module_textarea-resize-both__Gn3Zh","textarea-resize-horizontal":"TextareaInput-module_textarea-resize-horizontal__0aRED","textarea-resize-vertical":"TextareaInput-module_textarea-resize-vertical__DbKar","textarea-resize-none":"TextareaInput-module_textarea-resize-none__l6dRF"};
2870
+
2871
+ var _excluded$b = ["id", "label", "onChange", "value", "autoComplete", "autoFocus", "className", "error", "helpText", "hideLabel", "isDisabled", "isRequired", "maxLength", "name", "onBlur", "onFocus", "placeholder", "requiredIndicator", "resize", "rows", "size"];
2872
+ var TextareaInput = function TextareaInput(_ref) {
2873
+ var _ref2;
2874
+ var id = _ref.id,
2875
+ label = _ref.label,
2876
+ onChange = _ref.onChange,
2877
+ value = _ref.value,
2878
+ _ref$autoComplete = _ref.autoComplete,
2879
+ autoComplete = _ref$autoComplete === void 0 ? false : _ref$autoComplete,
2880
+ _ref$autoFocus = _ref.autoFocus,
2881
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
2882
+ _ref$className = _ref.className,
2883
+ className = _ref$className === void 0 ? undefined : _ref$className,
2884
+ _ref$error = _ref.error,
2885
+ error = _ref$error === void 0 ? false : _ref$error,
2886
+ helpText = _ref.helpText,
2887
+ _ref$hideLabel = _ref.hideLabel,
2888
+ hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
2889
+ _ref$isDisabled = _ref.isDisabled,
2890
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2891
+ _ref$isRequired = _ref.isRequired,
2892
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
2893
+ _ref$maxLength = _ref.maxLength,
2894
+ maxLength = _ref$maxLength === void 0 ? undefined : _ref$maxLength,
2895
+ _ref$name = _ref.name,
2896
+ name = _ref$name === void 0 ? undefined : _ref$name,
2897
+ _ref$onBlur = _ref.onBlur,
2898
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
2899
+ _ref$onFocus = _ref.onFocus,
2900
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
2901
+ _ref$placeholder = _ref.placeholder,
2902
+ placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
2903
+ _ref$requiredIndicato = _ref.requiredIndicator,
2904
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
2905
+ _ref$resize = _ref.resize,
2906
+ resize = _ref$resize === void 0 ? 'vertical' : _ref$resize,
2907
+ _ref$rows = _ref.rows,
2908
+ rows = _ref$rows === void 0 ? 3 : _ref$rows,
2909
+ _ref$size = _ref.size,
2910
+ size = _ref$size === void 0 ? 'md' : _ref$size,
2911
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$b);
2912
+ var responsiveClasses = generateResponsiveClasses('size', size);
2913
+ var inputWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$8['textarea-input-wrapper']].concat(responsiveClasses.map(function (c) {
2914
+ return styles$8[c];
2915
+ }), [(_ref2 = {}, _ref2[styles$8.error] = error, _ref2[styles$8.disabled] = isDisabled, _ref2)]));
2916
+ var inputProps = {
2917
+ 'aria-required': isRequired,
2918
+ 'aria-invalid': !!error,
2919
+ 'aria-label': label,
2920
+ 'aria-labelledby': label && !hideLabel ? id + "Label" : undefined,
2921
+ autoComplete: getAutoCompleteValue(autoComplete),
2922
+ autoFocus: autoFocus,
2923
+ className: classNames(styles$8["textarea-resize-" + resize]),
2924
+ disabled: isDisabled,
2925
+ id: id,
2926
+ maxLength: maxLength,
2927
+ name: name,
2928
+ onBlur: onBlur,
2929
+ onChange: onChange,
2930
+ onFocus: onFocus,
2931
+ placeholder: placeholder,
2932
+ required: isRequired,
2933
+ rows: rows,
2934
+ value: value
2935
+ };
2936
+ var labelProps = {
2937
+ inputId: id,
2938
+ helpText: helpText,
2939
+ className: styles$8['textarea-input-label'],
2940
+ isDisabled: isDisabled,
2941
+ isFieldRequired: isRequired,
2942
+ requiredIndicator: requiredIndicator
2943
+ };
2944
+ return React.createElement(Box, _extends({
2945
+ width: "100%",
2946
+ className: className
2947
+ }, restProps), label && !hideLabel && React.createElement(FormLabel, _extends({}, labelProps), label), React.createElement(Box, {
2948
+ display: "block",
2949
+ className: inputWrapperClasses
2950
+ }, React.createElement(Box, _extends({
2951
+ as: "textarea"
2952
+ }, inputProps))), error && error !== true && React.createElement(InputValidationMessage, null, error));
2953
+ };
2954
+
2955
+ var _excluded$a = ["field", "form", "onChange", "id", "label"];
2956
+ var FormikTextareaInput = function FormikTextareaInput(_ref) {
2957
+ var _ref$field = _ref.field,
2958
+ name = _ref$field.name,
2959
+ onBlur = _ref$field.onBlur,
2960
+ formikOnChange = _ref$field.onChange,
2961
+ value = _ref$field.value,
2962
+ _ref$form = _ref.form,
2963
+ touched = _ref$form.touched,
2964
+ errors = _ref$form.errors,
2965
+ onChange = _ref.onChange,
2966
+ id = _ref.id,
2967
+ label = _ref.label,
2968
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
2969
+ return React.createElement(TextareaInput, _extends({}, props, {
2970
+ id: id,
2971
+ label: label,
2972
+ name: name,
2973
+ onBlur: onBlur,
2974
+ onChange: onChange != null ? onChange : formikOnChange,
2975
+ value: value,
2976
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
2977
+ }));
2978
+ };
2979
+
2980
+ var _excluded$9 = ["id", "name", "label", "onChange", "value", "dateDisplayOptions", "endTime", "interval", "locales", "placeholder", "startTime"];
2981
+ var TimePicker = function TimePicker(_ref) {
2982
+ var id = _ref.id,
2983
+ name = _ref.name,
2984
+ label = _ref.label,
2985
+ onChange = _ref.onChange,
2986
+ value = _ref.value,
2987
+ _ref$dateDisplayOptio = _ref.dateDisplayOptions,
2988
+ dateDisplayOptions = _ref$dateDisplayOptio === void 0 ? {
2989
+ hour: '2-digit',
2990
+ minute: '2-digit'
2991
+ } : _ref$dateDisplayOptio,
2992
+ _ref$endTime = _ref.endTime,
2993
+ endTime = _ref$endTime === void 0 ? undefined : _ref$endTime,
2994
+ _ref$interval = _ref.interval,
2995
+ interval = _ref$interval === void 0 ? 900 : _ref$interval,
2996
+ _ref$locales = _ref.locales,
2997
+ locales = _ref$locales === void 0 ? 'en-US' : _ref$locales,
2998
+ _ref$placeholder = _ref.placeholder,
2999
+ placeholder = _ref$placeholder === void 0 ? 'HH:MM' : _ref$placeholder,
3000
+ _ref$startTime = _ref.startTime,
3001
+ startTime = _ref$startTime === void 0 ? undefined : _ref$startTime,
3002
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$9);
3003
+ var generateTimes = function generateTimes() {
3004
+ var first = new Date();
3005
+ first.setHours((startTime == null ? void 0 : startTime.hour) || 0, (startTime == null ? void 0 : startTime.minute) || 0, 0, 0);
3006
+ var last = new Date();
3007
+ last.setHours((endTime == null ? void 0 : endTime.hour) || first.getHours() + 24, (endTime == null ? void 0 : endTime.minute) || 0, 0, 0);
3008
+ var timeOptions = [];
3009
+ var currentTime = new Date(first);
3010
+ while (currentTime < last) {
3011
+ timeOptions.push({
3012
+ value: currentTime.toISOString(),
3013
+ label: currentTime.toLocaleTimeString(locales, dateDisplayOptions)
3014
+ });
3015
+ currentTime.setSeconds(first.getSeconds() + interval);
3016
+ }
3017
+ return timeOptions;
3018
+ };
3019
+ return React.createElement(SelectInput, _extends({}, restProps, {
3020
+ id: id,
3021
+ name: name,
3022
+ label: label,
3023
+ onChange: onChange,
3024
+ options: generateTimes(),
3025
+ placeholder: placeholder,
3026
+ value: value
3027
+ }));
3028
+ };
3029
+
3030
+ var _excluded$8 = ["field", "form", "options", "onChange"];
3031
+ var FormikTimePicker = function FormikTimePicker(_ref) {
3032
+ var _ref$field = _ref.field,
3033
+ name = _ref$field.name,
3034
+ onBlur = _ref$field.onBlur,
3035
+ formikOnChange = _ref$field.onChange,
3036
+ value = _ref$field.value,
3037
+ _ref$form = _ref.form,
3038
+ touched = _ref$form.touched,
3039
+ errors = _ref$form.errors,
3040
+ options = _ref.options,
3041
+ onChange = _ref.onChange,
3042
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
3043
+ return React.createElement(TimePicker, _extends({}, props, {
3044
+ name: name,
3045
+ onBlur: onBlur,
3046
+ onChange: onChange != null ? onChange : formikOnChange,
3047
+ value: value,
3048
+ error: formik.getIn(touched, name) && formik.getIn(errors, name),
3049
+ options: options
3050
+ }));
3051
+ };
3052
+
3053
+ var _excluded$7 = ["id", "name", "label", "onChange", "value", "dateDisplayOptions", "endTime", "interval", "locales", "placeholder", "startTime"];
3054
+ var TimePickerNative = function TimePickerNative(_ref) {
3055
+ var id = _ref.id,
3056
+ name = _ref.name,
3057
+ label = _ref.label,
3058
+ onChange = _ref.onChange,
3059
+ value = _ref.value,
3060
+ _ref$dateDisplayOptio = _ref.dateDisplayOptions,
3061
+ dateDisplayOptions = _ref$dateDisplayOptio === void 0 ? {
3062
+ hour: '2-digit',
3063
+ minute: '2-digit'
3064
+ } : _ref$dateDisplayOptio,
3065
+ _ref$endTime = _ref.endTime,
3066
+ endTime = _ref$endTime === void 0 ? undefined : _ref$endTime,
3067
+ _ref$interval = _ref.interval,
3068
+ interval = _ref$interval === void 0 ? 900 : _ref$interval,
3069
+ _ref$locales = _ref.locales,
3070
+ locales = _ref$locales === void 0 ? 'en-US' : _ref$locales,
3071
+ _ref$placeholder = _ref.placeholder,
3072
+ placeholder = _ref$placeholder === void 0 ? 'HH:MM' : _ref$placeholder,
3073
+ _ref$startTime = _ref.startTime,
3074
+ startTime = _ref$startTime === void 0 ? undefined : _ref$startTime,
3075
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$7);
3076
+ var generateTimes = function generateTimes() {
3077
+ var first = new Date();
3078
+ first.setHours((startTime == null ? void 0 : startTime.hour) || 0, (startTime == null ? void 0 : startTime.minute) || 0, 0, 0);
3079
+ var last = new Date();
3080
+ last.setHours((endTime == null ? void 0 : endTime.hour) || first.getHours() + 24, (endTime == null ? void 0 : endTime.minute) || 0, 0, 0);
3081
+ var timeOptions = [];
3082
+ var currentTime = new Date(first);
3083
+ while (currentTime < last) {
3084
+ timeOptions.push({
3085
+ value: currentTime.toISOString(),
3086
+ label: currentTime.toLocaleTimeString(locales, dateDisplayOptions)
3087
+ });
3088
+ currentTime.setSeconds(first.getSeconds() + interval);
3089
+ }
3090
+ return timeOptions;
3091
+ };
3092
+ var options = generateTimes();
3093
+ return React.createElement(SelectInputNative, _extends({}, restProps, {
3094
+ id: id,
3095
+ name: name,
3096
+ label: label,
3097
+ onChange: onChange,
3098
+ options: options,
3099
+ placeholder: placeholder,
3100
+ value: value
3101
+ }));
3102
+ };
3103
+
3104
+ var _excluded$6 = ["field", "form", "onChange"];
3105
+ var FormikTimePickerNative = function FormikTimePickerNative(_ref) {
3106
+ var _ref$field = _ref.field,
3107
+ name = _ref$field.name,
3108
+ onBlur = _ref$field.onBlur,
3109
+ formikOnChange = _ref$field.onChange,
3110
+ value = _ref$field.value,
3111
+ _ref$form = _ref.form,
3112
+ touched = _ref$form.touched,
3113
+ errors = _ref$form.errors,
3114
+ onChange = _ref.onChange,
3115
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
3116
+ return React.createElement(TimePickerNative, _extends({}, props, {
3117
+ name: name,
3118
+ onBlur: onBlur,
3119
+ onChange: onChange != null ? onChange : formikOnChange,
3120
+ value: value,
3121
+ error: formik.getIn(touched, name) && formik.getIn(errors, name)
3122
+ }));
3123
+ };
3124
+
3125
+ var styles$7 = {"thumb-size-sm":"Toggle-module_thumb-size-sm__GeodE","thumb-size-md":"Toggle-module_thumb-size-md__hZP-v","thumb-size-lg":"Toggle-module_thumb-size-lg__vTfiF","track-size-sm":"Toggle-module_track-size-sm__9H8xR","track-size-md":"Toggle-module_track-size-md__7tLlO","track-size-lg":"Toggle-module_track-size-lg__9drMt","thumb-size-sm-tablet":"Toggle-module_thumb-size-sm-tablet__pbksf","thumb-size-md-tablet":"Toggle-module_thumb-size-md-tablet__-TDJj","thumb-size-lg-tablet":"Toggle-module_thumb-size-lg-tablet__Q0isC","track-size-sm-tablet":"Toggle-module_track-size-sm-tablet__vpDN9","track-size-md-tablet":"Toggle-module_track-size-md-tablet__jBAOT","track-size-lg-tablet":"Toggle-module_track-size-lg-tablet__MLRv2","thumb-size-sm-desktop":"Toggle-module_thumb-size-sm-desktop__8a93z","thumb-size-md-desktop":"Toggle-module_thumb-size-md-desktop__VaAlw","thumb-size-lg-desktop":"Toggle-module_thumb-size-lg-desktop__c9vh7","track-size-sm-desktop":"Toggle-module_track-size-sm-desktop__LqFN-","track-size-md-desktop":"Toggle-module_track-size-md-desktop__3ClrR","track-size-lg-desktop":"Toggle-module_track-size-lg-desktop__ruWSF","thumb-size-sm-hd":"Toggle-module_thumb-size-sm-hd__m5Lwq","thumb-size-md-hd":"Toggle-module_thumb-size-md-hd__4VcAY","thumb-size-lg-hd":"Toggle-module_thumb-size-lg-hd__L-oay","track-size-sm-hd":"Toggle-module_track-size-sm-hd__0m-1g","track-size-md-hd":"Toggle-module_track-size-md-hd__S19uj","track-size-lg-hd":"Toggle-module_track-size-lg-hd__Go0mj","disabled":"Toggle-module_disabled__sxlCk","toggle-thumb":"Toggle-module_toggle-thumb__6hl8Y","toggle-track":"Toggle-module_toggle-track__Jv1qD","error":"Toggle-module_error__f1tIX","toggle-input":"Toggle-module_toggle-input__sNnss"};
3126
+
3127
+ var Toggle = function Toggle(_ref) {
3128
+ var _classNames, _ref2;
3129
+ var id = _ref.id,
3130
+ isChecked = _ref.isChecked,
3131
+ label = _ref.label,
3132
+ onChange = _ref.onChange,
3133
+ _ref$className = _ref.className,
3134
+ className = _ref$className === void 0 ? '' : _ref$className,
3135
+ _ref$error = _ref.error,
3136
+ error = _ref$error === void 0 ? false : _ref$error,
3137
+ _ref$hideLabel = _ref.hideLabel,
3138
+ hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
3139
+ helpText = _ref.helpText,
3140
+ _ref$isDisabled = _ref.isDisabled,
3141
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
3142
+ _ref$isRequired = _ref.isRequired,
3143
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
3144
+ _ref$onBlur = _ref.onBlur,
3145
+ onBlur = _ref$onBlur === void 0 ? undefined : _ref$onBlur,
3146
+ _ref$onFocus = _ref.onFocus,
3147
+ onFocus = _ref$onFocus === void 0 ? undefined : _ref$onFocus,
3148
+ _ref$requiredIndicato = _ref.requiredIndicator,
3149
+ requiredIndicator = _ref$requiredIndicato === void 0 ? ' *' : _ref$requiredIndicato,
3150
+ _ref$size = _ref.size,
3151
+ size = _ref$size === void 0 ? 'md' : _ref$size;
3152
+ var handleBlur = function handleBlur(event) {
3153
+ if (onBlur) onBlur(event);
3154
+ };
3155
+ var handleChange = function handleChange(event) {
3156
+ onChange(event);
3157
+ };
3158
+ var handleFocus = function handleFocus(event) {
3159
+ if (onFocus) onFocus(event);
3160
+ };
3161
+ var wrapperClasses = classNames('hyphen-components__variables__form-control', (_classNames = {}, _classNames[styles$7.disabled] = isDisabled, _classNames));
3162
+ var trackClasses = classNames.apply(void 0, [styles$7['toggle-track']].concat(generateResponsiveClasses('track-size', size).map(function (c) {
3163
+ return styles$7[c];
3164
+ }), [(_ref2 = {}, _ref2[styles$7.error] = error, _ref2)]));
3165
+ var thumbClasses = classNames.apply(void 0, [styles$7['toggle-thumb']].concat(generateResponsiveClasses('thumb-size', size).map(function (c) {
3166
+ return styles$7[c];
3167
+ })));
3168
+ var inputProps = {
3169
+ 'aria-required': isRequired,
3170
+ 'aria-invalid': !!error,
3171
+ 'aria-label': label,
3172
+ 'aria-labelledby': label && !hideLabel ? id + "Label" : undefined,
3173
+ id: id,
3174
+ checked: !!isChecked,
3175
+ disabled: isDisabled,
3176
+ onBlur: handleBlur,
3177
+ onChange: handleChange,
3178
+ onFocus: handleFocus,
3179
+ required: isRequired,
3180
+ type: 'checkbox',
3181
+ className: styles$7['toggle-input']
3182
+ };
3183
+ var labelProps = {
3184
+ inputId: id,
3185
+ isDisabled: isDisabled,
3186
+ display: 'flex',
3187
+ direction: 'row',
3188
+ childGap: 'md',
3189
+ alignItems: helpText ? 'flex-start' : 'center',
3190
+ isFieldRequired: isRequired,
3191
+ requiredIndicator: requiredIndicator
3192
+ };
3193
+ return React.createElement(Box, {
3194
+ className: className
3195
+ }, React.createElement(Box, {
3196
+ className: wrapperClasses
3197
+ }, React.createElement(FormLabel, _extends({}, labelProps), React.createElement("input", _extends({}, inputProps)), React.createElement("span", {
3198
+ "aria-hidden": "true",
3199
+ className: trackClasses,
3200
+ "data-testid": "toggleTrack"
3201
+ }, React.createElement("span", {
3202
+ className: thumbClasses,
3203
+ "data-testid": "toggleThumb"
3204
+ })), !hideLabel && React.createElement(Box, {
3205
+ gap: "2xs",
3206
+ className: helpText && (size === 'md' || size === 'lg') ? 'm-top-2xs' : ''
3207
+ }, label && React.createElement("div", null, label), helpText && React.createElement(Box, {
3208
+ as: "p",
3209
+ display: "block",
3210
+ fontSize: "sm",
3211
+ fontWeight: "normal",
3212
+ color: "secondary"
3213
+ }, helpText)))), error && error !== true && React.createElement(InputValidationMessage, null, error));
3214
+ };
3215
+
3216
+ var _excluded$5 = ["field", "form"];
3217
+ var FormikToggle = function FormikToggle(_ref) {
3218
+ var _ref$field = _ref.field,
3219
+ name = _ref$field.name,
3220
+ onBlur = _ref$field.onBlur,
3221
+ onChange = _ref$field.onChange,
3222
+ value = _ref$field.value,
3223
+ _ref$form = _ref.form,
3224
+ touched = _ref$form.touched,
3225
+ errors = _ref$form.errors,
3226
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3227
+ return React.createElement(Toggle, _extends({
3228
+ error: formik.getIn(touched, name) && formik.getIn(errors, name),
3229
+ isChecked: value,
3230
+ onBlur: onBlur,
3231
+ onChange: onChange
3232
+ }, props));
3233
+ };
3234
+
3235
+ var _excluded$4 = ["children", "padding", "direction", "alignItems", "justifyContent", "background", "gap", "style"];
3236
+ var ModalFooter = function ModalFooter(_ref) {
3237
+ var children = _ref.children,
3238
+ _ref$padding = _ref.padding,
3239
+ padding = _ref$padding === void 0 ? 'xl' : _ref$padding,
3240
+ _ref$direction = _ref.direction,
3241
+ direction = _ref$direction === void 0 ? 'row' : _ref$direction,
3242
+ _ref$alignItems = _ref.alignItems,
3243
+ alignItems = _ref$alignItems === void 0 ? 'center' : _ref$alignItems,
3244
+ _ref$justifyContent = _ref.justifyContent,
3245
+ justifyContent = _ref$justifyContent === void 0 ? 'flex-end' : _ref$justifyContent,
3246
+ _ref$background = _ref.background,
3247
+ background = _ref$background === void 0 ? 'secondary' : _ref$background,
3248
+ _ref$gap = _ref.gap,
3249
+ gap = _ref$gap === void 0 ? 'sm' : _ref$gap,
3250
+ style = _ref.style,
3251
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$4);
3252
+ return React.createElement(Box, _extends({
3253
+ background: background,
3254
+ padding: padding,
3255
+ direction: direction,
3256
+ alignItems: alignItems,
3257
+ justifyContent: justifyContent,
3258
+ borderWidth: "sm 0 0 0",
3259
+ borderColor: "default",
3260
+ gap: gap,
3261
+ style: _extends({
3262
+ flexShrink: 0
3263
+ }, style)
3264
+ }, restProps), children);
3265
+ };
3266
+
3267
+ var styles$6 = {"modal-close":"Modal-module_modal-close__1YmMa","modal":"Modal-module_modal__yNG-7","modal-content":"Modal-module_modal-content__GMtBm"};
3268
+
3269
+ var ModalHeader = function ModalHeader(_ref) {
3270
+ var id = _ref.id,
3271
+ onDismiss = _ref.onDismiss,
3272
+ _ref$title = _ref.title,
3273
+ title = _ref$title === void 0 ? undefined : _ref$title;
3274
+ var justifyContentValue = title === undefined && onDismiss ? 'flex-end' : 'space-between';
3275
+ return React.createElement(Box, {
3276
+ padding: "xl",
3277
+ direction: "row",
3278
+ alignItems: "center",
3279
+ justifyContent: justifyContentValue,
3280
+ borderWidth: "0 0 sm 0",
3281
+ borderColor: "default",
3282
+ style: {
3283
+ flexShrink: 0
3284
+ }
3285
+ }, title && React.createElement(Box, {
3286
+ as: "h4",
3287
+ fontSize: {
3288
+ base: 'md',
3289
+ tablet: 'lg'
3290
+ },
3291
+ id: id
3292
+ }, title), onDismiss && React.createElement("button", {
3293
+ "aria-label": "close",
3294
+ type: "button",
3295
+ className: styles$6['modal-close'],
3296
+ onClick: onDismiss
3297
+ }, React.createElement(Icon, {
3298
+ name: "remove"
3299
+ })));
3300
+ };
3301
+
3302
+ var _excluded$3 = ["children", "flex", "padding", "overflow", "height"];
3303
+ var ModalBody = function ModalBody(_ref) {
3304
+ var children = _ref.children,
3305
+ _ref$flex = _ref.flex,
3306
+ flex = _ref$flex === void 0 ? 'auto' : _ref$flex,
3307
+ _ref$padding = _ref.padding,
3308
+ padding = _ref$padding === void 0 ? 'xl' : _ref$padding,
3309
+ _ref$overflow = _ref.overflow,
3310
+ overflow = _ref$overflow === void 0 ? 'auto' : _ref$overflow,
3311
+ _ref$height = _ref.height,
3312
+ height = _ref$height === void 0 ? '100' : _ref$height,
3313
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$3);
3314
+ return React.createElement(Box, _extends({
3315
+ padding: padding,
3316
+ flex: flex,
3317
+ overflow: overflow,
3318
+ height: height,
3319
+ style: {
3320
+ position: 'relative'
3321
+ }
3322
+ }, restProps), children);
3323
+ };
3324
+
3325
+ var _excluded$2 = ["ariaLabel", "ariaLabelledBy", "allowPinchZoom", "children", "className", "containerRef", "fullScreenMobile", "initialFocusRef", "isOpen", "maxWidth", "onDismiss", "overflow"];
3326
+ var ModalBaseComponent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3327
+ var _classNames;
3328
+ var ariaLabel = _ref.ariaLabel,
3329
+ ariaLabelledBy = _ref.ariaLabelledBy,
3330
+ _ref$allowPinchZoom = _ref.allowPinchZoom,
3331
+ allowPinchZoom = _ref$allowPinchZoom === void 0 ? false : _ref$allowPinchZoom,
3332
+ children = _ref.children,
3333
+ className = _ref.className,
3334
+ _ref$containerRef = _ref.containerRef,
3335
+ containerRef = _ref$containerRef === void 0 ? undefined : _ref$containerRef,
3336
+ _ref$fullScreenMobile = _ref.fullScreenMobile,
3337
+ fullScreenMobile = _ref$fullScreenMobile === void 0 ? false : _ref$fullScreenMobile,
3338
+ initialFocusRef = _ref.initialFocusRef,
3339
+ isOpen = _ref.isOpen,
3340
+ _ref$maxWidth = _ref.maxWidth,
3341
+ maxWidth = _ref$maxWidth === void 0 ? undefined : _ref$maxWidth,
3342
+ onDismiss = _ref.onDismiss,
3343
+ _ref$overflow = _ref.overflow,
3344
+ overflow = _ref$overflow === void 0 ? 'hidden' : _ref$overflow,
3345
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded$2);
3346
+ var activateFocusLock = React.useCallback(function () {
3347
+ setTimeout(function () {
3348
+ if (initialFocusRef && initialFocusRef.current) {
3349
+ initialFocusRef.current.focus();
3350
+ }
3351
+ }, 100);
3352
+ }, [initialFocusRef]);
3353
+ var maxWidthCss = getDimensionCss('mw', maxWidth);
3354
+ var overlayClassnames = classNames(styles$6.overlay, styles$6.modal, {
3355
+ fullscreen: fullScreenMobile
3356
+ });
3357
+ var contentClassnames = classNames(styles$6['modal-content'], className, maxWidthCss.classes, (_classNames = {}, _classNames["overflow-" + overflow] = overflow, _classNames));
3358
+ var parentElement = containerRef != null && containerRef.current ? containerRef.current : undefined;
3359
+ return React.createElement(FocusLock, {
3360
+ autoFocus: true,
3361
+ returnFocus: true,
3362
+ disabled: !isOpen,
3363
+ onActivation: activateFocusLock,
3364
+ crossFrame: true
3365
+ }, React.createElement(reactRemoveScroll.RemoveScroll, {
3366
+ allowPinchZoom: allowPinchZoom,
3367
+ enabled: isOpen
3368
+ }, React.createElement(Box, {
3369
+ ref: ref
3370
+ }, React.createElement(ReactModal, _extends({
3371
+ isOpen: isOpen,
3372
+ overlayClassName: overlayClassnames,
3373
+ className: contentClassnames,
3374
+ onRequestClose: onDismiss,
3375
+ ariaHideApp: false,
3376
+ parentSelector: parentElement ? function () {
3377
+ return parentElement;
3378
+ } : undefined
3379
+ }, restProps), React.createElement(Box, {
3380
+ "aria-label": ariaLabel,
3381
+ "aria-labelledby": ariaLabelledBy,
3382
+ style: _extends({}, maxWidthCss.styles),
3383
+ height: "100"
3384
+ }, children)))));
3385
+ });
3386
+ // Actual component is wrapped in an IIFE for the export
3387
+ // To allow tree-shaking even with static properties (subcomponents in this case).
3388
+ var Modal = /*#__PURE__*/function () {
3389
+ var Modal = ModalBaseComponent; // eslint-disable-line no-shadow
3390
+ Modal.Body = ModalBody;
3391
+ Modal.Footer = ModalFooter;
3392
+ Modal.Header = ModalHeader;
3393
+ return Modal;
3394
+ }();
3395
+
3396
+ var generatePages = function generatePages(pageRange, pageTotal, activePage, numberOfPagesDisplayed) {
3397
+ var _pages;
3398
+ var pages = [];
3399
+ var startingPage = 1;
3400
+ var endingPage = pageRange;
3401
+ if (pageTotal <= pageRange) {
3402
+ startingPage = 1;
3403
+ endingPage = pageRange;
3404
+ } else if (activePage + numberOfPagesDisplayed > pageTotal) {
3405
+ startingPage = pageTotal - (numberOfPagesDisplayed - 1);
3406
+ endingPage = startingPage + (numberOfPagesDisplayed - 1);
3407
+ } else if (activePage > numberOfPagesDisplayed && activePage + numberOfPagesDisplayed <= pageTotal) {
3408
+ startingPage = activePage - Math.floor(numberOfPagesDisplayed / 2);
3409
+ endingPage = startingPage + (numberOfPagesDisplayed - 1);
3410
+ }
3411
+ for (var i = startingPage; i <= endingPage; i += 1) {
3412
+ pages.push({
3413
+ pageNumber: i,
3414
+ isPage: true
3415
+ });
3416
+ }
3417
+ if (pageTotal > ((_pages = pages[pages.length - 1]) == null ? void 0 : _pages.pageNumber)) {
3418
+ var secondToLastPage = pageTotal !== activePage + numberOfPagesDisplayed ? activePage + numberOfPagesDisplayed : pageTotal - 1;
3419
+ // only add ellipsis if there are more than 0 pages between the final page and the rest of the pages
3420
+ if (pageTotal > numberOfPagesDisplayed + 1) {
3421
+ pages.push({
3422
+ pageNumber: secondToLastPage,
3423
+ isPage: false
3424
+ });
3425
+ }
3426
+ pages.push({
3427
+ pageNumber: pageTotal,
3428
+ isPage: true
3429
+ });
3430
+ }
3431
+ if (activePage > numberOfPagesDisplayed) {
3432
+ var threeDotsPage = activePage - numberOfPagesDisplayed > 1 ? activePage - numberOfPagesDisplayed : activePage - numberOfPagesDisplayed + 1;
3433
+ pages.unshift({
3434
+ pageNumber: 1,
3435
+ isPage: true
3436
+ }, {
3437
+ pageNumber: threeDotsPage,
3438
+ isPage: false
3439
+ });
3440
+ }
3441
+ return [].concat(pages);
3442
+ };
3443
+ // Return the true page range in cases
3444
+ // where number of pages wanted for display is larger than the actual page total.
3445
+ var generatePageRange = function generatePageRange(numberOfPagesDisplayed, pageTotal) {
3446
+ return numberOfPagesDisplayed > pageTotal ? pageTotal : numberOfPagesDisplayed;
3447
+ };
3448
+ var generatePageTotal = function generatePageTotal(totalItemsCount, itemsPerPage) {
3449
+ return Math.ceil(totalItemsCount / itemsPerPage);
3450
+ };
3451
+ // Returns the range of current items displayed based on the specific page.
3452
+ // E.G: if the items per page is 20 and we are on page 1, it will return:
3453
+ // { first: 1, last: 20 }
3454
+ var generateActiveListRange = function generateActiveListRange(activePage, totalItemsCount, itemsPerPage) {
3455
+ var activePageRange = {};
3456
+ var pageTotal = generatePageTotal(totalItemsCount, itemsPerPage);
3457
+ if (activePage === 1) {
3458
+ activePageRange.first = 1;
3459
+ activePageRange.last = totalItemsCount > itemsPerPage ? itemsPerPage : totalItemsCount;
3460
+ } else if (activePage < pageTotal) {
3461
+ activePageRange.first = activePage * itemsPerPage - (itemsPerPage - 1);
3462
+ activePageRange.last = activePage * itemsPerPage;
3463
+ } else {
3464
+ activePageRange.first = activePage * itemsPerPage - (itemsPerPage - 1);
3465
+ activePageRange.last = totalItemsCount;
3466
+ }
3467
+ return activePageRange;
3468
+ };
3469
+
3470
+ var Pagination = function Pagination(_ref) {
3471
+ var activePage = _ref.activePage,
3472
+ itemsPerPage = _ref.itemsPerPage,
3473
+ onChange = _ref.onChange,
3474
+ totalItemsCount = _ref.totalItemsCount,
3475
+ _ref$arePagesVisible = _ref.arePagesVisible,
3476
+ arePagesVisible = _ref$arePagesVisible === void 0 ? false : _ref$arePagesVisible,
3477
+ _ref$className = _ref.className,
3478
+ className = _ref$className === void 0 ? undefined : _ref$className,
3479
+ _ref$isCompact = _ref.isCompact,
3480
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3481
+ _ref$isTotalVisible = _ref.isTotalVisible,
3482
+ isTotalVisible = _ref$isTotalVisible === void 0 ? true : _ref$isTotalVisible,
3483
+ _ref$nextPageText = _ref.nextPageText,
3484
+ nextPageText = _ref$nextPageText === void 0 ? 'Next' : _ref$nextPageText,
3485
+ _ref$numberOfPagesDis = _ref.numberOfPagesDisplayed,
3486
+ numberOfPagesDisplayed = _ref$numberOfPagesDis === void 0 ? 5 : _ref$numberOfPagesDis,
3487
+ _ref$prevPageText = _ref.prevPageText,
3488
+ prevPageText = _ref$prevPageText === void 0 ? 'Previous' : _ref$prevPageText;
3489
+ var pageTotal = React.useMemo(function () {
3490
+ return generatePageTotal(totalItemsCount, itemsPerPage);
3491
+ }, [totalItemsCount, itemsPerPage]);
3492
+ var pageRange = React.useMemo(function () {
3493
+ return generatePageRange(numberOfPagesDisplayed, pageTotal);
3494
+ }, [numberOfPagesDisplayed, pageTotal]);
3495
+ var activeListRange = React.useMemo(function () {
3496
+ return generateActiveListRange(activePage, totalItemsCount, itemsPerPage);
3497
+ }, [activePage, totalItemsCount, itemsPerPage]);
3498
+ var pages = React.useMemo(function () {
3499
+ return generatePages(pageRange, pageTotal, activePage, numberOfPagesDisplayed);
3500
+ }, [pageRange, pageTotal, activePage, numberOfPagesDisplayed]);
3501
+ return React.createElement(Box, {
3502
+ as: "nav",
3503
+ direction: "row",
3504
+ alignItems: "center",
3505
+ justifyContent: "space-between",
3506
+ padding: "lg",
3507
+ className: classNames(className)
3508
+ }, React.createElement(Box, {
3509
+ direction: "row",
3510
+ justifyContent: {
3511
+ base: 'space-between'
3512
+ },
3513
+ flex: {
3514
+ base: 'auto',
3515
+ tablet: 'none'
3516
+ },
3517
+ gap: isCompact ? 'xs' : 'sm'
3518
+ }, React.createElement(Button, {
3519
+ variant: "primary",
3520
+ size: isCompact ? 'sm' : 'md',
3521
+ isDisabled: activePage === 1,
3522
+ onClick: function onClick() {
3523
+ return onChange(activePage - 1);
3524
+ }
3525
+ }, prevPageText), arePagesVisible && React.createElement(Box, {
3526
+ direction: "row",
3527
+ gap: "2xs"
3528
+ }, pages.map(function (_ref2) {
3529
+ var pageNumber = _ref2.pageNumber,
3530
+ isPage = _ref2.isPage;
3531
+ console.log(activePage, pageNumber, isPage);
3532
+ return React.createElement(Button, {
3533
+ key: pageNumber,
3534
+ onClick: function onClick() {
3535
+ return onChange(pageNumber);
3536
+ },
3537
+ variant: pageNumber === activePage ? 'secondary' : 'tertiary',
3538
+ size: isCompact ? 'sm' : 'md',
3539
+ style: {
3540
+ minWidth: isCompact ? '33px' : '42px'
3541
+ },
3542
+ className: className
3543
+ }, isPage ? pageNumber : '...');
3544
+ })), React.createElement(Button, {
3545
+ variant: "primary",
3546
+ size: isCompact ? 'sm' : 'md',
3547
+ isDisabled: activePage === pageTotal,
3548
+ onClick: function onClick() {
3549
+ return onChange(activePage + 1);
3550
+ }
3551
+ }, nextPageText)), React.createElement(Box, {
3552
+ as: "p",
3553
+ display: {
3554
+ base: 'none',
3555
+ tablet: 'block'
3556
+ },
3557
+ fontSize: isCompact ? 'sm' : 'md'
3558
+ }, isTotalVisible && "Showing " + activeListRange.first + "-" + activeListRange.last + " of " + totalItemsCount));
3559
+ };
3560
+
3561
+ // eslint-disable-next-line import/prefer-default-export
3562
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
3563
+
3564
+ var ResponsiveContext = /*#__PURE__*/React.createContext({
3565
+ isCreated: false
3566
+ });
3567
+ var ResponsiveProvider = function ResponsiveProvider(_ref) {
3568
+ var _ref$children = _ref.children,
3569
+ children = _ref$children === void 0 ? null : _ref$children,
3570
+ _ref$throttle = _ref.throttle,
3571
+ throttle = _ref$throttle === void 0 ? 50 : _ref$throttle;
3572
+ var _useState = React.useState(0),
3573
+ innerWidth = _useState[0],
3574
+ setInnerWidth = _useState[1];
3575
+ var _useState2 = React.useState(0),
3576
+ innerHeight = _useState2[0],
3577
+ setInnerHeight = _useState2[1];
3578
+ var _useState3 = React.useState(0),
3579
+ outerWidth = _useState3[0],
3580
+ setOuterWidth = _useState3[1];
3581
+ var _useState4 = React.useState(0),
3582
+ outerHeight = _useState4[0],
3583
+ setOuterHeight = _useState4[1];
3584
+ var handleWindowResize = function handleWindowResize() {
3585
+ var _window$innerWidth, _window, _window$innerHeight, _window2, _window$outerWidth, _window3, _window$outerHeight, _window4;
3586
+ setInnerWidth((_window$innerWidth = (_window = window) == null ? void 0 : _window.innerWidth) != null ? _window$innerWidth : 0);
3587
+ setInnerHeight((_window$innerHeight = (_window2 = window) == null ? void 0 : _window2.innerHeight) != null ? _window$innerHeight : 0);
3588
+ setOuterWidth((_window$outerWidth = (_window3 = window) == null ? void 0 : _window3.outerWidth) != null ? _window$outerWidth : 0);
3589
+ setOuterHeight((_window$outerHeight = (_window4 = window) == null ? void 0 : _window4.outerHeight) != null ? _window$outerHeight : 0);
3590
+ };
3591
+ useIsomorphicLayoutEffect(function () {
3592
+ // eslint-disable-line consistent-return
3593
+ if (typeof window !== 'undefined') {
3594
+ // Set values on render if window wasn't available for useState initialization.
3595
+ handleWindowResize();
3596
+ var timeoutId; // eslint-disable-line
3597
+ var throttledResize = function throttledResize() {
3598
+ // prevent execution of previous setTimeout
3599
+ clearTimeout(timeoutId);
3600
+ // change width from the state object after throttle time has elapsed.
3601
+ timeoutId = setTimeout(handleWindowResize, throttle);
3602
+ };
3603
+ window.addEventListener('resize', throttledResize);
3604
+ return function () {
3605
+ return window.removeEventListener('resize', throttledResize);
3606
+ };
3607
+ }
3608
+ }, [throttle]);
3609
+ return React.createElement(ResponsiveContext.Provider, {
3610
+ value: {
3611
+ innerWidth: innerWidth,
3612
+ innerHeight: innerHeight,
3613
+ outerHeight: outerHeight,
3614
+ outerWidth: outerWidth,
3615
+ isCreated: true
3616
+ }
3617
+ }, children);
3618
+ };
3619
+
3620
+ var styles$5 = {"container":"Table-module_container__BsXT7","loading-mask":"Table-module_loading-mask__qoRPG","scroll-container":"Table-module_scroll-container__5WV5T","table":"Table-module_table__-ZPCW","auto":"Table-module_auto__1R8wm","fixed":"Table-module_fixed__T-EXg","borderless":"Table-module_borderless__BbsqE","scrollable":"Table-module_scrollable__Apjbs","scrollable-x":"Table-module_scrollable-x__mguJX","scrollable-y":"Table-module_scrollable-y__292qB","table-bordered":"Table-module_table-bordered__wM9u-","full-height":"Table-module_full-height__MlrSg"};
3621
+
3622
+ var styles$4 = {"table-body":"TableBody-module_table-body__Y5WbD","striped":"TableBody-module_striped__5MlEr","hover":"TableBody-module_hover__2CRgY"};
3623
+
3624
+ var styles$3 = {"table-row":"TableRow-module_table-row__-Y9FQ","hoverable":"TableRow-module_hoverable__53-l9"};
3625
+
3626
+ var styles$2 = {"table-cell":"TableBodyCell-module_table-cell__pKl29","borderless":"TableBodyCell-module_borderless__qwKQA","compact":"TableBodyCell-module_compact__zfdBf","truncated":"TableBodyCell-module_truncated__4YtPF","sticky-column-left":"TableBodyCell-module_sticky-column-left__tKIGW","sticky-column-right":"TableBodyCell-module_sticky-column-right__680hS","sticky-column":"TableBodyCell-module_sticky-column__QpEbV","align-right":"TableBodyCell-module_align-right__j-VqN","align-center":"TableBodyCell-module_align-center__saqzC"};
3627
+
3628
+ var TableBodyCell = function TableBodyCell(_ref) {
3629
+ var _classNames;
3630
+ var _ref$align = _ref.align,
3631
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3632
+ _ref$children = _ref.children,
3633
+ children = _ref$children === void 0 ? null : _ref$children,
3634
+ _ref$className = _ref.className,
3635
+ className = _ref$className === void 0 ? '' : _ref$className,
3636
+ _ref$emptyCellPlaceho = _ref.emptyCellPlaceholder,
3637
+ emptyCellPlaceholder = _ref$emptyCellPlaceho === void 0 ? null : _ref$emptyCellPlaceho,
3638
+ _ref$isBorderless = _ref.isBorderless,
3639
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3640
+ _ref$isCompact = _ref.isCompact,
3641
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3642
+ _ref$sticky = _ref.sticky,
3643
+ sticky = _ref$sticky === void 0 ? undefined : _ref$sticky,
3644
+ _ref$truncateOverflow = _ref.truncateOverflow,
3645
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow,
3646
+ _ref$width = _ref.width,
3647
+ width = _ref$width === void 0 ? undefined : _ref$width;
3648
+ var columnIsSticky = sticky === 'left' || sticky === 'right';
3649
+ var tableCellClasses = classNames(styles$2['table-cell'], (_classNames = {}, _classNames[styles$2.truncated] = truncateOverflow, _classNames[styles$2.compact] = isCompact, _classNames[styles$2.borderless] = isBorderless, _classNames[styles$2['sticky-column']] = columnIsSticky, _classNames[styles$2['sticky-column-left']] = sticky === 'left', _classNames[styles$2['sticky-column-right']] = sticky === 'right', _classNames[styles$2['align-right']] = align === 'right', _classNames[styles$2['align-center']] = align === 'center', _classNames), className);
3650
+ return React.createElement(Box, {
3651
+ as: columnIsSticky ? 'th' : 'td',
3652
+ className: tableCellClasses,
3653
+ display: "table-cell",
3654
+ width: width + "px",
3655
+ style: _extends({}, width && {
3656
+ minWidth: width + "px",
3657
+ maxWidth: width + "px"
3658
+ }),
3659
+ scope: "row"
3660
+ }, children === null || typeof children === 'undefined' || children === '' ? emptyCellPlaceholder : children);
3661
+ };
3662
+
3663
+ var styles$1 = {"table-header-cell":"TableHeaderCell-module_table-header-cell__aufSm","sortable":"TableHeaderCell-module_sortable__qjrkY","borderless":"TableHeaderCell-module_borderless__uos2k","truncated":"TableHeaderCell-module_truncated__wmNfw","compact":"TableHeaderCell-module_compact__ujtrZ","sticky-header":"TableHeaderCell-module_sticky-header__PEP9t","sticky-column-left":"TableHeaderCell-module_sticky-column-left__t8qIz","sticky-column-right":"TableHeaderCell-module_sticky-column-right__6D8-X","sticky-column":"TableHeaderCell-module_sticky-column__g9ybV","align-right":"TableHeaderCell-module_align-right__Qw0YQ","align-center":"TableHeaderCell-module_align-center__1RmCS","heading":"TableHeaderCell-module_heading__fEcYT","sort-icon":"TableHeaderCell-module_sort-icon__SHgic"};
3664
+
3665
+ // eslint-disable-line import/prefer-default-export
3666
+ var TableHeaderCell = function TableHeaderCell(_ref) {
3667
+ var _classNames;
3668
+ var column = _ref.column,
3669
+ _ref$align = _ref.align,
3670
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3671
+ _ref$className = _ref.className,
3672
+ className = _ref$className === void 0 ? undefined : _ref$className,
3673
+ _ref$dataKey = _ref.dataKey,
3674
+ dataKey = _ref$dataKey === void 0 ? undefined : _ref$dataKey,
3675
+ _ref$isBorderless = _ref.isBorderless,
3676
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3677
+ _ref$isCompact = _ref.isCompact,
3678
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3679
+ _ref$hasStickyHeader = _ref.hasStickyHeader,
3680
+ hasStickyHeader = _ref$hasStickyHeader === void 0 ? false : _ref$hasStickyHeader,
3681
+ _ref$isSortable = _ref.isSortable,
3682
+ isSortable = _ref$isSortable === void 0 ? false : _ref$isSortable,
3683
+ _ref$onSort = _ref.onSort,
3684
+ onSort = _ref$onSort === void 0 ? undefined : _ref$onSort,
3685
+ _ref$sortedColumn = _ref.sortedColumn,
3686
+ sortedColumn = _ref$sortedColumn === void 0 ? undefined : _ref$sortedColumn,
3687
+ _ref$sticky = _ref.sticky,
3688
+ sticky = _ref$sticky === void 0 ? undefined : _ref$sticky,
3689
+ _ref$truncateOverflow = _ref.truncateOverflow,
3690
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow,
3691
+ _ref$width = _ref.width,
3692
+ width = _ref$width === void 0 ? undefined : _ref$width;
3693
+ var isColumnSorted = function isColumnSorted(columnDataKey) {
3694
+ return !!sortedColumn && sortedColumn.dataKey === columnDataKey;
3695
+ };
3696
+ var getSortDirection = function getSortDirection() {
3697
+ return sortedColumn && isColumnSorted(column.dataKey) ? sortedColumn.sortDirection : 'none';
3698
+ };
3699
+ var renderIcon = function renderIcon() {
3700
+ var renderArrows = function renderArrows() {
3701
+ if (getSortDirection() === 'ascending') {
3702
+ return React.createElement(Icon, {
3703
+ name: "caret-sm-up",
3704
+ "data-testid": "tableHeaderCellSortAsc-testid"
3705
+ });
3706
+ }
3707
+ if (getSortDirection() === 'descending') {
3708
+ return React.createElement(Icon, {
3709
+ name: "caret-sm-down",
3710
+ "data-testid": "tableHeaderCellSortDesc-testid"
3711
+ });
3712
+ }
3713
+ return React.createElement(Box, {
3714
+ display: "inline-block",
3715
+ width: "12px",
3716
+ height: "12px",
3717
+ "aria-hidden": "true",
3718
+ "data-testid": "tableHeaderCellSortNone-testid"
3719
+ });
3720
+ };
3721
+ return React.createElement("span", {
3722
+ className: styles$1['sort-icon']
3723
+ }, renderArrows());
3724
+ };
3725
+ var handleKeyPress = function handleKeyPress(event) {
3726
+ if (!onSort || !isSortable) return;
3727
+ var enterKey = 13;
3728
+ var spaceKey = 32;
3729
+ if (event.keyCode === enterKey || event.keyCode === spaceKey) {
3730
+ var eventWithKey = _extends({}, event, {
3731
+ sortedKey: dataKey
3732
+ });
3733
+ onSort(eventWithKey);
3734
+ }
3735
+ };
3736
+ var handleSort = function handleSort(event) {
3737
+ if (!onSort || !isSortable) return;
3738
+ var eventWithKey = _extends({}, event, {
3739
+ sortedKey: dataKey
3740
+ });
3741
+ onSort(eventWithKey);
3742
+ };
3743
+ var tableHeaderClasses = classNames(styles$1['table-header-cell'], (_classNames = {}, _classNames[styles$1.sortable] = isSortable, _classNames[styles$1.compact] = isCompact, _classNames[styles$1.truncated] = truncateOverflow, _classNames[styles$1.borderless] = isBorderless, _classNames[styles$1['sticky-header']] = hasStickyHeader, _classNames[styles$1['sticky-column']] = sticky === 'left' || sticky === 'right', _classNames[styles$1['sticky-column-left']] = sticky === 'left', _classNames[styles$1['sticky-column-right']] = sticky === 'right', _classNames[styles$1['align-right']] = align === 'right', _classNames[styles$1['align-center']] = align === 'center', _classNames), className);
3744
+ return React.createElement(Box, {
3745
+ as: "th",
3746
+ display: "table-cell",
3747
+ className: tableHeaderClasses,
3748
+ width: width + "px",
3749
+ "aria-sort": sortedColumn && isColumnSorted(column.dataKey) ? sortedColumn.sortDirection : 'none',
3750
+ tabIndex: isSortable ? 0 : undefined,
3751
+ onClick: handleSort,
3752
+ onKeyDown: handleKeyPress,
3753
+ scope: "col"
3754
+ }, React.createElement("div", {
3755
+ className: styles$1.heading
3756
+ }, column.heading, isSortable && renderIcon()));
3757
+ };
3758
+
3759
+ var TableRow = function TableRow(_ref) {
3760
+ var _classNames;
3761
+ var columns = _ref.columns,
3762
+ _ref$align = _ref.align,
3763
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3764
+ _ref$className = _ref.className,
3765
+ className = _ref$className === void 0 ? '' : _ref$className,
3766
+ _ref$emptyCellPlaceho = _ref.emptyCellPlaceholder,
3767
+ emptyCellPlaceholder = _ref$emptyCellPlaceho === void 0 ? '' : _ref$emptyCellPlaceho,
3768
+ _ref$isBorderless = _ref.isBorderless,
3769
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3770
+ _ref$isCompact = _ref.isCompact,
3771
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3772
+ _ref$hasStickyHeader = _ref.hasStickyHeader,
3773
+ hasStickyHeader = _ref$hasStickyHeader === void 0 ? false : _ref$hasStickyHeader,
3774
+ _ref$isHoverable = _ref.isHoverable,
3775
+ isHoverable = _ref$isHoverable === void 0 ? false : _ref$isHoverable,
3776
+ _ref$isTableHead = _ref.isTableHead,
3777
+ isTableHead = _ref$isTableHead === void 0 ? false : _ref$isTableHead,
3778
+ _ref$onSort = _ref.onSort,
3779
+ onSort = _ref$onSort === void 0 ? undefined : _ref$onSort,
3780
+ _ref$sortedColumn = _ref.sortedColumn,
3781
+ sortedColumn = _ref$sortedColumn === void 0 ? undefined : _ref$sortedColumn,
3782
+ _ref$row = _ref.row,
3783
+ row = _ref$row === void 0 ? undefined : _ref$row,
3784
+ _ref$rowIndex = _ref.rowIndex,
3785
+ rowIndex = _ref$rowIndex === void 0 ? undefined : _ref$rowIndex,
3786
+ _ref$truncateOverflow = _ref.truncateOverflow,
3787
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow;
3788
+ var tableRowClasses = classNames(styles$3['table-row'], (_classNames = {}, _classNames[styles$3.hoverable] = isHoverable, _classNames), className);
3789
+ var renderCellContent = function renderCellContent(column) {
3790
+ if (column.render) {
3791
+ var cellValue = column.dataKey && row ? row[column.dataKey] : undefined;
3792
+ return column.render(cellValue, row, rowIndex);
3793
+ }
3794
+ return column.dataKey && row ? row[column.dataKey] : null;
3795
+ };
3796
+ var getCellClassName = function getCellClassName(column) {
3797
+ if (column.cellClassName) {
3798
+ if (typeof column.cellClassName === 'function') {
3799
+ return column.cellClassName(column, row, rowIndex);
3800
+ }
3801
+ return column.cellClassName;
3802
+ }
3803
+ return undefined;
3804
+ };
3805
+ return React.createElement("tr", {
3806
+ className: tableRowClasses
3807
+ }, Object.values(columns).map(function (column, columnIndex) {
3808
+ return isTableHead ? React.createElement(TableHeaderCell, {
3809
+ column: column,
3810
+ align: column.align || align,
3811
+ key: getColumnKeys(columns)[columnIndex],
3812
+ dataKey: column.dataKey,
3813
+ className: column.headerClassName,
3814
+ isSortable: column.isSortable,
3815
+ onSort: onSort,
3816
+ isBorderless: isBorderless,
3817
+ isCompact: isCompact,
3818
+ sortedColumn: sortedColumn,
3819
+ truncateOverflow: column.truncateOverflow || truncateOverflow,
3820
+ width: column.width,
3821
+ hasStickyHeader: hasStickyHeader,
3822
+ sticky: column.sticky
3823
+ }) : React.createElement(TableBodyCell, {
3824
+ align: column.align || align,
3825
+ className: getCellClassName(column),
3826
+ emptyCellPlaceholder: column.emptyCellPlaceholder || emptyCellPlaceholder,
3827
+ truncateOverflow: column.truncateOverflow || truncateOverflow,
3828
+ key: getColumnKeys(columns)[columnIndex],
3829
+ isBorderless: isBorderless,
3830
+ isCompact: isCompact,
3831
+ width: column.width,
3832
+ sticky: column.sticky
3833
+ }, renderCellContent(column));
3834
+ }));
3835
+ };
3836
+
3837
+ var TableBody = function TableBody(_ref) {
3838
+ var _classNames;
3839
+ var columns = _ref.columns,
3840
+ rowKey = _ref.rowKey,
3841
+ rows = _ref.rows,
3842
+ _ref$align = _ref.align,
3843
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3844
+ _ref$className = _ref.className,
3845
+ className = _ref$className === void 0 ? '' : _ref$className,
3846
+ _ref$emptyCellPlaceho = _ref.emptyCellPlaceholder,
3847
+ emptyCellPlaceholder = _ref$emptyCellPlaceho === void 0 ? '' : _ref$emptyCellPlaceho,
3848
+ _ref$hoverableRows = _ref.hoverableRows,
3849
+ hoverableRows = _ref$hoverableRows === void 0 ? false : _ref$hoverableRows,
3850
+ _ref$isBorderless = _ref.isBorderless,
3851
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3852
+ _ref$isCompact = _ref.isCompact,
3853
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3854
+ _ref$isStriped = _ref.isStriped,
3855
+ isStriped = _ref$isStriped === void 0 ? false : _ref$isStriped,
3856
+ _ref$truncateOverflow = _ref.truncateOverflow,
3857
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow;
3858
+ var tableBodyClasses = classNames(styles$4['table-body'], (_classNames = {}, _classNames[styles$4.striped] = isStriped, _classNames[styles$4.hover] = hoverableRows, _classNames), className);
3859
+ return React.createElement("tbody", {
3860
+ className: tableBodyClasses
3861
+ }, rows.map(function (row, rowIndex) {
3862
+ return React.createElement(TableRow, {
3863
+ columns: columns,
3864
+ row: row,
3865
+ rowIndex: rowIndex,
3866
+ align: align,
3867
+ key: row[rowKey],
3868
+ emptyCellPlaceholder: emptyCellPlaceholder,
3869
+ truncateOverflow: truncateOverflow,
3870
+ isBorderless: isBorderless,
3871
+ isCompact: isCompact
3872
+ });
3873
+ }));
3874
+ };
3875
+
3876
+ var TableHead = function TableHead(_ref) {
3877
+ var columns = _ref.columns,
3878
+ _ref$align = _ref.align,
3879
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3880
+ _ref$className = _ref.className,
3881
+ className = _ref$className === void 0 ? '' : _ref$className,
3882
+ _ref$isBorderless = _ref.isBorderless,
3883
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3884
+ _ref$isCompact = _ref.isCompact,
3885
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3886
+ _ref$hasStickyHeader = _ref.hasStickyHeader,
3887
+ hasStickyHeader = _ref$hasStickyHeader === void 0 ? false : _ref$hasStickyHeader,
3888
+ _ref$onSort = _ref.onSort,
3889
+ onSort = _ref$onSort === void 0 ? undefined : _ref$onSort,
3890
+ _ref$sortedColumn = _ref.sortedColumn,
3891
+ sortedColumn = _ref$sortedColumn === void 0 ? undefined : _ref$sortedColumn,
3892
+ _ref$truncateOverflow = _ref.truncateOverflow,
3893
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow;
3894
+ var tableHeadClasses = classNames(className);
3895
+ return React.createElement("thead", {
3896
+ className: tableHeadClasses
3897
+ }, React.createElement(TableRow, {
3898
+ columns: columns,
3899
+ align: align,
3900
+ isTableHead: true,
3901
+ isBorderless: isBorderless,
3902
+ isCompact: isCompact,
3903
+ onSort: onSort,
3904
+ sortedColumn: sortedColumn,
3905
+ truncateOverflow: truncateOverflow,
3906
+ hasStickyHeader: hasStickyHeader
3907
+ }));
3908
+ };
3909
+
3910
+ var Table = function Table(_ref) {
3911
+ var _classNames, _classNames2, _classNames3;
3912
+ var columns = _ref.columns,
3913
+ rows = _ref.rows,
3914
+ rowKey = _ref.rowKey,
3915
+ _ref$align = _ref.align,
3916
+ align = _ref$align === void 0 ? 'left' : _ref$align,
3917
+ _ref$className = _ref.className,
3918
+ className = _ref$className === void 0 ? undefined : _ref$className,
3919
+ _ref$emptyCellPlaceho = _ref.emptyCellPlaceholder,
3920
+ emptyCellPlaceholder = _ref$emptyCellPlaceho === void 0 ? undefined : _ref$emptyCellPlaceho,
3921
+ _ref$hoverableRows = _ref.hoverableRows,
3922
+ hoverableRows = _ref$hoverableRows === void 0 ? false : _ref$hoverableRows,
3923
+ _ref$isBorderless = _ref.isBorderless,
3924
+ isBorderless = _ref$isBorderless === void 0 ? false : _ref$isBorderless,
3925
+ _ref$isCompact = _ref.isCompact,
3926
+ isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
3927
+ _ref$hasStickyHeader = _ref.hasStickyHeader,
3928
+ hasStickyHeader = _ref$hasStickyHeader === void 0 ? false : _ref$hasStickyHeader,
3929
+ _ref$isLoading = _ref.isLoading,
3930
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
3931
+ _ref$isScrollable = _ref.isScrollable,
3932
+ isScrollable = _ref$isScrollable === void 0 ? undefined : _ref$isScrollable,
3933
+ _ref$isStriped = _ref.isStriped,
3934
+ isStriped = _ref$isStriped === void 0 ? false : _ref$isStriped,
3935
+ _ref$onSort = _ref.onSort,
3936
+ onSort = _ref$onSort === void 0 ? undefined : _ref$onSort,
3937
+ _ref$sortedColumn = _ref.sortedColumn,
3938
+ sortedColumn = _ref$sortedColumn === void 0 ? undefined : _ref$sortedColumn,
3939
+ _ref$useFixedTableLay = _ref.useFixedTableLayout,
3940
+ useFixedTableLayout = _ref$useFixedTableLay === void 0 ? false : _ref$useFixedTableLay,
3941
+ _ref$truncateOverflow = _ref.truncateOverflow,
3942
+ truncateOverflow = _ref$truncateOverflow === void 0 ? false : _ref$truncateOverflow;
3943
+ var containerClasses = classNames(styles$5.container, (_classNames = {}, _classNames[styles$5['full-height']] = !!(isScrollable != null && isScrollable.y), _classNames));
3944
+ var scrollContainerClasses = classNames(styles$5['scroll-container'], (_classNames2 = {}, _classNames2[styles$5.scrollable] = !!(isScrollable != null && isScrollable.x) || !!(isScrollable != null && isScrollable.y), _classNames2[styles$5['scrollable-x']] = !!(isScrollable != null && isScrollable.x), _classNames2[styles$5['scrollable-y']] = !!(isScrollable != null && isScrollable.y), _classNames2), className);
3945
+ var tableClasses = classNames(styles$5.table, (_classNames3 = {}, _classNames3[styles$5.fixed] = useFixedTableLayout, _classNames3[styles$5.striped] = isStriped, _classNames3[styles$5.borderless] = isBorderless, _classNames3[styles$5.compact] = isCompact, _classNames3));
3946
+ return React.createElement("div", {
3947
+ className: containerClasses
3948
+ }, isLoading && React.createElement("div", {
3949
+ className: styles$5['loading-mask']
3950
+ }, React.createElement(Spinner, {
3951
+ size: "xl"
3952
+ })), React.createElement("div", {
3953
+ className: scrollContainerClasses,
3954
+ "data-testid": "tableContainerDiv-testid"
3955
+ }, React.createElement("table", {
3956
+ className: tableClasses
3957
+ }, React.createElement(TableHead, {
3958
+ columns: columns,
3959
+ align: align,
3960
+ onSort: onSort,
3961
+ isBorderless: isBorderless,
3962
+ isCompact: isCompact,
3963
+ sortedColumn: sortedColumn,
3964
+ truncateOverflow: truncateOverflow,
3965
+ hasStickyHeader: hasStickyHeader
3966
+ }), React.createElement(TableBody, {
3967
+ rows: rows,
3968
+ columns: columns,
3969
+ rowKey: rowKey,
3970
+ align: align,
3971
+ isStriped: isStriped,
3972
+ emptyCellPlaceholder: emptyCellPlaceholder,
3973
+ hoverableRows: hoverableRows,
3974
+ truncateOverflow: truncateOverflow,
3975
+ isBorderless: isBorderless,
3976
+ isCompact: isCompact
3977
+ }))));
3978
+ };
3979
+
3980
+ var _excluded$1 = ["children", "defaultTheme", "storageKey"];
3981
+ var initialState = {
3982
+ theme: 'system',
3983
+ setTheme: function setTheme() {
3984
+ return null;
3985
+ }
3986
+ };
3987
+ var ThemeProviderContext = /*#__PURE__*/React.createContext(initialState);
3988
+ function ThemeProvider(_ref) {
3989
+ var children = _ref.children,
3990
+ _ref$defaultTheme = _ref.defaultTheme,
3991
+ defaultTheme = _ref$defaultTheme === void 0 ? 'system' : _ref$defaultTheme,
3992
+ _ref$storageKey = _ref.storageKey,
3993
+ storageKey = _ref$storageKey === void 0 ? 'hyphen-ui-theme' : _ref$storageKey,
3994
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
3995
+ var _useState = React.useState(function () {
3996
+ return localStorage.getItem(storageKey) || defaultTheme;
3997
+ }),
3998
+ theme = _useState[0],
3999
+ _setTheme = _useState[1];
4000
+ React.useEffect(function () {
4001
+ var root = window.document.documentElement;
4002
+ root.classList.remove('light', 'dark');
4003
+ if (theme === 'system') {
4004
+ var systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
4005
+ root.classList.add(systemTheme);
4006
+ return;
4007
+ }
4008
+ root.classList.add(theme);
4009
+ }, [theme]);
4010
+ var value = {
4011
+ theme: theme,
4012
+ setTheme: function setTheme(theme) {
4013
+ localStorage.setItem(storageKey, theme);
4014
+ _setTheme(theme);
4015
+ }
4016
+ };
4017
+ return React.createElement(ThemeProviderContext.Provider, _extends({}, props, {
4018
+ value: value
4019
+ }), children);
4020
+ }
4021
+ var useTheme = function useTheme() {
4022
+ var context = React.useContext(ThemeProviderContext);
4023
+ if (context === undefined) throw new Error('useTheme must be used within a ThemeProvider. Be sure your App is wrapped in ThemeProvider.');
4024
+ return context;
4025
+ };
4026
+
4027
+ var styles = {"toast-notification":"ToastNotification-module_toast-notification__2xiTW","toast-dismiss":"ToastNotification-module_toast-dismiss__xxmkb","toast-notification-enter-top":"ToastNotification-module_toast-notification-enter-top__ZZDCr","toast-notification-exit-top":"ToastNotification-module_toast-notification-exit-top__fOIkZ","toast-notification-enter-bottom":"ToastNotification-module_toast-notification-enter-bottom__So3w7","toast-notification-exit-bottom":"ToastNotification-module_toast-notification-exit-bottom__DDthi","toast-notification-exit-left":"ToastNotification-module_toast-notification-exit-left__Fh1hC","toast-notification-exit-right":"ToastNotification-module_toast-notification-exit-right__C1jQ9","toast-notification-fade-in":"ToastNotification-module_toast-notification-fade-in__JlSGi","toast-notification-fade-out":"ToastNotification-module_toast-notification-fade-out__r6q4Q"};
4028
+
4029
+ var getAnimationClass = function getAnimationClass(position, visible) {
4030
+ var verticalPosition = position.includes('top') ? 'top' : 'bottom';
4031
+ var horizontalPosition = position.includes('left') ? 'left' : 'right';
4032
+ var isCentered = position.includes('center');
4033
+ var _ref = prefersReducedMotion() ? [styles['toast-notification-fade-in'], styles['toast-notification-fade-out']] : [styles["toast-notification-enter-" + verticalPosition], styles["toast-notification-exit-" + (isCentered ? verticalPosition : horizontalPosition)]],
4034
+ enter = _ref[0],
4035
+ exit = _ref[1];
4036
+ return visible ? enter : exit;
4037
+ };
4038
+ var renderToastIcon = function renderToastIcon(toast) {
4039
+ var type = toast.type;
4040
+ if (type === 'blank') return;
4041
+ var iconName = 'exclamation-mark';
4042
+ var iconColor = 'base'; // dark
4043
+ if (type === 'success') {
4044
+ iconName = 'c-check';
4045
+ iconColor = 'success';
4046
+ }
4047
+ if (type === 'error') {
4048
+ iconName = 'c-warning';
4049
+ iconColor = 'danger';
4050
+ }
4051
+ var icon = type !== 'loading' ? React.createElement(Icon, {
4052
+ name: iconName,
4053
+ color: iconColor
4054
+ }) : React.createElement(Spinner, null);
4055
+ // eslint-disable-next-line consistent-return
4056
+ return React.createElement(Box, {
4057
+ justifyContent: "center",
4058
+ height: "100"
4059
+ }, icon);
4060
+ };
4061
+ var renderDismissIcon = function renderDismissIcon(toast, onDismiss) {
4062
+ if (!toast.canDismiss) return;
4063
+ // eslint-disable-next-line consistent-return
4064
+ return React.createElement(Box, {
4065
+ as: "button",
4066
+ borderWidth: "0 0 0 sm",
4067
+ className: styles['toast-dismiss'],
4068
+ padding: "0 0 0 sm",
4069
+ alignItems: "center",
4070
+ justifyContent: "center",
4071
+ cursor: "pointer",
4072
+ background: "transparent" // transparent
4073
+ ,
4074
+ height: "100",
4075
+ onClick: onDismiss,
4076
+ "aria-label": "dismiss notification"
4077
+ }, React.createElement(Icon, {
4078
+ name: "remove"
4079
+ }));
4080
+ };
4081
+ // eslint-disable-next-line import/prefer-default-export
4082
+ var ToastNotification = /*#__PURE__*/React.memo(function (_ref2) {
4083
+ var toast = _ref2.toast,
4084
+ _ref2$position = _ref2.position,
4085
+ position = _ref2$position === void 0 ? 'top-center' : _ref2$position,
4086
+ style = _ref2.style,
4087
+ children = _ref2.children,
4088
+ onDismiss = _ref2.onDismiss;
4089
+ var message = React.createElement(Box, _extends({
4090
+ direction: "row",
4091
+ justifyContent: "center",
4092
+ style: {
4093
+ flex: '1 1 auto'
4094
+ }
4095
+ }, toast.ariaProps), resolveValue(toast.message, toast));
4096
+ var animationClass = toast != null && toast.height ? getAnimationClass(toast.position || position, toast.visible) : undefined;
4097
+ var classes = classNames(toast.className, styles['toast-notification'], animationClass, {
4098
+ 'toast-notification--not-visible': !toast.visible
4099
+ });
4100
+ return React.createElement(Box, {
4101
+ alignItems: "center",
4102
+ maxWidth: "300px",
4103
+ padding: toast.isCompact ? 'sm' : 'md',
4104
+ direction: "row",
4105
+ className: classes,
4106
+ gap: "sm",
4107
+ style: _extends({}, style, toast.style, !toast.height && {
4108
+ opacity: 0
4109
+ })
4110
+ }, typeof children === 'function' ? children({
4111
+ message: message
4112
+ }) : React.createElement(React.Fragment, null, renderToastIcon(toast), message, renderDismissIcon(toast, onDismiss)));
4113
+ });
4114
+
4115
+ var _actionHandlers;
4116
+ var TOAST_LIMIT = 20;
4117
+ // eslint-disable-next-line no-shadow
4118
+ var ToastStoreActionType;
4119
+ (function (ToastStoreActionType) {
4120
+ ToastStoreActionType["ADD_TOAST"] = "TOAST/ADD_TOAST";
4121
+ ToastStoreActionType["UPDATE_TOAST"] = "TOAST/UPDATE_TOAST";
4122
+ ToastStoreActionType["UPSERT_TOAST"] = "TOAST/UPSERT_TOAST";
4123
+ ToastStoreActionType["DISMISS_TOAST"] = "TOAST/DISMISS_TOAST";
4124
+ ToastStoreActionType["REMOVE_TOAST"] = "TOAST/REMOVE_TOAST";
4125
+ ToastStoreActionType["START_PAUSE"] = "TOAST/START_PAUSE";
4126
+ ToastStoreActionType["END_PAUSE"] = "TOAST/END_PAUSE";
4127
+ })(ToastStoreActionType || (ToastStoreActionType = {}));
4128
+ var toastTimeouts = /*#__PURE__*/new Map();
4129
+ var addToDismissedQueue = function addToDismissedQueue(toastId) {
4130
+ if (toastTimeouts.has(toastId)) {
4131
+ return;
4132
+ }
4133
+ var timeout = setTimeout(function () {
4134
+ toastTimeouts["delete"](toastId);
4135
+ dispatch({
4136
+ // eslint-disable-line
4137
+ type: ToastStoreActionType.REMOVE_TOAST,
4138
+ payload: {
4139
+ toastId: toastId
4140
+ }
4141
+ });
4142
+ }, 1000);
4143
+ toastTimeouts.set(toastId, timeout);
4144
+ };
4145
+ var clearFromDismissedQueue = function clearFromDismissedQueue(toastId) {
4146
+ var timeout = toastTimeouts.get(toastId);
4147
+ if (timeout) {
4148
+ clearTimeout(timeout);
4149
+ }
4150
+ };
4151
+ var createReducer = function createReducer(initialState, handlers) {
4152
+ return function (state, action) {
4153
+ if (state === void 0) {
4154
+ state = initialState;
4155
+ }
4156
+ if (handlers.hasOwnProperty(action.type)) {
4157
+ // eslint-disable-line
4158
+ return handlers[action.type](state, action);
4159
+ }
4160
+ return state;
4161
+ };
4162
+ };
4163
+ var handleAddToast = function handleAddToast(state, action) {
4164
+ if (!('toast' in action.payload)) return state;
4165
+ var toast = action.payload.toast;
4166
+ return _extends({}, state, {
4167
+ toasts: [toast].concat(state.toasts).slice(0, TOAST_LIMIT)
4168
+ });
4169
+ };
4170
+ var handleUpdateToast = function handleUpdateToast(state, action) {
4171
+ var toast = action.payload.toast;
4172
+ // @TODO -- Side effects
4173
+ if (toast.id) {
4174
+ clearFromDismissedQueue(toast.id);
4175
+ }
4176
+ return _extends({}, state, {
4177
+ toasts: state.toasts.map(function (t) {
4178
+ return t.id === toast.id ? _extends({}, t, toast) : t;
4179
+ }) // eslint-disable-line
4180
+ });
4181
+ };
4182
+ var handleUpsertToast = function handleUpsertToast(state, action) {
4183
+ var toast = action.payload.toast;
4184
+ // @TODO -- refactor to avoid using recursive function before 'reducer is declared'
4185
+ return state.toasts.find(function (t) {
4186
+ return t.id === toast.id;
4187
+ }) ? reducer(state, {
4188
+ type: ToastStoreActionType.UPDATE_TOAST,
4189
+ payload: {
4190
+ toast: toast
4191
+ }
4192
+ }) // eslint-disable-line
4193
+ : reducer(state, {
4194
+ type: ToastStoreActionType.ADD_TOAST,
4195
+ payload: {
4196
+ toast: toast
4197
+ }
4198
+ }); // eslint-disable-line
4199
+ };
4200
+ var handleDismissToast = function handleDismissToast(state, action) {
4201
+ var toastId = action.payload.toastId;
4202
+ if (toastId) {
4203
+ addToDismissedQueue(toastId);
4204
+ } else {
4205
+ state.toasts.forEach(function (toast) {
4206
+ addToDismissedQueue(toast.id);
4207
+ });
4208
+ }
4209
+ return _extends({}, state, {
4210
+ // eslint-disable-next-line no-confusing-arrow
4211
+ toasts: state.toasts.map(function (t) {
4212
+ return t.id === toastId || toastId === undefined ? _extends({}, t, {
4213
+ visible: false
4214
+ }) : t;
4215
+ })
4216
+ });
4217
+ };
4218
+ var handleRemoveToast = function handleRemoveToast(state, action) {
4219
+ var toastId = action.payload.toastId;
4220
+ if (toastId === undefined) {
4221
+ return _extends({}, state, {
4222
+ toasts: []
4223
+ });
4224
+ }
4225
+ return _extends({}, state, {
4226
+ toasts: state.toasts.filter(function (t) {
4227
+ return t.id !== toastId;
4228
+ })
4229
+ });
4230
+ };
4231
+ var handleStartPause = function handleStartPause(state, action) {
4232
+ var time = action.payload.time;
4233
+ return _extends({}, state, {
4234
+ pausedAt: time
4235
+ });
4236
+ };
4237
+ var handleEndPause = function handleEndPause(state, action) {
4238
+ var time = action.payload.time;
4239
+ var diff = time - (state.pausedAt || 0);
4240
+ return _extends({}, state, {
4241
+ pausedAt: undefined,
4242
+ toasts: state.toasts.map(function (t) {
4243
+ return _extends({}, t, {
4244
+ pauseDuration: t.pauseDuration + diff
4245
+ });
4246
+ })
4247
+ });
4248
+ };
4249
+ var actionHandlers = (_actionHandlers = {}, _actionHandlers[ToastStoreActionType.ADD_TOAST] = handleAddToast, _actionHandlers[ToastStoreActionType.UPDATE_TOAST] = handleUpdateToast, _actionHandlers[ToastStoreActionType.UPSERT_TOAST] = handleUpsertToast, _actionHandlers[ToastStoreActionType.DISMISS_TOAST] = handleDismissToast, _actionHandlers[ToastStoreActionType.REMOVE_TOAST] = handleRemoveToast, _actionHandlers[ToastStoreActionType.START_PAUSE] = handleStartPause, _actionHandlers[ToastStoreActionType.END_PAUSE] = handleEndPause, _actionHandlers);
4250
+ var toastReducer = /*#__PURE__*/createReducer({
4251
+ toasts: [],
4252
+ pausedAt: undefined
4253
+ }, actionHandlers);
4254
+ var reducer = function reducer(state, action) {
4255
+ return toastReducer(state, action);
4256
+ };
4257
+ var listeners = [];
4258
+ var memoryState = {
4259
+ toasts: [],
4260
+ pausedAt: undefined
4261
+ };
4262
+ var dispatch = function dispatch(action) {
4263
+ memoryState = reducer(memoryState, action);
4264
+ listeners.forEach(function (listener) {
4265
+ listener(memoryState);
4266
+ });
4267
+ };
4268
+ var defaultTimeouts = {
4269
+ blank: 4000,
4270
+ error: 4000,
4271
+ success: 2000,
4272
+ loading: Infinity,
4273
+ custom: 4000
4274
+ };
4275
+ var useToastStore = function useToastStore(toastOptions) {
4276
+ if (toastOptions === void 0) {
4277
+ toastOptions = {};
4278
+ }
4279
+ var _useState = React.useState(memoryState),
4280
+ state = _useState[0],
4281
+ setState = _useState[1];
4282
+ React.useEffect(function () {
4283
+ listeners.push(setState);
4284
+ return function () {
4285
+ var index = listeners.indexOf(setState);
4286
+ if (index > -1) {
4287
+ listeners.splice(index, 1);
4288
+ }
4289
+ };
4290
+ }, [state]);
4291
+ var mergedToasts = state.toasts.map(function (t) {
4292
+ var _toastOptions$t$type, _toastOptions, _toastOptions$t$type2;
4293
+ return _extends({}, toastOptions, toastOptions[t.type], t, {
4294
+ duration: t.duration || ((_toastOptions$t$type = toastOptions[t.type]) == null ? void 0 : _toastOptions$t$type.duration) || ((_toastOptions = toastOptions) == null ? void 0 : _toastOptions.duration) || defaultTimeouts[t.type],
4295
+ style: _extends({}, toastOptions.style, (_toastOptions$t$type2 = toastOptions[t.type]) == null ? void 0 : _toastOptions$t$type2.style, t.style)
4296
+ });
4297
+ });
4298
+ return _extends({}, state, {
4299
+ toasts: mergedToasts
4300
+ });
4301
+ };
4302
+
4303
+ var createToast = function createToast(message, type, opts) {
4304
+ return _extends({
4305
+ createdAt: Date.now(),
4306
+ visible: true,
4307
+ type: type,
4308
+ ariaProps: {
4309
+ role: 'status',
4310
+ 'aria-live': 'polite'
4311
+ },
4312
+ message: message,
4313
+ pauseDuration: 0
4314
+ }, opts, {
4315
+ id: (opts == null ? void 0 : opts.id) || uuid.v4(),
4316
+ canDismiss: type !== 'loading' && (opts == null ? void 0 : opts.canDismiss) !== false
4317
+ });
4318
+ };
4319
+ var createHandler = function createHandler(type) {
4320
+ return function (message, options) {
4321
+ var toast = createToast(message, type, options);
4322
+ dispatch({
4323
+ type: ToastStoreActionType.UPSERT_TOAST,
4324
+ payload: {
4325
+ toast: toast
4326
+ }
4327
+ });
4328
+ return toast.id;
4329
+ };
4330
+ };
4331
+ // eslint-disable-next-line
4332
+ var toast = function toast(message, opts) {
4333
+ return createHandler('blank')(message, opts);
4334
+ };
4335
+ toast.error = /*#__PURE__*/createHandler('error');
4336
+ toast.success = /*#__PURE__*/createHandler('success');
4337
+ toast.loading = /*#__PURE__*/createHandler('loading');
4338
+ toast.custom = /*#__PURE__*/createHandler('custom');
4339
+ toast.dismiss = function (toastId) {
4340
+ dispatch({
4341
+ type: ToastStoreActionType.DISMISS_TOAST,
4342
+ payload: {
4343
+ toastId: toastId
4344
+ }
4345
+ });
4346
+ };
4347
+ toast.remove = function (toastId) {
4348
+ return dispatch({
4349
+ type: ToastStoreActionType.REMOVE_TOAST,
4350
+ payload: {
4351
+ toastId: toastId
4352
+ }
4353
+ });
4354
+ };
4355
+ // eslint-disable-next-line func-names
4356
+ toast.async = function (promise, messages, opts) {
4357
+ var id = toast.loading(messages.loading, _extends({}, opts, opts == null ? void 0 : opts.loading));
4358
+ promise.then(function (data) {
4359
+ toast.success(resolveValue(messages.success, data), _extends({
4360
+ id: id
4361
+ }, opts, opts == null ? void 0 : opts.success));
4362
+ return data;
4363
+ })["catch"](function (err) {
4364
+ toast.error(resolveValue(messages.error, err), _extends({
4365
+ id: id
4366
+ }, opts, opts == null ? void 0 : opts.error));
4367
+ });
4368
+ return promise;
4369
+ };
4370
+ // eslint-disable-line import/prefer-default-export
4371
+
4372
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
4373
+ var useToasts = function useToasts(toastOptions) {
4374
+ // eslint-disable-line import/prefer-default-export
4375
+ var _useToastStore = useToastStore(toastOptions),
4376
+ toasts = _useToastStore.toasts,
4377
+ pausedAt = _useToastStore.pausedAt;
4378
+ React.useEffect(function () {
4379
+ if (pausedAt) {
4380
+ return;
4381
+ }
4382
+ var now = Date.now();
4383
+ var timeouts = toasts.map(function (t) {
4384
+ if (t.duration === Infinity) {
4385
+ return undefined;
4386
+ }
4387
+ var durationLeft = (t.duration || 0) + t.pauseDuration - (now - t.createdAt);
4388
+ if (durationLeft < 0) {
4389
+ if (t.visible) {
4390
+ toast.dismiss(t.id);
4391
+ }
4392
+ return undefined;
4393
+ }
4394
+ return setTimeout(function () {
4395
+ return toast.dismiss(t.id);
4396
+ }, durationLeft); // eslint-disable-line consistent-return
4397
+ });
4398
+ return function () {
4399
+ // eslint-disable-line consistent-return
4400
+ timeouts.forEach(function (timeout) {
4401
+ return timeout && clearTimeout(timeout);
4402
+ });
4403
+ };
4404
+ }, [toasts, pausedAt]);
4405
+ var handlers = React.useMemo(function () {
4406
+ return {
4407
+ startPause: function startPause() {
4408
+ dispatch({
4409
+ type: ToastStoreActionType.START_PAUSE,
4410
+ payload: {
4411
+ time: Date.now()
4412
+ }
4413
+ });
4414
+ },
4415
+ endPause: function endPause() {
4416
+ if (pausedAt) {
4417
+ dispatch({
4418
+ type: ToastStoreActionType.END_PAUSE,
4419
+ payload: {
4420
+ time: Date.now()
4421
+ }
4422
+ });
4423
+ }
4424
+ },
4425
+ updateHeight: function updateHeight(toastId, height) {
4426
+ var _toasts$find;
4427
+ if (((_toasts$find = toasts.find(function (t) {
4428
+ return t.id === toastId;
4429
+ })) == null ? void 0 : _toasts$find.height) === height) {
4430
+ return;
4431
+ }
4432
+ dispatch({
4433
+ type: ToastStoreActionType.UPDATE_TOAST,
4434
+ payload: {
4435
+ toast: {
4436
+ id: toastId,
4437
+ height: height
4438
+ }
4439
+ }
4440
+ });
4441
+ },
4442
+ calculateOffset: function calculateOffset(currentToast, opts) {
4443
+ var _relevantToasts$filte;
4444
+ var _ref = opts || {},
4445
+ reverseOrder = _ref.reverseOrder,
4446
+ gutter = _ref.gutter,
4447
+ defaultPosition = _ref.defaultPosition;
4448
+ var relevantToasts = toasts.filter(function (t) {
4449
+ return (t.position || defaultPosition) === (currentToast.position || defaultPosition) && t.height;
4450
+ });
4451
+ var toastIndex = relevantToasts.findIndex(function (t) {
4452
+ return t.id === currentToast.id;
4453
+ });
4454
+ var toastsBefore = relevantToasts.filter(function (t, i) {
4455
+ return i < toastIndex && t.visible;
4456
+ }).length;
4457
+ var offset = (_relevantToasts$filte = relevantToasts.filter(function (t) {
4458
+ return t.visible;
4459
+ })).slice.apply(_relevantToasts$filte, reverseOrder ? [toastsBefore + 1] : [0, toastsBefore]).reduce(function (acc, t) {
4460
+ return acc + (t.height || 0) + gutter;
4461
+ }, 0);
4462
+ return offset;
4463
+ }
4464
+ };
4465
+ }, [toasts, pausedAt]);
4466
+ return {
4467
+ toasts: toasts,
4468
+ handlers: handlers
4469
+ };
4470
+ };
4471
+
4472
+ var _excluded = ["children", "containerStyle", "containerClassName", "gutter", "position", "reverseOrder", "toastOptions"];
4473
+ var createRectRef = function createRectRef(onRect) {
4474
+ return function (el) {
4475
+ if (el) {
4476
+ var boundingRect = el.getBoundingClientRect();
4477
+ onRect(boundingRect);
4478
+ }
4479
+ };
4480
+ };
4481
+ var getPositionStyle = function getPositionStyle(position, offset) {
4482
+ var top = position.includes('top');
4483
+ var verticalStyle = top ? {
4484
+ top: 0
4485
+ } : {
4486
+ bottom: 0
4487
+ };
4488
+ var horizontalStyle = _extends({}, position.includes('center') && {
4489
+ justifyContent: 'center'
4490
+ }, !position.includes('center') && position.includes('right') && {
4491
+ justifyContent: 'flex-end'
4492
+ });
4493
+ return _extends({
4494
+ left: 0,
4495
+ right: 0,
4496
+ display: 'flex',
4497
+ position: 'absolute',
4498
+ transition: prefersReducedMotion() ? undefined : 'all 230ms cubic-bezier(.21,1.02,.73,1)',
4499
+ transform: "translateY(" + offset * (top ? 1 : -1) + "px)"
4500
+ }, verticalStyle, horizontalStyle);
4501
+ };
4502
+ var DEFAULT_OFFSET = 16;
4503
+ var renderNotification = function renderNotification(currentToast, children, containerPosition) {
4504
+ var toastPosition = currentToast.position || containerPosition;
4505
+ if (currentToast.type === 'custom') {
4506
+ return resolveValue(currentToast.message, currentToast);
4507
+ }
4508
+ if (children) {
4509
+ return children(currentToast);
4510
+ }
4511
+ return React.createElement(ToastNotification, {
4512
+ toast: currentToast,
4513
+ position: toastPosition,
4514
+ onDismiss: function onDismiss() {
4515
+ return toast.dismiss(currentToast.id);
4516
+ }
4517
+ });
4518
+ };
4519
+ var ToastContainer = function ToastContainer(_ref) {
4520
+ var _ref$children = _ref.children,
4521
+ children = _ref$children === void 0 ? undefined : _ref$children,
4522
+ _ref$containerStyle = _ref.containerStyle,
4523
+ containerStyle = _ref$containerStyle === void 0 ? undefined : _ref$containerStyle,
4524
+ _ref$containerClassNa = _ref.containerClassName,
4525
+ containerClassName = _ref$containerClassNa === void 0 ? undefined : _ref$containerClassNa,
4526
+ _ref$gutter = _ref.gutter,
4527
+ gutter = _ref$gutter === void 0 ? 8 : _ref$gutter,
4528
+ _ref$position = _ref.position,
4529
+ position = _ref$position === void 0 ? 'top-center' : _ref$position,
4530
+ _ref$reverseOrder = _ref.reverseOrder,
4531
+ reverseOrder = _ref$reverseOrder === void 0 ? false : _ref$reverseOrder,
4532
+ toastOptions = _ref.toastOptions,
4533
+ restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
4534
+ var _useToasts = useToasts(toastOptions),
4535
+ toasts = _useToasts.toasts,
4536
+ handlers = _useToasts.handlers;
4537
+ return React.createElement(Box, _extends({
4538
+ style: _extends({
4539
+ top: DEFAULT_OFFSET,
4540
+ left: DEFAULT_OFFSET,
4541
+ right: DEFAULT_OFFSET,
4542
+ bottom: DEFAULT_OFFSET,
4543
+ pointerEvents: 'none'
4544
+ }, containerStyle),
4545
+ position: "fixed",
4546
+ zIndex: "popover",
4547
+ className: containerClassName,
4548
+ onMouseEnter: handlers.startPause,
4549
+ onMouseLeave: handlers.endPause
4550
+ }, restProps), toasts.map(function (t) {
4551
+ var toastPosition = t.position || position;
4552
+ var offset = handlers.calculateOffset(t, {
4553
+ reverseOrder: reverseOrder,
4554
+ gutter: gutter,
4555
+ defaultPosition: position
4556
+ });
4557
+ var positionStyle = getPositionStyle(toastPosition, offset);
4558
+ var ref = t.height ? undefined : createRectRef(function (rect) {
4559
+ handlers.updateHeight(t.id, rect.height);
4560
+ });
4561
+ return React.createElement(Box, {
4562
+ ref: ref,
4563
+ zIndex: t.visible ? 'popover' : undefined,
4564
+ key: t.id,
4565
+ style: _extends({}, positionStyle),
4566
+ display: "block"
4567
+ }, renderNotification(t, children, position));
4568
+ }));
4569
+ };
4570
+
4571
+ var useWindowSize = function useWindowSize() {
4572
+ var _React$useContext = React.useContext(ResponsiveContext),
4573
+ innerWidth = _React$useContext.innerWidth,
4574
+ innerHeight = _React$useContext.innerHeight,
4575
+ outerHeight = _React$useContext.outerHeight,
4576
+ outerWidth = _React$useContext.outerWidth,
4577
+ isCreated = _React$useContext.isCreated;
4578
+ if (isCreated) {
4579
+ return {
4580
+ innerHeight: innerHeight,
4581
+ innerWidth: innerWidth,
4582
+ outerHeight: outerHeight,
4583
+ outerWidth: outerWidth
4584
+ };
4585
+ }
4586
+ return {};
4587
+ };
4588
+
4589
+ var defaultBreakpoint = {
4590
+ name: 'base',
4591
+ minWidth: 0
4592
+ };
4593
+ var useBreakpoint = function useBreakpoint() {
4594
+ var windowSize = useWindowSize();
4595
+ var _useState = React.useState(_extends({}, defaultBreakpoint)),
4596
+ breakpoint = _useState[0],
4597
+ setBreakpoint = _useState[1];
4598
+ useIsomorphicLayoutEffect(function () {
4599
+ var sortedBreakpoints = [].concat(BREAKPOINTS).sort(function (a, b) {
4600
+ return b.minWidth - a.minWidth;
4601
+ });
4602
+ var activeBreakpoint = windowSize && sortedBreakpoints.find(function (b) {
4603
+ return b.minWidth <= windowSize.innerWidth;
4604
+ });
4605
+ setBreakpoint(activeBreakpoint || _extends({}, defaultBreakpoint));
4606
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4607
+ }, [windowSize.innerWidth, windowSize.innerHeight, windowSize.outerWidth, windowSize.outerHeight]);
4608
+ return {
4609
+ isPhone: breakpoint.name === 'base',
4610
+ isTablet: breakpoint.name === 'tablet',
4611
+ isDesktop: breakpoint.name === 'desktop',
4612
+ isHd: breakpoint.name === 'hd',
4613
+ activeBreakpoint: breakpoint
4614
+ };
4615
+ };
4616
+
4617
+ var useOpenClose = function useOpenClose(props) {
4618
+ if (props === void 0) {
4619
+ props = {};
4620
+ }
4621
+ var _props = props,
4622
+ defaultIsOpen = _props.defaultIsOpen,
4623
+ isOpenProp = _props.isOpen,
4624
+ onCloseProp = _props.onClose,
4625
+ onOpenProp = _props.onOpen;
4626
+ var openCallback = React.useCallback(function () {
4627
+ onOpenProp == null || onOpenProp();
4628
+ }, [onOpenProp]);
4629
+ var closeCallback = React.useCallback(function () {
4630
+ onCloseProp == null || onCloseProp();
4631
+ }, [onCloseProp]);
4632
+ var _useState = React.useState(defaultIsOpen || false),
4633
+ isOpenState = _useState[0],
4634
+ setIsOpen = _useState[1];
4635
+ var isOpen = isOpenProp !== undefined ? isOpenProp : isOpenState;
4636
+ var isControlled = isOpenProp !== undefined;
4637
+ var handleClose = React.useCallback(function () {
4638
+ if (!isControlled) {
4639
+ setIsOpen(false);
4640
+ }
4641
+ closeCallback == null || closeCallback();
4642
+ }, [isControlled, closeCallback]);
4643
+ var handleOpen = React.useCallback(function () {
4644
+ if (!isControlled) {
4645
+ setIsOpen(true);
4646
+ }
4647
+ openCallback == null || openCallback();
4648
+ }, [isControlled, openCallback]);
4649
+ var handleToggle = React.useCallback(function () {
4650
+ if (isOpen) {
4651
+ handleClose();
4652
+ } else {
4653
+ handleOpen();
4654
+ }
4655
+ }, [isOpen, handleOpen, handleClose]);
4656
+ return {
4657
+ isOpen: isOpen,
4658
+ handleClose: handleClose,
4659
+ handleOpen: handleOpen,
4660
+ handleToggle: handleToggle
4661
+ };
4662
+ };
4663
+
4664
+ exports.Alert = Alert;
4665
+ exports.Badge = Badge;
4666
+ exports.Box = Box;
4667
+ exports.Button = Button;
4668
+ exports.Card = Card;
4669
+ exports.CardBaseComponent = CardBaseComponent;
4670
+ exports.Checkbox = Checkbox;
4671
+ exports.CheckboxInput = CheckboxInput;
4672
+ exports.DateInput = DateInput;
4673
+ exports.DatePicker = DatePicker;
4674
+ exports.Details = Details;
4675
+ exports.DetailsBaseComponent = DetailsBaseComponent;
4676
+ exports.DetailsSummary = DetailsSummary;
4677
+ exports.Drawer = Drawer;
4678
+ exports.FormControl = FormControl;
4679
+ exports.FormLabel = FormLabel;
4680
+ exports.FormikCheckboxInput = FormikCheckboxInput;
4681
+ exports.FormikRadioGroup = FormikRadioGroup;
4682
+ exports.FormikSelectInput = FormikSelectInput;
4683
+ exports.FormikSelectInputInset = FormikSelectInputInset;
4684
+ exports.FormikSelectInputNative = FormikSelectInputNative;
4685
+ exports.FormikTextInput = FormikTextInput;
4686
+ exports.FormikTextInputInset = FormikTextInputInset;
4687
+ exports.FormikTextareaInput = FormikTextareaInput;
4688
+ exports.FormikTextareaInputInset = FormikTextareaInputInset;
4689
+ exports.FormikTimePicker = FormikTimePicker;
4690
+ exports.FormikTimePickerNative = FormikTimePickerNative;
4691
+ exports.FormikToggle = FormikToggle;
4692
+ exports.Heading = Heading;
4693
+ exports.Icon = Icon;
4694
+ exports.Modal = Modal;
4695
+ exports.ModalBaseComponent = ModalBaseComponent;
4696
+ exports.Pagination = Pagination;
4697
+ exports.Popover = Popover;
4698
+ exports.RadioGroup = RadioGroup;
4699
+ exports.ResponsiveContext = ResponsiveContext;
4700
+ exports.ResponsiveProvider = ResponsiveProvider;
4701
+ exports.SelectInput = SelectInput;
4702
+ exports.SelectInputInset = SelectInputInset;
4703
+ exports.SelectInputNative = SelectInputNative;
4704
+ exports.Spinner = Spinner;
4705
+ exports.Table = Table;
4706
+ exports.TextInput = TextInput;
4707
+ exports.TextInputInset = TextInputInset;
4708
+ exports.TextareaInput = TextareaInput;
4709
+ exports.TextareaInputInset = TextareaInputInset;
4710
+ exports.ThemeProvider = ThemeProvider;
4711
+ exports.TimePicker = TimePicker;
4712
+ exports.TimePickerNative = TimePickerNative;
4713
+ exports.ToastContainer = ToastContainer;
4714
+ exports.Toggle = Toggle;
4715
+ exports.boxPropsKeys = boxPropsKeys;
4716
+ exports.createRectRef = createRectRef;
4717
+ exports.toast = toast;
4718
+ exports.useBreakpoint = useBreakpoint;
4719
+ exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
4720
+ exports.useOpenClose = useOpenClose;
4721
+ exports.useTheme = useTheme;
4722
+ exports.useToasts = useToasts;
4723
+ exports.useWindowSize = useWindowSize;
4724
+ //# sourceMappingURL=hyphen-components.cjs.development.js.map