@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.
- package/dist/components/Alert/Alert.constants.d.ts +8 -0
- package/dist/components/Alert/Alert.d.ts +51 -0
- package/dist/components/Alert/Alert.stories.d.ts +8 -0
- package/dist/components/Alert/Alert.types.d.ts +7 -0
- package/dist/components/Badge/Badge.d.ts +31 -0
- package/dist/components/Badge/Badge.stories.d.ts +8 -0
- package/dist/components/Box/Box.d.ts +228 -0
- package/dist/components/Box/Box.stories.d.ts +42 -0
- package/dist/components/Button/Button.constants.d.ts +3 -0
- package/dist/components/Button/Button.d.ts +83 -0
- package/dist/components/Button/Button.stories.d.ts +14 -0
- package/dist/components/Card/Card.d.ts +17 -0
- package/dist/components/Card/Card.stories.d.ts +8 -0
- package/dist/components/Card/components/CardFooter/CardFooter.d.ts +13 -0
- package/dist/components/Card/components/CardHeader/CardHeader.d.ts +21 -0
- package/dist/components/Card/components/CardSection/CardSection.d.ts +46 -0
- package/dist/components/Card/components/index.d.ts +3 -0
- package/dist/components/CheckboxInput/CheckboxInput.d.ts +72 -0
- package/dist/components/CheckboxInput/CheckboxInput.stories.d.ts +18 -0
- package/dist/components/CheckboxInput/components/Checkbox.d.ts +71 -0
- package/dist/components/CheckboxInput/components/CheckboxIcon.d.ts +27 -0
- package/dist/components/DateInput/DateInput.d.ts +55 -0
- package/dist/components/DateInput/DateInput.stories.d.ts +11 -0
- package/dist/components/DatePicker/DatePicker.d.ts +86 -0
- package/dist/components/DatePicker/DatePicker.stories.d.ts +13 -0
- package/dist/components/Details/Details.d.ts +15 -0
- package/dist/components/Details/Details.stories.d.ts +6 -0
- package/dist/components/Details/DetailsSummary.d.ts +7 -0
- package/dist/components/Drawer/Drawer.d.ts +88 -0
- package/dist/components/Drawer/Drawer.stories.d.ts +15 -0
- package/dist/components/FormControl/FormControl.d.ts +38 -0
- package/dist/components/FormLabel/FormLabel.d.ts +41 -0
- package/dist/components/FormLabel/FormLabel.stories.d.ts +6 -0
- package/dist/components/Formik/Formik.stories.d.ts +18 -0
- package/dist/components/Formik/FormikCheckboxInput/FormikCheckboxInput.d.ts +12 -0
- package/dist/components/Formik/FormikRadioGroup/FormikRadioGroup.d.ts +12 -0
- package/dist/components/Formik/FormikSelectInput/FormikSelectInput.d.ts +12 -0
- package/dist/components/Formik/FormikSelectInputInset/FormikSelectInputInset.d.ts +12 -0
- package/dist/components/Formik/FormikSelectInputNative/FormikSelectInputNative.d.ts +12 -0
- package/dist/components/Formik/FormikTextInput/FormikTextInput.d.ts +12 -0
- package/dist/components/Formik/FormikTextInputInset/FormikTextInputInset.d.ts +12 -0
- package/dist/components/Formik/FormikTextareaInput/FormikTextareaInput.d.ts +12 -0
- package/dist/components/Formik/FormikTextareaInputInset/FormikTextareaInputInset.d.ts +12 -0
- package/dist/components/Formik/FormikTimePicker/FormikTimePicker.d.ts +12 -0
- package/dist/components/Formik/FormikTimePickerNative/FormikTimePickerNative.d.ts +12 -0
- package/dist/components/Formik/FormikToggle/FormikToggle.d.ts +12 -0
- package/dist/components/Heading/Heading.constants.d.ts +10 -0
- package/dist/components/Heading/Heading.d.ts +35 -0
- package/dist/components/Heading/Heading.stories.d.ts +9 -0
- package/dist/components/HelpText/HelpText.d.ts +12 -0
- package/dist/components/Icon/Icon.d.ts +22 -0
- package/dist/components/Icon/Icon.stories.d.ts +10 -0
- package/dist/components/InputValidationMessage/InputValidationMessage.d.ts +9 -0
- package/dist/components/Modal/Modal.d.ts +75 -0
- package/dist/components/Modal/Modal.stories.d.ts +11 -0
- package/dist/components/Modal/components/ModalBody/ModalBody.d.ts +4 -0
- package/dist/components/Modal/components/ModalFooter/ModalFooter.d.ts +4 -0
- package/dist/components/Modal/components/ModalHeader/ModalHeader.d.ts +16 -0
- package/dist/components/Modal/components/index.d.ts +4 -0
- package/dist/components/Pagination/Pagination.d.ts +51 -0
- package/dist/components/Pagination/Pagination.stories.d.ts +8 -0
- package/dist/components/Pagination/Pagination.utilities.d.ts +11 -0
- package/dist/components/Popover/Popover.d.ts +80 -0
- package/dist/components/Popover/Popover.stories.d.ts +14 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +75 -0
- package/dist/components/RadioGroup/RadioGroup.stories.d.ts +16 -0
- package/dist/components/RadioGroup/RadioInput/RadioInput.d.ts +57 -0
- package/dist/components/RadioGroup/RadioInput/RadioInputIcon.d.ts +27 -0
- package/dist/components/ResponsiveProvider/ResponsiveProvider.d.ts +17 -0
- package/dist/components/ResponsiveProvider/ResponsiveProvider.stories.d.ts +7 -0
- package/dist/components/SelectInput/SelectInput.d.ts +110 -0
- package/dist/components/SelectInput/SelectInput.stories.d.ts +20 -0
- package/dist/components/SelectInputInset/SelectInputInset.d.ts +92 -0
- package/dist/components/SelectInputInset/SelectInputInset.stories.d.ts +12 -0
- package/dist/components/SelectInputNative/SelectInputNative.d.ts +43 -0
- package/dist/components/SelectInputNative/SelectInputNative.stories.d.ts +16 -0
- package/dist/components/Spinner/Spinner.d.ts +12 -0
- package/dist/components/Spinner/Spinner.stories.d.ts +8 -0
- package/dist/components/Table/Table.d.ts +86 -0
- package/dist/components/Table/Table.stories.d.ts +31 -0
- package/dist/components/Table/TableBody/TableBody.d.ts +52 -0
- package/dist/components/Table/TableBody/TableBodyCell/TableBodyCell.d.ts +45 -0
- package/dist/components/Table/TableHead/TableHead.d.ts +46 -0
- package/dist/components/Table/TableHead/TableHeaderCell/TableHeaderCell.d.ts +65 -0
- package/dist/components/Table/common/TableRow/TableRow.d.ts +67 -0
- package/dist/components/TextInput/TextInput.d.ts +106 -0
- package/dist/components/TextInput/TextInput.stories.d.ts +19 -0
- package/dist/components/TextInputInset/TextInputInset.d.ts +102 -0
- package/dist/components/TextInputInset/TextInputInset.stories.d.ts +13 -0
- package/dist/components/TextareaInput/TextareaInput.d.ts +97 -0
- package/dist/components/TextareaInput/TextareaInput.stories.d.ts +23 -0
- package/dist/components/TextareaInputInset/TextareaInputInset.d.ts +105 -0
- package/dist/components/TextareaInputInset/TextareaInputInset.stories.d.ts +12 -0
- package/dist/components/ThemeProvider/ThemeProvider.d.ts +14 -0
- package/dist/components/ThemeProvider/ThemeProvider.stories.d.ts +6 -0
- package/dist/components/TimePicker/TimePicker.d.ts +35 -0
- package/dist/components/TimePicker/TimePicker.stories.d.ts +12 -0
- package/dist/components/TimePickerNative/TimePickerNative.d.ts +39 -0
- package/dist/components/TimePickerNative/TimePickerNative.stories.d.ts +11 -0
- package/dist/components/Toast/Toast.store.d.ts +36 -0
- package/dist/components/Toast/Toast.stories.d.ts +14 -0
- package/dist/components/Toast/Toast.types.d.ts +75 -0
- package/dist/components/Toast/ToastContainer.d.ts +43 -0
- package/dist/components/Toast/ToastNotification.d.ts +28 -0
- package/dist/components/Toast/index.d.ts +4 -0
- package/dist/components/Toast/toast.d.ts +20 -0
- package/dist/components/Toast/useToasts.d.ts +14 -0
- package/dist/components/Toggle/Toggle.d.ts +64 -0
- package/dist/components/Toggle/Toggle.stories.d.ts +12 -0
- package/dist/constants/keyCodes.d.ts +2 -0
- package/dist/css/fonts.css +33 -0
- package/dist/css/index.css +32 -0
- package/dist/css/reset.css +98 -0
- package/dist/css/utilities.css +6049 -0
- package/dist/css/variables.css +418 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +9 -0
- package/dist/hooks/useBreakpoint/useBreakpoint.stories.d.ts +6 -0
- package/dist/hooks/useIsomorphicLayoutEffect/useIsomorphicLayouEffect.d.ts +2 -0
- package/dist/hooks/useOpenClose/useOpenClose.d.ts +39 -0
- package/dist/hooks/useOpenClose/useOpenClose.stories.d.ts +6 -0
- package/dist/hooks/useWindowSize/useWindowSize.d.ts +7 -0
- package/dist/hooks/useWindowSize/useWindowSize.stories.d.ts +6 -0
- package/dist/hyphen-components.cjs.development.js +4724 -0
- package/dist/hyphen-components.cjs.development.js.map +1 -0
- package/dist/hyphen-components.cjs.production.min.js +2 -0
- package/dist/hyphen-components.cjs.production.min.js.map +1 -0
- package/dist/hyphen-components.esm.js +4661 -0
- package/dist/hyphen-components.esm.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +8 -0
- package/dist/lib/cssShorthandToClasses.d.ts +4 -0
- package/dist/lib/doesStringIncludeCssUnit.d.ts +1 -0
- package/dist/lib/generateResponsiveClasses.d.ts +2 -0
- package/dist/lib/getAutoCompleteValue.d.ts +1 -0
- package/dist/lib/getColumnKeys.d.ts +3 -0
- package/dist/lib/getDimensionCss.d.ts +12 -0
- package/dist/lib/getElementType.d.ts +14 -0
- package/dist/lib/getFlexCss.d.ts +9 -0
- package/dist/lib/index.d.ts +15 -0
- package/dist/lib/isFunction.d.ts +2 -0
- package/dist/lib/mergeRefs.d.ts +2 -0
- package/dist/lib/prefersReducedMotion.d.ts +1 -0
- package/dist/lib/react-children-utilities/filter.d.ts +3 -0
- package/dist/lib/react-children-utilities/index.d.ts +1 -0
- package/dist/lib/reactRouterClickHandler.d.ts +12 -0
- package/dist/lib/resolveValue.d.ts +2 -0
- package/dist/lib/tokens.d.ts +22 -0
- package/dist/modes.d.ts +8 -0
- package/dist/types/index.d.ts +101 -0
- package/dist/types/lib.types.d.ts +3 -0
- package/package.json +2 -1
- 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
|