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