pixel-react 1.8.5 → 1.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/lib/components/Button/Button.d.ts +2 -2
  3. package/lib/components/ChooseFile/ChooseFile.d.ts +3 -2
  4. package/lib/components/DatePicker/types.d.ts +2 -0
  5. package/lib/components/FF_Captcha/Recaptcha.d.ts +2 -1
  6. package/lib/components/FF_Captcha/types.d.ts +11 -2
  7. package/lib/index.d.ts +17 -6
  8. package/lib/index.esm.js +1069 -846
  9. package/lib/index.esm.js.map +1 -1
  10. package/lib/index.js +1069 -846
  11. package/lib/index.js.map +1 -1
  12. package/lib/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +1 -1
  14. package/src/components/Button/Button.tsx +3 -4
  15. package/src/components/ChooseFile/ChooseFile.tsx +3 -4
  16. package/src/components/DatePicker/DatePicker.scss +307 -2
  17. package/src/components/DatePicker/DatePicker.tsx +27 -19
  18. package/src/components/DatePicker/types.ts +4 -0
  19. package/src/components/FF_Captcha/Recaptcha.tsx +19 -9
  20. package/src/components/FF_Captcha/types.ts +12 -4
  21. package/src/components/LazyLoad/LazyLoad.stories.tsx +1 -0
  22. package/src/components/LazyLoad/LazyLoading.tsx +10 -1
  23. package/lib/1fb4472b34e4fe07.css +0 -1
  24. package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +0 -6
  25. package/lib/StyleGuide/Typography/Typography.stories.d.ts +0 -6
  26. package/lib/components/Accordion/Accordion.stories.d.ts +0 -6
  27. package/lib/components/AddResourceButton/AddButton.stories.d.ts +0 -8
  28. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +0 -7
  29. package/lib/components/AppHeader/AppHeader.stories.d.ts +0 -7
  30. package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +0 -9
  31. package/lib/components/Avatar/Avatar.stories.d.ts +0 -10
  32. package/lib/components/Button/Button.stories.d.ts +0 -13
  33. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +0 -7
  34. package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +0 -6
  35. package/lib/components/Charts/PieChart/PieChart.stories.d.ts +0 -7
  36. package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +0 -6
  37. package/lib/components/Checkbox/Checkbox.stories.d.ts +0 -8
  38. package/lib/components/Chip/Chip.stories.d.ts +0 -14
  39. package/lib/components/DatePicker/DatePicker.stories.d.ts +0 -9
  40. package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +0 -6
  41. package/lib/components/Drawer/Drawer.stories.d.ts +0 -12
  42. package/lib/components/ExcelFile/ColorBarselector/ColorBarSelector.d.ts +0 -8
  43. package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +0 -4
  44. package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +0 -7
  45. package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +0 -4
  46. package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +0 -5
  47. package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +0 -3
  48. package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +0 -5
  49. package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +0 -5
  50. package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +0 -8
  51. package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +0 -10
  52. package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +0 -3
  53. package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +0 -3
  54. package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +0 -5
  55. package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +0 -3
  56. package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +0 -80
  57. package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +0 -3
  58. package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +0 -174
  59. package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +0 -1
  60. package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +0 -8
  61. package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +0 -22
  62. package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +0 -17
  63. package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +0 -2
  64. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +0 -21
  65. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +0 -3
  66. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +0 -24
  67. package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +0 -13
  68. package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +0 -67
  69. package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +0 -22
  70. package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +0 -11
  71. package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +0 -27
  72. package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +0 -95
  73. package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +0 -178
  74. package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +0 -3
  75. package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +0 -3
  76. package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +0 -44
  77. package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +0 -19
  78. package/lib/components/ExcelFile/ExcelFile.stories.d.ts +0 -6
  79. package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +0 -12
  80. package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +0 -15
  81. package/lib/components/ExcelFile/Types.d.ts +0 -129
  82. package/lib/components/ExcelFile/index.d.ts +0 -1
  83. package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +0 -7
  84. package/lib/components/FF_Captcha/captcha.stories.d.ts +0 -8
  85. package/lib/components/FileDropzone/FileDropzone.stories.d.ts +0 -8
  86. package/lib/components/Form/Form.stories.d.ts +0 -7
  87. package/lib/components/GridLayout/GridLayout.stories.d.ts +0 -8
  88. package/lib/components/HighlightText/HighlightText.stories.d.ts +0 -6
  89. package/lib/components/Icon/Icon.stories.d.ts +0 -8
  90. package/lib/components/IconButton/IconButton.stories.d.ts +0 -7
  91. package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +0 -7
  92. package/lib/components/Input/Input.stories.d.ts +0 -9
  93. package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +0 -9
  94. package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +0 -11
  95. package/lib/components/LazyLoad/LazyLoad.stories.d.ts +0 -6
  96. package/lib/components/MachineInputField/MachineInputField.stories.d.ts +0 -6
  97. package/lib/components/MenuOption/MenuOption.stories.d.ts +0 -16
  98. package/lib/components/MiniModal/MiniModal.stories.d.ts +0 -10
  99. package/lib/components/Modal/Modal.stories.d.ts +0 -7
  100. package/lib/components/ModulesChip/ModuleChip.stories.d.ts +0 -6
  101. package/lib/components/MultiSelect/MultiSelect.stories.d.ts +0 -10
  102. package/lib/components/NLPInput/NlpInput.stories.d.ts +0 -7
  103. package/lib/components/NLPInput/type.d.ts +0 -70
  104. package/lib/components/Paper/Paper.stories.d.ts +0 -11
  105. package/lib/components/RadioButton/RadioButton.stories.d.ts +0 -10
  106. package/lib/components/RadioGroup/RadioGroup.stories.d.ts +0 -9
  107. package/lib/components/Search/Search.stories.d.ts +0 -6
  108. package/lib/components/Select/Select.stories.d.ts +0 -13
  109. package/lib/components/Select/components/Dropdown/Dropdown.d.ts +0 -4
  110. package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +0 -17
  111. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +0 -6
  112. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +0 -4
  113. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +0 -3
  114. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +0 -4
  115. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +0 -3
  116. package/lib/components/StateDropdown/StateDropdown.stories.d.ts +0 -10
  117. package/lib/components/StatusButton/StatusButton.stories.d.ts +0 -14
  118. package/lib/components/Table/Table.stories.d.ts +0 -13
  119. package/lib/components/TableTree/TableTree.stories.d.ts +0 -7
  120. package/lib/components/Tabs/Tabs.stories.d.ts +0 -9
  121. package/lib/components/TextArea/Textarea.stories.d.ts +0 -9
  122. package/lib/components/Toast/Toast.stories.d.ts +0 -6
  123. package/lib/components/Toastify/Toastify.stories.d.ts +0 -6
  124. package/lib/components/Toggle/Toggle.stories.d.ts +0 -12
  125. package/lib/components/Tooltip/Tooltip.stories.d.ts +0 -15
  126. package/lib/components/Typography/Typography.stories.d.ts +0 -10
  127. package/lib/components/VariableInput/VariableInput.stories.d.ts +0 -6
  128. package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +0 -6
  129. package/lib/utils/compareArrays/compareArrays.stories.d.ts +0 -6
  130. package/lib/utils/compareObjects/compareObjects.stories.d.ts +0 -6
  131. package/lib/utils/debounce/debounce.stories.d.ts +0 -6
  132. package/lib/utils/ffID/ffID.stories.d.ts +0 -6
  133. package/lib/utils/find/findAndInsert.d.ts +0 -7
  134. package/lib/utils/find/findAndInsert.stories.d.ts +0 -7
  135. package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +0 -7
  136. package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +0 -6
  137. package/lib/utils/getExtension/getExtension.stories.d.ts +0 -6
  138. package/lib/utils/throttle/throttle.stories.d.ts +0 -6
  139. package/lib/utils/truncateText/truncateText.stories.d.ts +0 -6
package/lib/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import React__default, { forwardRef, useRef, useEffect, memo, useState, createContext as createContext$1, useContext, useMemo, useCallback, createElement, PureComponent, useImperativeHandle, useLayoutEffect, useReducer, cloneElement, Component } from 'react';
3
+ import React__default, { forwardRef, useRef, useEffect, useState, createContext as createContext$1, useContext, useMemo, useCallback, createElement, PureComponent, useImperativeHandle, memo, useLayoutEffect, useReducer, cloneElement, Component } from 'react';
4
4
  import { createPortal, unstable_batchedUpdates } from 'react-dom';
5
5
 
6
6
  function styleInject(css, ref) {
@@ -999,7 +999,6 @@ const Typography = ({
999
999
  });
1000
1000
  };
1001
1001
 
1002
- const areEqual$2 = (prevProps, nextProps) => prevProps.selectedFile?.name === nextProps.selectedFile?.name;
1003
1002
  const Button$1 = /*#__PURE__*/forwardRef(({
1004
1003
  variant = 'primary',
1005
1004
  backgroundColor,
@@ -1059,7 +1058,6 @@ const Button$1 = /*#__PURE__*/forwardRef(({
1059
1058
  }), iconPosition === 'right' && renderIcon()]
1060
1059
  });
1061
1060
  });
1062
- var Button$2 = /*#__PURE__*/memo(Button$1, areEqual$2);
1063
1061
 
1064
1062
  var css_248z$1f = ".fontXs {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm, .ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-title {\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 {\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.ff-drawer-container .ff-overlay {\n position: fixed;\n inset: 0;\n background-color: var(--drawer-title-color);\n opacity: 0.5;\n z-index: 999;\n}\n.ff-drawer-container .child-drawer-overlay {\n z-index: 999;\n}\n.ff-drawer-container .ff-drawer {\n margin-bottom: 4px;\n position: fixed;\n right: 0;\n bottom: 0;\n top: 87px;\n background-color: var(--primary-button-text-color);\n z-index: 999;\n transform: translateX(100%);\n opacity: 0;\n}\n.ff-drawer-container .ff-drawer--open {\n transform: translateX(0);\n opacity: 1;\n}\n.ff-drawer-container .ff-drawer--small {\n width: 444px;\n}\n.ff-drawer-container .ff-drawer--medium {\n width: 666px;\n}\n.ff-drawer-container .ff-drawer--large {\n width: 888px;\n}\n.ff-drawer-container .ff-drawer--x-large {\n width: calc(100vw - 10px);\n}\n.ff-drawer-container .ff-drawer--open, .ff-drawer-container .ff-drawer--medium, .ff-drawer-container .ff-drawer--large, .ff-drawer-container .ff-drawer--x-large {\n transition: all 0.4s ease-in-out;\n border-radius: 5px;\n border: 1px solid var(--border-color);\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header {\n padding: 4px 8px 4px 8px;\n display: flex;\n gap: 10px;\n border-bottom: 1px solid var(--border-color);\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-title {\n font-weight: 600;\n color: var(--drawer-title-color);\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-close-icon {\n height: 16px;\n width: 16px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-action-section {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n height: 24px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-action-section .ff-action-button {\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-action-section .ff-action-button .ff-expand-collapse-button {\n cursor: pointer;\n background-color: var(--button-bg-color);\n outline: none;\n border: none;\n margin: 0;\n border: 1px solid transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-header .ff-drawer-action-section .ff-action-button .ff-custom-header {\n background-color: var(--drawer-footer-bg);\n width: 100%;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-body {\n background-color: var(--drawer-footer-bg);\n overflow-y: auto;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-footer {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 4px 8px 4px 8px;\n display: flex;\n justify-content: space-between;\n border-top: 1px solid var(--drawer-footer-border);\n z-index: 1000;\n background-color: var(--base-bg-color);\n transform: translateY(3px);\n border-radius: 0 0 4px 4px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-footer .button-container {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n.ff-drawer-container .ff-drawer .ff-drawer-footer .ff-custom-footer {\n background-color: var(--drawer-footer-bg);\n width: 100%;\n border-radius: 0 0 8px 8px;\n}";
1065
1063
  styleInject(css_248z$1f);
