pixel-react 1.7.3 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/lib/components/Charts/BarChart/BarChart.d.ts +1 -0
- package/lib/components/StatusCard/types.d.ts +7 -1
- package/lib/components/TableTree/TableTree copy.d.ts +25 -0
- package/lib/index.d.ts +8 -1
- package/lib/index.esm.js +263 -150
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +263 -150
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/assets/icons/approval_pending.svg +8 -8
- package/src/assets/icons/configuration.svg +3 -3
- package/src/assets/icons/defects.svg +8 -8
- package/src/assets/icons/element.svg +4 -4
- package/src/assets/icons/project_element.svg +4 -4
- package/src/assets/icons/step_group.svg +10 -10
- package/src/assets/icons/variable.svg +3 -3
- package/src/assets/icons/web_service_icon.svg +3 -3
- package/src/components/Charts/BarChart/BarChart.stories.tsx +3 -0
- package/src/components/Charts/BarChart/BarChart.tsx +7 -0
- package/src/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.tsx +1 -1
- package/src/components/Excel/ExcelFile/ExcelFileComponents/CornerIndicator.tsx +8 -7
- package/src/components/Excel/ExcelFile/ExcelFileComponents/HeaderRow.tsx +3 -1
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.scss +21 -2
- package/src/components/MenuOption/MenuOption.tsx +29 -20
- package/src/components/StatusCard/StatusCard.scss +47 -4
- package/src/components/StatusCard/StatusCard.stories.tsx +1 -0
- package/src/components/StatusCard/StatusCard.tsx +28 -5
- package/src/components/StatusCard/types.ts +15 -10
- package/src/components/Toastify/Toastify.tsx +1 -0
- package/lib/1fb4472b34e4fe07.css +0 -1
- package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +0 -6
- package/lib/StyleGuide/Typography/Typography.stories.d.ts +0 -6
- package/lib/components/Accordion/Accordion.stories.d.ts +0 -6
- package/lib/components/AddButton/AddButton.d.ts +0 -5
- package/lib/components/AddButton/AddButton.stories.d.ts +0 -6
- package/lib/components/AddButton/index.d.ts +0 -1
- package/lib/components/AddButton/types.d.ts +0 -4
- package/lib/components/AddResourceButton/AddButton.stories.d.ts +0 -8
- package/lib/components/AddVariables/AddVariables.d.ts +0 -5
- package/lib/components/AddVariables/index.d.ts +0 -1
- package/lib/components/AddVariables/types.d.ts +0 -35
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +0 -7
- package/lib/components/AppHeader/AppHeader.stories.d.ts +0 -7
- package/lib/components/AttachImage/AttachImage.stories.d.ts +0 -7
- package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +0 -9
- package/lib/components/Avatar/Avatar.stories.d.ts +0 -10
- package/lib/components/Button/Button.stories.d.ts +0 -13
- package/lib/components/Charts/BarChart/BarChart.stories.d.ts +0 -6
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +0 -7
- package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +0 -6
- package/lib/components/Charts/IconRadialChart/IconRadialChart.stories.d.ts +0 -8
- package/lib/components/Charts/LineChart/LineChart.stories.d.ts +0 -7
- package/lib/components/Charts/MultiRadialChart/MultiRadialChart.stories.d.ts +0 -8
- package/lib/components/Charts/PieChart/PieChart.stories.d.ts +0 -7
- package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +0 -6
- package/lib/components/Checkbox/Checkbox.stories.d.ts +0 -8
- package/lib/components/Chip/Chip.stories.d.ts +0 -14
- package/lib/components/ConnectingBranch/ConnectingBranch.stories.d.ts +0 -6
- package/lib/components/DatePicker/DatePicker.stories.d.ts +0 -9
- package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +0 -6
- package/lib/components/Drawer/Drawer.stories.d.ts +0 -12
- package/lib/components/EditTextField/EditTextField.stories.d.ts +0 -10
- package/lib/components/Editor/Editor.stories.d.ts +0 -6
- package/lib/components/Excel/ExcelFile.stories.d.ts +0 -6
- package/lib/components/ExcelFile/ChangeExcelStyles.d.ts +0 -14
- package/lib/components/ExcelFile/ColorBarSelector/ColorBarSelector.d.ts +0 -8
- package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +0 -4
- package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +0 -7
- package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +0 -4
- package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +0 -8
- package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +0 -10
- package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +0 -5
- package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +0 -80
- package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +0 -174
- package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +0 -1
- package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +0 -8
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +0 -22
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +0 -17
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +0 -2
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +0 -21
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +0 -24
- package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +0 -13
- package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +0 -67
- package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +0 -22
- package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +0 -11
- package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +0 -27
- package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +0 -95
- package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +0 -178
- package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +0 -3
- package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +0 -44
- package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +0 -19
- package/lib/components/ExcelFile/ExcelFile.stories.d.ts +0 -6
- package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +0 -12
- package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +0 -15
- package/lib/components/ExcelFile/ImportExcelStyles.d.ts +0 -24
- package/lib/components/ExcelFile/Types.d.ts +0 -129
- package/lib/components/ExcelFile/index.d.ts +0 -1
- package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +0 -7
- package/lib/components/FF_Captcha/captcha.stories.d.ts +0 -8
- package/lib/components/FileDropzone/FileDropzone.stories.d.ts +0 -8
- package/lib/components/Form/Form.stories.d.ts +0 -7
- package/lib/components/GridLayout/GridLayout.stories.d.ts +0 -8
- package/lib/components/HighlightText/HighlightText.stories.d.ts +0 -6
- package/lib/components/Icon/Icon.stories.d.ts +0 -8
- package/lib/components/IconButton/IconButton.stories.d.ts +0 -7
- package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +0 -7
- package/lib/components/Input/Input.stories.d.ts +0 -9
- package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +0 -9
- package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +0 -13
- package/lib/components/LazyLoad/LazyLoad.stories.d.ts +0 -6
- package/lib/components/MachineInputField/MachineInputField.stories.d.ts +0 -6
- package/lib/components/MenuOption/MenuOption.stories.d.ts +0 -16
- package/lib/components/MiniModal/MiniModal.stories.d.ts +0 -10
- package/lib/components/Modal/Modal.stories.d.ts +0 -7
- package/lib/components/ModulesChip/ModuleChip.stories.d.ts +0 -6
- package/lib/components/MultiSelect/MultiSelect.stories.d.ts +0 -11
- package/lib/components/NLPInput/NlpInput.stories.d.ts +0 -7
- package/lib/components/Paper/Paper.stories.d.ts +0 -11
- package/lib/components/RadioButton/RadioButton.stories.d.ts +0 -10
- package/lib/components/RadioGroup/RadioGroup.stories.d.ts +0 -9
- package/lib/components/Search/Search.stories.d.ts +0 -6
- package/lib/components/Select/Select.stories.d.ts +0 -14
- package/lib/components/Select/components/Dropdown/Dropdown.d.ts +0 -4
- package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +0 -17
- package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +0 -6
- package/lib/components/StateDropdown/StateDropdown.stories.d.ts +0 -10
- package/lib/components/StatusButton/StatusButton.stories.d.ts +0 -14
- package/lib/components/StatusCard/StatusCard.stories.d.ts +0 -11
- package/lib/components/Table/Table.stories.d.ts +0 -13
- package/lib/components/TableTree/TableTree.stories.d.ts +0 -7
- package/lib/components/Tabs/Tabs.stories.d.ts +0 -9
- package/lib/components/TextArea/Textarea.stories.d.ts +0 -9
- package/lib/components/Toast/Toast.stories.d.ts +0 -6
- package/lib/components/Toastify/Toastify.stories.d.ts +0 -6
- package/lib/components/Toggle/Toggle.stories.d.ts +0 -12
- package/lib/components/Tooltip/Tooltip.stories.d.ts +0 -15
- package/lib/components/Typography/Typography.stories.d.ts +0 -10
- package/lib/components/VariableInput/VariableInput.stories.d.ts +0 -6
- package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +0 -6
- package/lib/utils/compareArrays/compareArrays.stories.d.ts +0 -6
- package/lib/utils/compareObjects/compareObjects.stories.d.ts +0 -6
- package/lib/utils/debounce/debounce.stories.d.ts +0 -6
- package/lib/utils/ffID/ffID.stories.d.ts +0 -6
- package/lib/utils/find/findAndInsert.d.ts +0 -7
- package/lib/utils/find/findAndInsert.stories.d.ts +0 -7
- package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +0 -7
- package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +0 -6
- package/lib/utils/getExtension/getExtension.stories.d.ts +0 -6
- package/lib/utils/getSequentialPayload/getSequentialPayload.stories.d.ts +0 -10
- package/lib/utils/throttle/throttle.stories.d.ts +0 -6
- package/lib/utils/truncateText/truncateText.stories.d.ts +0 -6
package/lib/index.js
CHANGED
@@ -3200,9 +3200,9 @@ const OptionCard = ({
|
|
3200
3200
|
const optionCardRef = React.useRef(null);
|
3201
3201
|
React.useEffect(() => {
|
3202
3202
|
if (optionCardRef?.current) {
|
3203
|
-
const rect = optionCardRef
|
3204
|
-
setOptionsHeight(rect
|
3205
|
-
setOptionsWidth(rect
|
3203
|
+
const rect = optionCardRef.current.getBoundingClientRect();
|
3204
|
+
setOptionsHeight(rect.height);
|
3205
|
+
setOptionsWidth(rect.width);
|
3206
3206
|
}
|
3207
3207
|
}, []);
|
3208
3208
|
useClickOutside(menuRef, closeDropdown, [optionCardRef]);
|
@@ -3215,7 +3215,7 @@ const OptionCard = ({
|
|
3215
3215
|
};
|
3216
3216
|
case 'down':
|
3217
3217
|
return {
|
3218
|
-
top: menuPosition.top +
|
3218
|
+
top: menuPosition.top + menuPosition.height + 7,
|
3219
3219
|
left: menuPosition.left - 4
|
3220
3220
|
};
|
3221
3221
|
case 'left':
|
@@ -3226,23 +3226,25 @@ const OptionCard = ({
|
|
3226
3226
|
case 'right':
|
3227
3227
|
return {
|
3228
3228
|
top: menuPosition.top - 4,
|
3229
|
-
left: menuPosition.left + 20
|
3229
|
+
left: menuPosition.left + menuPosition.height + 20
|
3230
3230
|
};
|
3231
3231
|
default:
|
3232
3232
|
return {
|
3233
|
-
top: menuPosition.
|
3234
|
-
left: menuPosition.
|
3233
|
+
top: menuPosition.top,
|
3234
|
+
left: menuPosition.left
|
3235
3235
|
};
|
3236
3236
|
}
|
3237
3237
|
})();
|
3238
|
+
const adjustedStyle = {
|
3239
|
+
top: Math.min(Math.max(style.top, 0), window.innerHeight - optionsHeight),
|
3240
|
+
left: Math.min(Math.max(style.left, 0), window.innerWidth - optionsWidth),
|
3241
|
+
zIndex
|
3242
|
+
};
|
3238
3243
|
return /*#__PURE__*/reactDom.createPortal(jsxRuntime.jsx("div", {
|
3239
3244
|
className: classNames('ff-option-card', [{
|
3240
3245
|
'ff-option-card--primary': variant === 'primary'
|
3241
3246
|
}], currentTheme),
|
3242
|
-
style:
|
3243
|
-
...style,
|
3244
|
-
zIndex
|
3245
|
-
},
|
3247
|
+
style: adjustedStyle,
|
3246
3248
|
ref: optionCardRef,
|
3247
3249
|
children: options.map(opt => jsxRuntime.jsx(Option$1, {
|
3248
3250
|
option: opt,
|
@@ -3276,26 +3278,28 @@ const MenuOption = ({
|
|
3276
3278
|
right: 0
|
3277
3279
|
});
|
3278
3280
|
const closeDropDown = () => setIsClicked(false);
|
3279
|
-
const onIconClickHandler = () => {
|
3280
|
-
onClick();
|
3281
|
-
calculateDims();
|
3282
|
-
setIsClicked(prev => !prev);
|
3283
|
-
};
|
3284
|
-
const handleOptionClick = option => {
|
3285
|
-
onOptionClick(option);
|
3286
|
-
closeDropDown();
|
3287
|
-
};
|
3288
3281
|
const calculateDims = () => {
|
3289
3282
|
if (targetRef?.current) {
|
3290
3283
|
const rect = targetRef.current.getBoundingClientRect();
|
3284
|
+
const containerScrollTop = targetRef.current?.offsetParent?.scrollTop || 0;
|
3285
|
+
const containerScrollLeft = targetRef.current?.offsetParent?.scrollLeft || 0;
|
3291
3286
|
setMenuPosition({
|
3292
|
-
top: rect.top + window.scrollY,
|
3293
|
-
left: rect.left + window.scrollX,
|
3287
|
+
top: rect.top + window.scrollY - containerScrollTop,
|
3288
|
+
left: rect.left + window.scrollX - containerScrollLeft,
|
3294
3289
|
height: rect.height,
|
3295
3290
|
right: rect.right
|
3296
3291
|
});
|
3297
3292
|
}
|
3298
3293
|
};
|
3294
|
+
const onIconClickHandler = () => {
|
3295
|
+
onClick();
|
3296
|
+
calculateDims();
|
3297
|
+
setIsClicked(prev => !prev);
|
3298
|
+
};
|
3299
|
+
const handleOptionClick = option => {
|
3300
|
+
onOptionClick(option);
|
3301
|
+
closeDropDown();
|
3302
|
+
};
|
3299
3303
|
return jsxRuntime.jsxs("div", {
|
3300
3304
|
className: "ff-menu-option-container",
|
3301
3305
|
ref: menuRef,
|
@@ -8002,7 +8006,7 @@ function createFormControl(props = {}) {
|
|
8002
8006
|
timer = setTimeout(callback, wait);
|
8003
8007
|
};
|
8004
8008
|
const _updateValid = async (shouldUpdateValid) => {
|
8005
|
-
if (!
|
8009
|
+
if (!_options.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {
|
8006
8010
|
const isValid = _options.resolver
|
8007
8011
|
? isEmptyObject((await _executeSchema()).errors)
|
8008
8012
|
: await executeBuiltInValidation(_fields, true);
|
@@ -8014,7 +8018,7 @@ function createFormControl(props = {}) {
|
|
8014
8018
|
}
|
8015
8019
|
};
|
8016
8020
|
const _updateIsValidating = (names, isValidating) => {
|
8017
|
-
if (!
|
8021
|
+
if (!_options.disabled &&
|
8018
8022
|
(_proxyFormState.isValidating || _proxyFormState.validatingFields)) {
|
8019
8023
|
(names || Array.from(_names.mount)).forEach((name) => {
|
8020
8024
|
if (name) {
|
@@ -8030,7 +8034,7 @@ function createFormControl(props = {}) {
|
|
8030
8034
|
}
|
8031
8035
|
};
|
8032
8036
|
const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
|
8033
|
-
if (args && method && !
|
8037
|
+
if (args && method && !_options.disabled) {
|
8034
8038
|
_state.action = true;
|
8035
8039
|
if (shouldUpdateFieldsAndState && Array.isArray(get$1(_fields, name))) {
|
8036
8040
|
const fieldValues = method(get$1(_fields, name), args.argA, args.argB);
|
@@ -8094,7 +8098,7 @@ function createFormControl(props = {}) {
|
|
8094
8098
|
const output = {
|
8095
8099
|
name,
|
8096
8100
|
};
|
8097
|
-
if (!
|
8101
|
+
if (!_options.disabled) {
|
8098
8102
|
const disabledField = !!(get$1(_fields, name) &&
|
8099
8103
|
get$1(_fields, name)._f &&
|
8100
8104
|
get$1(_fields, name)._f.disabled);
|
@@ -8230,7 +8234,7 @@ function createFormControl(props = {}) {
|
|
8230
8234
|
}
|
8231
8235
|
_names.unMount = new Set();
|
8232
8236
|
};
|
8233
|
-
const _getDirty = (name, data) => !
|
8237
|
+
const _getDirty = (name, data) => !_options.disabled &&
|
8234
8238
|
(name && data && set$1(_formValues, name, data),
|
8235
8239
|
!deepEqual(getValues(), _defaultValues));
|
8236
8240
|
const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {
|
@@ -8546,7 +8550,7 @@ function createFormControl(props = {}) {
|
|
8546
8550
|
};
|
8547
8551
|
const register = (name, options = {}) => {
|
8548
8552
|
let field = get$1(_fields, name);
|
8549
|
-
const disabledIsDefined = isBoolean(options.disabled) || isBoolean(
|
8553
|
+
const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);
|
8550
8554
|
set$1(_fields, name, {
|
8551
8555
|
...(field || {}),
|
8552
8556
|
_f: {
|
@@ -8562,7 +8566,7 @@ function createFormControl(props = {}) {
|
|
8562
8566
|
field,
|
8563
8567
|
disabled: isBoolean(options.disabled)
|
8564
8568
|
? options.disabled
|
8565
|
-
:
|
8569
|
+
: _options.disabled,
|
8566
8570
|
name,
|
8567
8571
|
value: options.value,
|
8568
8572
|
});
|
@@ -8572,7 +8576,7 @@ function createFormControl(props = {}) {
|
|
8572
8576
|
}
|
8573
8577
|
return {
|
8574
8578
|
...(disabledIsDefined
|
8575
|
-
? { disabled: options.disabled ||
|
8579
|
+
? { disabled: options.disabled || _options.disabled }
|
8576
8580
|
: {}),
|
8577
8581
|
...(_options.progressive
|
8578
8582
|
? {
|
@@ -8656,6 +8660,12 @@ function createFormControl(props = {}) {
|
|
8656
8660
|
e.preventDefault && e.preventDefault();
|
8657
8661
|
e.persist && e.persist();
|
8658
8662
|
}
|
8663
|
+
if (_options.disabled) {
|
8664
|
+
if (onInvalid) {
|
8665
|
+
await onInvalid({ ..._formState.errors }, e);
|
8666
|
+
}
|
8667
|
+
return;
|
8668
|
+
}
|
8659
8669
|
let fieldValues = cloneObject(_formValues);
|
8660
8670
|
_subjects.state.next({
|
8661
8671
|
isSubmitting: true,
|
@@ -8834,7 +8844,9 @@ function createFormControl(props = {}) {
|
|
8834
8844
|
: fieldReference.ref;
|
8835
8845
|
if (fieldRef.focus) {
|
8836
8846
|
fieldRef.focus();
|
8837
|
-
options.shouldSelect &&
|
8847
|
+
options.shouldSelect &&
|
8848
|
+
isFunction$1(fieldRef.select) &&
|
8849
|
+
fieldRef.select();
|
8838
8850
|
}
|
8839
8851
|
}
|
8840
8852
|
};
|
@@ -9035,11 +9047,6 @@ function useForm(props = {}) {
|
|
9035
9047
|
values: control._getWatch(),
|
9036
9048
|
});
|
9037
9049
|
}, [props.shouldUnregister, control]);
|
9038
|
-
React.useEffect(() => {
|
9039
|
-
if (_formControl.current) {
|
9040
|
-
_formControl.current.watch = _formControl.current.watch.bind({});
|
9041
|
-
}
|
9042
|
-
}, [formState]);
|
9043
9050
|
_formControl.current.formState = getProxyFormState(formState, control);
|
9044
9051
|
return _formControl.current;
|
9045
9052
|
}
|
@@ -13252,6 +13259,53 @@ function setYear(date, year, options) {
|
|
13252
13259
|
return date_;
|
13253
13260
|
}
|
13254
13261
|
|
13262
|
+
const FIVE_WEEKS = 5;
|
13263
|
+
const FOUR_WEEKS = 4;
|
13264
|
+
/**
|
13265
|
+
* Return the number of weeks to display in the broadcast calendar.
|
13266
|
+
*
|
13267
|
+
* @since 9.4.0
|
13268
|
+
*/
|
13269
|
+
function getBroadcastWeeksInMonth(month, dateLib) {
|
13270
|
+
// Get the first day of the month
|
13271
|
+
const firstDayOfMonth = dateLib.startOfMonth(month);
|
13272
|
+
// Get the day of the week for the first day of the month (1-7, where 1 is Monday)
|
13273
|
+
const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;
|
13274
|
+
const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);
|
13275
|
+
const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);
|
13276
|
+
const numberOfWeeks = month.getMonth() === lastDateOfLastWeek.getMonth() ? FIVE_WEEKS : FOUR_WEEKS;
|
13277
|
+
return numberOfWeeks;
|
13278
|
+
}
|
13279
|
+
|
13280
|
+
/**
|
13281
|
+
* Return the start date of the week in the broadcast calendar.
|
13282
|
+
*
|
13283
|
+
* @since 9.4.0
|
13284
|
+
*/
|
13285
|
+
function startOfBroadcastWeek(date, dateLib) {
|
13286
|
+
const firstOfMonth = dateLib.startOfMonth(date);
|
13287
|
+
const dayOfWeek = firstOfMonth.getDay();
|
13288
|
+
if (dayOfWeek === 1) {
|
13289
|
+
return firstOfMonth;
|
13290
|
+
} else if (dayOfWeek === 0) {
|
13291
|
+
return dateLib.addDays(firstOfMonth, -1 * 6);
|
13292
|
+
} else {
|
13293
|
+
return dateLib.addDays(firstOfMonth, -1 * (dayOfWeek - 1));
|
13294
|
+
}
|
13295
|
+
}
|
13296
|
+
|
13297
|
+
/**
|
13298
|
+
* Return the end date of the week in the broadcast calendar.
|
13299
|
+
*
|
13300
|
+
* @since 9.4.0
|
13301
|
+
*/
|
13302
|
+
function endOfBroadcastWeek(date, dateLib) {
|
13303
|
+
const startDate = startOfBroadcastWeek(date, dateLib);
|
13304
|
+
const numberOfWeeks = getBroadcastWeeksInMonth(date, dateLib);
|
13305
|
+
const endDate = dateLib.addDays(startDate, numberOfWeeks * 7 - 1);
|
13306
|
+
return endDate;
|
13307
|
+
}
|
13308
|
+
|
13255
13309
|
/**
|
13256
13310
|
* A wrapper class around [date-fns](http://date-fns.org) sharing the same
|
13257
13311
|
* options. Methods of this class can be overridden using the
|
@@ -13332,6 +13386,15 @@ class DateLib {
|
|
13332
13386
|
this.differenceInCalendarMonths = (dateLeft, dateRight) => {
|
13333
13387
|
return this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
|
13334
13388
|
};
|
13389
|
+
/**
|
13390
|
+
* Returns the end of the broadcast week for the given date.
|
13391
|
+
*
|
13392
|
+
* @param date The original date.
|
13393
|
+
* @returns The end of the broadcast week.
|
13394
|
+
*/
|
13395
|
+
this.endOfBroadcastWeek = date => {
|
13396
|
+
return this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(date, this) : endOfBroadcastWeek(date, this);
|
13397
|
+
};
|
13335
13398
|
/**
|
13336
13399
|
* Returns the end of the ISO week for the given date.
|
13337
13400
|
*
|
@@ -13493,6 +13556,15 @@ class DateLib {
|
|
13493
13556
|
this.setYear = (date, year) => {
|
13494
13557
|
return this.overrides?.setYear ? this.overrides.setYear(date, year) : setYear(date, year);
|
13495
13558
|
};
|
13559
|
+
/**
|
13560
|
+
* Returns the start of the broadcast week for the given date.
|
13561
|
+
*
|
13562
|
+
* @param date The original date.
|
13563
|
+
* @returns The start of the broadcast week.
|
13564
|
+
*/
|
13565
|
+
this.startOfBroadcastWeek = date => {
|
13566
|
+
return this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
|
13567
|
+
};
|
13496
13568
|
/**
|
13497
13569
|
* Returns the start of the day for the given date.
|
13498
13570
|
*
|
@@ -14078,7 +14150,8 @@ function getDataAttributes(props) {
|
|
14078
14150
|
"data-mode": props.mode ?? undefined,
|
14079
14151
|
"data-required": "required" in props ? props.required : undefined,
|
14080
14152
|
"data-multiple-months": props.numberOfMonths && props.numberOfMonths > 1 || undefined,
|
14081
|
-
"data-week-numbers": props.showWeekNumber || undefined
|
14153
|
+
"data-week-numbers": props.showWeekNumber || undefined,
|
14154
|
+
"data-broadcast-calendar": props.broadcastCalendar || undefined
|
14082
14155
|
};
|
14083
14156
|
Object.entries(props).forEach(([key, val]) => {
|
14084
14157
|
if (key.startsWith("data-")) {
|
@@ -14144,7 +14217,7 @@ function formatDay(date, options, dateLib) {
|
|
14144
14217
|
*/
|
14145
14218
|
function formatMonthDropdown(/** The month number to format. */
|
14146
14219
|
monthNumber, /** The locale to use for formatting. */
|
14147
|
-
locale
|
14220
|
+
locale) {
|
14148
14221
|
return locale.localize?.month(monthNumber);
|
14149
14222
|
}
|
14150
14223
|
|
@@ -14248,7 +14321,7 @@ function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {
|
|
14248
14321
|
return a - b;
|
14249
14322
|
});
|
14250
14323
|
const options = sortedMonths.map(value => {
|
14251
|
-
const label = formatters.formatMonthDropdown(value, dateLib.options.locale);
|
14324
|
+
const label = formatters.formatMonthDropdown(value, dateLib.options.locale ?? enUS);
|
14252
14325
|
const month = dateLib.Date ? new dateLib.Date(year, value) : new Date(year, value);
|
14253
14326
|
const disabled = navStart && month < startOfMonth(navStart) || navEnd && month > startOfMonth(navEnd) || false;
|
14254
14327
|
return {
|
@@ -14623,7 +14696,8 @@ function tzName(tz, date) {
|
|
14623
14696
|
*/
|
14624
14697
|
function getWeekdays(/** The date library. */
|
14625
14698
|
dateLib, /** Use ISOWeek instead of locale/ */
|
14626
|
-
ISOWeek, timeZone
|
14699
|
+
ISOWeek, timeZone, /** @since 9.4.0 */
|
14700
|
+
broadcastCalendar) {
|
14627
14701
|
const date = timeZone ? TZDate.tz(timeZone) : dateLib.Date ? new dateLib.Date() : new Date();
|
14628
14702
|
const start = ISOWeek ? dateLib.startOfISOWeek(date) : dateLib.startOfWeek(date);
|
14629
14703
|
const days = [];
|
@@ -14826,29 +14900,30 @@ var defaultLabels = /*#__PURE__*/Object.freeze({
|
|
14826
14900
|
labelYearDropdown: labelYearDropdown
|
14827
14901
|
});
|
14828
14902
|
|
14829
|
-
/** The number of days in a month when having 6 weeks. */
|
14830
|
-
const NrOfDaysWithFixedWeeks = 42;
|
14831
14903
|
/** Return all the dates to display in the calendar. */
|
14832
14904
|
function getDates(displayMonths, maxDate, props, dateLib) {
|
14833
14905
|
const firstMonth = displayMonths[0];
|
14834
14906
|
const lastMonth = displayMonths[displayMonths.length - 1];
|
14835
14907
|
const {
|
14836
14908
|
ISOWeek,
|
14837
|
-
fixedWeeks
|
14909
|
+
fixedWeeks,
|
14910
|
+
broadcastCalendar
|
14838
14911
|
} = props ?? {};
|
14839
14912
|
const {
|
14840
|
-
startOfWeek,
|
14841
|
-
endOfWeek,
|
14842
|
-
startOfISOWeek,
|
14843
|
-
endOfISOWeek,
|
14844
14913
|
addDays,
|
14845
14914
|
differenceInCalendarDays,
|
14846
14915
|
differenceInCalendarMonths,
|
14916
|
+
endOfBroadcastWeek,
|
14917
|
+
endOfISOWeek,
|
14918
|
+
endOfMonth,
|
14919
|
+
endOfWeek,
|
14847
14920
|
isAfter,
|
14848
|
-
|
14921
|
+
startOfBroadcastWeek,
|
14922
|
+
startOfISOWeek,
|
14923
|
+
startOfWeek
|
14849
14924
|
} = dateLib;
|
14850
|
-
const startWeekFirstDate = ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14851
|
-
const endWeekLastDate = ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14925
|
+
const startWeekFirstDate = broadcastCalendar ? startOfBroadcastWeek(firstMonth, dateLib) : ISOWeek ? startOfISOWeek(firstMonth) : startOfWeek(firstMonth);
|
14926
|
+
const endWeekLastDate = broadcastCalendar ? endOfBroadcastWeek(lastMonth, dateLib) : ISOWeek ? endOfISOWeek(endOfMonth(lastMonth)) : endOfWeek(endOfMonth(lastMonth));
|
14852
14927
|
const nOfDays = differenceInCalendarDays(endWeekLastDate, startWeekFirstDate);
|
14853
14928
|
const nOfMonths = differenceInCalendarMonths(lastMonth, firstMonth) + 1;
|
14854
14929
|
const dates = [];
|
@@ -14860,9 +14935,11 @@ function getDates(displayMonths, maxDate, props, dateLib) {
|
|
14860
14935
|
dates.push(date);
|
14861
14936
|
}
|
14862
14937
|
// If fixed weeks is enabled, add the extra dates to the array
|
14863
|
-
const
|
14938
|
+
const nrOfDaysWithFixedWeeks = broadcastCalendar ? 35 : 42;
|
14939
|
+
const extraDates = nrOfDaysWithFixedWeeks * nOfMonths;
|
14864
14940
|
if (fixedWeeks && dates.length < extraDates) {
|
14865
|
-
|
14941
|
+
const daysToAdd = extraDates - dates.length;
|
14942
|
+
for (let i = 0; i < daysToAdd; i++) {
|
14866
14943
|
const date = addDays(dates[dates.length - 1], 1);
|
14867
14944
|
dates.push(date);
|
14868
14945
|
}
|
@@ -14973,25 +15050,29 @@ displayMonths, /** The dates to display in the calendar. */
|
|
14973
15050
|
dates, /** Options from the props context. */
|
14974
15051
|
props, dateLib) {
|
14975
15052
|
const {
|
14976
|
-
|
14977
|
-
|
14978
|
-
startOfISOWeek,
|
15053
|
+
addDays,
|
15054
|
+
endOfBroadcastWeek,
|
14979
15055
|
endOfISOWeek,
|
14980
15056
|
endOfMonth,
|
14981
|
-
|
15057
|
+
endOfWeek,
|
15058
|
+
getISOWeek,
|
14982
15059
|
getWeek,
|
14983
|
-
|
15060
|
+
startOfBroadcastWeek,
|
15061
|
+
startOfISOWeek,
|
15062
|
+
startOfWeek
|
14984
15063
|
} = dateLib;
|
14985
15064
|
const dayPickerMonths = displayMonths.reduce((months, month) => {
|
14986
|
-
const firstDateOfFirstWeek = props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
14987
|
-
const lastDateOfLastWeek = props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
15065
|
+
const firstDateOfFirstWeek = props.broadcastCalendar ? startOfBroadcastWeek(month, dateLib) : props.ISOWeek ? startOfISOWeek(month) : startOfWeek(month);
|
15066
|
+
const lastDateOfLastWeek = props.broadcastCalendar ? endOfBroadcastWeek(month, dateLib) : props.ISOWeek ? endOfISOWeek(endOfMonth(month)) : endOfWeek(endOfMonth(month));
|
14988
15067
|
/** The dates to display in the month. */
|
14989
15068
|
const monthDates = dates.filter(date => {
|
14990
15069
|
return date >= firstDateOfFirstWeek && date <= lastDateOfLastWeek;
|
14991
15070
|
});
|
14992
|
-
|
15071
|
+
const nrOfDaysWithFixedWeeks = props.broadcastCalendar ? 35 : 42;
|
15072
|
+
if (props.fixedWeeks && monthDates.length < nrOfDaysWithFixedWeeks) {
|
14993
15073
|
const extraDates = dates.filter(date => {
|
14994
|
-
|
15074
|
+
const daysToAdd = nrOfDaysWithFixedWeeks - monthDates.length;
|
15075
|
+
return date > lastDateOfLastWeek && date <= addDays(lastDateOfLastWeek, daysToAdd);
|
14995
15076
|
});
|
14996
15077
|
monthDates.push(...extraDates);
|
14997
15078
|
}
|
@@ -15429,27 +15510,30 @@ function dateMatchModifiers(date, matchers, dateLib = defaultDateLib) {
|
|
15429
15510
|
/** Return the next date that should be focused. */
|
15430
15511
|
function getFocusableDate(moveBy, moveDir, refDate, navStart, navEnd, props, dateLib) {
|
15431
15512
|
const {
|
15432
|
-
ISOWeek
|
15513
|
+
ISOWeek,
|
15514
|
+
broadcastCalendar
|
15433
15515
|
} = props;
|
15434
15516
|
const {
|
15435
15517
|
addDays,
|
15436
15518
|
addMonths,
|
15437
|
-
addYears,
|
15438
15519
|
addWeeks,
|
15439
|
-
|
15520
|
+
addYears,
|
15521
|
+
endOfBroadcastWeek,
|
15440
15522
|
endOfISOWeek,
|
15441
|
-
startOfWeek,
|
15442
15523
|
endOfWeek,
|
15443
15524
|
max,
|
15444
|
-
min
|
15525
|
+
min,
|
15526
|
+
startOfBroadcastWeek,
|
15527
|
+
startOfISOWeek,
|
15528
|
+
startOfWeek
|
15445
15529
|
} = dateLib;
|
15446
15530
|
const moveFns = {
|
15447
15531
|
day: addDays,
|
15448
15532
|
week: addWeeks,
|
15449
15533
|
month: addMonths,
|
15450
15534
|
year: addYears,
|
15451
|
-
startOfWeek: date => ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15452
|
-
endOfWeek: date => ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15535
|
+
startOfWeek: date => broadcastCalendar ? startOfBroadcastWeek(date, dateLib) : ISOWeek ? startOfISOWeek(date) : startOfWeek(date),
|
15536
|
+
endOfWeek: date => broadcastCalendar ? endOfBroadcastWeek(date, dateLib) : ISOWeek ? endOfISOWeek(date) : endOfWeek(date)
|
15453
15537
|
};
|
15454
15538
|
let focusableDate = moveFns[moveBy](refDate, moveDir === "after" ? 1 : -1);
|
15455
15539
|
if (moveDir === "before" && navStart) {
|
@@ -15515,6 +15599,8 @@ function useFocus(props, calendar, getModifiers, isSelected, dateLib) {
|
|
15515
15599
|
/**
|
15516
15600
|
* Return a function to get the modifiers for a given day.
|
15517
15601
|
*
|
15602
|
+
* NOTE: this is not an hook, but a factory for `getModifiers`.
|
15603
|
+
*
|
15518
15604
|
* @private
|
15519
15605
|
*/
|
15520
15606
|
function useGetModifiers(days, props, dateLib) {
|
@@ -15523,12 +15609,19 @@ function useGetModifiers(days, props, dateLib) {
|
|
15523
15609
|
hidden,
|
15524
15610
|
modifiers,
|
15525
15611
|
showOutsideDays,
|
15612
|
+
broadcastCalendar,
|
15526
15613
|
today
|
15527
15614
|
} = props;
|
15528
15615
|
const {
|
15529
15616
|
isSameDay,
|
15530
|
-
isSameMonth
|
15617
|
+
isSameMonth,
|
15618
|
+
startOfMonth,
|
15619
|
+
isBefore,
|
15620
|
+
endOfMonth,
|
15621
|
+
isAfter
|
15531
15622
|
} = dateLib;
|
15623
|
+
const startMonth = props.startMonth && startOfMonth(props.startMonth);
|
15624
|
+
const endMonth = props.endMonth && endOfMonth(props.endMonth);
|
15532
15625
|
const internalModifiersMap = {
|
15533
15626
|
[DayFlag.focused]: [],
|
15534
15627
|
[DayFlag.outside]: [],
|
@@ -15537,20 +15630,18 @@ function useGetModifiers(days, props, dateLib) {
|
|
15537
15630
|
[DayFlag.today]: []
|
15538
15631
|
};
|
15539
15632
|
const customModifiersMap = {};
|
15540
|
-
const selectionModifiersMap = {
|
15541
|
-
[SelectionState.range_end]: [],
|
15542
|
-
[SelectionState.range_middle]: [],
|
15543
|
-
[SelectionState.range_start]: [],
|
15544
|
-
[SelectionState.selected]: []
|
15545
|
-
};
|
15546
15633
|
for (const day of days) {
|
15547
15634
|
const {
|
15548
15635
|
date,
|
15549
15636
|
displayMonth
|
15550
15637
|
} = day;
|
15551
15638
|
const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));
|
15639
|
+
const isBeforeStartMonth = Boolean(startMonth && isBefore(date, startMonth));
|
15640
|
+
const isAfterEndMonth = Boolean(endMonth && isAfter(date, endMonth));
|
15552
15641
|
const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));
|
15553
|
-
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) ||
|
15642
|
+
const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) || isBeforeStartMonth || isAfterEndMonth ||
|
15643
|
+
// Broadcast calendar will show outside days as default
|
15644
|
+
!broadcastCalendar && !showOutsideDays && isOutside || broadcastCalendar && showOutsideDays === false && isOutside;
|
15554
15645
|
const isToday = isSameDay(date, today ?? (props.timeZone ? TZDate.tz(props.timeZone) : dateLib.Date ? new dateLib.Date() : new Date()));
|
15555
15646
|
if (isOutside) internalModifiersMap.outside.push(day);
|
15556
15647
|
if (isDisabled) internalModifiersMap.disabled.push(day);
|
@@ -15579,27 +15670,16 @@ function useGetModifiers(days, props, dateLib) {
|
|
15579
15670
|
[DayFlag.outside]: false,
|
15580
15671
|
[DayFlag.today]: false
|
15581
15672
|
};
|
15582
|
-
const selectionStates = {
|
15583
|
-
[SelectionState.range_end]: false,
|
15584
|
-
[SelectionState.range_middle]: false,
|
15585
|
-
[SelectionState.range_start]: false,
|
15586
|
-
[SelectionState.selected]: false
|
15587
|
-
};
|
15588
15673
|
const customModifiers = {};
|
15589
15674
|
// Find the modifiers for the given day
|
15590
15675
|
for (const name in internalModifiersMap) {
|
15591
15676
|
const days = internalModifiersMap[name];
|
15592
15677
|
dayFlags[name] = days.some(d => d === day);
|
15593
15678
|
}
|
15594
|
-
for (const name in selectionModifiersMap) {
|
15595
|
-
const days = selectionModifiersMap[name];
|
15596
|
-
selectionStates[name] = days.some(d => d === day);
|
15597
|
-
}
|
15598
15679
|
for (const name in customModifiersMap) {
|
15599
15680
|
customModifiers[name] = customModifiersMap[name].some(d => d === day);
|
15600
15681
|
}
|
15601
15682
|
return {
|
15602
|
-
...selectionStates,
|
15603
15683
|
...dayFlags,
|
15604
15684
|
// custom modifiers should override all the previous ones
|
15605
15685
|
...customModifiers
|
@@ -16004,7 +16084,7 @@ function DayPicker(props) {
|
|
16004
16084
|
};
|
16005
16085
|
const dateLib = new DateLib({
|
16006
16086
|
locale,
|
16007
|
-
weekStartsOn: props.weekStartsOn,
|
16087
|
+
weekStartsOn: props.broadcastCalendar ? 1 : props.weekStartsOn,
|
16008
16088
|
firstWeekContainsDate: props.firstWeekContainsDate,
|
16009
16089
|
useAdditionalWeekYearTokens: props.useAdditionalWeekYearTokens,
|
16010
16090
|
useAdditionalDayOfYearTokens: props.useAdditionalDayOfYearTokens
|
@@ -16023,7 +16103,7 @@ function DayPicker(props) {
|
|
16023
16103
|
...props.classNames
|
16024
16104
|
}
|
16025
16105
|
};
|
16026
|
-
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn]);
|
16106
|
+
}, [props.classNames, props.components, props.dateLib, props.firstWeekContainsDate, props.formatters, props.labels, props.locale, props.useAdditionalDayOfYearTokens, props.useAdditionalWeekYearTokens, props.weekStartsOn, props.broadcastCalendar]);
|
16027
16107
|
const {
|
16028
16108
|
captionLayout,
|
16029
16109
|
mode,
|
@@ -18801,6 +18881,8 @@ function LiveRegion(_ref) {
|
|
18801
18881
|
// Hide element visually but keep it readable by screen readers
|
18802
18882
|
const visuallyHidden = {
|
18803
18883
|
position: 'fixed',
|
18884
|
+
top: 0,
|
18885
|
+
left: 0,
|
18804
18886
|
width: 1,
|
18805
18887
|
height: 1,
|
18806
18888
|
margin: -1,
|
@@ -20093,6 +20175,9 @@ class AbstractPointerSensor {
|
|
20093
20175
|
passive: false
|
20094
20176
|
});
|
20095
20177
|
this.listeners.add(events.end.name, this.handleEnd);
|
20178
|
+
if (events.cancel) {
|
20179
|
+
this.listeners.add(events.cancel.name, this.handleCancel);
|
20180
|
+
}
|
20096
20181
|
this.windowListeners.add(EventName.Resize, this.handleCancel);
|
20097
20182
|
this.windowListeners.add(EventName.DragStart, preventDefault);
|
20098
20183
|
this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);
|
@@ -20212,6 +20297,9 @@ class AbstractPointerSensor {
|
|
20212
20297
|
}
|
20213
20298
|
}
|
20214
20299
|
const events = {
|
20300
|
+
cancel: {
|
20301
|
+
name: 'pointercancel'
|
20302
|
+
},
|
20215
20303
|
move: {
|
20216
20304
|
name: 'pointermove'
|
20217
20305
|
},
|
@@ -20284,6 +20372,9 @@ MouseSensor.activators = [{
|
|
20284
20372
|
}
|
20285
20373
|
}];
|
20286
20374
|
const events$2 = {
|
20375
|
+
cancel: {
|
20376
|
+
name: 'touchcancel'
|
20377
|
+
},
|
20287
20378
|
move: {
|
20288
20379
|
name: 'touchmove'
|
20289
20380
|
},
|
@@ -20485,11 +20576,11 @@ function useScrollIntent(_ref2) {
|
|
20485
20576
|
}, [disabled, delta, previousDelta]);
|
20486
20577
|
}
|
20487
20578
|
function useCachedNode(draggableNodes, id) {
|
20488
|
-
const draggableNode = id
|
20579
|
+
const draggableNode = id != null ? draggableNodes.get(id) : undefined;
|
20489
20580
|
const node = draggableNode ? draggableNode.node.current : null;
|
20490
20581
|
return useLazyMemo(cachedNode => {
|
20491
20582
|
var _ref;
|
20492
|
-
if (id
|
20583
|
+
if (id == null) {
|
20493
20584
|
return null;
|
20494
20585
|
} // In some cases, the draggable node can unmount while dragging
|
20495
20586
|
// This is the case for virtualized lists. In those situations,
|
@@ -20697,7 +20788,26 @@ function useRect(element, measure, fallbackRect) {
|
|
20697
20788
|
if (measure === void 0) {
|
20698
20789
|
measure = defaultMeasure;
|
20699
20790
|
}
|
20700
|
-
const [rect,
|
20791
|
+
const [rect, setRect] = React.useState(null);
|
20792
|
+
function measureRect() {
|
20793
|
+
setRect(currentRect => {
|
20794
|
+
if (!element) {
|
20795
|
+
return null;
|
20796
|
+
}
|
20797
|
+
if (element.isConnected === false) {
|
20798
|
+
var _ref;
|
20799
|
+
|
20800
|
+
// Fall back to last rect we measured if the element is
|
20801
|
+
// no longer connected to the DOM.
|
20802
|
+
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
20803
|
+
}
|
20804
|
+
const newRect = measure(element);
|
20805
|
+
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
20806
|
+
return currentRect;
|
20807
|
+
}
|
20808
|
+
return newRect;
|
20809
|
+
});
|
20810
|
+
}
|
20701
20811
|
const mutationObserver = useMutationObserver({
|
20702
20812
|
callback(records) {
|
20703
20813
|
if (!element) {
|
@@ -20732,23 +20842,6 @@ function useRect(element, measure, fallbackRect) {
|
|
20732
20842
|
}
|
20733
20843
|
}, [element]);
|
20734
20844
|
return rect;
|
20735
|
-
function reducer(currentRect) {
|
20736
|
-
if (!element) {
|
20737
|
-
return null;
|
20738
|
-
}
|
20739
|
-
if (element.isConnected === false) {
|
20740
|
-
var _ref;
|
20741
|
-
|
20742
|
-
// Fall back to last rect we measured if the element is
|
20743
|
-
// no longer connected to the DOM.
|
20744
|
-
return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;
|
20745
|
-
}
|
20746
|
-
const newRect = measure(element);
|
20747
|
-
if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {
|
20748
|
-
return currentRect;
|
20749
|
-
}
|
20750
|
-
return newRect;
|
20751
|
-
}
|
20752
20845
|
}
|
20753
20846
|
function useRectDelta(rect) {
|
20754
20847
|
const initialRect = useInitialValue(rect);
|
@@ -20894,28 +20987,24 @@ function useRects(elements, measure) {
|
|
20894
20987
|
}
|
20895
20988
|
const [firstElement] = elements;
|
20896
20989
|
const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);
|
20897
|
-
const [rects,
|
20990
|
+
const [rects, setRects] = React.useState(defaultValue$2);
|
20991
|
+
function measureRects() {
|
20992
|
+
setRects(() => {
|
20993
|
+
if (!elements.length) {
|
20994
|
+
return defaultValue$2;
|
20995
|
+
}
|
20996
|
+
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
20997
|
+
});
|
20998
|
+
}
|
20898
20999
|
const resizeObserver = useResizeObserver({
|
20899
21000
|
callback: measureRects
|
20900
21001
|
});
|
20901
|
-
if (elements.length > 0 && rects === defaultValue$2) {
|
20902
|
-
measureRects();
|
20903
|
-
}
|
20904
21002
|
useIsomorphicLayoutEffect$1(() => {
|
20905
|
-
|
20906
|
-
|
20907
|
-
|
20908
|
-
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
20909
|
-
measureRects();
|
20910
|
-
}
|
21003
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
21004
|
+
measureRects();
|
21005
|
+
elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));
|
20911
21006
|
}, [elements]);
|
20912
21007
|
return rects;
|
20913
|
-
function reducer() {
|
20914
|
-
if (!elements.length) {
|
20915
|
-
return defaultValue$2;
|
20916
|
-
}
|
20917
|
-
return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));
|
20918
|
-
}
|
20919
21008
|
}
|
20920
21009
|
function getMeasurableNode(node) {
|
20921
21010
|
if (!node) {
|
@@ -21082,7 +21171,7 @@ function reducer$1(state, action) {
|
|
21082
21171
|
}
|
21083
21172
|
};
|
21084
21173
|
case Action.DragMove:
|
21085
|
-
if (
|
21174
|
+
if (state.draggable.active == null) {
|
21086
21175
|
return state;
|
21087
21176
|
}
|
21088
21177
|
return {
|
@@ -21354,7 +21443,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21354
21443
|
containers: droppableContainers
|
21355
21444
|
}
|
21356
21445
|
} = state;
|
21357
|
-
const node = activeId ? draggableNodes.get(activeId) : null;
|
21446
|
+
const node = activeId != null ? draggableNodes.get(activeId) : null;
|
21358
21447
|
const activeRects = React.useRef({
|
21359
21448
|
initial: null,
|
21360
21449
|
translated: null
|
@@ -21389,7 +21478,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21389
21478
|
const autoScrollOptions = getAutoScrollerOptions();
|
21390
21479
|
const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);
|
21391
21480
|
useLayoutShiftScrollCompensation({
|
21392
|
-
activeNode: activeId ? draggableNodes.get(activeId) : null,
|
21481
|
+
activeNode: activeId != null ? draggableNodes.get(activeId) : null,
|
21393
21482
|
config: autoScrollOptions.layoutShiftCompensation,
|
21394
21483
|
initialRect: initialActiveNodeRect,
|
21395
21484
|
measure: measuringConfiguration.draggable.measure
|
@@ -21467,6 +21556,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21467
21556
|
|
21468
21557
|
const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);
|
21469
21558
|
const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);
|
21559
|
+
const activeSensorRef = React.useRef(null);
|
21470
21560
|
const instantiateSensor = React.useCallback((event, _ref2) => {
|
21471
21561
|
let {
|
21472
21562
|
sensor: Sensor,
|
@@ -21501,6 +21591,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21501
21591
|
onDragStart
|
21502
21592
|
} = latestProps.current;
|
21503
21593
|
const event = {
|
21594
|
+
activatorEvent,
|
21504
21595
|
active: {
|
21505
21596
|
id,
|
21506
21597
|
data: draggableNode.data,
|
@@ -21519,6 +21610,8 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21519
21610
|
type: 'onDragStart',
|
21520
21611
|
event
|
21521
21612
|
});
|
21613
|
+
setActiveSensor(activeSensorRef.current);
|
21614
|
+
setActivatorEvent(activatorEvent);
|
21522
21615
|
});
|
21523
21616
|
},
|
21524
21617
|
onMove(coordinates) {
|
@@ -21530,10 +21623,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21530
21623
|
onEnd: createHandler(Action.DragEnd),
|
21531
21624
|
onCancel: createHandler(Action.DragCancel)
|
21532
21625
|
});
|
21533
|
-
|
21534
|
-
setActiveSensor(sensorInstance);
|
21535
|
-
setActivatorEvent(event.nativeEvent);
|
21536
|
-
});
|
21626
|
+
activeSensorRef.current = sensorInstance;
|
21537
21627
|
function createHandler(type) {
|
21538
21628
|
return async function handler() {
|
21539
21629
|
const {
|
@@ -21570,6 +21660,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21570
21660
|
setOver(null);
|
21571
21661
|
setActiveSensor(null);
|
21572
21662
|
setActivatorEvent(null);
|
21663
|
+
activeSensorRef.current = null;
|
21573
21664
|
const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';
|
21574
21665
|
if (event) {
|
21575
21666
|
const handler = latestProps.current[eventName];
|
@@ -21791,7 +21882,7 @@ const DndContext = /*#__PURE__*/React.memo(function DndContext(_ref) {
|
|
21791
21882
|
});
|
21792
21883
|
const NullContext = /*#__PURE__*/React.createContext(null);
|
21793
21884
|
const defaultRole = 'button';
|
21794
|
-
const ID_PREFIX$1 = '
|
21885
|
+
const ID_PREFIX$1 = 'Draggable';
|
21795
21886
|
function useDraggable(_ref) {
|
21796
21887
|
let {
|
21797
21888
|
id,
|
@@ -21938,7 +22029,7 @@ function useDroppable(_ref) {
|
|
21938
22029
|
resizeObserverConnected.current = false;
|
21939
22030
|
resizeObserver.observe(nodeRef.current);
|
21940
22031
|
}, [nodeRef, resizeObserver]);
|
21941
|
-
|
22032
|
+
React.useEffect(() => {
|
21942
22033
|
dispatch({
|
21943
22034
|
type: Action.RegisterDroppable,
|
21944
22035
|
element: {
|
@@ -22353,6 +22444,7 @@ var DNDCore = /*#__PURE__*/Object.freeze({
|
|
22353
22444
|
defaultCoordinates: defaultCoordinates,
|
22354
22445
|
defaultDropAnimation: defaultDropAnimationConfiguration,
|
22355
22446
|
defaultDropAnimationSideEffects: defaultDropAnimationSideEffects,
|
22447
|
+
defaultKeyboardCoordinateGetter: defaultKeyboardCoordinateGetter,
|
22356
22448
|
defaultScreenReaderInstructions: defaultScreenReaderInstructions,
|
22357
22449
|
getClientRect: getClientRect,
|
22358
22450
|
getFirstCollision: getFirstCollision,
|
@@ -27249,7 +27341,8 @@ const Toastify = () => {
|
|
27249
27341
|
isOpen: toastProps.isOpen,
|
27250
27342
|
variant: toastProps.variant,
|
27251
27343
|
toastTitle: toastProps.toastTitle,
|
27252
|
-
toastMessage: toastProps.toastMessage
|
27344
|
+
toastMessage: toastProps.toastMessage,
|
27345
|
+
zIndex: 1000000000
|
27253
27346
|
});
|
27254
27347
|
};
|
27255
27348
|
// Utility to trigger toast messages outside of the Toastify component
|
@@ -31384,6 +31477,7 @@ const Row = props => jsxRuntime.jsx("tr", {
|
|
31384
31477
|
});
|
31385
31478
|
|
31386
31479
|
const HeaderRow = props => jsxRuntime.jsx("tr", {
|
31480
|
+
className: "ff-spreadsheet-row-header",
|
31387
31481
|
...props
|
31388
31482
|
});
|
31389
31483
|
|
@@ -31403,14 +31497,17 @@ const CornerIndicator = ({
|
|
31403
31497
|
onSelect();
|
31404
31498
|
}, [onSelect]);
|
31405
31499
|
return jsxRuntime.jsx("th", {
|
31406
|
-
className:
|
31407
|
-
'ff-spreadsheet-header--selected': selected
|
31408
|
-
}),
|
31500
|
+
className: 'ff-spreadsheet-corner-header',
|
31409
31501
|
onClick: handleClick,
|
31410
31502
|
tabIndex: 0,
|
31411
|
-
children: jsxRuntime.jsx(
|
31412
|
-
|
31413
|
-
|
31503
|
+
children: jsxRuntime.jsx("div", {
|
31504
|
+
className: classNames('corner-header', {
|
31505
|
+
'ff-spreadsheet-header--selected': selected
|
31506
|
+
}),
|
31507
|
+
children: jsxRuntime.jsx(Icon, {
|
31508
|
+
variant: selected ? 'dark' : 'light',
|
31509
|
+
name: "excel_corner_menu"
|
31510
|
+
})
|
31414
31511
|
})
|
31415
31512
|
});
|
31416
31513
|
};
|
@@ -31492,7 +31589,7 @@ const ColumnIndicator = ({
|
|
31492
31589
|
return jsxRuntime.jsxs("th", {
|
31493
31590
|
style: {
|
31494
31591
|
minWidth: `${columnWidth}px`,
|
31495
|
-
position: '
|
31592
|
+
position: 'sticky'
|
31496
31593
|
},
|
31497
31594
|
className: classNames('ff-spreadsheet-header', {
|
31498
31595
|
'ff-spreadsheet-header--selected': selected
|
@@ -32025,7 +32122,7 @@ const Copied = () => {
|
|
32025
32122
|
});
|
32026
32123
|
};
|
32027
32124
|
|
32028
|
-
var css_248z$n = ".fontXs {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm {\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-excel {\n display: flex;\n flex-direction: column;\n}\n.ff-excel .ff-excel-toolbar-container {\n position: relative;\n top: 0;\n background-color: var(--excel-toolbar-bg);\n padding: 4px 8px;\n margin-bottom: 20px;\n}\n.ff-excel .ff-spreadsheet {\n --background-color: var(--drawer-footer-bg);\n --text-color: var(--text-color);\n --readonly-text-color: var(--toggle-strip-active);\n --outline-color: var(--toggle-strip-active);\n --outline-background-color: var(--overlay-bg);\n --border-color: var(--excel-sheet-border);\n --header-background-color: var(--excel-header-bg);\n --elevation: var(--brand-color);\n position: relative;\n overflow: scroll;\n background: var(--background-color);\n color: var(--text-color);\n scrollbar-width: none;\n display: inline-block;\n}\n.ff-excel .ff-spreadsheet-active-cell {\n position: absolute;\n border: 2px solid var(--outline-color);\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-active-cell--edit {\n background: var(--background-color);\n box-shadow: var(--elevation);\n}\n.ff-excel .ff-spreadsheet-table {\n overflow: scroll;\n top: 0;\n left: 0;\n margin: 0;\n position: relative;\n border-collapse: collapse;\n table-layout: fixed;\n}\n.ff-excel .ff-spreadsheet-table::-webkit-scrollbar {\n height: 0px;\n}\n.ff-excel .ff-spreadsheet-cell {\n outline: none;\n position: relative;\n z-index: 0;\n}\n.ff-excel .ff-spreadsheet-active-cell .select_dot {\n background-color: var(--elevation);\n height: 10px;\n width: 10px;\n border-radius: 50%;\n position: absolute;\n bottom: -5px;\n right: -5px;\n cursor: crosshair;\n z-index: 1000;\n}\n.ff-excel .ff-spreadsheet-cell--readonly {\n color: var(--readonly-text-color);\n}\n.ff-excel .ff-spreadsheet-cell,\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-align: left;\n box-sizing: border-box;\n user-select: none;\n}\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n background-color: var(--header-background-color);\n color: var(--readonly-text-color);\n text-align: center;\n z-index: 1000;\n}\n.ff-excel .ff-spreadsheet-corner-header {\n
|
32125
|
+
var css_248z$n = ".fontXs {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm {\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-excel {\n display: flex;\n flex-direction: column;\n}\n.ff-excel .ff-excel-toolbar-container {\n position: relative;\n top: 0;\n background-color: var(--excel-toolbar-bg);\n padding: 4px 8px;\n margin-bottom: 20px;\n}\n.ff-excel .ff-spreadsheet {\n --background-color: var(--drawer-footer-bg);\n --text-color: var(--text-color);\n --readonly-text-color: var(--toggle-strip-active);\n --outline-color: var(--toggle-strip-active);\n --outline-background-color: var(--overlay-bg);\n --border-color: var(--excel-sheet-border);\n --header-background-color: var(--excel-header-bg);\n --elevation: var(--brand-color);\n position: relative;\n overflow: scroll;\n background: var(--background-color);\n color: var(--text-color);\n scrollbar-width: none;\n display: inline-block;\n}\n.ff-excel .ff-spreadsheet-active-cell {\n position: absolute;\n border: 2px solid var(--outline-color);\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-active-cell--edit {\n background: var(--background-color);\n box-shadow: var(--elevation);\n}\n.ff-excel .ff-spreadsheet-table {\n overflow: scroll;\n top: 0;\n left: 0;\n margin: 0;\n position: relative;\n border-collapse: collapse;\n table-layout: fixed;\n}\n.ff-excel .ff-spreadsheet-table::-webkit-scrollbar {\n height: 0px;\n}\n.ff-excel .ff-spreadsheet-cell {\n outline: none;\n position: relative;\n z-index: 0;\n}\n.ff-excel .ff-spreadsheet-active-cell .select_dot {\n background-color: var(--elevation);\n height: 10px;\n width: 10px;\n border-radius: 50%;\n position: absolute;\n bottom: -5px;\n right: -5px;\n cursor: crosshair;\n z-index: 1000;\n}\n.ff-excel .ff-spreadsheet-cell--readonly {\n color: var(--readonly-text-color);\n}\n.ff-excel .ff-spreadsheet-cell,\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n overflow: hidden;\n word-break: keep-all;\n white-space: nowrap;\n text-align: left;\n box-sizing: border-box;\n user-select: none;\n}\n.ff-excel .ff-spreadsheet-header {\n border: 0.1px solid var(--border-color);\n background-color: var(--header-background-color);\n color: var(--readonly-text-color);\n text-align: center;\n z-index: 1000;\n position: sticky;\n}\n.ff-excel .ff-spreadsheet-corner-header {\n position: fixed;\n z-index: 2000;\n}\n.ff-excel .ff-spreadsheet-row-header {\n height: 34px;\n}\n.ff-excel .corner-header {\n border: 0.1px solid var(--border-color);\n background-color: var(--header-background-color);\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1100;\n top: -1px;\n width: 60px;\n height: 34px;\n left: -1px;\n}\n.ff-excel .ff-spreadsheet-header--selected {\n background: var(--brand-color);\n color: var(--tooltip-text-color);\n}\n.ff-excel .ff-spreadsheet-data-viewer,\n.ff-excel .ff-spreadsheet-data-editor input {\n padding: 4px;\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-header {\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-data-viewer--preserve-breaks {\n white-space: pre-wrap;\n}\n.ff-excel .ff-spreadsheet-data-editor,\n.ff-excel .ff-spreadsheet-data-editor input {\n width: 100%;\n height: 100%;\n}\n.ff-excel .ff-spreadsheet-data-editor input {\n font: inherit;\n color: inherit;\n background: none;\n border: none;\n outline: none;\n margin: 0;\n}\n.ff-excel .ff-spreadsheet-data-viewer--boolean {\n text-align: center;\n}\n.ff-excel .ff-spreadsheet-floating-rect {\n position: absolute;\n pointer-events: none;\n box-sizing: border-box;\n}\n.ff-excel .ff-spreadsheet-floating-rect--hidden {\n display: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--selected {\n background: var(--outline-background-color);\n border: 2px var(--outline-color) solid;\n}\n.ff-excel .ff-spreadsheet-floating-rect--dragging {\n border: none;\n}\n.ff-excel .ff-spreadsheet-floating-rect--copied {\n border: 2px var(--outline-color) dashed;\n}";
|
32029
32126
|
styleInject(css_248z$n);
|
32030
32127
|
|
32031
32128
|
var css_248z$m = ".ff-excel-toolbar {\n display: flex;\n height: 32px;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-divider {\n width: 1px;\n height: 24px;\n background-color: var(--excel-toolbar-divider);\n margin: 0 24px;\n border-radius: 1px;\n z-index: 1000;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font {\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-family {\n width: 120px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-font .ff-excel-toolbar-font-size {\n width: 56px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text {\n width: 100px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-text .ff-excel-toolbar-icon-underline {\n display: flex;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon {\n width: 88px;\n height: 24px;\n display: flex;\n gap: 8px;\n justify-content: space-between;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n width: 24px;\n height: 24px;\n border-radius: 4px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color:hover {\n border-radius: 4px;\n background-color: var(--icon-hover-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color {\n background-color: var(--brand-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover {\n background-color: var(--primary-button-text-color);\n}\n.ff-icon-dark .ff-excel-toolbar .ff-excel-toolbar-icon .ff-excel-toolbar-icon-color.ff-icon-click:hover svg path {\n fill: var(--brand-color);\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu {\n display: flex;\n align-items: center;\n width: 36px;\n height: 24px;\n}\n.ff-excel-toolbar .ff-excel-toolbar-menu .ff-excel-toolbar-menu-option {\n display: flex;\n align-items: center;\n}";
|
@@ -33531,17 +33628,28 @@ const AttachImage = ({
|
|
33531
33628
|
});
|
33532
33629
|
};
|
33533
33630
|
|
33534
|
-
var css_248z$f = ".ff-card-container {\n
|
33631
|
+
var css_248z$f = ".ff-card-container {\n height: 78px;\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n}\n.ff-card-container:hover.passed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.failed {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.warning {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.skipped {\n border-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.flaky {\n border-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container .ff-status-bar {\n width: 12%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n border-right: 1px solid var(--border-color);\n gap: 17px;\n}\n.ff-card-container .ff-status-bar .ff-status-text {\n transform: rotate(-90deg);\n transform-origin: center;\n display: inline-block;\n}\n.ff-card-container.passed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.failed .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.warning .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.skipped .ff-status-bar {\n background-color: var(--ff-card-skipped-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.flaky .ff-status-bar {\n background-color: var(--ff-card-flaky-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container .ff-content {\n flex: 1;\n padding: 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.ff-card-container .ff-content .ff-number {\n margin-bottom: 4px;\n color: inherit;\n}\n.ff-card-container.passed .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-number {\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-number {\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.toggled.passed .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.toggled.failed .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.toggled.warning .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.toggled.skipped .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.toggled.flaky .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.toggled.passed .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.toggled.failed .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.toggled.warning .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.toggled.skipped .ff-content {\n background-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.toggled.flaky .ff-content {\n background-color: var(--ff-card-flaky-status-bg-color);\n}";
|
33535
33632
|
styleInject(css_248z$f);
|
33536
33633
|
|
33537
33634
|
const StatusCard = ({
|
33538
33635
|
icon,
|
33539
33636
|
status,
|
33540
33637
|
count,
|
33541
|
-
text
|
33638
|
+
text,
|
33639
|
+
style = {
|
33640
|
+
width: '196.4px'
|
33641
|
+
},
|
33642
|
+
onSelectedStatus = _status => {}
|
33542
33643
|
}) => {
|
33644
|
+
const [isToggled, setIsToggled] = React.useState(false);
|
33645
|
+
const handleSelectStatus = status => {
|
33646
|
+
setIsToggled(true);
|
33647
|
+
onSelectedStatus(status);
|
33648
|
+
};
|
33543
33649
|
return jsxRuntime.jsxs("div", {
|
33544
|
-
className: `ff-card-container ${status.toLowerCase()}`,
|
33650
|
+
className: `ff-card-container ${status.toLowerCase()} ${isToggled ? 'toggled' : ''}`,
|
33651
|
+
style: style,
|
33652
|
+
onClick: () => handleSelectStatus(status),
|
33545
33653
|
children: [jsxRuntime.jsxs("div", {
|
33546
33654
|
className: "ff-status-bar",
|
33547
33655
|
children: [jsxRuntime.jsx("div", {
|
@@ -33554,7 +33662,6 @@ const StatusCard = ({
|
|
33554
33662
|
}), jsxRuntime.jsx(Typography, {
|
33555
33663
|
fontWeight: "semi-bold",
|
33556
33664
|
fontSize: "10px",
|
33557
|
-
color: "var(--ff-status-card-text-color)",
|
33558
33665
|
textAlign: "center",
|
33559
33666
|
lineHeight: "15px",
|
33560
33667
|
className: "ff-status-text",
|
@@ -33568,13 +33675,14 @@ const StatusCard = ({
|
|
33568
33675
|
fontSize: "24px",
|
33569
33676
|
className: "ff-number",
|
33570
33677
|
lineHeight: "36px",
|
33678
|
+
color: isToggled ? 'var(--base-bg-color)' : '',
|
33571
33679
|
children: count
|
33572
33680
|
}), jsxRuntime.jsx(Typography, {
|
33573
33681
|
fontWeight: "regular",
|
33574
33682
|
fontSize: "10px",
|
33575
33683
|
className: "ff-text",
|
33576
33684
|
lineHeight: "15px",
|
33577
|
-
color:
|
33685
|
+
color: isToggled ? 'var(--base-bg-color)' : 'var(--ff-card-status-text-color)',
|
33578
33686
|
children: text
|
33579
33687
|
})]
|
33580
33688
|
})]
|
@@ -39635,7 +39743,8 @@ const BarChart = ({
|
|
39635
39743
|
icons = [],
|
39636
39744
|
iconSize,
|
39637
39745
|
legendPosition = 'bottom',
|
39638
|
-
legendGap = 5
|
39746
|
+
legendGap = 5,
|
39747
|
+
onSelectedBar = _label => {}
|
39639
39748
|
}) => {
|
39640
39749
|
const [tooltip, setTooltip] = React.useState({
|
39641
39750
|
visible: false,
|
@@ -39693,6 +39802,9 @@ const BarChart = ({
|
|
39693
39802
|
borderColor: 'transparent'
|
39694
39803
|
});
|
39695
39804
|
};
|
39805
|
+
const handleSelectLabel = label => {
|
39806
|
+
onSelectedBar(label);
|
39807
|
+
};
|
39696
39808
|
return jsxRuntime.jsxs("div", {
|
39697
39809
|
className: "ff-bar-chart-container",
|
39698
39810
|
style: {
|
@@ -39767,7 +39879,8 @@ const BarChart = ({
|
|
39767
39879
|
ry: barBorderRadius,
|
39768
39880
|
onMouseEnter: e => handleMouseEnter(e, item.label, item.value, getBorderColor(index)),
|
39769
39881
|
onMouseMove: handleMouseMove,
|
39770
|
-
onMouseLeave: handleMouseLeave
|
39882
|
+
onMouseLeave: handleMouseLeave,
|
39883
|
+
onClick: () => handleSelectLabel(item.label)
|
39771
39884
|
}), showXAxisLabels && jsxRuntime.jsx("text", {
|
39772
39885
|
x: barX + barWidth / 2,
|
39773
39886
|
y: height + topPadding + 15,
|