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.js
CHANGED
@@ -6492,13 +6492,14 @@ var isWeb = typeof window !== 'undefined' &&
|
|
6492
6492
|
function cloneObject(data) {
|
6493
6493
|
let copy;
|
6494
6494
|
const isArray = Array.isArray(data);
|
6495
|
+
const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;
|
6495
6496
|
if (data instanceof Date) {
|
6496
6497
|
copy = new Date(data);
|
6497
6498
|
}
|
6498
6499
|
else if (data instanceof Set) {
|
6499
6500
|
copy = new Set(data);
|
6500
6501
|
}
|
6501
|
-
else if (!(isWeb && (data instanceof Blob ||
|
6502
|
+
else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
|
6502
6503
|
(isArray || isObject$2(data))) {
|
6503
6504
|
copy = isArray ? [] : {};
|
6504
6505
|
if (!isArray && !isPlainObject(data)) {
|
@@ -6557,7 +6558,7 @@ var set$1 = (object, path, value) => {
|
|
6557
6558
|
? []
|
6558
6559
|
: {};
|
6559
6560
|
}
|
6560
|
-
if (key === '__proto__') {
|
6561
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
6561
6562
|
return;
|
6562
6563
|
}
|
6563
6564
|
object[key] = newValue;
|
@@ -6776,7 +6777,7 @@ function useFormState(props) {
|
|
6776
6777
|
_mounted.current = false;
|
6777
6778
|
};
|
6778
6779
|
}, [control]);
|
6779
|
-
return getProxyFormState(formState, control, _localProxyFormState.current, false);
|
6780
|
+
return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
|
6780
6781
|
}
|
6781
6782
|
|
6782
6783
|
var isString = (value) => typeof value === 'string';
|
@@ -6872,6 +6873,67 @@ function useController(props) {
|
|
6872
6873
|
value,
|
6873
6874
|
...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
|
6874
6875
|
}));
|
6876
|
+
const fieldState = React.useMemo(() => Object.defineProperties({}, {
|
6877
|
+
invalid: {
|
6878
|
+
enumerable: true,
|
6879
|
+
get: () => !!get$1(formState.errors, name),
|
6880
|
+
},
|
6881
|
+
isDirty: {
|
6882
|
+
enumerable: true,
|
6883
|
+
get: () => !!get$1(formState.dirtyFields, name),
|
6884
|
+
},
|
6885
|
+
isTouched: {
|
6886
|
+
enumerable: true,
|
6887
|
+
get: () => !!get$1(formState.touchedFields, name),
|
6888
|
+
},
|
6889
|
+
isValidating: {
|
6890
|
+
enumerable: true,
|
6891
|
+
get: () => !!get$1(formState.validatingFields, name),
|
6892
|
+
},
|
6893
|
+
error: {
|
6894
|
+
enumerable: true,
|
6895
|
+
get: () => get$1(formState.errors, name),
|
6896
|
+
},
|
6897
|
+
}), [formState, name]);
|
6898
|
+
const field = React.useMemo(() => ({
|
6899
|
+
name,
|
6900
|
+
value,
|
6901
|
+
...(isBoolean(disabled) || formState.disabled
|
6902
|
+
? { disabled: formState.disabled || disabled }
|
6903
|
+
: {}),
|
6904
|
+
onChange: (event) => _registerProps.current.onChange({
|
6905
|
+
target: {
|
6906
|
+
value: getEventValue(event),
|
6907
|
+
name: name,
|
6908
|
+
},
|
6909
|
+
type: EVENTS.CHANGE,
|
6910
|
+
}),
|
6911
|
+
onBlur: () => _registerProps.current.onBlur({
|
6912
|
+
target: {
|
6913
|
+
value: get$1(control._formValues, name),
|
6914
|
+
name: name,
|
6915
|
+
},
|
6916
|
+
type: EVENTS.BLUR,
|
6917
|
+
}),
|
6918
|
+
ref: (elm) => {
|
6919
|
+
const field = get$1(control._fields, name);
|
6920
|
+
if (field && elm) {
|
6921
|
+
field._f.ref = {
|
6922
|
+
focus: () => elm.focus(),
|
6923
|
+
select: () => elm.select(),
|
6924
|
+
setCustomValidity: (message) => elm.setCustomValidity(message),
|
6925
|
+
reportValidity: () => elm.reportValidity(),
|
6926
|
+
};
|
6927
|
+
}
|
6928
|
+
},
|
6929
|
+
}), [
|
6930
|
+
name,
|
6931
|
+
control._formValues,
|
6932
|
+
disabled,
|
6933
|
+
formState.disabled,
|
6934
|
+
value,
|
6935
|
+
control._fields,
|
6936
|
+
]);
|
6875
6937
|
React.useEffect(() => {
|
6876
6938
|
const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
|
6877
6939
|
const updateMounted = (name, value) => {
|
@@ -6897,7 +6959,7 @@ function useController(props) {
|
|
6897
6959
|
};
|
6898
6960
|
}, [name, control, isArrayField, shouldUnregister]);
|
6899
6961
|
React.useEffect(() => {
|
6900
|
-
if (get$1(control._fields, name)) {
|
6962
|
+
if (isBoolean(disabled) && get$1(control._fields, name)) {
|
6901
6963
|
control._updateDisabledField({
|
6902
6964
|
disabled,
|
6903
6965
|
fields: control._fields,
|
@@ -6906,63 +6968,11 @@ function useController(props) {
|
|
6906
6968
|
});
|
6907
6969
|
}
|
6908
6970
|
}, [disabled, name, control]);
|
6909
|
-
return {
|
6910
|
-
field
|
6911
|
-
name,
|
6912
|
-
value,
|
6913
|
-
...(isBoolean(disabled) || formState.disabled
|
6914
|
-
? { disabled: formState.disabled || disabled }
|
6915
|
-
: {}),
|
6916
|
-
onChange: React.useCallback((event) => _registerProps.current.onChange({
|
6917
|
-
target: {
|
6918
|
-
value: getEventValue(event),
|
6919
|
-
name: name,
|
6920
|
-
},
|
6921
|
-
type: EVENTS.CHANGE,
|
6922
|
-
}), [name]),
|
6923
|
-
onBlur: React.useCallback(() => _registerProps.current.onBlur({
|
6924
|
-
target: {
|
6925
|
-
value: get$1(control._formValues, name),
|
6926
|
-
name: name,
|
6927
|
-
},
|
6928
|
-
type: EVENTS.BLUR,
|
6929
|
-
}), [name, control]),
|
6930
|
-
ref: React.useCallback((elm) => {
|
6931
|
-
const field = get$1(control._fields, name);
|
6932
|
-
if (field && elm) {
|
6933
|
-
field._f.ref = {
|
6934
|
-
focus: () => elm.focus(),
|
6935
|
-
select: () => elm.select(),
|
6936
|
-
setCustomValidity: (message) => elm.setCustomValidity(message),
|
6937
|
-
reportValidity: () => elm.reportValidity(),
|
6938
|
-
};
|
6939
|
-
}
|
6940
|
-
}, [control._fields, name]),
|
6941
|
-
},
|
6971
|
+
return React.useMemo(() => ({
|
6972
|
+
field,
|
6942
6973
|
formState,
|
6943
|
-
fieldState
|
6944
|
-
|
6945
|
-
enumerable: true,
|
6946
|
-
get: () => !!get$1(formState.errors, name),
|
6947
|
-
},
|
6948
|
-
isDirty: {
|
6949
|
-
enumerable: true,
|
6950
|
-
get: () => !!get$1(formState.dirtyFields, name),
|
6951
|
-
},
|
6952
|
-
isTouched: {
|
6953
|
-
enumerable: true,
|
6954
|
-
get: () => !!get$1(formState.touchedFields, name),
|
6955
|
-
},
|
6956
|
-
isValidating: {
|
6957
|
-
enumerable: true,
|
6958
|
-
get: () => !!get$1(formState.validatingFields, name),
|
6959
|
-
},
|
6960
|
-
error: {
|
6961
|
-
enumerable: true,
|
6962
|
-
get: () => get$1(formState.errors, name),
|
6963
|
-
},
|
6964
|
-
}),
|
6965
|
-
};
|
6974
|
+
fieldState,
|
6975
|
+
}), [field, formState, fieldState]);
|
6966
6976
|
}
|
6967
6977
|
|
6968
6978
|
/**
|
@@ -7012,7 +7022,7 @@ const Controller = (props) => props.render(useController(props));
|
|
7012
7022
|
const flatten = (obj) => {
|
7013
7023
|
const output = {};
|
7014
7024
|
for (const key of Object.keys(obj)) {
|
7015
|
-
if (isObjectType(obj[key])) {
|
7025
|
+
if (isObjectType(obj[key]) && obj[key] !== null) {
|
7016
7026
|
const nested = flatten(obj[key]);
|
7017
7027
|
for (const nestedKey of Object.keys(nested)) {
|
7018
7028
|
output[`${key}.${nestedKey}`] = nested[nestedKey];
|
@@ -7081,7 +7091,7 @@ function Form(props) {
|
|
7081
7091
|
headers && headers['Content-Type'],
|
7082
7092
|
encType,
|
7083
7093
|
].some((value) => value && value.includes('json'));
|
7084
|
-
const response = await fetch(action, {
|
7094
|
+
const response = await fetch(String(action), {
|
7085
7095
|
method,
|
7086
7096
|
headers: {
|
7087
7097
|
...headers,
|
@@ -7579,7 +7589,7 @@ var updateAt = (fieldValues, index, value) => {
|
|
7579
7589
|
*/
|
7580
7590
|
function useFieldArray(props) {
|
7581
7591
|
const methods = useFormContext();
|
7582
|
-
const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;
|
7592
|
+
const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;
|
7583
7593
|
const [fields, setFields] = React.useState(control._getFieldArray(name));
|
7584
7594
|
const ids = React.useRef(control._getFieldArray(name).map(generateId));
|
7585
7595
|
const _fieldIds = React.useRef(fields);
|
@@ -7588,8 +7598,8 @@ function useFieldArray(props) {
|
|
7588
7598
|
_name.current = name;
|
7589
7599
|
_fieldIds.current = fields;
|
7590
7600
|
control._names.array.add(name);
|
7591
|
-
|
7592
|
-
control.register(name,
|
7601
|
+
rules &&
|
7602
|
+
control.register(name, rules);
|
7593
7603
|
useSubscribe({
|
7594
7604
|
next: ({ values, name: fieldArrayName, }) => {
|
7595
7605
|
if (fieldArrayName === _name.current || !fieldArrayName) {
|
@@ -7633,6 +7643,8 @@ function useFieldArray(props) {
|
|
7633
7643
|
ids.current = removeArrayAt(ids.current, index);
|
7634
7644
|
updateValues(updatedFieldArrayValues);
|
7635
7645
|
setFields(updatedFieldArrayValues);
|
7646
|
+
!Array.isArray(get$1(control._fields, name)) &&
|
7647
|
+
set$1(control._fields, name, undefined);
|
7636
7648
|
control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {
|
7637
7649
|
argA: index,
|
7638
7650
|
});
|
@@ -7947,7 +7959,8 @@ var getRuleValue = (rule) => isUndefined(rule)
|
|
7947
7959
|
: rule;
|
7948
7960
|
|
7949
7961
|
const ASYNC_FUNCTION = 'AsyncFunction';
|
7950
|
-
var hasPromiseValidation = (fieldReference) =>
|
7962
|
+
var hasPromiseValidation = (fieldReference) => !!fieldReference &&
|
7963
|
+
!!fieldReference.validate &&
|
7951
7964
|
!!((isFunction$1(fieldReference.validate) &&
|
7952
7965
|
fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||
|
7953
7966
|
(isObject$2(fieldReference.validate) &&
|
@@ -8209,9 +8222,9 @@ function createFormControl(props = {}) {
|
|
8209
8222
|
const shouldUpdateValid = _proxyFormState.isValid &&
|
8210
8223
|
isBoolean(isValid) &&
|
8211
8224
|
_formState.isValid !== isValid;
|
8212
|
-
if (
|
8225
|
+
if (_options.delayError && error) {
|
8213
8226
|
delayErrorCallback = debounce(() => updateErrors(name, error));
|
8214
|
-
delayErrorCallback(
|
8227
|
+
delayErrorCallback(_options.delayError);
|
8215
8228
|
}
|
8216
8229
|
else {
|
8217
8230
|
clearTimeout(timer);
|
@@ -8316,7 +8329,7 @@ function createFormControl(props = {}) {
|
|
8316
8329
|
? { [names]: defaultValue }
|
8317
8330
|
: defaultValue),
|
8318
8331
|
}, isGlobal, defaultValue);
|
8319
|
-
const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name,
|
8332
|
+
const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get$1(_defaultValues, name, []) : []));
|
8320
8333
|
const setFieldValue = (name, value, options = {}) => {
|
8321
8334
|
const field = get$1(_fields, name);
|
8322
8335
|
let fieldValue = value;
|
@@ -8449,7 +8462,7 @@ function createFormControl(props = {}) {
|
|
8449
8462
|
});
|
8450
8463
|
if (shouldSkipValidation) {
|
8451
8464
|
if (_proxyFormState.isValid) {
|
8452
|
-
if (
|
8465
|
+
if (_options.mode === 'onBlur') {
|
8453
8466
|
if (isBlurEvent) {
|
8454
8467
|
_updateValid();
|
8455
8468
|
}
|
@@ -8614,7 +8627,9 @@ function createFormControl(props = {}) {
|
|
8614
8627
|
: isUndefined(value)
|
8615
8628
|
? getFieldValue(field ? field._f : get$1(fields, name)._f)
|
8616
8629
|
: value;
|
8617
|
-
|
8630
|
+
if (disabled || (!disabled && !isUndefined(inputValue))) {
|
8631
|
+
set$1(_formValues, name, inputValue);
|
8632
|
+
}
|
8618
8633
|
updateTouchAndDirty(name, inputValue, false, false, true);
|
8619
8634
|
}
|
8620
8635
|
};
|
@@ -8843,7 +8858,7 @@ function createFormControl(props = {}) {
|
|
8843
8858
|
}
|
8844
8859
|
_fields = {};
|
8845
8860
|
}
|
8846
|
-
_formValues =
|
8861
|
+
_formValues = _options.shouldUnregister
|
8847
8862
|
? keepStateOptions.keepDefaultValues
|
8848
8863
|
? cloneObject(_defaultValues)
|
8849
8864
|
: {}
|
@@ -8867,7 +8882,7 @@ function createFormControl(props = {}) {
|
|
8867
8882
|
!_proxyFormState.isValid ||
|
8868
8883
|
!!keepStateOptions.keepIsValid ||
|
8869
8884
|
!!keepStateOptions.keepDirtyValues;
|
8870
|
-
_state.watch = !!
|
8885
|
+
_state.watch = !!_options.shouldUnregister;
|
8871
8886
|
_subjects.state.next({
|
8872
8887
|
submitCount: keepStateOptions.keepSubmitCount
|
8873
8888
|
? _formState.submitCount
|
@@ -9038,8 +9053,8 @@ function createFormControl(props = {}) {
|
|
9038
9053
|
* ```
|
9039
9054
|
*/
|
9040
9055
|
function useForm(props = {}) {
|
9041
|
-
const _formControl = React.useRef();
|
9042
|
-
const _values = React.useRef();
|
9056
|
+
const _formControl = React.useRef(undefined);
|
9057
|
+
const _values = React.useRef(undefined);
|
9043
9058
|
const [formState, updateFormState] = React.useState({
|
9044
9059
|
isDirty: false,
|
9045
9060
|
isValidating: false,
|
@@ -12681,21 +12696,21 @@ const longFormatters$1 = {
|
|
12681
12696
|
P: dateTimeLongFormatter$1
|
12682
12697
|
};
|
12683
12698
|
|
12684
|
-
const dayOfYearTokenRE = /^D+$/;
|
12685
|
-
const weekYearTokenRE = /^Y+$/;
|
12686
|
-
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
12699
|
+
const dayOfYearTokenRE$1 = /^D+$/;
|
12700
|
+
const weekYearTokenRE$1 = /^Y+$/;
|
12701
|
+
const throwTokens$1 = ["D", "DD", "YY", "YYYY"];
|
12687
12702
|
function isProtectedDayOfYearToken$1(token) {
|
12688
|
-
return dayOfYearTokenRE.test(token);
|
12703
|
+
return dayOfYearTokenRE$1.test(token);
|
12689
12704
|
}
|
12690
12705
|
function isProtectedWeekYearToken$1(token) {
|
12691
|
-
return weekYearTokenRE.test(token);
|
12706
|
+
return weekYearTokenRE$1.test(token);
|
12692
12707
|
}
|
12693
|
-
function warnOrThrowProtectedError(token, format, input) {
|
12694
|
-
const _message = message(token, format, input);
|
12708
|
+
function warnOrThrowProtectedError$1(token, format, input) {
|
12709
|
+
const _message = message$1(token, format, input);
|
12695
12710
|
console.warn(_message);
|
12696
|
-
if (throwTokens.includes(token)) throw new RangeError(_message);
|
12711
|
+
if (throwTokens$1.includes(token)) throw new RangeError(_message);
|
12697
12712
|
}
|
12698
|
-
function message(token, format, input) {
|
12713
|
+
function message$1(token, format, input) {
|
12699
12714
|
const subject = token[0] === "Y" ? "years" : "days of the month";
|
12700
12715
|
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`;
|
12701
12716
|
}
|
@@ -13067,7 +13082,7 @@ function format$2(date, formatStr, options) {
|
|
13067
13082
|
if (!part.isToken) return part.value;
|
13068
13083
|
const token = part.value;
|
13069
13084
|
if (!options?.useAdditionalWeekYearTokens && isProtectedWeekYearToken$1(token) || !options?.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken$1(token)) {
|
13070
|
-
warnOrThrowProtectedError(token, formatStr, String(date));
|
13085
|
+
warnOrThrowProtectedError$1(token, formatStr, String(date));
|
13071
13086
|
}
|
13072
13087
|
const formatter = formatters$2[token[0]];
|
13073
13088
|
return formatter(originalDate, token, locale.localize, formatterOptions);
|
@@ -13293,6 +13308,53 @@ function setYear(date, year, options) {
|
|
13293
13308
|
return date_;
|
13294
13309
|
}
|
13295
13310
|
|
13311
|
+
const FIVE_WEEKS = 5;
|
13312
|
+
const FOUR_WEEKS = 4;
|
13313
|
+
/**
|
13314
|
+
* Return the number of weeks to display in the broadcast calendar.
|
13315
|
+
*
|
13316
|
+
* @since 9.4.0
|
13317
|
+
*/
|
13318
|
+
function getBroadcastWeeksInMonth(month, dateLib) {
|
13319
|
+
// Get the first day of the month
|
13320
|
+
const firstDayOfMonth = dateLib.startOfMonth(month);
|
13321
|
+
// Get the day of the week for the first day of the month (1-7, where 1 is Monday)
|
13322
|
+
const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;
|
13323
|
+
const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);
|
13324
|
+
const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);
|
13325
|
+
const numberOfWeeks = month.getMonth() === lastDateOfLastWeek.getMonth() ? FIVE_WEEKS : FOUR_WEEKS;
|
13326
|
+
return numberOfWeeks;
|
13327
|
+
}
|
13328
|
+
|
13329
|
+
/**
|
13330
|
+
* Return the start date of the week in the broadcast calendar.
|
13331
|
+
*
|
13332
|
+
* @since 9.4.0
|
13333
|
+
*/
|
13334
|
+
function startOfBroadcastWeek(date, dateLib) {
|
13335
|
+
const firstOfMonth = dateLib.startOfMonth(date);
|
13336
|
+
const dayOfWeek = firstOfMonth.getDay();
|
13337
|
+
if (dayOfWeek === 1) {
|
13338
|
+
return firstOfMonth;
|
13339
|
+
} else if (dayOfWeek === 0) {
|
13340
|
+
return dateLib.addDays(firstOfMonth, -1 * 6);
|
13341
|
+
} else {
|
13342
|
+
return dateLib.addDays(firstOfMonth, -1 * (dayOfWeek - 1));
|
13343
|
+
}
|
13344
|
+
}
|
13345
|
+
|
13346
|
+
/**
|
13347
|
+
* Return the end date of the week in the broadcast calendar.
|
13348
|
+
*
|
13349
|
+
* @since 9.4.0
|
13350
|
+
*/
|
13351
|
+
function endOfBroadcastWeek(date, dateLib) {
|
13352
|
+
const startDate = startOfBroadcastWeek(date, dateLib);
|
13353
|
+
const numberOfWeeks = getBroadcastWeeksInMonth(date, dateLib);
|
13354
|
+
const endDate = dateLib.addDays(startDate, numberOfWeeks * 7 - 1);
|
13355
|
+
return endDate;
|
13356
|
+
}
|
13357
|
+
|
13296
13358
|
/**
|
13297
13359
|
* A wrapper class around [date-fns](http://date-fns.org) sharing the same
|
13298
13360
|
* options. Methods of this class can be overridden using the
|
@@ -13373,6 +13435,15 @@ class DateLib {
|
|
13373
13435
|
this.differenceInCalendarMonths = (dateLeft, dateRight) => {
|
13374
13436
|
return this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
|
13375
13437
|
};
|
13438
|
+
/**
|
13439
|
+
* Returns the end of the broadcast week for the given date.
|
13440
|
+
*
|
13441
|
+
* @param date The original date.
|
13442
|
+
* @returns The end of the broadcast week.
|
13443
|
+
*/
|
13444
|
+
this.endOfBroadcastWeek = date => {
|
13445
|
+
return this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(date, this) : endOfBroadcastWeek(date, this);
|
13446
|
+
};
|
13376
13447
|
/**
|
13377
13448
|
* Returns the end of the ISO week for the given date.
|
13378
13449
|
*
|
@@ -13534,6 +13605,15 @@ class DateLib {
|
|
13534
13605
|
this.setYear = (date, year) => {
|
13535
13606
|
return this.overrides?.setYear ? this.overrides.setYear(date, year) : setYear(date, year);
|
13536
13607
|
};
|
13608
|
+
/**
|
13609
|
+
* Returns the start of the broadcast week for the given date.
|
13610
|
+
*
|
13611
|
+
* @param date The original date.
|
13612
|
+
* @returns The start of the broadcast week.
|
13613
|
+
*/
|
13614
|
+
this.startOfBroadcastWeek = date => {
|
13615
|
+
return this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
|
13616
|
+
};
|
13537
13617
|
/**
|
13538
13618
|
* Returns the start of the day for the given date.
|
13539
13619
|
*
|
@@ -14016,7 +14096,9 @@ function Weekday(props) {
|
|
14016
14096
|
* @see https://daypicker.dev/guides/custom-components
|
14017
14097
|
*/
|
14018
14098
|
function Weekdays(props) {
|
14019
|
-
return /*#__PURE__*/React.createElement("thead",
|
14099
|
+
return /*#__PURE__*/React.createElement("thead", {
|
14100
|
+
"aria-hidden": true
|
14101
|
+
}, /*#__PURE__*/React.createElement("tr", {
|
14020
14102
|
...props
|
14021
14103
|
}));
|
14022
14104
|
}
|
@@ -14119,7 +14201,8 @@ function getDataAttributes(props) {
|
|
14119
14201
|
"data-mode": props.mode ?? undefined,
|
14120
14202
|
"data-required": "required" in props ? props.required : undefined,
|
14121
14203
|
"data-multiple-months": props.numberOfMonths && props.numberOfMonths > 1 || undefined,
|
14122
|
-
"data-week-numbers": props.showWeekNumber || undefined
|
14204
|
+
"data-week-numbers": props.showWeekNumber || undefined,
|
14205
|
+
"data-broadcast-calendar": props.broadcastCalendar || undefined
|
14123
14206
|
};
|
14124
14207
|
Object.entries(props).forEach(([key, val]) => {
|
14125
14208
|
if (key.startsWith("data-")) {
|
@@ -14185,7 +14268,7 @@ function formatDay(date, options, dateLib) {
|
|
14185
14268
|
*/
|
14186
14269
|
function formatMonthDropdown(/** The month number to format. */
|
14187
14270
|
monthNumber, /** The locale to use for formatting. */
|
14188
|
-
locale
|
14271
|
+
locale) {
|
14189
14272
|
return locale.localize?.month(monthNumber);
|
14190
14273
|
}
|
14191
14274
|
|
@@ -14275,13 +14358,12 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
14275
14358
|
if (!navEnd) return undefined;
|
14276
14359
|
const {
|
14277
14360
|
addMonths,
|
14278
|
-
startOfMonth
|
14279
|
-
isBefore
|
14361
|
+
startOfMonth
|
14280
14362
|
} = dateLib;
|
14281
14363
|
const year = displayMonth.getFullYear();
|
14282
14364
|
const months = [];
|
14283
14365
|
let month = navStart;
|
14284
|
-
while (months.length < 12
|
14366
|
+
while (months.length < 12) {
|
14285
14367
|
months.push(month.getMonth());
|
14286
14368
|
month = addMonths(month, 1);
|
14287
14369
|
}
|
@@ -14289,7 +14371,7 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
14289
14371
|
return a - b;
|
14290
14372
|
});
|
14291
14373
|
const options = sortedMonths.map(value => {
|
14292
|
-
const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
|
14374
|
+
const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? enUS$1);
|
14293
14375
|
const month = dateLib.Date ? new dateLib.Date(year, value) : new Date(year, value);
|
14294
14376
|
const disabled = navStart && month < startOfMonth(navStart) || navEnd && month > startOfMonth(navEnd) || false;
|
14295
14377
|
return {
|
@@ -14664,7 +14746,8 @@ function tzName(tz, date) {
|
|
14664
14746
|
*/
|
14665
14747
|
function getWeekdays(/** The date library. */
|
14666
14748
|
dateLib, /** Use ISOWeek instead of locale/ */
|
14667
|
-
ISOWeek, timeZone
|
14749
|
+
ISOWeek, timeZone, /** @since 9.4.0 */
|
14750
|
+
broadcastCalendar) {
|
14668
14751
|
const date = timeZone ? TZDate.tz(timeZone) : dateLib.Date ? new dateLib.Date() : new Date();
|
14669
14752
|
const start = ISOWeek ? dateLib.startOfISOWeek(date) : dateLib.startOfWeek(date);
|
14670
14753
|
const days = [];
|
@@ -14676,20 +14759,18 @@ ISOWeek, timeZone) {
|
|
14676
14759
|
}
|
14677
14760
|
|
14678
14761
|
/** Return the years to show in the dropdown. */
|
14679
|
-
function getYearOptions(
|
14680
|
-
if (!
|
14681
|
-
if (!
|
14762
|
+
function getYearOptions(navStart, navEnd, formatters, dateLib) {
|
14763
|
+
if (!navStart) return undefined;
|
14764
|
+
if (!navEnd) return undefined;
|
14682
14765
|
const {
|
14683
|
-
startOfMonth,
|
14684
14766
|
startOfYear,
|
14685
14767
|
endOfYear,
|
14686
14768
|
addYears,
|
14687
14769
|
isBefore,
|
14688
14770
|
isSameYear
|
14689
14771
|
} = dateLib;
|
14690
|
-
const
|
14691
|
-
const
|
14692
|
-
const lastNavYear = endOfYear(calendarEnd);
|
14772
|
+
const firstNavYear = startOfYear(navStart);
|
14773
|
+
const lastNavYear = endOfYear(navEnd);
|
14693
14774
|
const years = [];
|
14694
14775
|
let year = firstNavYear;
|
14695
14776
|
while (isBefore(year, lastNavYear) || isSameYear(year, lastNavYear)) {
|
@@ -14697,13 +14778,11 @@ function getYearOptions(displayMonth, calendarStart, calendarEnd, formatters, da
|
|
14697
14778
|
year = addYears(year, 1);
|
14698
14779
|
}
|
14699
14780
|
return years.map(value => {
|
14700
|
-
const year = dateLib.Date ? new dateLib.Date(value, month) : new Date(value, month);
|
14701
|
-
const disabled = calendarStart && year < startOfMonth(calendarStart) || month && calendarEnd && year > startOfMonth(calendarEnd) || false;
|
14702
14781
|
const label = formatters.formatYearDropdown(value);
|
14703
14782
|
return {
|
14704
14783
|
value,
|
14705
14784
|
label,
|
14706
|
-
disabled
|
14785
|
+
disabled: false
|
14707
14786
|
};
|
14708
14787
|
});
|
14709
14788
|
}
|
@@ -14867,29 +14946,30 @@ var defaultLabels = /*#__PURE__*/Object.freeze({
|
|
14867
14946
|
labelYearDropdown: labelYearDropdown
|
14868
14947
|
});
|
14869
14948
|
|
14870
|
-
/** The number of days in a month when having 6 weeks. */
|
14871
|
-
const NrOfDaysWithFixedWeeks = 42;
|
14872
14949
|
/** Return all the dates to display in the calendar. */
|
14873
14950
|
function getDates(displayMonths, maxDate, props, dateLib) {
|
14874
14951
|
const firstMonth = displayMonths[0];
|
14875
14952
|
const lastMonth = displayMonths[displayMonths.length - 1];
|
14876
14953
|
const {
|
14877
14954
|
ISOWeek,
|
14878
|
-
fixedWeeks
|
14955
|
+
fixedWeeks,
|
14956
|
+
broadcastCalendar
|
14879
14957
|
} = props ?? {};
|
14880
14958
|
const {
|
14881
|
-
startOfWeek,
|
14882
|
-
endOfWeek,
|
14883
|
-
startOfISOWeek,
|
14884
|
-
endOfISOWeek,
|
14885
14959
|
addDays,
|
14886
14960
|
differenceInCalendarDays,
|
14887
14961
|
differenceInCalendarMonths,
|
14962
|
+
endOfBroadcastWeek,
|
14963
|
+
endOfISOWeek,
|
14964
|
+
endOfMonth,
|
14965
|
+
endOfWeek,
|
14888
14966
|
isAfter,
|
14889
|
-
|
14967
|
+
startOfBroadcastWeek,
|
14968
|
+
startOfISOWeek,
|
14969
|
+
startOfWeek
|
14890
14970
|
} = dateLib;
|
14891
|
-
const startWeekFirstDate = ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14892
|
-
const endWeekLastDate = ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14971
|
+
const startWeekFirstDate = broadcastCalendar ? startOfBroadcastWeek(firstMonth, dateLib) : ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14972
|
+
const endWeekLastDate = broadcastCalendar ? endOfBroadcastWeek(lastMonth, dateLib) : ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14893
14973
|
const nOfDays = differenceInCalendarDays(endWeekLastDate, startWeekFirstDate);
|
14894
14974
|
const nOfMonths = differenceInCalendarMonths(lastMonth, firstMonth) + 1;
|
14895
14975
|
const dates = [];
|
@@ -14901,9 +14981,11 @@ function getDates(displayMonths, maxDate, props, dateLib) {
|
|
14901
14981
|
dates.push(date);
|
14902
14982
|
}
|
14903
14983
|
// If fixed weeks is enabled, add the extra dates to the array
|
14904
|
-
const
|
14984
|
+
const nrOfDaysWithFixedWeeks = broadcastCalendar ? 35 : 42;
|
14985
|
+
const extraDates = nrOfDaysWithFixedWeeks * nOfMonths;
|
14905
14986
|
if (fixedWeeks && dates.length < extraDates) {
|
14906
|
-
|
14987
|
+
const daysToAdd = extraDates - dates.length;
|
14988
|
+
for (let i = 0; i < daysToAdd; i++) {
|
14907
14989
|
const date = addDays(dates[dates.length - 1], 1);
|
14908
14990
|
dates.push(date);
|
14909
14991
|
}
|
@@ -15014,25 +15096,29 @@ displayMonths, /** The dates to display in the calendar. */
|
|
15014
15096
|
dates, /** Options from the props context. */
|
15015
15097
|
props, dateLib) {
|
15016
15098
|
const {
|
15017
|
-
|
15018
|
-
|
15019
|
-
startOfISOWeek,
|
15099
|
+
addDays,
|
15100
|
+
endOfBroadcastWeek,
|
15020
15101
|
endOfISOWeek,
|
15021
15102
|
endOfMonth,
|
15022
|
-
|
15103
|
+
endOfWeek,
|
15104
|
+
getISOWeek,
|
15023
15105
|
getWeek,
|
15024
|
-
|
15106
|
+
startOfBroadcastWeek,
|
15107
|
+
startOfISOWeek,
|
15108
|
+
startOfWeek
|
15025
15109
|
} = dateLib;
|
15026
15110
|
const dayPickerMonths = displayMonths.reduce((months, month) => {
|
15027
|
-
const firstDateOfFirstWeek = props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
15028
|
-
const lastDateOfLastWeek = props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
15111
|
+
const firstDateOfFirstWeek = props.broadcastCalendar ? startOfBroadcastWeek(month, dateLib) : props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
15112
|
+
const lastDateOfLastWeek = props.broadcastCalendar ? endOfBroadcastWeek(month, dateLib) : props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
15029
15113
|
/** The dates to display in the month. */
|
15030
15114
|
const monthDates = dates.filter(date => {
|
15031
15115
|
return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
|
15032
15116
|
});
|
15033
|
-
|
15117
|
+
const nrOfDaysWithFixedWeeks = props.broadcastCalendar ? 35 : 42;
|
15118
|
+
if (props.fixedWeeks && monthDates.length < nrOfDaysWithFixedWeeks) {
|
15034
15119
|
const extraDates = dates.filter(date => {
|
15035
|
-
|
15120
|
+
const daysToAdd = nrOfDaysWithFixedWeeks - monthDates.length;
|
15121
|
+
return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, daysToAdd);
|
15036
15122
|
});
|
15037
15123
|
monthDates.push(...extraDates);
|
15038
15124
|
}
|
@@ -15470,27 +15556,30 @@ function dateMatchModifiers(date, matchers, dateLib = defaultDateLib) {
|
|
15470
15556
|
/** Return the next date that should be focused. */
|
15471
15557
|
function getFocusableDate(moveBy, moveDir, refDate, navStart, navEnd, props, dateLib) {
|
15472
15558
|
const {
|
15473
|
-
ISOWeek
|
15559
|
+
ISOWeek,
|
15560
|
+
broadcastCalendar
|
15474
15561
|
} = props;
|
15475
15562
|
const {
|
15476
15563
|
addDays,
|
15477
15564
|
addMonths,
|
15478
|
-
addYears,
|
15479
15565
|
addWeeks,
|
15480
|
-
|
15566
|
+
addYears,
|
15567
|
+
endOfBroadcastWeek,
|
15481
15568
|
endOfISOWeek,
|
15482
|
-
startOfWeek,
|
15483
15569
|
endOfWeek,
|
15484
15570
|
max,
|
15485
|
-
min
|
15571
|
+
min,
|
15572
|
+
startOfBroadcastWeek,
|
15573
|
+
startOfISOWeek,
|
15574
|
+
startOfWeek
|
15486
15575
|
} = dateLib;
|
15487
15576
|
const moveFns = {
|
15488
15577
|
day: addDays,
|
15489
15578
|
week: addWeeks,
|
15490
15579
|
month: addMonths,
|
15491
15580
|
year: addYears,
|
15492
|
-
startOfWeek: date => ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15493
|
-
endOfWeek: date => ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15581
|
+
startOfWeek: date => broadcastCalendar ? startOfBroadcastWeek(date, dateLib) : ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15582
|
+
endOfWeek: date => broadcastCalendar ? endOfBroadcastWeek(date, dateLib) : ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15494
15583
|
};
|
15495
15584
|
let focusableDate = moveFns[moveBy](refDate, moveDir === "after" ? 1 : -1);
|
15496
15585
|
if (moveDir === "before" && navStart) {
|
@@ -15556,6 +15645,8 @@ function useFocus(props, calendar, getModifiers, isSelected, dateLib) {
|
|
15556
15645
|
/**
|
15557
15646
|
* Return a function to get the modifiers for a given day.
|
15558
15647
|
*
|
15648
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
15649
|
+
*
|
15559
15650
|
* @private
|
15560
15651
|
*/
|
15561
15652
|
function useGetModifiers(days, props, dateLib) {
|
@@ -15564,12 +15655,19 @@ function useGetModifiers(days, props, dateLib) {
|
|
15564
15655
|
hidden,
|
15565
15656
|
modifiers,
|
15566
15657
|
showOutsideDays,
|
15658
|
+
broadcastCalendar,
|
15567
15659
|
today
|
15568
15660
|
} = props;
|
15569
15661
|
const {
|
15570
15662
|
isSameDay,
|
15571
|
-
isSameMonth
|
15663
|
+
isSameMonth,
|
15664
|
+
startOfMonth,
|
15665
|
+
isBefore,
|
15666
|
+
endOfMonth,
|
15667
|
+
isAfter
|
15572
15668
|
} = dateLib;
|
15669
|
+
const startMonth = props.startMonth && startOfMonth(props.startMonth);
|
15670
|
+
const endMonth = props.endMonth && endOfMonth(props.endMonth);
|
15573
15671
|
const internalModifiersMap = {
|
15574
15672
|
[DayFlag.focused]: [],
|
15575
15673
|
[DayFlag.outside]: [],
|
@@ -15578,20 +15676,18 @@ function useGetModifiers(days, props, dateLib) {
|
|
15578
15676
|
[DayFlag.today]: []
|
15579
15677
|
};
|
15580
15678
|
const customModifiersMap = {};
|
15581
|
-
const selectionModifiersMap = {
|
15582
|
-
[SelectionState.range_end]: [],
|
15583
|
-
[SelectionState.range_middle]: [],
|
15584
|
-
[SelectionState.range_start]: [],
|
15585
|
-
[SelectionState.selected]: []
|
15586
|
-
};
|
15587
15679
|
for (const day of days) {
|
15588
15680
|
const {
|
15589
15681
|
date,
|
15590
15682
|
displayMonth
|
15591
15683
|
} = day;
|
15592
15684
|
const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
|
15685
|
+
const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
|
15686
|
+
const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
|
15593
15687
|
const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
|
15594
|
-
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) ||
|
15688
|
+
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || isBeforeStartMonth || isAfterEndMonth ||
|
15689
|
+
// Broadcast calendar will show outside days as default
|
15690
|
+
!broadcastCalendar && !showOutsideDays && isOutside || broadcastCalendar && showOutsideDays === false && isOutside;
|
15595
15691
|
const isToday = isSameDay(date, today ?? (props.timeZone ? TZDate.tz(props.timeZone) : dateLib.Date ? new dateLib.Date() : new Date()));
|
15596
15692
|
if (isOutside) internalModifiersMap.outside.push(day);
|
15597
15693
|
if (isDisabled) internalModifiersMap.disabled.push(day);
|
@@ -15620,27 +15716,16 @@ function useGetModifiers(days, props, dateLib) {
|
|
15620
15716
|
[DayFlag.outside]: false,
|
15621
15717
|
[DayFlag.today]: false
|
15622
15718
|
};
|
15623
|
-
const selectionStates = {
|
15624
|
-
[SelectionState.range_end]: false,
|
15625
|
-
[SelectionState.range_middle]: false,
|
15626
|
-
[SelectionState.range_start]: false,
|
15627
|
-
[SelectionState.selected]: false
|
15628
|
-
};
|
15629
15719
|
const customModifiers = {};
|
15630
15720
|
// Find the modifiers for the given day
|
15631
15721
|
for (const name in internalModifiersMap) {
|
15632
15722
|
const days = internalModifiersMap[name];
|
15633
15723
|
dayFlags[name] = days.some(d => d === day);
|
15634
15724
|
}
|
15635
|
-
for (const name in selectionModifiersMap) {
|
15636
|
-
const days = selectionModifiersMap[name];
|
15637
|
-
selectionStates[name] = days.some(d => d === day);
|
15638
|
-
}
|
15639
15725
|
for (const name in customModifiersMap) {
|
15640
15726
|
customModifiers[name] = customModifiersMap[name].some(d => d === day);
|
15641
15727
|
}
|
15642
15728
|
return {
|
15643
|
-
...selectionStates,
|
15644
15729
|
...dayFlags,
|
15645
15730
|
// custom modifiers should override all the previous ones
|
15646
15731
|
...customModifiers
|
@@ -16045,7 +16130,7 @@ function DayPicker(props) {
|
|
16045
16130
|
};
|
16046
16131
|
const dateLib = new DateLib({
|
16047
16132
|
locale,
|
16048
|
-
weekStartsOn: props.weekStartsOn,
|
16133
|
+
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
|
16049
16134
|
firstWeekContainsDate: props.firstWeekContainsDate,
|
16050
16135
|
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
16051
16136
|
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
|
@@ -16064,7 +16149,7 @@ function DayPicker(props) {
|
|
16064
16149
|
...props.classNames
|
16065
16150
|
}
|
16066
16151
|
};
|
16067
|
-
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn]);
|
16152
|
+
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn, props.broadcastCalendar]);
|
16068
16153
|
const {
|
16069
16154
|
captionLayout,
|
16070
16155
|
mode,
|
@@ -16174,6 +16259,16 @@ function DayPicker(props) {
|
|
16174
16259
|
const handleDayMouseLeave = React.useCallback((day, modifiers) => e => {
|
16175
16260
|
onDayMouseLeave?.(day.date, modifiers, e);
|
16176
16261
|
}, [onDayMouseLeave]);
|
16262
|
+
const handleMonthChange = React.useCallback(date => e => {
|
16263
|
+
const selectedMonth = Number(e.target.value);
|
16264
|
+
const month = dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth);
|
16265
|
+
goToMonth(month);
|
16266
|
+
}, [dateLib, goToMonth]);
|
16267
|
+
const handleYearChange = React.useCallback(date => e => {
|
16268
|
+
const selectedYear = Number(e.target.value);
|
16269
|
+
const month = dateLib.setYear(dateLib.startOfMonth(date), selectedYear);
|
16270
|
+
goToMonth(month);
|
16271
|
+
}, [dateLib, goToMonth]);
|
16177
16272
|
const {
|
16178
16273
|
className,
|
16179
16274
|
style
|
@@ -16211,6 +16306,8 @@ function DayPicker(props) {
|
|
16211
16306
|
lang: props.lang,
|
16212
16307
|
nonce: props.nonce,
|
16213
16308
|
title: props.title,
|
16309
|
+
role: props.role,
|
16310
|
+
"aria-label": props["aria-label"],
|
16214
16311
|
...dataAttributes
|
16215
16312
|
}, /*#__PURE__*/React.createElement(components.Months, {
|
16216
16313
|
className: classNames[UI.Months],
|
@@ -16224,17 +16321,8 @@ function DayPicker(props) {
|
|
16224
16321
|
previousMonth: previousMonth,
|
16225
16322
|
nextMonth: nextMonth
|
16226
16323
|
})), months.map((calendarMonth, displayIndex) => {
|
16227
|
-
const handleMonthChange = e => {
|
16228
|
-
const selectedMonth = Number(e.target.value);
|
16229
|
-
const month = dateLib.setMonth(dateLib.startOfMonth(calendarMonth.date), selectedMonth);
|
16230
|
-
goToMonth(month);
|
16231
|
-
};
|
16232
|
-
const handleYearChange = e => {
|
16233
|
-
const month = dateLib.setYear(dateLib.startOfMonth(calendarMonth.date), Number(e.target.value));
|
16234
|
-
goToMonth(month);
|
16235
|
-
};
|
16236
16324
|
const dropdownMonths = getMonthOptions(calendarMonth.date, navStart, navEnd, formatters, dateLib);
|
16237
|
-
const dropdownYears = getYearOptions(
|
16325
|
+
const dropdownYears = getYearOptions(navStart, navEnd, formatters, dateLib);
|
16238
16326
|
return /*#__PURE__*/React.createElement(components.Month, {
|
16239
16327
|
className: classNames[UI.Month],
|
16240
16328
|
style: styles?.[UI.Month],
|
@@ -16255,7 +16343,7 @@ function DayPicker(props) {
|
|
16255
16343
|
classNames: classNames,
|
16256
16344
|
components: components,
|
16257
16345
|
disabled: Boolean(props.disableNavigation),
|
16258
|
-
onChange: handleMonthChange,
|
16346
|
+
onChange: handleMonthChange(calendarMonth.date),
|
16259
16347
|
options: dropdownMonths,
|
16260
16348
|
style: styles?.[UI.Dropdown],
|
16261
16349
|
value: calendarMonth.date.getMonth()
|
@@ -16268,7 +16356,7 @@ function DayPicker(props) {
|
|
16268
16356
|
classNames: classNames,
|
16269
16357
|
components: components,
|
16270
16358
|
disabled: Boolean(props.disableNavigation),
|
16271
|
-
onChange: handleYearChange,
|
16359
|
+
onChange: handleYearChange(calendarMonth.date),
|
16272
16360
|
options: dropdownYears,
|
16273
16361
|
style: styles?.[UI.Dropdown],
|
16274
16362
|
value: calendarMonth.date.getFullYear()
|
@@ -16315,7 +16403,8 @@ function DayPicker(props) {
|
|
16315
16403
|
locale
|
16316
16404
|
}),
|
16317
16405
|
className: classNames[UI.WeekNumber],
|
16318
|
-
scope: "row"
|
16406
|
+
scope: "row",
|
16407
|
+
role: "rowheader"
|
16319
16408
|
}, formatWeekNumber(week.weekNumber))), week.days.map(day => {
|
16320
16409
|
const {
|
16321
16410
|
date
|
@@ -16335,14 +16424,14 @@ function DayPicker(props) {
|
|
16335
16424
|
}
|
16336
16425
|
const style = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
|
16337
16426
|
const className = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
|
16338
|
-
const ariaLabel = !isInteractive ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
|
16427
|
+
const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
|
16339
16428
|
return /*#__PURE__*/React.createElement(components.Day, {
|
16340
16429
|
key: `${dateLib.format(date, "yyyy-MM-dd")}_${dateLib.format(day.displayMonth, "yyyy-MM")}`,
|
16341
16430
|
day: day,
|
16342
16431
|
modifiers: modifiers,
|
16343
16432
|
className: className.join(" "),
|
16344
16433
|
style: style,
|
16345
|
-
"
|
16434
|
+
role: "gridcell",
|
16346
16435
|
"aria-selected": modifiers.selected || undefined,
|
16347
16436
|
"aria-label": ariaLabel,
|
16348
16437
|
"data-day": dateLib.format(date, "yyyy-MM-dd"),
|
@@ -16353,7 +16442,7 @@ function DayPicker(props) {
|
|
16353
16442
|
"data-outside": day.outside || undefined,
|
16354
16443
|
"data-focused": modifiers.focused || undefined,
|
16355
16444
|
"data-today": modifiers.today || undefined
|
16356
|
-
}, isInteractive ? (/*#__PURE__*/React.createElement(components.DayButton, {
|
16445
|
+
}, !modifiers.hidden && isInteractive ? (/*#__PURE__*/React.createElement(components.DayButton, {
|
16357
16446
|
className: classNames[UI.DayButton],
|
16358
16447
|
style: styles?.[UI.DayButton],
|
16359
16448
|
type: "button",
|
@@ -16368,7 +16457,7 @@ function DayPicker(props) {
|
|
16368
16457
|
onKeyDown: handleDayKeyDown(day, modifiers),
|
16369
16458
|
onMouseEnter: handleDayMouseEnter(day, modifiers),
|
16370
16459
|
onMouseLeave: handleDayMouseLeave(day, modifiers)
|
16371
|
-
}, formatDay(date, dateLib.options, dateLib))) : formatDay(day.date, dateLib.options, dateLib));
|
16460
|
+
}, formatDay(date, dateLib.options, dateLib))) : !modifiers.hidden && formatDay(day.date, dateLib.options, dateLib));
|
16372
16461
|
}));
|
16373
16462
|
}))));
|
16374
16463
|
})), props.footer && (/*#__PURE__*/React.createElement(components.Footer, {
|
@@ -16379,143 +16468,6 @@ function DayPicker(props) {
|
|
16379
16468
|
}, props.footer))));
|
16380
16469
|
}
|
16381
16470
|
|
16382
|
-
/**
|
16383
|
-
* @name isDate
|
16384
|
-
* @category Common Helpers
|
16385
|
-
* @summary Is the given value a date?
|
16386
|
-
*
|
16387
|
-
* @description
|
16388
|
-
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
16389
|
-
*
|
16390
|
-
* @param value - The value to check
|
16391
|
-
*
|
16392
|
-
* @returns True if the given value is a date
|
16393
|
-
*
|
16394
|
-
* @example
|
16395
|
-
* // For a valid date:
|
16396
|
-
* const result = isDate(new Date())
|
16397
|
-
* //=> true
|
16398
|
-
*
|
16399
|
-
* @example
|
16400
|
-
* // For an invalid date:
|
16401
|
-
* const result = isDate(new Date(NaN))
|
16402
|
-
* //=> true
|
16403
|
-
*
|
16404
|
-
* @example
|
16405
|
-
* // For some value:
|
16406
|
-
* const result = isDate('2014-02-31')
|
16407
|
-
* //=> false
|
16408
|
-
*
|
16409
|
-
* @example
|
16410
|
-
* // For an object:
|
16411
|
-
* const result = isDate({})
|
16412
|
-
* //=> false
|
16413
|
-
*/
|
16414
|
-
function isDate(value) {
|
16415
|
-
return (
|
16416
|
-
value instanceof Date ||
|
16417
|
-
(typeof value === "object" &&
|
16418
|
-
Object.prototype.toString.call(value) === "[object Date]")
|
16419
|
-
);
|
16420
|
-
}
|
16421
|
-
|
16422
|
-
/**
|
16423
|
-
* @name toDate
|
16424
|
-
* @category Common Helpers
|
16425
|
-
* @summary Convert the given argument to an instance of Date.
|
16426
|
-
*
|
16427
|
-
* @description
|
16428
|
-
* Convert the given argument to an instance of Date.
|
16429
|
-
*
|
16430
|
-
* If the argument is an instance of Date, the function returns its clone.
|
16431
|
-
*
|
16432
|
-
* If the argument is a number, it is treated as a timestamp.
|
16433
|
-
*
|
16434
|
-
* If the argument is none of the above, the function returns Invalid Date.
|
16435
|
-
*
|
16436
|
-
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
16437
|
-
*
|
16438
|
-
* @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).
|
16439
|
-
*
|
16440
|
-
* @param argument - The value to convert
|
16441
|
-
*
|
16442
|
-
* @returns The parsed date in the local time zone
|
16443
|
-
*
|
16444
|
-
* @example
|
16445
|
-
* // Clone the date:
|
16446
|
-
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
16447
|
-
* //=> Tue Feb 11 2014 11:30:30
|
16448
|
-
*
|
16449
|
-
* @example
|
16450
|
-
* // Convert the timestamp to date:
|
16451
|
-
* const result = toDate(1392098430000)
|
16452
|
-
* //=> Tue Feb 11 2014 11:30:30
|
16453
|
-
*/
|
16454
|
-
function toDate$1(argument) {
|
16455
|
-
const argStr = Object.prototype.toString.call(argument);
|
16456
|
-
|
16457
|
-
// Clone the date
|
16458
|
-
if (
|
16459
|
-
argument instanceof Date ||
|
16460
|
-
(typeof argument === "object" && argStr === "[object Date]")
|
16461
|
-
) {
|
16462
|
-
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
16463
|
-
return new argument.constructor(+argument);
|
16464
|
-
} else if (
|
16465
|
-
typeof argument === "number" ||
|
16466
|
-
argStr === "[object Number]" ||
|
16467
|
-
typeof argStr === "string" ||
|
16468
|
-
argStr === "[object String]"
|
16469
|
-
) {
|
16470
|
-
// TODO: Can we get rid of as?
|
16471
|
-
return new Date(argument);
|
16472
|
-
} else {
|
16473
|
-
// TODO: Can we get rid of as?
|
16474
|
-
return new Date(NaN);
|
16475
|
-
}
|
16476
|
-
}
|
16477
|
-
|
16478
|
-
/**
|
16479
|
-
* @name isValid
|
16480
|
-
* @category Common Helpers
|
16481
|
-
* @summary Is the given date valid?
|
16482
|
-
*
|
16483
|
-
* @description
|
16484
|
-
* Returns false if argument is Invalid Date and true otherwise.
|
16485
|
-
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
16486
|
-
* Invalid Date is a Date, whose time value is NaN.
|
16487
|
-
*
|
16488
|
-
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
16489
|
-
*
|
16490
|
-
* @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).
|
16491
|
-
*
|
16492
|
-
* @param date - The date to check
|
16493
|
-
*
|
16494
|
-
* @returns The date is valid
|
16495
|
-
*
|
16496
|
-
* @example
|
16497
|
-
* // For the valid date:
|
16498
|
-
* const result = isValid(new Date(2014, 1, 31))
|
16499
|
-
* //=> true
|
16500
|
-
*
|
16501
|
-
* @example
|
16502
|
-
* // For the value, convertable into a date:
|
16503
|
-
* const result = isValid(1393804800000)
|
16504
|
-
* //=> true
|
16505
|
-
*
|
16506
|
-
* @example
|
16507
|
-
* // For the invalid date:
|
16508
|
-
* const result = isValid(new Date(''))
|
16509
|
-
* //=> false
|
16510
|
-
*/
|
16511
|
-
function isValid(date) {
|
16512
|
-
if (!isDate(date) && typeof date !== "number") {
|
16513
|
-
return false;
|
16514
|
-
}
|
16515
|
-
const _date = toDate$1(date);
|
16516
|
-
return !isNaN(Number(_date));
|
16517
|
-
}
|
16518
|
-
|
16519
16471
|
const formatDistanceLocale = {
|
16520
16472
|
lessThanXSeconds: {
|
16521
16473
|
one: "less than a second",
|
@@ -17197,15 +17149,71 @@ const millisecondsInWeek = 604800000;
|
|
17197
17149
|
const millisecondsInDay = 86400000;
|
17198
17150
|
|
17199
17151
|
/**
|
17200
|
-
* @name
|
17201
|
-
* @category
|
17202
|
-
* @summary
|
17152
|
+
* @name toDate
|
17153
|
+
* @category Common Helpers
|
17154
|
+
* @summary Convert the given argument to an instance of Date.
|
17203
17155
|
*
|
17204
17156
|
* @description
|
17205
|
-
*
|
17206
|
-
* The result will be in the local timezone.
|
17157
|
+
* Convert the given argument to an instance of Date.
|
17207
17158
|
*
|
17208
|
-
*
|
17159
|
+
* If the argument is an instance of Date, the function returns its clone.
|
17160
|
+
*
|
17161
|
+
* If the argument is a number, it is treated as a timestamp.
|
17162
|
+
*
|
17163
|
+
* If the argument is none of the above, the function returns Invalid Date.
|
17164
|
+
*
|
17165
|
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
17166
|
+
*
|
17167
|
+
* @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).
|
17168
|
+
*
|
17169
|
+
* @param argument - The value to convert
|
17170
|
+
*
|
17171
|
+
* @returns The parsed date in the local time zone
|
17172
|
+
*
|
17173
|
+
* @example
|
17174
|
+
* // Clone the date:
|
17175
|
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
17176
|
+
* //=> Tue Feb 11 2014 11:30:30
|
17177
|
+
*
|
17178
|
+
* @example
|
17179
|
+
* // Convert the timestamp to date:
|
17180
|
+
* const result = toDate(1392098430000)
|
17181
|
+
* //=> Tue Feb 11 2014 11:30:30
|
17182
|
+
*/
|
17183
|
+
function toDate$1(argument) {
|
17184
|
+
const argStr = Object.prototype.toString.call(argument);
|
17185
|
+
|
17186
|
+
// Clone the date
|
17187
|
+
if (
|
17188
|
+
argument instanceof Date ||
|
17189
|
+
(typeof argument === "object" && argStr === "[object Date]")
|
17190
|
+
) {
|
17191
|
+
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
17192
|
+
return new argument.constructor(+argument);
|
17193
|
+
} else if (
|
17194
|
+
typeof argument === "number" ||
|
17195
|
+
argStr === "[object Number]" ||
|
17196
|
+
typeof argument === "string" ||
|
17197
|
+
argStr === "[object String]"
|
17198
|
+
) {
|
17199
|
+
// TODO: Can we get rid of as?
|
17200
|
+
return new Date(argument);
|
17201
|
+
} else {
|
17202
|
+
// TODO: Can we get rid of as?
|
17203
|
+
return new Date(NaN);
|
17204
|
+
}
|
17205
|
+
}
|
17206
|
+
|
17207
|
+
/**
|
17208
|
+
* @name startOfDay
|
17209
|
+
* @category Day Helpers
|
17210
|
+
* @summary Return the start of a day for the given date.
|
17211
|
+
*
|
17212
|
+
* @description
|
17213
|
+
* Return the start of a day for the given date.
|
17214
|
+
* The result will be in the local timezone.
|
17215
|
+
*
|
17216
|
+
* @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).
|
17209
17217
|
*
|
17210
17218
|
* @param date - The original date
|
17211
17219
|
*
|
@@ -17234,19 +17242,20 @@ function startOfDay(date) {
|
|
17234
17242
|
* This function returns the timezone offset in milliseconds that takes seconds in account.
|
17235
17243
|
*/
|
17236
17244
|
function getTimezoneOffsetInMilliseconds$1(date) {
|
17245
|
+
const _date = toDate$1(date);
|
17237
17246
|
const utcDate = new Date(
|
17238
17247
|
Date.UTC(
|
17239
|
-
|
17240
|
-
|
17241
|
-
|
17242
|
-
|
17243
|
-
|
17244
|
-
|
17245
|
-
|
17248
|
+
_date.getFullYear(),
|
17249
|
+
_date.getMonth(),
|
17250
|
+
_date.getDate(),
|
17251
|
+
_date.getHours(),
|
17252
|
+
_date.getMinutes(),
|
17253
|
+
_date.getSeconds(),
|
17254
|
+
_date.getMilliseconds(),
|
17246
17255
|
),
|
17247
17256
|
);
|
17248
|
-
utcDate.setUTCFullYear(
|
17249
|
-
return date
|
17257
|
+
utcDate.setUTCFullYear(_date.getFullYear());
|
17258
|
+
return +date - +utcDate;
|
17250
17259
|
}
|
17251
17260
|
|
17252
17261
|
/**
|
@@ -17286,14 +17295,13 @@ function differenceInCalendarDays(dateLeft, dateRight) {
|
|
17286
17295
|
const startOfDayRight = startOfDay(dateRight);
|
17287
17296
|
|
17288
17297
|
const timestampLeft =
|
17289
|
-
startOfDayLeft
|
17298
|
+
+startOfDayLeft - getTimezoneOffsetInMilliseconds$1(startOfDayLeft);
|
17290
17299
|
const timestampRight =
|
17291
|
-
startOfDayRight
|
17292
|
-
getTimezoneOffsetInMilliseconds$1(startOfDayRight);
|
17300
|
+
+startOfDayRight - getTimezoneOffsetInMilliseconds$1(startOfDayRight);
|
17293
17301
|
|
17294
|
-
// Round the number of days to the nearest integer
|
17295
|
-
//
|
17296
|
-
//
|
17302
|
+
// Round the number of days to the nearest integer because the number of
|
17303
|
+
// milliseconds in a day is not constant (e.g. it's different in the week of
|
17304
|
+
// the daylight saving time clock shift).
|
17297
17305
|
return Math.round((timestampLeft - timestampRight) / millisecondsInDay);
|
17298
17306
|
}
|
17299
17307
|
|
@@ -17307,6 +17315,8 @@ function differenceInCalendarDays(dateLeft, dateRight) {
|
|
17307
17315
|
* date and the given value. It helps to build generic functions that accept
|
17308
17316
|
* date extensions.
|
17309
17317
|
*
|
17318
|
+
* It defaults to `Date` if the passed reference date is a number or a string.
|
17319
|
+
*
|
17310
17320
|
* @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).
|
17311
17321
|
*
|
17312
17322
|
* @param date - The reference date to take constructor from
|
@@ -17560,12 +17570,11 @@ function startOfISOWeekYear(date) {
|
|
17560
17570
|
*/
|
17561
17571
|
function getISOWeek(date) {
|
17562
17572
|
const _date = toDate$1(date);
|
17563
|
-
const diff =
|
17564
|
-
startOfISOWeek(_date).getTime() - startOfISOWeekYear(_date).getTime();
|
17573
|
+
const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
|
17565
17574
|
|
17566
|
-
// Round the number of
|
17567
|
-
//
|
17568
|
-
//
|
17575
|
+
// Round the number of weeks to the nearest integer because the number of
|
17576
|
+
// milliseconds in a week is not constant (e.g. it's different in the week of
|
17577
|
+
// the daylight saving time clock shift).
|
17569
17578
|
return Math.round(diff / millisecondsInWeek) + 1;
|
17570
17579
|
}
|
17571
17580
|
|
@@ -17585,7 +17594,7 @@ function getISOWeek(date) {
|
|
17585
17594
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17586
17595
|
* the first week of the week-numbering year)
|
17587
17596
|
*
|
17588
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17597
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17589
17598
|
*
|
17590
17599
|
* @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).
|
17591
17600
|
*
|
@@ -17656,7 +17665,7 @@ function getWeekYear(date, options) {
|
|
17656
17665
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17657
17666
|
* the first week of the week-numbering year)
|
17658
17667
|
*
|
17659
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17668
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17660
17669
|
*
|
17661
17670
|
* @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).
|
17662
17671
|
*
|
@@ -17713,7 +17722,7 @@ function startOfWeekYear(date, options) {
|
|
17713
17722
|
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
|
17714
17723
|
* the first week of the week-numbering year)
|
17715
17724
|
*
|
17716
|
-
* Week numbering: https://en.wikipedia.org/wiki/Week#
|
17725
|
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
|
17717
17726
|
*
|
17718
17727
|
* @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).
|
17719
17728
|
*
|
@@ -17740,13 +17749,11 @@ function startOfWeekYear(date, options) {
|
|
17740
17749
|
|
17741
17750
|
function getWeek(date, options) {
|
17742
17751
|
const _date = toDate$1(date);
|
17743
|
-
const diff =
|
17744
|
-
startOfWeek(_date, options).getTime() -
|
17745
|
-
startOfWeekYear(_date, options).getTime();
|
17752
|
+
const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
|
17746
17753
|
|
17747
|
-
// Round the number of
|
17748
|
-
//
|
17749
|
-
//
|
17754
|
+
// Round the number of weeks to the nearest integer because the number of
|
17755
|
+
// milliseconds in a week is not constant (e.g. it's different in the week of
|
17756
|
+
// the daylight saving time clock shift).
|
17750
17757
|
return Math.round(diff / millisecondsInWeek) + 1;
|
17751
17758
|
}
|
17752
17759
|
|
@@ -17840,7 +17847,7 @@ const lightFormatters = {
|
|
17840
17847
|
S(date, token) {
|
17841
17848
|
const numberOfDigits = token.length;
|
17842
17849
|
const milliseconds = date.getMilliseconds();
|
17843
|
-
const fractionalSeconds = Math.
|
17850
|
+
const fractionalSeconds = Math.trunc(
|
17844
17851
|
milliseconds * Math.pow(10, numberOfDigits - 3),
|
17845
17852
|
);
|
17846
17853
|
return addLeadingZeros$1(fractionalSeconds, token.length);
|
@@ -18487,9 +18494,8 @@ const formatters$1 = {
|
|
18487
18494
|
},
|
18488
18495
|
|
18489
18496
|
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
|
18490
|
-
X: function (date, token, _localize
|
18491
|
-
const
|
18492
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18497
|
+
X: function (date, token, _localize) {
|
18498
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18493
18499
|
|
18494
18500
|
if (timezoneOffset === 0) {
|
18495
18501
|
return "Z";
|
@@ -18518,9 +18524,8 @@ const formatters$1 = {
|
|
18518
18524
|
},
|
18519
18525
|
|
18520
18526
|
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
|
18521
|
-
x: function (date, token, _localize
|
18522
|
-
const
|
18523
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18527
|
+
x: function (date, token, _localize) {
|
18528
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18524
18529
|
|
18525
18530
|
switch (token) {
|
18526
18531
|
// Hours and optional minutes
|
@@ -18545,9 +18550,8 @@ const formatters$1 = {
|
|
18545
18550
|
},
|
18546
18551
|
|
18547
18552
|
// Timezone (GMT)
|
18548
|
-
O: function (date, token, _localize
|
18549
|
-
const
|
18550
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18553
|
+
O: function (date, token, _localize) {
|
18554
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18551
18555
|
|
18552
18556
|
switch (token) {
|
18553
18557
|
// Short
|
@@ -18563,9 +18567,8 @@ const formatters$1 = {
|
|
18563
18567
|
},
|
18564
18568
|
|
18565
18569
|
// Timezone (specific non-location)
|
18566
|
-
z: function (date, token, _localize
|
18567
|
-
const
|
18568
|
-
const timezoneOffset = originalDate.getTimezoneOffset();
|
18570
|
+
z: function (date, token, _localize) {
|
18571
|
+
const timezoneOffset = date.getTimezoneOffset();
|
18569
18572
|
|
18570
18573
|
switch (token) {
|
18571
18574
|
// Short
|
@@ -18581,16 +18584,14 @@ const formatters$1 = {
|
|
18581
18584
|
},
|
18582
18585
|
|
18583
18586
|
// Seconds timestamp
|
18584
|
-
t: function (date, token, _localize
|
18585
|
-
const
|
18586
|
-
const timestamp = Math.floor(originalDate.getTime() / 1000);
|
18587
|
+
t: function (date, token, _localize) {
|
18588
|
+
const timestamp = Math.trunc(date.getTime() / 1000);
|
18587
18589
|
return addLeadingZeros$1(timestamp, token.length);
|
18588
18590
|
},
|
18589
18591
|
|
18590
18592
|
// Milliseconds timestamp
|
18591
|
-
T: function (date, token, _localize
|
18592
|
-
const
|
18593
|
-
const timestamp = originalDate.getTime();
|
18593
|
+
T: function (date, token, _localize) {
|
18594
|
+
const timestamp = date.getTime();
|
18594
18595
|
return addLeadingZeros$1(timestamp, token.length);
|
18595
18596
|
},
|
18596
18597
|
};
|
@@ -18598,7 +18599,7 @@ const formatters$1 = {
|
|
18598
18599
|
function formatTimezoneShort$1(offset, delimiter = "") {
|
18599
18600
|
const sign = offset > 0 ? "-" : "+";
|
18600
18601
|
const absOffset = Math.abs(offset);
|
18601
|
-
const hours = Math.
|
18602
|
+
const hours = Math.trunc(absOffset / 60);
|
18602
18603
|
const minutes = absOffset % 60;
|
18603
18604
|
if (minutes === 0) {
|
18604
18605
|
return sign + String(hours);
|
@@ -18617,7 +18618,7 @@ function formatTimezoneWithOptionalMinutes$1(offset, delimiter) {
|
|
18617
18618
|
function formatTimezone$1(offset, delimiter = "") {
|
18618
18619
|
const sign = offset > 0 ? "-" : "+";
|
18619
18620
|
const absOffset = Math.abs(offset);
|
18620
|
-
const hours = addLeadingZeros$1(Math.
|
18621
|
+
const hours = addLeadingZeros$1(Math.trunc(absOffset / 60), 2);
|
18621
18622
|
const minutes = addLeadingZeros$1(absOffset % 60, 2);
|
18622
18623
|
return sign + hours + delimiter + minutes;
|
18623
18624
|
}
|
@@ -18687,35 +18688,109 @@ const longFormatters = {
|
|
18687
18688
|
P: dateTimeLongFormatter,
|
18688
18689
|
};
|
18689
18690
|
|
18690
|
-
const
|
18691
|
-
const
|
18691
|
+
const dayOfYearTokenRE = /^D+$/;
|
18692
|
+
const weekYearTokenRE = /^Y+$/;
|
18693
|
+
|
18694
|
+
const throwTokens = ["D", "DD", "YY", "YYYY"];
|
18692
18695
|
|
18693
18696
|
function isProtectedDayOfYearToken(token) {
|
18694
|
-
return
|
18697
|
+
return dayOfYearTokenRE.test(token);
|
18695
18698
|
}
|
18696
18699
|
|
18697
18700
|
function isProtectedWeekYearToken(token) {
|
18698
|
-
return
|
18701
|
+
return weekYearTokenRE.test(token);
|
18699
18702
|
}
|
18700
18703
|
|
18701
|
-
function
|
18702
|
-
|
18703
|
-
|
18704
|
-
|
18705
|
-
|
18706
|
-
|
18707
|
-
|
18708
|
-
|
18709
|
-
|
18710
|
-
|
18711
|
-
|
18712
|
-
|
18713
|
-
|
18714
|
-
|
18715
|
-
|
18716
|
-
|
18717
|
-
|
18704
|
+
function warnOrThrowProtectedError(token, format, input) {
|
18705
|
+
const _message = message(token, format, input);
|
18706
|
+
console.warn(_message);
|
18707
|
+
if (throwTokens.includes(token)) throw new RangeError(_message);
|
18708
|
+
}
|
18709
|
+
|
18710
|
+
function message(token, format, input) {
|
18711
|
+
const subject = token[0] === "Y" ? "years" : "days of the month";
|
18712
|
+
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`;
|
18713
|
+
}
|
18714
|
+
|
18715
|
+
/**
|
18716
|
+
* @name isDate
|
18717
|
+
* @category Common Helpers
|
18718
|
+
* @summary Is the given value a date?
|
18719
|
+
*
|
18720
|
+
* @description
|
18721
|
+
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
|
18722
|
+
*
|
18723
|
+
* @param value - The value to check
|
18724
|
+
*
|
18725
|
+
* @returns True if the given value is a date
|
18726
|
+
*
|
18727
|
+
* @example
|
18728
|
+
* // For a valid date:
|
18729
|
+
* const result = isDate(new Date())
|
18730
|
+
* //=> true
|
18731
|
+
*
|
18732
|
+
* @example
|
18733
|
+
* // For an invalid date:
|
18734
|
+
* const result = isDate(new Date(NaN))
|
18735
|
+
* //=> true
|
18736
|
+
*
|
18737
|
+
* @example
|
18738
|
+
* // For some value:
|
18739
|
+
* const result = isDate('2014-02-31')
|
18740
|
+
* //=> false
|
18741
|
+
*
|
18742
|
+
* @example
|
18743
|
+
* // For an object:
|
18744
|
+
* const result = isDate({})
|
18745
|
+
* //=> false
|
18746
|
+
*/
|
18747
|
+
function isDate(value) {
|
18748
|
+
return (
|
18749
|
+
value instanceof Date ||
|
18750
|
+
(typeof value === "object" &&
|
18751
|
+
Object.prototype.toString.call(value) === "[object Date]")
|
18752
|
+
);
|
18753
|
+
}
|
18754
|
+
|
18755
|
+
/**
|
18756
|
+
* @name isValid
|
18757
|
+
* @category Common Helpers
|
18758
|
+
* @summary Is the given date valid?
|
18759
|
+
*
|
18760
|
+
* @description
|
18761
|
+
* Returns false if argument is Invalid Date and true otherwise.
|
18762
|
+
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
|
18763
|
+
* Invalid Date is a Date, whose time value is NaN.
|
18764
|
+
*
|
18765
|
+
* Time value of Date: http://es5.github.io/#x15.9.1.1
|
18766
|
+
*
|
18767
|
+
* @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).
|
18768
|
+
*
|
18769
|
+
* @param date - The date to check
|
18770
|
+
*
|
18771
|
+
* @returns The date is valid
|
18772
|
+
*
|
18773
|
+
* @example
|
18774
|
+
* // For the valid date:
|
18775
|
+
* const result = isValid(new Date(2014, 1, 31))
|
18776
|
+
* //=> true
|
18777
|
+
*
|
18778
|
+
* @example
|
18779
|
+
* // For the value, convertable into a date:
|
18780
|
+
* const result = isValid(1393804800000)
|
18781
|
+
* //=> true
|
18782
|
+
*
|
18783
|
+
* @example
|
18784
|
+
* // For the invalid date:
|
18785
|
+
* const result = isValid(new Date(''))
|
18786
|
+
* //=> false
|
18787
|
+
*/
|
18788
|
+
function isValid(date) {
|
18789
|
+
if (!isDate(date) && typeof date !== "number") {
|
18790
|
+
return false;
|
18718
18791
|
}
|
18792
|
+
const _date = toDate$1(date);
|
18793
|
+
return !isNaN(Number(_date));
|
18719
18794
|
}
|
18720
18795
|
|
18721
18796
|
// This RegExp consists of three parts separated by `|`:
|
@@ -18746,6 +18821,7 @@ const unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
18746
18821
|
|
18747
18822
|
/**
|
18748
18823
|
* @name format
|
18824
|
+
* @alias formatDate
|
18749
18825
|
* @category Common Helpers
|
18750
18826
|
* @summary Format the date.
|
18751
18827
|
*
|
@@ -19053,16 +19129,9 @@ function format$1(date, formatStr, options) {
|
|
19053
19129
|
throw new RangeError("Invalid time value");
|
19054
19130
|
}
|
19055
19131
|
|
19056
|
-
|
19057
|
-
firstWeekContainsDate: firstWeekContainsDate,
|
19058
|
-
weekStartsOn: weekStartsOn,
|
19059
|
-
locale: locale,
|
19060
|
-
_originalDate: originalDate,
|
19061
|
-
};
|
19062
|
-
|
19063
|
-
const result = formatStr
|
19132
|
+
let parts = formatStr
|
19064
19133
|
.match(longFormattingTokensRegExp)
|
19065
|
-
.map(
|
19134
|
+
.map((substring) => {
|
19066
19135
|
const firstCharacter = substring[0];
|
19067
19136
|
if (firstCharacter === "p" || firstCharacter === "P") {
|
19068
19137
|
const longFormatter = longFormatters[firstCharacter];
|
@@ -19072,37 +19141,19 @@ function format$1(date, formatStr, options) {
|
|
19072
19141
|
})
|
19073
19142
|
.join("")
|
19074
19143
|
.match(formattingTokensRegExp)
|
19075
|
-
.map(
|
19144
|
+
.map((substring) => {
|
19076
19145
|
// Replace two single quote characters with one single quote character
|
19077
19146
|
if (substring === "''") {
|
19078
|
-
return "'";
|
19147
|
+
return { isToken: false, value: "'" };
|
19079
19148
|
}
|
19080
19149
|
|
19081
19150
|
const firstCharacter = substring[0];
|
19082
19151
|
if (firstCharacter === "'") {
|
19083
|
-
return cleanEscapedString(substring);
|
19152
|
+
return { isToken: false, value: cleanEscapedString(substring) };
|
19084
19153
|
}
|
19085
19154
|
|
19086
|
-
|
19087
|
-
|
19088
|
-
if (
|
19089
|
-
!options?.useAdditionalWeekYearTokens &&
|
19090
|
-
isProtectedWeekYearToken(substring)
|
19091
|
-
) {
|
19092
|
-
throwProtectedError(substring, formatStr, String(date));
|
19093
|
-
}
|
19094
|
-
if (
|
19095
|
-
!options?.useAdditionalDayOfYearTokens &&
|
19096
|
-
isProtectedDayOfYearToken(substring)
|
19097
|
-
) {
|
19098
|
-
throwProtectedError(substring, formatStr, String(date));
|
19099
|
-
}
|
19100
|
-
return formatter(
|
19101
|
-
originalDate,
|
19102
|
-
substring,
|
19103
|
-
locale.localize,
|
19104
|
-
formatterOptions,
|
19105
|
-
);
|
19155
|
+
if (formatters$1[firstCharacter]) {
|
19156
|
+
return { isToken: true, value: substring };
|
19106
19157
|
}
|
19107
19158
|
|
19108
19159
|
if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
|
@@ -19113,11 +19164,39 @@ function format$1(date, formatStr, options) {
|
|
19113
19164
|
);
|
19114
19165
|
}
|
19115
19166
|
|
19116
|
-
return substring;
|
19167
|
+
return { isToken: false, value: substring };
|
19168
|
+
});
|
19169
|
+
|
19170
|
+
// invoke localize preprocessor (only for french locales at the moment)
|
19171
|
+
if (locale.localize.preprocessor) {
|
19172
|
+
parts = locale.localize.preprocessor(originalDate, parts);
|
19173
|
+
}
|
19174
|
+
|
19175
|
+
const formatterOptions = {
|
19176
|
+
firstWeekContainsDate,
|
19177
|
+
weekStartsOn,
|
19178
|
+
locale,
|
19179
|
+
};
|
19180
|
+
|
19181
|
+
return parts
|
19182
|
+
.map((part) => {
|
19183
|
+
if (!part.isToken) return part.value;
|
19184
|
+
|
19185
|
+
const token = part.value;
|
19186
|
+
|
19187
|
+
if (
|
19188
|
+
(!options?.useAdditionalWeekYearTokens &&
|
19189
|
+
isProtectedWeekYearToken(token)) ||
|
19190
|
+
(!options?.useAdditionalDayOfYearTokens &&
|
19191
|
+
isProtectedDayOfYearToken(token))
|
19192
|
+
) {
|
19193
|
+
warnOrThrowProtectedError(token, formatStr, String(date));
|
19194
|
+
}
|
19195
|
+
|
19196
|
+
const formatter = formatters$1[token[0]];
|
19197
|
+
return formatter(originalDate, token, locale.localize, formatterOptions);
|
19117
19198
|
})
|
19118
19199
|
.join("");
|
19119
|
-
|
19120
|
-
return result;
|
19121
19200
|
}
|
19122
19201
|
|
19123
19202
|
function cleanEscapedString(input) {
|
@@ -20596,7 +20675,7 @@ const TimePicker = ({
|
|
20596
20675
|
});
|
20597
20676
|
};
|
20598
20677
|
|
20599
|
-
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}";
|
20678
|
+
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}";
|
20600
20679
|
styleInject(css_248z$K);
|
20601
20680
|
|
20602
20681
|
const CustomDatePicker = ({
|
@@ -20612,7 +20691,9 @@ const CustomDatePicker = ({
|
|
20612
20691
|
timeFormat = 'hh:mm a',
|
20613
20692
|
error,
|
20614
20693
|
helperText = '',
|
20615
|
-
dateOnly = false
|
20694
|
+
dateOnly = false,
|
20695
|
+
className,
|
20696
|
+
zIndex = 10
|
20616
20697
|
}) => {
|
20617
20698
|
const [timeValue, setTimeValue] = React.useState('');
|
20618
20699
|
const [selectedDate, setSelectedDate] = React.useState();
|
@@ -20620,13 +20701,16 @@ const CustomDatePicker = ({
|
|
20620
20701
|
const [timeError, setTimeError] = React.useState(false);
|
20621
20702
|
const [selectedMonth, setSelectedMonth] = React.useState(new Date());
|
20622
20703
|
const [view, setView] = React.useState('days');
|
20704
|
+
const selectedDateRef = React.useRef(undefined);
|
20623
20705
|
const [startYear, setStartYear] = React.useState(() => {
|
20624
20706
|
const currentYear = selectedMonth?.getFullYear() ?? new Date().getFullYear();
|
20625
20707
|
return currentYear - currentYear % 12; // Set to the first year in the 12-year range
|
20626
20708
|
});
|
20627
|
-
const [datePickerPosition, setDatePickerPosition] = React.useState('bottom');
|
20628
20709
|
const pickerRef = React.useRef(null); // Ref to track the picker
|
20629
20710
|
const containerRef = React.useRef(null);
|
20711
|
+
React.useEffect(() => {
|
20712
|
+
selectedDateRef.current = selectedDate;
|
20713
|
+
}, [selectedDate]);
|
20630
20714
|
React.useEffect(() => {
|
20631
20715
|
if (value) {
|
20632
20716
|
setTimeValue(formatTimeStr(value));
|
@@ -20645,23 +20729,26 @@ const CustomDatePicker = ({
|
|
20645
20729
|
const adjustPosition = () => {
|
20646
20730
|
if (containerRef.current && pickerRef.current) {
|
20647
20731
|
const relativeRect = containerRef.current.getBoundingClientRect();
|
20648
|
-
const
|
20732
|
+
const pickerHeight = pickerRef.current.offsetHeight;
|
20733
|
+
const spacing = 5; // spacing in pixels
|
20649
20734
|
const spaceBelow = window.innerHeight - relativeRect.bottom;
|
20650
20735
|
const spaceAbove = relativeRect.top;
|
20651
|
-
|
20652
|
-
if (spaceBelow <
|
20653
|
-
|
20654
|
-
} else {
|
20655
|
-
setDatePickerPosition('bottom');
|
20736
|
+
let top = relativeRect.bottom + window.scrollY + spacing; // Default position to below
|
20737
|
+
if (spaceBelow < pickerHeight && spaceAbove >= pickerHeight) {
|
20738
|
+
top = relativeRect.top + window.scrollY - pickerHeight - spacing; // Place above
|
20656
20739
|
}
|
20740
|
+
// Horizontal position: align to container with optional adjustments
|
20741
|
+
const left = relativeRect.left + window.scrollX;
|
20742
|
+
pickerRef.current.style.top = `${top}px`;
|
20743
|
+
pickerRef.current.style.left = `${left}px`;
|
20657
20744
|
}
|
20658
20745
|
};
|
20659
|
-
// Initial
|
20746
|
+
// Initial adjustment
|
20660
20747
|
adjustPosition();
|
20661
|
-
//
|
20748
|
+
// Recalculate on resize
|
20662
20749
|
window.addEventListener('resize', adjustPosition);
|
20663
20750
|
return () => window.removeEventListener('resize', adjustPosition);
|
20664
|
-
}, []);
|
20751
|
+
}, [isPickerOpen]);
|
20665
20752
|
const calendarStyle = {
|
20666
20753
|
'--rdp-day-width': calendarWidth ? `${calendarWidth / 7 - 4}px` : undefined
|
20667
20754
|
};
|
@@ -20695,7 +20782,8 @@ const CustomDatePicker = ({
|
|
20695
20782
|
}
|
20696
20783
|
};
|
20697
20784
|
const handleSave = () => {
|
20698
|
-
|
20785
|
+
console.log('selectedDate1', selectedDateRef.current);
|
20786
|
+
onChange(selectedDateRef.current);
|
20699
20787
|
resetAndCloseDatePicker();
|
20700
20788
|
};
|
20701
20789
|
const handleDateInputClick = () => {
|
@@ -20873,7 +20961,7 @@ const CustomDatePicker = ({
|
|
20873
20961
|
});
|
20874
20962
|
};
|
20875
20963
|
return jsxRuntime.jsxs("div", {
|
20876
|
-
className:
|
20964
|
+
className: `ff-date-picker ${className}`,
|
20877
20965
|
ref: containerRef,
|
20878
20966
|
children: [jsxRuntime.jsxs("div", {
|
20879
20967
|
className: "ff-datepicker-input-container",
|
@@ -20917,8 +21005,7 @@ const CustomDatePicker = ({
|
|
20917
21005
|
className: "ff-date-picker-container",
|
20918
21006
|
ref: pickerRef,
|
20919
21007
|
style: {
|
20920
|
-
|
20921
|
-
bottom: datePickerPosition === 'top' ? '110%' : 'auto'
|
21008
|
+
zIndex
|
20922
21009
|
},
|
20923
21010
|
children: [jsxRuntime.jsxs("div", {
|
20924
21011
|
className: "ff-calendar-container",
|
@@ -21629,6 +21716,8 @@ function LiveRegion(_ref) {
|
|
21629
21716
|
// Hide element visually but keep it readable by screen readers
|
21630
21717
|
const visuallyHidden = {
|
21631
21718
|
position: 'fixed',
|
21719
|
+
top: 0,
|
21720
|
+
left: 0,
|
21632
21721
|
width: 1,
|
21633
21722
|
height: 1,
|
21634
21723
|
margin: -1,
|
@@ -22618,11 +22707,12 @@ var KeyboardCode;
|
|
22618
22707
|
KeyboardCode["Up"] = "ArrowUp";
|
22619
22708
|
KeyboardCode["Esc"] = "Escape";
|
22620
22709
|
KeyboardCode["Enter"] = "Enter";
|
22710
|
+
KeyboardCode["Tab"] = "Tab";
|
22621
22711
|
})(KeyboardCode || (KeyboardCode = {}));
|
22622
22712
|
const defaultKeyboardCodes = {
|
22623
22713
|
start: [KeyboardCode.Space, KeyboardCode.Enter],
|
22624
22714
|
cancel: [KeyboardCode.Esc],
|
22625
|
-
end: [KeyboardCode.Space, KeyboardCode.Enter]
|
22715
|
+
end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]
|
22626
22716
|
};
|
22627
22717
|
const defaultKeyboardCoordinateGetter = (event, _ref) => {
|
22628
22718
|
let {
|
@@ -22921,6 +23011,9 @@ class AbstractPointerSensor {
|
|
22921
23011
|
passive: false
|
22922
23012
|
});
|
22923
23013
|
this.listeners.add(events.end.name, this.handleEnd);
|
23014
|
+
if (events.cancel) {
|
23015
|
+
this.listeners.add(events.cancel.name, this.handleCancel);
|
23016
|
+
}
|
22924
23017
|
this.windowListeners.add(EventName.Resize, this.handleCancel);
|
22925
23018
|
this.windowListeners.add(EventName.DragStart, preventDefault);
|
22926
23019
|
this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);
|
@@ -22936,9 +23029,11 @@ class AbstractPointerSensor {
|
|
22936
23029
|
}
|
22937
23030
|
if (isDelayConstraint(activationConstraint)) {
|
22938
23031
|
this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);
|
23032
|
+
this.handlePending(activationConstraint);
|
22939
23033
|
return;
|
22940
23034
|
}
|
22941
23035
|
if (isDistanceConstraint(activationConstraint)) {
|
23036
|
+
this.handlePending(activationConstraint);
|
22942
23037
|
return;
|
22943
23038
|
}
|
22944
23039
|
}
|
@@ -22955,6 +23050,13 @@ class AbstractPointerSensor {
|
|
22955
23050
|
this.timeoutId = null;
|
22956
23051
|
}
|
22957
23052
|
}
|
23053
|
+
handlePending(constraint, offset) {
|
23054
|
+
const {
|
23055
|
+
active,
|
23056
|
+
onPending
|
23057
|
+
} = this.props;
|
23058
|
+
onPending(active, constraint, this.initialCoordinates, offset);
|
23059
|
+
}
|
22958
23060
|
handleStart() {
|
22959
23061
|
const {
|
22960
23062
|
initialCoordinates
|
@@ -23008,6 +23110,7 @@ class AbstractPointerSensor {
|
|
23008
23110
|
return this.handleCancel();
|
23009
23111
|
}
|
23010
23112
|
}
|
23113
|
+
this.handlePending(activationConstraint, delta);
|
23011
23114
|
return;
|
23012
23115
|
}
|
23013
23116
|
if (event.cancelable) {
|
@@ -23017,16 +23120,24 @@ class AbstractPointerSensor {
|
|
23017
23120
|
}
|
23018
23121
|
handleEnd() {
|
23019
23122
|
const {
|
23123
|
+
onAbort,
|
23020
23124
|
onEnd
|
23021
23125
|
} = this.props;
|
23022
23126
|
this.detach();
|
23127
|
+
if (!this.activated) {
|
23128
|
+
onAbort(this.props.active);
|
23129
|
+
}
|
23023
23130
|
onEnd();
|
23024
23131
|
}
|
23025
23132
|
handleCancel() {
|
23026
23133
|
const {
|
23134
|
+
onAbort,
|
23027
23135
|
onCancel
|
23028
23136
|
} = this.props;
|
23029
23137
|
this.detach();
|
23138
|
+
if (!this.activated) {
|
23139
|
+
onAbort(this.props.active);
|
23140
|
+
}
|
23030
23141
|
onCancel();
|
23031
23142
|
}
|
23032
23143
|
handleKeydown(event) {
|
@@ -23040,6 +23151,9 @@ class AbstractPointerSensor {
|
|
23040
23151
|
}
|
23041
23152
|
}
|
23042
23153
|
const events = {
|
23154
|
+
cancel: {
|
23155
|
+
name: 'pointercancel'
|
23156
|
+
},
|
23043
23157
|
move: {
|
23044
23158
|
name: 'pointermove'
|
23045
23159
|
},
|
@@ -23112,6 +23226,9 @@ MouseSensor.activators = [{
|
|
23112
23226
|
}
|
23113
23227
|
}];
|
23114
23228
|
const events$2 = {
|
23229
|
+
cancel: {
|
23230
|
+
name: 'touchcancel'
|
23231
|
+
},
|
23115
23232
|
move: {
|
23116
23233
|
name: 'touchmove'
|
23117
23234
|
},
|
@@ -23313,11 +23430,11 @@ function useScrollIntent(_ref2) {
|
|
23313
23430
|
}, [disabled, delta, previousDelta]);
|
23314
23431
|
}
|
23315
23432
|
function useCachedNode(draggableNodes, id) {
|
23316
|
-
const draggableNode = id
|
23433
|
+
const draggableNode = id != null ? draggableNodes.get(id) : undefined;
|
23317
23434
|
const node = draggableNode ? draggableNode.node.current : null;
|
23318
23435
|
return useLazyMemo(cachedNode => {
|
23319
23436
|
var _ref;
|
23320
|
-
if (id
|
23437
|
+
if (id == null) {
|
23321
23438
|
return null;
|
23322
23439
|
} // In some cases, the draggable node can unmount while dragging
|
23323
23440
|
// This is the case for virtualized lists. In those situations,
|
@@ -23525,7 +23642,26 @@ function useRect(element, measure, fallbackRect) {
|
|
23525
23642
|
if (measure === void 0) {
|
23526
23643
|
measure = defaultMeasure;
|
23527
23644
|
}
|
23528
|
-
const [rect,
|
23645
|
+
const [rect, setRect] = React.useState(null);
|
23646
|
+
function measureRect() {
|
23647
|
+
setRect(currentRect => {
|
23648
|
+
if (!element) {
|
23649
|
+
return null;
|
23650
|
+
}
|
23651
|
+
if (element.isConnected === false) {
|
23652
|
+
var _ref;
|
23653
|
+
|
23654
|
+
// Fall back to last rect we measured if the element is
|
23655
|
+
// no longer connected to the DOM.
|
23656
|
+
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
23657
|
+
}
|
23658
|
+
const newRect = measure(element);
|
23659
|
+
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
23660
|
+
return currentRect;
|
23661
|
+
}
|
23662
|
+
return newRect;
|
23663
|
+
});
|
23664
|
+
}
|
23529
23665
|
const mutationObserver = useMutationObserver({
|
23530
23666
|
callback(records) {
|
23531
23667
|
if (!element) {
|
@@ -23560,23 +23696,6 @@ function useRect(element, measure, fallbackRect) {
|
|
23560
23696
|
}
|
23561
23697
|
}, [element]);
|
23562
23698
|
return rect;
|
23563
|
-
function reducer(currentRect) {
|
23564
|
-
if (!element) {
|
23565
|
-
return null;
|
23566
|
-
}
|
23567
|
-
if (element.isConnected === false) {
|
23568
|
-
var _ref;
|
23569
|
-
|
23570
|
-
// Fall back to last rect we measured if the element is
|
23571
|
-
// no longer connected to the DOM.
|
23572
|
-
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
23573
|
-
}
|
23574
|
-
const newRect = measure(element);
|
23575
|
-
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
23576
|
-
return currentRect;
|
23577
|
-
}
|
23578
|
-
return newRect;
|
23579
|
-
}
|
23580
23699
|
}
|
23581
23700
|
function useRectDelta(rect) {
|
23582
23701
|
const initialRect = useInitialValue(rect);
|
@@ -23722,28 +23841,24 @@ function useRects(elements, measure) {
|
|
23722
23841
|
}
|
23723
23842
|
const [firstElement] = elements;
|
23724
23843
|
const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);
|
23725
|
-
const [rects,
|
23844
|
+
const [rects, setRects] = React.useState(defaultValue$2);
|
23845
|
+
function measureRects() {
|
23846
|
+
setRects(() => {
|
23847
|
+
if (!elements.length) {
|
23848
|
+
return defaultValue$2;
|
23849
|
+
}
|
23850
|
+
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
23851
|
+
});
|
23852
|
+
}
|
23726
23853
|
const resizeObserver = useResizeObserver({
|
23727
23854
|
callback: measureRects
|
23728
23855
|
});
|
23729
|
-
if (elements.length > 0 && rects === defaultValue$2) {
|
23730
|
-
measureRects();
|
23731
|
-
}
|
23732
23856
|
useIsomorphicLayoutEffect$1(() => {
|
23733
|
-
|
23734
|
-
|
23735
|
-
|
23736
|
-
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
23737
|
-
measureRects();
|
23738
|
-
}
|
23857
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
23858
|
+
measureRects();
|
23859
|
+
elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));
|
23739
23860
|
}, [elements]);
|
23740
23861
|
return rects;
|
23741
|
-
function reducer() {
|
23742
|
-
if (!elements.length) {
|
23743
|
-
return defaultValue$2;
|
23744
|
-
}
|
23745
|
-
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
23746
|
-
}
|
23747
23862
|
}
|
23748
23863
|
function getMeasurableNode(node) {
|
23749
23864
|
if (!node) {
|
@@ -23910,7 +24025,7 @@ function reducer$1(state, action) {
|
|
23910
24025
|
}
|
23911
24026
|
};
|
23912
24027
|
case Action.DragMove:
|
23913
|
-
if (
|
24028
|
+
if (state.draggable.active == null) {
|
23914
24029
|
return state;
|
23915
24030
|
}
|
23916
24031
|
return {
|
@@ -24182,7 +24297,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24182
24297
|
containers: droppableContainers
|
24183
24298
|
}
|
24184
24299
|
} = state;
|
24185
|
-
const node = activeId ? draggableNodes.get(activeId) : null;
|
24300
|
+
const node = activeId != null ? draggableNodes.get(activeId) : null;
|
24186
24301
|
const activeRects = React.useRef({
|
24187
24302
|
initial: null,
|
24188
24303
|
translated: null
|
@@ -24217,7 +24332,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24217
24332
|
const autoScrollOptions = getAutoScrollerOptions();
|
24218
24333
|
const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);
|
24219
24334
|
useLayoutShiftScrollCompensation({
|
24220
|
-
activeNode: activeId ? draggableNodes.get(activeId) : null,
|
24335
|
+
activeNode: activeId != null ? draggableNodes.get(activeId) : null,
|
24221
24336
|
config: autoScrollOptions.layoutShiftCompensation,
|
24222
24337
|
initialRect: initialActiveNodeRect,
|
24223
24338
|
measure: measuringConfiguration.draggable.measure
|
@@ -24295,6 +24410,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24295
24410
|
|
24296
24411
|
const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);
|
24297
24412
|
const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);
|
24413
|
+
const activeSensorRef = React.useRef(null);
|
24298
24414
|
const instantiateSensor = React.useCallback((event, _ref2) => {
|
24299
24415
|
let {
|
24300
24416
|
sensor: Sensor,
|
@@ -24316,6 +24432,43 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24316
24432
|
// Sensors need to be instantiated with refs for arguments that change over time
|
24317
24433
|
// otherwise they are frozen in time with the stale arguments
|
24318
24434
|
context: sensorContext,
|
24435
|
+
onAbort(id) {
|
24436
|
+
const draggableNode = draggableNodes.get(id);
|
24437
|
+
if (!draggableNode) {
|
24438
|
+
return;
|
24439
|
+
}
|
24440
|
+
const {
|
24441
|
+
onDragAbort
|
24442
|
+
} = latestProps.current;
|
24443
|
+
const event = {
|
24444
|
+
id
|
24445
|
+
};
|
24446
|
+
onDragAbort == null ? void 0 : onDragAbort(event);
|
24447
|
+
dispatchMonitorEvent({
|
24448
|
+
type: 'onDragAbort',
|
24449
|
+
event
|
24450
|
+
});
|
24451
|
+
},
|
24452
|
+
onPending(id, constraint, initialCoordinates, offset) {
|
24453
|
+
const draggableNode = draggableNodes.get(id);
|
24454
|
+
if (!draggableNode) {
|
24455
|
+
return;
|
24456
|
+
}
|
24457
|
+
const {
|
24458
|
+
onDragPending
|
24459
|
+
} = latestProps.current;
|
24460
|
+
const event = {
|
24461
|
+
id,
|
24462
|
+
constraint,
|
24463
|
+
initialCoordinates,
|
24464
|
+
offset
|
24465
|
+
};
|
24466
|
+
onDragPending == null ? void 0 : onDragPending(event);
|
24467
|
+
dispatchMonitorEvent({
|
24468
|
+
type: 'onDragPending',
|
24469
|
+
event
|
24470
|
+
});
|
24471
|
+
},
|
24319
24472
|
onStart(initialCoordinates) {
|
24320
24473
|
const id = activeRef.current;
|
24321
24474
|
if (id == null) {
|
@@ -24329,6 +24482,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24329
24482
|
onDragStart
|
24330
24483
|
} = latestProps.current;
|
24331
24484
|
const event = {
|
24485
|
+
activatorEvent,
|
24332
24486
|
active: {
|
24333
24487
|
id,
|
24334
24488
|
data: draggableNode.data,
|
@@ -24347,6 +24501,8 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24347
24501
|
type: 'onDragStart',
|
24348
24502
|
event
|
24349
24503
|
});
|
24504
|
+
setActiveSensor(activeSensorRef.current);
|
24505
|
+
setActivatorEvent(activatorEvent);
|
24350
24506
|
});
|
24351
24507
|
},
|
24352
24508
|
onMove(coordinates) {
|
@@ -24358,10 +24514,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24358
24514
|
onEnd: createHandler(Action.DragEnd),
|
24359
24515
|
onCancel: createHandler(Action.DragCancel)
|
24360
24516
|
});
|
24361
|
-
|
24362
|
-
setActiveSensor(sensorInstance);
|
24363
|
-
setActivatorEvent(event.nativeEvent);
|
24364
|
-
});
|
24517
|
+
activeSensorRef.current = sensorInstance;
|
24365
24518
|
function createHandler(type) {
|
24366
24519
|
return async function handler() {
|
24367
24520
|
const {
|
@@ -24398,6 +24551,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24398
24551
|
setOver(null);
|
24399
24552
|
setActiveSensor(null);
|
24400
24553
|
setActivatorEvent(null);
|
24554
|
+
activeSensorRef.current = null;
|
24401
24555
|
const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';
|
24402
24556
|
if (event) {
|
24403
24557
|
const handler = latestProps.current[eventName];
|
@@ -24619,7 +24773,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
24619
24773
|
});
|
24620
24774
|
const NullContext = /*#__PURE__*/React.createContext(null);
|
24621
24775
|
const defaultRole = 'button';
|
24622
|
-
const ID_PREFIX$1 = '
|
24776
|
+
const ID_PREFIX$1 = 'Draggable';
|
24623
24777
|
function useDraggable(_ref) {
|
24624
24778
|
let {
|
24625
24779
|
id,
|
@@ -24766,7 +24920,7 @@ function useDroppable(_ref) {
|
|
24766
24920
|
resizeObserverConnected.current = false;
|
24767
24921
|
resizeObserver.observe(nodeRef.current);
|
24768
24922
|
}, [nodeRef, resizeObserver]);
|
24769
|
-
|
24923
|
+
React.useEffect(() => {
|
24770
24924
|
dispatch({
|
24771
24925
|
type: Action.RegisterDroppable,
|
24772
24926
|
element: {
|
@@ -25181,6 +25335,7 @@ var DNDCore = /*#__PURE__*/Object.freeze({
|
|
25181
25335
|
defaultCoordinates: defaultCoordinates,
|
25182
25336
|
defaultDropAnimation: defaultDropAnimationConfiguration,
|
25183
25337
|
defaultDropAnimationSideEffects: defaultDropAnimationSideEffects,
|
25338
|
+
defaultKeyboardCoordinateGetter: defaultKeyboardCoordinateGetter,
|
25184
25339
|
defaultScreenReaderInstructions: defaultScreenReaderInstructions,
|
25185
25340
|
getClientRect: getClientRect,
|
25186
25341
|
getFirstCollision: getFirstCollision,
|
@@ -27054,226 +27209,559 @@ const DashboardDonutChart = ({
|
|
27054
27209
|
|
27055
27210
|
var propTypes = {exports: {}};
|
27056
27211
|
|
27057
|
-
|
27058
|
-
object-assign
|
27059
|
-
(c) Sindre Sorhus
|
27060
|
-
@license MIT
|
27061
|
-
*/
|
27062
|
-
var objectAssign;
|
27063
|
-
var hasRequiredObjectAssign;
|
27064
|
-
function requireObjectAssign() {
|
27065
|
-
if (hasRequiredObjectAssign) return objectAssign;
|
27066
|
-
hasRequiredObjectAssign = 1;
|
27067
|
-
/* eslint-disable no-unused-vars */
|
27068
|
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
27069
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
27070
|
-
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
27071
|
-
function toObject(val) {
|
27072
|
-
if (val === null || val === undefined) {
|
27073
|
-
throw new TypeError('Object.assign cannot be called with null or undefined');
|
27074
|
-
}
|
27075
|
-
return Object(val);
|
27076
|
-
}
|
27077
|
-
function shouldUseNative() {
|
27078
|
-
try {
|
27079
|
-
if (!Object.assign) {
|
27080
|
-
return false;
|
27081
|
-
}
|
27082
|
-
|
27083
|
-
// Detect buggy property enumeration order in older V8 versions.
|
27084
|
-
|
27085
|
-
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
27086
|
-
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
27087
|
-
test1[5] = 'de';
|
27088
|
-
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
27089
|
-
return false;
|
27090
|
-
}
|
27212
|
+
var reactIs = {exports: {}};
|
27091
27213
|
|
27092
|
-
|
27093
|
-
var test2 = {};
|
27094
|
-
for (var i = 0; i < 10; i++) {
|
27095
|
-
test2['_' + String.fromCharCode(i)] = i;
|
27096
|
-
}
|
27097
|
-
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
27098
|
-
return test2[n];
|
27099
|
-
});
|
27100
|
-
if (order2.join('') !== '0123456789') {
|
27101
|
-
return false;
|
27102
|
-
}
|
27214
|
+
var reactIs_production_min = {};
|
27103
27215
|
|
27104
|
-
|
27105
|
-
|
27106
|
-
|
27107
|
-
|
27108
|
-
|
27109
|
-
|
27110
|
-
|
27111
|
-
|
27112
|
-
|
27113
|
-
|
27114
|
-
|
27115
|
-
|
27116
|
-
|
27117
|
-
|
27118
|
-
|
27119
|
-
|
27120
|
-
|
27121
|
-
|
27122
|
-
|
27123
|
-
|
27124
|
-
|
27125
|
-
|
27126
|
-
|
27127
|
-
|
27128
|
-
|
27129
|
-
|
27130
|
-
|
27131
|
-
|
27132
|
-
|
27133
|
-
|
27216
|
+
/** @license React v16.13.1
|
27217
|
+
* react-is.production.min.js
|
27218
|
+
*
|
27219
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
27220
|
+
*
|
27221
|
+
* This source code is licensed under the MIT license found in the
|
27222
|
+
* LICENSE file in the root directory of this source tree.
|
27223
|
+
*/
|
27224
|
+
var hasRequiredReactIs_production_min;
|
27225
|
+
function requireReactIs_production_min() {
|
27226
|
+
if (hasRequiredReactIs_production_min) return reactIs_production_min;
|
27227
|
+
hasRequiredReactIs_production_min = 1;
|
27228
|
+
var b = "function" === typeof Symbol && Symbol.for,
|
27229
|
+
c = b ? Symbol.for("react.element") : 60103,
|
27230
|
+
d = b ? Symbol.for("react.portal") : 60106,
|
27231
|
+
e = b ? Symbol.for("react.fragment") : 60107,
|
27232
|
+
f = b ? Symbol.for("react.strict_mode") : 60108,
|
27233
|
+
g = b ? Symbol.for("react.profiler") : 60114,
|
27234
|
+
h = b ? Symbol.for("react.provider") : 60109,
|
27235
|
+
k = b ? Symbol.for("react.context") : 60110,
|
27236
|
+
l = b ? Symbol.for("react.async_mode") : 60111,
|
27237
|
+
m = b ? Symbol.for("react.concurrent_mode") : 60111,
|
27238
|
+
n = b ? Symbol.for("react.forward_ref") : 60112,
|
27239
|
+
p = b ? Symbol.for("react.suspense") : 60113,
|
27240
|
+
q = b ? Symbol.for("react.suspense_list") : 60120,
|
27241
|
+
r = b ? Symbol.for("react.memo") : 60115,
|
27242
|
+
t = b ? Symbol.for("react.lazy") : 60116,
|
27243
|
+
v = b ? Symbol.for("react.block") : 60121,
|
27244
|
+
w = b ? Symbol.for("react.fundamental") : 60117,
|
27245
|
+
x = b ? Symbol.for("react.responder") : 60118,
|
27246
|
+
y = b ? Symbol.for("react.scope") : 60119;
|
27247
|
+
function z(a) {
|
27248
|
+
if ("object" === typeof a && null !== a) {
|
27249
|
+
var u = a.$$typeof;
|
27250
|
+
switch (u) {
|
27251
|
+
case c:
|
27252
|
+
switch (a = a.type, a) {
|
27253
|
+
case l:
|
27254
|
+
case m:
|
27255
|
+
case e:
|
27256
|
+
case g:
|
27257
|
+
case f:
|
27258
|
+
case p:
|
27259
|
+
return a;
|
27260
|
+
default:
|
27261
|
+
switch (a = a && a.$$typeof, a) {
|
27262
|
+
case k:
|
27263
|
+
case n:
|
27264
|
+
case t:
|
27265
|
+
case r:
|
27266
|
+
case h:
|
27267
|
+
return a;
|
27268
|
+
default:
|
27269
|
+
return u;
|
27270
|
+
}
|
27134
27271
|
}
|
27135
|
-
|
27272
|
+
case d:
|
27273
|
+
return u;
|
27136
27274
|
}
|
27137
27275
|
}
|
27138
|
-
|
27276
|
+
}
|
27277
|
+
function A(a) {
|
27278
|
+
return z(a) === m;
|
27279
|
+
}
|
27280
|
+
reactIs_production_min.AsyncMode = l;
|
27281
|
+
reactIs_production_min.ConcurrentMode = m;
|
27282
|
+
reactIs_production_min.ContextConsumer = k;
|
27283
|
+
reactIs_production_min.ContextProvider = h;
|
27284
|
+
reactIs_production_min.Element = c;
|
27285
|
+
reactIs_production_min.ForwardRef = n;
|
27286
|
+
reactIs_production_min.Fragment = e;
|
27287
|
+
reactIs_production_min.Lazy = t;
|
27288
|
+
reactIs_production_min.Memo = r;
|
27289
|
+
reactIs_production_min.Portal = d;
|
27290
|
+
reactIs_production_min.Profiler = g;
|
27291
|
+
reactIs_production_min.StrictMode = f;
|
27292
|
+
reactIs_production_min.Suspense = p;
|
27293
|
+
reactIs_production_min.isAsyncMode = function (a) {
|
27294
|
+
return A(a) || z(a) === l;
|
27139
27295
|
};
|
27140
|
-
|
27296
|
+
reactIs_production_min.isConcurrentMode = A;
|
27297
|
+
reactIs_production_min.isContextConsumer = function (a) {
|
27298
|
+
return z(a) === k;
|
27299
|
+
};
|
27300
|
+
reactIs_production_min.isContextProvider = function (a) {
|
27301
|
+
return z(a) === h;
|
27302
|
+
};
|
27303
|
+
reactIs_production_min.isElement = function (a) {
|
27304
|
+
return "object" === typeof a && null !== a && a.$$typeof === c;
|
27305
|
+
};
|
27306
|
+
reactIs_production_min.isForwardRef = function (a) {
|
27307
|
+
return z(a) === n;
|
27308
|
+
};
|
27309
|
+
reactIs_production_min.isFragment = function (a) {
|
27310
|
+
return z(a) === e;
|
27311
|
+
};
|
27312
|
+
reactIs_production_min.isLazy = function (a) {
|
27313
|
+
return z(a) === t;
|
27314
|
+
};
|
27315
|
+
reactIs_production_min.isMemo = function (a) {
|
27316
|
+
return z(a) === r;
|
27317
|
+
};
|
27318
|
+
reactIs_production_min.isPortal = function (a) {
|
27319
|
+
return z(a) === d;
|
27320
|
+
};
|
27321
|
+
reactIs_production_min.isProfiler = function (a) {
|
27322
|
+
return z(a) === g;
|
27323
|
+
};
|
27324
|
+
reactIs_production_min.isStrictMode = function (a) {
|
27325
|
+
return z(a) === f;
|
27326
|
+
};
|
27327
|
+
reactIs_production_min.isSuspense = function (a) {
|
27328
|
+
return z(a) === p;
|
27329
|
+
};
|
27330
|
+
reactIs_production_min.isValidElementType = function (a) {
|
27331
|
+
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);
|
27332
|
+
};
|
27333
|
+
reactIs_production_min.typeOf = z;
|
27334
|
+
return reactIs_production_min;
|
27141
27335
|
}
|
27142
27336
|
|
27143
|
-
|
27144
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
27145
|
-
*
|
27146
|
-
* This source code is licensed under the MIT license found in the
|
27147
|
-
* LICENSE file in the root directory of this source tree.
|
27148
|
-
*/
|
27149
|
-
var ReactPropTypesSecret_1;
|
27150
|
-
var hasRequiredReactPropTypesSecret;
|
27151
|
-
function requireReactPropTypesSecret() {
|
27152
|
-
if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;
|
27153
|
-
hasRequiredReactPropTypesSecret = 1;
|
27154
|
-
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
27155
|
-
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
27156
|
-
return ReactPropTypesSecret_1;
|
27157
|
-
}
|
27337
|
+
var reactIs_development = {};
|
27158
27338
|
|
27159
|
-
/**
|
27160
|
-
*
|
27339
|
+
/** @license React v16.13.1
|
27340
|
+
* react-is.development.js
|
27341
|
+
*
|
27342
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
27161
27343
|
*
|
27162
27344
|
* This source code is licensed under the MIT license found in the
|
27163
27345
|
* LICENSE file in the root directory of this source tree.
|
27164
27346
|
*/
|
27165
|
-
var
|
27166
|
-
|
27167
|
-
|
27168
|
-
|
27169
|
-
|
27170
|
-
|
27171
|
-
if (process.env.NODE_ENV !== 'production') {
|
27172
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
27173
|
-
var loggedTypeFailures = {};
|
27174
|
-
printWarning = function (text) {
|
27175
|
-
var message = 'Warning: ' + text;
|
27176
|
-
if (typeof console !== 'undefined') {
|
27177
|
-
console.error(message);
|
27178
|
-
}
|
27179
|
-
try {
|
27180
|
-
// --- Welcome to debugging React ---
|
27181
|
-
// This error was thrown as a convenience so that you can use this stack
|
27182
|
-
// to find the callsite that caused this warning to fire.
|
27183
|
-
throw new Error(message);
|
27184
|
-
} catch (x) {}
|
27185
|
-
};
|
27186
|
-
}
|
27347
|
+
var hasRequiredReactIs_development;
|
27348
|
+
function requireReactIs_development() {
|
27349
|
+
if (hasRequiredReactIs_development) return reactIs_development;
|
27350
|
+
hasRequiredReactIs_development = 1;
|
27351
|
+
if (process.env.NODE_ENV !== "production") {
|
27352
|
+
(function () {
|
27187
27353
|
|
27188
|
-
|
27189
|
-
|
27190
|
-
|
27191
|
-
|
27192
|
-
|
27193
|
-
|
27194
|
-
|
27195
|
-
|
27196
|
-
|
27197
|
-
|
27198
|
-
|
27199
|
-
|
27200
|
-
|
27201
|
-
|
27202
|
-
|
27203
|
-
|
27204
|
-
|
27205
|
-
|
27206
|
-
|
27207
|
-
|
27208
|
-
|
27209
|
-
|
27210
|
-
|
27211
|
-
|
27212
|
-
|
27213
|
-
|
27214
|
-
|
27215
|
-
|
27216
|
-
|
27217
|
-
|
27218
|
-
|
27219
|
-
|
27220
|
-
|
27354
|
+
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
27355
|
+
// nor polyfill, then a plain number is used for performance.
|
27356
|
+
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
27357
|
+
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
27358
|
+
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
27359
|
+
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
27360
|
+
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
27361
|
+
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
27362
|
+
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
27363
|
+
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
27364
|
+
// (unstable) APIs that have been removed. Can we remove the symbols?
|
27365
|
+
|
27366
|
+
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
27367
|
+
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
27368
|
+
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
27369
|
+
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
27370
|
+
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
27371
|
+
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
27372
|
+
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
27373
|
+
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
27374
|
+
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
27375
|
+
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
27376
|
+
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
27377
|
+
function isValidElementType(type) {
|
27378
|
+
return typeof type === 'string' || typeof type === 'function' ||
|
27379
|
+
// Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
27380
|
+
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);
|
27381
|
+
}
|
27382
|
+
function typeOf(object) {
|
27383
|
+
if (typeof object === 'object' && object !== null) {
|
27384
|
+
var $$typeof = object.$$typeof;
|
27385
|
+
switch ($$typeof) {
|
27386
|
+
case REACT_ELEMENT_TYPE:
|
27387
|
+
var type = object.type;
|
27388
|
+
switch (type) {
|
27389
|
+
case REACT_ASYNC_MODE_TYPE:
|
27390
|
+
case REACT_CONCURRENT_MODE_TYPE:
|
27391
|
+
case REACT_FRAGMENT_TYPE:
|
27392
|
+
case REACT_PROFILER_TYPE:
|
27393
|
+
case REACT_STRICT_MODE_TYPE:
|
27394
|
+
case REACT_SUSPENSE_TYPE:
|
27395
|
+
return type;
|
27396
|
+
default:
|
27397
|
+
var $$typeofType = type && type.$$typeof;
|
27398
|
+
switch ($$typeofType) {
|
27399
|
+
case REACT_CONTEXT_TYPE:
|
27400
|
+
case REACT_FORWARD_REF_TYPE:
|
27401
|
+
case REACT_LAZY_TYPE:
|
27402
|
+
case REACT_MEMO_TYPE:
|
27403
|
+
case REACT_PROVIDER_TYPE:
|
27404
|
+
return $$typeofType;
|
27405
|
+
default:
|
27406
|
+
return $$typeof;
|
27407
|
+
}
|
27408
|
+
}
|
27409
|
+
case REACT_PORTAL_TYPE:
|
27410
|
+
return $$typeof;
|
27221
27411
|
}
|
27222
|
-
|
27223
|
-
|
27224
|
-
|
27225
|
-
|
27226
|
-
|
27227
|
-
|
27412
|
+
}
|
27413
|
+
return undefined;
|
27414
|
+
} // AsyncMode is deprecated along with isAsyncMode
|
27415
|
+
|
27416
|
+
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
27417
|
+
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
27418
|
+
var ContextConsumer = REACT_CONTEXT_TYPE;
|
27419
|
+
var ContextProvider = REACT_PROVIDER_TYPE;
|
27420
|
+
var Element = REACT_ELEMENT_TYPE;
|
27421
|
+
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
27422
|
+
var Fragment = REACT_FRAGMENT_TYPE;
|
27423
|
+
var Lazy = REACT_LAZY_TYPE;
|
27424
|
+
var Memo = REACT_MEMO_TYPE;
|
27425
|
+
var Portal = REACT_PORTAL_TYPE;
|
27426
|
+
var Profiler = REACT_PROFILER_TYPE;
|
27427
|
+
var StrictMode = REACT_STRICT_MODE_TYPE;
|
27428
|
+
var Suspense = REACT_SUSPENSE_TYPE;
|
27429
|
+
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
27430
|
+
|
27431
|
+
function isAsyncMode(object) {
|
27432
|
+
{
|
27433
|
+
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
27434
|
+
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
27435
|
+
|
27436
|
+
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.');
|
27228
27437
|
}
|
27229
27438
|
}
|
27439
|
+
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
27230
27440
|
}
|
27231
|
-
|
27441
|
+
function isConcurrentMode(object) {
|
27442
|
+
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
27443
|
+
}
|
27444
|
+
function isContextConsumer(object) {
|
27445
|
+
return typeOf(object) === REACT_CONTEXT_TYPE;
|
27446
|
+
}
|
27447
|
+
function isContextProvider(object) {
|
27448
|
+
return typeOf(object) === REACT_PROVIDER_TYPE;
|
27449
|
+
}
|
27450
|
+
function isElement(object) {
|
27451
|
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
27452
|
+
}
|
27453
|
+
function isForwardRef(object) {
|
27454
|
+
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
27455
|
+
}
|
27456
|
+
function isFragment(object) {
|
27457
|
+
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
27458
|
+
}
|
27459
|
+
function isLazy(object) {
|
27460
|
+
return typeOf(object) === REACT_LAZY_TYPE;
|
27461
|
+
}
|
27462
|
+
function isMemo(object) {
|
27463
|
+
return typeOf(object) === REACT_MEMO_TYPE;
|
27464
|
+
}
|
27465
|
+
function isPortal(object) {
|
27466
|
+
return typeOf(object) === REACT_PORTAL_TYPE;
|
27467
|
+
}
|
27468
|
+
function isProfiler(object) {
|
27469
|
+
return typeOf(object) === REACT_PROFILER_TYPE;
|
27470
|
+
}
|
27471
|
+
function isStrictMode(object) {
|
27472
|
+
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
27473
|
+
}
|
27474
|
+
function isSuspense(object) {
|
27475
|
+
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
27476
|
+
}
|
27477
|
+
reactIs_development.AsyncMode = AsyncMode;
|
27478
|
+
reactIs_development.ConcurrentMode = ConcurrentMode;
|
27479
|
+
reactIs_development.ContextConsumer = ContextConsumer;
|
27480
|
+
reactIs_development.ContextProvider = ContextProvider;
|
27481
|
+
reactIs_development.Element = Element;
|
27482
|
+
reactIs_development.ForwardRef = ForwardRef;
|
27483
|
+
reactIs_development.Fragment = Fragment;
|
27484
|
+
reactIs_development.Lazy = Lazy;
|
27485
|
+
reactIs_development.Memo = Memo;
|
27486
|
+
reactIs_development.Portal = Portal;
|
27487
|
+
reactIs_development.Profiler = Profiler;
|
27488
|
+
reactIs_development.StrictMode = StrictMode;
|
27489
|
+
reactIs_development.Suspense = Suspense;
|
27490
|
+
reactIs_development.isAsyncMode = isAsyncMode;
|
27491
|
+
reactIs_development.isConcurrentMode = isConcurrentMode;
|
27492
|
+
reactIs_development.isContextConsumer = isContextConsumer;
|
27493
|
+
reactIs_development.isContextProvider = isContextProvider;
|
27494
|
+
reactIs_development.isElement = isElement;
|
27495
|
+
reactIs_development.isForwardRef = isForwardRef;
|
27496
|
+
reactIs_development.isFragment = isFragment;
|
27497
|
+
reactIs_development.isLazy = isLazy;
|
27498
|
+
reactIs_development.isMemo = isMemo;
|
27499
|
+
reactIs_development.isPortal = isPortal;
|
27500
|
+
reactIs_development.isProfiler = isProfiler;
|
27501
|
+
reactIs_development.isStrictMode = isStrictMode;
|
27502
|
+
reactIs_development.isSuspense = isSuspense;
|
27503
|
+
reactIs_development.isValidElementType = isValidElementType;
|
27504
|
+
reactIs_development.typeOf = typeOf;
|
27505
|
+
})();
|
27232
27506
|
}
|
27233
|
-
|
27234
|
-
return checkPropTypes_1;
|
27507
|
+
return reactIs_development;
|
27235
27508
|
}
|
27236
27509
|
|
27237
|
-
|
27238
|
-
|
27239
|
-
|
27240
|
-
|
27241
|
-
|
27242
|
-
|
27243
|
-
|
27244
|
-
|
27245
|
-
function requireFactoryWithTypeCheckers() {
|
27246
|
-
if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;
|
27247
|
-
hasRequiredFactoryWithTypeCheckers = 1;
|
27248
|
-
var assign = requireObjectAssign();
|
27249
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
27250
|
-
var checkPropTypes = requireCheckPropTypes();
|
27251
|
-
var printWarning = function () {};
|
27252
|
-
if (process.env.NODE_ENV !== 'production') {
|
27253
|
-
printWarning = function (text) {
|
27254
|
-
var message = 'Warning: ' + text;
|
27255
|
-
if (typeof console !== 'undefined') {
|
27256
|
-
console.error(message);
|
27257
|
-
}
|
27258
|
-
try {
|
27259
|
-
// --- Welcome to debugging React ---
|
27260
|
-
// This error was thrown as a convenience so that you can use this stack
|
27261
|
-
// to find the callsite that caused this warning to fire.
|
27262
|
-
throw new Error(message);
|
27263
|
-
} catch (x) {}
|
27264
|
-
};
|
27265
|
-
}
|
27266
|
-
function emptyFunctionThatReturnsNull() {
|
27267
|
-
return null;
|
27510
|
+
var hasRequiredReactIs;
|
27511
|
+
function requireReactIs() {
|
27512
|
+
if (hasRequiredReactIs) return reactIs.exports;
|
27513
|
+
hasRequiredReactIs = 1;
|
27514
|
+
if (process.env.NODE_ENV === 'production') {
|
27515
|
+
reactIs.exports = requireReactIs_production_min();
|
27516
|
+
} else {
|
27517
|
+
reactIs.exports = requireReactIs_development();
|
27268
27518
|
}
|
27269
|
-
|
27270
|
-
|
27271
|
-
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
27272
|
-
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
27519
|
+
return reactIs.exports;
|
27520
|
+
}
|
27273
27521
|
|
27274
|
-
|
27275
|
-
|
27276
|
-
|
27522
|
+
/*
|
27523
|
+
object-assign
|
27524
|
+
(c) Sindre Sorhus
|
27525
|
+
@license MIT
|
27526
|
+
*/
|
27527
|
+
var objectAssign;
|
27528
|
+
var hasRequiredObjectAssign;
|
27529
|
+
function requireObjectAssign() {
|
27530
|
+
if (hasRequiredObjectAssign) return objectAssign;
|
27531
|
+
hasRequiredObjectAssign = 1;
|
27532
|
+
/* eslint-disable no-unused-vars */
|
27533
|
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
27534
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
27535
|
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
27536
|
+
function toObject(val) {
|
27537
|
+
if (val === null || val === undefined) {
|
27538
|
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
27539
|
+
}
|
27540
|
+
return Object(val);
|
27541
|
+
}
|
27542
|
+
function shouldUseNative() {
|
27543
|
+
try {
|
27544
|
+
if (!Object.assign) {
|
27545
|
+
return false;
|
27546
|
+
}
|
27547
|
+
|
27548
|
+
// Detect buggy property enumeration order in older V8 versions.
|
27549
|
+
|
27550
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
27551
|
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
27552
|
+
test1[5] = 'de';
|
27553
|
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
27554
|
+
return false;
|
27555
|
+
}
|
27556
|
+
|
27557
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
27558
|
+
var test2 = {};
|
27559
|
+
for (var i = 0; i < 10; i++) {
|
27560
|
+
test2['_' + String.fromCharCode(i)] = i;
|
27561
|
+
}
|
27562
|
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
27563
|
+
return test2[n];
|
27564
|
+
});
|
27565
|
+
if (order2.join('') !== '0123456789') {
|
27566
|
+
return false;
|
27567
|
+
}
|
27568
|
+
|
27569
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
27570
|
+
var test3 = {};
|
27571
|
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
27572
|
+
test3[letter] = letter;
|
27573
|
+
});
|
27574
|
+
if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
|
27575
|
+
return false;
|
27576
|
+
}
|
27577
|
+
return true;
|
27578
|
+
} catch (err) {
|
27579
|
+
// We don't expect any of the above to throw, but better to be safe.
|
27580
|
+
return false;
|
27581
|
+
}
|
27582
|
+
}
|
27583
|
+
objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
|
27584
|
+
var from;
|
27585
|
+
var to = toObject(target);
|
27586
|
+
var symbols;
|
27587
|
+
for (var s = 1; s < arguments.length; s++) {
|
27588
|
+
from = Object(arguments[s]);
|
27589
|
+
for (var key in from) {
|
27590
|
+
if (hasOwnProperty.call(from, key)) {
|
27591
|
+
to[key] = from[key];
|
27592
|
+
}
|
27593
|
+
}
|
27594
|
+
if (getOwnPropertySymbols) {
|
27595
|
+
symbols = getOwnPropertySymbols(from);
|
27596
|
+
for (var i = 0; i < symbols.length; i++) {
|
27597
|
+
if (propIsEnumerable.call(from, symbols[i])) {
|
27598
|
+
to[symbols[i]] = from[symbols[i]];
|
27599
|
+
}
|
27600
|
+
}
|
27601
|
+
}
|
27602
|
+
}
|
27603
|
+
return to;
|
27604
|
+
};
|
27605
|
+
return objectAssign;
|
27606
|
+
}
|
27607
|
+
|
27608
|
+
/**
|
27609
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27610
|
+
*
|
27611
|
+
* This source code is licensed under the MIT license found in the
|
27612
|
+
* LICENSE file in the root directory of this source tree.
|
27613
|
+
*/
|
27614
|
+
var ReactPropTypesSecret_1;
|
27615
|
+
var hasRequiredReactPropTypesSecret;
|
27616
|
+
function requireReactPropTypesSecret() {
|
27617
|
+
if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;
|
27618
|
+
hasRequiredReactPropTypesSecret = 1;
|
27619
|
+
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
27620
|
+
ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
27621
|
+
return ReactPropTypesSecret_1;
|
27622
|
+
}
|
27623
|
+
|
27624
|
+
var has$1;
|
27625
|
+
var hasRequiredHas;
|
27626
|
+
function requireHas() {
|
27627
|
+
if (hasRequiredHas) return has$1;
|
27628
|
+
hasRequiredHas = 1;
|
27629
|
+
has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
27630
|
+
return has$1;
|
27631
|
+
}
|
27632
|
+
|
27633
|
+
/**
|
27634
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27635
|
+
*
|
27636
|
+
* This source code is licensed under the MIT license found in the
|
27637
|
+
* LICENSE file in the root directory of this source tree.
|
27638
|
+
*/
|
27639
|
+
var checkPropTypes_1;
|
27640
|
+
var hasRequiredCheckPropTypes;
|
27641
|
+
function requireCheckPropTypes() {
|
27642
|
+
if (hasRequiredCheckPropTypes) return checkPropTypes_1;
|
27643
|
+
hasRequiredCheckPropTypes = 1;
|
27644
|
+
var printWarning = function () {};
|
27645
|
+
if (process.env.NODE_ENV !== 'production') {
|
27646
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27647
|
+
var loggedTypeFailures = {};
|
27648
|
+
var has = /*@__PURE__*/requireHas();
|
27649
|
+
printWarning = function (text) {
|
27650
|
+
var message = 'Warning: ' + text;
|
27651
|
+
if (typeof console !== 'undefined') {
|
27652
|
+
console.error(message);
|
27653
|
+
}
|
27654
|
+
try {
|
27655
|
+
// --- Welcome to debugging React ---
|
27656
|
+
// This error was thrown as a convenience so that you can use this stack
|
27657
|
+
// to find the callsite that caused this warning to fire.
|
27658
|
+
throw new Error(message);
|
27659
|
+
} catch (x) {/**/}
|
27660
|
+
};
|
27661
|
+
}
|
27662
|
+
|
27663
|
+
/**
|
27664
|
+
* Assert that the values match with the type specs.
|
27665
|
+
* Error messages are memorized and will only be shown once.
|
27666
|
+
*
|
27667
|
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
27668
|
+
* @param {object} values Runtime values that need to be type-checked
|
27669
|
+
* @param {string} location e.g. "prop", "context", "child context"
|
27670
|
+
* @param {string} componentName Name of the component for error messages.
|
27671
|
+
* @param {?Function} getStack Returns the component stack.
|
27672
|
+
* @private
|
27673
|
+
*/
|
27674
|
+
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
27675
|
+
if (process.env.NODE_ENV !== 'production') {
|
27676
|
+
for (var typeSpecName in typeSpecs) {
|
27677
|
+
if (has(typeSpecs, typeSpecName)) {
|
27678
|
+
var error;
|
27679
|
+
// Prop type validation may throw. In case they do, we don't want to
|
27680
|
+
// fail the render phase where it didn't fail before. So we log it.
|
27681
|
+
// After these have been cleaned up, we'll let them throw.
|
27682
|
+
try {
|
27683
|
+
// This is intentionally an invariant that gets caught. It's the same
|
27684
|
+
// behavior as without this statement except with a better message.
|
27685
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
27686
|
+
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`.');
|
27687
|
+
err.name = 'Invariant Violation';
|
27688
|
+
throw err;
|
27689
|
+
}
|
27690
|
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
27691
|
+
} catch (ex) {
|
27692
|
+
error = ex;
|
27693
|
+
}
|
27694
|
+
if (error && !(error instanceof Error)) {
|
27695
|
+
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).');
|
27696
|
+
}
|
27697
|
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
27698
|
+
// Only monitor this failure once because there tends to be a lot of the
|
27699
|
+
// same error.
|
27700
|
+
loggedTypeFailures[error.message] = true;
|
27701
|
+
var stack = getStack ? getStack() : '';
|
27702
|
+
printWarning('Failed ' + location + ' type: ' + error.message + (stack != null ? stack : ''));
|
27703
|
+
}
|
27704
|
+
}
|
27705
|
+
}
|
27706
|
+
}
|
27707
|
+
}
|
27708
|
+
|
27709
|
+
/**
|
27710
|
+
* Resets warning cache when testing.
|
27711
|
+
*
|
27712
|
+
* @private
|
27713
|
+
*/
|
27714
|
+
checkPropTypes.resetWarningCache = function () {
|
27715
|
+
if (process.env.NODE_ENV !== 'production') {
|
27716
|
+
loggedTypeFailures = {};
|
27717
|
+
}
|
27718
|
+
};
|
27719
|
+
checkPropTypes_1 = checkPropTypes;
|
27720
|
+
return checkPropTypes_1;
|
27721
|
+
}
|
27722
|
+
|
27723
|
+
/**
|
27724
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
27725
|
+
*
|
27726
|
+
* This source code is licensed under the MIT license found in the
|
27727
|
+
* LICENSE file in the root directory of this source tree.
|
27728
|
+
*/
|
27729
|
+
var factoryWithTypeCheckers;
|
27730
|
+
var hasRequiredFactoryWithTypeCheckers;
|
27731
|
+
function requireFactoryWithTypeCheckers() {
|
27732
|
+
if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;
|
27733
|
+
hasRequiredFactoryWithTypeCheckers = 1;
|
27734
|
+
var ReactIs = requireReactIs();
|
27735
|
+
var assign = requireObjectAssign();
|
27736
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27737
|
+
var has = /*@__PURE__*/requireHas();
|
27738
|
+
var checkPropTypes = /*@__PURE__*/requireCheckPropTypes();
|
27739
|
+
var printWarning = function () {};
|
27740
|
+
if (process.env.NODE_ENV !== 'production') {
|
27741
|
+
printWarning = function (text) {
|
27742
|
+
var message = 'Warning: ' + text;
|
27743
|
+
if (typeof console !== 'undefined') {
|
27744
|
+
console.error(message);
|
27745
|
+
}
|
27746
|
+
try {
|
27747
|
+
// --- Welcome to debugging React ---
|
27748
|
+
// This error was thrown as a convenience so that you can use this stack
|
27749
|
+
// to find the callsite that caused this warning to fire.
|
27750
|
+
throw new Error(message);
|
27751
|
+
} catch (x) {}
|
27752
|
+
};
|
27753
|
+
}
|
27754
|
+
function emptyFunctionThatReturnsNull() {
|
27755
|
+
return null;
|
27756
|
+
}
|
27757
|
+
factoryWithTypeCheckers = function (isValidElement, throwOnDirectAccess) {
|
27758
|
+
/* global Symbol */
|
27759
|
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
27760
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
27761
|
+
|
27762
|
+
/**
|
27763
|
+
* Returns the iterator method function contained on the iterable object.
|
27764
|
+
*
|
27277
27765
|
* Be sure to invoke the function with the iterable as context:
|
27278
27766
|
*
|
27279
27767
|
* var iteratorFn = getIteratorFn(myIterable);
|
@@ -27345,6 +27833,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27345
27833
|
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
27346
27834
|
var ReactPropTypes = {
|
27347
27835
|
array: createPrimitiveTypeChecker('array'),
|
27836
|
+
bigint: createPrimitiveTypeChecker('bigint'),
|
27348
27837
|
bool: createPrimitiveTypeChecker('boolean'),
|
27349
27838
|
func: createPrimitiveTypeChecker('function'),
|
27350
27839
|
number: createPrimitiveTypeChecker('number'),
|
@@ -27354,6 +27843,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27354
27843
|
any: createAnyTypeChecker(),
|
27355
27844
|
arrayOf: createArrayOfTypeChecker,
|
27356
27845
|
element: createElementTypeChecker(),
|
27846
|
+
elementType: createElementTypeTypeChecker(),
|
27357
27847
|
instanceOf: createInstanceTypeChecker,
|
27358
27848
|
node: createNodeChecker(),
|
27359
27849
|
objectOf: createObjectOfTypeChecker,
|
@@ -27388,8 +27878,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27388
27878
|
* is prohibitively expensive if they are created too often, such as what
|
27389
27879
|
* happens in oneOfType() for any type before the one that matched.
|
27390
27880
|
*/
|
27391
|
-
function PropTypeError(message) {
|
27881
|
+
function PropTypeError(message, data) {
|
27392
27882
|
this.message = message;
|
27883
|
+
this.data = data && typeof data === 'object' ? data : {};
|
27393
27884
|
this.stack = '';
|
27394
27885
|
}
|
27395
27886
|
// Make `instanceof Error` still work for returned errors.
|
@@ -27445,7 +27936,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27445
27936
|
// check, but we can offer a more precise error message here rather than
|
27446
27937
|
// 'of type `object`'.
|
27447
27938
|
var preciseType = getPreciseType(propValue);
|
27448
|
-
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')
|
27939
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {
|
27940
|
+
expectedType: expectedType
|
27941
|
+
});
|
27449
27942
|
}
|
27450
27943
|
return null;
|
27451
27944
|
}
|
@@ -27485,6 +27978,17 @@ function requireFactoryWithTypeCheckers() {
|
|
27485
27978
|
}
|
27486
27979
|
return createChainableTypeChecker(validate);
|
27487
27980
|
}
|
27981
|
+
function createElementTypeTypeChecker() {
|
27982
|
+
function validate(props, propName, componentName, location, propFullName) {
|
27983
|
+
var propValue = props[propName];
|
27984
|
+
if (!ReactIs.isValidElementType(propValue)) {
|
27985
|
+
var propType = getPropType(propValue);
|
27986
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
|
27987
|
+
}
|
27988
|
+
return null;
|
27989
|
+
}
|
27990
|
+
return createChainableTypeChecker(validate);
|
27991
|
+
}
|
27488
27992
|
function createInstanceTypeChecker(expectedClass) {
|
27489
27993
|
function validate(props, propName, componentName, location, propFullName) {
|
27490
27994
|
if (!(props[propName] instanceof expectedClass)) {
|
@@ -27498,7 +28002,13 @@ function requireFactoryWithTypeCheckers() {
|
|
27498
28002
|
}
|
27499
28003
|
function createEnumTypeChecker(expectedValues) {
|
27500
28004
|
if (!Array.isArray(expectedValues)) {
|
27501
|
-
process.env.NODE_ENV !== 'production'
|
28005
|
+
if (process.env.NODE_ENV !== 'production') {
|
28006
|
+
if (arguments.length > 1) {
|
28007
|
+
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]).');
|
28008
|
+
} else {
|
28009
|
+
printWarning('Invalid argument supplied to oneOf, expected an array.');
|
28010
|
+
}
|
28011
|
+
}
|
27502
28012
|
return emptyFunctionThatReturnsNull;
|
27503
28013
|
}
|
27504
28014
|
function validate(props, propName, componentName, location, propFullName) {
|
@@ -27508,8 +28018,14 @@ function requireFactoryWithTypeCheckers() {
|
|
27508
28018
|
return null;
|
27509
28019
|
}
|
27510
28020
|
}
|
27511
|
-
var valuesString = JSON.stringify(expectedValues)
|
27512
|
-
|
28021
|
+
var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
|
28022
|
+
var type = getPreciseType(value);
|
28023
|
+
if (type === 'symbol') {
|
28024
|
+
return String(value);
|
28025
|
+
}
|
28026
|
+
return value;
|
28027
|
+
});
|
28028
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
27513
28029
|
}
|
27514
28030
|
return createChainableTypeChecker(validate);
|
27515
28031
|
}
|
@@ -27524,7 +28040,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27524
28040
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
27525
28041
|
}
|
27526
28042
|
for (var key in propValue) {
|
27527
|
-
if (propValue
|
28043
|
+
if (has(propValue, key)) {
|
27528
28044
|
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
27529
28045
|
if (error instanceof Error) {
|
27530
28046
|
return error;
|
@@ -27548,13 +28064,19 @@ function requireFactoryWithTypeCheckers() {
|
|
27548
28064
|
}
|
27549
28065
|
}
|
27550
28066
|
function validate(props, propName, componentName, location, propFullName) {
|
28067
|
+
var expectedTypes = [];
|
27551
28068
|
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
27552
28069
|
var checker = arrayOfTypeCheckers[i];
|
27553
|
-
|
28070
|
+
var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
|
28071
|
+
if (checkerResult == null) {
|
27554
28072
|
return null;
|
27555
28073
|
}
|
28074
|
+
if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
|
28075
|
+
expectedTypes.push(checkerResult.data.expectedType);
|
28076
|
+
}
|
27556
28077
|
}
|
27557
|
-
|
28078
|
+
var expectedTypesMessage = expectedTypes.length > 0 ? ', expected one of type [' + expectedTypes.join(', ') + ']' : '';
|
28079
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
|
27558
28080
|
}
|
27559
28081
|
return createChainableTypeChecker(validate);
|
27560
28082
|
}
|
@@ -27567,6 +28089,9 @@ function requireFactoryWithTypeCheckers() {
|
|
27567
28089
|
}
|
27568
28090
|
return createChainableTypeChecker(validate);
|
27569
28091
|
}
|
28092
|
+
function invalidValidatorError(componentName, location, propFullName, key, type) {
|
28093
|
+
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 + '`.');
|
28094
|
+
}
|
27570
28095
|
function createShapeTypeChecker(shapeTypes) {
|
27571
28096
|
function validate(props, propName, componentName, location, propFullName) {
|
27572
28097
|
var propValue = props[propName];
|
@@ -27576,8 +28101,8 @@ function requireFactoryWithTypeCheckers() {
|
|
27576
28101
|
}
|
27577
28102
|
for (var key in shapeTypes) {
|
27578
28103
|
var checker = shapeTypes[key];
|
27579
|
-
if (
|
27580
|
-
|
28104
|
+
if (typeof checker !== 'function') {
|
28105
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
27581
28106
|
}
|
27582
28107
|
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
27583
28108
|
if (error) {
|
@@ -27595,11 +28120,13 @@ function requireFactoryWithTypeCheckers() {
|
|
27595
28120
|
if (propType !== 'object') {
|
27596
28121
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
27597
28122
|
}
|
27598
|
-
// We need to check all keys in case some are required but missing from
|
27599
|
-
// props.
|
28123
|
+
// We need to check all keys in case some are required but missing from props.
|
27600
28124
|
var allKeys = assign({}, props[propName], shapeTypes);
|
27601
28125
|
for (var key in allKeys) {
|
27602
28126
|
var checker = shapeTypes[key];
|
28127
|
+
if (has(shapeTypes, key) && typeof checker !== 'function') {
|
28128
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
28129
|
+
}
|
27603
28130
|
if (!checker) {
|
27604
28131
|
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, ' '));
|
27605
28132
|
}
|
@@ -27662,6 +28189,11 @@ function requireFactoryWithTypeCheckers() {
|
|
27662
28189
|
return true;
|
27663
28190
|
}
|
27664
28191
|
|
28192
|
+
// falsy value can't be a Symbol
|
28193
|
+
if (!propValue) {
|
28194
|
+
return false;
|
28195
|
+
}
|
28196
|
+
|
27665
28197
|
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
27666
28198
|
if (propValue['@@toStringTag'] === 'Symbol') {
|
27667
28199
|
return true;
|
@@ -27734,6 +28266,7 @@ function requireFactoryWithTypeCheckers() {
|
|
27734
28266
|
return propValue.constructor.name;
|
27735
28267
|
}
|
27736
28268
|
ReactPropTypes.checkPropTypes = checkPropTypes;
|
28269
|
+
ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
|
27737
28270
|
ReactPropTypes.PropTypes = ReactPropTypes;
|
27738
28271
|
return ReactPropTypes;
|
27739
28272
|
};
|
@@ -27751,8 +28284,10 @@ var hasRequiredFactoryWithThrowingShims;
|
|
27751
28284
|
function requireFactoryWithThrowingShims() {
|
27752
28285
|
if (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;
|
27753
28286
|
hasRequiredFactoryWithThrowingShims = 1;
|
27754
|
-
var ReactPropTypesSecret = requireReactPropTypesSecret();
|
28287
|
+
var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
|
27755
28288
|
function emptyFunction() {}
|
28289
|
+
function emptyFunctionWithReset() {}
|
28290
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
27756
28291
|
factoryWithThrowingShims = function () {
|
27757
28292
|
function shim(props, propName, componentName, location, propFullName, secret) {
|
27758
28293
|
if (secret === ReactPropTypesSecret) {
|
@@ -27771,6 +28306,7 @@ function requireFactoryWithThrowingShims() {
|
|
27771
28306
|
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
27772
28307
|
var ReactPropTypes = {
|
27773
28308
|
array: shim,
|
28309
|
+
bigint: shim,
|
27774
28310
|
bool: shim,
|
27775
28311
|
func: shim,
|
27776
28312
|
number: shim,
|
@@ -27780,15 +28316,17 @@ function requireFactoryWithThrowingShims() {
|
|
27780
28316
|
any: shim,
|
27781
28317
|
arrayOf: getShim,
|
27782
28318
|
element: shim,
|
28319
|
+
elementType: shim,
|
27783
28320
|
instanceOf: getShim,
|
27784
28321
|
node: shim,
|
27785
28322
|
objectOf: getShim,
|
27786
28323
|
oneOf: getShim,
|
27787
28324
|
oneOfType: getShim,
|
27788
28325
|
shape: getShim,
|
27789
|
-
exact: getShim
|
28326
|
+
exact: getShim,
|
28327
|
+
checkPropTypes: emptyFunctionWithReset,
|
28328
|
+
resetWarningCache: emptyFunction
|
27790
28329
|
};
|
27791
|
-
ReactPropTypes.checkPropTypes = emptyFunction;
|
27792
28330
|
ReactPropTypes.PropTypes = ReactPropTypes;
|
27793
28331
|
return ReactPropTypes;
|
27794
28332
|
};
|
@@ -27806,24 +28344,21 @@ function requirePropTypes() {
|
|
27806
28344
|
if (hasRequiredPropTypes) return propTypes.exports;
|
27807
28345
|
hasRequiredPropTypes = 1;
|
27808
28346
|
if (process.env.NODE_ENV !== 'production') {
|
27809
|
-
var
|
27810
|
-
var isValidElement = function (object) {
|
27811
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
27812
|
-
};
|
28347
|
+
var ReactIs = requireReactIs();
|
27813
28348
|
|
27814
28349
|
// By explicitly using `prop-types` you are opting into new development behavior.
|
27815
28350
|
// http://fb.me/prop-types-in-prod
|
27816
28351
|
var throwOnDirectAccess = true;
|
27817
|
-
propTypes.exports = requireFactoryWithTypeCheckers()(
|
28352
|
+
propTypes.exports = /*@__PURE__*/requireFactoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
|
27818
28353
|
} else {
|
27819
28354
|
// By explicitly using `prop-types` you are opting into new production behavior.
|
27820
28355
|
// http://fb.me/prop-types-in-prod
|
27821
|
-
propTypes.exports = requireFactoryWithThrowingShims()();
|
28356
|
+
propTypes.exports = /*@__PURE__*/requireFactoryWithThrowingShims()();
|
27822
28357
|
}
|
27823
28358
|
return propTypes.exports;
|
27824
28359
|
}
|
27825
28360
|
|
27826
|
-
var propTypesExports = requirePropTypes();
|
28361
|
+
var propTypesExports = /*@__PURE__*/ requirePropTypes();
|
27827
28362
|
var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
|
27828
28363
|
|
27829
28364
|
var _excluded = ["sitekey", "onChange", "theme", "type", "tabindex", "onExpired", "onErrored", "size", "stoken", "grecaptcha", "badge", "hl", "isolated"];
|
@@ -28044,316 +28579,6 @@ ReCAPTCHA.defaultProps = {
|
|
28044
28579
|
badge: "bottomright"
|
28045
28580
|
};
|
28046
28581
|
|
28047
|
-
var reactIs = {exports: {}};
|
28048
|
-
|
28049
|
-
var reactIs_production_min = {};
|
28050
|
-
|
28051
|
-
/** @license React v16.13.1
|
28052
|
-
* react-is.production.min.js
|
28053
|
-
*
|
28054
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
28055
|
-
*
|
28056
|
-
* This source code is licensed under the MIT license found in the
|
28057
|
-
* LICENSE file in the root directory of this source tree.
|
28058
|
-
*/
|
28059
|
-
var hasRequiredReactIs_production_min;
|
28060
|
-
function requireReactIs_production_min() {
|
28061
|
-
if (hasRequiredReactIs_production_min) return reactIs_production_min;
|
28062
|
-
hasRequiredReactIs_production_min = 1;
|
28063
|
-
var b = "function" === typeof Symbol && Symbol.for,
|
28064
|
-
c = b ? Symbol.for("react.element") : 60103,
|
28065
|
-
d = b ? Symbol.for("react.portal") : 60106,
|
28066
|
-
e = b ? Symbol.for("react.fragment") : 60107,
|
28067
|
-
f = b ? Symbol.for("react.strict_mode") : 60108,
|
28068
|
-
g = b ? Symbol.for("react.profiler") : 60114,
|
28069
|
-
h = b ? Symbol.for("react.provider") : 60109,
|
28070
|
-
k = b ? Symbol.for("react.context") : 60110,
|
28071
|
-
l = b ? Symbol.for("react.async_mode") : 60111,
|
28072
|
-
m = b ? Symbol.for("react.concurrent_mode") : 60111,
|
28073
|
-
n = b ? Symbol.for("react.forward_ref") : 60112,
|
28074
|
-
p = b ? Symbol.for("react.suspense") : 60113,
|
28075
|
-
q = b ? Symbol.for("react.suspense_list") : 60120,
|
28076
|
-
r = b ? Symbol.for("react.memo") : 60115,
|
28077
|
-
t = b ? Symbol.for("react.lazy") : 60116,
|
28078
|
-
v = b ? Symbol.for("react.block") : 60121,
|
28079
|
-
w = b ? Symbol.for("react.fundamental") : 60117,
|
28080
|
-
x = b ? Symbol.for("react.responder") : 60118,
|
28081
|
-
y = b ? Symbol.for("react.scope") : 60119;
|
28082
|
-
function z(a) {
|
28083
|
-
if ("object" === typeof a && null !== a) {
|
28084
|
-
var u = a.$$typeof;
|
28085
|
-
switch (u) {
|
28086
|
-
case c:
|
28087
|
-
switch (a = a.type, a) {
|
28088
|
-
case l:
|
28089
|
-
case m:
|
28090
|
-
case e:
|
28091
|
-
case g:
|
28092
|
-
case f:
|
28093
|
-
case p:
|
28094
|
-
return a;
|
28095
|
-
default:
|
28096
|
-
switch (a = a && a.$$typeof, a) {
|
28097
|
-
case k:
|
28098
|
-
case n:
|
28099
|
-
case t:
|
28100
|
-
case r:
|
28101
|
-
case h:
|
28102
|
-
return a;
|
28103
|
-
default:
|
28104
|
-
return u;
|
28105
|
-
}
|
28106
|
-
}
|
28107
|
-
case d:
|
28108
|
-
return u;
|
28109
|
-
}
|
28110
|
-
}
|
28111
|
-
}
|
28112
|
-
function A(a) {
|
28113
|
-
return z(a) === m;
|
28114
|
-
}
|
28115
|
-
reactIs_production_min.AsyncMode = l;
|
28116
|
-
reactIs_production_min.ConcurrentMode = m;
|
28117
|
-
reactIs_production_min.ContextConsumer = k;
|
28118
|
-
reactIs_production_min.ContextProvider = h;
|
28119
|
-
reactIs_production_min.Element = c;
|
28120
|
-
reactIs_production_min.ForwardRef = n;
|
28121
|
-
reactIs_production_min.Fragment = e;
|
28122
|
-
reactIs_production_min.Lazy = t;
|
28123
|
-
reactIs_production_min.Memo = r;
|
28124
|
-
reactIs_production_min.Portal = d;
|
28125
|
-
reactIs_production_min.Profiler = g;
|
28126
|
-
reactIs_production_min.StrictMode = f;
|
28127
|
-
reactIs_production_min.Suspense = p;
|
28128
|
-
reactIs_production_min.isAsyncMode = function (a) {
|
28129
|
-
return A(a) || z(a) === l;
|
28130
|
-
};
|
28131
|
-
reactIs_production_min.isConcurrentMode = A;
|
28132
|
-
reactIs_production_min.isContextConsumer = function (a) {
|
28133
|
-
return z(a) === k;
|
28134
|
-
};
|
28135
|
-
reactIs_production_min.isContextProvider = function (a) {
|
28136
|
-
return z(a) === h;
|
28137
|
-
};
|
28138
|
-
reactIs_production_min.isElement = function (a) {
|
28139
|
-
return "object" === typeof a && null !== a && a.$$typeof === c;
|
28140
|
-
};
|
28141
|
-
reactIs_production_min.isForwardRef = function (a) {
|
28142
|
-
return z(a) === n;
|
28143
|
-
};
|
28144
|
-
reactIs_production_min.isFragment = function (a) {
|
28145
|
-
return z(a) === e;
|
28146
|
-
};
|
28147
|
-
reactIs_production_min.isLazy = function (a) {
|
28148
|
-
return z(a) === t;
|
28149
|
-
};
|
28150
|
-
reactIs_production_min.isMemo = function (a) {
|
28151
|
-
return z(a) === r;
|
28152
|
-
};
|
28153
|
-
reactIs_production_min.isPortal = function (a) {
|
28154
|
-
return z(a) === d;
|
28155
|
-
};
|
28156
|
-
reactIs_production_min.isProfiler = function (a) {
|
28157
|
-
return z(a) === g;
|
28158
|
-
};
|
28159
|
-
reactIs_production_min.isStrictMode = function (a) {
|
28160
|
-
return z(a) === f;
|
28161
|
-
};
|
28162
|
-
reactIs_production_min.isSuspense = function (a) {
|
28163
|
-
return z(a) === p;
|
28164
|
-
};
|
28165
|
-
reactIs_production_min.isValidElementType = function (a) {
|
28166
|
-
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);
|
28167
|
-
};
|
28168
|
-
reactIs_production_min.typeOf = z;
|
28169
|
-
return reactIs_production_min;
|
28170
|
-
}
|
28171
|
-
|
28172
|
-
var reactIs_development = {};
|
28173
|
-
|
28174
|
-
/** @license React v16.13.1
|
28175
|
-
* react-is.development.js
|
28176
|
-
*
|
28177
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
28178
|
-
*
|
28179
|
-
* This source code is licensed under the MIT license found in the
|
28180
|
-
* LICENSE file in the root directory of this source tree.
|
28181
|
-
*/
|
28182
|
-
var hasRequiredReactIs_development;
|
28183
|
-
function requireReactIs_development() {
|
28184
|
-
if (hasRequiredReactIs_development) return reactIs_development;
|
28185
|
-
hasRequiredReactIs_development = 1;
|
28186
|
-
if (process.env.NODE_ENV !== "production") {
|
28187
|
-
(function () {
|
28188
|
-
|
28189
|
-
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
28190
|
-
// nor polyfill, then a plain number is used for performance.
|
28191
|
-
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
28192
|
-
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
28193
|
-
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
28194
|
-
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
28195
|
-
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
28196
|
-
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
28197
|
-
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
28198
|
-
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
28199
|
-
// (unstable) APIs that have been removed. Can we remove the symbols?
|
28200
|
-
|
28201
|
-
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
28202
|
-
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
28203
|
-
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
28204
|
-
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
28205
|
-
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
28206
|
-
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
28207
|
-
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
28208
|
-
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
28209
|
-
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
28210
|
-
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
28211
|
-
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
28212
|
-
function isValidElementType(type) {
|
28213
|
-
return typeof type === 'string' || typeof type === 'function' ||
|
28214
|
-
// Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
28215
|
-
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);
|
28216
|
-
}
|
28217
|
-
function typeOf(object) {
|
28218
|
-
if (typeof object === 'object' && object !== null) {
|
28219
|
-
var $$typeof = object.$$typeof;
|
28220
|
-
switch ($$typeof) {
|
28221
|
-
case REACT_ELEMENT_TYPE:
|
28222
|
-
var type = object.type;
|
28223
|
-
switch (type) {
|
28224
|
-
case REACT_ASYNC_MODE_TYPE:
|
28225
|
-
case REACT_CONCURRENT_MODE_TYPE:
|
28226
|
-
case REACT_FRAGMENT_TYPE:
|
28227
|
-
case REACT_PROFILER_TYPE:
|
28228
|
-
case REACT_STRICT_MODE_TYPE:
|
28229
|
-
case REACT_SUSPENSE_TYPE:
|
28230
|
-
return type;
|
28231
|
-
default:
|
28232
|
-
var $$typeofType = type && type.$$typeof;
|
28233
|
-
switch ($$typeofType) {
|
28234
|
-
case REACT_CONTEXT_TYPE:
|
28235
|
-
case REACT_FORWARD_REF_TYPE:
|
28236
|
-
case REACT_LAZY_TYPE:
|
28237
|
-
case REACT_MEMO_TYPE:
|
28238
|
-
case REACT_PROVIDER_TYPE:
|
28239
|
-
return $$typeofType;
|
28240
|
-
default:
|
28241
|
-
return $$typeof;
|
28242
|
-
}
|
28243
|
-
}
|
28244
|
-
case REACT_PORTAL_TYPE:
|
28245
|
-
return $$typeof;
|
28246
|
-
}
|
28247
|
-
}
|
28248
|
-
return undefined;
|
28249
|
-
} // AsyncMode is deprecated along with isAsyncMode
|
28250
|
-
|
28251
|
-
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
28252
|
-
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
28253
|
-
var ContextConsumer = REACT_CONTEXT_TYPE;
|
28254
|
-
var ContextProvider = REACT_PROVIDER_TYPE;
|
28255
|
-
var Element = REACT_ELEMENT_TYPE;
|
28256
|
-
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
28257
|
-
var Fragment = REACT_FRAGMENT_TYPE;
|
28258
|
-
var Lazy = REACT_LAZY_TYPE;
|
28259
|
-
var Memo = REACT_MEMO_TYPE;
|
28260
|
-
var Portal = REACT_PORTAL_TYPE;
|
28261
|
-
var Profiler = REACT_PROFILER_TYPE;
|
28262
|
-
var StrictMode = REACT_STRICT_MODE_TYPE;
|
28263
|
-
var Suspense = REACT_SUSPENSE_TYPE;
|
28264
|
-
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
28265
|
-
|
28266
|
-
function isAsyncMode(object) {
|
28267
|
-
{
|
28268
|
-
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
28269
|
-
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
28270
|
-
|
28271
|
-
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.');
|
28272
|
-
}
|
28273
|
-
}
|
28274
|
-
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
28275
|
-
}
|
28276
|
-
function isConcurrentMode(object) {
|
28277
|
-
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
28278
|
-
}
|
28279
|
-
function isContextConsumer(object) {
|
28280
|
-
return typeOf(object) === REACT_CONTEXT_TYPE;
|
28281
|
-
}
|
28282
|
-
function isContextProvider(object) {
|
28283
|
-
return typeOf(object) === REACT_PROVIDER_TYPE;
|
28284
|
-
}
|
28285
|
-
function isElement(object) {
|
28286
|
-
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
28287
|
-
}
|
28288
|
-
function isForwardRef(object) {
|
28289
|
-
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
28290
|
-
}
|
28291
|
-
function isFragment(object) {
|
28292
|
-
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
28293
|
-
}
|
28294
|
-
function isLazy(object) {
|
28295
|
-
return typeOf(object) === REACT_LAZY_TYPE;
|
28296
|
-
}
|
28297
|
-
function isMemo(object) {
|
28298
|
-
return typeOf(object) === REACT_MEMO_TYPE;
|
28299
|
-
}
|
28300
|
-
function isPortal(object) {
|
28301
|
-
return typeOf(object) === REACT_PORTAL_TYPE;
|
28302
|
-
}
|
28303
|
-
function isProfiler(object) {
|
28304
|
-
return typeOf(object) === REACT_PROFILER_TYPE;
|
28305
|
-
}
|
28306
|
-
function isStrictMode(object) {
|
28307
|
-
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
28308
|
-
}
|
28309
|
-
function isSuspense(object) {
|
28310
|
-
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
28311
|
-
}
|
28312
|
-
reactIs_development.AsyncMode = AsyncMode;
|
28313
|
-
reactIs_development.ConcurrentMode = ConcurrentMode;
|
28314
|
-
reactIs_development.ContextConsumer = ContextConsumer;
|
28315
|
-
reactIs_development.ContextProvider = ContextProvider;
|
28316
|
-
reactIs_development.Element = Element;
|
28317
|
-
reactIs_development.ForwardRef = ForwardRef;
|
28318
|
-
reactIs_development.Fragment = Fragment;
|
28319
|
-
reactIs_development.Lazy = Lazy;
|
28320
|
-
reactIs_development.Memo = Memo;
|
28321
|
-
reactIs_development.Portal = Portal;
|
28322
|
-
reactIs_development.Profiler = Profiler;
|
28323
|
-
reactIs_development.StrictMode = StrictMode;
|
28324
|
-
reactIs_development.Suspense = Suspense;
|
28325
|
-
reactIs_development.isAsyncMode = isAsyncMode;
|
28326
|
-
reactIs_development.isConcurrentMode = isConcurrentMode;
|
28327
|
-
reactIs_development.isContextConsumer = isContextConsumer;
|
28328
|
-
reactIs_development.isContextProvider = isContextProvider;
|
28329
|
-
reactIs_development.isElement = isElement;
|
28330
|
-
reactIs_development.isForwardRef = isForwardRef;
|
28331
|
-
reactIs_development.isFragment = isFragment;
|
28332
|
-
reactIs_development.isLazy = isLazy;
|
28333
|
-
reactIs_development.isMemo = isMemo;
|
28334
|
-
reactIs_development.isPortal = isPortal;
|
28335
|
-
reactIs_development.isProfiler = isProfiler;
|
28336
|
-
reactIs_development.isStrictMode = isStrictMode;
|
28337
|
-
reactIs_development.isSuspense = isSuspense;
|
28338
|
-
reactIs_development.isValidElementType = isValidElementType;
|
28339
|
-
reactIs_development.typeOf = typeOf;
|
28340
|
-
})();
|
28341
|
-
}
|
28342
|
-
return reactIs_development;
|
28343
|
-
}
|
28344
|
-
|
28345
|
-
var hasRequiredReactIs;
|
28346
|
-
function requireReactIs() {
|
28347
|
-
if (hasRequiredReactIs) return reactIs.exports;
|
28348
|
-
hasRequiredReactIs = 1;
|
28349
|
-
if (process.env.NODE_ENV === 'production') {
|
28350
|
-
reactIs.exports = requireReactIs_production_min();
|
28351
|
-
} else {
|
28352
|
-
reactIs.exports = requireReactIs_development();
|
28353
|
-
}
|
28354
|
-
return reactIs.exports;
|
28355
|
-
}
|
28356
|
-
|
28357
28582
|
var hoistNonReactStatics_cjs;
|
28358
28583
|
var hasRequiredHoistNonReactStatics_cjs;
|
28359
28584
|
function requireHoistNonReactStatics_cjs() {
|
@@ -28702,6 +28927,8 @@ var RecaptchaWrapper = makeAsyncScript(getURL, {
|
|
28702
28927
|
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}";
|
28703
28928
|
styleInject(css_248z$B);
|
28704
28929
|
|
28930
|
+
// Extend the props to include React.RefAttributes
|
28931
|
+
const FixedReCAPTCHA = RecaptchaWrapper;
|
28705
28932
|
const Recaptcha = /*#__PURE__*/React.forwardRef(({
|
28706
28933
|
onVerify,
|
28707
28934
|
className = '',
|
@@ -28721,7 +28948,7 @@ const Recaptcha = /*#__PURE__*/React.forwardRef(({
|
|
28721
28948
|
const error = externalError || internalError;
|
28722
28949
|
return jsxRuntime.jsxs("div", {
|
28723
28950
|
className: classNames('ff-recaptcha-wrapper', className),
|
28724
|
-
children: [jsxRuntime.jsx(
|
28951
|
+
children: [jsxRuntime.jsx(FixedReCAPTCHA, {
|
28725
28952
|
ref: ref,
|
28726
28953
|
sitekey: sitekey,
|
28727
28954
|
onChange: handleChange,
|
@@ -33218,7 +33445,7 @@ var scheduler = {exports: {}};
|
|
33218
33445
|
|
33219
33446
|
var scheduler_production_min = {};
|
33220
33447
|
|
33221
|
-
/** @license React v0.19.
|
33448
|
+
/** @license React v0.19.1
|
33222
33449
|
* scheduler.production.min.js
|
33223
33450
|
*
|
33224
33451
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
@@ -33520,7 +33747,7 @@ function requireScheduler_production_min() {
|
|
33520
33747
|
|
33521
33748
|
var scheduler_development = {};
|
33522
33749
|
|
33523
|
-
/** @license React v0.19.
|
33750
|
+
/** @license React v0.19.1
|
33524
33751
|
* scheduler.development.js
|
33525
33752
|
*
|
33526
33753
|
* Copyright (c) Facebook, Inc. and its affiliates.
|