@@ -1246,17 +1244,17 @@ const Drawer = ({
1246
1244
  children: customFooter || footerContent || jsxs(Fragment, {
1247
1245
  children: [jsxs("div", {
1248
1246
  className: "button-container",
1249
- children: [leftSecondaryButtonProps.label && jsx(Button$2, {
1247
+ children: [leftSecondaryButtonProps.label && jsx(Button$1, {
1250
1248
  ...leftSecondaryButtonProps,
1251
1249
  onClick: leftPrimaryButtonProps.onClick,
1252
1250
  variant: "secondary",
1253
1251
  transparentBackground: true
1254
- }), leftPrimaryButtonProps.label && jsx(Button$2, {
1252
+ }), leftPrimaryButtonProps.label && jsx(Button$1, {
1255
1253
  ...leftPrimaryButtonProps,
1256
1254
  onClick: leftPrimaryButtonProps.onClick,
1257
1255
  variant: "primary",
1258
1256
  transparentBackground: true
1259
- }), leftTertiaryButtonProps?.label && jsx(Button$2, {
1257
+ }), leftTertiaryButtonProps?.label && jsx(Button$1, {
1260
1258
  ...leftTertiaryButtonProps,
1261
1259
  onClick: leftTertiaryButtonProps.onClick,
1262
1260
  variant: "tertiary",
@@ -1264,17 +1262,17 @@ const Drawer = ({
1264
1262
  })]
1265
1263
  }), jsxs("div", {
1266
1264
  className: "button-container",
1267
- children: [rightTertiaryButtonProps?.label && jsx(Button$2, {
1265
+ children: [rightTertiaryButtonProps?.label && jsx(Button$1, {
1268
1266
  ...rightTertiaryButtonProps,
1269
1267
  onClick: rightTertiaryButtonProps.onClick,
1270
1268
  variant: "tertiary",
1271
1269
  transparentBackground: true
1272
- }), secondaryButtonProps.label && jsx(Button$2, {
1270
+ }), secondaryButtonProps.label && jsx(Button$1, {
1273
1271
  ...secondaryButtonProps,
1274
1272
  onClick: onCancel,
1275
1273
  variant: "secondary",
1276
1274
  transparentBackground: true
1277
- }), primaryButtonProps.label && jsx(Button$2, {
1275
+ }), primaryButtonProps.label && jsx(Button$1, {
1278
1276
  ...primaryButtonProps,
1279
1277
  onClick: primaryButtonProps.onClick,
1280
1278
  variant: "primary",
@@ -1738,7 +1736,7 @@ const Dropdown$2 = /*#__PURE__*/forwardRef(({
1738
1736
  })
1739
1737
  }), withSelectButton && filteredOptions.length > 0 && jsx("div", {
1740
1738
  className: "select-button-container",
1741
- children: jsx(Button$2, {
1739
+ children: jsx(Button$1, {
1742
1740
  label: "Select",
1743
1741
  variant: "tertiary",
1744
1742
  onClick: onSelectClick
@@ -2200,11 +2198,11 @@ const Toaster = ({
2200
2198
  children: toastMessage
2201
2199
  }), variant === 'confirm' && jsxs("div", {
2202
2200
  className: "ff-toaster-content__prompt",
2203
- children: [jsx(Button$2, {
2201
+ children: [jsx(Button$1, {
2204
2202
  onClick: handleClose,
2205
2203
  variant: "secondary",
2206
2204
  children: "Cancel"
2207
- }), jsx(Button$2, {
2205
+ }), jsx(Button$1, {
2208
2206
  onClick: onConfirmation,
2209
2207
  variant: "delete",
2210
2208
  children: confirmationText
@@ -4323,7 +4321,7 @@ const Dropzone = ({
4323
4321
  selectedValue: selectedRadioOption?.value,
4324
4322
  onChange: handleOptionChange
4325
4323
  })]
4326
- }) : jsx(Button$2, {
4324
+ }) : jsx(Button$1, {
4327
4325
  variant: "primary",
4328
4326
  label: buttonLabel,
4329
4327
  className: 'choose-file-btn',
@@ -6405,7 +6403,7 @@ var _excluded$1 = ["style"],
6405
6403
  // It knows to compare individual style props and ignore the wrapper object.
6406
6404
  // See https://reactjs.org/docs/react-api.html#reactmemo
6407
6405
 
6408
- function areEqual$1(prevProps, nextProps) {
6406
+ function areEqual(prevProps, nextProps) {
6409
6407
  var prevStyle = prevProps.style,
6410
6408
  prevRest = _objectWithoutPropertiesLoose$3(prevProps, _excluded$1);
6411
6409
  var nextStyle = nextProps.style,
@@ -6417,7 +6415,7 @@ function areEqual$1(prevProps, nextProps) {
6417
6415
  // See https://reactjs.org/docs/react-component.html#shouldcomponentupdate
6418
6416
 
6419
6417
  function shouldComponentUpdate(nextProps, nextState) {
6420
- return !areEqual$1(this.props, nextProps) || shallowDiffers(this.state, nextState);
6418
+ return !areEqual(this.props, nextProps) || shallowDiffers(this.state, nextState);
6421
6419
  }
6422
6420
 
6423
6421
  var LazyLoad = /*#__PURE__*/Object.freeze({
@@ -6426,7 +6424,7 @@ var LazyLoad = /*#__PURE__*/Object.freeze({
6426
6424
  FixedSizeList: FixedSizeList,
6427
6425
  VariableSizeGrid: VariableSizeGrid,
6428
6426
  VariableSizeList: VariableSizeList,
6429
- areEqual: areEqual$1,
6427
+ areEqual: areEqual,
6430
6428
  shouldComponentUpdate: shouldComponentUpdate
6431
6429
  });
6432
6430
 
@@ -6472,13 +6470,14 @@ var isWeb = typeof window !== 'undefined' &&
6472
6470
  function cloneObject(data) {
6473
6471
  let copy;
6474
6472
  const isArray = Array.isArray(data);
6473
+ const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;
6475
6474
  if (data instanceof Date) {
6476
6475
  copy = new Date(data);
6477
6476
  }
6478
6477
  else if (data instanceof Set) {
6479
6478
  copy = new Set(data);
6480
6479
  }
6481
- else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&
6480
+ else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
6482
6481
  (isArray || isObject$2(data))) {
6483
6482
  copy = isArray ? [] : {};
6484
6483
  if (!isArray && !isPlainObject(data)) {
@@ -6537,7 +6536,7 @@ var set$1 = (object, path, value) => {
6537
6536
  ? []
6538
6537
  : {};
6539
6538
  }
6540
- if (key === '__proto__') {
6539
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
6541
6540
  return;
6542
6541
  }
6543
6542
  object[key] = newValue;
@@ -6756,7 +6755,7 @@ function useFormState(props) {
6756
6755
  _mounted.current = false;
6757
6756
  };
6758
6757
  }, [control]);
6759
- return getProxyFormState(formState, control, _localProxyFormState.current, false);
6758
+ return React__default.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
6760
6759
  }
6761
6760
 
6762
6761
  var isString = (value) => typeof value === 'string';
@@ -6852,6 +6851,67 @@ function useController(props) {
6852
6851
  value,
6853
6852
  ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
6854
6853
  }));
6854
+ const fieldState = React__default.useMemo(() => Object.defineProperties({}, {
6855
+ invalid: {
6856
+ enumerable: true,
6857
+ get: () => !!get$1(formState.errors, name),
6858
+ },
6859
+ isDirty: {
6860
+ enumerable: true,
6861
+ get: () => !!get$1(formState.dirtyFields, name),
6862
+ },
6863
+ isTouched: {
6864
+ enumerable: true,
6865
+ get: () => !!get$1(formState.touchedFields, name),
6866
+ },
6867
+ isValidating: {
6868
+ enumerable: true,
6869
+ get: () => !!get$1(formState.validatingFields, name),
6870
+ },
6871
+ error: {
6872
+ enumerable: true,
6873
+ get: () => get$1(formState.errors, name),
6874
+ },
6875
+ }), [formState, name]);
6876
+ const field = React__default.useMemo(() => ({
6877
+ name,
6878
+ value,
6879
+ ...(isBoolean(disabled) || formState.disabled
6880
+ ? { disabled: formState.disabled || disabled }
6881
+ : {}),
6882
+ onChange: (event) => _registerProps.current.onChange({
6883
+ target: {
6884
+ value: getEventValue(event),
6885
+ name: name,
6886
+ },
6887
+ type: EVENTS.CHANGE,
6888
+ }),
6889
+ onBlur: () => _registerProps.current.onBlur({
6890
+ target: {
6891
+ value: get$1(control._formValues, name),
6892
+ name: name,
6893
+ },
6894
+ type: EVENTS.BLUR,
6895
+ }),
6896
+ ref: (elm) => {
6897
+ const field = get$1(control._fields, name);
6898
+ if (field && elm) {
6899
+ field._f.ref = {
6900
+ focus: () => elm.focus(),
6901
+ select: () => elm.select(),
6902
+ setCustomValidity: (message) => elm.setCustomValidity(message),
6903
+ reportValidity: () => elm.reportValidity(),
6904
+ };
6905
+ }
6906
+ },
6907
+ }), [
6908
+ name,
6909
+ control._formValues,
6910
+ disabled,
6911
+ formState.disabled,
6912
+ value,
6913
+ control._fields,
6914
+ ]);
6855
6915
  React__default.useEffect(() => {
6856
6916
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
6857
6917
  const updateMounted = (name, value) => {
@@ -6877,7 +6937,7 @@ function useController(props) {
6877
6937
  };
6878
6938
  }, [name, control, isArrayField, shouldUnregister]);
6879
6939
  React__default.useEffect(() => {
6880
- if (get$1(control._fields, name)) {
6940
+ if (isBoolean(disabled) && get$1(control._fields, name)) {
6881
6941
  control._updateDisabledField({
6882
6942
  disabled,
6883
6943
  fields: control._fields,
@@ -6886,63 +6946,11 @@ function useController(props) {
6886
6946
  });
6887
6947
  }
6888
6948
  }, [disabled, name, control]);
6889
- return {
6890
- field: {
6891
- name,
6892
- value,
6893
- ...(isBoolean(disabled) || formState.disabled
6894
- ? { disabled: formState.disabled || disabled }
6895
- : {}),
6896
- onChange: React__default.useCallback((event) => _registerProps.current.onChange({
6897
- target: {
6898
- value: getEventValue(event),
6899
- name: name,
6900
- },
6901
- type: EVENTS.CHANGE,
6902
- }), [name]),
6903
- onBlur: React__default.useCallback(() => _registerProps.current.onBlur({
6904
- target: {
6905
- value: get$1(control._formValues, name),
6906
- name: name,
6907
- },
6908
- type: EVENTS.BLUR,
6909
- }), [name, control]),
6910
- ref: React__default.useCallback((elm) => {
6911
- const field = get$1(control._fields, name);
6912
- if (field && elm) {
6913
- field._f.ref = {
6914
- focus: () => elm.focus(),
6915
- select: () => elm.select(),
6916
- setCustomValidity: (message) => elm.setCustomValidity(message),
6917
- reportValidity: () => elm.reportValidity(),
6918
- };
6919
- }
6920
- }, [control._fields, name]),
6921
- },
6949
+ return React__default.useMemo(() => ({
6950
+ field,
6922
6951
  formState,
6923
- fieldState: Object.defineProperties({}, {
6924
- invalid: {
6925
- enumerable: true,
6926
- get: () => !!get$1(formState.errors, name),
6927
- },
6928
- isDirty: {
6929
- enumerable: true,
6930
- get: () => !!get$1(formState.dirtyFields, name),
6931
- },
6932
- isTouched: {
6933
- enumerable: true,
6934
- get: () => !!get$1(formState.touchedFields, name),
6935
- },
6936
- isValidating: {
6937
- enumerable: true,
6938
- get: () => !!get$1(formState.validatingFields, name),
6939
- },
6940
- error: {
6941
- enumerable: true,
6942
- get: () => get$1(formState.errors, name),
6943
- },
6944
- }),
6945
- };
6952
+ fieldState,
6953
+ }), [field, formState, fieldState]);
6946
6954
  }
6947
6955
 
6948
6956
  /**
@@ -6992,7 +7000,7 @@ const Controller = (props) => props.render(useController(props));
6992
7000
  const flatten = (obj) => {
6993
7001
  const output = {};
6994
7002
  for (const key of Object.keys(obj)) {
6995
- if (isObjectType(obj[key])) {
7003
+ if (isObjectType(obj[key]) && obj[key] !== null) {
6996
7004
  const nested = flatten(obj[key]);
6997
7005
  for (const nestedKey of Object.keys(nested)) {
6998
7006
  output[`${key}.${nestedKey}`] = nested[nestedKey];
@@ -7061,7 +7069,7 @@ function Form(props) {
7061
7069
  headers && headers['Content-Type'],
7062
7070
  encType,
7063
7071
  ].some((value) => value && value.includes('json'));
7064
- const response = await fetch(action, {
7072
+ const response = await fetch(String(action), {
7065
7073
  method,
7066
7074
  headers: {
7067
7075
  ...headers,
@@ -7559,7 +7567,7 @@ var updateAt = (fieldValues, index, value) => {
7559
7567
  */
7560
7568
  function useFieldArray(props) {
7561
7569
  const methods = useFormContext();
7562
- const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;
7570
+ const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;
7563
7571
  const [fields, setFields] = React__default.useState(control._getFieldArray(name));
7564
7572
  const ids = React__default.useRef(control._getFieldArray(name).map(generateId));
7565
7573
  const _fieldIds = React__default.useRef(fields);
@@ -7568,8 +7576,8 @@ function useFieldArray(props) {
7568
7576
  _name.current = name;
7569
7577
  _fieldIds.current = fields;
7570
7578
  control._names.array.add(name);
7571
- props.rules &&
7572
- control.register(name, props.rules);
7579
+ rules &&
7580
+ control.register(name, rules);
7573
7581
  useSubscribe({
7574
7582
  next: ({ values, name: fieldArrayName, }) => {
7575
7583
  if (fieldArrayName === _name.current || !fieldArrayName) {
@@ -7613,6 +7621,8 @@ function useFieldArray(props) {
7613
7621
  ids.current = removeArrayAt(ids.current, index);
7614
7622
  updateValues(updatedFieldArrayValues);
7615
7623
  setFields(updatedFieldArrayValues);
7624
+ !Array.isArray(get$1(control._fields, name)) &&
7625
+ set$1(control._fields, name, undefined);
7616
7626
  control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {
7617
7627
  argA: index,
7618
7628
  });
@@ -7927,7 +7937,8 @@ var getRuleValue = (rule) => isUndefined(rule)
7927
7937
  : rule;
7928
7938
 
7929
7939
  const ASYNC_FUNCTION = 'AsyncFunction';
7930
- var hasPromiseValidation = (fieldReference) => (!fieldReference || !fieldReference.validate) &&
7940
+ var hasPromiseValidation = (fieldReference) => !!fieldReference &&
7941
+ !!fieldReference.validate &&
7931
7942
  !!((isFunction$1(fieldReference.validate) &&
7932
7943
  fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||
7933
7944
  (isObject$2(fieldReference.validate) &&
@@ -8189,9 +8200,9 @@ function createFormControl(props = {}) {
8189
8200
  const shouldUpdateValid = _proxyFormState.isValid &&
8190
8201
  isBoolean(isValid) &&
8191
8202
  _formState.isValid !== isValid;
8192
- if (props.delayError && error) {
8203
+ if (_options.delayError && error) {
8193
8204
  delayErrorCallback = debounce(() => updateErrors(name, error));
8194
- delayErrorCallback(props.delayError);
8205
+ delayErrorCallback(_options.delayError);
8195
8206
  }
8196
8207
  else {
8197
8208
  clearTimeout(timer);
@@ -8296,7 +8307,7 @@ function createFormControl(props = {}) {
8296
8307
  ? { [names]: defaultValue }
8297
8308
  : defaultValue),
8298
8309
  }, isGlobal, defaultValue);
8299
- const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get$1(_defaultValues, name, []) : []));
8310
+ const _getFieldArray = (name) => compact(get$1(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get$1(_defaultValues, name, []) : []));
8300
8311
  const setFieldValue = (name, value, options = {}) => {
8301
8312
  const field = get$1(_fields, name);
8302
8313
  let fieldValue = value;
@@ -8429,7 +8440,7 @@ function createFormControl(props = {}) {
8429
8440
  });
8430
8441
  if (shouldSkipValidation) {
8431
8442
  if (_proxyFormState.isValid) {
8432
- if (props.mode === 'onBlur') {
8443
+ if (_options.mode === 'onBlur') {
8433
8444
  if (isBlurEvent) {
8434
8445
  _updateValid();
8435
8446
  }
@@ -8594,7 +8605,9 @@ function createFormControl(props = {}) {
8594
8605
  : isUndefined(value)
8595
8606
  ? getFieldValue(field ? field._f : get$1(fields, name)._f)
8596
8607
  : value;
8597
- set$1(_formValues, name, inputValue);
8608
+ if (disabled || (!disabled && !isUndefined(inputValue))) {
8609
+ set$1(_formValues, name, inputValue);
8610
+ }
8598
8611
  updateTouchAndDirty(name, inputValue, false, false, true);
8599
8612
  }
8600
8613
  };
@@ -8823,7 +8836,7 @@ function createFormControl(props = {}) {
8823
8836
  }
8824
8837
  _fields = {};
8825
8838
  }
8826
- _formValues = props.shouldUnregister
8839
+ _formValues = _options.shouldUnregister
8827
8840
  ? keepStateOptions.keepDefaultValues
8828
8841
  ? cloneObject(_defaultValues)
8829
8842
  : {}
@@ -8847,7 +8860,7 @@ function createFormControl(props = {}) {
8847
8860
  !_proxyFormState.isValid ||
8848
8861
  !!keepStateOptions.keepIsValid ||
8849
8862
  !!keepStateOptions.keepDirtyValues;
8850
- _state.watch = !!props.shouldUnregister;
8863
+ _state.watch = !!_options.shouldUnregister;
8851
8864
  _subjects.state.next({
8852
8865
  submitCount: keepStateOptions.keepSubmitCount
8853
8866
  ? _formState.submitCount
@@ -9018,8 +9031,8 @@ function createFormControl(props = {}) {
9018
9031
  * ```
9019
9032
  */
9020
9033
  function useForm(props = {}) {
9021
- const _formControl = React__default.useRef();
9022
- const _values = React__default.useRef();
9034
+ const _formControl = React__default.useRef(undefined);
9035
+ const _values = React__default.useRef(undefined);
9023
9036
  const [formState, updateFormState] = React__default.useState({
9024
9037
  isDirty: false,
9025
9038
  isValidating: false,
@@ -9511,12 +9524,12 @@ const MiniModal = /*#__PURE__*/forwardRef(({
9511
9524
  children: footerContent
9512
9525
  }) : isIconModel ? jsx(Fragment, {}) : jsxs("footer", {
9513
9526
  className: "modal-footer",
9514
- children: [jsx(Button$2, {
9527
+ children: [jsx(Button$1, {
9515
9528
  variant: "primary",
9516
9529
  className: "btn-cancel",
9517
9530
  onClick: cancelButtonProps?.onClick,
9518
9531
  label: cancelButtonProps?.text
9519
- }), jsx(Button$2, {
9532
+ }), jsx(Button$1, {
9520
9533
  variant: "secondary",
9521
9534
  className: "btn-proceed",
9522
9535
  label: proceedButtonProps?.text,
@@ -12661,21 +12674,21 @@ const longFormatters$1 = {
12661
12674
  P: dateTimeLongFormatter$1
12662
12675
  };
12663
12676
 
12664
- const dayOfYearTokenRE = /^D+$/;
12665
- const weekYearTokenRE = /^Y+$/;
12666
- const throwTokens = ["D", "DD", "YY", "YYYY"];
12677
+ const dayOfYearTokenRE$1 = /^D+$/;
12678
+ const weekYearTokenRE$1 = /^Y+$/;
12679
+ const throwTokens$1 = ["D", "DD", "YY", "YYYY"];
12667
12680
  function isProtectedDayOfYearToken$1(token) {
12668
- return dayOfYearTokenRE.test(token);
12681
+ return dayOfYearTokenRE$1.test(token);
12669
12682
  }
12670
12683
  function isProtectedWeekYearToken$1(token) {
12671
- return weekYearTokenRE.test(token);
12684
+ return weekYearTokenRE$1.test(token);
12672
12685
  }
12673
- function warnOrThrowProtectedError(token, format, input) {
12674
- const _message = message(token, format, input);
12686
+ function warnOrThrowProtectedError$1(token, format, input) {
12687
+ const _message = message$1(token, format, input);
12675
12688
  console.warn(_message);
12676
- if (throwTokens.includes(token)) throw new RangeError(_message);
12689
+ if (throwTokens$1.includes(token)) throw new RangeError(_message);
12677
12690
  }
12678
- function message(token, format, input) {
12691
+ function message$1(token, format, input) {
12679
12692
  const subject = token[0] === "Y" ? "years" : "days of the month";
12680
12693
  return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
12681
12694
  }
@@ -13047,7 +13060,7 @@ function format$2(date, formatStr, options) {
13047
13060
  if (!part.isToken) return part.value;
13048
13061
  const token = part.value;
13049
13062
  if (!options?.useAdditionalWeekYearTokens && isProtectedWeekYearToken$1(token) || !options?.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken$1(token)) {
13050
- warnOrThrowProtectedError(token, formatStr, String(date));
13063
+ warnOrThrowProtectedError$1(token, formatStr, String(date));
13051
13064
  }
13052
13065
  const formatter = formatters$2[token[0]];
13053
13066
  return formatter(originalDate, token, locale.localize, formatterOptions);
@@ -13273,6 +13286,53 @@ function setYear(date, year, options) {
13273
13286
  return date_;
13274
13287
  }
13275
13288
 
13289
+ const FIVE_WEEKS = 5;
13290
+ const FOUR_WEEKS = 4;
13291
+ /**
13292
+ * Return the number of weeks to display in the broadcast calendar.
13293
+ *
13294
+ * @since 9.4.0
13295
+ */
13296
+ function getBroadcastWeeksInMonth(month, dateLib) {
13297
+ // Get the first day of the month
13298
+ const firstDayOfMonth = dateLib.startOfMonth(month);
13299
+ // Get the day of the week for the first day of the month (1-7, where 1 is Monday)
13300
+ const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;
13301
+ const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);
13302
+ const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);
13303
+ const numberOfWeeks = month.getMonth() === lastDateOfLastWeek.getMonth() ? FIVE_WEEKS : FOUR_WEEKS;
13304
+ return numberOfWeeks;
13305
+ }
13306
+
13307
+ /**
13308
+ * Return the start date of the week in the broadcast calendar.
13309
+ *
13310
+ * @since 9.4.0
13311
+ */
13312
+ function startOfBroadcastWeek(date, dateLib) {
13313
+ const firstOfMonth = dateLib.startOfMonth(date);
13314
+ const dayOfWeek = firstOfMonth.getDay();
13315
+ if (dayOfWeek === 1) {
13316
+ return firstOfMonth;
13317
+ } else if (dayOfWeek === 0) {
13318
+ return dateLib.addDays(firstOfMonth, -1 * 6);
13319
+ } else {
13320
+ return dateLib.addDays(firstOfMonth, -1 * (dayOfWeek - 1));
13321
+ }
13322
+ }
13323
+
13324
+ /**
13325
+ * Return the end date of the week in the broadcast calendar.
13326
+ *
13327
+ * @since 9.4.0
13328
+ */
13329
+ function endOfBroadcastWeek(date, dateLib) {
13330
+ const startDate = startOfBroadcastWeek(date, dateLib);
13331
+ const numberOfWeeks = getBroadcastWeeksInMonth(date, dateLib);
13332
+ const endDate = dateLib.addDays(startDate, numberOfWeeks * 7 - 1);
13333
+ return endDate;
13334
+ }
13335
+
13276
13336
  /**
13277
13337
  * A wrapper class around [date-fns](http://date-fns.org) sharing the same
13278
13338
  * options. Methods of this class can be overridden using the
@@ -13353,6 +13413,15 @@ class DateLib {
13353
13413
  this.differenceInCalendarMonths = (dateLeft, dateRight) => {
13354
13414
  return this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
13355
13415
  };
13416
+ /**
13417
+ * Returns the end of the broadcast week for the given date.
13418
+ *
13419
+ * @param date The original date.
13420
+ * @returns The end of the broadcast week.
13421
+ */
13422
+ this.endOfBroadcastWeek = date => {
13423
+ return this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(date, this) : endOfBroadcastWeek(date, this);
13424
+ };
13356
13425
  /**
13357
13426
  * Returns the end of the ISO week for the given date.
13358
13427
  *
@@ -13514,6 +13583,15 @@ class DateLib {
13514
13583
  this.setYear = (date, year) => {
13515
13584
  return this.overrides?.setYear ? this.overrides.setYear(date, year) : setYear(date, year);
13516
13585
  };
13586
+ /**
13587
+ * Returns the start of the broadcast week for the given date.
13588
+ *
13589
+ * @param date The original date.
13590
+ * @returns The start of the broadcast week.
13591
+ */
13592
+ this.startOfBroadcastWeek = date => {
13593
+ return this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
13594
+ };
13517
13595
  /**
13518
13596
  * Returns the start of the day for the given date.
13519
13597
  *
@@ -13996,7 +14074,9 @@ function Weekday(props) {
13996
14074
  * @see https://daypicker.dev/guides/custom-components
13997
14075
  */
13998
14076
  function Weekdays(props) {
13999
- return /*#__PURE__*/React__default.createElement("thead", null, /*#__PURE__*/React__default.createElement("tr", {
14077
+ return /*#__PURE__*/React__default.createElement("thead", {
14078
+ "aria-hidden": true
14079
+ }, /*#__PURE__*/React__default.createElement("tr", {
14000
14080
  ...props
14001
14081
  }));
14002
14082
  }
@@ -14099,7 +14179,8 @@ function getDataAttributes(props) {
14099
14179
  "data-mode": props.mode ?? undefined,
14100
14180
  "data-required": "required" in props ? props.required : undefined,
14101
14181
  "data-multiple-months": props.numberOfMonths && props.numberOfMonths > 1 || undefined,
14102
- "data-week-numbers": props.showWeekNumber || undefined
14182
+ "data-week-numbers": props.showWeekNumber || undefined,
14183
+ "data-broadcast-calendar": props.broadcastCalendar || undefined
14103
14184
  };
14104
14185
  Object.entries(props).forEach(([key, val]) => {
14105
14186
  if (key.startsWith("data-")) {
@@ -14165,7 +14246,7 @@ function formatDay(date, options, dateLib) {
14165
14246
  */
14166
14247
  function formatMonthDropdown(/** The month number to format. */
14167
14248
  monthNumber, /** The locale to use for formatting. */
14168
- locale = enUS$1) {
14249
+ locale) {
14169
14250
  return locale.localize?.month(monthNumber);
14170
14251
  }
14171
14252
 
@@ -14255,13 +14336,12 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
14255
14336
  if (!navEnd) return undefined;
14256
14337
  const {
14257
14338
  addMonths,
14258
- startOfMonth,
14259
- isBefore
14339
+ startOfMonth
14260
14340
  } = dateLib;
14261
14341
  const year = displayMonth.getFullYear();
14262
14342
  const months = [];
14263
14343
  let month = navStart;
14264
- while (months.length < 12 && isBefore(month, addMonths(navEnd, 1))) {
14344
+ while (months.length < 12) {
14265
14345
  months.push(month.getMonth());
14266
14346
  month = addMonths(month, 1);
14267
14347
  }
@@ -14269,7 +14349,7 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
14269
14349
  return a - b;
14270
14350
  });
14271
14351
  const options = sortedMonths.map(value => {
14272
- const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
14352
+ const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? enUS$1);
14273
14353
  const month = dateLib.Date ? new dateLib.Date(year, value) : new Date(year, value);
14274
14354
  const disabled = navStart && month < startOfMonth(navStart) || navEnd && month > startOfMonth(navEnd) || false;
14275
14355
  return {
@@ -14644,7 +14724,8 @@ function tzName(tz, date) {
14644
14724
  */
14645
14725
  function getWeekdays(/** The date library. */
14646
14726
  dateLib, /** Use ISOWeek instead of locale/ */
14647
- ISOWeek, timeZone) {
14727
+ ISOWeek, timeZone, /** @since 9.4.0 */
14728
+ broadcastCalendar) {
14648
14729
  const date = timeZone ? TZDate.tz(timeZone) : dateLib.Date ? new dateLib.Date() : new Date();
14649
14730
  const start = ISOWeek ? dateLib.startOfISOWeek(date) : dateLib.startOfWeek(date);
14650
14731
  const days = [];
@@ -14656,20 +14737,18 @@ ISOWeek, timeZone) {
14656
14737
  }
14657
14738
 
14658
14739
  /** Return the years to show in the dropdown. */
14659
- function getYearOptions(displayMonth, calendarStart, calendarEnd, formatters, dateLib) {
14660
- if (!calendarStart) return undefined;
14661
- if (!calendarEnd) return undefined;
14740
+ function getYearOptions(navStart, navEnd, formatters, dateLib) {
14741
+ if (!navStart) return undefined;
14742
+ if (!navEnd) return undefined;
14662
14743
  const {
14663
- startOfMonth,
14664
14744
  startOfYear,
14665
14745
  endOfYear,
14666
14746
  addYears,
14667
14747
  isBefore,
14668
14748
  isSameYear
14669
14749
  } = dateLib;
14670
- const month = displayMonth.getMonth();
14671
- const firstNavYear = startOfYear(calendarStart);
14672
- const lastNavYear = endOfYear(calendarEnd);
14750
+ const firstNavYear = startOfYear(navStart);
14751
+ const lastNavYear = endOfYear(navEnd);
14673
14752
  const years = [];
14674
14753
  let year = firstNavYear;
14675
14754
  while (isBefore(year, lastNavYear) || isSameYear(year, lastNavYear)) {
@@ -14677,13 +14756,11 @@ function getYearOptions(displayMonth, calendarStart, calendarEnd, formatters, da
14677
14756
  year = addYears(year, 1);
14678
14757
  }
14679
14758
  return years.map(value => {
14680
- const year = dateLib.Date ? new dateLib.Date(value, month) : new Date(value, month);
14681
- const disabled = calendarStart && year < startOfMonth(calendarStart) || month && calendarEnd && year > startOfMonth(calendarEnd) || false;
14682
14759
  const label = formatters.formatYearDropdown(value);
14683
14760
  return {
14684
14761
  value,
14685
14762
  label,
14686
- disabled
14763
+ disabled: false
14687
14764
  };
14688
14765
  });
14689
14766
  }
@@ -14847,29 +14924,30 @@ var defaultLabels = /*#__PURE__*/Object.freeze({
14847
14924
  labelYearDropdown: labelYearDropdown
14848
14925
  });
14849
14926
 
14850
- /** The number of days in a month when having 6 weeks. */
14851
- const NrOfDaysWithFixedWeeks = 42;
14852
14927
  /** Return all the dates to display in the calendar. */
14853
14928
  function getDates(displayMonths, maxDate, props, dateLib) {
14854
14929
  const firstMonth = displayMonths[0];
14855
14930
  const lastMonth = displayMonths[displayMonths.length - 1];
14856
14931
  const {
14857
14932
  ISOWeek,
14858
- fixedWeeks
14933
+ fixedWeeks,
14934
+ broadcastCalendar
14859
14935
  } = props ?? {};
14860
14936
  const {
14861
- startOfWeek,
14862
- endOfWeek,
14863
- startOfISOWeek,
14864
- endOfISOWeek,
14865
14937
  addDays,
14866
14938
  differenceInCalendarDays,
14867
14939
  differenceInCalendarMonths,
14940
+ endOfBroadcastWeek,
14941
+ endOfISOWeek,
14942
+ endOfMonth,
14943
+ endOfWeek,
14868
14944
  isAfter,
14869
- endOfMonth
14945
+ startOfBroadcastWeek,
14946
+ startOfISOWeek,
14947
+ startOfWeek
14870
14948
  } = dateLib;
14871
- const startWeekFirstDate = ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
14872
- const endWeekLastDate = ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
14949
+ const startWeekFirstDate = broadcastCalendar ? startOfBroadcastWeek(firstMonth, dateLib) : ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
14950
+ const endWeekLastDate = broadcastCalendar ? endOfBroadcastWeek(lastMonth, dateLib) : ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
14873
14951
  const nOfDays = differenceInCalendarDays(endWeekLastDate, startWeekFirstDate);
14874
14952
  const nOfMonths = differenceInCalendarMonths(lastMonth, firstMonth) + 1;
14875
14953
  const dates = [];
@@ -14881,9 +14959,11 @@ function getDates(displayMonths, maxDate, props, dateLib) {
14881
14959
  dates.push(date);
14882
14960
  }
14883
14961
  // If fixed weeks is enabled, add the extra dates to the array
14884
- const extraDates = NrOfDaysWithFixedWeeks * nOfMonths;
14962
+ const nrOfDaysWithFixedWeeks = broadcastCalendar ? 35 : 42;
14963
+ const extraDates = nrOfDaysWithFixedWeeks * nOfMonths;
14885
14964
  if (fixedWeeks && dates.length < extraDates) {
14886
- for (let i = 0; i < 7; i++) {
14965
+ const daysToAdd = extraDates - dates.length;
14966
+ for (let i = 0; i < daysToAdd; i++) {
14887
14967
  const date = addDays(dates[dates.length - 1], 1);
14888
14968
  dates.push(date);
14889
14969
  }
@@ -14994,25 +15074,29 @@ displayMonths, /** The dates to display in the calendar. */
14994
15074
  dates, /** Options from the props context. */
14995
15075
  props, dateLib) {
14996
15076
  const {
14997
- startOfWeek,
14998
- endOfWeek,
14999
- startOfISOWeek,
15077
+ addDays,
15078
+ endOfBroadcastWeek,
15000
15079
  endOfISOWeek,
15001
15080
  endOfMonth,
15002
- addDays,
15081
+ endOfWeek,
15082
+ getISOWeek,
15003
15083
  getWeek,
15004
- getISOWeek
15084
+ startOfBroadcastWeek,
15085
+ startOfISOWeek,
15086
+ startOfWeek
15005
15087
  } = dateLib;
15006
15088
  const dayPickerMonths = displayMonths.reduce((months, month) => {
15007
- const firstDateOfFirstWeek = props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
15008
- const lastDateOfLastWeek = props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
15089
+ const firstDateOfFirstWeek = props.broadcastCalendar ? startOfBroadcastWeek(month, dateLib) : props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
15090
+ const lastDateOfLastWeek = props.broadcastCalendar ? endOfBroadcastWeek(month, dateLib) : props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
15009
15091
  /** The dates to display in the month. */
15010
15092
  const monthDates = dates.filter(date => {
15011
15093
  return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
15012
15094
  });
15013
- if (props.fixedWeeks && monthDates.length < 42) {
15095
+ const nrOfDaysWithFixedWeeks = props.broadcastCalendar ? 35 : 42;
15096
+ if (props.fixedWeeks && monthDates.length < nrOfDaysWithFixedWeeks) {
15014
15097
  const extraDates = dates.filter(date => {
15015
- return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, 7);
15098
+ const daysToAdd = nrOfDaysWithFixedWeeks - monthDates.length;
15099
+ return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, daysToAdd);
15016
15100
  });
15017
15101
  monthDates.push(...extraDates);
15018
15102
  }
@@ -15450,27 +15534,30 @@ function dateMatchModifiers(date, matchers, dateLib = defaultDateLib) {
15450
15534
  /** Return the next date that should be focused. */
15451
15535
  function getFocusableDate(moveBy, moveDir, refDate, navStart, navEnd, props, dateLib) {
15452
15536
  const {
15453
- ISOWeek
15537
+ ISOWeek,
15538
+ broadcastCalendar
15454
15539
  } = props;
15455
15540
  const {
15456
15541
  addDays,
15457
15542
  addMonths,
15458
- addYears,
15459
15543
  addWeeks,
15460
- startOfISOWeek,
15544
+ addYears,
15545
+ endOfBroadcastWeek,
15461
15546
  endOfISOWeek,
15462
- startOfWeek,
15463
15547
  endOfWeek,
15464
15548
  max,
15465
- min
15549
+ min,
15550
+ startOfBroadcastWeek,
15551
+ startOfISOWeek,
15552
+ startOfWeek
15466
15553
  } = dateLib;
15467
15554
  const moveFns = {
15468
15555
  day: addDays,
15469
15556
  week: addWeeks,
15470
15557
  month: addMonths,
15471
15558
  year: addYears,
15472
- startOfWeek: date => ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
15473
- endOfWeek: date => ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
15559
+ startOfWeek: date => broadcastCalendar ? startOfBroadcastWeek(date, dateLib) : ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
15560
+ endOfWeek: date => broadcastCalendar ? endOfBroadcastWeek(date, dateLib) : ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
15474
15561
  };
15475
15562
  let focusableDate = moveFns[moveBy](refDate, moveDir === "after" ? 1 : -1);
15476
15563
  if (moveDir === "before" && navStart) {
@@ -15536,6 +15623,8 @@ function useFocus(props, calendar, getModifiers, isSelected, dateLib) {
15536
15623
  /**
15537
15624
  * Return a function to get the modifiers for a given day.
15538
15625
  *
15626
+ * NOTE: this is not an hook, but a factory for `getModifiers`.
15627
+ *
15539
15628
  * @private
15540
15629
  */
15541
15630
  function useGetModifiers(days, props, dateLib) {
@@ -15544,12 +15633,19 @@ function useGetModifiers(days, props, dateLib) {
15544
15633
  hidden,
15545
15634
  modifiers,
15546
15635
  showOutsideDays,
15636
+ broadcastCalendar,
15547
15637
  today
15548
15638
  } = props;
15549
15639
  const {
15550
15640
  isSameDay,
15551
- isSameMonth
15641
+ isSameMonth,
15642
+ startOfMonth,
15643
+ isBefore,
15644
+ endOfMonth,
15645
+ isAfter
15552
15646
  } = dateLib;
15647
+ const startMonth = props.startMonth && startOfMonth(props.startMonth);
15648
+ const endMonth = props.endMonth && endOfMonth(props.endMonth);
15553
15649
  const internalModifiersMap = {
15554
15650
  [DayFlag.focused]: [],
15555
15651
  [DayFlag.outside]: [],
@@ -15558,20 +15654,18 @@ function useGetModifiers(days, props, dateLib) {
15558
15654
  [DayFlag.today]: []
15559
15655
  };
15560
15656
  const customModifiersMap = {};
15561
- const selectionModifiersMap = {
15562
- [SelectionState.range_end]: [],
15563
- [SelectionState.range_middle]: [],
15564
- [SelectionState.range_start]: [],
15565
- [SelectionState.selected]: []
15566
- };
15567
15657
  for (const day of days) {
15568
15658
  const {
15569
15659
  date,
15570
15660
  displayMonth
15571
15661
  } = day;
15572
15662
  const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
15663
+ const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
15664
+ const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
15573
15665
  const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
15574
- const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || !showOutsideDays && isOutside;
15666
+ const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || isBeforeStartMonth || isAfterEndMonth ||
15667
+ // Broadcast calendar will show outside days as default
15668
+ !broadcastCalendar && !showOutsideDays && isOutside || broadcastCalendar && showOutsideDays === false && isOutside;
15575
15669
  const isToday = isSameDay(date, today ?? (props.timeZone ? TZDate.tz(props.timeZone) : dateLib.Date ? new dateLib.Date() : new Date()));
15576
15670
  if (isOutside) internalModifiersMap.outside.push(day);
15577
15671
  if (isDisabled) internalModifiersMap.disabled.push(day);
@@ -15600,27 +15694,16 @@ function useGetModifiers(days, props, dateLib) {
15600
15694
  [DayFlag.outside]: false,
15601
15695
  [DayFlag.today]: false
15602
15696
  };
15603
- const selectionStates = {
15604
- [SelectionState.range_end]: false,
15605
- [SelectionState.range_middle]: false,
15606
- [SelectionState.range_start]: false,
15607
- [SelectionState.selected]: false
15608
- };
15609
15697
  const customModifiers = {};
15610
15698
  // Find the modifiers for the given day
15611
15699
  for (const name in internalModifiersMap) {
15612
15700
  const days = internalModifiersMap[name];
15613
15701
  dayFlags[name] = days.some(d => d === day);
15614
15702
  }
15615
- for (const name in selectionModifiersMap) {
15616
- const days = selectionModifiersMap[name];
15617
- selectionStates[name] = days.some(d => d === day);
15618
- }
15619
15703
  for (const name in customModifiersMap) {
15620
15704
  customModifiers[name] = customModifiersMap[name].some(d => d === day);
15621
15705
  }
15622
15706
  return {
15623
- ...selectionStates,
15624
15707
  ...dayFlags,
15625
15708
  // custom modifiers should override all the previous ones
15626
15709
  ...customModifiers
@@ -16025,7 +16108,7 @@ function DayPicker(props) {
16025
16108
  };
16026
16109
  const dateLib = new DateLib({
16027
16110
  locale,
16028
- weekStartsOn: props.weekStartsOn,
16111
+ weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
16029
16112
  firstWeekContainsDate: props.firstWeekContainsDate,
16030
16113
  useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
16031
16114
  useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
@@ -16044,7 +16127,7 @@ function DayPicker(props) {
16044
16127
  ...props.classNames
16045
16128
  }
16046
16129
  };
16047
- }, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn]);
16130
+ }, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn, props.broadcastCalendar]);
16048
16131
  const {
16049
16132
  captionLayout,
16050
16133
  mode,
@@ -16154,6 +16237,16 @@ function DayPicker(props) {
16154
16237
  const handleDayMouseLeave = useCallback((day, modifiers) => e => {
16155
16238
  onDayMouseLeave?.(day.date, modifiers, e);
16156
16239
  }, [onDayMouseLeave]);
16240
+ const handleMonthChange = useCallback(date => e => {
16241
+ const selectedMonth = Number(e.target.value);
16242
+ const month = dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth);
16243
+ goToMonth(month);
16244
+ }, [dateLib, goToMonth]);
16245
+ const handleYearChange = useCallback(date => e => {
16246
+ const selectedYear = Number(e.target.value);
16247
+ const month = dateLib.setYear(dateLib.startOfMonth(date), selectedYear);
16248
+ goToMonth(month);
16249
+ }, [dateLib, goToMonth]);
16157
16250
  const {
16158
16251
  className,
16159
16252
  style
@@ -16191,6 +16284,8 @@ function DayPicker(props) {
16191
16284
  lang: props.lang,
16192
16285
  nonce: props.nonce,
16193
16286
  title: props.title,
16287
+ role: props.role,
16288
+ "aria-label": props["aria-label"],
16194
16289
  ...dataAttributes
16195
16290
  }, /*#__PURE__*/React__default.createElement(components.Months, {
16196
16291
  className: classNames[UI.Months],
@@ -16204,17 +16299,8 @@ function DayPicker(props) {
16204
16299
  previousMonth: previousMonth,
16205
16300
  nextMonth: nextMonth
16206
16301
  })), months.map((calendarMonth, displayIndex) => {
16207
- const handleMonthChange = e => {
16208
- const selectedMonth = Number(e.target.value);
16209
- const month = dateLib.setMonth(dateLib.startOfMonth(calendarMonth.date), selectedMonth);
16210
- goToMonth(month);
16211
- };
16212
- const handleYearChange = e => {
16213
- const month = dateLib.setYear(dateLib.startOfMonth(calendarMonth.date), Number(e.target.value));
16214
- goToMonth(month);
16215
- };
16216
16302
  const dropdownMonths = getMonthOptions(calendarMonth.date, navStart, navEnd, formatters, dateLib);
16217
- const dropdownYears = getYearOptions(months[0].date, navStart, navEnd, formatters, dateLib);
16303
+ const dropdownYears = getYearOptions(navStart, navEnd, formatters, dateLib);
16218
16304
  return /*#__PURE__*/React__default.createElement(components.Month, {
16219
16305
  className: classNames[UI.Month],
16220
16306
  style: styles?.[UI.Month],
@@ -16235,7 +16321,7 @@ function DayPicker(props) {
16235
16321
  classNames: classNames,
16236
16322
  components: components,
16237
16323
  disabled: Boolean(props.disableNavigation),
16238
- onChange: handleMonthChange,
16324
+ onChange: handleMonthChange(calendarMonth.date),
16239
16325
  options: dropdownMonths,
16240
16326
  style: styles?.[UI.Dropdown],
16241
16327
  value: calendarMonth.date.getMonth()
@@ -16248,7 +16334,7 @@ function DayPicker(props) {
16248
16334
  classNames: classNames,
16249
16335
  components: components,
16250
16336
  disabled: Boolean(props.disableNavigation),
16251
- onChange: handleYearChange,
16337
+ onChange: handleYearChange(calendarMonth.date),
16252
16338
  options: dropdownYears,
16253
16339
  style: styles?.[UI.Dropdown],
16254
16340
  value: calendarMonth.date.getFullYear()
@@ -16295,7 +16381,8 @@ function DayPicker(props) {
16295
16381
  locale
16296
16382
  }),
16297
16383
  className: classNames[UI.WeekNumber],
16298
- scope: "row"
16384
+ scope: "row",
16385
+ role: "rowheader"
16299
16386
  }, formatWeekNumber(week.weekNumber))), week.days.map(day => {
16300
16387
  const {
16301
16388
  date
@@ -16315,14 +16402,14 @@ function DayPicker(props) {
16315
16402
  }
16316
16403
  const style = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
16317
16404
  const className = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
16318
- const ariaLabel = !isInteractive ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
16405
+ const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell(date, modifiers, dateLib.options, dateLib) : undefined;
16319
16406
  return /*#__PURE__*/React__default.createElement(components.Day, {
16320
16407
  key: `${dateLib.format(date, "yyyy-MM-dd")}_${dateLib.format(day.displayMonth, "yyyy-MM")}`,
16321
16408
  day: day,
16322
16409
  modifiers: modifiers,
16323
16410
  className: className.join(" "),
16324
16411
  style: style,
16325
- "aria-hidden": modifiers.hidden || undefined,
16412
+ role: "gridcell",
16326
16413
  "aria-selected": modifiers.selected || undefined,
16327
16414
  "aria-label": ariaLabel,
16328
16415
  "data-day": dateLib.format(date, "yyyy-MM-dd"),
@@ -16333,7 +16420,7 @@ function DayPicker(props) {
16333
16420
  "data-outside": day.outside || undefined,
16334
16421
  "data-focused": modifiers.focused || undefined,
16335
16422
  "data-today": modifiers.today || undefined
16336
- }, isInteractive ? (/*#__PURE__*/React__default.createElement(components.DayButton, {
16423
+ }, !modifiers.hidden && isInteractive ? (/*#__PURE__*/React__default.createElement(components.DayButton, {
16337
16424
  className: classNames[UI.DayButton],
16338
16425
  style: styles?.[UI.DayButton],
16339
16426
  type: "button",
@@ -16348,7 +16435,7 @@ function DayPicker(props) {
16348
16435
  onKeyDown: handleDayKeyDown(day, modifiers),
16349
16436
  onMouseEnter: handleDayMouseEnter(day, modifiers),
16350
16437
  onMouseLeave: handleDayMouseLeave(day, modifiers)
16351
- }, formatDay(date, dateLib.options, dateLib))) : formatDay(day.date, dateLib.options, dateLib));
16438
+ }, formatDay(date, dateLib.options, dateLib))) : !modifiers.hidden && formatDay(day.date, dateLib.options, dateLib));
16352
16439
  }));
16353
16440
  }))));
16354
16441
  })), props.footer && (/*#__PURE__*/React__default.createElement(components.Footer, {
@@ -16359,143 +16446,6 @@ function DayPicker(props) {
16359
16446
  }, props.footer))));
16360
16447
  }
16361
16448
 
16362
- /**
16363
- * @name isDate
16364
- * @category Common Helpers
16365
- * @summary Is the given value a date?
16366
- *
16367
- * @description
16368
- * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
16369
- *
16370
- * @param value - The value to check
16371
- *
16372
- * @returns True if the given value is a date
16373
- *
16374
- * @example
16375
- * // For a valid date:
16376
- * const result = isDate(new Date())
16377
- * //=> true
16378
- *
16379
- * @example
16380
- * // For an invalid date:
16381
- * const result = isDate(new Date(NaN))
16382
- * //=> true
16383
- *
16384
- * @example
16385
- * // For some value:
16386
- * const result = isDate('2014-02-31')
16387
- * //=> false
16388
- *
16389
- * @example
16390
- * // For an object:
16391
- * const result = isDate({})
16392
- * //=> false
16393
- */
16394
- function isDate(value) {
16395
- return (
16396
- value instanceof Date ||
16397
- (typeof value === "object" &&
16398
- Object.prototype.toString.call(value) === "[object Date]")
16399
- );
16400
- }
16401
-
16402
- /**
16403
- * @name toDate
16404
- * @category Common Helpers
16405
- * @summary Convert the given argument to an instance of Date.
16406
- *
16407
- * @description
16408
- * Convert the given argument to an instance of Date.
16409
- *
16410
- * If the argument is an instance of Date, the function returns its clone.
16411
- *
16412
- * If the argument is a number, it is treated as a timestamp.
16413
- *
16414
- * If the argument is none of the above, the function returns Invalid Date.
16415
- *
16416
- * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
16417
- *
16418
- * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
16419
- *
16420
- * @param argument - The value to convert
16421
- *
16422
- * @returns The parsed date in the local time zone
16423
- *
16424
- * @example
16425
- * // Clone the date:
16426
- * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
16427
- * //=> Tue Feb 11 2014 11:30:30
16428
- *
16429
- * @example
16430
- * // Convert the timestamp to date:
16431
- * const result = toDate(1392098430000)
16432
- * //=> Tue Feb 11 2014 11:30:30
16433
- */
16434
- function toDate$1(argument) {
16435
- const argStr = Object.prototype.toString.call(argument);
16436
-
16437
- // Clone the date
16438
- if (
16439
- argument instanceof Date ||
16440
- (typeof argument === "object" && argStr === "[object Date]")
16441
- ) {
16442
- // Prevent the date to lose the milliseconds when passed to new Date() in IE10
16443
- return new argument.constructor(+argument);
16444
- } else if (
16445
- typeof argument === "number" ||
16446
- argStr === "[object Number]" ||
16447
- typeof argStr === "string" ||
16448
- argStr === "[object String]"
16449
- ) {
16450
- // TODO: Can we get rid of as?
16451
- return new Date(argument);
16452
- } else {
16453
- // TODO: Can we get rid of as?
16454
- return new Date(NaN);
16455
- }
16456
- }
16457
-
16458
- /**
16459
- * @name isValid
16460
- * @category Common Helpers
16461
- * @summary Is the given date valid?
16462
- *
16463
- * @description
16464
- * Returns false if argument is Invalid Date and true otherwise.
16465
- * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
16466
- * Invalid Date is a Date, whose time value is NaN.
16467
- *
16468
- * Time value of Date: http://es5.github.io/#x15.9.1.1
16469
- *
16470
- * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
16471
- *
16472
- * @param date - The date to check
16473
- *
16474
- * @returns The date is valid
16475
- *
16476
- * @example
16477
- * // For the valid date:
16478
- * const result = isValid(new Date(2014, 1, 31))
16479
- * //=> true
16480
- *
16481
- * @example
16482
- * // For the value, convertable into a date:
16483
- * const result = isValid(1393804800000)
16484
- * //=> true
16485
- *
16486
- * @example
16487
- * // For the invalid date:
16488
- * const result = isValid(new Date(''))
16489
- * //=> false
16490
- */
16491
- function isValid(date) {
16492
- if (!isDate(date) && typeof date !== "number") {
16493
- return false;
16494
- }
16495
- const _date = toDate$1(date);
16496
- return !isNaN(Number(_date));
16497
- }
16498
-
16499
16449
  const formatDistanceLocale = {
16500
16450
  lessThanXSeconds: {
16501
16451
  one: "less than a second",
@@ -17176,6 +17126,62 @@ const millisecondsInWeek = 604800000;
17176
17126
  */
17177
17127
  const millisecondsInDay = 86400000;
17178
17128
 
17129
+ /**
17130
+ * @name toDate
17131
+ * @category Common Helpers
17132
+ * @summary Convert the given argument to an instance of Date.
17133
+ *
17134
+ * @description
17135
+ * Convert the given argument to an instance of Date.
17136
+ *
17137
+ * If the argument is an instance of Date, the function returns its clone.
17138
+ *
17139
+ * If the argument is a number, it is treated as a timestamp.
17140
+ *
17141
+ * If the argument is none of the above, the function returns Invalid Date.
17142
+ *
17143
+ * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
17144
+ *
17145
+ * @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).
17146
+ *
17147
+ * @param argument - The value to convert
17148
+ *
17149
+ * @returns The parsed date in the local time zone
17150
+ *
17151
+ * @example
17152
+ * // Clone the date:
17153
+ * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
17154
+ * //=> Tue Feb 11 2014 11:30:30
17155
+ *
17156
+ * @example
17157
+ * // Convert the timestamp to date:
17158
+ * const result = toDate(1392098430000)
17159
+ * //=> Tue Feb 11 2014 11:30:30
17160
+ */
17161
+ function toDate$1(argument) {
17162
+ const argStr = Object.prototype.toString.call(argument);
17163
+
17164
+ // Clone the date
17165
+ if (
17166
+ argument instanceof Date ||
17167
+ (typeof argument === "object" && argStr === "[object Date]")
17168
+ ) {
17169
+ // Prevent the date to lose the milliseconds when passed to new Date() in IE10
17170
+ return new argument.constructor(+argument);
17171
+ } else if (
17172
+ typeof argument === "number" ||
17173
+ argStr === "[object Number]" ||
17174
+ typeof argument === "string" ||
17175
+ argStr === "[object String]"
17176
+ ) {
17177
+ // TODO: Can we get rid of as?
17178
+ return new Date(argument);
17179
+ } else {
17180
+ // TODO: Can we get rid of as?
17181
+ return new Date(NaN);
17182
+ }
17183
+ }
17184
+
17179
17185
  /**
17180
17186
  * @name startOfDay
17181
17187
  * @category Day Helpers
@@ -17214,19 +17220,20 @@ function startOfDay(date) {
17214
17220
  * This function returns the timezone offset in milliseconds that takes seconds in account.
17215
17221
  */
17216
17222
  function getTimezoneOffsetInMilliseconds$1(date) {
17223
+ const _date = toDate$1(date);
17217
17224
  const utcDate = new Date(
17218
17225
  Date.UTC(
17219
- date.getFullYear(),
17220
- date.getMonth(),
17221
- date.getDate(),
17222
- date.getHours(),
17223
- date.getMinutes(),
17224
- date.getSeconds(),
17225
- date.getMilliseconds(),
17226
+ _date.getFullYear(),
17227
+ _date.getMonth(),
17228
+ _date.getDate(),
17229
+ _date.getHours(),
17230
+ _date.getMinutes(),
17231
+ _date.getSeconds(),
17232
+ _date.getMilliseconds(),
17226
17233
  ),
17227
17234
  );
17228
- utcDate.setUTCFullYear(date.getFullYear());
17229
- return date.getTime() - utcDate.getTime();
17235
+ utcDate.setUTCFullYear(_date.getFullYear());
17236
+ return +date - +utcDate;
17230
17237
  }
17231
17238
 
17232
17239
  /**
@@ -17266,14 +17273,13 @@ function differenceInCalendarDays(dateLeft, dateRight) {
17266
17273
  const startOfDayRight = startOfDay(dateRight);
17267
17274
 
17268
17275
  const timestampLeft =
17269
- startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds$1(startOfDayLeft);
17276
+ +startOfDayLeft - getTimezoneOffsetInMilliseconds$1(startOfDayLeft);
17270
17277
  const timestampRight =
17271
- startOfDayRight.getTime() -
17272
- getTimezoneOffsetInMilliseconds$1(startOfDayRight);
17278
+ +startOfDayRight - getTimezoneOffsetInMilliseconds$1(startOfDayRight);
17273
17279
 
17274
- // Round the number of days to the nearest integer
17275
- // because the number of milliseconds in a day is not constant
17276
- // (e.g. it's different in the day of the daylight saving time clock shift)
17280
+ // Round the number of days to the nearest integer because the number of
17281
+ // milliseconds in a day is not constant (e.g. it's different in the week of
17282
+ // the daylight saving time clock shift).
17277
17283
  return Math.round((timestampLeft - timestampRight) / millisecondsInDay);
17278
17284
  }
17279
17285
 
@@ -17287,6 +17293,8 @@ function differenceInCalendarDays(dateLeft, dateRight) {
17287
17293
  * date and the given value. It helps to build generic functions that accept
17288
17294
  * date extensions.
17289
17295
  *
17296
+ * It defaults to `Date` if the passed reference date is a number or a string.
17297
+ *
17290
17298
  * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
17291
17299
  *
17292
17300
  * @param date - The reference date to take constructor from
@@ -17540,12 +17548,11 @@ function startOfISOWeekYear(date) {
17540
17548
  */
17541
17549
  function getISOWeek(date) {
17542
17550
  const _date = toDate$1(date);
17543
- const diff =
17544
- startOfISOWeek(_date).getTime() - startOfISOWeekYear(_date).getTime();
17551
+ const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
17545
17552
 
17546
- // Round the number of days to the nearest integer
17547
- // because the number of milliseconds in a week is not constant
17548
- // (e.g. it's different in the week of the daylight saving time clock shift)
17553
+ // Round the number of weeks to the nearest integer because the number of
17554
+ // milliseconds in a week is not constant (e.g. it's different in the week of
17555
+ // the daylight saving time clock shift).
17549
17556
  return Math.round(diff / millisecondsInWeek) + 1;
17550
17557
  }
17551
17558
 
@@ -17565,7 +17572,7 @@ function getISOWeek(date) {
17565
17572
  * and `options.firstWeekContainsDate` (which is the day of January, which is always in
17566
17573
  * the first week of the week-numbering year)
17567
17574
  *
17568
- * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering
17575
+ * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
17569
17576
  *
17570
17577
  * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
17571
17578
  *
@@ -17636,7 +17643,7 @@ function getWeekYear(date, options) {
17636
17643
  * and `options.firstWeekContainsDate` (which is the day of January, which is always in
17637
17644
  * the first week of the week-numbering year)
17638
17645
  *
17639
- * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering
17646
+ * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
17640
17647
  *
17641
17648
  * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
17642
17649
  *
@@ -17693,7 +17700,7 @@ function startOfWeekYear(date, options) {
17693
17700
  * and `options.firstWeekContainsDate` (which is the day of January, which is always in
17694
17701
  * the first week of the week-numbering year)
17695
17702
  *
17696
- * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering
17703
+ * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
17697
17704
  *
17698
17705
  * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
17699
17706
  *
@@ -17720,13 +17727,11 @@ function startOfWeekYear(date, options) {
17720
17727
 
17721
17728
  function getWeek(date, options) {
17722
17729
  const _date = toDate$1(date);
17723
- const diff =
17724
- startOfWeek(_date, options).getTime() -
17725
- startOfWeekYear(_date, options).getTime();
17730
+ const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
17726
17731
 
17727
- // Round the number of days to the nearest integer
17728
- // because the number of milliseconds in a week is not constant
17729
- // (e.g. it's different in the week of the daylight saving time clock shift)
17732
+ // Round the number of weeks to the nearest integer because the number of
17733
+ // milliseconds in a week is not constant (e.g. it's different in the week of
17734
+ // the daylight saving time clock shift).
17730
17735
  return Math.round(diff / millisecondsInWeek) + 1;
17731
17736
  }
17732
17737
 
@@ -17820,7 +17825,7 @@ const lightFormatters = {
17820
17825
  S(date, token) {
17821
17826
  const numberOfDigits = token.length;
17822
17827
  const milliseconds = date.getMilliseconds();
17823
- const fractionalSeconds = Math.floor(
17828
+ const fractionalSeconds = Math.trunc(
17824
17829
  milliseconds * Math.pow(10, numberOfDigits - 3),
17825
17830
  );
17826
17831
  return addLeadingZeros$1(fractionalSeconds, token.length);
@@ -18467,9 +18472,8 @@ const formatters$1 = {
18467
18472
  },
18468
18473
 
18469
18474
  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
18470
- X: function (date, token, _localize, options) {
18471
- const originalDate = options._originalDate || date;
18472
- const timezoneOffset = originalDate.getTimezoneOffset();
18475
+ X: function (date, token, _localize) {
18476
+ const timezoneOffset = date.getTimezoneOffset();
18473
18477
 
18474
18478
  if (timezoneOffset === 0) {
18475
18479
  return "Z";
@@ -18498,9 +18502,8 @@ const formatters$1 = {
18498
18502
  },
18499
18503
 
18500
18504
  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
18501
- x: function (date, token, _localize, options) {
18502
- const originalDate = options._originalDate || date;
18503
- const timezoneOffset = originalDate.getTimezoneOffset();
18505
+ x: function (date, token, _localize) {
18506
+ const timezoneOffset = date.getTimezoneOffset();
18504
18507
 
18505
18508
  switch (token) {
18506
18509
  // Hours and optional minutes
@@ -18525,9 +18528,8 @@ const formatters$1 = {
18525
18528
  },
18526
18529
 
18527
18530
  // Timezone (GMT)
18528
- O: function (date, token, _localize, options) {
18529
- const originalDate = options._originalDate || date;
18530
- const timezoneOffset = originalDate.getTimezoneOffset();
18531
+ O: function (date, token, _localize) {
18532
+ const timezoneOffset = date.getTimezoneOffset();
18531
18533
 
18532
18534
  switch (token) {
18533
18535
  // Short
@@ -18543,9 +18545,8 @@ const formatters$1 = {
18543
18545
  },
18544
18546
 
18545
18547
  // Timezone (specific non-location)
18546
- z: function (date, token, _localize, options) {
18547
- const originalDate = options._originalDate || date;
18548
- const timezoneOffset = originalDate.getTimezoneOffset();
18548
+ z: function (date, token, _localize) {
18549
+ const timezoneOffset = date.getTimezoneOffset();
18549
18550
 
18550
18551
  switch (token) {
18551
18552
  // Short
@@ -18561,16 +18562,14 @@ const formatters$1 = {
18561
18562
  },
18562
18563
 
18563
18564
  // Seconds timestamp
18564
- t: function (date, token, _localize, options) {
18565
- const originalDate = options._originalDate || date;
18566
- const timestamp = Math.floor(originalDate.getTime() / 1000);
18565
+ t: function (date, token, _localize) {
18566
+ const timestamp = Math.trunc(date.getTime() / 1000);
18567
18567
  return addLeadingZeros$1(timestamp, token.length);
18568
18568
  },
18569
18569
 
18570
18570
  // Milliseconds timestamp
18571
- T: function (date, token, _localize, options) {
18572
- const originalDate = options._originalDate || date;
18573
- const timestamp = originalDate.getTime();
18571
+ T: function (date, token, _localize) {
18572
+ const timestamp = date.getTime();
18574
18573
  return addLeadingZeros$1(timestamp, token.length);
18575
18574
  },
18576
18575
  };
@@ -18578,7 +18577,7 @@ const formatters$1 = {
18578
18577
  function formatTimezoneShort$1(offset, delimiter = "") {
18579
18578
  const sign = offset > 0 ? "-" : "+";
18580
18579
  const absOffset = Math.abs(offset);
18581
- const hours = Math.floor(absOffset / 60);
18580
+ const hours = Math.trunc(absOffset / 60);
18582
18581
  const minutes = absOffset % 60;
18583
18582
  if (minutes === 0) {
18584
18583
  return sign + String(hours);
@@ -18597,7 +18596,7 @@ function formatTimezoneWithOptionalMinutes$1(offset, delimiter) {
18597
18596
  function formatTimezone$1(offset, delimiter = "") {
18598
18597
  const sign = offset > 0 ? "-" : "+";
18599
18598
  const absOffset = Math.abs(offset);
18600
- const hours = addLeadingZeros$1(Math.floor(absOffset / 60), 2);
18599
+ const hours = addLeadingZeros$1(Math.trunc(absOffset / 60), 2);
18601
18600
  const minutes = addLeadingZeros$1(absOffset % 60, 2);
18602
18601
  return sign + hours + delimiter + minutes;
18603
18602
  }
@@ -18667,35 +18666,109 @@ const longFormatters = {
18667
18666
  P: dateTimeLongFormatter,
18668
18667
  };
18669
18668
 
18670
- const protectedDayOfYearTokens = ["D", "DD"];
18671
- const protectedWeekYearTokens = ["YY", "YYYY"];
18669
+ const dayOfYearTokenRE = /^D+$/;
18670
+ const weekYearTokenRE = /^Y+$/;
18671
+
18672
+ const throwTokens = ["D", "DD", "YY", "YYYY"];
18672
18673
 
18673
18674
  function isProtectedDayOfYearToken(token) {
18674
- return protectedDayOfYearTokens.indexOf(token) !== -1;
18675
+ return dayOfYearTokenRE.test(token);
18675
18676
  }
18676
18677
 
18677
18678
  function isProtectedWeekYearToken(token) {
18678
- return protectedWeekYearTokens.indexOf(token) !== -1;
18679
+ return weekYearTokenRE.test(token);
18679
18680
  }
18680
18681
 
18681
- function throwProtectedError(token, format, input) {
18682
- if (token === "YYYY") {
18683
- throw new RangeError(
18684
- `Use \`yyyy\` instead of \`YYYY\` (in \`${format}\`) for formatting years to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`,
18685
- );
18686
- } else if (token === "YY") {
18687
- throw new RangeError(
18688
- `Use \`yy\` instead of \`YY\` (in \`${format}\`) for formatting years to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`,
18689
- );
18690
- } else if (token === "D") {
18691
- throw new RangeError(
18692
- `Use \`d\` instead of \`D\` (in \`${format}\`) for formatting days of the month to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`,
18693
- );
18694
- } else if (token === "DD") {
18695
- throw new RangeError(
18696
- `Use \`dd\` instead of \`DD\` (in \`${format}\`) for formatting days of the month to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`,
18697
- );
18682
+ function warnOrThrowProtectedError(token, format, input) {
18683
+ const _message = message(token, format, input);
18684
+ console.warn(_message);
18685
+ if (throwTokens.includes(token)) throw new RangeError(_message);
18686
+ }
18687
+
18688
+ function message(token, format, input) {
18689
+ const subject = token[0] === "Y" ? "years" : "days of the month";
18690
+ 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`;
18691
+ }
18692
+
18693
+ /**
18694
+ * @name isDate
18695
+ * @category Common Helpers
18696
+ * @summary Is the given value a date?
18697
+ *
18698
+ * @description
18699
+ * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
18700
+ *
18701
+ * @param value - The value to check
18702
+ *
18703
+ * @returns True if the given value is a date
18704
+ *
18705
+ * @example
18706
+ * // For a valid date:
18707
+ * const result = isDate(new Date())
18708
+ * //=> true
18709
+ *
18710
+ * @example
18711
+ * // For an invalid date:
18712
+ * const result = isDate(new Date(NaN))
18713
+ * //=> true
18714
+ *
18715
+ * @example
18716
+ * // For some value:
18717
+ * const result = isDate('2014-02-31')
18718
+ * //=> false
18719
+ *
18720
+ * @example
18721
+ * // For an object:
18722
+ * const result = isDate({})
18723
+ * //=> false
18724
+ */
18725
+ function isDate(value) {
18726
+ return (
18727
+ value instanceof Date ||
18728
+ (typeof value === "object" &&
18729
+ Object.prototype.toString.call(value) === "[object Date]")
18730
+ );
18731
+ }
18732
+
18733
+ /**
18734
+ * @name isValid
18735
+ * @category Common Helpers
18736
+ * @summary Is the given date valid?
18737
+ *
18738
+ * @description
18739
+ * Returns false if argument is Invalid Date and true otherwise.
18740
+ * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
18741
+ * Invalid Date is a Date, whose time value is NaN.
18742
+ *
18743
+ * Time value of Date: http://es5.github.io/#x15.9.1.1
18744
+ *
18745
+ * @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).
18746
+ *
18747
+ * @param date - The date to check
18748
+ *
18749
+ * @returns The date is valid
18750
+ *
18751
+ * @example
18752
+ * // For the valid date:
18753
+ * const result = isValid(new Date(2014, 1, 31))
18754
+ * //=> true
18755
+ *
18756
+ * @example
18757
+ * // For the value, convertable into a date:
18758
+ * const result = isValid(1393804800000)
18759
+ * //=> true
18760
+ *
18761
+ * @example
18762
+ * // For the invalid date:
18763
+ * const result = isValid(new Date(''))
18764
+ * //=> false
18765
+ */
18766
+ function isValid(date) {
18767
+ if (!isDate(date) && typeof date !== "number") {
18768
+ return false;
18698
18769
  }
18770
+ const _date = toDate$1(date);
18771
+ return !isNaN(Number(_date));
18699
18772
  }
18700
18773
 
18701
18774
  // This RegExp consists of three parts separated by `|`:
@@ -18726,6 +18799,7 @@ const unescapedLatinCharacterRegExp = /[a-zA-Z]/;
18726
18799
 
18727
18800
  /**
18728
18801
  * @name format
18802
+ * @alias formatDate
18729
18803
  * @category Common Helpers
18730
18804
  * @summary Format the date.
18731
18805
  *
@@ -19033,16 +19107,9 @@ function format$1(date, formatStr, options) {
19033
19107
  throw new RangeError("Invalid time value");
19034
19108
  }
19035
19109
 
19036
- const formatterOptions = {
19037
- firstWeekContainsDate: firstWeekContainsDate,
19038
- weekStartsOn: weekStartsOn,
19039
- locale: locale,
19040
- _originalDate: originalDate,
19041
- };
19042
-
19043
- const result = formatStr
19110
+ let parts = formatStr
19044
19111
  .match(longFormattingTokensRegExp)
19045
- .map(function (substring) {
19112
+ .map((substring) => {
19046
19113
  const firstCharacter = substring[0];
19047
19114
  if (firstCharacter === "p" || firstCharacter === "P") {
19048
19115
  const longFormatter = longFormatters[firstCharacter];
@@ -19052,37 +19119,19 @@ function format$1(date, formatStr, options) {
19052
19119
  })
19053
19120
  .join("")
19054
19121
  .match(formattingTokensRegExp)
19055
- .map(function (substring) {
19122
+ .map((substring) => {
19056
19123
  // Replace two single quote characters with one single quote character
19057
19124
  if (substring === "''") {
19058
- return "'";
19125
+ return { isToken: false, value: "'" };
19059
19126
  }
19060
19127
 
19061
19128
  const firstCharacter = substring[0];
19062
19129
  if (firstCharacter === "'") {
19063
- return cleanEscapedString(substring);
19130
+ return { isToken: false, value: cleanEscapedString(substring) };
19064
19131
  }
19065
19132
 
19066
- const formatter = formatters$1[firstCharacter];
19067
- if (formatter) {
19068
- if (
19069
- !options?.useAdditionalWeekYearTokens &&
19070
- isProtectedWeekYearToken(substring)
19071
- ) {
19072
- throwProtectedError(substring, formatStr, String(date));
19073
- }
19074
- if (
19075
- !options?.useAdditionalDayOfYearTokens &&
19076
- isProtectedDayOfYearToken(substring)
19077
- ) {
19078
- throwProtectedError(substring, formatStr, String(date));
19079
- }
19080
- return formatter(
19081
- originalDate,
19082
- substring,
19083
- locale.localize,
19084
- formatterOptions,
19085
- );
19133
+ if (formatters$1[firstCharacter]) {
19134
+ return { isToken: true, value: substring };
19086
19135
  }
19087
19136
 
19088
19137
  if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
@@ -19093,11 +19142,39 @@ function format$1(date, formatStr, options) {
19093
19142
  );
19094
19143
  }
19095
19144
 
19096
- return substring;
19145
+ return { isToken: false, value: substring };
19146
+ });
19147
+
19148
+ // invoke localize preprocessor (only for french locales at the moment)
19149
+ if (locale.localize.preprocessor) {
19150
+ parts = locale.localize.preprocessor(originalDate, parts);
19151
+ }
19152
+
19153
+ const formatterOptions = {
19154
+ firstWeekContainsDate,
19155
+ weekStartsOn,
19156
+ locale,
19157
+ };
19158
+
19159
+ return parts
19160
+ .map((part) => {
19161
+ if (!part.isToken) return part.value;
19162
+
19163
+ const token = part.value;
19164
+
19165
+ if (
19166
+ (!options?.useAdditionalWeekYearTokens &&
19167
+ isProtectedWeekYearToken(token)) ||
19168
+ (!options?.useAdditionalDayOfYearTokens &&
19169
+ isProtectedDayOfYearToken(token))
19170
+ ) {
19171
+ warnOrThrowProtectedError(token, formatStr, String(date));
19172
+ }
19173
+
19174
+ const formatter = formatters$1[token[0]];
19175
+ return formatter(originalDate, token, locale.localize, formatterOptions);
19097
19176
  })
19098
19177
  .join("");
19099
-
19100
- return result;
19101
19178
  }
19102
19179
 
19103
19180
  function cleanEscapedString(input) {
@@ -20576,7 +20653,7 @@ const TimePicker = ({
20576
20653
  });
20577
20654
  };
20578
20655
 
20579
- var css_248z$K = "@import 'react-day-picker/style.css';\n.fontXs, .ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm, .ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8, .ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n/* Custom date picker styling */\n.ff-date-picker {\n position: relative;\n}\n.ff-date-picker .rdp-root {\n --rdp-accent-color: var(--brand-color);\n --rdp-day-height: 24px;\n --rdp-day-width: 36px;\n --rdp-day_button-height: 24px;\n --rdp-day_button-width: 36px;\n font-family: \"Poppins\";\n font-size: 12px;\n --rdp-font-family: \"Poppins\", sans-serif;\n}\n.ff-date-picker .ff-cursor-pointer {\n cursor: pointer;\n}\n.ff-date-picker .ff-datepicker-input-container {\n display: flex;\n gap: 10px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n padding: 4px 8px;\n padding-left: 2rem;\n height: 32px;\n border-radius: 5px;\n border: 1px solid var(--border-color);\n color: var(--status-skipped-text-color);\n line-height: 15px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input:focus,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-calendar-icon,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-clock-icon {\n position: absolute;\n top: 50%;\n transform: translate(25%, -50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field {\n flex: 1;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input {\n width: 100%;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n padding: 0px 4px;\n margin-left: 8px;\n line-height: 12px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field {\n flex: 0 0 120px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field .ff-time-input {\n width: 100%;\n}\n.ff-date-picker .ff-date-picker-container {\n display: flex;\n flex-direction: column;\n position: absolute;\n border-radius: 8px;\n padding: 4px;\n box-sizing: border-box;\n background-color: var(--tab-bg-color);\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);\n gap: 8px;\n z-index: 10;\n}\n.ff-date-picker .ff-date-picker-container .ff-calendar-container {\n display: flex;\n align-items: flex-start;\n gap: 4px;\n height: 240px;\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls {\n padding: 4px;\n display: flex;\n justify-content: end;\n gap: 8px;\n border-top: 1px solid var(--border-color);\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls .ff-date-picker-button {\n font-weight: 600;\n line-height: 15px;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button {\n margin: 0 5px;\n border: 1px solid var(--border-color);\n background-color: var(--toggle-button-bg-color);\n box-shadow: 0 -1px 2px 0 var(--ff-mini-modal-box-shadow);\n padding: 0px;\n border-radius: 30%;\n cursor: pointer;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button:disabled {\n cursor: auto;\n opacity: 0.5;\n}\n.ff-date-picker .ff-calendar .ff-calendar-haeder {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid,\n.ff-date-picker .ff-calendar .ff-custom-month_grid {\n width: calc((var(--rdp-day-width) + 4px) * 7);\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n padding: 5px;\n max-width: 100%;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month {\n padding: 10px 0;\n text-align: center;\n cursor: pointer;\n border-radius: 8px;\n background-color: #f9f9f9;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--selected {\n background-color: var(--brand-color);\n color: var(--primary-button-text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled {\n color: var(--text-color-light);\n cursor: default;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-month--selected, .ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-year--selected {\n background-color: var(--disable-color);\n}\n.ff-date-picker .ff-calendar .rdp-weekdays th {\n color: #6f7c8e;\n font-weight: 400;\n}\n.ff-date-picker .ff-calendar .rdp-day {\n padding: 2px;\n font-weight: 500;\n}\n.ff-date-picker .ff-calendar .rdp-day_button {\n border-radius: 4px;\n padding: 3px 9px;\n}\n.ff-date-picker .ff-calendar .rdp-day_button:hover {\n background-color: var(--hover-color);\n}\n.ff-date-picker .ff-calendar .rdp-selected {\n font: inherit;\n}\n.ff-date-picker .ff-calendar .rdp-selected .rdp-day_button {\n background: var(--rdp-accent-color);\n color: var(--drawer-footer-bg);\n border: none;\n}\n.ff-date-picker .ff-calendar .rdp-today:not(.rdp-outside) .rdp-day_button {\n border: 2px solid var(--rdp-accent-color);\n}\n.ff-date-picker .ff-time-picker-container {\n position: relative;\n width: 150px;\n height: 100%;\n overflow-y: hidden;\n border-left: 1px solid #ccc;\n padding: 10px 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container::-webkit-scrollbar {\n display: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields {\n display: flex;\n height: 14%;\n width: 100%;\n margin-bottom: 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container {\n display: flex;\n border: 1px solid var(--border-color);\n border-right: 0;\n border-radius: 4px 0 0 4px;\n width: 55%;\n position: relative;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n border: none;\n padding: 5px;\n width: 100%;\n text-align: center;\n border-radius: 4px 0 0 4px;\n font-weight: 400;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input::placeholder {\n opacity: 0;\n line-height: 18px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input-label {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n transition: 0.2s ease all;\n color: var(--input-default-label-color);\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within {\n border-color: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input::placeholder {\n opacity: 1;\n margin-bottom: 1px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--danger {\n border-color: var(--input-error-text-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container {\n position: relative;\n width: 45%;\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: 0 4px 4px 0;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-select {\n display: flex;\n align-items: center;\n padding: 0 5px;\n width: 100%;\n border-radius: 4px;\n background-color: white;\n cursor: pointer;\n border: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container--active {\n border-color: var(--brand-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon {\n margin-left: auto;\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon svg path {\n fill: var(--default-icon-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover svg path {\n fill: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-options {\n position: fixed;\n z-index: 100;\n min-width: 60px;\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n border: 1px solid var(--ff-select-background-color);\n border-radius: 4px;\n background-color: var(--primary-button-text-color);\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item {\n padding: 8px;\n color: var(--text-color);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item:hover {\n background-color: var(--ff-select-option-hover-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options {\n height: 86%;\n overflow-y: auto;\n padding-right: 5px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar {\n width: 4px;\n height: 12px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-thumb {\n background-color: var(--ff-select-scroll-thumb-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-track {\n background-color: var(--hover-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options .ff-time-option {\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n border-radius: 8px;\n background-color: rgb(249, 249, 249);\n margin: 10px 0;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}";
20656
+ var css_248z$K = "@import 'react-day-picker/style.css';\n.fontXs, .ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm, .ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8, .ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n/* Custom date picker styling */\n.ff-date-picker {\n position: relative;\n}\n.ff-date-picker .rdp-root {\n --rdp-accent-color: var(--brand-color);\n --rdp-day-height: 24px;\n --rdp-day-width: 36px;\n --rdp-day_button-height: 24px;\n --rdp-day_button-width: 36px;\n font-family: \"Poppins\";\n font-size: 12px;\n --rdp-font-family: \"Poppins\", sans-serif;\n}\n.ff-date-picker .ff-cursor-pointer {\n cursor: pointer;\n}\n.ff-date-picker .ff-datepicker-input-container {\n display: flex;\n gap: 10px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input {\n padding: 4px 8px;\n padding-left: 2rem;\n height: 32px;\n border-radius: 5px;\n border: 1px solid var(--border-color);\n color: var(--status-skipped-text-color);\n line-height: 15px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-date-input:focus,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-calendar-icon,\n.ff-date-picker .ff-datepicker-input-container .ff-input-with-icon .ff-clock-icon {\n position: absolute;\n top: 50%;\n transform: translate(25%, -50%);\n display: flex;\n align-items: center;\n pointer-events: none;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field {\n flex: 1;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input {\n width: 100%;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message {\n padding: 0px 4px;\n margin-left: 8px;\n line-height: 12px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-date-input-field .ff-date-input-message--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field {\n flex: 0 0 120px;\n}\n.ff-date-picker .ff-datepicker-input-container .ff-time-input-field .ff-time-input {\n width: 100%;\n}\n.ff-date-picker .ff-date-picker-container {\n display: flex;\n flex-direction: column;\n position: fixed;\n border-radius: 8px;\n padding: 4px;\n box-sizing: border-box;\n background-color: var(--tab-bg-color);\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);\n gap: 8px;\n}\n.ff-date-picker .ff-date-picker-container .ff-calendar-container {\n display: flex;\n align-items: flex-start;\n gap: 4px;\n height: 240px;\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls {\n padding: 4px;\n display: flex;\n justify-content: end;\n gap: 8px;\n border-top: 1px solid var(--border-color);\n}\n.ff-date-picker .ff-date-picker-container .ff-date-picker-controls .ff-date-picker-button {\n font-weight: 600;\n line-height: 15px;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button {\n margin: 0 5px;\n border: 1px solid var(--border-color);\n background-color: var(--toggle-button-bg-color);\n box-shadow: 0 -1px 2px 0 var(--ff-mini-modal-box-shadow);\n padding: 0px;\n border-radius: 30%;\n cursor: pointer;\n}\n.ff-date-picker .ff-calendar .ff-calendar-nav-button:disabled {\n cursor: auto;\n opacity: 0.5;\n}\n.ff-date-picker .ff-calendar .ff-calendar-haeder {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid,\n.ff-date-picker .ff-calendar .ff-custom-month_grid {\n width: calc((var(--rdp-day-width) + 4px) * 7);\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 10px;\n padding: 5px;\n max-width: 100%;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month {\n padding: 10px 0;\n text-align: center;\n cursor: pointer;\n border-radius: 8px;\n background-color: #f9f9f9;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--selected {\n background-color: var(--brand-color);\n color: var(--primary-button-text-color);\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled {\n color: var(--text-color-light);\n cursor: default;\n}\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-month--selected, .ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-year_grid .ff-custom-month--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-year--disabled.ff-custom-year--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-month--selected,\n.ff-date-picker .ff-calendar .ff-custom-month_grid .ff-custom-month--disabled.ff-custom-year--selected {\n background-color: var(--disable-color);\n}\n.ff-date-picker .ff-calendar .rdp-weekdays th {\n color: #6f7c8e;\n font-weight: 400;\n}\n.ff-date-picker .ff-calendar .rdp-day {\n padding: 2px;\n font-weight: 500;\n}\n.ff-date-picker .ff-calendar .rdp-day_button {\n border-radius: 4px;\n padding: 3px 9px;\n}\n.ff-date-picker .ff-calendar .rdp-day_button:hover {\n background-color: var(--hover-color);\n}\n.ff-date-picker .ff-calendar .rdp-selected {\n font: inherit;\n}\n.ff-date-picker .ff-calendar .rdp-selected .rdp-day_button {\n background: var(--rdp-accent-color);\n color: var(--drawer-footer-bg);\n border: none;\n}\n.ff-date-picker .ff-calendar .rdp-today:not(.rdp-outside) .rdp-day_button {\n border: 2px solid var(--rdp-accent-color);\n}\n.ff-date-picker .ff-time-picker-container {\n position: relative;\n width: 150px;\n height: 100%;\n overflow-y: hidden;\n border-left: 1px solid #ccc;\n padding: 10px 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container::-webkit-scrollbar {\n display: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields {\n display: flex;\n height: 14%;\n width: 100%;\n margin-bottom: 5px;\n box-sizing: border-box;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container {\n display: flex;\n border: 1px solid var(--border-color);\n border-right: 0;\n border-radius: 4px 0 0 4px;\n width: 55%;\n position: relative;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input {\n border: none;\n padding: 5px;\n width: 100%;\n text-align: center;\n border-radius: 4px 0 0 4px;\n font-weight: 400;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input::placeholder {\n opacity: 0;\n line-height: 18px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input-label {\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n transition: 0.2s ease all;\n color: var(--input-default-label-color);\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--float .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within {\n border-color: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label {\n top: 0;\n left: 5px;\n color: var(--brand-color);\n background-color: var(--input-label-bg-color);\n line-height: 12px;\n padding: 0 2px;\n font-size: 8px !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input-label--danger {\n color: var(--input-error-text-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container:focus-within .ff-time-input::placeholder {\n opacity: 1;\n margin-bottom: 1px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container--danger {\n border-color: var(--input-error-text-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-input-container .ff-time-input:focus {\n outline: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container {\n position: relative;\n width: 45%;\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: 0 4px 4px 0;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-select {\n display: flex;\n align-items: center;\n padding: 0 5px;\n width: 100%;\n border-radius: 4px;\n background-color: white;\n cursor: pointer;\n border: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container--active {\n border-color: var(--brand-color) !important;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover {\n border-color: var(--input-hover-border-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon {\n margin-left: auto;\n pointer-events: none;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-icon svg path {\n fill: var(--default-icon-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container:hover svg path {\n fill: var(--brand-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-time-period-options {\n position: fixed;\n z-index: 100;\n min-width: 60px;\n margin: 4px 0 0;\n padding: 0;\n list-style: none;\n border: 1px solid var(--ff-select-background-color);\n border-radius: 4px;\n background-color: var(--primary-button-text-color);\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item {\n padding: 8px;\n color: var(--text-color);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-fields .ff-time-period-container .ff-option-item:hover {\n background-color: var(--ff-select-option-hover-color);\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options {\n height: 86%;\n overflow-y: auto;\n padding-right: 5px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar {\n width: 4px;\n height: 12px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-thumb {\n background-color: var(--ff-select-scroll-thumb-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options::-webkit-scrollbar-track {\n background-color: var(--hover-color);\n border-radius: 4px;\n}\n.ff-date-picker .ff-time-picker-container .ff-time-picker-options .ff-time-option {\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n border-radius: 8px;\n background-color: rgb(249, 249, 249);\n margin: 10px 0;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}\n\n/* Variables declaration */\n/* prettier-ignore */\n.rdp-root {\n --rdp-accent-color: blue; /* The accent color used for selected days and UI elements. */\n --rdp-accent-background-color: #f0f0ff; /* The accent background color used for selected days and UI elements. */\n --rdp-font-family: system-ui; /* The font family used by the calendar. Note that `inherit`does not work here. */\n --rdp-day-font: inherit; /* The font used for the day cells. */\n --rdp-day-height: 2.75rem; /* The height of the day cells. */\n --rdp-day-width: 2.75rem; /* The width of the day cells. */\n --rdp-day_button-border-radius: 100%; /* The border radius of the day cells. */\n --rdp-day_button-border: 2px solid transparent; /* The border of the day cells. */\n --rdp-day_button-height: var(--rdp-day-height); /* The height of the day cells. */\n --rdp-day_button-width: var(--rdp-day-width); /* The width of the day cells. */\n --rdp-selected-border: 2px solid var(--rdp-accent-color); /* The border of the selected days. */\n --rdp-selected-font: bold large var(--rdp-font-family); /* The font of the selected days. */\n --rdp-disabled-opacity: 0.5; /* The opacity of the disabled days. */\n --rdp-outside-opacity: 0.75; /* The opacity of the days outside the current month. */\n --rdp-today-color: var(--rdp-accent-color); /* The color of the today's date. */\n --rdp-dropdown-gap: 0.5rem; /* The gap between the dropdowns used in the month captons. */\n --rdp-month_caption-font: bold larger var(--rdp-font-family); /* The font of the month caption. */\n --rdp-months-gap: 2rem; /* The gap between the months in the multi-month view. */\n --rdp-nav_button-disabled-opacity: 0.5; /* The opacity of the disabled navigation buttons. */\n --rdp-nav_button-height: 2.25rem; /* The height of the navigation buttons. */\n --rdp-nav_button-width: 2.25rem; /* The width of the navigation buttons. */\n --rdp-nav-height: 2.75rem; /* The height of the navigation bar. */\n --rdp-range_middle-background-color: var(--rdp-accent-background-color); /* The color of the background for days in the middle of a range. */\n --rdp-range_middle-font: normal medium var(--rdp-font-family); /* The font for days in the middle of a range. */\n --rdp-range_middle-foreground-color: white; /* The font for days in the middle of a range. */\n --rdp-range_middle-color: inherit; /* The color of the range text. */\n --rdp-range_start-color: white; /* The color of the range text. */\n --rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%); /* Used for the background of the start of the selected range. */\n --rdp-range_start-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the start of the selected range. */\n --rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%); /* Used for the background of the end of the selected range. */\n --rdp-range_end-color: white; /* The color of the range text. */\n --rdp-range_end-date-background-color: var(--rdp-accent-color); /* The background color of the date when at the end of the selected range. */\n --rdp-week_number-border-radius: 100%; /* The border radius of the week number. */\n --rdp-week_number-border: 2px solid transparent; /* The border of the week number. */\n --rdp-week_number-font: 400 small var(--rdp-font-family); /* The font of the week number cells. */\n --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */\n --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */\n --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */\n --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */\n --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */\n --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */\n --rdp-weekday-text-align: center; /* The text alignment of the weekday cells. */\n --rdp-gradient-direction: 90deg;\n}\n\n.rdp-root[dir=rtl] {\n --rdp-gradient-direction: -90deg;\n}\n\n/* Root of the component. */\n.rdp-root {\n position: relative; /* Required to position the navigation toolbar. */\n box-sizing: border-box;\n}\n\n.rdp-root * {\n box-sizing: border-box;\n}\n\n.rdp-day {\n width: var(--rdp-day-width);\n height: var(--rdp-day-height);\n font: var(--rdp-day-font);\n text-align: center;\n}\n\n.rdp-day_button {\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n justify-content: center;\n align-items: center;\n display: flex;\n width: var(--rdp-day_button-width);\n height: var(--rdp-day_button-height);\n border: var(--rdp-day_button-border);\n border-radius: var(--rdp-day_button-border-radius);\n}\n\n.rdp-day_button:disabled {\n cursor: revert;\n}\n\n.rdp-caption_label {\n z-index: 1;\n position: relative;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n border: 0;\n}\n\n.rdp-button_next,\n.rdp-button_previous {\n border: none;\n background: none;\n padding: 0;\n margin: 0;\n cursor: pointer;\n font: inherit;\n color: inherit;\n -moz-appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n appearance: none;\n width: var(--rdp-nav_button-width);\n height: var(--rdp-nav_button-height);\n}\n\n.rdp-button_next:disabled,\n.rdp-button_previous:disabled {\n cursor: revert;\n opacity: var(--rdp-nav_button-disabled-opacity);\n}\n\n.rdp-chevron {\n display: inline-block;\n fill: var(--rdp-accent-color);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n}\n\n.rdp-root[dir=rtl] .rdp-nav .rdp-chevron {\n transform: rotate(180deg);\n transform-origin: 50%;\n}\n\n.rdp-dropdowns {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--rdp-dropdown-gap);\n}\n\n.rdp-dropdown {\n z-index: 2;\n /* Reset */\n opacity: 0;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-block-end: 0;\n inset-inline-start: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n border: none;\n line-height: inherit;\n}\n\n.rdp-dropdown_root {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown_root[data-disabled=true] .rdp-chevron {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-month_caption {\n display: flex;\n align-content: center;\n height: var(--rdp-nav-height);\n font: var(--rdp-month_caption-font);\n}\n\n.rdp-months {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--rdp-months-gap);\n max-width: fit-content;\n}\n\n.rdp-month_grid {\n border-collapse: collapse;\n}\n\n.rdp-nav {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n height: var(--rdp-nav-height);\n}\n\n.rdp-weekday {\n opacity: var(--rdp-weekday-opacity);\n padding: var(--rdp-weekday-padding);\n font: var(--rdp-weekday-font);\n text-align: var(--rdp-weekday-text-align);\n text-transform: var(--rdp-weekday-text-transform);\n}\n\n.rdp-week_number {\n opacity: var(--rdp-week_number-opacity);\n font: var(--rdp-week_number-font);\n height: var(--rdp-week_number-height);\n width: var(--rdp-week_number-width);\n border: var(--rdp-week_number-border);\n border-radius: var(--rdp-week_number-border-radius);\n text-align: var(--rdp-weeknumber-text-align);\n}\n\n/* DAY MODIFIERS */\n.rdp-today:not(.rdp-outside) {\n color: var(--rdp-today-color);\n}\n\n.rdp-selected {\n font: var(--rdp-selected-font);\n}\n\n.rdp-selected .rdp-day_button {\n border: var(--rdp-selected-border);\n}\n\n.rdp-outside {\n opacity: var(--rdp-outside-opacity);\n}\n\n.rdp-disabled {\n opacity: var(--rdp-disabled-opacity);\n}\n\n.rdp-hidden {\n visibility: hidden;\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_start {\n background: var(--rdp-range_start-background);\n}\n\n.rdp-range_start .rdp-day_button {\n background-color: var(--rdp-range_start-date-background-color);\n color: var(--rdp-range_start-color);\n}\n\n.rdp-range_middle {\n background-color: var(--rdp-range_middle-background-color);\n font: var(--rdp-range_middle-font);\n}\n\n.rdp-range_middle .rdp-day_button {\n border-color: transparent;\n border: unset;\n border-radius: unset;\n color: var(--rdp-range_middle-color);\n}\n\n.rdp-range_end {\n background: var(--rdp-range_end-background);\n color: var(--rdp-range_end-color);\n}\n\n.rdp-range_end .rdp-day_button {\n color: var(--rdp-range_start-color);\n background-color: var(--rdp-range_end-date-background-color);\n}\n\n.rdp-range_start.rdp-range_end {\n background: revert;\n}\n\n.rdp-focusable {\n cursor: pointer;\n}";
20580
20657
  styleInject(css_248z$K);
20581
20658
 
20582
20659
  const CustomDatePicker = ({
@@ -20592,7 +20669,9 @@ const CustomDatePicker = ({
20592
20669
  timeFormat = 'hh:mm a',
20593
20670
  error,
20594
20671
  helperText = '',
20595
- dateOnly = false
20672
+ dateOnly = false,
20673
+ className,
20674
+ zIndex = 10
20596
20675
  }) => {
20597
20676
  const [timeValue, setTimeValue] = useState('');
20598
20677
  const [selectedDate, setSelectedDate] = useState();
@@ -20600,13 +20679,16 @@ const CustomDatePicker = ({
20600
20679
  const [timeError, setTimeError] = useState(false);
20601
20680
  const [selectedMonth, setSelectedMonth] = useState(new Date());
20602
20681
  const [view, setView] = useState('days');
20682
+ const selectedDateRef = useRef(undefined);
20603
20683
  const [startYear, setStartYear] = useState(() => {
20604
20684
  const currentYear = selectedMonth?.getFullYear() ?? new Date().getFullYear();
20605
20685
  return currentYear - currentYear % 12; // Set to the first year in the 12-year range
20606
20686
  });
20607
- const [datePickerPosition, setDatePickerPosition] = useState('bottom');
20608
20687
  const pickerRef = useRef(null); // Ref to track the picker
20609
20688
  const containerRef = useRef(null);
20689
+ useEffect(() => {
20690
+ selectedDateRef.current = selectedDate;
20691
+ }, [selectedDate]);
20610
20692
  useEffect(() => {
20611
20693
  if (value) {
20612
20694
  setTimeValue(formatTimeStr(value));
@@ -20625,23 +20707,26 @@ const CustomDatePicker = ({
20625
20707
  const adjustPosition = () => {
20626
20708
  if (containerRef.current && pickerRef.current) {
20627
20709
  const relativeRect = containerRef.current.getBoundingClientRect();
20628
- const absoluteRect = pickerRef.current.getBoundingClientRect();
20710
+ const pickerHeight = pickerRef.current.offsetHeight;
20711
+ const spacing = 5; // spacing in pixels
20629
20712
  const spaceBelow = window.innerHeight - relativeRect.bottom;
20630
20713
  const spaceAbove = relativeRect.top;
20631
- // Check if there is more space above than below
20632
- if (spaceBelow < absoluteRect.height && spaceAbove >= absoluteRect.height) {
20633
- setDatePickerPosition('top');
20634
- } else {
20635
- setDatePickerPosition('bottom');
20714
+ let top = relativeRect.bottom + window.scrollY + spacing; // Default position to below
20715
+ if (spaceBelow < pickerHeight && spaceAbove >= pickerHeight) {
20716
+ top = relativeRect.top + window.scrollY - pickerHeight - spacing; // Place above
20636
20717
  }
20718
+ // Horizontal position: align to container with optional adjustments
20719
+ const left = relativeRect.left + window.scrollX;
20720
+ pickerRef.current.style.top = `${top}px`;
20721
+ pickerRef.current.style.left = `${left}px`;
20637
20722
  }
20638
20723
  };
20639
- // Initial check
20724
+ // Initial adjustment
20640
20725
  adjustPosition();
20641
- // Adjust position on window resize
20726
+ // Recalculate on resize
20642
20727
  window.addEventListener('resize', adjustPosition);
20643
20728
  return () => window.removeEventListener('resize', adjustPosition);
20644
- }, []);
20729
+ }, [isPickerOpen]);
20645
20730
  const calendarStyle = {
20646
20731
  '--rdp-day-width': calendarWidth ? `${calendarWidth / 7 - 4}px` : undefined
20647
20732
  };
@@ -20675,7 +20760,8 @@ const CustomDatePicker = ({
20675
20760
  }
20676
20761
  };
20677
20762
  const handleSave = () => {
20678
- onChange(selectedDate);
20763
+ console.log('selectedDate1', selectedDateRef.current);
20764
+ onChange(selectedDateRef.current);
20679
20765
  resetAndCloseDatePicker();
20680
20766
  };
20681
20767
  const handleDateInputClick = () => {
@@ -20853,7 +20939,7 @@ const CustomDatePicker = ({
20853
20939
  });
20854
20940
  };
20855
20941
  return jsxs("div", {
20856
- className: "ff-date-picker",
20942
+ className: `ff-date-picker ${className}`,
20857
20943
  ref: containerRef,
20858
20944
  children: [jsxs("div", {
20859
20945
  className: "ff-datepicker-input-container",
@@ -20897,8 +20983,7 @@ const CustomDatePicker = ({
20897
20983
  className: "ff-date-picker-container",
20898
20984
  ref: pickerRef,
20899
20985
  style: {
20900
- top: datePickerPosition === 'top' ? 'auto' : '110%',
20901
- bottom: datePickerPosition === 'top' ? '110%' : 'auto'
20986
+ zIndex
20902
20987
  },
20903
20988
  children: [jsxs("div", {
20904
20989
  className: "ff-calendar-container",
@@ -20948,12 +21033,12 @@ const CustomDatePicker = ({
20948
21033
  })]
20949
21034
  }), !dateOnly && jsxs("div", {
20950
21035
  className: "ff-date-picker-controls",
20951
- children: [jsx(Button$2, {
21036
+ children: [jsx(Button$1, {
20952
21037
  className: "ff-date-picker-button",
20953
21038
  variant: "secondary",
20954
21039
  onClick: handleCancel,
20955
21040
  label: "Cancel"
20956
- }), jsx(Button$2, {
21041
+ }), jsx(Button$1, {
20957
21042
  className: "ff-date-picker-button",
20958
21043
  variant: "primary",
20959
21044
  onClick: handleSave,
@@ -21609,6 +21694,8 @@ function LiveRegion(_ref) {
21609
21694
  // Hide element visually but keep it readable by screen readers
21610
21695
  const visuallyHidden = {
21611
21696
  position: 'fixed',
21697
+ top: 0,
21698
+ left: 0,
21612
21699
  width: 1,
21613
21700
  height: 1,
21614
21701
  margin: -1,
@@ -22598,11 +22685,12 @@ var KeyboardCode;
22598
22685
  KeyboardCode["Up"] = "ArrowUp";
22599
22686
  KeyboardCode["Esc"] = "Escape";
22600
22687
  KeyboardCode["Enter"] = "Enter";
22688
+ KeyboardCode["Tab"] = "Tab";
22601
22689
  })(KeyboardCode || (KeyboardCode = {}));
22602
22690
  const defaultKeyboardCodes = {
22603
22691
  start: [KeyboardCode.Space, KeyboardCode.Enter],
22604
22692
  cancel: [KeyboardCode.Esc],
22605
- end: [KeyboardCode.Space, KeyboardCode.Enter]
22693
+ end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]
22606
22694
  };
22607
22695
  const defaultKeyboardCoordinateGetter = (event, _ref) => {
22608
22696
  let {
@@ -22901,6 +22989,9 @@ class AbstractPointerSensor {
22901
22989
  passive: false
22902
22990
  });
22903
22991
  this.listeners.add(events.end.name, this.handleEnd);
22992
+ if (events.cancel) {
22993
+ this.listeners.add(events.cancel.name, this.handleCancel);
22994
+ }
22904
22995
  this.windowListeners.add(EventName.Resize, this.handleCancel);
22905
22996
  this.windowListeners.add(EventName.DragStart, preventDefault);
22906
22997
  this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);
@@ -22916,9 +23007,11 @@ class AbstractPointerSensor {
22916
23007
  }
22917
23008
  if (isDelayConstraint(activationConstraint)) {
22918
23009
  this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);
23010
+ this.handlePending(activationConstraint);
22919
23011
  return;
22920
23012
  }
22921
23013
  if (isDistanceConstraint(activationConstraint)) {
23014
+ this.handlePending(activationConstraint);
22922
23015
  return;
22923
23016
  }
22924
23017
  }
@@ -22935,6 +23028,13 @@ class AbstractPointerSensor {
22935
23028
  this.timeoutId = null;
22936
23029
  }
22937
23030
  }
23031
+ handlePending(constraint, offset) {
23032
+ const {
23033
+ active,
23034
+ onPending
23035
+ } = this.props;
23036
+ onPending(active, constraint, this.initialCoordinates, offset);
23037
+ }
22938
23038
  handleStart() {
22939
23039
  const {
22940
23040
  initialCoordinates
@@ -22988,6 +23088,7 @@ class AbstractPointerSensor {
22988
23088
  return this.handleCancel();
22989
23089
  }
22990
23090
  }
23091
+ this.handlePending(activationConstraint, delta);
22991
23092
  return;
22992
23093
  }
22993
23094
  if (event.cancelable) {
@@ -22997,16 +23098,24 @@ class AbstractPointerSensor {
22997
23098
  }
22998
23099
  handleEnd() {
22999
23100
  const {
23101
+ onAbort,
23000
23102
  onEnd
23001
23103
  } = this.props;
23002
23104
  this.detach();
23105
+ if (!this.activated) {
23106
+ onAbort(this.props.active);
23107
+ }
23003
23108
  onEnd();
23004
23109
  }
23005
23110
  handleCancel() {
23006
23111
  const {
23112
+ onAbort,
23007
23113
  onCancel
23008
23114
  } = this.props;
23009
23115
  this.detach();
23116
+ if (!this.activated) {
23117
+ onAbort(this.props.active);
23118
+ }
23010
23119
  onCancel();
23011
23120
  }
23012
23121
  handleKeydown(event) {
@@ -23020,6 +23129,9 @@ class AbstractPointerSensor {
23020
23129
  }
23021
23130
  }
23022
23131
  const events = {
23132
+ cancel: {
23133
+ name: 'pointercancel'
23134
+ },
23023
23135
  move: {
23024
23136
  name: 'pointermove'
23025
23137
  },
@@ -23092,6 +23204,9 @@ MouseSensor.activators = [{
23092
23204
  }
23093
23205
  }];
23094
23206
  const events$2 = {
23207
+ cancel: {
23208
+ name: 'touchcancel'
23209
+ },
23095
23210
  move: {
23096
23211
  name: 'touchmove'
23097
23212
  },
@@ -23293,11 +23408,11 @@ function useScrollIntent(_ref2) {
23293
23408
  }, [disabled, delta, previousDelta]);
23294
23409
  }
23295
23410
  function useCachedNode(draggableNodes, id) {
23296
- const draggableNode = id !== null ? draggableNodes.get(id) : undefined;
23411
+ const draggableNode = id != null ? draggableNodes.get(id) : undefined;
23297
23412
  const node = draggableNode ? draggableNode.node.current : null;
23298
23413
  return useLazyMemo(cachedNode => {
23299
23414
  var _ref;
23300
- if (id === null) {
23415
+ if (id == null) {
23301
23416
  return null;
23302
23417
  } // In some cases, the draggable node can unmount while dragging
23303
23418
  // This is the case for virtualized lists. In those situations,
@@ -23505,7 +23620,26 @@ function useRect(element, measure, fallbackRect) {
23505
23620
  if (measure === void 0) {
23506
23621
  measure = defaultMeasure;
23507
23622
  }
23508
- const [rect, measureRect] = useReducer(reducer, null);
23623
+ const [rect, setRect] = useState(null);
23624
+ function measureRect() {
23625
+ setRect(currentRect => {
23626
+ if (!element) {
23627
+ return null;
23628
+ }
23629
+ if (element.isConnected === false) {
23630
+ var _ref;
23631
+
23632
+ // Fall back to last rect we measured if the element is
23633
+ // no longer connected to the DOM.
23634
+ return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
23635
+ }
23636
+ const newRect = measure(element);
23637
+ if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
23638
+ return currentRect;
23639
+ }
23640
+ return newRect;
23641
+ });
23642
+ }
23509
23643
  const mutationObserver = useMutationObserver({
23510
23644
  callback(records) {
23511
23645
  if (!element) {
@@ -23540,23 +23674,6 @@ function useRect(element, measure, fallbackRect) {
23540
23674
  }
23541
23675
  }, [element]);
23542
23676
  return rect;
23543
- function reducer(currentRect) {
23544
- if (!element) {
23545
- return null;
23546
- }
23547
- if (element.isConnected === false) {
23548
- var _ref;
23549
-
23550
- // Fall back to last rect we measured if the element is
23551
- // no longer connected to the DOM.
23552
- return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
23553
- }
23554
- const newRect = measure(element);
23555
- if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
23556
- return currentRect;
23557
- }
23558
- return newRect;
23559
- }
23560
23677
  }
23561
23678
  function useRectDelta(rect) {
23562
23679
  const initialRect = useInitialValue(rect);
@@ -23702,28 +23819,24 @@ function useRects(elements, measure) {
23702
23819
  }
23703
23820
  const [firstElement] = elements;
23704
23821
  const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);
23705
- const [rects, measureRects] = useReducer(reducer, defaultValue$2);
23822
+ const [rects, setRects] = useState(defaultValue$2);
23823
+ function measureRects() {
23824
+ setRects(() => {
23825
+ if (!elements.length) {
23826
+ return defaultValue$2;
23827
+ }
23828
+ return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
23829
+ });
23830
+ }
23706
23831
  const resizeObserver = useResizeObserver({
23707
23832
  callback: measureRects
23708
23833
  });
23709
- if (elements.length > 0 && rects === defaultValue$2) {
23710
- measureRects();
23711
- }
23712
23834
  useIsomorphicLayoutEffect$1(() => {
23713
- if (elements.length) {
23714
- elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));
23715
- } else {
23716
- resizeObserver == null ? void 0 : resizeObserver.disconnect();
23717
- measureRects();
23718
- }
23835
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
23836
+ measureRects();
23837
+ elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));
23719
23838
  }, [elements]);
23720
23839
  return rects;
23721
- function reducer() {
23722
- if (!elements.length) {
23723
- return defaultValue$2;
23724
- }
23725
- return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
23726
- }
23727
23840
  }
23728
23841
  function getMeasurableNode(node) {
23729
23842
  if (!node) {
@@ -23890,7 +24003,7 @@ function reducer$1(state, action) {
23890
24003
  }
23891
24004
  };
23892
24005
  case Action.DragMove:
23893
- if (!state.draggable.active) {
24006
+ if (state.draggable.active == null) {
23894
24007
  return state;
23895
24008
  }
23896
24009
  return {
@@ -24162,7 +24275,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24162
24275
  containers: droppableContainers
24163
24276
  }
24164
24277
  } = state;
24165
- const node = activeId ? draggableNodes.get(activeId) : null;
24278
+ const node = activeId != null ? draggableNodes.get(activeId) : null;
24166
24279
  const activeRects = useRef({
24167
24280
  initial: null,
24168
24281
  translated: null
@@ -24197,7 +24310,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24197
24310
  const autoScrollOptions = getAutoScrollerOptions();
24198
24311
  const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);
24199
24312
  useLayoutShiftScrollCompensation({
24200
- activeNode: activeId ? draggableNodes.get(activeId) : null,
24313
+ activeNode: activeId != null ? draggableNodes.get(activeId) : null,
24201
24314
  config: autoScrollOptions.layoutShiftCompensation,
24202
24315
  initialRect: initialActiveNodeRect,
24203
24316
  measure: measuringConfiguration.draggable.measure
@@ -24275,6 +24388,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24275
24388
 
24276
24389
  const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);
24277
24390
  const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);
24391
+ const activeSensorRef = useRef(null);
24278
24392
  const instantiateSensor = useCallback((event, _ref2) => {
24279
24393
  let {
24280
24394
  sensor: Sensor,
@@ -24296,6 +24410,43 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24296
24410
  // Sensors need to be instantiated with refs for arguments that change over time
24297
24411
  // otherwise they are frozen in time with the stale arguments
24298
24412
  context: sensorContext,
24413
+ onAbort(id) {
24414
+ const draggableNode = draggableNodes.get(id);
24415
+ if (!draggableNode) {
24416
+ return;
24417
+ }
24418
+ const {
24419
+ onDragAbort
24420
+ } = latestProps.current;
24421
+ const event = {
24422
+ id
24423
+ };
24424
+ onDragAbort == null ? void 0 : onDragAbort(event);
24425
+ dispatchMonitorEvent({
24426
+ type: 'onDragAbort',
24427
+ event
24428
+ });
24429
+ },
24430
+ onPending(id, constraint, initialCoordinates, offset) {
24431
+ const draggableNode = draggableNodes.get(id);
24432
+ if (!draggableNode) {
24433
+ return;
24434
+ }
24435
+ const {
24436
+ onDragPending
24437
+ } = latestProps.current;
24438
+ const event = {
24439
+ id,
24440
+ constraint,
24441
+ initialCoordinates,
24442
+ offset
24443
+ };
24444
+ onDragPending == null ? void 0 : onDragPending(event);
24445
+ dispatchMonitorEvent({
24446
+ type: 'onDragPending',
24447
+ event
24448
+ });
24449
+ },
24299
24450
  onStart(initialCoordinates) {
24300
24451
  const id = activeRef.current;
24301
24452
  if (id == null) {
@@ -24309,6 +24460,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24309
24460
  onDragStart
24310
24461
  } = latestProps.current;
24311
24462
  const event = {
24463
+ activatorEvent,
24312
24464
  active: {
24313
24465
  id,
24314
24466
  data: draggableNode.data,
@@ -24327,6 +24479,8 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24327
24479
  type: 'onDragStart',
24328
24480
  event
24329
24481
  });
24482
+ setActiveSensor(activeSensorRef.current);
24483
+ setActivatorEvent(activatorEvent);
24330
24484
  });
24331
24485
  },
24332
24486
  onMove(coordinates) {
@@ -24338,10 +24492,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24338
24492
  onEnd: createHandler(Action.DragEnd),
24339
24493
  onCancel: createHandler(Action.DragCancel)
24340
24494
  });
24341
- unstable_batchedUpdates(() => {
24342
- setActiveSensor(sensorInstance);
24343
- setActivatorEvent(event.nativeEvent);
24344
- });
24495
+ activeSensorRef.current = sensorInstance;
24345
24496
  function createHandler(type) {
24346
24497
  return async function handler() {
24347
24498
  const {
@@ -24378,6 +24529,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24378
24529
  setOver(null);
24379
24530
  setActiveSensor(null);
24380
24531
  setActivatorEvent(null);
24532
+ activeSensorRef.current = null;
24381
24533
  const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';
24382
24534
  if (event) {
24383
24535
  const handler = latestProps.current[eventName];
@@ -24599,7 +24751,7 @@ const DndContext = /*#__PURE__*/memo(function DndContext(_ref) {
24599
24751
  });
24600
24752
  const NullContext = /*#__PURE__*/createContext$1(null);
24601
24753
  const defaultRole = 'button';
24602
- const ID_PREFIX$1 = 'Droppable';
24754
+ const ID_PREFIX$1 = 'Draggable';
24603
24755
  function useDraggable(_ref) {
24604
24756
  let {
24605
24757
  id,
@@ -24746,7 +24898,7 @@ function useDroppable(_ref) {
24746
24898
  resizeObserverConnected.current = false;
24747
24899
  resizeObserver.observe(nodeRef.current);
24748
24900
  }, [nodeRef, resizeObserver]);
24749
- useIsomorphicLayoutEffect$1(() => {
24901
+ useEffect(() => {
24750
24902
  dispatch({
24751
24903
  type: Action.RegisterDroppable,
24752
24904
  element: {
@@ -25161,6 +25313,7 @@ var DNDCore = /*#__PURE__*/Object.freeze({
25161
25313
  defaultCoordinates: defaultCoordinates,
25162
25314
  defaultDropAnimation: defaultDropAnimationConfiguration,
25163
25315
  defaultDropAnimationSideEffects: defaultDropAnimationSideEffects,
25316
+ defaultKeyboardCoordinateGetter: defaultKeyboardCoordinateGetter,
25164
25317
  defaultScreenReaderInstructions: defaultScreenReaderInstructions,
25165
25318
  getClientRect: getClientRect,
25166
25319
  getFirstCollision: getFirstCollision,
@@ -27034,6 +27187,316 @@ const DashboardDonutChart = ({
27034
27187
 
27035
27188
  var propTypes = {exports: {}};
27036
27189
 
27190
+ var reactIs = {exports: {}};
27191
+
27192
+ var reactIs_production_min = {};
27193
+
27194
+ /** @license React v16.13.1
27195
+ * react-is.production.min.js
27196
+ *
27197
+ * Copyright (c) Facebook, Inc. and its affiliates.
27198
+ *
27199
+ * This source code is licensed under the MIT license found in the
27200
+ * LICENSE file in the root directory of this source tree.
27201
+ */
27202
+ var hasRequiredReactIs_production_min;
27203
+ function requireReactIs_production_min() {
27204
+ if (hasRequiredReactIs_production_min) return reactIs_production_min;
27205
+ hasRequiredReactIs_production_min = 1;
27206
+ var b = "function" === typeof Symbol && Symbol.for,
27207
+ c = b ? Symbol.for("react.element") : 60103,
27208
+ d = b ? Symbol.for("react.portal") : 60106,
27209
+ e = b ? Symbol.for("react.fragment") : 60107,
27210
+ f = b ? Symbol.for("react.strict_mode") : 60108,
27211
+ g = b ? Symbol.for("react.profiler") : 60114,
27212
+ h = b ? Symbol.for("react.provider") : 60109,
27213
+ k = b ? Symbol.for("react.context") : 60110,
27214
+ l = b ? Symbol.for("react.async_mode") : 60111,
27215
+ m = b ? Symbol.for("react.concurrent_mode") : 60111,
27216
+ n = b ? Symbol.for("react.forward_ref") : 60112,
27217
+ p = b ? Symbol.for("react.suspense") : 60113,
27218
+ q = b ? Symbol.for("react.suspense_list") : 60120,
27219
+ r = b ? Symbol.for("react.memo") : 60115,
27220
+ t = b ? Symbol.for("react.lazy") : 60116,
27221
+ v = b ? Symbol.for("react.block") : 60121,
27222
+ w = b ? Symbol.for("react.fundamental") : 60117,
27223
+ x = b ? Symbol.for("react.responder") : 60118,
27224
+ y = b ? Symbol.for("react.scope") : 60119;
27225
+ function z(a) {
27226
+ if ("object" === typeof a && null !== a) {
27227
+ var u = a.$$typeof;
27228
+ switch (u) {
27229
+ case c:
27230
+ switch (a = a.type, a) {
27231
+ case l:
27232
+ case m:
27233
+ case e:
27234
+ case g:
27235
+ case f:
27236
+ case p:
27237
+ return a;
27238
+ default:
27239
+ switch (a = a && a.$$typeof, a) {
27240
+ case k:
27241
+ case n:
27242
+ case t:
27243
+ case r:
27244
+ case h:
27245
+ return a;
27246
+ default:
27247
+ return u;
27248
+ }
27249
+ }
27250
+ case d:
27251
+ return u;
27252
+ }
27253
+ }
27254
+ }
27255
+ function A(a) {
27256
+ return z(a) === m;
27257
+ }
27258
+ reactIs_production_min.AsyncMode = l;
27259
+ reactIs_production_min.ConcurrentMode = m;
27260
+ reactIs_production_min.ContextConsumer = k;
27261
+ reactIs_production_min.ContextProvider = h;
27262
+ reactIs_production_min.Element = c;
27263
+ reactIs_production_min.ForwardRef = n;
27264
+ reactIs_production_min.Fragment = e;
27265
+ reactIs_production_min.Lazy = t;
27266
+ reactIs_production_min.Memo = r;
27267
+ reactIs_production_min.Portal = d;
27268
+ reactIs_production_min.Profiler = g;
27269
+ reactIs_production_min.StrictMode = f;
27270
+ reactIs_production_min.Suspense = p;
27271
+ reactIs_production_min.isAsyncMode = function (a) {
27272
+ return A(a) || z(a) === l;
27273
+ };
27274
+ reactIs_production_min.isConcurrentMode = A;
27275
+ reactIs_production_min.isContextConsumer = function (a) {
27276
+ return z(a) === k;
27277
+ };
27278
+ reactIs_production_min.isContextProvider = function (a) {
27279
+ return z(a) === h;
27280
+ };
27281
+ reactIs_production_min.isElement = function (a) {
27282
+ return "object" === typeof a && null !== a && a.$$typeof === c;
27283
+ };
27284
+ reactIs_production_min.isForwardRef = function (a) {
27285
+ return z(a) === n;
27286
+ };
27287
+ reactIs_production_min.isFragment = function (a) {
27288
+ return z(a) === e;
27289
+ };
27290
+ reactIs_production_min.isLazy = function (a) {
27291
+ return z(a) === t;
27292
+ };
27293
+ reactIs_production_min.isMemo = function (a) {
27294
+ return z(a) === r;
27295
+ };
27296
+ reactIs_production_min.isPortal = function (a) {
27297
+ return z(a) === d;
27298
+ };
27299
+ reactIs_production_min.isProfiler = function (a) {
27300
+ return z(a) === g;
27301
+ };
27302
+ reactIs_production_min.isStrictMode = function (a) {
27303
+ return z(a) === f;
27304
+ };
27305
+ reactIs_production_min.isSuspense = function (a) {
27306
+ return z(a) === p;
27307
+ };
27308
+ reactIs_production_min.isValidElementType = function (a) {
27309
+ 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);
27310
+ };
27311
+ reactIs_production_min.typeOf = z;
27312
+ return reactIs_production_min;
27313
+ }
27314
+
27315
+ var reactIs_development = {};
27316
+
27317
+ /** @license React v16.13.1
27318
+ * react-is.development.js
27319
+ *
27320
+ * Copyright (c) Facebook, Inc. and its affiliates.
27321
+ *
27322
+ * This source code is licensed under the MIT license found in the
27323
+ * LICENSE file in the root directory of this source tree.
27324
+ */
27325
+ var hasRequiredReactIs_development;
27326
+ function requireReactIs_development() {
27327
+ if (hasRequiredReactIs_development) return reactIs_development;
27328
+ hasRequiredReactIs_development = 1;
27329
+ if (process.env.NODE_ENV !== "production") {
27330
+ (function () {
27331
+
27332
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
27333
+ // nor polyfill, then a plain number is used for performance.
27334
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
27335
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
27336
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
27337
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
27338
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
27339
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
27340
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
27341
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
27342
+ // (unstable) APIs that have been removed. Can we remove the symbols?
27343
+
27344
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
27345
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
27346
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
27347
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
27348
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
27349
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
27350
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
27351
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
27352
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
27353
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
27354
+ var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
27355
+ function isValidElementType(type) {
27356
+ return typeof type === 'string' || typeof type === 'function' ||
27357
+ // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
27358
+ 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);
27359
+ }
27360
+ function typeOf(object) {
27361
+ if (typeof object === 'object' && object !== null) {
27362
+ var $$typeof = object.$$typeof;
27363
+ switch ($$typeof) {
27364
+ case REACT_ELEMENT_TYPE:
27365
+ var type = object.type;
27366
+ switch (type) {
27367
+ case REACT_ASYNC_MODE_TYPE:
27368
+ case REACT_CONCURRENT_MODE_TYPE:
27369
+ case REACT_FRAGMENT_TYPE:
27370
+ case REACT_PROFILER_TYPE:
27371
+ case REACT_STRICT_MODE_TYPE:
27372
+ case REACT_SUSPENSE_TYPE:
27373
+ return type;
27374
+ default:
27375
+ var $$typeofType = type && type.$$typeof;
27376
+ switch ($$typeofType) {
27377
+ case REACT_CONTEXT_TYPE:
27378
+ case REACT_FORWARD_REF_TYPE:
27379
+ case REACT_LAZY_TYPE:
27380
+ case REACT_MEMO_TYPE:
27381
+ case REACT_PROVIDER_TYPE:
27382
+ return $$typeofType;
27383
+ default:
27384
+ return $$typeof;
27385
+ }
27386
+ }
27387
+ case REACT_PORTAL_TYPE:
27388
+ return $$typeof;
27389
+ }
27390
+ }
27391
+ return undefined;
27392
+ } // AsyncMode is deprecated along with isAsyncMode
27393
+
27394
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
27395
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
27396
+ var ContextConsumer = REACT_CONTEXT_TYPE;
27397
+ var ContextProvider = REACT_PROVIDER_TYPE;
27398
+ var Element = REACT_ELEMENT_TYPE;
27399
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
27400
+ var Fragment = REACT_FRAGMENT_TYPE;
27401
+ var Lazy = REACT_LAZY_TYPE;
27402
+ var Memo = REACT_MEMO_TYPE;
27403
+ var Portal = REACT_PORTAL_TYPE;
27404
+ var Profiler = REACT_PROFILER_TYPE;
27405
+ var StrictMode = REACT_STRICT_MODE_TYPE;
27406
+ var Suspense = REACT_SUSPENSE_TYPE;
27407
+ var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
27408
+
27409
+ function isAsyncMode(object) {
27410
+ {
27411
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
27412
+ hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
27413
+
27414
+ 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.');
27415
+ }
27416
+ }
27417
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
27418
+ }
27419
+ function isConcurrentMode(object) {
27420
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
27421
+ }
27422
+ function isContextConsumer(object) {
27423
+ return typeOf(object) === REACT_CONTEXT_TYPE;
27424
+ }
27425
+ function isContextProvider(object) {
27426
+ return typeOf(object) === REACT_PROVIDER_TYPE;
27427
+ }
27428
+ function isElement(object) {
27429
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
27430
+ }
27431
+ function isForwardRef(object) {
27432
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
27433
+ }
27434
+ function isFragment(object) {
27435
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
27436
+ }
27437
+ function isLazy(object) {
27438
+ return typeOf(object) === REACT_LAZY_TYPE;
27439
+ }
27440
+ function isMemo(object) {
27441
+ return typeOf(object) === REACT_MEMO_TYPE;
27442
+ }
27443
+ function isPortal(object) {
27444
+ return typeOf(object) === REACT_PORTAL_TYPE;
27445
+ }
27446
+ function isProfiler(object) {
27447
+ return typeOf(object) === REACT_PROFILER_TYPE;
27448
+ }
27449
+ function isStrictMode(object) {
27450
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
27451
+ }
27452
+ function isSuspense(object) {
27453
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
27454
+ }
27455
+ reactIs_development.AsyncMode = AsyncMode;
27456
+ reactIs_development.ConcurrentMode = ConcurrentMode;
27457
+ reactIs_development.ContextConsumer = ContextConsumer;
27458
+ reactIs_development.ContextProvider = ContextProvider;
27459
+ reactIs_development.Element = Element;
27460
+ reactIs_development.ForwardRef = ForwardRef;
27461
+ reactIs_development.Fragment = Fragment;
27462
+ reactIs_development.Lazy = Lazy;
27463
+ reactIs_development.Memo = Memo;
27464
+ reactIs_development.Portal = Portal;
27465
+ reactIs_development.Profiler = Profiler;
27466
+ reactIs_development.StrictMode = StrictMode;
27467
+ reactIs_development.Suspense = Suspense;
27468
+ reactIs_development.isAsyncMode = isAsyncMode;
27469
+ reactIs_development.isConcurrentMode = isConcurrentMode;
27470
+ reactIs_development.isContextConsumer = isContextConsumer;
27471
+ reactIs_development.isContextProvider = isContextProvider;
27472
+ reactIs_development.isElement = isElement;
27473
+ reactIs_development.isForwardRef = isForwardRef;
27474
+ reactIs_development.isFragment = isFragment;
27475
+ reactIs_development.isLazy = isLazy;
27476
+ reactIs_development.isMemo = isMemo;
27477
+ reactIs_development.isPortal = isPortal;
27478
+ reactIs_development.isProfiler = isProfiler;
27479
+ reactIs_development.isStrictMode = isStrictMode;
27480
+ reactIs_development.isSuspense = isSuspense;
27481
+ reactIs_development.isValidElementType = isValidElementType;
27482
+ reactIs_development.typeOf = typeOf;
27483
+ })();
27484
+ }
27485
+ return reactIs_development;
27486
+ }
27487
+
27488
+ var hasRequiredReactIs;
27489
+ function requireReactIs() {
27490
+ if (hasRequiredReactIs) return reactIs.exports;
27491
+ hasRequiredReactIs = 1;
27492
+ if (process.env.NODE_ENV === 'production') {
27493
+ reactIs.exports = requireReactIs_production_min();
27494
+ } else {
27495
+ reactIs.exports = requireReactIs_development();
27496
+ }
27497
+ return reactIs.exports;
27498
+ }
27499
+
27037
27500
  /*
27038
27501
  object-assign
27039
27502
  (c) Sindre Sorhus
@@ -27136,6 +27599,15 @@ function requireReactPropTypesSecret() {
27136
27599
  return ReactPropTypesSecret_1;
27137
27600
  }
27138
27601
 
27602
+ var has$1;
27603
+ var hasRequiredHas;
27604
+ function requireHas() {
27605
+ if (hasRequiredHas) return has$1;
27606
+ hasRequiredHas = 1;
27607
+ has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
27608
+ return has$1;
27609
+ }
27610
+
27139
27611
  /**
27140
27612
  * Copyright (c) 2013-present, Facebook, Inc.
27141
27613
  *
@@ -27149,8 +27621,9 @@ function requireCheckPropTypes() {
27149
27621
  hasRequiredCheckPropTypes = 1;
27150
27622
  var printWarning = function () {};
27151
27623
  if (process.env.NODE_ENV !== 'production') {
27152
- var ReactPropTypesSecret = requireReactPropTypesSecret();
27624
+ var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
27153
27625
  var loggedTypeFailures = {};
27626
+ var has = /*@__PURE__*/requireHas();
27154
27627
  printWarning = function (text) {
27155
27628
  var message = 'Warning: ' + text;
27156
27629
  if (typeof console !== 'undefined') {
@@ -27161,7 +27634,7 @@ function requireCheckPropTypes() {
27161
27634
  // This error was thrown as a convenience so that you can use this stack
27162
27635
  // to find the callsite that caused this warning to fire.
27163
27636
  throw new Error(message);
27164
- } catch (x) {}
27637
+ } catch (x) {/**/}
27165
27638
  };
27166
27639
  }
27167
27640
 
@@ -27179,7 +27652,7 @@ function requireCheckPropTypes() {
27179
27652
  function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
27180
27653
  if (process.env.NODE_ENV !== 'production') {
27181
27654
  for (var typeSpecName in typeSpecs) {
27182
- if (typeSpecs.hasOwnProperty(typeSpecName)) {
27655
+ if (has(typeSpecs, typeSpecName)) {
27183
27656
  var error;
27184
27657
  // Prop type validation may throw. In case they do, we don't want to
27185
27658
  // fail the render phase where it didn't fail before. So we log it.
@@ -27188,7 +27661,7 @@ function requireCheckPropTypes() {
27188
27661
  // This is intentionally an invariant that gets caught. It's the same
27189
27662
  // behavior as without this statement except with a better message.
27190
27663
  if (typeof typeSpecs[typeSpecName] !== 'function') {
27191
- 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] + '`.');
27664
+ 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`.');
27192
27665
  err.name = 'Invariant Violation';
27193
27666
  throw err;
27194
27667
  }
@@ -27210,6 +27683,17 @@ function requireCheckPropTypes() {
27210
27683
  }
27211
27684
  }
27212
27685
  }
27686
+
27687
+ /**
27688
+ * Resets warning cache when testing.
27689
+ *
27690
+ * @private
27691
+ */
27692
+ checkPropTypes.resetWarningCache = function () {
27693
+ if (process.env.NODE_ENV !== 'production') {
27694
+ loggedTypeFailures = {};
27695
+ }
27696
+ };
27213
27697
  checkPropTypes_1 = checkPropTypes;
27214
27698
  return checkPropTypes_1;
27215
27699
  }
@@ -27225,9 +27709,11 @@ var hasRequiredFactoryWithTypeCheckers;
27225
27709
  function requireFactoryWithTypeCheckers() {
27226
27710
  if (hasRequiredFactoryWithTypeCheckers) return factoryWithTypeCheckers;
27227
27711
  hasRequiredFactoryWithTypeCheckers = 1;
27712
+ var ReactIs = requireReactIs();
27228
27713
  var assign = requireObjectAssign();
27229
- var ReactPropTypesSecret = requireReactPropTypesSecret();
27230
- var checkPropTypes = requireCheckPropTypes();
27714
+ var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
27715
+ var has = /*@__PURE__*/requireHas();
27716
+ var checkPropTypes = /*@__PURE__*/requireCheckPropTypes();
27231
27717
  var printWarning = function () {};
27232
27718
  if (process.env.NODE_ENV !== 'production') {
27233
27719
  printWarning = function (text) {
@@ -27325,6 +27811,7 @@ function requireFactoryWithTypeCheckers() {
27325
27811
  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
27326
27812
  var ReactPropTypes = {
27327
27813
  array: createPrimitiveTypeChecker('array'),
27814
+ bigint: createPrimitiveTypeChecker('bigint'),
27328
27815
  bool: createPrimitiveTypeChecker('boolean'),
27329
27816
  func: createPrimitiveTypeChecker('function'),
27330
27817
  number: createPrimitiveTypeChecker('number'),
@@ -27334,6 +27821,7 @@ function requireFactoryWithTypeCheckers() {
27334
27821
  any: createAnyTypeChecker(),
27335
27822
  arrayOf: createArrayOfTypeChecker,
27336
27823
  element: createElementTypeChecker(),
27824
+ elementType: createElementTypeTypeChecker(),
27337
27825
  instanceOf: createInstanceTypeChecker,
27338
27826
  node: createNodeChecker(),
27339
27827
  objectOf: createObjectOfTypeChecker,
@@ -27368,8 +27856,9 @@ function requireFactoryWithTypeCheckers() {
27368
27856
  * is prohibitively expensive if they are created too often, such as what
27369
27857
  * happens in oneOfType() for any type before the one that matched.
27370
27858
  */
27371
- function PropTypeError(message) {
27859
+ function PropTypeError(message, data) {
27372
27860
  this.message = message;
27861
+ this.data = data && typeof data === 'object' ? data : {};
27373
27862
  this.stack = '';
27374
27863
  }
27375
27864
  // Make `instanceof Error` still work for returned errors.
@@ -27425,7 +27914,9 @@ function requireFactoryWithTypeCheckers() {
27425
27914
  // check, but we can offer a more precise error message here rather than
27426
27915
  // 'of type `object`'.
27427
27916
  var preciseType = getPreciseType(propValue);
27428
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
27917
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {
27918
+ expectedType: expectedType
27919
+ });
27429
27920
  }
27430
27921
  return null;
27431
27922
  }
@@ -27465,6 +27956,17 @@ function requireFactoryWithTypeCheckers() {
27465
27956
  }
27466
27957
  return createChainableTypeChecker(validate);
27467
27958
  }
27959
+ function createElementTypeTypeChecker() {
27960
+ function validate(props, propName, componentName, location, propFullName) {
27961
+ var propValue = props[propName];
27962
+ if (!ReactIs.isValidElementType(propValue)) {
27963
+ var propType = getPropType(propValue);
27964
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
27965
+ }
27966
+ return null;
27967
+ }
27968
+ return createChainableTypeChecker(validate);
27969
+ }
27468
27970
  function createInstanceTypeChecker(expectedClass) {
27469
27971
  function validate(props, propName, componentName, location, propFullName) {
27470
27972
  if (!(props[propName] instanceof expectedClass)) {
@@ -27478,7 +27980,13 @@ function requireFactoryWithTypeCheckers() {
27478
27980
  }
27479
27981
  function createEnumTypeChecker(expectedValues) {
27480
27982
  if (!Array.isArray(expectedValues)) {
27481
- process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
27983
+ if (process.env.NODE_ENV !== 'production') {
27984
+ if (arguments.length > 1) {
27985
+ 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]).');
27986
+ } else {
27987
+ printWarning('Invalid argument supplied to oneOf, expected an array.');
27988
+ }
27989
+ }
27482
27990
  return emptyFunctionThatReturnsNull;
27483
27991
  }
27484
27992
  function validate(props, propName, componentName, location, propFullName) {
@@ -27488,8 +27996,14 @@ function requireFactoryWithTypeCheckers() {
27488
27996
  return null;
27489
27997
  }
27490
27998
  }
27491
- var valuesString = JSON.stringify(expectedValues);
27492
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
27999
+ var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
28000
+ var type = getPreciseType(value);
28001
+ if (type === 'symbol') {
28002
+ return String(value);
28003
+ }
28004
+ return value;
28005
+ });
28006
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
27493
28007
  }
27494
28008
  return createChainableTypeChecker(validate);
27495
28009
  }
@@ -27504,7 +28018,7 @@ function requireFactoryWithTypeCheckers() {
27504
28018
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
27505
28019
  }
27506
28020
  for (var key in propValue) {
27507
- if (propValue.hasOwnProperty(key)) {
28021
+ if (has(propValue, key)) {
27508
28022
  var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
27509
28023
  if (error instanceof Error) {
27510
28024
  return error;
@@ -27528,13 +28042,19 @@ function requireFactoryWithTypeCheckers() {
27528
28042
  }
27529
28043
  }
27530
28044
  function validate(props, propName, componentName, location, propFullName) {
28045
+ var expectedTypes = [];
27531
28046
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
27532
28047
  var checker = arrayOfTypeCheckers[i];
27533
- if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
28048
+ var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
28049
+ if (checkerResult == null) {
27534
28050
  return null;
27535
28051
  }
28052
+ if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
28053
+ expectedTypes.push(checkerResult.data.expectedType);
28054
+ }
27536
28055
  }
27537
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
28056
+ var expectedTypesMessage = expectedTypes.length > 0 ? ', expected one of type [' + expectedTypes.join(', ') + ']' : '';
28057
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
27538
28058
  }
27539
28059
  return createChainableTypeChecker(validate);
27540
28060
  }
@@ -27547,6 +28067,9 @@ function requireFactoryWithTypeCheckers() {
27547
28067
  }
27548
28068
  return createChainableTypeChecker(validate);
27549
28069
  }
28070
+ function invalidValidatorError(componentName, location, propFullName, key, type) {
28071
+ 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 + '`.');
28072
+ }
27550
28073
  function createShapeTypeChecker(shapeTypes) {
27551
28074
  function validate(props, propName, componentName, location, propFullName) {
27552
28075
  var propValue = props[propName];
@@ -27556,8 +28079,8 @@ function requireFactoryWithTypeCheckers() {
27556
28079
  }
27557
28080
  for (var key in shapeTypes) {
27558
28081
  var checker = shapeTypes[key];
27559
- if (!checker) {
27560
- continue;
28082
+ if (typeof checker !== 'function') {
28083
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
27561
28084
  }
27562
28085
  var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
27563
28086
  if (error) {
@@ -27575,11 +28098,13 @@ function requireFactoryWithTypeCheckers() {
27575
28098
  if (propType !== 'object') {
27576
28099
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
27577
28100
  }
27578
- // We need to check all keys in case some are required but missing from
27579
- // props.
28101
+ // We need to check all keys in case some are required but missing from props.
27580
28102
  var allKeys = assign({}, props[propName], shapeTypes);
27581
28103
  for (var key in allKeys) {
27582
28104
  var checker = shapeTypes[key];
28105
+ if (has(shapeTypes, key) && typeof checker !== 'function') {
28106
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
28107
+ }
27583
28108
  if (!checker) {
27584
28109
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' '));
27585
28110
  }
@@ -27642,6 +28167,11 @@ function requireFactoryWithTypeCheckers() {
27642
28167
  return true;
27643
28168
  }
27644
28169
 
28170
+ // falsy value can't be a Symbol
28171
+ if (!propValue) {
28172
+ return false;
28173
+ }
28174
+
27645
28175
  // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
27646
28176
  if (propValue['@@toStringTag'] === 'Symbol') {
27647
28177
  return true;
@@ -27714,6 +28244,7 @@ function requireFactoryWithTypeCheckers() {
27714
28244
  return propValue.constructor.name;
27715
28245
  }
27716
28246
  ReactPropTypes.checkPropTypes = checkPropTypes;
28247
+ ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
27717
28248
  ReactPropTypes.PropTypes = ReactPropTypes;
27718
28249
  return ReactPropTypes;
27719
28250
  };
@@ -27731,8 +28262,10 @@ var hasRequiredFactoryWithThrowingShims;
27731
28262
  function requireFactoryWithThrowingShims() {
27732
28263
  if (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;
27733
28264
  hasRequiredFactoryWithThrowingShims = 1;
27734
- var ReactPropTypesSecret = requireReactPropTypesSecret();
28265
+ var ReactPropTypesSecret = /*@__PURE__*/requireReactPropTypesSecret();
27735
28266
  function emptyFunction() {}
28267
+ function emptyFunctionWithReset() {}
28268
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
27736
28269
  factoryWithThrowingShims = function () {
27737
28270
  function shim(props, propName, componentName, location, propFullName, secret) {
27738
28271
  if (secret === ReactPropTypesSecret) {
@@ -27751,6 +28284,7 @@ function requireFactoryWithThrowingShims() {
27751
28284
  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
27752
28285
  var ReactPropTypes = {
27753
28286
  array: shim,
28287
+ bigint: shim,
27754
28288
  bool: shim,
27755
28289
  func: shim,
27756
28290
  number: shim,
@@ -27760,15 +28294,17 @@ function requireFactoryWithThrowingShims() {
27760
28294
  any: shim,
27761
28295
  arrayOf: getShim,
27762
28296
  element: shim,
28297
+ elementType: shim,
27763
28298
  instanceOf: getShim,
27764
28299
  node: shim,
27765
28300
  objectOf: getShim,
27766
28301
  oneOf: getShim,
27767
28302
  oneOfType: getShim,
27768
28303
  shape: getShim,
27769
- exact: getShim
28304
+ exact: getShim,
28305
+ checkPropTypes: emptyFunctionWithReset,
28306
+ resetWarningCache: emptyFunction
27770
28307
  };
27771
- ReactPropTypes.checkPropTypes = emptyFunction;
27772
28308
  ReactPropTypes.PropTypes = ReactPropTypes;
27773
28309
  return ReactPropTypes;
27774
28310
  };
@@ -27786,24 +28322,21 @@ function requirePropTypes() {
27786
28322
  if (hasRequiredPropTypes) return propTypes.exports;
27787
28323
  hasRequiredPropTypes = 1;
27788
28324
  if (process.env.NODE_ENV !== 'production') {
27789
- var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element') || 0xeac7;
27790
- var isValidElement = function (object) {
27791
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
27792
- };
28325
+ var ReactIs = requireReactIs();
27793
28326
 
27794
28327
  // By explicitly using `prop-types` you are opting into new development behavior.
27795
28328
  // http://fb.me/prop-types-in-prod
27796
28329
  var throwOnDirectAccess = true;
27797
- propTypes.exports = requireFactoryWithTypeCheckers()(isValidElement, throwOnDirectAccess);
28330
+ propTypes.exports = /*@__PURE__*/requireFactoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
27798
28331
  } else {
27799
28332
  // By explicitly using `prop-types` you are opting into new production behavior.
27800
28333
  // http://fb.me/prop-types-in-prod
27801
- propTypes.exports = requireFactoryWithThrowingShims()();
28334
+ propTypes.exports = /*@__PURE__*/requireFactoryWithThrowingShims()();
27802
28335
  }
27803
28336
  return propTypes.exports;
27804
28337
  }
27805
28338
 
27806
- var propTypesExports = requirePropTypes();
28339
+ var propTypesExports = /*@__PURE__*/ requirePropTypes();
27807
28340
  var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
27808
28341
 
27809
28342
  var _excluded = ["sitekey", "onChange", "theme", "type", "tabindex", "onExpired", "onErrored", "size", "stoken", "grecaptcha", "badge", "hl", "isolated"];
@@ -28024,316 +28557,6 @@ ReCAPTCHA.defaultProps = {
28024
28557
  badge: "bottomright"
28025
28558
  };
28026
28559
 
28027
- var reactIs = {exports: {}};
28028
-
28029
- var reactIs_production_min = {};
28030
-
28031
- /** @license React v16.13.1
28032
- * react-is.production.min.js
28033
- *
28034
- * Copyright (c) Facebook, Inc. and its affiliates.
28035
- *
28036
- * This source code is licensed under the MIT license found in the
28037
- * LICENSE file in the root directory of this source tree.
28038
- */
28039
- var hasRequiredReactIs_production_min;
28040
- function requireReactIs_production_min() {
28041
- if (hasRequiredReactIs_production_min) return reactIs_production_min;
28042
- hasRequiredReactIs_production_min = 1;
28043
- var b = "function" === typeof Symbol && Symbol.for,
28044
- c = b ? Symbol.for("react.element") : 60103,
28045
- d = b ? Symbol.for("react.portal") : 60106,
28046
- e = b ? Symbol.for("react.fragment") : 60107,
28047
- f = b ? Symbol.for("react.strict_mode") : 60108,
28048
- g = b ? Symbol.for("react.profiler") : 60114,
28049
- h = b ? Symbol.for("react.provider") : 60109,
28050
- k = b ? Symbol.for("react.context") : 60110,
28051
- l = b ? Symbol.for("react.async_mode") : 60111,
28052
- m = b ? Symbol.for("react.concurrent_mode") : 60111,
28053
- n = b ? Symbol.for("react.forward_ref") : 60112,
28054
- p = b ? Symbol.for("react.suspense") : 60113,
28055
- q = b ? Symbol.for("react.suspense_list") : 60120,
28056
- r = b ? Symbol.for("react.memo") : 60115,
28057
- t = b ? Symbol.for("react.lazy") : 60116,
28058
- v = b ? Symbol.for("react.block") : 60121,
28059
- w = b ? Symbol.for("react.fundamental") : 60117,
28060
- x = b ? Symbol.for("react.responder") : 60118,
28061
- y = b ? Symbol.for("react.scope") : 60119;
28062
- function z(a) {
28063
- if ("object" === typeof a && null !== a) {
28064
- var u = a.$$typeof;
28065
- switch (u) {
28066
- case c:
28067
- switch (a = a.type, a) {
28068
- case l:
28069
- case m:
28070
- case e:
28071
- case g:
28072
- case f:
28073
- case p:
28074
- return a;
28075
- default:
28076
- switch (a = a && a.$$typeof, a) {
28077
- case k:
28078
- case n:
28079
- case t:
28080
- case r:
28081
- case h:
28082
- return a;
28083
- default:
28084
- return u;
28085
- }
28086
- }
28087
- case d:
28088
- return u;
28089
- }
28090
- }
28091
- }
28092
- function A(a) {
28093
- return z(a) === m;
28094
- }
28095
- reactIs_production_min.AsyncMode = l;
28096
- reactIs_production_min.ConcurrentMode = m;
28097
- reactIs_production_min.ContextConsumer = k;
28098
- reactIs_production_min.ContextProvider = h;
28099
- reactIs_production_min.Element = c;
28100
- reactIs_production_min.ForwardRef = n;
28101
- reactIs_production_min.Fragment = e;
28102
- reactIs_production_min.Lazy = t;
28103
- reactIs_production_min.Memo = r;
28104
- reactIs_production_min.Portal = d;
28105
- reactIs_production_min.Profiler = g;
28106
- reactIs_production_min.StrictMode = f;
28107
- reactIs_production_min.Suspense = p;
28108
- reactIs_production_min.isAsyncMode = function (a) {
28109
- return A(a) || z(a) === l;
28110
- };
28111
- reactIs_production_min.isConcurrentMode = A;
28112
- reactIs_production_min.isContextConsumer = function (a) {
28113
- return z(a) === k;
28114
- };
28115
- reactIs_production_min.isContextProvider = function (a) {
28116
- return z(a) === h;
28117
- };
28118
- reactIs_production_min.isElement = function (a) {
28119
- return "object" === typeof a && null !== a && a.$$typeof === c;
28120
- };
28121
- reactIs_production_min.isForwardRef = function (a) {
28122
- return z(a) === n;
28123
- };
28124
- reactIs_production_min.isFragment = function (a) {
28125
- return z(a) === e;
28126
- };
28127
- reactIs_production_min.isLazy = function (a) {
28128
- return z(a) === t;
28129
- };
28130
- reactIs_production_min.isMemo = function (a) {
28131
- return z(a) === r;
28132
- };
28133
- reactIs_production_min.isPortal = function (a) {
28134
- return z(a) === d;
28135
- };
28136
- reactIs_production_min.isProfiler = function (a) {
28137
- return z(a) === g;
28138
- };
28139
- reactIs_production_min.isStrictMode = function (a) {
28140
- return z(a) === f;
28141
- };
28142
- reactIs_production_min.isSuspense = function (a) {
28143
- return z(a) === p;
28144
- };
28145
- reactIs_production_min.isValidElementType = function (a) {
28146
- return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
28147
- };
28148
- reactIs_production_min.typeOf = z;
28149
- return reactIs_production_min;
28150
- }
28151
-
28152
- var reactIs_development = {};
28153
-
28154
- /** @license React v16.13.1
28155
- * react-is.development.js
28156
- *
28157
- * Copyright (c) Facebook, Inc. and its affiliates.
28158
- *
28159
- * This source code is licensed under the MIT license found in the
28160
- * LICENSE file in the root directory of this source tree.
28161
- */
28162
- var hasRequiredReactIs_development;
28163
- function requireReactIs_development() {
28164
- if (hasRequiredReactIs_development) return reactIs_development;
28165
- hasRequiredReactIs_development = 1;
28166
- if (process.env.NODE_ENV !== "production") {
28167
- (function () {
28168
-
28169
- // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
28170
- // nor polyfill, then a plain number is used for performance.
28171
- var hasSymbol = typeof Symbol === 'function' && Symbol.for;
28172
- var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
28173
- var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
28174
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
28175
- var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
28176
- var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
28177
- var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
28178
- var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
28179
- // (unstable) APIs that have been removed. Can we remove the symbols?
28180
-
28181
- var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
28182
- var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
28183
- var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
28184
- var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
28185
- var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
28186
- var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
28187
- var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
28188
- var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
28189
- var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
28190
- var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
28191
- var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
28192
- function isValidElementType(type) {
28193
- return typeof type === 'string' || typeof type === 'function' ||
28194
- // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
28195
- type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
28196
- }
28197
- function typeOf(object) {
28198
- if (typeof object === 'object' && object !== null) {
28199
- var $$typeof = object.$$typeof;
28200
- switch ($$typeof) {
28201
- case REACT_ELEMENT_TYPE:
28202
- var type = object.type;
28203
- switch (type) {
28204
- case REACT_ASYNC_MODE_TYPE:
28205
- case REACT_CONCURRENT_MODE_TYPE:
28206
- case REACT_FRAGMENT_TYPE:
28207
- case REACT_PROFILER_TYPE:
28208
- case REACT_STRICT_MODE_TYPE:
28209
- case REACT_SUSPENSE_TYPE:
28210
- return type;
28211
- default:
28212
- var $$typeofType = type && type.$$typeof;
28213
- switch ($$typeofType) {
28214
- case REACT_CONTEXT_TYPE:
28215
- case REACT_FORWARD_REF_TYPE:
28216
- case REACT_LAZY_TYPE:
28217
- case REACT_MEMO_TYPE:
28218
- case REACT_PROVIDER_TYPE:
28219
- return $$typeofType;
28220
- default:
28221
- return $$typeof;
28222
- }
28223
- }
28224
- case REACT_PORTAL_TYPE:
28225
- return $$typeof;
28226
- }
28227
- }
28228
- return undefined;
28229
- } // AsyncMode is deprecated along with isAsyncMode
28230
-
28231
- var AsyncMode = REACT_ASYNC_MODE_TYPE;
28232
- var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
28233
- var ContextConsumer = REACT_CONTEXT_TYPE;
28234
- var ContextProvider = REACT_PROVIDER_TYPE;
28235
- var Element = REACT_ELEMENT_TYPE;
28236
- var ForwardRef = REACT_FORWARD_REF_TYPE;
28237
- var Fragment = REACT_FRAGMENT_TYPE;
28238
- var Lazy = REACT_LAZY_TYPE;
28239
- var Memo = REACT_MEMO_TYPE;
28240
- var Portal = REACT_PORTAL_TYPE;
28241
- var Profiler = REACT_PROFILER_TYPE;
28242
- var StrictMode = REACT_STRICT_MODE_TYPE;
28243
- var Suspense = REACT_SUSPENSE_TYPE;
28244
- var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
28245
-
28246
- function isAsyncMode(object) {
28247
- {
28248
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
28249
- hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
28250
-
28251
- console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
28252
- }
28253
- }
28254
- return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
28255
- }
28256
- function isConcurrentMode(object) {
28257
- return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
28258
- }
28259
- function isContextConsumer(object) {
28260
- return typeOf(object) === REACT_CONTEXT_TYPE;
28261
- }
28262
- function isContextProvider(object) {
28263
- return typeOf(object) === REACT_PROVIDER_TYPE;
28264
- }
28265
- function isElement(object) {
28266
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
28267
- }
28268
- function isForwardRef(object) {
28269
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
28270
- }
28271
- function isFragment(object) {
28272
- return typeOf(object) === REACT_FRAGMENT_TYPE;
28273
- }
28274
- function isLazy(object) {
28275
- return typeOf(object) === REACT_LAZY_TYPE;
28276
- }
28277
- function isMemo(object) {
28278
- return typeOf(object) === REACT_MEMO_TYPE;
28279
- }
28280
- function isPortal(object) {
28281
- return typeOf(object) === REACT_PORTAL_TYPE;
28282
- }
28283
- function isProfiler(object) {
28284
- return typeOf(object) === REACT_PROFILER_TYPE;
28285
- }
28286
- function isStrictMode(object) {
28287
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
28288
- }
28289
- function isSuspense(object) {
28290
- return typeOf(object) === REACT_SUSPENSE_TYPE;
28291
- }
28292
- reactIs_development.AsyncMode = AsyncMode;
28293
- reactIs_development.ConcurrentMode = ConcurrentMode;
28294
- reactIs_development.ContextConsumer = ContextConsumer;
28295
- reactIs_development.ContextProvider = ContextProvider;
28296
- reactIs_development.Element = Element;
28297
- reactIs_development.ForwardRef = ForwardRef;
28298
- reactIs_development.Fragment = Fragment;
28299
- reactIs_development.Lazy = Lazy;
28300
- reactIs_development.Memo = Memo;
28301
- reactIs_development.Portal = Portal;
28302
- reactIs_development.Profiler = Profiler;
28303
- reactIs_development.StrictMode = StrictMode;
28304
- reactIs_development.Suspense = Suspense;
28305
- reactIs_development.isAsyncMode = isAsyncMode;
28306
- reactIs_development.isConcurrentMode = isConcurrentMode;
28307
- reactIs_development.isContextConsumer = isContextConsumer;
28308
- reactIs_development.isContextProvider = isContextProvider;
28309
- reactIs_development.isElement = isElement;
28310
- reactIs_development.isForwardRef = isForwardRef;
28311
- reactIs_development.isFragment = isFragment;
28312
- reactIs_development.isLazy = isLazy;
28313
- reactIs_development.isMemo = isMemo;
28314
- reactIs_development.isPortal = isPortal;
28315
- reactIs_development.isProfiler = isProfiler;
28316
- reactIs_development.isStrictMode = isStrictMode;
28317
- reactIs_development.isSuspense = isSuspense;
28318
- reactIs_development.isValidElementType = isValidElementType;
28319
- reactIs_development.typeOf = typeOf;
28320
- })();
28321
- }
28322
- return reactIs_development;
28323
- }
28324
-
28325
- var hasRequiredReactIs;
28326
- function requireReactIs() {
28327
- if (hasRequiredReactIs) return reactIs.exports;
28328
- hasRequiredReactIs = 1;
28329
- if (process.env.NODE_ENV === 'production') {
28330
- reactIs.exports = requireReactIs_production_min();
28331
- } else {
28332
- reactIs.exports = requireReactIs_development();
28333
- }
28334
- return reactIs.exports;
28335
- }
28336
-
28337
28560
  var hoistNonReactStatics_cjs;
28338
28561
  var hasRequiredHoistNonReactStatics_cjs;
28339
28562
  function requireHoistNonReactStatics_cjs() {
@@ -28682,6 +28905,8 @@ var RecaptchaWrapper = makeAsyncScript(getURL, {
28682
28905
  var css_248z$B = ".ff-recaptcha-wrapper {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.ff-recaptcha-wrapper .ff-recaptcha-error {\n color: var(--input-error-text-color);\n font-size: 12px;\n margin-top: 4px;\n}";
28683
28906
  styleInject(css_248z$B);
28684
28907
 
28908
+ // Extend the props to include React.RefAttributes
28909
+ const FixedReCAPTCHA = RecaptchaWrapper;
28685
28910
  const Recaptcha = /*#__PURE__*/forwardRef(({
28686
28911
  onVerify,
28687
28912
  className = '',
@@ -28701,7 +28926,7 @@ const Recaptcha = /*#__PURE__*/forwardRef(({
28701
28926
  const error = externalError || internalError;
28702
28927
  return jsxs("div", {
28703
28928
  className: classNames('ff-recaptcha-wrapper', className),
28704
- children: [jsx(RecaptchaWrapper, {
28929
+ children: [jsx(FixedReCAPTCHA, {
28705
28930
  ref: ref,
28706
28931
  sitekey: sitekey,
28707
28932
  onChange: handleChange,
@@ -29621,7 +29846,7 @@ const Branches = ({
29621
29846
  })]
29622
29847
  }) : jsx("div", {
29623
29848
  className: "ff-connecting-branch-browser-button",
29624
- children: jsx(Button$2, {
29849
+ children: jsx(Button$1, {
29625
29850
  id: `ff-sequential-branch-add-${machineInstanceId}`,
29626
29851
  variant: "tertiary",
29627
29852
  label: addInstanceLabel,
@@ -29785,7 +30010,7 @@ const SequentialConnectingBranch = ({
29785
30010
  className: "ff-branch-arrow"
29786
30011
  })
29787
30012
  }), isMachineInstances && jsx(Fragment, {
29788
- children: jsx(Button$2, {
30013
+ children: jsx(Button$1, {
29789
30014
  variant: "tertiary",
29790
30015
  label: "Add Environment",
29791
30016
  size: "small",
@@ -29911,7 +30136,7 @@ const AttachmentButton = ({
29911
30136
  fontWeight: "semi-bold",
29912
30137
  lineHeight: '18px',
29913
30138
  children: label
29914
- }), (!showSelectedFiles || selectedFiles.length === 0) && jsx(Button$2, {
30139
+ }), (!showSelectedFiles || selectedFiles.length === 0) && jsx(Button$1, {
29915
30140
  variant: buttonVariant,
29916
30141
  label: buttonLabel,
29917
30142
  size: "medium",
@@ -33198,7 +33423,7 @@ var scheduler = {exports: {}};
33198
33423
 
33199
33424
  var scheduler_production_min = {};
33200
33425
 
33201
- /** @license React v0.19.0
33426
+ /** @license React v0.19.1
33202
33427
  * scheduler.production.min.js
33203
33428
  *
33204
33429
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -33500,7 +33725,7 @@ function requireScheduler_production_min() {
33500
33725
 
33501
33726
  var scheduler_development = {};
33502
33727
 
33503
- /** @license React v0.19.0
33728
+ /** @license React v0.19.1
33504
33729
  * scheduler.development.js
33505
33730
  *
33506
33731
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -37291,11 +37516,11 @@ const CreateVariableSlider = ({
37291
37516
  const FooterContent = () => {
37292
37517
  return jsxs("div", {
37293
37518
  className: "ff-create-slider-footer",
37294
- children: [jsx(Button$2, {
37519
+ children: [jsx(Button$1, {
37295
37520
  onClick: onClose,
37296
37521
  label: "Cancel",
37297
37522
  variant: "tertiary"
37298
- }), jsx(Button$2, {
37523
+ }), jsx(Button$1, {
37299
37524
  variant: "primary",
37300
37525
  label: "create",
37301
37526
  type: "submit",
@@ -37554,7 +37779,6 @@ const ProgressBar = ({
37554
37779
  });
37555
37780
  };
37556
37781
 
37557
- const areEqual = (prevProps, nextProps) => prevProps.selectedFile?.name === nextProps.selectedFile?.name;
37558
37782
  const ChooseFile = ({
37559
37783
  variant = 'primary',
37560
37784
  size = 'small',
@@ -37571,7 +37795,7 @@ const ChooseFile = ({
37571
37795
  handleCloseIcon
37572
37796
  }) => {
37573
37797
  return jsx("div", {
37574
- children: jsx(Button$2, {
37798
+ children: jsx(Button$1, {
37575
37799
  variant: variant,
37576
37800
  label: label,
37577
37801
  type: type,
@@ -37589,7 +37813,6 @@ const ChooseFile = ({
37589
37813
  })
37590
37814
  });
37591
37815
  };
37592
- var ChooseFile$1 = /*#__PURE__*/memo(ChooseFile, areEqual);
37593
37816
 
37594
37817
  var css_248z$8 = "/* Container Styling */\n.ff-script-switch-container {\n display: flex;\n background-color: var(--base-bg-color);\n height: 24px;\n width: 48px;\n border-radius: 6px;\n border: 1px solid var(--border-color);\n align-items: center;\n justify-content: center;\n /* Button Styling */\n /* Active Button */\n}\n.ff-script-switch-container .ff-script-switch-button {\n padding: 0.1px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n outline: none;\n transition: all 0.3s ease;\n /* Button Hover Effect */\n}\n.ff-script-switch-container .ff-script-switch-button:hover {\n background-color: var(--hover-color);\n color: var(--brand-color);\n}\n.ff-script-switch-container .ff-script-switch-button.active {\n background-color: var(--ff-line-number-bg);\n color: var(--base-bg-color);\n}";
37595
37818
  styleInject(css_248z$8);
@@ -50984,11 +51207,11 @@ const PopUpModal = ({
50984
51207
  })]
50985
51208
  }), jsxs("div", {
50986
51209
  className: 'warning_modal_footer_button',
50987
- children: [jsx(Button$2, {
51210
+ children: [jsx(Button$1, {
50988
51211
  variant: "secondary",
50989
51212
  label: firstButtonLabel,
50990
51213
  onClick: onClose
50991
- }), jsx(Button$2, {
51214
+ }), jsx(Button$1, {
50992
51215
  variant: buttonVariant || 'warning',
50993
51216
  label: secondButtonLabel,
50994
51217
  onClick: onContinue
@@ -53136,5 +53359,5 @@ const PhoneInputField = ({
53136
53359
  });
53137
53360
  };
53138
53361
 
53139
- export { AADHAAR_REGEX, ALPHABET_ONLY_REGEX, ALPHANUMERIC_REGEX, Accordion, AddButton as AddResourceButton, AllProjectsDropdown, AppHeader, AttachImage, AttachmentButton, Avatar, BASE64_REGEX, BINARY_NUMBER_REGEX, BarChart, Button$2 as Button, CREDIT_CARD_REGEX, CURRENCY_GENERIC_REGEX, Checkbox, Chip, ChooseFile$1 as ChooseFile, Col, Comments, ConditionalDropdown, ConnectingBranch, Container, CreateVariableSlider, DATE_REGEX, DECIMAL_NUMBER_REGEX, DRIVING_LICENSE_REGEX, DashboardDonutChart, CustomDatePicker as DatePicker, DonutChart, DownloadClient, DragAndDrop, Drawer, Dropzone, ELEMENTS_TRAILING_SPACE_REGEX, ELEMENTS_WHITE_SPACE_REGEX, EMAIL_REGEX, EditTextField, Editor, ExcelFile as Excel, ExpandableMenu, FILE_EXTENSION_REGEX, FILE_NAME_REGEX, FieldSet, FileDropzone, FilePreview, ForwardedForms as Form, formatString as FormatString, GSTIN_REGEX, HEXADECIMAL_NUMBER_REGEX, HEX_COLOR_REGEX, HSL_COLOR_REGEX, HTML_ATTRIBUTE_REGEX, HTML_TAG_REGEX, HighlightText, INDIAN_CURRENCY_REGEX, INDIAN_PASSPORT_REGEX, INDIAN_PHONE_REGEX, INDIAN_PIN_CODE_REGEX, INTERNATIONAL_PHONE_REGEX, IPV4_REGEX, IPV6_REGEX, Icon, IconButton, IconRadialChart, IconRadioGroup, Input, InputWithDropdown, LINKEDIN_PROFILE_REGEX, LabelEditTextField, LazyLoad, LineChart, MAC_ADDRESS_REGEX, MEMORY_VALIDATION_REGEX, MachineInputField, MenuOption, MiniModal, Modal, ModuleChip, MultiRadialChart, MultiSelect, NlpInput as NLPInput, NLP_DESCRIPTION_REGEX, NUMBERS_ONLY_REGEX, NUMBER_REGEX, PAN_CARD_REGEX, PARAMETER_ALPHANUMERIC_REGEX, PASSWORD_COMPLEX_REGEX, PASSWORD_SIMPLE_REGEX, PHONE_REGEX, POSTAL_CODE_REGEX, Paper, PhoneInputField, PieChart, PopUpModal, ProgressBar, RGB_COLOR_REGEX, ROMAN_NUMERALS_REGEX, RadialChart, RadioButton, RadioGroup, Recaptcha, Row$1 as Row, SSN_REGEX, STEP_GROUP_NAME_REGEX, ScriptSwitchButton, Search, Select$1 as Select, SequentialConnectingBranch, StateDropdown, StatusButton, StatusCard, TIME_REGEX, TWITTER_HANDLE_REGEX, Table$1 as Table, TableTree, TableWithAccordion, Tabs, Textarea as TextArea, ThemeProvider, Toaster, Toastify, Toggle, ToggleSwitch, Tooltip, Typography, UNIT_REGEX, URL_REGEX, USERNAME_REGEX, USERNAME_SPECIAL_REGEX, US_ZIP_CODE_REGEX, UUID_REGEX, VEHICLE_REGISTRATION_REGEX, VariableDropdown, VariableInput, WHITESPACE_REGEX, capitalize, checkEmpty, compareArrays, compareObjects, debounce, ffid, findAndInsert, getEncryptedData, getExtension, getExtensionWithPeriod, getSequentialPayload, hasDuplicateFile, saveFileFromBlob, throttle, toast, truncateText, useFileDropzone, useKeyboardActions, useTheme };
53362
+ export { AADHAAR_REGEX, ALPHABET_ONLY_REGEX, ALPHANUMERIC_REGEX, Accordion, AddButton as AddResourceButton, AllProjectsDropdown, AppHeader, AttachImage, AttachmentButton, Avatar, BASE64_REGEX, BINARY_NUMBER_REGEX, BarChart, Button$1 as Button, CREDIT_CARD_REGEX, CURRENCY_GENERIC_REGEX, Checkbox, Chip, ChooseFile, Col, Comments, ConditionalDropdown, ConnectingBranch, Container, CreateVariableSlider, DATE_REGEX, DECIMAL_NUMBER_REGEX, DRIVING_LICENSE_REGEX, DashboardDonutChart, CustomDatePicker as DatePicker, DonutChart, DownloadClient, DragAndDrop, Drawer, Dropzone, ELEMENTS_TRAILING_SPACE_REGEX, ELEMENTS_WHITE_SPACE_REGEX, EMAIL_REGEX, EditTextField, Editor, ExcelFile as Excel, ExpandableMenu, FILE_EXTENSION_REGEX, FILE_NAME_REGEX, FieldSet, FileDropzone, FilePreview, ForwardedForms as Form, formatString as FormatString, GSTIN_REGEX, HEXADECIMAL_NUMBER_REGEX, HEX_COLOR_REGEX, HSL_COLOR_REGEX, HTML_ATTRIBUTE_REGEX, HTML_TAG_REGEX, HighlightText, INDIAN_CURRENCY_REGEX, INDIAN_PASSPORT_REGEX, INDIAN_PHONE_REGEX, INDIAN_PIN_CODE_REGEX, INTERNATIONAL_PHONE_REGEX, IPV4_REGEX, IPV6_REGEX, Icon, IconButton, IconRadialChart, IconRadioGroup, Input, InputWithDropdown, LINKEDIN_PROFILE_REGEX, LabelEditTextField, LazyLoad, LineChart, MAC_ADDRESS_REGEX, MEMORY_VALIDATION_REGEX, MachineInputField, MenuOption, MiniModal, Modal, ModuleChip, MultiRadialChart, MultiSelect, NlpInput as NLPInput, NLP_DESCRIPTION_REGEX, NUMBERS_ONLY_REGEX, NUMBER_REGEX, PAN_CARD_REGEX, PARAMETER_ALPHANUMERIC_REGEX, PASSWORD_COMPLEX_REGEX, PASSWORD_SIMPLE_REGEX, PHONE_REGEX, POSTAL_CODE_REGEX, Paper, PhoneInputField, PieChart, PopUpModal, ProgressBar, RGB_COLOR_REGEX, ROMAN_NUMERALS_REGEX, RadialChart, RadioButton, RadioGroup, Recaptcha, Row$1 as Row, SSN_REGEX, STEP_GROUP_NAME_REGEX, ScriptSwitchButton, Search, Select$1 as Select, SequentialConnectingBranch, StateDropdown, StatusButton, StatusCard, TIME_REGEX, TWITTER_HANDLE_REGEX, Table$1 as Table, TableTree, TableWithAccordion, Tabs, Textarea as TextArea, ThemeProvider, Toaster, Toastify, Toggle, ToggleSwitch, Tooltip, Typography, UNIT_REGEX, URL_REGEX, USERNAME_REGEX, USERNAME_SPECIAL_REGEX, US_ZIP_CODE_REGEX, UUID_REGEX, VEHICLE_REGISTRATION_REGEX, VariableDropdown, VariableInput, WHITESPACE_REGEX, capitalize, checkEmpty, compareArrays, compareObjects, debounce, ffid, findAndInsert, getEncryptedData, getExtension, getExtensionWithPeriod, getSequentialPayload, hasDuplicateFile, saveFileFromBlob, throttle, toast, truncateText, useFileDropzone, useKeyboardActions, useTheme };
53140
53363
  //# sourceMappingURL=index.esm.js.map