pixel-react 1.8.5 → 1.8.6
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/.yarn/install-state.gz +0 -0
- package/lib/components/DatePicker/types.d.ts +2 -0
- package/lib/components/FF_Captcha/Recaptcha.d.ts +2 -1
- package/lib/components/FF_Captcha/types.d.ts +11 -2
- package/lib/index.d.ts +13 -2
- package/lib/index.esm.js +1239 -1012
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +1239 -1012
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/DatePicker/DatePicker.scss +307 -2
- package/src/components/DatePicker/DatePicker.tsx +27 -19
- package/src/components/DatePicker/types.ts +4 -0
- package/src/components/FF_Captcha/Recaptcha.tsx +19 -9
- package/src/components/FF_Captcha/types.ts +12 -4
- package/src/components/LazyLoad/LazyLoad.stories.tsx +1 -0
- package/src/components/LazyLoad/LazyLoading.tsx +10 -1
- package/lib/1fb4472b34e4fe07.css +0 -1
- package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +0 -6
- package/lib/StyleGuide/Typography/Typography.stories.d.ts +0 -6
- package/lib/components/Accordion/Accordion.stories.d.ts +0 -6
- package/lib/components/AddResourceButton/AddButton.stories.d.ts +0 -8
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +0 -7
- package/lib/components/AppHeader/AppHeader.stories.d.ts +0 -7
- package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +0 -9
- package/lib/components/Avatar/Avatar.stories.d.ts +0 -10
- package/lib/components/Button/Button.stories.d.ts +0 -13
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +0 -7
- package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +0 -6
- package/lib/components/Charts/PieChart/PieChart.stories.d.ts +0 -7
- package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +0 -6
- package/lib/components/Checkbox/Checkbox.stories.d.ts +0 -8
- package/lib/components/Chip/Chip.stories.d.ts +0 -14
- package/lib/components/DatePicker/DatePicker.stories.d.ts +0 -9
- package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +0 -6
- package/lib/components/Drawer/Drawer.stories.d.ts +0 -12
- package/lib/components/ExcelFile/ColorBarselector/ColorBarSelector.d.ts +0 -8
- package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +0 -4
- package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +0 -7
- package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +0 -4
- package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +0 -8
- package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +0 -10
- package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +0 -80
- package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +0 -174
- package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +0 -1
- package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +0 -8
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +0 -22
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +0 -17
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +0 -2
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +0 -21
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +0 -24
- package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +0 -13
- package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +0 -67
- package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +0 -22
- package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +0 -11
- package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +0 -27
- package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +0 -95
- package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +0 -178
- package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +0 -44
- package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +0 -19
- package/lib/components/ExcelFile/ExcelFile.stories.d.ts +0 -6
- package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +0 -12
- package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +0 -15
- package/lib/components/ExcelFile/Types.d.ts +0 -129
- package/lib/components/ExcelFile/index.d.ts +0 -1
- package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +0 -7
- package/lib/components/FF_Captcha/captcha.stories.d.ts +0 -8
- package/lib/components/FileDropzone/FileDropzone.stories.d.ts +0 -8
- package/lib/components/Form/Form.stories.d.ts +0 -7
- package/lib/components/GridLayout/GridLayout.stories.d.ts +0 -8
- package/lib/components/HighlightText/HighlightText.stories.d.ts +0 -6
- package/lib/components/Icon/Icon.stories.d.ts +0 -8
- package/lib/components/IconButton/IconButton.stories.d.ts +0 -7
- package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +0 -7
- package/lib/components/Input/Input.stories.d.ts +0 -9
- package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +0 -9
- package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +0 -11
- package/lib/components/LazyLoad/LazyLoad.stories.d.ts +0 -6
- package/lib/components/MachineInputField/MachineInputField.stories.d.ts +0 -6
- package/lib/components/MenuOption/MenuOption.stories.d.ts +0 -16
- package/lib/components/MiniModal/MiniModal.stories.d.ts +0 -10
- package/lib/components/Modal/Modal.stories.d.ts +0 -7
- package/lib/components/ModulesChip/ModuleChip.stories.d.ts +0 -6
- package/lib/components/MultiSelect/MultiSelect.stories.d.ts +0 -10
- package/lib/components/NLPInput/NlpInput.stories.d.ts +0 -7
- package/lib/components/NLPInput/type.d.ts +0 -70
- package/lib/components/Paper/Paper.stories.d.ts +0 -11
- package/lib/components/RadioButton/RadioButton.stories.d.ts +0 -10
- package/lib/components/RadioGroup/RadioGroup.stories.d.ts +0 -9
- package/lib/components/Search/Search.stories.d.ts +0 -6
- package/lib/components/Select/Select.stories.d.ts +0 -13
- package/lib/components/Select/components/Dropdown/Dropdown.d.ts +0 -4
- package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +0 -17
- package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +0 -6
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +0 -4
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +0 -3
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +0 -4
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +0 -3
- package/lib/components/StateDropdown/StateDropdown.stories.d.ts +0 -10
- package/lib/components/StatusButton/StatusButton.stories.d.ts +0 -14
- package/lib/components/Table/Table.stories.d.ts +0 -13
- package/lib/components/TableTree/TableTree.stories.d.ts +0 -7
- package/lib/components/Tabs/Tabs.stories.d.ts +0 -9
- package/lib/components/TextArea/Textarea.stories.d.ts +0 -9
- package/lib/components/Toast/Toast.stories.d.ts +0 -6
- package/lib/components/Toastify/Toastify.stories.d.ts +0 -6
- package/lib/components/Toggle/Toggle.stories.d.ts +0 -12
- package/lib/components/Tooltip/Tooltip.stories.d.ts +0 -15
- package/lib/components/Typography/Typography.stories.d.ts +0 -10
- package/lib/components/VariableInput/VariableInput.stories.d.ts +0 -6
- package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +0 -6
- package/lib/utils/compareArrays/compareArrays.stories.d.ts +0 -6
- package/lib/utils/compareObjects/compareObjects.stories.d.ts +0 -6
- package/lib/utils/debounce/debounce.stories.d.ts +0 -6
- package/lib/utils/ffID/ffID.stories.d.ts +0 -6
- package/lib/utils/find/findAndInsert.d.ts +0 -7
- package/lib/utils/find/findAndInsert.stories.d.ts +0 -7
- package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +0 -7
- package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +0 -6
- package/lib/utils/getExtension/getExtension.stories.d.ts +0 -6
- package/lib/utils/throttle/throttle.stories.d.ts +0 -6
- package/lib/utils/truncateText/truncateText.stories.d.ts +0 -6
package/lib/index.esm.js
CHANGED
@@ -6472,13 +6472,14 @@ var isWeb = typeof window !== 'undefined' &&
|
|
6472
6472
|
function cloneObject(data) {
|
6473
6473
|
let copy;
|
6474
6474
|
const isArray = Array.isArray(data);
|
6475
|
+
const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;
|
6475
6476
|
if (data instanceof Date) {
|
6476
6477
|
copy = new Date(data);
|
6477
6478
|
}
|
6478
6479
|
else if (data instanceof Set) {
|
6479
6480
|
copy = new Set(data);
|
6480
6481
|
}
|
6481
|
-
else if (!(isWeb && (data instanceof Blob ||
|
6482
|
+
else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
|
6482
6483
|
(isArray || isObject$2(data))) {
|
6483
6484
|
copy = isArray ? [] : {};
|
6484
6485
|
if (!isArray && !isPlainObject(data)) {
|
@@ -6537,7 +6538,7 @@ var set$1 = (object, path, value) => {
|
|
6537
6538
|
? []
|
6538
6539
|
: {};
|
6539
6540
|
}
|
6540
|
-
if (key === '__proto__') {
|
6541
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
6541
6542
|
return;
|
6542
6543
|
}
|
6543
6544
|
object[key] = newValue;
|
@@ -6756,7 +6757,7 @@ function useFormState(props) {
|
|
6756
6757
|
_mounted.current = false;
|
6757
6758
|
};
|
6758
6759
|
}, [control]);
|
6759
|
-
return getProxyFormState(formState, control, _localProxyFormState.current, false);
|
6760
|
+
return React__default.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
|
6760
6761
|
}
|
6761
6762
|
|
6762
6763
|
var isString = (value) => typeof value === 'string';
|
@@ -6852,6 +6853,67 @@ function useController(props) {
|
|
6852
6853
|
value,
|
6853
6854
|
...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
|
6854
6855
|
}));
|
6856
|
+
const fieldState = React__default.useMemo(() => Object.defineProperties({}, {
|
6857
|
+
invalid: {
|
6858
|
+
enumerable: true,
|
6859
|
+
get: () => !!get$1(formState.errors, name),
|
6860
|
+
},
|
6861
|
+
isDirty: {
|
6862
|
+
enumerable: true,
|
6863
|
+
get: () => !!get$1(formState.dirtyFields, name),
|
6864
|
+
},
|
6865
|
+
isTouched: {
|
6866
|
+
enumerable: true,
|
6867
|
+
get: () => !!get$1(formState.touchedFields, name),
|
6868
|
+
},
|
6869
|
+
isValidating: {
|
6870
|
+
enumerable: true,
|
6871
|
+
get: () => !!get$1(formState.validatingFields, name),
|
6872
|
+
},
|
6873
|
+
error: {
|
6874
|
+
enumerable: true,
|
6875
|
+
get: () => get$1(formState.errors, name),
|
6876
|
+
},
|
6877
|
+
}), [formState, name]);
|
6878
|
+
const field = React__default.useMemo(() => ({
|
6879
|
+
name,
|
6880
|
+
value,
|
6881
|
+
...(isBoolean(disabled) || formState.disabled
|
6882
|
+
? { disabled: formState.disabled || disabled }
|
6883
|
+
: {}),
|
6884
|
+
onChange: (event) => _registerProps.current.onChange({
|
6885
|
+
target: {
|
6886
|
+
value: getEventValue(event),
|
6887
|
+
name: name,
|
6888
|
+
},
|
6889
|
+
type: EVENTS.CHANGE,
|
6890
|
+
}),
|
6891
|
+
onBlur: () => _registerProps.current.onBlur({
|
6892
|
+
target: {
|
6893
|
+
value: get$1(control._formValues, name),
|
6894
|
+
name: name,
|
6895
|
+
},
|
6896
|
+
type: EVENTS.BLUR,
|
6897
|
+
}),
|
6898
|
+
ref: (elm) => {
|
6899
|
+
const field = get$1(control._fields, name);
|
6900
|
+
if (field && elm) {
|
6901
|
+
field._f.ref = {
|
6902
|
+
focus: () => elm.focus(),
|
6903
|
+
select: () => elm.select(),
|
6904
|
+
setCustomValidity: (message) => elm.setCustomValidity(message),
|
6905
|
+
reportValidity: () => elm.reportValidity(),
|
6906
|
+
};
|
6907
|
+
}
|
6908
|
+
},
|
6909
|
+
}), [
|
6910
|
+
name,
|
6911
|
+
control._formValues,
|
6912
|
+
disabled,
|
6913
|
+
formState.disabled,
|
6914
|
+
value,
|
6915
|
+
control._fields,
|
6916
|
+
]);
|
6855
6917
|
React__default.useEffect(() => {
|
6856
6918
|
const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
|
6857
6919
|
const updateMounted = (name, value) => {
|
@@ -6877,7 +6939,7 @@ function useController(props) {
|
|
6877
6939
|
};
|
6878
6940
|
}, [name, control, isArrayField, shouldUnregister]);
|
6879
6941
|
React__default.useEffect(() => {
|
6880
|
-
if (get$1(control._fields, name)) {
|
6942
|
+
if (isBoolean(disabled) && get$1(control._fields, name)) {
|
6881
6943
|
control._updateDisabledField({
|
6882
6944
|
disabled,
|
6883
6945
|
fields: control._fields,
|
@@ -6886,63 +6948,11 @@ function useController(props) {
|
|
6886
6948
|
});
|
6887
6949
|
}
|
6888
6950
|
}, [disabled, name, control]);
|
6889
|
-
return {
|
6890
|
-
field
|
6891
|
-
name,
|
6892
|
-
value,
|
6893
|
-
...(isBoolean(disabled) || formState.disabled
|
6894
|
-
? { disabled: formState.disabled || disabled }
|
6895
|
-
: {}),
|
6896
|
-
onChange: React__default.useCallback((event) => _registerProps.current.onChange({
|
6897
|
-
target: {
|
6898
|
-
value: getEventValue(event),
|
6899
|
-
name: name,
|
6900
|
-
},
|
6901
|
-
type: EVENTS.CHANGE,
|
6902
|
-
}), [name]),
|
6903
|
-
onBlur: React__default.useCallback(() => _registerProps.current.onBlur({
|
6904
|
-
target: {
|
6905
|
-
value: get$1(control._formValues, name),
|
6906
|
-
name: name,
|
6907
|
-
},
|
6908
|
-
type: EVENTS.BLUR,
|
6909
|
-
}), [name, control]),
|
6910
|
-
ref: React__default.useCallback((elm) => {
|
6911
|
-
const field = get$1(control._fields, name);
|
6912
|
-
if (field && elm) {
|
6913
|
-
field._f.ref = {
|
6914
|
-
focus: () => elm.focus(),
|
6915
|
-
select: () => elm.select(),
|
6916
|
-
setCustomValidity: (message) => elm.setCustomValidity(message),
|
6917
|
-
reportValidity: () => elm.reportValidity(),
|
6918
|
-
};
|
6919
|
-
}
|
6920
|
-
}, [control._fields, name]),
|
6921
|
-
},
|
6951
|
+
return React__default.useMemo(() => ({
|
6952
|
+
field,
|
6922
6953
|
formState,
|
6923
|
-
fieldState
|
6924
|
-
|
6925
|
-
enumerable: true,
|
6926
|
-
get: () => !!get$1(formState.errors, name),
|
6927
|
-
},
|
6928
|
-
isDirty: {
|
6929
|
-
enumerable: true,
|
6930
|
-
get: () => !!get$1(formState.dirtyFields, name),
|
6931
|
-
},
|
6932
|
-
isTouched: {
|
6933
|
-
enumerable: true,
|
6934
|
-
get: () => !!get$1(formState.touchedFields, name),
|
6935
|
-
},
|
6936
|
-
isValidating: {
|
6937
|
-
enumerable: true,
|
6938
|
-
get: () => !!get$1(formState.validatingFields, name),
|
6939
|
-
},
|
6940
|
-
error: {
|
6941
|
-
enumerable: true,
|
6942
|
-
get: () => get$1(formState.errors, name),
|
6943
|
-
},
|
6944
|
-
}),
|
6945
|
-
};
|
6954
|
+
fieldState,
|
6955
|
+
}), [field, formState, fieldState]);
|
6946
6956
|
}
|
6947
6957
|
|
6948
6958
|
/**
|
@@ -6992,7 +7002,7 @@ const Controller = (props) => props.render(useController(props));
|
|
6992
7002
|
const flatten = (obj) => {
|
6993
7003
|
const output = {};
|
6994
7004
|
for (const key of Object.keys(obj)) {
|
6995
|
-
if (isObjectType(obj[key])) {
|
7005
|
+
if (isObjectType(obj[key]) && obj[key] !== null) {
|
6996
7006
|
const nested = flatten(obj[key]);
|
6997
7007
|
for (const nestedKey of Object.keys(nested)) {
|
6998
7008
|
output[`${key}.${nestedKey}`] = nested[nestedKey];
|
@@ -7061,7 +7071,7 @@ function Form(props) {
|
|
7061
7071
|
headers && headers['Content-Type'],
|
7062
7072
|
encType,
|
7063
7073
|
].some((value) => value && value.includes('json'));
|
7064
|
-
const response = await fetch(action, {
|
7074
|
+
const response = await fetch(String(action), {
|
7065
7075
|
method,
|
7066
7076
|
headers: {
|
7067
7077
|
...headers,
|
@@ -7559,7 +7569,7 @@ var updateAt = (fieldValues, index, value) => {
|
|
7559
7569
|
*/
|
7560
7570
|
function useFieldArray(props) {
|
7561
7571
|
const methods = useFormContext();
|
7562
|
-
const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;
|
7572
|
+
const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;
|
7563
7573
|
const [fields, setFields] = React__default.useState(control._getFieldArray(name));
|
7564
7574
|
const ids = React__default.useRef(control._getFieldArray(name).map(generateId));
|
7565
7575
|
const _fieldIds = React__default.useRef(fields);
|
@@ -7568,8 +7578,8 @@ function useFieldArray(props) {
|
|
7568
7578
|
_name.current = name;
|
7569
7579
|
_fieldIds.current = fields;
|
7570
7580
|
control._names.array.add(name);
|
7571
|
-
|
7572
|
-
control.register(name,
|
7581
|
+
rules &&
|
7582
|
+
control.register(name, rules);
|
7573
7583
|
useSubscribe({
|
7574
7584
|
next: ({ values, name: fieldArrayName, }) => {
|
7575
7585
|
if (fieldArrayName === _name.current || !fieldArrayName) {
|
@@ -7613,6 +7623,8 @@ function useFieldArray(props) {
|
|
7613
7623
|
ids.current = removeArrayAt(ids.current, index);
|
7614
7624
|
updateValues(updatedFieldArrayValues);
|
7615
7625
|
setFields(updatedFieldArrayValues);
|
7626
|
+
!Array.isArray(get$1(control._fields, name)) &&
|
7627
|
+
set$1(control._fields, name, undefined);
|
7616
7628
|
control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {
|
7617
7629
|
argA: index,
|
7618
7630
|
});
|
@@ -7927,7 +7939,8 @@ var getRuleValue = (rule) => isUndefined(rule)
|
|
7927
7939
|
: rule;
|
7928
7940
|
|
7929
7941
|
const ASYNC_FUNCTION = 'AsyncFunction';
|
7930
|
-
var hasPromiseValidation = (fieldReference) =>
|
7942
|
+
var hasPromiseValidation = (fieldReference) => !!fieldReference &&
|
7943
|
+
!!fieldReference.validate &&
|
7931
7944
|
!!((isFunction$1(fieldReference.validate) &&
|
7932
7945
|
fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||
|
7933
7946
|
(isObject$2(fieldReference.validate) &&
|
@@ -8189,9 +8202,9 @@ function createFormControl(props = {}) {
|
|
8189
8202
|
const shouldUpdateValid = _proxyFormState.isValid &&
|
8190
8203
|
isBoolean(isValid) &&
|
8191
8204
|
_formState.isValid !== isValid;
|
8192
|
-
if (
|
8205
|
+
if (_options.delayError && error) {
|
8193
8206
|
delayErrorCallback = debounce(() => updateErrors(name, error));
|
8194
|
-
delayErrorCallback(
|
8207
|
+
delayErrorCallback(_options.delayError);
|
8195
8208
|
}
|
8196
8209
|
else {
|
8197
8210
|
clearTimeout(timer);
|
@@ -8296,7 +8309,7 @@ function createFormControl(props = {}) {
|
|
8296
8309
|
? { [names]: defaultValue }
|
8297
8310
|
: defaultValue),
|
8298
8311
|
}, isGlobal, defaultValue);
|
8299
|
-
const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name,
|
8312
|
+
const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get$1(_defaultValues, name, []) : []));
|
8300
8313
|
const setFieldValue = (name, value, options = {}) => {
|
8301
8314
|
const field = get$1(_fields, name);
|
8302
8315
|
let fieldValue = value;
|
@@ -8429,7 +8442,7 @@ function createFormControl(props = {}) {
|
|
8429
8442
|
});
|
8430
8443
|
if (shouldSkipValidation) {
|
8431
8444
|
if (_proxyFormState.isValid) {
|
8432
|
-
if (
|
8445
|
+
if (_options.mode === 'onBlur') {
|
8433
8446
|
if (isBlurEvent) {
|
8434
8447
|
_updateValid();
|
8435
8448
|
}
|
@@ -8594,7 +8607,9 @@ function createFormControl(props = {}) {
|
|
8594
8607
|
: isUndefined(value)
|
8595
8608
|
? getFieldValue(field ? field._f : get$1(fields, name)._f)
|
8596
8609
|
: value;
|
8597
|
-
|
8610
|
+
if (disabled || (!disabled && !isUndefined(inputValue))) {
|
8611
|
+
set$1(_formValues, name, inputValue);
|
8612
|
+
}
|
8598
8613
|
updateTouchAndDirty(name, inputValue, false, false, true);
|
8599
8614
|
}
|
8600
8615
|
};
|
@@ -8823,7 +8838,7 @@ function createFormControl(props = {}) {
|
|
8823
8838
|
}
|
8824
8839
|
_fields = {};
|
8825
8840
|
}
|
8826
|
-
_formValues =
|
8841
|
+
_formValues = _options.shouldUnregister
|
8827
8842
|
? keepStateOptions.keepDefaultValues
|
8828
8843
|
? cloneObject(_defaultValues)
|
8829
8844
|
: {}
|
@@ -8847,7 +8862,7 @@ function createFormControl(props = {}) {
|
|
8847
8862
|
!_proxyFormState.isValid ||
|
8848
8863
|
!!keepStateOptions.keepIsValid ||
|
8849
8864
|
!!keepStateOptions.keepDirtyValues;
|
8850
|
-
_state.watch = !!
|
8865
|
+
_state.watch = !!_options.shouldUnregister;
|
8851
8866
|
_subjects.state.next({
|
8852
8867
|
submitCount: keepStateOptions.keepSubmitCount
|
8853
8868
|
? _formState.submitCount
|
@@ -9018,8 +9033,8 @@ function createFormControl(props = {}) {
|
|
9018
9033
|
* ```
|
9019
9034
|
*/
|
9020
9035
|
function useForm(props = {}) {
|
9021
|
-
const _formControl = React__default.useRef();
|
9022
|
-
const _values = React__default.useRef();
|
9036
|
+
const _formControl = React__default.useRef(undefined);
|
9037
|
+
const _values = React__default.useRef(undefined);
|
9023
9038
|
const [formState, updateFormState] = React__default.useState({
|
9024
9039
|
isDirty: false,
|
9025
9040
|
isValidating: false,
|
@@ -12661,21 +12676,21 @@ const longFormatters$1 = {
|
|
12661
12676
|
P: dateTimeLongFormatter$1
|
12662
12677
|
};
|
12663
12678
|
|
12664
|
-
const dayOfYearTokenRE = /^D+$/;
|
12665
|
-
const weekYearTokenRE = /^Y+$/;
|
12666
|
-
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
12679
|
+
const dayOfYearTokenRE$1 = /^D+$/;
|
12680
|
+
const weekYearTokenRE$1 = /^Y+$/;
|
12681
|
+
const throwTokens$1 = ["D", "DD", "YY", "YYYY"];
|
12667
12682
|
function isProtectedDayOfYearToken$1(token) {
|
12668
|
-
return dayOfYearTokenRE.test(token);
|
12683
|
+
return dayOfYearTokenRE$1.test(token);
|
12669
12684
|
}
|
12670
12685
|
function isProtectedWeekYearToken$1(token) {
|
12671
|
-
return weekYearTokenRE.test(token);
|
12686
|
+
return weekYearTokenRE$1.test(token);
|
12672
12687
|
}
|
12673
|
-
function warnOrThrowProtectedError(token, format, input) {
|
12674
|
-
const _message = message(token, format, input);
|
12688
|
+
function warnOrThrowProtectedError$1(token, format, input) {
|
12689
|
+
const _message = message$1(token, format, input);
|
12675
12690
|
console.warn(_message);
|
12676
|
-
if (throwTokens.includes(token)) throw new RangeError(_message);
|
12691
|
+
if (throwTokens$1.includes(token)) throw new RangeError(_message);
|
12677
12692
|
}
|
12678
|
-
function message(token, format, input) {
|
12693
|
+
function message$1(token, format, input) {
|
12679
12694
|
const subject = token[0] === "Y" ? "years" : "days of the month";
|
12680
12695
|
return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
12681
12696
|
}
|
@@ -13047,7 +13062,7 @@ function format$2(date, formatStr, options) {
|
|
13047
13062
|
if (!part.isToken) return part.value;
|
13048
13063
|
const token = part.value;
|
13049
13064
|
if (!options?.useAdditionalWeekYearTokens && isProtectedWeekYearToken$1(token) || !options?.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken$1(token)) {
|
13050
|
-
warnOrThrowProtectedError(token, formatStr, String(date));
|
13065
|
+
warnOrThrowProtectedError$1(token, formatStr, String(date));
|
13051
13066
|
}
|
13052
13067
|
const formatter = formatters$2[token[0]];
|
13053
13068
|
return formatter(originalDate, token, locale.localize, formatterOptions);
|
@@ -13273,6 +13288,53 @@ function setYear(date, year, options) {
|
|
13273
13288
|
return date_;
|
13274
13289
|
}
|
13275
13290
|
|
13291
|
+
const FIVE_WEEKS = 5;
|
13292
|
+
const FOUR_WEEKS = 4;
|
13293
|
+
/**
|
13294
|
+
* Return the number of weeks to display in the broadcast calendar.
|
13295
|
+
*
|
13296
|
+
* @since 9.4.0
|
13297
|
+
*/
|
13298
|
+
function getBroadcastWeeksInMonth(month, dateLib) {
|
13299
|
+
// Get the first day of the month
|
13300
|
+
const firstDayOfMonth = dateLib.startOfMonth(month);
|
13301
|
+
// Get the day of the week for the first day of the month (1-7, where 1 is Monday)
|
13302
|
+
const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;
|
13303
|
+
const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);
|
13304
|
+
const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);
|
13305
|
+
const numberOfWeeks = month.getMonth() === lastDateOfLastWeek.getMonth() ? FIVE_WEEKS : FOUR_WEEKS;
|
13306
|
+
return numberOfWeeks;
|
13307
|
+
}
|
13308
|
+
|
13309
|
+
/**
|
13310
|
+
* Return the start date of the week in the broadcast calendar.
|
13311
|
+
*
|
13312
|
+
* @since 9.4.0
|
13313
|
+
*/
|
13314
|
+
function startOfBroadcastWeek(date, dateLib) {
|
13315
|
+
const firstOfMonth = dateLib.startOfMonth(date);
|
13316
|
+
const dayOfWeek = firstOfMonth.getDay();
|
13317
|
+
if (dayOfWeek === 1) {
|
13318
|
+
return firstOfMonth;
|
13319
|
+
} else if (dayOfWeek === 0) {
|
13320
|
+
return dateLib.addDays(firstOfMonth, -1 * 6);
|
13321
|
+
} else {
|
13322
|
+
return dateLib.addDays(firstOfMonth, -1 * (dayOfWeek - 1));
|
13323
|
+
}
|
13324
|
+
}
|
13325
|
+
|
13326
|
+
/**
|
13327
|
+
* Return the end date of the week in the broadcast calendar.
|
13328
|
+
*
|
13329
|
+
* @since 9.4.0
|
13330
|
+
*/
|
13331
|
+
function endOfBroadcastWeek(date, dateLib) {
|
13332
|
+
const startDate = startOfBroadcastWeek(date, dateLib);
|
13333
|
+
const numberOfWeeks = getBroadcastWeeksInMonth(date, dateLib);
|
13334
|
+
const endDate = dateLib.addDays(startDate, numberOfWeeks * 7 - 1);
|
13335
|
+
return endDate;
|
13336
|
+
}
|
13337
|
+
|
13276
13338
|
/**
|
13277
13339
|
* A wrapper class around [date-fns](http://date-fns.org) sharing the same
|
13278
13340
|
* options. Methods of this class can be overridden using the
|
@@ -13353,6 +13415,15 @@ class DateLib {
|
|
13353
13415
|
this.differenceInCalendarMonths = (dateLeft, dateRight) => {
|
13354
13416
|
return this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
|
13355
13417
|
};
|
13418
|
+
/**
|
13419
|
+
* Returns the end of the broadcast week for the given date.
|
13420
|
+
*
|
13421
|
+
* @param date The original date.
|
13422
|
+
* @returns The end of the broadcast week.
|
13423
|
+
*/
|
13424
|
+
this.endOfBroadcastWeek = date => {
|
13425
|
+
return this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(date, this) : endOfBroadcastWeek(date, this);
|
13426
|
+
};
|
13356
13427
|
/**
|
13357
13428
|
* Returns the end of the ISO week for the given date.
|
13358
13429
|
*
|
@@ -13514,6 +13585,15 @@ class DateLib {
|
|
13514
13585
|
this.setYear = (date, year) => {
|
13515
13586
|
return this.overrides?.setYear ? this.overrides.setYear(date, year) : setYear(date, year);
|
13516
13587
|
};
|
13588
|
+
/**
|
13589
|
+
* Returns the start of the broadcast week for the given date.
|
13590
|
+
*
|
13591
|
+
* @param date The original date.
|
13592
|
+
* @returns The start of the broadcast week.
|
13593
|
+
*/
|
13594
|
+
this.startOfBroadcastWeek = date => {
|
13595
|
+
return this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
|
13596
|
+
};
|
13517
13597
|
/**
|
13518
13598
|
* Returns the start of the day for the given date.
|
13519
13599
|
*
|
@@ -13996,7 +14076,9 @@ function Weekday(props) {
|
|
13996
14076
|
* @see https://daypicker.dev/guides/custom-components
|
13997
14077
|
*/
|
13998
14078
|
function Weekdays(props) {
|
13999
|
-
return /*#__PURE__*/React__default.createElement("thead",
|
14079
|
+
return /*#__PURE__*/React__default.createElement("thead", {
|
14080
|
+
"aria-hidden": true
|
14081
|
+
}, /*#__PURE__*/React__default.createElement("tr", {
|
14000
14082
|
...props
|
14001
14083
|
}));
|
14002
14084
|
}
|
@@ -14099,7 +14181,8 @@ function getDataAttributes(props) {
|
|
14099
14181
|
"data-mode": props.mode ?? undefined,
|
14100
14182
|
"data-required": "required" in props ? props.required : undefined,
|
14101
14183
|
"data-multiple-months": props.numberOfMonths && props.numberOfMonths > 1 || undefined,
|
14102
|
-
"data-week-numbers": props.showWeekNumber || undefined
|
14184
|
+
"data-week-numbers": props.showWeekNumber || undefined,
|
14185
|
+
"data-broadcast-calendar": props.broadcastCalendar || undefined
|
14103
14186
|
};
|
14104
14187
|
Object.entries(props).forEach(([key, val]) => {
|
14105
14188
|
if (key.startsWith("data-")) {
|
@@ -14165,7 +14248,7 @@ function formatDay(date, options, dateLib) {
|
|
14165
14248
|
*/
|
14166
14249
|
function formatMonthDropdown(/** The month number to format. */
|
14167
14250
|
monthNumber, /** The locale to use for formatting. */
|
14168
|
-
locale
|
14251
|
+
locale) {
|
14169
14252
|
return locale.localize?.month(monthNumber);
|
14170
14253
|
}
|
14171
14254
|
|
@@ -14255,13 +14338,12 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
14255
14338
|
if (!navEnd) return undefined;
|
14256
14339
|
const {
|
14257
14340
|
addMonths,
|
14258
|
-
startOfMonth
|
14259
|
-
isBefore
|
14341
|
+
startOfMonth
|
14260
14342
|
} = dateLib;
|
14261
14343
|
const year = displayMonth.getFullYear();
|
14262
14344
|
const months = [];
|
14263
14345
|
let month = navStart;
|
14264
|
-
while (months.length < 12
|
14346
|
+
while (months.length < 12) {
|
14265
14347
|
months.push(month.getMonth());
|
14266
14348
|
month = addMonths(month, 1);
|
14267
14349
|
}
|
@@ -14269,7 +14351,7 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
14269
14351
|
return a - b;
|
14270
14352
|
});
|
14271
14353
|
const options = sortedMonths.map(value => {
|
14272
|
-
const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
|
14354
|
+
const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? enUS$1);
|
14273
14355
|
const month = dateLib.Date ? new dateLib.Date(year, value) : new Date(year, value);
|
14274
14356
|
const disabled = navStart && month < startOfMonth(navStart) || navEnd && month > startOfMonth(navEnd) || false;
|
14275
14357
|
return {
|
@@ -14644,7 +14726,8 @@ function tzName(tz, date) {
|
|
14644
14726
|
*/
|
14645
14727
|
function getWeekdays(/** The date library. */
|
14646
14728
|
dateLib, /** Use ISOWeek instead of locale/ */
|
14647
|
-
ISOWeek, timeZone
|
14729
|
+
ISOWeek, timeZone, /** @since 9.4.0 */
|
14730
|
+
broadcastCalendar) {
|
14648
14731
|
const date = timeZone ? TZDate.tz(timeZone) : dateLib.Date ? new dateLib.Date() : new Date();
|
14649
14732
|
const start = ISOWeek ? dateLib.startOfISOWeek(date) : dateLib.startOfWeek(date);
|
14650
14733
|
const days = [];
|
@@ -14656,20 +14739,18 @@ ISOWeek, timeZone) {
|
|
14656
14739
|
}
|
14657
14740
|
|
14658
14741
|
/** Return the years to show in the dropdown. */
|
14659
|
-
function getYearOptions(
|
14660
|
-
if (!
|
14661
|
-
if (!
|
14742
|
+
function getYearOptions(navStart, navEnd, formatters, dateLib) {
|
14743
|
+
if (!navStart) return undefined;
|
14744
|
+
if (!navEnd) return undefined;
|
14662
14745
|
const {
|
14663
|
-
startOfMonth,
|
14664
14746
|
startOfYear,
|
14665
14747
|
endOfYear,
|
14666
14748
|
addYears,
|
14667
14749
|
isBefore,
|
14668
14750
|
isSameYear
|
14669
14751
|
} = dateLib;
|
14670
|
-
const
|
14671
|
-
const
|
14672
|
-
const lastNavYear = endOfYear(calendarEnd);
|
14752
|
+
const firstNavYear = startOfYear(navStart);
|
14753
|
+
const lastNavYear = endOfYear(navEnd);
|
14673
14754
|
const years = [];
|
14674
14755
|
let year = firstNavYear;
|
14675
14756
|
while (isBefore(year, lastNavYear) || isSameYear(year, lastNavYear)) {
|
@@ -14677,13 +14758,11 @@ function getYearOptions(displayMonth, calendarStart, calendarEnd, formatters, da
|
|
14677
14758
|
year = addYears(year, 1);
|
14678
14759
|
}
|
14679
14760
|
return years.map(value => {
|
14680
|
-
const year = dateLib.Date ? new dateLib.Date(value, month) : new Date(value, month);
|
14681
|
-
const disabled = calendarStart && year < startOfMonth(calendarStart) || month && calendarEnd && year > startOfMonth(calendarEnd) || false;
|
14682
14761
|
const label = formatters.formatYearDropdown(value);
|
14683
14762
|
return {
|
14684
14763
|
value,
|
14685
14764
|
label,
|
14686
|
-
disabled
|
14765
|
+
disabled: false
|
14687
14766
|
};
|
14688
14767
|
});
|
14689
14768
|
}
|
@@ -14847,29 +14926,30 @@ var defaultLabels = /*#__PURE__*/Object.freeze({
|
|
14847
14926
|
labelYearDropdown: labelYearDropdown
|
14848
14927
|
});
|
14849
14928
|
|
14850
|
-
/** The number of days in a month when having 6 weeks. */
|
14851
|
-
const NrOfDaysWithFixedWeeks = 42;
|
14852
14929
|
/** Return all the dates to display in the calendar. */
|
14853
14930
|
function getDates(displayMonths, maxDate, props, dateLib) {
|
14854
14931
|
const firstMonth = displayMonths[0];
|
14855
14932
|
const lastMonth = displayMonths[displayMonths.length - 1];
|
14856
14933
|
const {
|
14857
14934
|
ISOWeek,
|
14858
|
-
fixedWeeks
|
14935
|
+
fixedWeeks,
|
14936
|
+
broadcastCalendar
|
14859
14937
|
} = props ?? {};
|
14860
14938
|
const {
|
14861
|
-
startOfWeek,
|
14862
|
-
endOfWeek,
|
14863
|
-
startOfISOWeek,
|
14864
|
-
endOfISOWeek,
|
14865
14939
|
addDays,
|
14866
14940
|
differenceInCalendarDays,
|
14867
14941
|
differenceInCalendarMonths,
|
14942
|
+
endOfBroadcastWeek,
|
14943
|
+
endOfISOWeek,
|
14944
|
+
endOfMonth,
|
14945
|
+
endOfWeek,
|
14868
14946
|
isAfter,
|
14869
|
-
|
14947
|
+
startOfBroadcastWeek,
|
14948
|
+
startOfISOWeek,
|
14949
|
+
startOfWeek
|
14870
14950
|
} = dateLib;
|
14871
|
-
const startWeekFirstDate = ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14872
|
-
const endWeekLastDate = ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14951
|
+
const startWeekFirstDate = broadcastCalendar ? startOfBroadcastWeek(firstMonth, dateLib) : ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14952
|
+
const endWeekLastDate = broadcastCalendar ? endOfBroadcastWeek(lastMonth, dateLib) : ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14873
14953
|
const nOfDays = differenceInCalendarDays(endWeekLastDate, startWeekFirstDate);
|
14874
14954
|
const nOfMonths = differenceInCalendarMonths(lastMonth, firstMonth) + 1;
|
14875
14955
|
const dates = [];
|
@@ -14881,9 +14961,11 @@ function getDates(displayMonths, maxDate, props, dateLib) {
|
|
14881
14961
|
dates.push(date);
|
14882
14962
|
}
|
14883
14963
|
// If fixed weeks is enabled, add the extra dates to the array
|
14884
|
-
const
|
14964
|
+
const nrOfDaysWithFixedWeeks = broadcastCalendar ? 35 : 42;
|
14965
|
+
const extraDates = nrOfDaysWithFixedWeeks * nOfMonths;
|
14885
14966
|
if (fixedWeeks && dates.length < extraDates) {
|
14886
|
-
|
14967
|
+
const daysToAdd = extraDates - dates.length;
|
14968
|
+
for (let i = 0; i < daysToAdd; i++) {
|
14887
14969
|
const date = addDays(dates[dates.length - 1], 1);
|
14888
14970
|
dates.push(date);
|
14889
14971
|
}
|
@@ -14994,25 +15076,29 @@ displayMonths, /** The dates to display in the calendar. */
|
|
14994
15076
|
dates, /** Options from the props context. */
|
14995
15077
|
props, dateLib) {
|
14996
15078
|
const {
|
14997
|
-
|
14998
|
-
|
14999
|
-
startOfISOWeek,
|
15079
|
+
addDays,
|
15080
|
+
endOfBroadcastWeek,
|
15000
15081
|
endOfISOWeek,
|
15001
15082
|
endOfMonth,
|
15002
|
-
|
15083
|
+
endOfWeek,
|
15084
|
+
getISOWeek,
|
15003
15085
|
getWeek,
|
15004
|
-
|
15086
|
+
startOfBroadcastWeek,
|
15087
|
+
startOfISOWeek,
|
15088
|
+
startOfWeek
|
15005
15089
|
} = dateLib;
|
15006
15090
|
const dayPickerMonths = displayMonths.reduce((months, month) => {
|
15007
|
-
const firstDateOfFirstWeek = props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
15008
|
-
const lastDateOfLastWeek = props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
15091
|
+
const firstDateOfFirstWeek = props.broadcastCalendar ? startOfBroadcastWeek(month, dateLib) : props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
15092
|
+
const lastDateOfLastWeek = props.broadcastCalendar ? endOfBroadcastWeek(month, dateLib) : props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
15009
15093
|
/** The dates to display in the month. */
|
15010
15094
|
const monthDates = dates.filter(date => {
|
15011
15095
|
return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
|
15012
15096
|
});
|
15013
|
-
|
15097
|
+
const nrOfDaysWithFixedWeeks = props.broadcastCalendar ? 35 : 42;
|
15098
|
+
if (props.fixedWeeks && monthDates.length < nrOfDaysWithFixedWeeks) {
|
15014
15099
|
const extraDates = dates.filter(date => {
|
15015
|
-
|
15100
|
+
const daysToAdd = nrOfDaysWithFixedWeeks - monthDates.length;
|
15101
|
+
return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, daysToAdd);
|
15016
15102
|
});
|
15017
15103
|
monthDates.push(...extraDates);
|
15018
15104
|
}
|
@@ -15450,27 +15536,30 @@ function dateMatchModifiers(date, matchers, dateLib = defaultDateLib) {
|
|
15450
15536
|
/** Return the next date that should be focused. */
|
15451
15537
|
function getFocusableDate(moveBy, moveDir, refDate, navStart, navEnd, props, dateLib) {
|
15452
15538
|
const {
|
15453
|
-
ISOWeek
|
15539
|
+
ISOWeek,
|
15540
|
+
broadcastCalendar
|
15454
15541
|
} = props;
|
15455
15542
|
const {
|
15456
15543
|
addDays,
|
15457
15544
|
addMonths,
|
15458
|
-
addYears,
|
15459
15545
|
addWeeks,
|
15460
|
-
|
15546
|
+
addYears,
|
15547
|
+
endOfBroadcastWeek,
|
15461
15548
|
endOfISOWeek,
|
15462
|
-
startOfWeek,
|
15463
15549
|
endOfWeek,
|
15464
15550
|
max,
|
15465
|
-
min
|
15551
|
+
min,
|
15552
|
+
startOfBroadcastWeek,
|
15553
|
+
startOfISOWeek,
|
15554
|
+
startOfWeek
|
15466
15555
|
} = dateLib;
|
15467
15556
|
const moveFns = {
|
15468
15557
|
day: addDays,
|
15469
15558
|
week: addWeeks,
|
15470
15559
|
month: addMonths,
|
15471
15560
|
year: addYears,
|
15472
|
-
startOfWeek: date => ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15473
|
-
endOfWeek: date => ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15561
|
+
startOfWeek: date => broadcastCalendar ? startOfBroadcastWeek(date, dateLib) : ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15562
|
+
endOfWeek: date => broadcastCalendar ? endOfBroadcastWeek(date, dateLib) : ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15474
15563
|
};
|
15475
15564
|
let focusableDate = moveFns[moveBy](refDate, moveDir === "after" ? 1 : -1);
|
15476
15565
|
if (moveDir === "before" && navStart) {
|
@@ -15536,6 +15625,8 @@ function useFocus(props, calendar, getModifiers, isSelected, dateLib) {
|
|
15536
15625
|
/**
|
15537
15626
|
* Return a function to get the modifiers for a given day.
|
15538
15627
|
*
|
15628
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
15629
|
+
*
|
15539
15630
|
* @private
|
15540
15631
|
*/
|
15541
15632
|
function useGetModifiers(days, props, dateLib) {
|
@@ -15544,12 +15635,19 @@ function useGetModifiers(days, props, dateLib) {
|
|
15544
15635
|
hidden,
|
15545
15636
|
modifiers,
|
15546
15637
|
showOutsideDays,
|
15638
|
+
broadcastCalendar,
|
15547
15639
|
today
|
15548
15640
|
} = props;
|
15549
15641
|
const {
|
15550
15642
|
isSameDay,
|
15551
|
-
isSameMonth
|
15643
|
+
isSameMonth,
|
15644
|
+
startOfMonth,
|
15645
|
+
isBefore,
|
15646
|
+
endOfMonth,
|
15647
|
+
isAfter
|
15552
15648
|
} = dateLib;
|
15649
|
+
const startMonth = props.startMonth && startOfMonth(props.startMonth);
|
15650
|
+
const endMonth = props.endMonth && endOfMonth(props.endMonth);
|
15553
15651
|
const internalModifiersMap = {
|
15554
15652
|
[DayFlag.focused]: [],
|
15555
15653
|
[DayFlag.outside]: [],
|
@@ -15558,20 +15656,18 @@ function useGetModifiers(days, props, dateLib) {
|
|
15558
15656
|
[DayFlag.today]: []
|
15559
15657
|
};
|
15560
15658
|
const customModifiersMap = {};
|
15561
|
-
const selectionModifiersMap = {
|
15562
|
-
[SelectionState.range_end]: [],
|
15563
|
-
[SelectionState.range_middle]: [],
|
15564
|
-
[SelectionState.range_start]: [],
|
15565
|
-
[SelectionState.selected]: []
|
15566
|
-
};
|
15567
15659
|
for (const day of days) {
|
15568
15660
|
const {
|
15569
15661
|
date,
|
15570
15662
|
displayMonth
|
15571
15663
|
} = day;
|
15572
15664
|
const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
|
15665
|
+
const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
|
15666
|
+
const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
|
15573
15667
|
const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
|
15574
|
-
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) ||
|
15668
|
+
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || isBeforeStartMonth || isAfterEndMonth ||
|
15669
|
+
// Broadcast calendar will show outside days as default
|
15670
|
+
!broadcastCalendar && !showOutsideDays && isOutside || broadcastCalendar && showOutsideDays === false && isOutside;
|
15575
15671
|
const isToday = isSameDay(date, today ?? (props.timeZone ? TZDate.tz(props.timeZone) : dateLib.Date ? new dateLib.Date() : new Date()));
|
15576
15672
|
if (isOutside) internalModifiersMap.outside.push(day);
|
15577
15673
|
if (isDisabled) internalModifiersMap.disabled.push(day);
|
@@ -15600,27 +15696,16 @@ function useGetModifiers(days, props, dateLib) {
|
|
15600
15696
|
[DayFlag.outside]: false,
|
15601
15697
|
[DayFlag.today]: false
|
15602
15698
|
};
|
15603
|
-
const selectionStates = {
|
15604
|
-
[SelectionState.range_end]: false,
|
15605
|
-
[SelectionState.range_middle]: false,
|
15606
|
-
[SelectionState.range_start]: false,
|
15607
|
-
[SelectionState.selected]: false
|
15608
|
-
};
|
15609
15699
|
const customModifiers = {};
|
15610
15700
|
// Find the modifiers for the given day
|
15611
15701
|
for (const name in internalModifiersMap) {
|
15612
15702
|
const days = internalModifiersMap[name];
|
15613
15703
|
dayFlags[name] = days.some(d => d === day);
|
15614
15704
|
}
|
15615
|
-
for (const name in selectionModifiersMap) {
|
15616
|
-
const days = selectionModifiersMap[name];
|
15617
|
-
selectionStates[name] = days.some(d => d === day);
|
15618
|
-
}
|
15619
15705
|
for (const name in customModifiersMap) {
|
15620
15706
|
customModifiers[name] = customModifiersMap[name].some(d => d === day);
|
15621
15707
|
}
|
15622
15708
|
return {
|
15623
|
-
...selectionStates,
|
15624
15709
|
...dayFlags,
|
15625
15710
|
// custom modifiers should override all the previous ones
|
15626
15711
|
...customModifiers
|
@@ -16025,7 +16110,7 @@ function DayPicker(props) {
|
|
16025
16110
|
};
|
16026
16111
|
const dateLib = new DateLib({
|
16027
16112
|
locale,
|
16028
|
-
weekStartsOn: props.weekStartsOn,
|
16113
|
+
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
|
16029
16114
|
firstWeekContainsDate: props.firstWeekContainsDate,
|
16030
16115
|
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
16031
16116
|
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
|
@@ -16044,7 +16129,7 @@ function DayPicker(props) {
|
|
16044
16129
|
...props.classNames
|
16045
16130
|
}
|
16046
16131
|
};
|
16047
|
-
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn]);
|
16132
|
+
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn, props.broadcastCalendar]);
|
16048
16133
|
const {
|
16049
16134
|
captionLayout,
|
16050
16135
|
mode,
|
@@ -16154,6 +16239,16 @@ function DayPicker(props) {
|
|
16154
16239
|
const handleDayMouseLeave = useCallback((day, modifiers) => e => {
|
16155
16240
|
onDayMouseLeave?.(day.date, modifiers, e);
|
16156
16241
|
}, [onDayMouseLeave]);
|
16242
|
+
const handleMonthChange = useCallback(date => e => {
|
16243
|
+
const selectedMonth = Number(e.target.value);
|
16244
|
+
const month = dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth);
|
16245
|
+
goToMonth(month);
|
16246
|
+
}, [dateLib, goToMonth]);
|
16247
|
+
const handleYearChange = useCallback(date => e => {
|
16248
|
+
const selectedYear = Number(e.target.value);
|
16249
|
+
const month = dateLib.setYear(dateLib.startOfMonth(date), selectedYear);
|
16250
|
+
goToMonth(month);
|
16251
|
+
}, [dateLib, goToMonth]);
|
16157
16252
|
const {
|
16158
16253
|
className,
|
16159
16254
|
style
|
@@ -16191,6 +16286,8 @@ function DayPicker(props) {
|
|
16191
16286
|
lang: props.lang,
|
16192
16287
|
nonce: props.nonce,
|
16193
16288
|
title: props.title,
|
16289
|
+
role: props.role,
|
16290
|
+
"aria-label": props["aria-label"],
|
16194
16291
|
...dataAttributes
|
16195
16292
|
}, /*#__PURE__*/React__default.createElement(components.Months, {
|
16196
16293
|
className: classNames[UI.Months],
|
@@ -16204,17 +16301,8 @@ function DayPicker(props) {
|
|
16204
16301
|
previousMonth: previousMonth,
|
16205
16302
|
nextMonth: nextMonth
|
16206
16303
|
})), months.map((calendarMonth, displayIndex) => {
|
16207
|
-
const handleMonthChange = e => {
|
16208
|
-
const selectedMonth = Number(e.target.value);
|
16209
|
-
const month = dateLib.setMonth(dateLib.startOfMonth(calendarMonth.date), selectedMonth);
|
16210
|
-
goToMonth(month);
|
16211
|
-
};
|
16212
|
-
const handleYearChange = e => {
|
16213
|
-
const month = dateLib.setYear(dateLib.startOfMonth(calendarMonth.date), Number(e.target.value));
|
16214
|
-
goToMonth(month);
|
16215
|
-
};
|
16216
16304
|
const dropdownMonths = getMonthOptions(calendarMonth.date, navStart, navEnd, formatters, dateLib);
|
16217
|
-
const dropdownYears = getYearOptions(
|
16305
|
+
const dropdownYears = getYearOptions(navStart, navEnd, formatters, dateLib);
|
16218
16306
|
return /*#__PURE__*/React__default.createElement(components.Month, {
|
16219
16307
|
className: classNames[UI.Month],
|
16220
16308
|
style: styles?.[UI.Month],
|
@@ -16235,7 +16323,7 @@ function DayPicker(props) {
|
|
16235
16323
|
classNames: classNames,
|
16236
16324
|
components: components,
|
16237
16325
|
disabled: Boolean(props.disableNavigation),
|
16238
|
-
onChange: handleMonthChange,
|
16326
|
+
onChange: handleMonthChange(calendarMonth.date),
|
16239
16327
|
options: dropdownMonths,
|
16240
16328
|
style: styles?.[UI.Dropdown],
|
16241
16329
|
value: calendarMonth.date.getMonth()
|
@@ -16248,7 +16336,7 @@ function DayPicker(props) {
|
|
16248
16336
|
classNames: classNames,
|
16249
16337
|
components: components,
|
16250
16338
|
disabled: Boolean(props.disableNavigation),
|
16251
|
-
onChange: handleYearChange,
|
16339
|
+
onChange: handleYearChange(calendarMonth.date),
|
16252
16340
|
options: dropdownYears,
|
16253
16341
|
style: styles?.[UI.Dropdown],
|
16254
16342
|
value: calendarMonth.date.getFullYear()
|
@@ -16295,7 +16383,8 @@ function DayPicker(props) {
|
|
16295
16383
|
locale
|
16296
16384
|
}),
|
16297
16385
|
className: classNames[UI.WeekNumber],
|
16298
|
-
scope: "row"
|
16386
|
+
scope: "row",
|
16387
|
+
role: "rowheader"
|
16299
16388
|
}, formatWeekNumber(week.weekNumber))), week.days.map(day => {
|
16300
16389
|
const {
|
16301
16390
|
date
|
@@ -16315,14 +16404,14 @@ function DayPicker(props) {
|
|
16315
16404
|
}
|
16316
16405
|
const style = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
|
16317
16406
|
const className = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
|
16318
|
-
const ariaLabel = !isInteractive ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
|
16407
|
+
const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
|
16319
16408
|
return /*#__PURE__*/React__default.createElement(components.Day, {
|
16320
16409
|
key: `${dateLib.format(date, "yyyy-MM-dd")}_${dateLib.format(day.displayMonth, "yyyy-MM")}`,
|
16321
16410
|
day: day,
|
16322
16411
|
modifiers: modifiers,
|
16323
16412
|
className: className.join(" "),
|
16324
16413
|
style: style,
|
16325
|
-
"
|
16414
|
+
role: "gridcell",
|
16326
16415
|
"aria-selected": modifiers.selected || undefined,
|
16327
16416
|
"aria-label": ariaLabel,
|
16328
16417
|
"data-day": dateLib.format(date, "yyyy-MM-dd"),
|
@@ -16333,7 +16422,7 @@ function DayPicker(props) {
|
|
16333
16422
|
"data-outside": day.outside || undefined,
|
16334
16423
|
"data-focused": modifiers.focused || undefined,
|
16335
16424
|
"data-today": modifiers.today || undefined
|
16336
|
-
}, isInteractive ? (/*#__PURE__*/React__default.createElement(components.DayButton, {
|
16425
|
+
}, !modifiers.hidden && isInteractive ? (/*#__PURE__*/React__default.createElement(components.DayButton, {
|
16337
16426
|
className: classNames[UI.DayButton],
|
16338
16427
|
style: styles?.[UI.DayButton],
|
16339
16428
|
type: "button",
|
@@ -16348,7 +16437,7 @@ function DayPicker(props) {
|
|
16348
16437
|
onKeyDown: handleDayKeyDown(day, modifiers),
|
16349
16438
|
onMouseEnter: handleDayMouseEnter(day, modifiers),
|
16350
16439
|
onMouseLeave: handleDayMouseLeave(day, modifiers)
|
16351
|
-
}, formatDay(date, dateLib.options, dateLib))) : formatDay(day.date, dateLib.options, dateLib));
|
16440
|
+
}, formatDay(date, dateLib.options, dateLib))) : !modifiers.hidden && formatDay(day.date, dateLib.options, dateLib));
|
16352
16441
|
}));
|
16353
16442
|
}))));
|
16354
16443
|
})), props.footer && (/*#__PURE__*/React__default.createElement(components.Footer, {
|
@@ -16359,143 +16448,6 @@ function DayPicker(props) {
|
|
16359
16448
|
}, props.footer))));
|
16360
16449
|
}
|
16361
16450
|
|
16362
|
-
/**
|
16363
|
-
* @name isDate
|
16364
|
-
* @category Common Helpers
|
16365
|
-
* @summary Is the given value a date?
|
16366
|
-
*
|
16367
|
-
* @description
|
16368
|
-
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
16369
|
-
*
|
16370
|
-
* @param value - The value to check
|
16371
|
-
*
|
16372
|
-
* @returns True if the given value is a date
|
16373
|
-
*
|
16374
|
-
* @example
|
16375
|
-
* // For a valid date:
|
16376
|
-
* const result = isDate(new Date())
|
16377
|
-
* //=> true
|
16378
|
-
*
|
16379
|
-
* @example
|
16380
|
-
* // For an invalid date:
|
16381
|
-
* const result = isDate(new Date(NaN))
|
16382
|
-
* //=> true
|
16383
|
-
*
|
16384
|
-
* @example
|
16385
|
-
* // For some value:
|
16386
|
-
* const result = isDate('2014-02-31')
|
16387
|
-
* //=> false
|
16388
|
-
*
|
16389
|
-
* @example
|
16390
|
-
* // For an object:
|
16391
|
-
* const result = isDate({})
|
16392
|
-
* //=> false
|
16393
|
-
*/
|
16394
|
-
function isDate(value) {
|
16395
|
-
return (
|
16396
|
-
value instanceof Date ||
|
16397
|
-
(typeof value === "object" &&
|
16398
|
-
Object.prototype.toString.call(value) === "[object Date]")
|
16399
|
-
);
|
16400
|
-
}
|
16401
|
-
|
16402
|
-
/**
|
16403
|
-
* @name toDate
|
16404
|
-
* @category Common Helpers
|
16405
|
-
* @summary Convert the given argument to an instance of Date.
|
16406
|
-
*
|
16407
|
-
* @description
|
16408
|
-
* Convert the given argument to an instance of Date.
|
16409
|
-
*
|
16410
|
-
* If the argument is an instance of Date, the function returns its clone.
|
16411
|
-
*
|
16412
|
-
* If the argument is a number, it is treated as a timestamp.
|
16413
|
-
*
|
16414
|
-
* If the argument is none of the above, the function returns Invalid Date.
|
16415
|
-
*
|
16416
|
-
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
16417
|
-
*
|
16418
|
-
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
16419
|
-
*
|
16420
|
-
* @param argument - The value to convert
|
16421
|
-
*
|
16422
|
-
* @returns The parsed date in the local time zone
|
16423
|
-
*
|
16424
|
-
* @example
|
16425
|
-
* // Clone the date:
|
16426
|
-
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
16427
|
-
* //=> Tue Feb 11 2014 11:30:30
|
16428
|
-
*
|
16429
|
-
* @example
|
16430
|
-
* // Convert the timestamp to date:
|
16431
|
-
* const result = toDate(1392098430000)
|
16432
|
-
* //=> Tue Feb 11 2014 11:30:30
|
16433
|
-
*/
|
16434
|
-
function toDate$1(argument) {
|
16435
|
-
const argStr = Object.prototype.toString.call(argument);
|
16436
|
-
|
16437
|
-
// Clone the date
|
16438
|
-
if (
|
16439
|
-
argument instanceof Date ||
|
16440
|
-
(typeof argument === "object" && argStr === "[object Date]")
|
16441
|
-
) {
|
16442
|
-
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
16443
|
-
return new argument.constructor(+argument);
|
16444
|
-
} else if (
|
16445
|
-
typeof argument === "number" ||
|
16446
|
-
argStr === "[object Number]" ||
|
16447
|
-
typeof argStr === "string" ||
|
16448
|
-
argStr === "[object String]"
|
16449
|
-
) {
|
16450
|
-
// TODO: Can we get rid of as?
|
16451
|
-
return new Date(argument);
|
16452
|
-
} else {
|
16453
|
-
// TODO: Can we get rid of as?
|
16454
|
-
return new Date(NaN);
|
16455
|
-
}
|
16456
|
-
}
|
16457
|
-
|
16458
|
-
/**
|
16459
|
-
* @name isValid
|
16460
|
-
* @category Common Helpers
|
16461
|
-
* @summary Is the given date valid?
|
16462
|
-
*
|
16463
|
-
* @description
|
16464
|
-
* Returns false if argument is Invalid Date and true otherwise.
|
16465
|
-
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
16466
|
-
* Invalid Date is a Date, whose time value is NaN.
|
16467
|
-
*
|
16468
|
-
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
16469
|
-
*
|
16470
|
-
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
16471
|
-
*
|
16472
|
-
* @param date - The date to check
|
16473
|
-
*
|
16474
|
-
* @returns The date is valid
|
16475
|
-
*
|
16476
|
-
* @example
|
16477
|
-
* // For the valid date:
|
16478
|
-
* const result = isValid(new Date(2014, 1, 31))
|
16479
|
-
* //=> true
|
16480
|
-
*
|
16481
|
-
* @example
|
16482
|
-
* // For the value, convertable into a date:
|
16483
|
-
* const result = isValid(1393804800000)
|
16484
|
-
* //=> true
|
16485
|
-
*
|
16486
|
-
* @example
|
16487
|
-
* // For the invalid date:
|
16488
|
-
* const result = isValid(new Date(''))
|
16489
|
-
* //=> false
|
16490
|
-
*/
|
16491
|
-
function isValid(date) {
|
16492
|
-
if (!isDate(date) && typeof date !== "number") {
|
16493
|
-
return false;
|
16494
|
-
}
|
16495
|
-
const _date = toDate$1(date);
|
16496
|
-
return !isNaN(Number(_date));
|
16497
|
-
}
|
16498
|
-
|
16499
16451
|
const formatDistanceLocale = {
|
16500
16452
|
lessThanXSeconds: {
|
16501
16453
|
one: "less than a second",
|
@@ -17177,15 +17129,71 @@ const millisecondsInWeek = 604800000;
|
|
17177
17129
|
const millisecondsInDay = 86400000;
|
17178
17130
|
|
17179
17131
|
/**
|
17180
|
-
* @name
|
17181
|
-
* @category
|
17182
|
-
* @summary
|
17132
|
+
* @name toDate
|
17133
|
+
* @category Common Helpers
|
17134
|
+
* @summary Convert the given argument to an instance of Date.
|
17183
17135
|
*
|
17184
17136
|
* @description
|
17185
|
-
*
|
17186
|
-
* The result will be in the local timezone.
|
17137
|
+
* Convert the given argument to an instance of Date.
|
17187
17138
|
*
|
17188
|
-
*
|
17139
|
+
* If the argument is an instance of Date, the function returns its clone.
|
17140
|
+
*
|
17141
|
+
* If the argument is a number, it is treated as a timestamp.
|
17142
|
+
*
|
17143
|
+
* If the argument is none of the above, the function returns Invalid Date.
|
17144
|
+
*
|
17145
|
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
17146
|
+
*
|
17147
|
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17148
|
+
*
|
17149
|
+
* @param argument - The value to convert
|
17150
|
+
*
|
17151
|
+
* @returns The parsed date in the local time zone
|
17152
|
+
*
|
17153
|
+
* @example
|
17154
|
+
* // Clone the date:
|
17155
|
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
17156
|
+
* //=> Tue Feb 11 2014 11:30:30
|
17157
|
+
*
|
17158
|
+
* @example
|
17159
|
+
* // Convert the timestamp to date:
|
17160
|
+
* const result = toDate(1392098430000)
|
17161
|
+
* //=> Tue Feb 11 2014 11:30:30
|
17162
|
+
*/
|
17163
|
+
function toDate$1(argument) {
|
17164
|
+
const argStr = Object.prototype.toString.call(argument);
|
17165
|
+
|
17166
|
+
// Clone the date
|
17167
|
+
if (
|
17168
|
+
argument instanceof Date ||
|
17169
|
+
(typeof argument === "object" && argStr === "[object Date]")
|
17170
|
+
) {
|
17171
|
+
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
17172
|
+
return new argument.constructor(+argument);
|
17173
|
+
} else if (
|
17174
|
+
typeof argument === "number" ||
|
17175
|
+
argStr === "[object Number]" ||
|
17176
|
+
typeof argument === "string" ||
|
17177
|
+
argStr === "[object String]"
|
17178
|
+
) {
|
17179
|
+
// TODO: Can we get rid of as?
|
17180
|
+
return new Date(argument);
|
17181
|
+
} else {
|
17182
|
+
// TODO: Can we get rid of as?
|
17183
|
+
return new Date(NaN);
|
17184
|
+
}
|
17185
|
+
}
|
17186
|
+
|
17187
|
+
/**
|
17188
|
+
* @name startOfDay
|
17189
|
+
* @category Day Helpers
|
17190
|
+
* @summary Return the start of a day for the given date.
|
17191
|
+
*
|
17192
|
+
* @description
|
17193
|
+
* Return the start of a day for the given date.
|
17194
|
+
* The result will be in the local timezone.
|
17195
|
+
*
|
17196
|
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17189
17197
|
*
|
17190
17198
|
* @param date - The original date
|
17191
17199
|
*
|
@@ -17214,19 +17222,20 @@ function startOfDay(date) {
|
|
17214
17222
|
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
17215
17223
|
*/
|
17216
17224
|
function getTimezoneOffsetInMilliseconds$1(date) {
|
17225
|
+
const _date = toDate$1(date);
|
17217
17226
|
const utcDate = new Date(
|
17218
17227
|
Date.UTC(
|
17219
|
-
|
17220
|
-
|
17221
|
-
|
17222
|
-
|
17223
|
-
|
17224
|
-
|
17225
|
-
|
17228
|
+
_date.getFullYear(),
|
17229
|
+
_date.getMonth(),
|
17230
|
+
_date.getDate(),
|
17231
|
+
_date.getHours(),
|
17232
|
+
_date.getMinutes(),
|
17233
|
+
_date.getSeconds(),
|
17234
|
+
_date.getMilliseconds(),
|
17226
17235
|
),
|
17227
17236
|
);
|
17228
|
-
utcDate.setUTCFullYear(
|
17229
|
-
return date
|
17237
|
+
utcDate.setUTCFullYear(_date.getFullYear());
|
17238
|
+
return +date - +utcDate;
|
17230
17239
|
}
|
17231
17240
|
|
17232
17241
|
/**
|
@@ -17266,14 +17275,13 @@ function differenceInCalendarDays(dateLeft, dateRight) {
|
|
17266
17275
|
const startOfDayRight = startOfDay(dateRight);
|
17267
17276
|
|
17268
17277
|
const timestampLeft =
|
17269
|
-
startOfDayLeft
|
17278
|
+
+startOfDayLeft - getTimezoneOffsetInMilliseconds$1(startOfDayLeft);
|
17270
17279
|
const timestampRight =
|
17271
|
-
startOfDayRight
|
17272
|
-
getTimezoneOffsetInMilliseconds$1(startOfDayRight);
|
17280
|
+
+startOfDayRight - getTimezoneOffsetInMilliseconds$1(startOfDayRight);
|
17273
17281
|
|
17274
|
-
// Round the number of days to the nearest integer
|
17275
|
-
//
|
17276
|
-
//
|
17282
|
+
// Round the number of days to the nearest integer because the number of
|
17283
|
+
// milliseconds in a day is not constant (e.g. it's different in the week of
|
17284
|
+
// the daylight saving time clock shift).
|
17277
17285
|
return Math.round((timestampLeft - timestampRight) / millisecondsInDay);
|
17278
17286
|
}
|
17279
17287
|
|
@@ -17287,6 +17295,8 @@ function differenceInCalendarDays(dateLeft, dateRight) {
|
|
17287
17295
|
* date and the given value. It helps to build generic functions that accept
|
17288
17296
|
* date extensions.
|
17289
17297
|
*
|
17298
|
+
* It defaults to `Date` if the passed reference date is a number or a string.
|
17299
|
+
*
|
17290
17300
|
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17291
17301
|
*
|
17292
17302
|
* @param date - The reference date to take constructor from
|
@@ -17540,12 +17550,11 @@ function startOfISOWeekYear(date) {
|
|
17540
17550
|
*/
|
17541
17551
|
function getISOWeek(date) {
|
17542
17552
|
const _date = toDate$1(date);
|
17543
|
-
const diff =
|
17544
|
-
startOfISOWeek(_date).getTime() - startOfISOWeekYear(_date).getTime();
|
17553
|
+
const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
|
17545
17554
|
|
17546
|
-
// Round the number of
|
17547
|
-
//
|
17548
|
-
//
|
17555
|
+
// Round the number of weeks to the nearest integer because the number of
|
17556
|
+
// milliseconds in a week is not constant (e.g. it's different in the week of
|
17557
|
+
// the daylight saving time clock shift).
|
17549
17558
|
return Math.round(diff / millisecondsInWeek) + 1;
|
17550
17559
|
}
|
17551
17560
|
|
@@ -17565,7 +17574,7 @@ function getISOWeek(date) {
|
|
17565
17574
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17566
17575
|
* the first week of the week-numbering year)
|
17567
17576
|
*
|
17568
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17577
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17569
17578
|
*
|
17570
17579
|
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17571
17580
|
*
|
@@ -17636,7 +17645,7 @@ function getWeekYear(date, options) {
|
|
17636
17645
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17637
17646
|
* the first week of the week-numbering year)
|
17638
17647
|
*
|
17639
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17648
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17640
17649
|
*
|
17641
17650
|
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17642
17651
|
*
|
@@ -17693,7 +17702,7 @@ function startOfWeekYear(date, options) {
|
|
17693
17702
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17694
17703
|
* the first week of the week-numbering year)
|
17695
17704
|
*
|
17696
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17705
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17697
17706
|
*
|
17698
17707
|
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
17699
17708
|
*
|
@@ -17720,13 +17729,11 @@ function startOfWeekYear(date, options) {
|
|
17720
17729
|
|
17721
17730
|
function getWeek(date, options) {
|
17722
17731
|
const _date = toDate$1(date);
|
17723
|
-
const diff =
|
17724
|
-
startOfWeek(_date, options).getTime() -
|
17725
|
-
startOfWeekYear(_date, options).getTime();
|
17732
|
+
const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
|
17726
17733
|
|
17727
|
-
// Round the number of
|
17728
|
-
//
|
17729
|
-
//
|
17734
|
+
// Round the number of weeks to the nearest integer because the number of
|
17735
|
+
// milliseconds in a week is not constant (e.g. it's different in the week of
|
17736
|
+
// the daylight saving time clock shift).
|
17730
17737
|
return Math.round(diff / millisecondsInWeek) + 1;
|
17731
17738
|
}
|
17732
17739
|
|
@@ -17820,7 +17827,7 @@ const lightFormatters = {
|
|
17820
17827
|
S(date, token) {
|
17821
17828
|
const numberOfDigits = token.length;
|
17822
17829
|
const milliseconds = date.getMilliseconds();
|
17823
|
-
const fractionalSeconds = Math.
|
17830
|
+
const fractionalSeconds = Math.trunc(
|
17824
17831
|
milliseconds * Math.pow(10, numberOfDigits - 3),
|
17825
17832
|
);
|
17826
17833
|
return addLeadingZeros$1(fractionalSeconds, token.length);
|
@@ -18467,9 +18474,8 @@ const formatters$1 = {
|
|
18467
18474
|
},
|
18468
18475
|
|
18469
18476
|
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
|
18470
|
-
X: function (date, token, _localize
|
18471
|
-
const
|
18472
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18477
|
+
X: function (date, token, _localize) {
|
18478
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18473
18479
|
|
18474
18480
|
if (timezoneOffset === 0) {
|
18475
18481
|
return "Z";
|
@@ -18498,9 +18504,8 @@ const formatters$1 = {
|
|
18498
18504
|
},
|
18499
18505
|
|
18500
18506
|
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
|
18501
|
-
x: function (date, token, _localize
|
18502
|
-
const
|
18503
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18507
|
+
x: function (date, token, _localize) {
|
18508
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18504
18509
|
|
18505
18510
|
switch (token) {
|
18506
18511
|
// Hours and optional minutes
|
@@ -18525,9 +18530,8 @@ const formatters$1 = {
|
|
18525
18530
|
},
|
18526
18531
|
|
18527
18532
|
// Timezone (GMT)
|
18528
|
-
O: function (date, token, _localize
|
18529
|
-
const
|
18530
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18533
|
+
O: function (date, token, _localize) {
|
18534
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18531
18535
|
|
18532
18536
|
switch (token) {
|
18533
18537
|
// Short
|
@@ -18543,9 +18547,8 @@ const formatters$1 = {
|
|
18543
18547
|
},
|
18544
18548
|
|
18545
18549
|
// Timezone (specific non-location)
|
18546
|
-
z: function (date, token, _localize
|
18547
|
-
const
|
18548
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18550
|
+
z: function (date, token, _localize) {
|
18551
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18549
18552
|
|
18550
18553
|
switch (token) {
|
18551
18554
|
// Short
|
@@ -18561,16 +18564,14 @@ const formatters$1 = {
|
|
18561
18564
|
},
|
18562
18565
|
|
18563
18566
|
// Seconds timestamp
|
18564
|
-
t: function (date, token, _localize
|
18565
|
-
const
|
18566
|
-
const timestamp = Math.floor(originalDate.getTime() / 1000);
|
18567
|
+
t: function (date, token, _localize) {
|
18568
|
+
const timestamp = Math.trunc(date.getTime() / 1000);
|
18567
18569
|
return addLeadingZeros$1(timestamp, token.length);
|
18568
18570
|
},
|
18569
18571
|
|
18570
18572
|
// Milliseconds timestamp
|
18571
|
-
T: function (date, token, _localize
|
18572
|
-
const
|
18573
|
-
const timestamp = originalDate.getTime();
|
18573
|
+
T: function (date, token, _localize) {
|
18574
|
+
const timestamp = date.getTime();
|
18574
18575
|
return addLeadingZeros$1(timestamp, token.length);
|
18575
18576
|
},
|
18576
18577
|
};
|
@@ -18578,7 +18579,7 @@ const formatters$1 = {
|
|
18578
18579
|
function formatTimezoneShort$1(offset, delimiter = "") {
|
18579
18580
|
const sign = offset > 0 ? "-" : "+";
|
18580
18581
|
const absOffset = Math.abs(offset);
|
18581
|
-
const hours = Math.
|
18582
|
+
const hours = Math.trunc(absOffset / 60);
|
18582
18583
|
const minutes = absOffset % 60;
|
18583
18584
|
if (minutes === 0) {
|
18584
18585
|
return sign + String(hours);
|
@@ -18597,7 +18598,7 @@ function formatTimezoneWithOptionalMinutes$1(offset, delimiter) {
|
|
18597
18598
|
function formatTimezone$1(offset, delimiter = "") {
|
18598
18599
|
const sign = offset > 0 ? "-" : "+";
|
18599
18600
|
const absOffset = Math.abs(offset);
|
18600
|
-
const hours = addLeadingZeros$1(Math.
|
18601
|
+
const hours = addLeadingZeros$1(Math.trunc(absOffset / 60), 2);
|
18601
18602
|
const minutes = addLeadingZeros$1(absOffset % 60, 2);
|
18602
18603
|
return sign + hours + delimiter + minutes;
|
18603
18604
|
}
|
@@ -18667,35 +18668,109 @@ const longFormatters = {
|
|
18667
18668
|
P: dateTimeLongFormatter,
|
18668
18669
|
};
|
18669
18670
|
|
18670
|
-
const
|
18671
|
-
const
|
18671
|
+
const dayOfYearTokenRE = /^D+$/;
|
18672
|
+
const weekYearTokenRE = /^Y+$/;
|
18673
|
+
|
18674
|
+
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
18672
18675
|
|
18673
18676
|
function isProtectedDayOfYearToken(token) {
|
18674
|
-
return
|
18677
|
+
return dayOfYearTokenRE.test(token);
|
18675
18678
|
}
|
18676
18679
|
|
18677
18680
|
function isProtectedWeekYearToken(token) {
|
18678
|
-
return
|
18681
|
+
return weekYearTokenRE.test(token);
|
18679
18682
|
}
|
18680
18683
|
|
18681
|
-
function
|
18682
|
-
|
18683
|
-
|
18684
|
-
|
18685
|
-
|
18686
|
-
|
18687
|
-
|
18688
|
-
|
18689
|
-
|
18690
|
-
|
18691
|
-
|
18692
|
-
|
18693
|
-
|
18694
|
-
|
18695
|
-
|
18696
|
-
|
18697
|
-
|
18684
|
+
function warnOrThrowProtectedError(token, format, input) {
|
18685
|
+
const _message = message(token, format, input);
|
18686
|
+
console.warn(_message);
|
18687
|
+
if (throwTokens.includes(token)) throw new RangeError(_message);
|
18688
|
+
}
|
18689
|
+
|
18690
|
+
function message(token, format, input) {
|
18691
|
+
const subject = token[0] === "Y" ? "years" : "days of the month";
|
18692
|
+
return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
18693
|
+
}
|
18694
|
+
|
18695
|
+
/**
|
18696
|
+
* @name isDate
|
18697
|
+
* @category Common Helpers
|
18698
|
+
* @summary Is the given value a date?
|
18699
|
+
*
|
18700
|
+
* @description
|
18701
|
+
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
18702
|
+
*
|
18703
|
+
* @param value - The value to check
|
18704
|
+
*
|
18705
|
+
* @returns True if the given value is a date
|
18706
|
+
*
|
18707
|
+
* @example
|
18708
|
+
* // For a valid date:
|
18709
|
+
* const result = isDate(new Date())
|
18710
|
+
* //=> true
|
18711
|
+
*
|
18712
|
+
* @example
|
18713
|
+
* // For an invalid date:
|
18714
|
+
* const result = isDate(new Date(NaN))
|
18715
|
+
* //=> true
|
18716
|
+
*
|
18717
|
+
* @example
|
18718
|
+
* // For some value:
|
18719
|
+
* const result = isDate('2014-02-31')
|
18720
|
+
* //=> false
|
18721
|
+
*
|
18722
|
+
* @example
|
18723
|
+
* // For an object:
|
18724
|
+
* const result = isDate({})
|
18725
|
+
* //=> false
|
18726
|
+
*/
|
18727
|
+
function isDate(value) {
|
18728
|
+
return (
|
18729
|
+
value instanceof Date ||
|
18730
|
+
(typeof value === "object" &&
|
18731
|
+
Object.prototype.toString.call(value) === "[object Date]")
|
18732
|
+
);
|
18733
|
+
}
|
18734
|
+
|
18735
|
+
/**
|
18736
|
+
* @name isValid
|
18737
|
+
* @category Common Helpers
|
18738
|
+
* @summary Is the given date valid?
|
18739
|
+
*
|
18740
|
+
* @description
|
18741
|
+
* Returns false if argument is Invalid Date and true otherwise.
|
18742
|
+
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
18743
|
+
* Invalid Date is a Date, whose time value is NaN.
|
18744
|
+
*
|
18745
|
+
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
18746
|
+
*
|
18747
|
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
|
18748
|
+
*
|
18749
|
+
* @param date - The date to check
|
18750
|
+
*
|
18751
|
+
* @returns The date is valid
|
18752
|
+
*
|
18753
|
+
* @example
|
18754
|
+
* // For the valid date:
|
18755
|
+
* const result = isValid(new Date(2014, 1, 31))
|
18756
|
+
* //=> true
|
18757
|
+
*
|
18758
|
+
* @example
|
18759
|
+
* // For the value, convertable into a date:
|
18760
|
+
* const result = isValid(1393804800000)
|
18761
|
+
* //=> true
|
18762
|
+
*
|
18763
|
+
* @example
|
18764
|
+
* // For the invalid date:
|
18765
|
+
* const result = isValid(new Date(''))
|
18766
|
+
* //=> false
|
18767
|
+
*/
|
18768
|
+
function isValid(date) {
|
18769
|
+
if (!isDate(date) && typeof date !== "number") {
|
18770
|
+
return false;
|
18698
18771
|
}
|
18772
|
+
const _date = toDate$1(date);
|
18773
|
+
return !isNaN(Number(_date));
|
18699
18774
|
}
|
18700
18775
|
|
18701
18776
|
// This RegExp consists of three parts separated by `|`:
|
@@ -18726,6 +18801,7 @@ const unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
18726
18801
|
|
18727
18802
|
/**
|
18728
18803
|
* @name format
|
18804
|
+
* @alias formatDate
|
18729
18805
|
* @category Common Helpers
|
18730
18806
|
* @summary Format the date.
|
18731
18807
|
*
|
@@ -19033,16 +19109,9 @@ function format$1(date, formatStr, options) {
|
|
19033
19109
|
throw new RangeError("Invalid time value");
|
19034
19110
|
}
|
19035
19111
|
|
19036
|
-
|
19037
|
-
firstWeekContainsDate: firstWeekContainsDate,
|
19038
|
-
weekStartsOn: weekStartsOn,
|
19039
|
-
locale: locale,
|
19040
|
-
_originalDate: originalDate,
|
19041
|
-
};
|
19042
|
-
|
19043
|
-
const result = formatStr
|
19112
|
+
let parts = formatStr
|
19044
19113
|
.match(longFormattingTokensRegExp)
|
19045
|
-
.map(
|
19114
|
+
.map((substring) => {
|
19046
19115
|
const firstCharacter = substring[0];
|
19047
19116
|
if (firstCharacter === "p" || firstCharacter === "P") {
|
19048
19117
|
const longFormatter = longFormatters[firstCharacter];
|
@@ -19052,37 +19121,19 @@ function format$1(date, formatStr, options) {
|
|
19052
19121
|
})
|
19053
19122
|
.join("")
|
19054
19123
|
.match(formattingTokensRegExp)
|
19055
|
-
.map(
|
19124
|
+
.map((substring) => {
|
19056
19125
|
// Replace two single quote characters with one single quote character
|
19057
19126
|
if (substring === "''") {
|
19058
|
-
return "'";
|
19127
|
+
return { isToken: false, value: "'" };
|
19059
19128
|
}
|
19060
19129
|
|
19061
19130
|
const firstCharacter = substring[0];
|
19062
19131
|
if (firstCharacter === "'") {
|
19063
|
-
return cleanEscapedString(substring);
|
19132
|
+
return { isToken: false, value: cleanEscapedString(substring) };
|
19064
19133
|
}
|
19065
19134
|
|
19066
|
-
|
19067
|
-
|
19068
|
-
if (
|
19069
|
-
!options?.useAdditionalWeekYearTokens &&
|
19070
|
-
isProtectedWeekYearToken(substring)
|
19071
|
-
) {
|
19072
|
-
throwProtectedError(substring, formatStr, String(date));
|
19073
|
-
}
|
19074
|
-
if (
|
19075
|
-
!options?.useAdditionalDayOfYearTokens &&
|
19076
|
-
isProtectedDayOfYearToken(substring)
|
19077
|
-
) {
|
19078
|
-
throwProtectedError(substring, formatStr, String(date));
|
19079
|
-
}
|
19080
|
-
return formatter(
|
19081
|
-
originalDate,
|
19082
|
-
substring,
|
19083
|
-
locale.localize,
|
19084
|
-
formatterOptions,
|
19085
|
-
);
|
19135
|
+
if (formatters$1[firstCharacter]) {
|
19136
|
+
return { isToken: true, value: substring };
|
19086
19137
|
}
|
19087
19138
|
|
19088
19139
|
if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
|
@@ -19093,11 +19144,39 @@ function format$1(date, formatStr, options) {
|
|
19093
19144
|
);
|
19094
19145
|
}
|
19095
19146
|
|
19096
|
-
return substring;
|
19147
|
+
return { isToken: false, value: substring };
|
19148
|
+
});
|
19149
|
+
|
19150
|
+
// invoke localize preprocessor (only for french locales at the moment)
|
19151
|
+
if (locale.localize.preprocessor) {
|
19152
|
+
parts = locale.localize.preprocessor(originalDate, parts);
|
19153
|
+
}
|
19154
|
+
|
19155
|
+
const formatterOptions = {
|
19156
|
+
firstWeekContainsDate,
|
19157
|
+
weekStartsOn,
|
19158
|
+
locale,
|
19159
|
+
};
|
19160
|
+
|
19161
|
+
return parts
|
19162
|
+
.map((part) => {
|
19163
|
+
if (!part.isToken) return part.value;
|
19164
|
+
|
19165
|
+
const token = part.value;
|
19166
|
+
|
19167
|
+
if (
|
19168
|
+
(!options?.useAdditionalWeekYearTokens &&
|
19169
|
+
isProtectedWeekYearToken(token)) ||
|
19170
|
+
(!options?.useAdditionalDayOfYearTokens &&
|
19171
|
+
isProtectedDayOfYearToken(token))
|
19172
|
+
) {
|
19173
|
+
warnOrThrowProtectedError(token, formatStr, String(date));
|
19174
|
+
}
|
19175
|
+
|
19176
|
+
const formatter = formatters$1[token[0]];
|
19177
|
+
return formatter(originalDate, token, locale.localize, formatterOptions);
|
19097
19178
|
})
|
19098
19179
|
.join("");
|
19099
|
-
|
19100
|
-
return result;
|
19101
19180
|
}
|
19102
19181
|
|
19103
19182
|
function cleanEscapedString(input) {
|
@@ -20576,7 +20655,7 @@ const TimePicker = ({
|
|
20576
20655
|
});
|
20577
20656
|
};
|
20578
20657
|
|
20579
|
-
var css_248z$K = "@import 'react-day-picker/style.css';\n.fontXs, .ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm, .ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8, .ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n/* Custom date picker styling */\n.ff-date-picker {\n position: relative;\n}\n.ff-date-picker .rdp-root {\n --rdp-accent-color: var(--brand-color);\n --rdp-day-height: 24px;\n --rdp-day-width: 36px;\n --rdp-day_button-height: 24px;\n --rdp-day_button-width: 36px;\n font-family: \"Poppins\";\n font-size: 12px;\n --rdp-font-family: \"Poppins\", sans-serif;\n}\n.ff-date-picker .ff-cursor-pointer {\n cursor: pointer;\n}\n.ff-date-picker .ff-datepicker-input-container {\n display: flex;\n gap: 10px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n padding: 4px 8px;\n padding-left: 2rem;\n height: 32px;\n border-radius: 5px;\n border: 1px solid var(--border-color);\n color: var(--status-skipped-text-color);\n line-height: 15px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input:focus,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-calendar-icon,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-clock-icon {\n position: absolute;\n top: 50%;\n transform: translate(25%, -50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field {\n flex: 1;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input {\n width: 100%;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n padding: 0px 4px;\n margin-left: 8px;\n line-height: 12px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field {\n flex: 0 0 120px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field .ff-time-input {\n width: 100%;\n}\n.ff-date-picker .ff-date-picker-container {\n display: flex;\n flex-direction: column;\n position: absolute;\n border-radius: 8px;\n padding: 4px;\n box-sizing: border-box;\n background-color: var(--tab-bg-color);\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);\n gap: 8px;\n z-index: 10;\n}\n.ff-date-picker .ff-date-picker-container .ff-calendar-container {\n display: flex;\n align-items: flex-start;\n gap: 4px;\n height: 240px;\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls {\n padding: 4px;\n display: flex;\n justify-content: end;\n gap: 8px;\n border-top: 1px solid var(--border-color);\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls .ff-date-picker-button {\n font-weight: 600;\n line-height: 15px;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button {\n margin: 0 5px;\n border: 1px solid var(--border-color);\n background-color: var(--toggle-button-bg-color);\n box-shadow: 0 -1px 2px 0 var(--ff-mini-modal-box-shadow);\n padding: 0px;\n border-radius: 30%;\n cursor: pointer;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button:disabled {\n cursor: auto;\n opacity: 0.5;\n}\n.ff-date-picker .ff-calendar .ff-calendar-haeder {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid,\n.ff-date-picker .ff-calendar .ff-custom-month_grid {\n width: calc((var(--rdp-day-width) + 4px) * 7);\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n padding: 5px;\n max-width: 100%;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month {\n padding: 10px 0;\n text-align: center;\n cursor: pointer;\n border-radius: 8px;\n background-color: #f9f9f9;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--selected {\n background-color: var(--brand-color);\n color: var(--primary-button-text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled {\n color: var(--text-color-light);\n cursor: default;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-month--selected, .ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-year--selected {\n background-color: var(--disable-color);\n}\n.ff-date-picker .ff-calendar .rdp-weekdays th {\n color: #6f7c8e;\n font-weight: 400;\n}\n.ff-date-picker .ff-calendar .rdp-day {\n padding: 2px;\n font-weight: 500;\n}\n.ff-date-picker .ff-calendar .rdp-day_button {\n border-radius: 4px;\n padding: 3px 9px;\n}\n.ff-date-picker .ff-calendar .rdp-day_button:hover {\n background-color: var(--hover-color);\n}\n.ff-date-picker .ff-calendar .rdp-selected {\n font: inherit;\n}\n.ff-date-picker .ff-calendar .rdp-selected .rdp-day_button {\n background: var(--rdp-accent-color);\n color: var(--drawer-footer-bg);\n border: none;\n}\n.ff-date-picker .ff-calendar .rdp-today:not(.rdp-outside) .rdp-day_button {\n border: 2px solid var(--rdp-accent-color);\n}\n.ff-date-picker .ff-time-picker-container {\n position: relative;\n width: 150px;\n height: 100%;\n overflow-y: hidden;\n border-left: 1px solid #ccc;\n padding: 10px 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container::-webkit-scrollbar {\n display: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields {\n display: flex;\n height: 14%;\n width: 100%;\n margin-bottom: 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container {\n display: flex;\n border: 1px solid var(--border-color);\n border-right: 0;\n border-radius: 4px 0 0 4px;\n width: 55%;\n position: relative;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n border: none;\n padding: 5px;\n width: 100%;\n text-align: center;\n border-radius: 4px 0 0 4px;\n font-weight: 400;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input::placeholder {\n opacity: 0;\n line-height: 18px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input-label {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n transition: 0.2s ease all;\n color: var(--input-default-label-color);\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within {\n border-color: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input::placeholder {\n opacity: 1;\n margin-bottom: 1px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--danger {\n border-color: var(--input-error-text-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container {\n position: relative;\n width: 45%;\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: 0 4px 4px 0;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-select {\n display: flex;\n align-items: center;\n padding: 0 5px;\n width: 100%;\n border-radius: 4px;\n background-color: white;\n cursor: pointer;\n border: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container--active {\n border-color: var(--brand-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon {\n margin-left: auto;\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon svg path {\n fill: var(--default-icon-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover svg path {\n fill: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-options {\n position: fixed;\n z-index: 100;\n min-width: 60px;\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n border: 1px solid var(--ff-select-background-color);\n border-radius: 4px;\n background-color: var(--primary-button-text-color);\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item {\n padding: 8px;\n color: var(--text-color);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item:hover {\n background-color: var(--ff-select-option-hover-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options {\n height: 86%;\n overflow-y: auto;\n padding-right: 5px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar {\n width: 4px;\n height: 12px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-thumb {\n background-color: var(--ff-select-scroll-thumb-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-track {\n background-color: var(--hover-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options .ff-time-option {\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n border-radius: 8px;\n background-color: rgb(249, 249, 249);\n margin: 10px 0;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}";
|
20658
|
+
var css_248z$K = "@import 'react-day-picker/style.css';\n.fontXs, .ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm, .ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8, .ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n/* Custom date picker styling */\n.ff-date-picker {\n position: relative;\n}\n.ff-date-picker .rdp-root {\n --rdp-accent-color: var(--brand-color);\n --rdp-day-height: 24px;\n --rdp-day-width: 36px;\n --rdp-day_button-height: 24px;\n --rdp-day_button-width: 36px;\n font-family: \"Poppins\";\n font-size: 12px;\n --rdp-font-family: \"Poppins\", sans-serif;\n}\n.ff-date-picker .ff-cursor-pointer {\n cursor: pointer;\n}\n.ff-date-picker .ff-datepicker-input-container {\n display: flex;\n gap: 10px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n padding: 4px 8px;\n padding-left: 2rem;\n height: 32px;\n border-radius: 5px;\n border: 1px solid var(--border-color);\n color: var(--status-skipped-text-color);\n line-height: 15px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input:focus,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-calendar-icon,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-clock-icon {\n position: absolute;\n top: 50%;\n transform: translate(25%, -50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field {\n flex: 1;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input {\n width: 100%;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n padding: 0px 4px;\n margin-left: 8px;\n line-height: 12px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field {\n flex: 0 0 120px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field .ff-time-input {\n width: 100%;\n}\n.ff-date-picker .ff-date-picker-container {\n display: flex;\n flex-direction: column;\n position: fixed;\n border-radius: 8px;\n padding: 4px;\n box-sizing: border-box;\n background-color: var(--tab-bg-color);\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);\n gap: 8px;\n}\n.ff-date-picker .ff-date-picker-container .ff-calendar-container {\n display: flex;\n align-items: flex-start;\n gap: 4px;\n height: 240px;\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls {\n padding: 4px;\n display: flex;\n justify-content: end;\n gap: 8px;\n border-top: 1px solid var(--border-color);\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls .ff-date-picker-button {\n font-weight: 600;\n line-height: 15px;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button {\n margin: 0 5px;\n border: 1px solid var(--border-color);\n background-color: var(--toggle-button-bg-color);\n box-shadow: 0 -1px 2px 0 var(--ff-mini-modal-box-shadow);\n padding: 0px;\n border-radius: 30%;\n cursor: pointer;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button:disabled {\n cursor: auto;\n opacity: 0.5;\n}\n.ff-date-picker .ff-calendar .ff-calendar-haeder {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid,\n.ff-date-picker .ff-calendar .ff-custom-month_grid {\n width: calc((var(--rdp-day-width) + 4px) * 7);\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n padding: 5px;\n max-width: 100%;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month {\n padding: 10px 0;\n text-align: center;\n cursor: pointer;\n border-radius: 8px;\n background-color: #f9f9f9;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--selected {\n background-color: var(--brand-color);\n color: var(--primary-button-text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled {\n color: var(--text-color-light);\n cursor: default;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-month--selected, .ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-year--selected {\n background-color: var(--disable-color);\n}\n.ff-date-picker .ff-calendar .rdp-weekdays th {\n color: #6f7c8e;\n font-weight: 400;\n}\n.ff-date-picker .ff-calendar .rdp-day {\n padding: 2px;\n font-weight: 500;\n}\n.ff-date-picker .ff-calendar .rdp-day_button {\n border-radius: 4px;\n padding: 3px 9px;\n}\n.ff-date-picker .ff-calendar .rdp-day_button:hover {\n background-color: var(--hover-color);\n}\n.ff-date-picker .ff-calendar .rdp-selected {\n font: inherit;\n}\n.ff-date-picker .ff-calendar .rdp-selected .rdp-day_button {\n background: var(--rdp-accent-color);\n color: var(--drawer-footer-bg);\n border: none;\n}\n.ff-date-picker .ff-calendar .rdp-today:not(.rdp-outside) .rdp-day_button {\n border: 2px solid var(--rdp-accent-color);\n}\n.ff-date-picker .ff-time-picker-container {\n position: relative;\n width: 150px;\n height: 100%;\n overflow-y: hidden;\n border-left: 1px solid #ccc;\n padding: 10px 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container::-webkit-scrollbar {\n display: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields {\n display: flex;\n height: 14%;\n width: 100%;\n margin-bottom: 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container {\n display: flex;\n border: 1px solid var(--border-color);\n border-right: 0;\n border-radius: 4px 0 0 4px;\n width: 55%;\n position: relative;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n border: none;\n padding: 5px;\n width: 100%;\n text-align: center;\n border-radius: 4px 0 0 4px;\n font-weight: 400;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input::placeholder {\n opacity: 0;\n line-height: 18px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input-label {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n transition: 0.2s ease all;\n color: var(--input-default-label-color);\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within {\n border-color: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input::placeholder {\n opacity: 1;\n margin-bottom: 1px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--danger {\n border-color: var(--input-error-text-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container {\n position: relative;\n width: 45%;\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: 0 4px 4px 0;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-select {\n display: flex;\n align-items: center;\n padding: 0 5px;\n width: 100%;\n border-radius: 4px;\n background-color: white;\n cursor: pointer;\n border: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container--active {\n border-color: var(--brand-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon {\n margin-left: auto;\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon svg path {\n fill: var(--default-icon-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover svg path {\n fill: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-options {\n position: fixed;\n z-index: 100;\n min-width: 60px;\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n border: 1px solid var(--ff-select-background-color);\n border-radius: 4px;\n background-color: var(--primary-button-text-color);\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item {\n padding: 8px;\n color: var(--text-color);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item:hover {\n background-color: var(--ff-select-option-hover-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options {\n height: 86%;\n overflow-y: auto;\n padding-right: 5px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar {\n width: 4px;\n height: 12px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-thumb {\n background-color: var(--ff-select-scroll-thumb-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-track {\n background-color: var(--hover-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options .ff-time-option {\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n border-radius: 8px;\n background-color: rgb(249, 249, 249);\n margin: 10px 0;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}";
|
20580
20659
|
styleInject(css_248z$K);
|
20581
20660
|
|
20582
20661
|
const CustomDatePicker = ({
|
@@ -20592,7 +20671,9 @@ const CustomDatePicker = ({
|
|
20592
20671
|
timeFormat = 'hh:mm a',
|
20593
20672
|
error,
|
20594
20673
|
helperText = '',
|
20595
|
-
dateOnly = false
|
20674
|
+
dateOnly = false,
|
20675
|
+
className,
|
20676
|
+
zIndex = 10
|
20596
20677
|
}) => {
|
20597
20678
|
const [timeValue, setTimeValue] = useState('');
|
20598
20679
|
const [selectedDate, setSelectedDate] = useState();
|
@@ -20600,13 +20681,16 @@ const CustomDatePicker = ({
|
|
20600
20681
|
const [timeError, setTimeError] = useState(false);
|
20601
20682
|
const [selectedMonth, setSelectedMonth] = useState(new Date());
|
20602
20683
|
const [view, setView] = useState('days');
|
20684
|
+
const selectedDateRef = useRef(undefined);
|
20603
20685
|
const [startYear, setStartYear] = useState(() => {
|
20604
20686
|
const currentYear = selectedMonth?.getFullYear() ?? new Date().getFullYear();
|
20605
20687
|
return currentYear - currentYear % 12; // Set to the first year in the 12-year range
|
20606
20688
|
});
|
20607
|
-
const [datePickerPosition, setDatePickerPosition] = useState('bottom');
|
20608
20689
|
const pickerRef = useRef(null); // Ref to track the picker
|
20609
20690
|
const containerRef = useRef(null);
|
20691
|
+
useEffect(() => {
|
20692
|
+
selectedDateRef.current = selectedDate;
|
20693
|
+
}, [selectedDate]);
|
20610
20694
|
useEffect(() => {
|
20611
20695
|
if (value) {
|
20612
20696
|
setTimeValue(formatTimeStr(value));
|
@@ -20625,23 +20709,26 @@ const CustomDatePicker = ({
|
|
20625
20709
|
const adjustPosition = () => {
|
20626
20710
|
if (containerRef.current && pickerRef.current) {
|
20627
20711
|
const relativeRect = containerRef.current.getBoundingClientRect();
|
20628
|
-
const
|
20712
|
+
const pickerHeight = pickerRef.current.offsetHeight;
|
20713
|
+
const spacing = 5; // spacing in pixels
|
20629
20714
|
const spaceBelow = window.innerHeight - relativeRect.bottom;
|
20630
20715
|
const spaceAbove = relativeRect.top;
|
20631
|
-
|
20632
|
-
if (spaceBelow <
|
20633
|
-
|
20634
|
-
} else {
|
20635
|
-
setDatePickerPosition('bottom');
|
20716
|
+
let top = relativeRect.bottom + window.scrollY + spacing; // Default position to below
|
20717
|
+
if (spaceBelow < pickerHeight && spaceAbove >= pickerHeight) {
|
20718
|
+
top = relativeRect.top + window.scrollY - pickerHeight - spacing; // Place above
|
20636
20719
|
}
|
20720
|
+
// Horizontal position: align to container with optional adjustments
|
20721
|
+
const left = relativeRect.left + window.scrollX;
|
20722
|
+
pickerRef.current.style.top = `${top}px`;
|
20723
|
+
pickerRef.current.style.left = `${left}px`;
|
20637
20724
|
}
|
20638
20725
|
};
|
20639
|
-
// Initial
|
20726
|
+
// Initial adjustment
|
20640
20727
|
adjustPosition();
|
20641
|
-
//
|
20728
|
+
// Recalculate on resize
|
20642
20729
|
window.addEventListener('resize', adjustPosition);
|
20643
20730
|
return () => window.removeEventListener('resize', adjustPosition);
|
20644
|
-
}, []);
|
20731
|
+
}, [isPickerOpen]);
|
20645
20732
|
const calendarStyle = {
|
20646
20733
|
'--rdp-day-width': calendarWidth ? `${calendarWidth / 7 - 4}px` : undefined
|
20647
20734
|
};
|
@@ -20675,7 +20762,8 @@ const CustomDatePicker = ({
|
|
20675
20762
|
}
|
20676
20763
|
};
|
20677
20764
|
const handleSave = () => {
|
20678
|
-
|
20765
|
+
console.log('selectedDate1', selectedDateRef.current);
|
20766
|
+
onChange(selectedDateRef.current);
|
20679
20767
|
resetAndCloseDatePicker();
|
20680
20768
|
};
|
20681
20769
|
const handleDateInputClick = () => {
|
@@ -20853,7 +20941,7 @@ const CustomDatePicker = ({
|
|
20853
20941
|
});
|
20854
20942
|
};
|
20855
20943
|
return jsxs("div", {
|
20856
|
-
className:
|
20944
|
+
className: `ff-date-picker ${className}`,
|
20857
20945
|
ref: containerRef,
|
20858
20946
|
children: [jsxs("div", {
|
20859
20947
|
className: "ff-datepicker-input-container",
|
@@ -20897,8 +20985,7 @@ const CustomDatePicker = ({
|
|
20897
20985
|
className: "ff-date-picker-container",
|
20898
20986
|
ref: pickerRef,
|
20899
20987
|
style: {
|
20900
|
-
|
20901
|
-
bottom: datePickerPosition === 'top' ? '110%' : 'auto'
|
20988
|
+
zIndex
|
20902
20989
|
},
|
20903
20990
|
children: [jsxs("div", {
|
20904
20991
|
className: "ff-calendar-container",
|
@@ -21609,6 +21696,8 @@ function LiveRegion(_ref) {
|
|
21609
21696
|
// Hide element visually but keep it readable by screen readers
|
21610
21697
|
const visuallyHidden = {
|
21611
21698
|
position: 'fixed',
|
21699
|
+
top: 0,
|
21700
|
+
left: 0,
|
21612
21701
|
width: 1,
|
21613
21702
|
height: 1,
|
21614
21703
|
margin: -1,
|
@@ -22598,11 +22687,12 @@ var KeyboardCode;
|
|
22598
22687
|
KeyboardCode["Up"] = "ArrowUp";
|
22599
22688
|
KeyboardCode["Esc"] = "Escape";
|
22600
22689
|
KeyboardCode["Enter"] = "Enter";
|
22690
|
+
KeyboardCode["Tab"] = "Tab";
|
22601
22691
|
})(KeyboardCode || (KeyboardCode = {}));
|
22602
22692
|
const defaultKeyboardCodes = {
|
22603
22693
|
start: [KeyboardCode.Space, KeyboardCode.Enter],
|
22604
22694
|
cancel: [KeyboardCode.Esc],
|
22605
|
-
end: [KeyboardCode.Space, KeyboardCode.Enter]
|
22695
|
+
end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]
|
22606
22696
|
};
|
22607
22697
|
const defaultKeyboardCoordinateGetter = (event, _ref) => {
|
22608
22698
|
let {
|
@@ -22901,6 +22991,9 @@ class AbstractPointerSensor {
|
|
22901
22991
|
passive: false
|
22902
22992
|
});
|
22903
22993
|
this.listeners.add(events.end.name, this.handleEnd);
|
22994
|
+
if (events.cancel) {
|
22995
|
+
this.listeners.add(events.cancel.name, this.handleCancel);
|
22996
|
+
}
|
22904
22997
|
this.windowListeners.add(EventName.Resize, this.handleCancel);
|
22905
22998
|
this.windowListeners.add(EventName.DragStart, preventDefault);
|
22906
22999
|
this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);
|
@@ -22916,9 +23009,11 @@ class AbstractPointerSensor {
|
|
22916
23009
|
}
|
22917
23010
|
if (isDelayConstraint(activationConstraint)) {
|
22918
23011
|
this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);
|
23012
|
+
this.handlePending(activationConstraint);
|
22919
23013
|
return;
|
22920
23014
|
}
|
22921
23015
|
if (isDistanceConstraint(activationConstraint)) {
|
23016
|
+
this.handlePending(activationConstraint);
|
22922
23017
|
return;
|
22923
23018
|
}
|
22924
23019
|
}
|
@@ -22935,6 +23030,13 @@ class AbstractPointerSensor {
|
|
22935
23030
|
this.timeoutId = null;
|
22936
23031
|
}
|
22937
23032
|
}
|
23033
|
+
handlePending(constraint, offset) {
|
23034
|
+
const {
|
23035
|
+
active,
|
23036
|
+
onPending
|
23037
|
+
} = this.props;
|
23038
|
+
onPending(active, constraint, this.initialCoordinates, offset);
|
23039
|
+
}
|
22938
23040
|
handleStart() {
|
22939
23041
|
const {
|
22940
23042
|
initialCoordinates
|
@@ -22988,6 +23090,7 @@ class AbstractPointerSensor {
|
|
22988
23090
|
return this.handleCancel();
|
22989
23091
|
}
|
22990
23092
|
}
|
23093
|
+
this.handlePending(activationConstraint, delta);
|
22991
23094
|
return;
|
22992
23095
|
}
|
22993
23096
|
if (event.cancelable) {
|
@@ -22997,16 +23100,24 @@ class AbstractPointerSensor {
|
|
22997
23100
|
}
|
22998
23101
|
handleEnd() {
|
22999
23102
|
const {
|
23103
|
+
onAbort,
|
23000
23104
|
onEnd
|
23001
23105
|
} = this.props;
|
23002
23106
|
this.detach();
|
23107
|
+
if (!this.activated) {
|
23108
|
+
onAbort(this.props.active);
|
23109
|
+
}
|
23003
23110
|
onEnd();
|
23004
23111
|
}
|
23005
23112
|
handleCancel() {
|
23006
23113
|
const {
|
23114
|
+
onAbort,
|
23007
23115
|
onCancel
|
23008
23116
|
} = this.props;
|
23009
23117
|
this.detach();
|
23118
|
+
if (!this.activated) {
|
23119
|
+
onAbort(this.props.active);
|
23120
|
+
}
|
23010
23121
|
onCancel();
|
23011
23122
|
}
|
23012
23123
|
handleKeydown(event) {
|
@@ -23020,6 +23131,9 @@ class AbstractPointerSensor {
|
|
23020
23131
|
}
|
23021
23132
|
}
|
23022
23133
|
const events = {
|
23134
|
+
cancel: {
|
23135
|
+
name: 'pointercancel'
|
23136
|
+
},
|
23023
23137
|
move: {
|
23024
23138
|
name: 'pointermove'
|
23025
23139
|
},
|
@@ -23092,6 +23206,9 @@ MouseSensor.activators = [{
|
|
23092
23206
|
}
|
23093
23207
|
}];
|
23094
23208
|
const events$2 = {
|
23209
|
+
cancel: {
|
23210
|
+
name: 'touchcancel'
|
23211
|
+
},
|
23095
23212
|
move: {
|
23096
23213
|
name: 'touchmove'
|
23097
23214
|
},
|
@@ -23293,11 +23410,11 @@ function useScrollIntent(_ref2) {
|
|
23293
23410
|
}, [disabled, delta, previousDelta]);
|
23294
23411
|
}
|
23295
23412
|
function useCachedNode(draggableNodes, id) {
|
23296
|
-
const draggableNode = id
|
23413
|
+
const draggableNode = id != null ? draggableNodes.get(id) : undefined;
|
23297
23414
|
const node = draggableNode ? draggableNode.node.current : null;
|
23298
23415
|
return useLazyMemo(cachedNode => {
|
23299
23416
|
var _ref;
|
23300
|
-
if (id
|
23417
|
+
if (id == null) {
|
23301
23418
|
return null;
|
23302
23419
|
} // In some cases, the draggable node can unmount while dragging
|
23303
23420
|
// This is the case for virtualized lists. In those situations,
|
@@ -23505,7 +23622,26 @@ function useRect(element, measure, fallbackRect) {
|
|
23505
23622
|
if (measure === void 0) {
|
23506
23623
|
measure = defaultMeasure;
|
23507
23624
|
}
|
23508
|
-
const [rect,
|
23625
|
+
const [rect, setRect] = useState(null);
|
23626
|
+
function measureRect() {
|
23627
|
+
setRect(currentRect => {
|
23628
|
+
if (!element) {
|
23629
|
+
return null;
|
23630
|
+
}
|
23631
|
+
if (element.isConnected === false) {
|
23632
|
+
var _ref;
|
23633
|
+
|
23634
|
+
// Fall back to last rect we measured if the element is
|
23635
|
+
// no longer connected to the DOM.
|
23636
|
+
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
23637
|
+
}
|
23638
|
+
const newRect = measure(element);
|
23639
|
+
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
23640
|
+
return currentRect;
|
23641
|
+
}
|
23642
|
+
return newRect;
|
23643
|
+
});
|
23644
|
+
}
|
23509
23645
|
const mutationObserver = useMutationObserver({
|
23510
23646
|
callback(records) {
|
23511
23647
|
if (!element) {
|
@@ -23540,23 +23676,6 @@ function useRect(element, measure, fallbackRect) {
|
|
23540
23676
|
}
|
23541
23677
|
}, [element]);
|
23542
23678
|
return rect;
|
23543
|
-
function reducer(currentRect) {
|
23544
|
-
if (!element) {
|
23545
|
-
return null;
|
23546
|
-
}
|
23547
|
-
if (element.isConnected === false) {
|
23548
|
-
var _ref;
|
23549
|
-
|
23550
|
-
// Fall back to last rect we measured if the element is
|
23551
|
-
// no longer connected to the DOM.
|
23552
|
-
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
23553
|
-
}
|
23554
|
-
const newRect = measure(element);
|
23555
|
-
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
23556
|
-
return currentRect;
|
23557
|
-
}
|
23558
|
-
return newRect;
|
23559
|
-
}
|
23560
23679
|
}
|
23561
23680
|
function useRectDelta(rect) {
|
23562
23681
|
const initialRect = useInitialValue(rect);
|
@@ -23702,28 +23821,24 @@ function useRects(elements, measure) {
|
|
23702
23821
|
}
|
23703
23822
|
const [firstElement] = elements;
|
23704
23823
|
const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);
|
23705
|
-
const [rects,
|
23824
|
+
const [rects, setRects] = useState(defaultValue$2);
|
23825
|
+
function measureRects() {
|
23826
|
+
setRects(() => {
|
23827
|
+
if (!elements.length) {
|
23828
|
+
return defaultValue$2;
|
23829
|
+
}
|
23830
|
+
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
23831
|
+
});
|
23832
|
+
}
|
23706
23833
|
const resizeObserver = useResizeObserver({
|
23707
23834
|
callback: measureRects
|
23708
23835
|
});
|
23709
|
-
if (elements.length > 0 && rects === defaultValue$2) {
|
23710
|
-
measureRects();
|
23711
|
-
}
|
23712
23836
|
useIsomorphicLayoutEffect$1(() => {
|
23713
|
-
|
23714
|
-
|
23715
|
-
|
23716
|
-
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
23717
|
-
measureRects();
|
23718
|
-
}
|
23837
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
23838
|
+
measureRects();
|
23839
|
+
elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));
|
23719
23840
|
}, [elements]);
|
23720
23841
|
return rects;
|
23721
|
-
function reducer() {
|
23722
|
-
if (!elements.length) {
|
23723
|
-
return defaultValue$2;
|
23724
|
-
}
|
23725
|
-
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
23726
|
-
}
|
23727
23842
|
}
|
23728
23843
|
function getMeasurableNode(node) {
|
23729
23844
|
if (!node) {
|
@@ -23890,7 +24005,7 @@ function reducer$1(state, action) {
|
|
23890
24005
|
}
|
23891
24006
|
};
|
23892
24007
|
case Action.DragMove:
|
23893
|
-
if (
|
24008
|
+
if (state.draggable.active == null) {
|
23894
24009
|
return state;
|
23895
24010
|
}
|
23896
24011
|
return {
|
@@ -24162,7 +24277,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24162
24277
|
containers: droppableContainers
|
24163
24278
|
}
|
24164
24279
|
} = state;
|
24165
|
-
const node = activeId ? draggableNodes.get(activeId) : null;
|
24280
|
+
const node = activeId != null ? draggableNodes.get(activeId) : null;
|
24166
24281
|
const activeRects = useRef({
|
24167
24282
|
initial: null,
|
24168
24283
|
translated: null
|
@@ -24197,7 +24312,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24197
24312
|
const autoScrollOptions = getAutoScrollerOptions();
|
24198
24313
|
const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);
|
24199
24314
|
useLayoutShiftScrollCompensation({
|
24200
|
-
activeNode: activeId ? draggableNodes.get(activeId) : null,
|
24315
|
+
activeNode: activeId != null ? draggableNodes.get(activeId) : null,
|
24201
24316
|
config: autoScrollOptions.layoutShiftCompensation,
|
24202
24317
|
initialRect: initialActiveNodeRect,
|
24203
24318
|
measure: measuringConfiguration.draggable.measure
|
@@ -24275,6 +24390,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24275
24390
|
|
24276
24391
|
const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);
|
24277
24392
|
const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);
|
24393
|
+
const activeSensorRef = useRef(null);
|
24278
24394
|
const instantiateSensor = useCallback((event, _ref2) => {
|
24279
24395
|
let {
|
24280
24396
|
sensor: Sensor,
|
@@ -24296,6 +24412,43 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24296
24412
|
// Sensors need to be instantiated with refs for arguments that change over time
|
24297
24413
|
// otherwise they are frozen in time with the stale arguments
|
24298
24414
|
context: sensorContext,
|
24415
|
+
onAbort(id) {
|
24416
|
+
const draggableNode = draggableNodes.get(id);
|
24417
|
+
if (!draggableNode) {
|
24418
|
+
return;
|
24419
|
+
}
|
24420
|
+
const {
|
24421
|
+
onDragAbort
|
24422
|
+
} = latestProps.current;
|
24423
|
+
const event = {
|
24424
|
+
id
|
24425
|
+
};
|
24426
|
+
onDragAbort == null ? void 0 : onDragAbort(event);
|
24427
|
+
dispatchMonitorEvent({
|
24428
|
+
type: 'onDragAbort',
|
24429
|
+
event
|
24430
|
+
});
|
24431
|
+
},
|
24432
|
+
onPending(id, constraint, initialCoordinates, offset) {
|
24433
|
+
const draggableNode = draggableNodes.get(id);
|
24434
|
+
if (!draggableNode) {
|
24435
|
+
return;
|
24436
|
+
}
|
24437
|
+
const {
|
24438
|
+
onDragPending
|
24439
|
+
} = latestProps.current;
|
24440
|
+
const event = {
|
24441
|
+
id,
|
24442
|
+
constraint,
|
24443
|
+
initialCoordinates,
|
24444
|
+
offset
|
24445
|
+
};
|
24446
|
+
onDragPending == null ? void 0 : onDragPending(event);
|
24447
|
+
dispatchMonitorEvent({
|
24448
|
+
type: 'onDragPending',
|
24449
|
+
event
|
24450
|
+
});
|
24451
|
+
},
|
24299
24452
|
onStart(initialCoordinates) {
|
24300
24453
|
const id = activeRef.current;
|
24301
24454
|
if (id == null) {
|
@@ -24309,6 +24462,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24309
24462
|
onDragStart
|
24310
24463
|
} = latestProps.current;
|
24311
24464
|
const event = {
|
24465
|
+
activatorEvent,
|
24312
24466
|
active: {
|
24313
24467
|
id,
|
24314
24468
|
data: draggableNode.data,
|
@@ -24327,6 +24481,8 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24327
24481
|
type: 'onDragStart',
|
24328
24482
|
event
|
24329
24483
|
});
|
24484
|
+
setActiveSensor(activeSensorRef.current);
|
24485
|
+
setActivatorEvent(activatorEvent);
|
24330
24486
|
});
|
24331
24487
|
},
|
24332
24488
|
onMove(coordinates) {
|
@@ -24338,10 +24494,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24338
24494
|
onEnd: createHandler(Action.DragEnd),
|
24339
24495
|
onCancel: createHandler(Action.DragCancel)
|
24340
24496
|
});
|
24341
|
-
|
24342
|
-
setActiveSensor(sensorInstance);
|
24343
|
-
setActivatorEvent(event.nativeEvent);
|
24344
|
-
});
|
24497
|
+
activeSensorRef.current = sensorInstance;
|
24345
24498
|
function createHandler(type) {
|
24346
24499
|
return async function handler() {
|
24347
24500
|
const {
|
@@ -24378,6 +24531,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24378
24531
|
setOver(null);
|
24379
24532
|
setActiveSensor(null);
|
24380
24533
|
setActivatorEvent(null);
|
24534
|
+
activeSensorRef.current = null;
|
24381
24535
|
const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';
|
24382
24536
|
if (event) {
|
24383
24537
|
const handler = latestProps.current[eventName];
|
@@ -24599,7 +24753,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
|
|
24599
24753
|
});
|
24600
24754
|
const NullContext = /*#__PURE__*/createContext$1(null);
|
24601
24755
|
const defaultRole = 'button';
|
24602
|
-
const ID_PREFIX$1 = '
|
24756
|
+
const ID_PREFIX$1 = 'Draggable';
|
24603
24757
|
function useDraggable(_ref) {
|
24604
24758
|
let {
|
24605
24759
|
id,
|
@@ -24746,7 +24900,7 @@ function useDroppable(_ref) {
|
|
24746
24900
|
resizeObserverConnected.current = false;
|
24747
24901
|
resizeObserver.observe(nodeRef.current);
|
24748
24902
|
}, [nodeRef, resizeObserver]);
|
24749
|
-
|
24903
|
+
useEffect(() => {
|
24750
24904
|
dispatch({
|
24751
24905
|
type: Action.RegisterDroppable,
|
24752
24906
|
element: {
|
@@ -25161,6 +25315,7 @@ var DNDCore = /*#__PURE__*/Object.freeze({
|
|
25161
25315
|
defaultCoordinates: defaultCoordinates,
|
25162
25316
|
defaultDropAnimation: defaultDropAnimationConfiguration,
|
25163
25317
|
defaultDropAnimationSideEffects: defaultDropAnimationSideEffects,
|
25318
|
+
defaultKeyboardCoordinateGetter: defaultKeyboardCoordinateGetter,
|
25164
25319
|
defaultScreenReaderInstructions: defaultScreenReaderInstructions,
|
25165
25320
|
getClientRect: getClientRect,
|
25166
25321
|
getFirstCollision: getFirstCollision,
|
@@ -27034,226 +27189,559 @@ const DashboardDonutChart = ({
|
|
27034
27189
|
|
27035
27190
|
var propTypes = {exports: {}};
|
27036
27191
|
|
27037
|
-
|
27038
|
-
object-assign
|
27039
|
-
(c) Sindre Sorhus
|
27040
|
-
@license MIT
|
27041
|
-
*/
|
27042
|
-
var objectAssign;
|
27043
|
-
var hasRequiredObjectAssign;
|
27044
|
-
function requireObjectAssign() {
|
27045
|
-
if (hasRequiredObjectAssign) return objectAssign;
|
27046
|
-
hasRequiredObjectAssign = 1;
|
27047
|
-
/* eslint-disable no-unused-vars */
|
27048
|
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
27049
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
27050
|
-
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
27051
|
-
function toObject(val) {
|
27052
|
-
if (val === null || val === undefined) {
|
27053
|
-
throw new TypeError('Object.assign cannot be called with null or undefined');
|
27054
|
-
}
|
27055
|
-
return Object(val);
|
27056
|
-
}
|
27057
|
-
function shouldUseNative() {
|
27058
|
-
try {
|
27059
|
-
if (!Object.assign) {
|
27060
|
-
return false;
|
27061
|
-
}
|
27062
|
-
|
27063
|
-
// Detect buggy property enumeration order in older V8 versions.
|
27064
|
-
|
27065
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
27066
|
-
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
27067
|
-
test1[5] = 'de';
|
27068
|
-
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
27069
|
-
return false;
|
27070
|
-
}
|
27192
|
+
var reactIs = {exports: {}};
|
27071
27193
|
|
27072
|
-
|
27073
|
-
var test2 = {};
|
27074
|
-
for (var i = 0; i < 10; i++) {
|
27075
|
-
test2['_' + String.fromCharCode(i)] = i;
|
27076
|
-
}
|
27077
|
-
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
27078
|
-
return test2[n];
|
27079
|
-
});
|
27080
|
-
if (order2.join('') !== '0123456789') {
|
27081
|
-
return false;
|
27082
|
-
}
|
27194
|
+
var reactIs_production_min = {};
|
27083
27195
|
|
27084
|
-
|
27085
|
-
|
27086
|
-
|
27087
|
-
|
27088
|
-
|
27089
|
-
|
27090
|
-
|
27091
|
-
|
27092
|
-
|
27093
|
-
|
27094
|
-
|
27095
|
-
|
27096
|
-
|
27097
|
-
|
27098
|
-
|
27099
|
-
|
27100
|
-
|
27101
|
-
|
27102
|
-
|
27103
|
-
|
27104
|
-
|
27105
|
-
|
27106
|
-
|
27107
|
-
|
27108
|
-
|
27109
|
-
|
27110
|
-
|
27111
|
-
|
27112
|
-
|
27113
|
-
|
27196
|
+
/** @license React v16.13.1
|
27197
|
+
* react-is.production.min.js
|
27198
|
+
*
|
27199
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
27200
|
+
*
|
27201
|
+
* This source code is licensed under the MIT license found in the
|
27202
|
+
* LICENSE file in the root directory of this source tree.
|
27203
|
+
*/
|
27204
|
+
var hasRequiredReactIs_production_min;
|
27205
|
+
function requireReactIs_production_min() {
|
27206
|
+
if (hasRequiredReactIs_production_min) return reactIs_production_min;
|
27207
|
+
hasRequiredReactIs_production_min = 1;
|
27208
|
+
var b = "function" === typeof Symbol && Symbol.for,
|
27209
|
+
c = b ? Symbol.for("react.element") : 60103,
|
27210
|
+
d = b ? Symbol.for("react.portal") : 60106,
|
27211
|
+
e = b ? Symbol.for("react.fragment") : 60107,
|
27212
|
+
f = b ? Symbol.for("react.strict_mode") : 60108,
|
27213
|
+
g = b ? Symbol.for("react.profiler") : 60114,
|
27214
|
+
h = b ? Symbol.for("react.provider") : 60109,
|
27215
|
+
k = b ? Symbol.for("react.context") : 60110,
|
27216
|
+
l = b ? Symbol.for("react.async_mode") : 60111,
|
27217
|
+
m = b ? Symbol.for("react.concurrent_mode") : 60111,
|
27218
|
+
n = b ? Symbol.for("react.forward_ref") : 60112,
|
27219
|
+
p = b ? Symbol.for("react.suspense") : 60113,
|
27220
|
+
q = b ? Symbol.for("react.suspense_list") : 60120,
|
27221
|
+
r = b ? Symbol.for("react.memo") : 60115,
|
27222
|
+
t = b ? Symbol.for("react.lazy") : 60116,
|
27223
|
+
v = b ? Symbol.for("react.block") : 60121,
|
27224
|
+
w = b ? Symbol.for("react.fundamental") : 60117,
|
27225
|
+
x = b ? Symbol.for("react.responder") : 60118,
|
27226
|
+
y = b ? Symbol.for("react.scope") : 60119;
|
27227
|
+
function z(a) {
|
27228
|
+
if ("object" === typeof a && null !== a) {
|
27229
|
+
var u = a.$$typeof;
|
27230
|
+
switch (u) {
|
27231
|
+
case c:
|
27232
|
+
switch (a = a.type, a) {
|
27233
|
+
case l:
|
27234
|
+
case m:
|
27235
|
+
case e:
|
27236
|
+
case g:
|
27237
|
+
case f:
|
27238
|
+
case p:
|
27239
|
+
return a;
|
27240
|
+
default:
|
27241
|
+
switch (a = a && a.$$typeof, a) {
|
27242
|
+
case k:
|
27243
|
+
case n:
|
27244
|
+
case t:
|
27245
|
+
case r:
|
27246
|
+
case h:
|
27247
|
+
return a;
|
27248
|
+
default:
|
27249
|
+
return u;
|
27250
|
+
}
|
27114
27251
|
}
|
27115
|
-
|
27252
|
+
case d:
|
27253
|
+
return u;
|
27116
27254
|
}
|
27117
27255
|
}
|
27118
|
-
|
27256
|
+
}
|
27257
|
+
function A(a) {
|
27258
|
+
return z(a) === m;
|
27259
|
+
}
|
27260
|
+
reactIs_production_min.AsyncMode = l;
|
27261
|
+
reactIs_production_min.ConcurrentMode = m;
|
27262
|
+
reactIs_production_min.ContextConsumer = k;
|
27263
|
+
reactIs_production_min.ContextProvider = h;
|
27264
|
+
reactIs_production_min.Element = c;
|
27265
|
+
reactIs_production_min.ForwardRef = n;
|
27266
|
+
reactIs_production_min.Fragment = e;
|
27267
|
+
reactIs_production_min.Lazy = t;
|
27268
|
+
reactIs_production_min.Memo = r;
|
27269
|
+
reactIs_production_min.Portal = d;
|
27270
|
+
reactIs_production_min.Profiler = g;
|
27271
|
+
reactIs_production_min.StrictMode = f;
|
27272
|
+
reactIs_production_min.Suspense = p;
|
27273
|
+
reactIs_production_min.isAsyncMode = function (a) {
|
27274
|
+
return A(a) || z(a) === l;
|
27119
27275
|
};
|
27120
|
-
|
27276
|
+
reactIs_production_min.isConcurrentMode = A;
|
27277
|
+
reactIs_production_min.isContextConsumer = function (a) {
|
27278
|
+
return z(a) === k;
|
27279
|
+
};
|
27280
|
+
reactIs_production_min.isContextProvider = function (a) {
|
27281
|
+
return z(a) === h;
|
27282
|
+
};
|
27283
|
+
reactIs_production_min.isElement = function (a) {
|
27284
|
+
return "object" === typeof a && null !== a && a.$$typeof === c;
|
27285
|
+
};
|
27286
|
+
reactIs_production_min.isForwardRef = function (a) {
|
27287
|
+
return z(a) === n;
|
27288
|
+
};
|
27289
|
+
reactIs_production_min.isFragment = function (a) {
|
27290
|
+
return z(a) === e;
|
27291
|
+
};
|
27292
|
+
reactIs_production_min.isLazy = function (a) {
|
27293
|
+
return z(a) === t;
|
27294
|
+
};
|
27295
|
+
reactIs_production_min.isMemo = function (a) {
|
27296
|
+
return z(a) === r;
|
27297
|
+
};
|
27298
|
+
reactIs_production_min.isPortal = function (a) {
|
27299
|
+
return z(a) === d;
|
27300
|
+
};
|
27301
|
+
reactIs_production_min.isProfiler = function (a) {
|
27302
|
+
return z(a) === g;
|
27303
|
+
};
|
27304
|
+
reactIs_production_min.isStrictMode = function (a) {
|
27305
|
+
return z(a) === f;
|
27306
|
+
};
|
27307
|
+
reactIs_production_min.isSuspense = function (a) {
|
27308
|
+
return z(a) === p;
|
27309
|
+
};
|
27310
|
+
reactIs_production_min.isValidElementType = function (a) {
|
27311
|
+
return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
|
27312
|
+
};
|
27313
|
+
reactIs_production_min.typeOf = z;
|
27314
|
+
return reactIs_production_min;
|
27121
27315
|
}
|
27122
27316
|
|
27123
|
-
|
27124
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
27125
|
-
*
|
27126
|
-
* This source code is licensed under the MIT license found in the
|
27127
|
-
* LICENSE file in the root directory of this source tree.
|
27128
|
-
*/
|
27129
|
-
var ReactPropTypesSecret_1;
|
27130
|
-
var hasRequiredReactPropTypesSecret;
|
27131
|
-
function requireReactPropTypesSecret() {
|
27132
|
-
if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;
|
27133
|
-
hasRequiredReactPropTypesSecret = 1;
|
27134
|
-
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
27135
|
-
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
27136
|
-
return ReactPropTypesSecret_1;
|
27137
|
-
}
|
27317
|
+
var reactIs_development = {};
|
27138
27318
|
|
27139
|
-
/**
|
27140
|
-
*
|
27319
|
+
/** @license React v16.13.1
|
27320
|
+
* react-is.development.js
|
27321
|
+
*
|
27322
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
27141
27323
|
*
|
27142
27324
|
* This source code is licensed under the MIT license found in the
|
27143
27325
|
* LICENSE file in the root directory of this source tree.
|
27144
27326
|
*/
|
27145
|
-
var
|
27146
|
-
|
27147
|
-
|
27148
|
-
|
27149
|
-
|
27150
|
-
|
27151
|
-
if (process.env.NODE_ENV !== 'production') {
|
27152
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
27153
|
-
var loggedTypeFailures = {};
|
27154
|
-
printWarning = function (text) {
|
27155
|
-
var message = 'Warning: ' + text;
|
27156
|
-
if (typeof console !== 'undefined') {
|
27157
|
-
console.error(message);
|
27158
|
-
}
|
27159
|
-
try {
|
27160
|
-
// --- Welcome to debugging React ---
|
27161
|
-
// This error was thrown as a convenience so that you can use this stack
|
27162
|
-
// to find the callsite that caused this warning to fire.
|
27163
|
-
throw new Error(message);
|
27164
|
-
} catch (x) {}
|
27165
|
-
};
|
27166
|
-
}
|
27327
|
+
var hasRequiredReactIs_development;
|
27328
|
+
function requireReactIs_development() {
|
27329
|
+
if (hasRequiredReactIs_development) return reactIs_development;
|
27330
|
+
hasRequiredReactIs_development = 1;
|
27331
|
+
if (process.env.NODE_ENV !== "production") {
|
27332
|
+
(function () {
|
27167
27333
|
|
27168
|
-
|
27169
|
-
|
27170
|
-
|
27171
|
-
|
27172
|
-
|
27173
|
-
|
27174
|
-
|
27175
|
-
|
27176
|
-
|
27177
|
-
|
27178
|
-
|
27179
|
-
|
27180
|
-
|
27181
|
-
|
27182
|
-
|
27183
|
-
|
27184
|
-
|
27185
|
-
|
27186
|
-
|
27187
|
-
|
27188
|
-
|
27189
|
-
|
27190
|
-
|
27191
|
-
|
27192
|
-
|
27193
|
-
|
27194
|
-
|
27195
|
-
|
27196
|
-
|
27197
|
-
|
27198
|
-
|
27199
|
-
|
27200
|
-
|
27334
|
+
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
27335
|
+
// nor polyfill, then a plain number is used for performance.
|
27336
|
+
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
27337
|
+
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
27338
|
+
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
27339
|
+
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
27340
|
+
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
27341
|
+
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
27342
|
+
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
27343
|
+
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
27344
|
+
// (unstable) APIs that have been removed. Can we remove the symbols?
|
27345
|
+
|
27346
|
+
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
27347
|
+
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
27348
|
+
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
27349
|
+
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
27350
|
+
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
27351
|
+
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
27352
|
+
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
27353
|
+
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
27354
|
+
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
27355
|
+
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
27356
|
+
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
27357
|
+
function isValidElementType(type) {
|
27358
|
+
return typeof type === 'string' || typeof type === 'function' ||
|
27359
|
+
// Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
27360
|
+
type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
|
27361
|
+
}
|
27362
|
+
function typeOf(object) {
|
27363
|
+
if (typeof object === 'object' && object !== null) {
|
27364
|
+
var $$typeof = object.$$typeof;
|
27365
|
+
switch ($$typeof) {
|
27366
|
+
case REACT_ELEMENT_TYPE:
|
27367
|
+
var type = object.type;
|
27368
|
+
switch (type) {
|
27369
|
+
case REACT_ASYNC_MODE_TYPE:
|
27370
|
+
case REACT_CONCURRENT_MODE_TYPE:
|
27371
|
+
case REACT_FRAGMENT_TYPE:
|
27372
|
+
case REACT_PROFILER_TYPE:
|
27373
|
+
case REACT_STRICT_MODE_TYPE:
|
27374
|
+
case REACT_SUSPENSE_TYPE:
|
27375
|
+
return type;
|
27376
|
+
default:
|
27377
|
+
var $$typeofType = type && type.$$typeof;
|
27378
|
+
switch ($$typeofType) {
|
27379
|
+
case REACT_CONTEXT_TYPE:
|
27380
|
+
case REACT_FORWARD_REF_TYPE:
|
27381
|
+
case REACT_LAZY_TYPE:
|
27382
|
+
case REACT_MEMO_TYPE:
|
27383
|
+
case REACT_PROVIDER_TYPE:
|
27384
|
+
return $$typeofType;
|
27385
|
+
default:
|
27386
|
+
return $$typeof;
|
27387
|
+
}
|
27388
|
+
}
|
27389
|
+
case REACT_PORTAL_TYPE:
|
27390
|
+
return $$typeof;
|
27201
27391
|
}
|
27202
|
-
|
27203
|
-
|
27204
|
-
|
27205
|
-
|
27206
|
-
|
27207
|
-
|
27392
|
+
}
|
27393
|
+
return undefined;
|
27394
|
+
} // AsyncMode is deprecated along with isAsyncMode
|
27395
|
+
|
27396
|
+
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
27397
|
+
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
27398
|
+
var ContextConsumer = REACT_CONTEXT_TYPE;
|
27399
|
+
var ContextProvider = REACT_PROVIDER_TYPE;
|
27400
|
+
var Element = REACT_ELEMENT_TYPE;
|
27401
|
+
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
27402
|
+
var Fragment = REACT_FRAGMENT_TYPE;
|
27403
|
+
var Lazy = REACT_LAZY_TYPE;
|
27404
|
+
var Memo = REACT_MEMO_TYPE;
|
27405
|
+
var Portal = REACT_PORTAL_TYPE;
|
27406
|
+
var Profiler = REACT_PROFILER_TYPE;
|
27407
|
+
var StrictMode = REACT_STRICT_MODE_TYPE;
|
27408
|
+
var Suspense = REACT_SUSPENSE_TYPE;
|
27409
|
+
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
27410
|
+
|
27411
|
+
function isAsyncMode(object) {
|
27412
|
+
{
|
27413
|
+
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
27414
|
+
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
27415
|
+
|
27416
|
+
console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
|
27208
27417
|
}
|
27209
27418
|
}
|
27419
|
+
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
27210
27420
|
}
|
27211
|
-
|
27421
|
+
function isConcurrentMode(object) {
|
27422
|
+
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
27423
|
+
}
|
27424
|
+
function isContextConsumer(object) {
|
27425
|
+
return typeOf(object) === REACT_CONTEXT_TYPE;
|
27426
|
+
}
|
27427
|
+
function isContextProvider(object) {
|
27428
|
+
return typeOf(object) === REACT_PROVIDER_TYPE;
|
27429
|
+
}
|
27430
|
+
function isElement(object) {
|
27431
|
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
27432
|
+
}
|
27433
|
+
function isForwardRef(object) {
|
27434
|
+
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
27435
|
+
}
|
27436
|
+
function isFragment(object) {
|
27437
|
+
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
27438
|
+
}
|
27439
|
+
function isLazy(object) {
|
27440
|
+
return typeOf(object) === REACT_LAZY_TYPE;
|
27441
|
+
}
|
27442
|
+
function isMemo(object) {
|
27443
|
+
return typeOf(object) === REACT_MEMO_TYPE;
|
27444
|
+
}
|
27445
|
+
function isPortal(object) {
|
27446
|
+
return typeOf(object) === REACT_PORTAL_TYPE;
|
27447
|
+
}
|
27448
|
+
function isProfiler(object) {
|
27449
|
+
return typeOf(object) === REACT_PROFILER_TYPE;
|
27450
|
+
}
|
27451
|
+
function isStrictMode(object) {
|
27452
|
+
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
27453
|
+
}
|
27454
|
+
function isSuspense(object) {
|
27455
|
+
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
27456
|
+
}
|
27457
|
+
reactIs_development.AsyncMode = AsyncMode;
|
27458
|
+
reactIs_development.ConcurrentMode = ConcurrentMode;
|
27459
|
+
reactIs_development.ContextConsumer = ContextConsumer;
|
27460
|
+
reactIs_development.ContextProvider = ContextProvider;
|
27461
|
+
reactIs_development.Element = Element;
|
27462
|
+
reactIs_development.ForwardRef = ForwardRef;
|
27463
|
+
reactIs_development.Fragment = Fragment;
|
27464
|
+
reactIs_development.Lazy = Lazy;
|
27465
|
+
reactIs_development.Memo = Memo;
|
27466
|
+
reactIs_development.Portal = Portal;
|
27467
|
+
reactIs_development.Profiler = Profiler;
|
27468
|
+
reactIs_development.StrictMode = StrictMode;
|
27469
|
+
reactIs_development.Suspense = Suspense;
|
27470
|
+
reactIs_development.isAsyncMode = isAsyncMode;
|
27471
|
+
reactIs_development.isConcurrentMode = isConcurrentMode;
|
27472
|
+
reactIs_development.isContextConsumer = isContextConsumer;
|
27473
|
+
reactIs_development.isContextProvider = isContextProvider;
|
27474
|
+
reactIs_development.isElement = isElement;
|
27475
|
+
reactIs_development.isForwardRef = isForwardRef;
|
27476
|
+
reactIs_development.isFragment = isFragment;
|
27477
|
+
reactIs_development.isLazy = isLazy;
|
27478
|
+
reactIs_development.isMemo = isMemo;
|
27479
|
+
reactIs_development.isPortal = isPortal;
|
27480
|
+
reactIs_development.isProfiler = isProfiler;
|
27481
|
+
reactIs_development.isStrictMode = isStrictMode;
|
27482
|
+
reactIs_development.isSuspense = isSuspense;
|
27483
|
+
reactIs_development.isValidElementType = isValidElementType;
|
27484
|
+
reactIs_development.typeOf = typeOf;
|
27485
|
+
})();
|
27212
27486
|
}
|
27213
|
-
|
27214
|
-
return checkPropTypes_1;
|
27487
|
+
return reactIs_development;
|
27215
27488
|
}
|
27216
27489
|
|
27217
|
-
|
27218
|
-
|
27219
|
-
|
27220
|
-
|
27221
|
-
|
27222
|
-
|
27223
|
-
|
27224
|
-
|
27225
|
-
function requireFactoryWithTypeCheckers() {
|
27226
|
-
if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;
|
27227
|
-
hasRequiredFactoryWithTypeCheckers = 1;
|
27228
|
-
var assign = requireObjectAssign();
|
27229
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
27230
|
-
var checkPropTypes = requireCheckPropTypes();
|
27231
|
-
var printWarning = function () {};
|
27232
|
-
if (process.env.NODE_ENV !== 'production') {
|
27233
|
-
printWarning = function (text) {
|
27234
|
-
var message = 'Warning: ' + text;
|
27235
|
-
if (typeof console !== 'undefined') {
|
27236
|
-
console.error(message);
|
27237
|
-
}
|
27238
|
-
try {
|
27239
|
-
// --- Welcome to debugging React ---
|
27240
|
-
// This error was thrown as a convenience so that you can use this stack
|
27241
|
-
// to find the callsite that caused this warning to fire.
|
27242
|
-
throw new Error(message);
|
27243
|
-
} catch (x) {}
|
27244
|
-
};
|
27245
|
-
}
|
27246
|
-
function emptyFunctionThatReturnsNull() {
|
27247
|
-
return null;
|
27490
|
+
var hasRequiredReactIs;
|
27491
|
+
function requireReactIs() {
|
27492
|
+
if (hasRequiredReactIs) return reactIs.exports;
|
27493
|
+
hasRequiredReactIs = 1;
|
27494
|
+
if (process.env.NODE_ENV === 'production') {
|
27495
|
+
reactIs.exports = requireReactIs_production_min();
|
27496
|
+
} else {
|
27497
|
+
reactIs.exports = requireReactIs_development();
|
27248
27498
|
}
|
27249
|
-
|
27250
|
-
|
27251
|
-
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
27252
|
-
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
27499
|
+
return reactIs.exports;
|
27500
|
+
}
|
27253
27501
|
|
27254
|
-
|
27255
|
-
|
27256
|
-
|
27502
|
+
/*
|
27503
|
+
object-assign
|
27504
|
+
(c) Sindre Sorhus
|
27505
|
+
@license MIT
|
27506
|
+
*/
|
27507
|
+
var objectAssign;
|
27508
|
+
var hasRequiredObjectAssign;
|
27509
|
+
function requireObjectAssign() {
|
27510
|
+
if (hasRequiredObjectAssign) return objectAssign;
|
27511
|
+
hasRequiredObjectAssign = 1;
|
27512
|
+
/* eslint-disable no-unused-vars */
|
27513
|
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
27514
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
27515
|
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
27516
|
+
function toObject(val) {
|
27517
|
+
if (val === null || val === undefined) {
|
27518
|
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
27519
|
+
}
|
27520
|
+
return Object(val);
|
27521
|
+
}
|
27522
|
+
function shouldUseNative() {
|
27523
|
+
try {
|
27524
|
+
if (!Object.assign) {
|
27525
|
+
return false;
|
27526
|
+
}
|
27527
|
+
|
27528
|
+
// Detect buggy property enumeration order in older V8 versions.
|
27529
|
+
|
27530
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
27531
|
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
27532
|
+
test1[5] = 'de';
|
27533
|
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
27534
|
+
return false;
|
27535
|
+
}
|
27536
|
+
|
27537
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
27538
|
+
var test2 = {};
|
27539
|
+
for (var i = 0; i < 10; i++) {
|
27540
|
+
test2['_' + String.fromCharCode(i)] = i;
|
27541
|
+
}
|
27542
|
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
27543
|
+
return test2[n];
|
27544
|
+
});
|
27545
|
+
if (order2.join('') !== '0123456789') {
|
27546
|
+
return false;
|
27547
|
+
}
|
27548
|
+
|
27549
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
27550
|
+
var test3 = {};
|
27551
|
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
27552
|
+
test3[letter] = letter;
|
27553
|
+
});
|
27554
|
+
if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
|
27555
|
+
return false;
|
27556
|
+
}
|
27557
|
+
return true;
|
27558
|
+
} catch (err) {
|
27559
|
+
// We don't expect any of the above to throw, but better to be safe.
|
27560
|
+
return false;
|
27561
|
+
}
|
27562
|
+
}
|
27563
|
+
objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
|
27564
|
+
var from;
|
27565
|
+
var to = toObject(target);
|
27566
|
+
var symbols;
|
27567
|
+
for (var s = 1; s < arguments.length; s++) {
|
27568
|
+
from = Object(arguments[s]);
|
27569
|
+
for (var key in from) {
|
27570
|
+
if (hasOwnProperty.call(from, key)) {
|
27571
|
+
to[key] = from[key];
|
27572
|
+
}
|
27573
|
+
}
|
27574
|
+
if (getOwnPropertySymbols) {
|
27575
|
+
symbols = getOwnPropertySymbols(from);
|
27576
|
+
for (var i = 0; i < symbols.length; i++) {
|
27577
|
+
if (propIsEnumerable.call(from, symbols[i])) {
|
27578
|
+
to[symbols[i]] = from[symbols[i]];
|
27579
|
+
}
|
27580
|
+
}
|
27581
|
+
}
|
27582
|
+
}
|
27583
|
+
return to;
|
27584
|
+
};
|
27585
|
+
return objectAssign;
|
27586
|
+
}
|
27587
|
+
|
27588
|
+
/**
|
27589
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27590
|
+
*
|
27591
|
+
* This source code is licensed under the MIT license found in the
|
27592
|
+
* LICENSE file in the root directory of this source tree.
|
27593
|
+
*/
|
27594
|
+
var ReactPropTypesSecret_1;
|
27595
|
+
var hasRequiredReactPropTypesSecret;
|
27596
|
+
function requireReactPropTypesSecret() {
|
27597
|
+
if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;
|
27598
|
+
hasRequiredReactPropTypesSecret = 1;
|
27599
|
+
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
27600
|
+
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
27601
|
+
return ReactPropTypesSecret_1;
|
27602
|
+
}
|
27603
|
+
|
27604
|
+
var has$1;
|
27605
|
+
var hasRequiredHas;
|
27606
|
+
function requireHas() {
|
27607
|
+
if (hasRequiredHas) return has$1;
|
27608
|
+
hasRequiredHas = 1;
|
27609
|
+
has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
27610
|
+
return has$1;
|
27611
|
+
}
|
27612
|
+
|
27613
|
+
/**
|
27614
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27615
|
+
*
|
27616
|
+
* This source code is licensed under the MIT license found in the
|
27617
|
+
* LICENSE file in the root directory of this source tree.
|
27618
|
+
*/
|
27619
|
+
var checkPropTypes_1;
|
27620
|
+
var hasRequiredCheckPropTypes;
|
27621
|
+
function requireCheckPropTypes() {
|
27622
|
+
if (hasRequiredCheckPropTypes) return checkPropTypes_1;
|
27623
|
+
hasRequiredCheckPropTypes = 1;
|
27624
|
+
var printWarning = function () {};
|
27625
|
+
if (process.env.NODE_ENV !== 'production') {
|
27626
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27627
|
+
var loggedTypeFailures = {};
|
27628
|
+
var has = /*@__PURE__*/requireHas();
|
27629
|
+
printWarning = function (text) {
|
27630
|
+
var message = 'Warning: ' + text;
|
27631
|
+
if (typeof console !== 'undefined') {
|
27632
|
+
console.error(message);
|
27633
|
+
}
|
27634
|
+
try {
|
27635
|
+
// --- Welcome to debugging React ---
|
27636
|
+
// This error was thrown as a convenience so that you can use this stack
|
27637
|
+
// to find the callsite that caused this warning to fire.
|
27638
|
+
throw new Error(message);
|
27639
|
+
} catch (x) {/**/}
|
27640
|
+
};
|
27641
|
+
}
|
27642
|
+
|
27643
|
+
/**
|
27644
|
+
* Assert that the values match with the type specs.
|
27645
|
+
* Error messages are memorized and will only be shown once.
|
27646
|
+
*
|
27647
|
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
27648
|
+
* @param {object} values Runtime values that need to be type-checked
|
27649
|
+
* @param {string} location e.g. "prop", "context", "child context"
|
27650
|
+
* @param {string} componentName Name of the component for error messages.
|
27651
|
+
* @param {?Function} getStack Returns the component stack.
|
27652
|
+
* @private
|
27653
|
+
*/
|
27654
|
+
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
27655
|
+
if (process.env.NODE_ENV !== 'production') {
|
27656
|
+
for (var typeSpecName in typeSpecs) {
|
27657
|
+
if (has(typeSpecs, typeSpecName)) {
|
27658
|
+
var error;
|
27659
|
+
// Prop type validation may throw. In case they do, we don't want to
|
27660
|
+
// fail the render phase where it didn't fail before. So we log it.
|
27661
|
+
// After these have been cleaned up, we'll let them throw.
|
27662
|
+
try {
|
27663
|
+
// This is intentionally an invariant that gets caught. It's the same
|
27664
|
+
// behavior as without this statement except with a better message.
|
27665
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
27666
|
+
var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');
|
27667
|
+
err.name = 'Invariant Violation';
|
27668
|
+
throw err;
|
27669
|
+
}
|
27670
|
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
27671
|
+
} catch (ex) {
|
27672
|
+
error = ex;
|
27673
|
+
}
|
27674
|
+
if (error && !(error instanceof Error)) {
|
27675
|
+
printWarning((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).');
|
27676
|
+
}
|
27677
|
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
27678
|
+
// Only monitor this failure once because there tends to be a lot of the
|
27679
|
+
// same error.
|
27680
|
+
loggedTypeFailures[error.message] = true;
|
27681
|
+
var stack = getStack ? getStack() : '';
|
27682
|
+
printWarning('Failed ' + location + ' type: ' + error.message + (stack != null ? stack : ''));
|
27683
|
+
}
|
27684
|
+
}
|
27685
|
+
}
|
27686
|
+
}
|
27687
|
+
}
|
27688
|
+
|
27689
|
+
/**
|
27690
|
+
* Resets warning cache when testing.
|
27691
|
+
*
|
27692
|
+
* @private
|
27693
|
+
*/
|
27694
|
+
checkPropTypes.resetWarningCache = function () {
|
27695
|
+
if (process.env.NODE_ENV !== 'production') {
|
27696
|
+
loggedTypeFailures = {};
|
27697
|
+
}
|
27698
|
+
};
|
27699
|
+
checkPropTypes_1 = checkPropTypes;
|
27700
|
+
return checkPropTypes_1;
|
27701
|
+
}
|
27702
|
+
|
27703
|
+
/**
|
27704
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27705
|
+
*
|
27706
|
+
* This source code is licensed under the MIT license found in the
|
27707
|
+
* LICENSE file in the root directory of this source tree.
|
27708
|
+
*/
|
27709
|
+
var factoryWithTypeCheckers;
|
27710
|
+
var hasRequiredFactoryWithTypeCheckers;
|
27711
|
+
function requireFactoryWithTypeCheckers() {
|
27712
|
+
if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;
|
27713
|
+
hasRequiredFactoryWithTypeCheckers = 1;
|
27714
|
+
var ReactIs = requireReactIs();
|
27715
|
+
var assign = requireObjectAssign();
|
27716
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27717
|
+
var has = /*@__PURE__*/requireHas();
|
27718
|
+
var checkPropTypes = /*@__PURE__*/requireCheckPropTypes();
|
27719
|
+
var printWarning = function () {};
|
27720
|
+
if (process.env.NODE_ENV !== 'production') {
|
27721
|
+
printWarning = function (text) {
|
27722
|
+
var message = 'Warning: ' + text;
|
27723
|
+
if (typeof console !== 'undefined') {
|
27724
|
+
console.error(message);
|
27725
|
+
}
|
27726
|
+
try {
|
27727
|
+
// --- Welcome to debugging React ---
|
27728
|
+
// This error was thrown as a convenience so that you can use this stack
|
27729
|
+
// to find the callsite that caused this warning to fire.
|
27730
|
+
throw new Error(message);
|
27731
|
+
} catch (x) {}
|
27732
|
+
};
|
27733
|
+
}
|
27734
|
+
function emptyFunctionThatReturnsNull() {
|
27735
|
+
return null;
|
27736
|
+
}
|
27737
|
+
factoryWithTypeCheckers = function (isValidElement, throwOnDirectAccess) {
|
27738
|
+
/* global Symbol */
|
27739
|
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
27740
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
27741
|
+
|
27742
|
+
/**
|
27743
|
+
* Returns the iterator method function contained on the iterable object.
|
27744
|
+
*
|
27257
27745
|
* Be sure to invoke the function with the iterable as context:
|
27258
27746
|
*
|
27259
27747
|
* var iteratorFn = getIteratorFn(myIterable);
|
@@ -27325,6 +27813,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27325
27813
|
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
27326
27814
|
var ReactPropTypes = {
|
27327
27815
|
array: createPrimitiveTypeChecker('array'),
|
27816
|
+
bigint: createPrimitiveTypeChecker('bigint'),
|
27328
27817
|
bool: createPrimitiveTypeChecker('boolean'),
|
27329
27818
|
func: createPrimitiveTypeChecker('function'),
|
27330
27819
|
number: createPrimitiveTypeChecker('number'),
|
@@ -27334,6 +27823,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27334
27823
|
any: createAnyTypeChecker(),
|
27335
27824
|
arrayOf: createArrayOfTypeChecker,
|
27336
27825
|
element: createElementTypeChecker(),
|
27826
|
+
elementType: createElementTypeTypeChecker(),
|
27337
27827
|
instanceOf: createInstanceTypeChecker,
|
27338
27828
|
node: createNodeChecker(),
|
27339
27829
|
objectOf: createObjectOfTypeChecker,
|
@@ -27368,8 +27858,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27368
27858
|
* is prohibitively expensive if they are created too often, such as what
|
27369
27859
|
* happens in oneOfType() for any type before the one that matched.
|
27370
27860
|
*/
|
27371
|
-
function PropTypeError(message) {
|
27861
|
+
function PropTypeError(message, data) {
|
27372
27862
|
this.message = message;
|
27863
|
+
this.data = data && typeof data === 'object' ? data : {};
|
27373
27864
|
this.stack = '';
|
27374
27865
|
}
|
27375
27866
|
// Make `instanceof Error` still work for returned errors.
|
@@ -27425,7 +27916,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27425
27916
|
// check, but we can offer a more precise error message here rather than
|
27426
27917
|
// 'of type `object`'.
|
27427
27918
|
var preciseType = getPreciseType(propValue);
|
27428
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')
|
27919
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {
|
27920
|
+
expectedType: expectedType
|
27921
|
+
});
|
27429
27922
|
}
|
27430
27923
|
return null;
|
27431
27924
|
}
|
@@ -27465,6 +27958,17 @@ function requireFactoryWithTypeCheckers() {
|
|
27465
27958
|
}
|
27466
27959
|
return createChainableTypeChecker(validate);
|
27467
27960
|
}
|
27961
|
+
function createElementTypeTypeChecker() {
|
27962
|
+
function validate(props, propName, componentName, location, propFullName) {
|
27963
|
+
var propValue = props[propName];
|
27964
|
+
if (!ReactIs.isValidElementType(propValue)) {
|
27965
|
+
var propType = getPropType(propValue);
|
27966
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
|
27967
|
+
}
|
27968
|
+
return null;
|
27969
|
+
}
|
27970
|
+
return createChainableTypeChecker(validate);
|
27971
|
+
}
|
27468
27972
|
function createInstanceTypeChecker(expectedClass) {
|
27469
27973
|
function validate(props, propName, componentName, location, propFullName) {
|
27470
27974
|
if (!(props[propName] instanceof expectedClass)) {
|
@@ -27478,7 +27982,13 @@ function requireFactoryWithTypeCheckers() {
|
|
27478
27982
|
}
|
27479
27983
|
function createEnumTypeChecker(expectedValues) {
|
27480
27984
|
if (!Array.isArray(expectedValues)) {
|
27481
|
-
process.env.NODE_ENV !== 'production'
|
27985
|
+
if (process.env.NODE_ENV !== 'production') {
|
27986
|
+
if (arguments.length > 1) {
|
27987
|
+
printWarning('Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).');
|
27988
|
+
} else {
|
27989
|
+
printWarning('Invalid argument supplied to oneOf, expected an array.');
|
27990
|
+
}
|
27991
|
+
}
|
27482
27992
|
return emptyFunctionThatReturnsNull;
|
27483
27993
|
}
|
27484
27994
|
function validate(props, propName, componentName, location, propFullName) {
|
@@ -27488,8 +27998,14 @@ function requireFactoryWithTypeCheckers() {
|
|
27488
27998
|
return null;
|
27489
27999
|
}
|
27490
28000
|
}
|
27491
|
-
var valuesString = JSON.stringify(expectedValues)
|
27492
|
-
|
28001
|
+
var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
|
28002
|
+
var type = getPreciseType(value);
|
28003
|
+
if (type === 'symbol') {
|
28004
|
+
return String(value);
|
28005
|
+
}
|
28006
|
+
return value;
|
28007
|
+
});
|
28008
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
27493
28009
|
}
|
27494
28010
|
return createChainableTypeChecker(validate);
|
27495
28011
|
}
|
@@ -27504,7 +28020,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27504
28020
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
27505
28021
|
}
|
27506
28022
|
for (var key in propValue) {
|
27507
|
-
if (propValue
|
28023
|
+
if (has(propValue, key)) {
|
27508
28024
|
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
27509
28025
|
if (error instanceof Error) {
|
27510
28026
|
return error;
|
@@ -27528,13 +28044,19 @@ function requireFactoryWithTypeCheckers() {
|
|
27528
28044
|
}
|
27529
28045
|
}
|
27530
28046
|
function validate(props, propName, componentName, location, propFullName) {
|
28047
|
+
var expectedTypes = [];
|
27531
28048
|
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
27532
28049
|
var checker = arrayOfTypeCheckers[i];
|
27533
|
-
|
28050
|
+
var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
|
28051
|
+
if (checkerResult == null) {
|
27534
28052
|
return null;
|
27535
28053
|
}
|
28054
|
+
if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
|
28055
|
+
expectedTypes.push(checkerResult.data.expectedType);
|
28056
|
+
}
|
27536
28057
|
}
|
27537
|
-
|
28058
|
+
var expectedTypesMessage = expectedTypes.length > 0 ? ', expected one of type [' + expectedTypes.join(', ') + ']' : '';
|
28059
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
|
27538
28060
|
}
|
27539
28061
|
return createChainableTypeChecker(validate);
|
27540
28062
|
}
|
@@ -27547,6 +28069,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27547
28069
|
}
|
27548
28070
|
return createChainableTypeChecker(validate);
|
27549
28071
|
}
|
28072
|
+
function invalidValidatorError(componentName, location, propFullName, key, type) {
|
28073
|
+
return new PropTypeError((componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.');
|
28074
|
+
}
|
27550
28075
|
function createShapeTypeChecker(shapeTypes) {
|
27551
28076
|
function validate(props, propName, componentName, location, propFullName) {
|
27552
28077
|
var propValue = props[propName];
|
@@ -27556,8 +28081,8 @@ function requireFactoryWithTypeCheckers() {
|
|
27556
28081
|
}
|
27557
28082
|
for (var key in shapeTypes) {
|
27558
28083
|
var checker = shapeTypes[key];
|
27559
|
-
if (
|
27560
|
-
|
28084
|
+
if (typeof checker !== 'function') {
|
28085
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
27561
28086
|
}
|
27562
28087
|
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
27563
28088
|
if (error) {
|
@@ -27575,11 +28100,13 @@ function requireFactoryWithTypeCheckers() {
|
|
27575
28100
|
if (propType !== 'object') {
|
27576
28101
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
27577
28102
|
}
|
27578
|
-
// We need to check all keys in case some are required but missing from
|
27579
|
-
// props.
|
28103
|
+
// We need to check all keys in case some are required but missing from props.
|
27580
28104
|
var allKeys = assign({}, props[propName], shapeTypes);
|
27581
28105
|
for (var key in allKeys) {
|
27582
28106
|
var checker = shapeTypes[key];
|
28107
|
+
if (has(shapeTypes, key) && typeof checker !== 'function') {
|
28108
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
28109
|
+
}
|
27583
28110
|
if (!checker) {
|
27584
28111
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' '));
|
27585
28112
|
}
|
@@ -27642,6 +28169,11 @@ function requireFactoryWithTypeCheckers() {
|
|
27642
28169
|
return true;
|
27643
28170
|
}
|
27644
28171
|
|
28172
|
+
// falsy value can't be a Symbol
|
28173
|
+
if (!propValue) {
|
28174
|
+
return false;
|
28175
|
+
}
|
28176
|
+
|
27645
28177
|
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
27646
28178
|
if (propValue['@@toStringTag'] === 'Symbol') {
|
27647
28179
|
return true;
|
@@ -27714,6 +28246,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27714
28246
|
return propValue.constructor.name;
|
27715
28247
|
}
|
27716
28248
|
ReactPropTypes.checkPropTypes = checkPropTypes;
|
28249
|
+
ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
|
27717
28250
|
ReactPropTypes.PropTypes = ReactPropTypes;
|
27718
28251
|
return ReactPropTypes;
|
27719
28252
|
};
|
@@ -27731,8 +28264,10 @@ var hasRequiredFactoryWithThrowingShims;
|
|
27731
28264
|
function requireFactoryWithThrowingShims() {
|
27732
28265
|
if (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;
|
27733
28266
|
hasRequiredFactoryWithThrowingShims = 1;
|
27734
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
28267
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27735
28268
|
function emptyFunction() {}
|
28269
|
+
function emptyFunctionWithReset() {}
|
28270
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
27736
28271
|
factoryWithThrowingShims = function () {
|
27737
28272
|
function shim(props, propName, componentName, location, propFullName, secret) {
|
27738
28273
|
if (secret === ReactPropTypesSecret) {
|
@@ -27751,6 +28286,7 @@ function requireFactoryWithThrowingShims() {
|
|
27751
28286
|
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
27752
28287
|
var ReactPropTypes = {
|
27753
28288
|
array: shim,
|
28289
|
+
bigint: shim,
|
27754
28290
|
bool: shim,
|
27755
28291
|
func: shim,
|
27756
28292
|
number: shim,
|
@@ -27760,15 +28296,17 @@ function requireFactoryWithThrowingShims() {
|
|
27760
28296
|
any: shim,
|
27761
28297
|
arrayOf: getShim,
|
27762
28298
|
element: shim,
|
28299
|
+
elementType: shim,
|
27763
28300
|
instanceOf: getShim,
|
27764
28301
|
node: shim,
|
27765
28302
|
objectOf: getShim,
|
27766
28303
|
oneOf: getShim,
|
27767
28304
|
oneOfType: getShim,
|
27768
28305
|
shape: getShim,
|
27769
|
-
exact: getShim
|
28306
|
+
exact: getShim,
|
28307
|
+
checkPropTypes: emptyFunctionWithReset,
|
28308
|
+
resetWarningCache: emptyFunction
|
27770
28309
|
};
|
27771
|
-
ReactPropTypes.checkPropTypes = emptyFunction;
|
27772
28310
|
ReactPropTypes.PropTypes = ReactPropTypes;
|
27773
28311
|
return ReactPropTypes;
|
27774
28312
|
};
|
@@ -27786,24 +28324,21 @@ function requirePropTypes() {
|
|
27786
28324
|
if (hasRequiredPropTypes) return propTypes.exports;
|
27787
28325
|
hasRequiredPropTypes = 1;
|
27788
28326
|
if (process.env.NODE_ENV !== 'production') {
|
27789
|
-
var
|
27790
|
-
var isValidElement = function (object) {
|
27791
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
27792
|
-
};
|
28327
|
+
var ReactIs = requireReactIs();
|
27793
28328
|
|
27794
28329
|
// By explicitly using `prop-types` you are opting into new development behavior.
|
27795
28330
|
// http://fb.me/prop-types-in-prod
|
27796
28331
|
var throwOnDirectAccess = true;
|
27797
|
-
propTypes.exports = requireFactoryWithTypeCheckers()(
|
28332
|
+
propTypes.exports = /*@__PURE__*/requireFactoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
|
27798
28333
|
} else {
|
27799
28334
|
// By explicitly using `prop-types` you are opting into new production behavior.
|
27800
28335
|
// http://fb.me/prop-types-in-prod
|
27801
|
-
propTypes.exports = requireFactoryWithThrowingShims()();
|
28336
|
+
propTypes.exports = /*@__PURE__*/requireFactoryWithThrowingShims()();
|
27802
28337
|
}
|
27803
28338
|
return propTypes.exports;
|
27804
28339
|
}
|
27805
28340
|
|
27806
|
-
var propTypesExports = requirePropTypes();
|
28341
|
+
var propTypesExports = /*@__PURE__*/ requirePropTypes();
|
27807
28342
|
var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
|
27808
28343
|
|
27809
28344
|
var _excluded = ["sitekey", "onChange", "theme", "type", "tabindex", "onExpired", "onErrored", "size", "stoken", "grecaptcha", "badge", "hl", "isolated"];
|
@@ -28024,316 +28559,6 @@ ReCAPTCHA.defaultProps = {
|
|
28024
28559
|
badge: "bottomright"
|
28025
28560
|
};
|
28026
28561
|
|
28027
|
-
var reactIs = {exports: {}};
|
28028
|
-
|
28029
|
-
var reactIs_production_min = {};
|
28030
|
-
|
28031
|
-
/** @license React v16.13.1
|
28032
|
-
* react-is.production.min.js
|
28033
|
-
*
|
28034
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
28035
|
-
*
|
28036
|
-
* This source code is licensed under the MIT license found in the
|
28037
|
-
* LICENSE file in the root directory of this source tree.
|
28038
|
-
*/
|
28039
|
-
var hasRequiredReactIs_production_min;
|
28040
|
-
function requireReactIs_production_min() {
|
28041
|
-
if (hasRequiredReactIs_production_min) return reactIs_production_min;
|
28042
|
-
hasRequiredReactIs_production_min = 1;
|
28043
|
-
var b = "function" === typeof Symbol && Symbol.for,
|
28044
|
-
c = b ? Symbol.for("react.element") : 60103,
|
28045
|
-
d = b ? Symbol.for("react.portal") : 60106,
|
28046
|
-
e = b ? Symbol.for("react.fragment") : 60107,
|
28047
|
-
f = b ? Symbol.for("react.strict_mode") : 60108,
|
28048
|
-
g = b ? Symbol.for("react.profiler") : 60114,
|
28049
|
-
h = b ? Symbol.for("react.provider") : 60109,
|
28050
|
-
k = b ? Symbol.for("react.context") : 60110,
|
28051
|
-
l = b ? Symbol.for("react.async_mode") : 60111,
|
28052
|
-
m = b ? Symbol.for("react.concurrent_mode") : 60111,
|
28053
|
-
n = b ? Symbol.for("react.forward_ref") : 60112,
|
28054
|
-
p = b ? Symbol.for("react.suspense") : 60113,
|
28055
|
-
q = b ? Symbol.for("react.suspense_list") : 60120,
|
28056
|
-
r = b ? Symbol.for("react.memo") : 60115,
|
28057
|
-
t = b ? Symbol.for("react.lazy") : 60116,
|
28058
|
-
v = b ? Symbol.for("react.block") : 60121,
|
28059
|
-
w = b ? Symbol.for("react.fundamental") : 60117,
|
28060
|
-
x = b ? Symbol.for("react.responder") : 60118,
|
28061
|
-
y = b ? Symbol.for("react.scope") : 60119;
|
28062
|
-
function z(a) {
|
28063
|
-
if ("object" === typeof a && null !== a) {
|
28064
|
-
var u = a.$$typeof;
|
28065
|
-
switch (u) {
|
28066
|
-
case c:
|
28067
|
-
switch (a = a.type, a) {
|
28068
|
-
case l:
|
28069
|
-
case m:
|
28070
|
-
case e:
|
28071
|
-
case g:
|
28072
|
-
case f:
|
28073
|
-
case p:
|
28074
|
-
return a;
|
28075
|
-
default:
|
28076
|
-
switch (a = a && a.$$typeof, a) {
|
28077
|
-
case k:
|
28078
|
-
case n:
|
28079
|
-
case t:
|
28080
|
-
case r:
|
28081
|
-
case h:
|
28082
|
-
return a;
|
28083
|
-
default:
|
28084
|
-
return u;
|
28085
|
-
}
|
28086
|
-
}
|
28087
|
-
case d:
|
28088
|
-
return u;
|
28089
|
-
}
|
28090
|
-
}
|
28091
|
-
}
|
28092
|
-
function A(a) {
|
28093
|
-
return z(a) === m;
|
28094
|
-
}
|
28095
|
-
reactIs_production_min.AsyncMode = l;
|
28096
|
-
reactIs_production_min.ConcurrentMode = m;
|
28097
|
-
reactIs_production_min.ContextConsumer = k;
|
28098
|
-
reactIs_production_min.ContextProvider = h;
|
28099
|
-
reactIs_production_min.Element = c;
|
28100
|
-
reactIs_production_min.ForwardRef = n;
|
28101
|
-
reactIs_production_min.Fragment = e;
|
28102
|
-
reactIs_production_min.Lazy = t;
|
28103
|
-
reactIs_production_min.Memo = r;
|
28104
|
-
reactIs_production_min.Portal = d;
|
28105
|
-
reactIs_production_min.Profiler = g;
|
28106
|
-
reactIs_production_min.StrictMode = f;
|
28107
|
-
reactIs_production_min.Suspense = p;
|
28108
|
-
reactIs_production_min.isAsyncMode = function (a) {
|
28109
|
-
return A(a) || z(a) === l;
|
28110
|
-
};
|
28111
|
-
reactIs_production_min.isConcurrentMode = A;
|
28112
|
-
reactIs_production_min.isContextConsumer = function (a) {
|
28113
|
-
return z(a) === k;
|
28114
|
-
};
|
28115
|
-
reactIs_production_min.isContextProvider = function (a) {
|
28116
|
-
return z(a) === h;
|
28117
|
-
};
|
28118
|
-
reactIs_production_min.isElement = function (a) {
|
28119
|
-
return "object" === typeof a && null !== a && a.$$typeof === c;
|
28120
|
-
};
|
28121
|
-
reactIs_production_min.isForwardRef = function (a) {
|
28122
|
-
return z(a) === n;
|
28123
|
-
};
|
28124
|
-
reactIs_production_min.isFragment = function (a) {
|
28125
|
-
return z(a) === e;
|
28126
|
-
};
|
28127
|
-
reactIs_production_min.isLazy = function (a) {
|
28128
|
-
return z(a) === t;
|
28129
|
-
};
|
28130
|
-
reactIs_production_min.isMemo = function (a) {
|
28131
|
-
return z(a) === r;
|
28132
|
-
};
|
28133
|
-
reactIs_production_min.isPortal = function (a) {
|
28134
|
-
return z(a) === d;
|
28135
|
-
};
|
28136
|
-
reactIs_production_min.isProfiler = function (a) {
|
28137
|
-
return z(a) === g;
|
28138
|
-
};
|
28139
|
-
reactIs_production_min.isStrictMode = function (a) {
|
28140
|
-
return z(a) === f;
|
28141
|
-
};
|
28142
|
-
reactIs_production_min.isSuspense = function (a) {
|
28143
|
-
return z(a) === p;
|
28144
|
-
};
|
28145
|
-
reactIs_production_min.isValidElementType = function (a) {
|
28146
|
-
return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
|
28147
|
-
};
|
28148
|
-
reactIs_production_min.typeOf = z;
|
28149
|
-
return reactIs_production_min;
|
28150
|
-
}
|
28151
|
-
|
28152
|
-
var reactIs_development = {};
|
28153
|
-
|
28154
|
-
/** @license React v16.13.1
|
28155
|
-
* react-is.development.js
|
28156
|
-
*
|
28157
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
28158
|
-
*
|
28159
|
-
* This source code is licensed under the MIT license found in the
|
28160
|
-
* LICENSE file in the root directory of this source tree.
|
28161
|
-
*/
|
28162
|
-
var hasRequiredReactIs_development;
|
28163
|
-
function requireReactIs_development() {
|
28164
|
-
if (hasRequiredReactIs_development) return reactIs_development;
|
28165
|
-
hasRequiredReactIs_development = 1;
|
28166
|
-
if (process.env.NODE_ENV !== "production") {
|
28167
|
-
(function () {
|
28168
|
-
|
28169
|
-
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
28170
|
-
// nor polyfill, then a plain number is used for performance.
|
28171
|
-
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
28172
|
-
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
28173
|
-
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
28174
|
-
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
28175
|
-
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
28176
|
-
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
28177
|
-
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
28178
|
-
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
28179
|
-
// (unstable) APIs that have been removed. Can we remove the symbols?
|
28180
|
-
|
28181
|
-
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
28182
|
-
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
28183
|
-
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
28184
|
-
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
28185
|
-
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
28186
|
-
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
28187
|
-
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
28188
|
-
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
28189
|
-
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
28190
|
-
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
28191
|
-
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
28192
|
-
function isValidElementType(type) {
|
28193
|
-
return typeof type === 'string' || typeof type === 'function' ||
|
28194
|
-
// Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
28195
|
-
type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
|
28196
|
-
}
|
28197
|
-
function typeOf(object) {
|
28198
|
-
if (typeof object === 'object' && object !== null) {
|
28199
|
-
var $$typeof = object.$$typeof;
|
28200
|
-
switch ($$typeof) {
|
28201
|
-
case REACT_ELEMENT_TYPE:
|
28202
|
-
var type = object.type;
|
28203
|
-
switch (type) {
|
28204
|
-
case REACT_ASYNC_MODE_TYPE:
|
28205
|
-
case REACT_CONCURRENT_MODE_TYPE:
|
28206
|
-
case REACT_FRAGMENT_TYPE:
|
28207
|
-
case REACT_PROFILER_TYPE:
|
28208
|
-
case REACT_STRICT_MODE_TYPE:
|
28209
|
-
case REACT_SUSPENSE_TYPE:
|
28210
|
-
return type;
|
28211
|
-
default:
|
28212
|
-
var $$typeofType = type && type.$$typeof;
|
28213
|
-
switch ($$typeofType) {
|
28214
|
-
case REACT_CONTEXT_TYPE:
|
28215
|
-
case REACT_FORWARD_REF_TYPE:
|
28216
|
-
case REACT_LAZY_TYPE:
|
28217
|
-
case REACT_MEMO_TYPE:
|
28218
|
-
case REACT_PROVIDER_TYPE:
|
28219
|
-
return $$typeofType;
|
28220
|
-
default:
|
28221
|
-
return $$typeof;
|
28222
|
-
}
|
28223
|
-
}
|
28224
|
-
case REACT_PORTAL_TYPE:
|
28225
|
-
return $$typeof;
|
28226
|
-
}
|
28227
|
-
}
|
28228
|
-
return undefined;
|
28229
|
-
} // AsyncMode is deprecated along with isAsyncMode
|
28230
|
-
|
28231
|
-
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
28232
|
-
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
28233
|
-
var ContextConsumer = REACT_CONTEXT_TYPE;
|
28234
|
-
var ContextProvider = REACT_PROVIDER_TYPE;
|
28235
|
-
var Element = REACT_ELEMENT_TYPE;
|
28236
|
-
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
28237
|
-
var Fragment = REACT_FRAGMENT_TYPE;
|
28238
|
-
var Lazy = REACT_LAZY_TYPE;
|
28239
|
-
var Memo = REACT_MEMO_TYPE;
|
28240
|
-
var Portal = REACT_PORTAL_TYPE;
|
28241
|
-
var Profiler = REACT_PROFILER_TYPE;
|
28242
|
-
var StrictMode = REACT_STRICT_MODE_TYPE;
|
28243
|
-
var Suspense = REACT_SUSPENSE_TYPE;
|
28244
|
-
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
28245
|
-
|
28246
|
-
function isAsyncMode(object) {
|
28247
|
-
{
|
28248
|
-
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
28249
|
-
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
28250
|
-
|
28251
|
-
console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
|
28252
|
-
}
|
28253
|
-
}
|
28254
|
-
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
28255
|
-
}
|
28256
|
-
function isConcurrentMode(object) {
|
28257
|
-
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
28258
|
-
}
|
28259
|
-
function isContextConsumer(object) {
|
28260
|
-
return typeOf(object) === REACT_CONTEXT_TYPE;
|
28261
|
-
}
|
28262
|
-
function isContextProvider(object) {
|
28263
|
-
return typeOf(object) === REACT_PROVIDER_TYPE;
|
28264
|
-
}
|
28265
|
-
function isElement(object) {
|
28266
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
28267
|
-
}
|
28268
|
-
function isForwardRef(object) {
|
28269
|
-
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
28270
|
-
}
|
28271
|
-
function isFragment(object) {
|
28272
|
-
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
28273
|
-
}
|
28274
|
-
function isLazy(object) {
|
28275
|
-
return typeOf(object) === REACT_LAZY_TYPE;
|
28276
|
-
}
|
28277
|
-
function isMemo(object) {
|
28278
|
-
return typeOf(object) === REACT_MEMO_TYPE;
|
28279
|
-
}
|
28280
|
-
function isPortal(object) {
|
28281
|
-
return typeOf(object) === REACT_PORTAL_TYPE;
|
28282
|
-
}
|
28283
|
-
function isProfiler(object) {
|
28284
|
-
return typeOf(object) === REACT_PROFILER_TYPE;
|
28285
|
-
}
|
28286
|
-
function isStrictMode(object) {
|
28287
|
-
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
28288
|
-
}
|
28289
|
-
function isSuspense(object) {
|
28290
|
-
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
28291
|
-
}
|
28292
|
-
reactIs_development.AsyncMode = AsyncMode;
|
28293
|
-
reactIs_development.ConcurrentMode = ConcurrentMode;
|
28294
|
-
reactIs_development.ContextConsumer = ContextConsumer;
|
28295
|
-
reactIs_development.ContextProvider = ContextProvider;
|
28296
|
-
reactIs_development.Element = Element;
|
28297
|
-
reactIs_development.ForwardRef = ForwardRef;
|
28298
|
-
reactIs_development.Fragment = Fragment;
|
28299
|
-
reactIs_development.Lazy = Lazy;
|
28300
|
-
reactIs_development.Memo = Memo;
|
28301
|
-
reactIs_development.Portal = Portal;
|
28302
|
-
reactIs_development.Profiler = Profiler;
|
28303
|
-
reactIs_development.StrictMode = StrictMode;
|
28304
|
-
reactIs_development.Suspense = Suspense;
|
28305
|
-
reactIs_development.isAsyncMode = isAsyncMode;
|
28306
|
-
reactIs_development.isConcurrentMode = isConcurrentMode;
|
28307
|
-
reactIs_development.isContextConsumer = isContextConsumer;
|
28308
|
-
reactIs_development.isContextProvider = isContextProvider;
|
28309
|
-
reactIs_development.isElement = isElement;
|
28310
|
-
reactIs_development.isForwardRef = isForwardRef;
|
28311
|
-
reactIs_development.isFragment = isFragment;
|
28312
|
-
reactIs_development.isLazy = isLazy;
|
28313
|
-
reactIs_development.isMemo = isMemo;
|
28314
|
-
reactIs_development.isPortal = isPortal;
|
28315
|
-
reactIs_development.isProfiler = isProfiler;
|
28316
|
-
reactIs_development.isStrictMode = isStrictMode;
|
28317
|
-
reactIs_development.isSuspense = isSuspense;
|
28318
|
-
reactIs_development.isValidElementType = isValidElementType;
|
28319
|
-
reactIs_development.typeOf = typeOf;
|
28320
|
-
})();
|
28321
|
-
}
|
28322
|
-
return reactIs_development;
|
28323
|
-
}
|
28324
|
-
|
28325
|
-
var hasRequiredReactIs;
|
28326
|
-
function requireReactIs() {
|
28327
|
-
if (hasRequiredReactIs) return reactIs.exports;
|
28328
|
-
hasRequiredReactIs = 1;
|
28329
|
-
if (process.env.NODE_ENV === 'production') {
|
28330
|
-
reactIs.exports = requireReactIs_production_min();
|
28331
|
-
} else {
|
28332
|
-
reactIs.exports = requireReactIs_development();
|
28333
|
-
}
|
28334
|
-
return reactIs.exports;
|
28335
|
-
}
|
28336
|
-
|
28337
28562
|
var hoistNonReactStatics_cjs;
|
28338
28563
|
var hasRequiredHoistNonReactStatics_cjs;
|
28339
28564
|
function requireHoistNonReactStatics_cjs() {
|
@@ -28682,6 +28907,8 @@ var RecaptchaWrapper = makeAsyncScript(getURL, {
|
|
28682
28907
|
var css_248z$B = ".ff-recaptcha-wrapper {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.ff-recaptcha-wrapper .ff-recaptcha-error {\n color: var(--input-error-text-color);\n font-size: 12px;\n margin-top: 4px;\n}";
|
28683
28908
|
styleInject(css_248z$B);
|
28684
28909
|
|
28910
|
+
// Extend the props to include React.RefAttributes
|
28911
|
+
const FixedReCAPTCHA = RecaptchaWrapper;
|
28685
28912
|
const Recaptcha = /*#__PURE__*/forwardRef(({
|
28686
28913
|
onVerify,
|
28687
28914
|
className = '',
|
@@ -28701,7 +28928,7 @@ const Recaptcha = /*#__PURE__*/forwardRef(({
|
|
28701
28928
|
const error = externalError || internalError;
|
28702
28929
|
return jsxs("div", {
|
28703
28930
|
className: classNames('ff-recaptcha-wrapper', className),
|
28704
|
-
children: [jsx(
|
28931
|
+
children: [jsx(FixedReCAPTCHA, {
|
28705
28932
|
ref: ref,
|
28706
28933
|
sitekey: sitekey,
|
28707
28934
|
onChange: handleChange,
|
@@ -33198,7 +33425,7 @@ var scheduler = {exports: {}};
|
|
33198
33425
|
|
33199
33426
|
var scheduler_production_min = {};
|
33200
33427
|
|
33201
|
-
/** @license React v0.19.
|
33428
|
+
/** @license React v0.19.1
|
33202
33429
|
* scheduler.production.min.js
|
33203
33430
|
*
|
33204
33431
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
@@ -33500,7 +33727,7 @@ function requireScheduler_production_min() {
|
|
33500
33727
|
|
33501
33728
|
var scheduler_development = {};
|
33502
33729
|
|
33503
|
-
/** @license React v0.19.
|
33730
|
+
/** @license React v0.19.1
|
33504
33731
|
* scheduler.development.js
|
33505
33732
|
*
|
33506
33733
|
* Copyright (c) Facebook, Inc. and its affiliates.
|