@epam/uui 6.3.2 → 6.4.0
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/components/datePickers/DatePicker.d.ts.map +1 -1
- package/components/datePickers/DatePickerBody.d.ts +5 -0
- package/components/datePickers/DatePickerBody.d.ts.map +1 -1
- package/components/datePickers/RangeDatePicker.d.ts.map +1 -1
- package/components/datePickers/RangeDatePickerBody.d.ts +1 -1
- package/components/datePickers/RangeDatePickerBody.d.ts.map +1 -1
- package/components/datePickers/RangeDatePickerInput.d.ts.map +1 -1
- package/components/datePickers/helpers.d.ts +2 -1
- package/components/datePickers/helpers.d.ts.map +1 -1
- package/components/filters/FilterPickerBody.d.ts.map +1 -1
- package/components/inputs/timePicker/TimePicker.d.ts.map +1 -1
- package/components/layout/LabeledInput.d.ts.map +1 -1
- package/components/navigation/Anchor.d.ts +3 -1
- package/components/navigation/Anchor.d.ts.map +1 -1
- package/components/navigation/MainMenu/Burger/BurgerButton.d.ts +3 -1
- package/components/navigation/MainMenu/Burger/BurgerButton.d.ts.map +1 -1
- package/components/navigation/MainMenu/MainMenuDropdown.d.ts.map +1 -1
- package/components/navigation/MainMenu/MainMenuIcon.d.ts +3 -1
- package/components/navigation/MainMenu/MainMenuIcon.d.ts.map +1 -1
- package/components/pickers/DataPickerBody.d.ts +6 -1
- package/components/pickers/DataPickerBody.d.ts.map +1 -1
- package/components/pickers/DataPickerRow.d.ts.map +1 -1
- package/components/pickers/PickerBodyMobileView.d.ts +2 -1
- package/components/pickers/PickerBodyMobileView.d.ts.map +1 -1
- package/components/pickers/PickerInput.d.ts +2 -2
- package/components/pickers/PickerInput.d.ts.map +1 -1
- package/components/pickers/PickerModal.d.ts.map +1 -1
- package/components/tables/DataTableHeaderCell.d.ts +1 -1
- package/components/tables/DataTableHeaderCell.d.ts.map +1 -1
- package/components/tables/DataTableHeaderRow.d.ts.map +1 -1
- package/components/widgets/DataRowAddons.d.ts.map +1 -1
- package/components/widgets/Paginator.d.ts.map +1 -1
- package/components/widgets/Tag.d.ts.map +1 -1
- package/index.esm.js +326 -192
- package/index.esm.js.map +1 -1
- package/index.js +324 -190
- package/index.js.map +1 -1
- package/package.json +5 -5
- package/stats.html +1 -19
- package/styles.css +1796 -1098
- package/styles.css.map +1 -1
package/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as uuiComponents from '@epam/uui-components';
|
|
2
|
-
import { Spinner as Spinner$1, Blocker as Blocker$1, Clickable, IconContainer, AvatarStack as AvatarStack$1, Paginator as Paginator$1, RadioInput as RadioInput$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, Dropdown as Dropdown$1, InputAddon as InputAddon$1, Slider as Slider$1, DragHandle, Anchor as Anchor$1, FlexSpacer, Text as Text$1, FlexCell as FlexCell$1, VPanel, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, Snackbar as Snackbar$1, Calendar as Calendar$1, YearSelection, MonthSelection, Day, uuiDaySelection, Avatar, usePickerModal, handleDataSourceKeyboard, PickerToggler as PickerToggler$1, usePickerInput, usePickerList, DataTableCell as DataTableCell$1, DataTableRow as DataTableRow$1, DataTableCellContainer, DataTableHeaderCell as DataTableHeaderCell$1, DataTableHeaderRow as DataTableHeaderRow$1, useColumnsConfiguration, Accordion as Accordion$1, DataTableSelectionProvider, DataTableFocusProvider, useShowSelected, usePickerApi, AdaptivePanel, Burger as Burger$1, Button as Button$1, DropSpot as DropSpot$1, UploadFileToggler, ErrorCatch } from '@epam/uui-components';
|
|
2
|
+
import { Spinner as Spinner$1, Blocker as Blocker$1, Clickable, IconContainer, AvatarStack as AvatarStack$1, ControlIcon, Paginator as Paginator$1, RadioInput as RadioInput$1, TextInput as TextInput$1, ControlGroup as ControlGroup$1, NumericInput as NumericInput$1, TextArea as TextArea$1, Dropdown as Dropdown$1, InputAddon as InputAddon$1, Slider as Slider$1, DragHandle, Anchor as Anchor$1, FlexSpacer, Text as Text$1, FlexCell as FlexCell$1, VPanel, ModalBlocker as ModalBlocker$1, ModalWindow as ModalWindow$1, Snackbar as Snackbar$1, Calendar as Calendar$1, YearSelection, MonthSelection, Day, uuiDaySelection, Avatar, usePickerModal, handleDataSourceKeyboard, PickerToggler as PickerToggler$1, usePickerInput, usePickerList, DataTableCell as DataTableCell$1, DataTableRow as DataTableRow$1, DataTableCellContainer, DataTableHeaderCell as DataTableHeaderCell$1, DataTableHeaderRow as DataTableHeaderRow$1, useColumnsConfiguration, Accordion as Accordion$1, DataTableSelectionProvider, DataTableFocusProvider, useShowSelected, usePickerApi, AdaptivePanel, Burger as Burger$1, Button as Button$1, DropSpot as DropSpot$1, UploadFileToggler, ErrorCatch } from '@epam/uui-components';
|
|
3
3
|
export { Avatar, DataTableCellContainer, FlexSpacer, IconContainer, MainMenuCustomElement, MainMenuLogo } from '@epam/uui-components';
|
|
4
|
-
import { withMods, devLogger, uuiElement, useIsActive, uuiMod, cx as cx$1, uuiMarkers, IEditableDebouncer,
|
|
4
|
+
import { withMods, devLogger, uuiElement, useIsActive, uuiMod, cx as cx$1, uuiMarkers, IEditableDebouncer, UuiContext, getDir, isEventTargetInsideClickable, directionMode, useScrollShadows, useVirtualList, isMobile, i18n as i18n$1, useUuiContext, useLayoutEffectSafeForSsr, usePrevious, mobilePositioning, uuiDataTableHeaderCell, uuiDataTableHeaderGroupCell, DndActor, uuiDndState, useColumnsConfig, uuiScrollShadows, useForceUpdate, getSeparatedValue, useArrayDataSource, orderBy, getOrderBetween, Form as Form$1, useForm as useForm$1, formatBytes, useUuiError } from '@epam/uui-core';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import React__default, { forwardRef, useState, useEffect, useContext, useRef, useImperativeHandle, useMemo, useReducer, useCallback, Fragment } from 'react';
|
|
7
7
|
import cx from 'classnames';
|
|
@@ -15,8 +15,8 @@ import updateLocale from 'dayjs/plugin/updateLocale.js';
|
|
|
15
15
|
import objectSupport from 'dayjs/plugin/objectSupport';
|
|
16
16
|
import customParseFormat from 'dayjs/plugin/customParseFormat.js';
|
|
17
17
|
import isoWeek from 'dayjs/plugin/isoWeek.js';
|
|
18
|
-
import { useOverlayScrollbars } from 'overlayscrollbars-react';
|
|
19
18
|
import isEqual from 'react-fast-compare';
|
|
19
|
+
import { useOverlayScrollbars } from 'overlayscrollbars-react';
|
|
20
20
|
import FocusLock, { MoveFocusInside } from 'react-focus-lock';
|
|
21
21
|
|
|
22
22
|
var _path$Q;
|
|
@@ -156,7 +156,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
|
|
|
156
156
|
xmlns: "http://www.w3.org/2000/svg",
|
|
157
157
|
ref: ref
|
|
158
158
|
}, props), /*#__PURE__*/React.createElement("g", {
|
|
159
|
-
clipPath: "url(#
|
|
159
|
+
clipPath: "url(#790hffa01mx0vyggb_a)"
|
|
160
160
|
}, _path$I || (_path$I = /*#__PURE__*/React.createElement("path", {
|
|
161
161
|
d: "M150.585 1.535C49.483-11.495 27.481 61.805 45.725 97.481c10.581 20.69-39.64 70.792 17.744 81.468 27.538 5.123 36-13.341 62.433-10.655 35.4 3.6 148.167-4.73 88.349-78.915-31.713-39.335 1.026-79.506-63.666-87.844Z",
|
|
162
162
|
fill: "#F5F6FA"
|
|
@@ -177,7 +177,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
|
|
|
177
177
|
d: "M86.786 22.982c-2.55 0-4.965 2.07-4.965 4.552V120.6c0 2.484 2.4 4.572 4.965 4.572h88.101c2.582 0 4.986-2.089 4.986-4.572V27.534c0-2.464-2.418-4.552-4.986-4.552h-88.1Zm-5.793 4.552c0-3.022 2.874-5.38 5.793-5.38h88.101c2.935 0 5.814 2.374 5.814 5.38V120.6c0 3.021-2.86 5.4-5.814 5.4h-88.1c-2.94 0-5.794-2.381-5.794-5.4V27.534Z",
|
|
178
178
|
fill: "#1D1E26"
|
|
179
179
|
})), /*#__PURE__*/React.createElement("mask", {
|
|
180
|
-
id: "
|
|
180
|
+
id: "790hffb0gk95p6g05_b",
|
|
181
181
|
style: {
|
|
182
182
|
maskType: "alpha"
|
|
183
183
|
},
|
|
@@ -190,7 +190,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
|
|
|
190
190
|
d: "M174.887 125.586h-88.1c-2.752 0-5.38-2.234-5.38-4.986V27.534c0-2.752 2.644-4.966 5.38-4.966h88.1c2.752 0 5.4 2.23 5.4 4.966V120.6c0 2.752-2.632 4.986-5.4 4.986Z",
|
|
191
191
|
fill: "#9BDEFF"
|
|
192
192
|
}))), _g || (_g = /*#__PURE__*/React.createElement("g", {
|
|
193
|
-
mask: "url(#
|
|
193
|
+
mask: "url(#790hffb0gk95p6g05_b)",
|
|
194
194
|
fillRule: "evenodd",
|
|
195
195
|
clipRule: "evenodd"
|
|
196
196
|
}, /*#__PURE__*/React.createElement("path", {
|
|
@@ -276,7 +276,7 @@ var SvgEmptyTable = function SvgEmptyTable(props, ref) {
|
|
|
276
276
|
d: "M24.73 96.184a.414.414 0 0 1 .581.06l48.646 59.751a.413.413 0 1 1-.642.523L24.67 96.766a.414.414 0 0 1 .06-.582Z",
|
|
277
277
|
fill: "#fff"
|
|
278
278
|
}))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
|
|
279
|
-
id: "
|
|
279
|
+
id: "790hffa01mx0vyggb_a"
|
|
280
280
|
}, /*#__PURE__*/React.createElement("path", {
|
|
281
281
|
fill: "#fff",
|
|
282
282
|
transform: "translate(.552)",
|
|
@@ -927,14 +927,14 @@ var SvgSearchWithBackground = function SvgSearchWithBackground(props, ref) {
|
|
|
927
927
|
};
|
|
928
928
|
var ForwardRef$4 = /*#__PURE__*/forwardRef(SvgSearchWithBackground);
|
|
929
929
|
|
|
930
|
-
var css$1w = {"root":"
|
|
930
|
+
var css$1w = {"root":"bEz5fb","uui-spinner":"Wl7p2-","uuiSpinner":"Wl7p2-"};
|
|
931
931
|
|
|
932
932
|
function applySpinnerMods() {
|
|
933
933
|
return [css$1w.root, 'uui-spinner'];
|
|
934
934
|
}
|
|
935
935
|
const Spinner = /* @__PURE__ */withMods(Spinner$1, applySpinnerMods);
|
|
936
936
|
|
|
937
|
-
var css$1v = {"root":"
|
|
937
|
+
var css$1v = {"root":"-uQdeS","loading-word":"rRUz6U","loadingWord":"rRUz6U","animated-loading":"LMeA8O","animatedLoading":"LMeA8O","skeleton_loading":"SydgTz","skeletonLoading":"SydgTz"};
|
|
938
938
|
|
|
939
939
|
const TextPlaceholder = (props) => {
|
|
940
940
|
const pattern = ' ';
|
|
@@ -951,7 +951,7 @@ const TextPlaceholder = (props) => {
|
|
|
951
951
|
]), dangerouslySetInnerHTML: { __html: it } })))));
|
|
952
952
|
};
|
|
953
953
|
|
|
954
|
-
var css$1u = {"root":"
|
|
954
|
+
var css$1u = {"root":"L47xZm","line-height":"O1zr-h","lineHeight":"O1zr-h","font-size":"_8psQnn","fontSize":"_8psQnn"};
|
|
955
955
|
|
|
956
956
|
function applyTextMods(mods) {
|
|
957
957
|
return [
|
|
@@ -978,7 +978,7 @@ const Text = /* @__PURE__ */withMods(uuiComponents.Text, applyTextMods, (props)
|
|
|
978
978
|
};
|
|
979
979
|
});
|
|
980
980
|
|
|
981
|
-
var css$1t = {"root":"
|
|
981
|
+
var css$1t = {"root":"viH-21"};
|
|
982
982
|
|
|
983
983
|
const Blocker = /* @__PURE__ */withMods(Blocker$1, () => [css$1t.root], () => ({ renderSpinner: settings.blocker.renderSpinner }));
|
|
984
984
|
|
|
@@ -1483,7 +1483,7 @@ const settings = {
|
|
|
1483
1483
|
textInput: textInputSettings,
|
|
1484
1484
|
};
|
|
1485
1485
|
|
|
1486
|
-
var css$1s = {"root":"
|
|
1486
|
+
var css$1s = {"root":"C3zmGr"};
|
|
1487
1487
|
|
|
1488
1488
|
function applyButtonMods(mods) {
|
|
1489
1489
|
return [
|
|
@@ -1501,7 +1501,7 @@ const Button = /* @__PURE__ */withMods(uuiComponents.Button, applyButtonMods, ()
|
|
|
1501
1501
|
};
|
|
1502
1502
|
});
|
|
1503
1503
|
|
|
1504
|
-
var css$1r = {"root":"
|
|
1504
|
+
var css$1r = {"root":"TMcx7u"};
|
|
1505
1505
|
|
|
1506
1506
|
function applyIconButtonMods(props) {
|
|
1507
1507
|
return ['uui-icon_button', `uui-color-${props.color || 'neutral'}`, css$1r.root];
|
|
@@ -1538,7 +1538,7 @@ function getIconClass(props) {
|
|
|
1538
1538
|
return [classList['has-left-icon'] ? 'uui-has-left-icon' : 'uui-no-left-icon', classList['has-right-icon'] ? 'uui-has-right-icon' : 'uui-no-right-icon'];
|
|
1539
1539
|
}
|
|
1540
1540
|
|
|
1541
|
-
var css$1q = {"root":"
|
|
1541
|
+
var css$1q = {"root":"ASLyUA"};
|
|
1542
1542
|
|
|
1543
1543
|
const DEFAULT_COLOR = 'primary';
|
|
1544
1544
|
const LinkButton = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
@@ -1568,7 +1568,7 @@ const LinkButton = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
|
1568
1568
|
props.isDropdown && (React.createElement(IconContainer, { icon: DropdownIcon, flipY: props.isOpen }))));
|
|
1569
1569
|
});
|
|
1570
1570
|
|
|
1571
|
-
var css$1p = {"root":"
|
|
1571
|
+
var css$1p = {"root":"aKtP8i"};
|
|
1572
1572
|
|
|
1573
1573
|
const CountIndicator = /* @__PURE__ */forwardRef((props, ref) => {
|
|
1574
1574
|
return (React__default.createElement("div", { ref: ref, className: cx([
|
|
@@ -1580,7 +1580,7 @@ const CountIndicator = /* @__PURE__ */forwardRef((props, ref) => {
|
|
|
1580
1580
|
]) }, props.caption));
|
|
1581
1581
|
});
|
|
1582
1582
|
|
|
1583
|
-
var css$1o = {"root":"
|
|
1583
|
+
var css$1o = {"root":"ykvezi","withNotify":"c8Tede"};
|
|
1584
1584
|
|
|
1585
1585
|
const TabButton = /* @__PURE__ */React__default.forwardRef((props, refExternal) => {
|
|
1586
1586
|
const refLocal = React__default.useRef(null);
|
|
@@ -1627,13 +1627,13 @@ const TabButton = /* @__PURE__ */React__default.forwardRef((props, refExternal)
|
|
|
1627
1627
|
props.onClear && !props.isDisabled && (React__default.createElement(IconContainer, { cx: uuiMarkers.clickable, icon: ClearIcon, onClick: props.onClear }))));
|
|
1628
1628
|
});
|
|
1629
1629
|
|
|
1630
|
-
var css$1n = {"root":"
|
|
1630
|
+
var css$1n = {"root":"YOg-TX","noLeftPadding":"_3r1Et-","foldingArea":"_3p80ni","onlyFoldable":"bFtqXf","captionWrapper":"ejPkcT","withNotify":"p3cpn4"};
|
|
1631
1631
|
|
|
1632
|
-
var css$1m = {"root":"
|
|
1632
|
+
var css$1m = {"root":"V2PJ62"};
|
|
1633
1633
|
|
|
1634
1634
|
const AvatarStack = /* @__PURE__ */withMods(AvatarStack$1, () => [css$1m.root]);
|
|
1635
1635
|
|
|
1636
|
-
var css$1l = {"root":"
|
|
1636
|
+
var css$1l = {"root":"mnNu-T"};
|
|
1637
1637
|
|
|
1638
1638
|
const DEFAULT_FILL = 'solid';
|
|
1639
1639
|
function applyBadgeMods(mods) {
|
|
@@ -1661,7 +1661,7 @@ const Badge = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
|
1661
1661
|
props.isDropdown && (React__default.createElement(IconContainer, { icon: DropdownIcon, flipY: props.isOpen }))));
|
|
1662
1662
|
});
|
|
1663
1663
|
|
|
1664
|
-
var css$1k = {"root":"
|
|
1664
|
+
var css$1k = {"root":"Mjetxg"};
|
|
1665
1665
|
|
|
1666
1666
|
function applyTagMods(props) {
|
|
1667
1667
|
return [
|
|
@@ -1676,44 +1676,58 @@ const Tag = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
|
1676
1676
|
const styles = [applyTagMods(props), props.cx];
|
|
1677
1677
|
const ClearIcon = props.clearIcon ? props.clearIcon : settings.tag.icons.clearIcon;
|
|
1678
1678
|
const DropdownIcon = props.dropdownIcon ? props.dropdownIcon : settings.tag.icons.dropdownIcon;
|
|
1679
|
+
const icon = (React__default.createElement(ControlIcon, { icon: props.icon, onClick: props.onIconClick, isDisabled: props.isDisabled, rawProps: {
|
|
1680
|
+
'aria-label': 'Icon in input',
|
|
1681
|
+
} }));
|
|
1679
1682
|
return (React__default.createElement(Clickable, { ...props, rawProps: {
|
|
1680
1683
|
'aria-haspopup': props.isDropdown,
|
|
1681
1684
|
'aria-expanded': props.isOpen,
|
|
1682
1685
|
...props.rawProps,
|
|
1683
1686
|
}, cx: styles, ref: ref },
|
|
1684
|
-
props.
|
|
1687
|
+
props.iconPosition !== 'right' && icon,
|
|
1685
1688
|
props.caption && (React__default.createElement("div", { className: uuiElement.caption }, props.caption)),
|
|
1686
1689
|
props.count !== undefined && props.count !== null && (React__default.createElement(CountIndicator, { color: (!props.color || props.color === 'neutral') ? 'white' : props.color, size: settings.tag.sizes.countIndicatorMap[(props.size || settings.tag.sizes.default)], caption: props.count })),
|
|
1687
|
-
props.
|
|
1688
|
-
props.isDropdown && (React__default.createElement(
|
|
1689
|
-
props.onClear && !props.isDisabled && (React__default.createElement(
|
|
1690
|
+
props.iconPosition === 'right' && icon,
|
|
1691
|
+
props.isDropdown && (React__default.createElement(ControlIcon, { icon: DropdownIcon, flipY: props.isOpen })),
|
|
1692
|
+
props.onClear && !props.isDisabled && (React__default.createElement(ControlIcon, { cx: "uui-icon-cancel", icon: ClearIcon, onClick: props.onClear, rawProps: {
|
|
1693
|
+
'aria-label': 'Remove tag',
|
|
1694
|
+
} }))));
|
|
1690
1695
|
});
|
|
1691
1696
|
|
|
1692
|
-
var css$1j = {"root":"
|
|
1697
|
+
var css$1j = {"root":"-vpinZ","page":"o-w7Je","spacer":"Ygo3I4","mode-ghost":"HwVqRi","modeGhost":"HwVqRi"};
|
|
1693
1698
|
|
|
1694
1699
|
function Paginator(props) {
|
|
1695
|
-
const renderPaginator = (params) => (React__default.createElement("nav", { role: "navigation", className: cx(
|
|
1696
|
-
React__default.createElement(
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1700
|
+
const renderPaginator = (params) => (React__default.createElement("nav", { role: "navigation", className: cx('uui-paginator', `uui-size-${props.size || settings.paginator.sizes.default}`), ...params.rawProps },
|
|
1701
|
+
React__default.createElement("ul", { className: css$1j.root },
|
|
1702
|
+
React__default.createElement("li", null,
|
|
1703
|
+
React__default.createElement(Button, { size: props.size || settings.paginator.sizes.default, icon: settings.paginator.icons.leftArrowIcon, onClick: params.goToPrev, isDisabled: params.isFirst || props.isDisabled, fill: "outline", color: "secondary", rawProps: {
|
|
1704
|
+
'aria-label': 'Previous page',
|
|
1705
|
+
} })),
|
|
1706
|
+
params.pages.map((page, index) => {
|
|
1707
|
+
if (page.type === 'spacer') {
|
|
1708
|
+
return (React__default.createElement("li", { key: `${index}_spacer` },
|
|
1709
|
+
React__default.createElement(Button, { cx: cx(css$1j.spacer, css$1j.page), size: props.size || settings.paginator.sizes.default, caption: "...", fill: "ghost", color: "secondary", tabIndex: -1, isDisabled: props.isDisabled })));
|
|
1710
|
+
}
|
|
1711
|
+
else {
|
|
1712
|
+
return (React__default.createElement("li", { key: page.pageNumber },
|
|
1713
|
+
React__default.createElement(Button, { cx: cx(css$1j[`mode-${!page.isActive && 'ghost'}`], css$1j.page), size: props.size || settings.paginator.sizes.default, caption: page.pageNumber, onClick: () => page.onClick?.(), rawProps: { 'aria-current': page.isActive }, fill: (page.isActive && 'outline') || 'ghost', color: "primary", isDisabled: props.isDisabled })));
|
|
1714
|
+
}
|
|
1715
|
+
}),
|
|
1716
|
+
React__default.createElement("li", null,
|
|
1717
|
+
React__default.createElement(Button, { size: props.size || settings.paginator.sizes.default, icon: settings.paginator.icons.rightArrowIcon, onClick: params.goToNext, isDisabled: params.isLast || props.isDisabled, fill: "outline", color: "secondary", rawProps: {
|
|
1718
|
+
'aria-label': 'Next page',
|
|
1719
|
+
} })))));
|
|
1706
1720
|
return React__default.createElement(Paginator$1, { ...props, render: renderPaginator });
|
|
1707
1721
|
}
|
|
1708
1722
|
|
|
1709
|
-
var css$1i = {"root":"
|
|
1723
|
+
var css$1i = {"root":"lpQGb8","progress-bar":"kHMnWm","progressBar":"kHMnWm","progressBar-indeterminate":"K5zhsI","progressBarIndeterminate":"K5zhsI","size-12":"DTvp79","size12":"DTvp79","size-18":"_4pjzqt","size18":"_4pjzqt","size-24":"jC7Acx","size24":"jC7Acx"};
|
|
1710
1724
|
|
|
1711
1725
|
const IndeterminateBar = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
1712
1726
|
return (React.createElement("div", { ref: ref, className: cx('uui-indeterminate_bar', props.cx, css$1i.root, css$1i[`size-${props.size || 12}`]) },
|
|
1713
1727
|
React.createElement("div", { className: cx(css$1i.progressBar) })));
|
|
1714
1728
|
});
|
|
1715
1729
|
|
|
1716
|
-
var css$1h = {"root":"
|
|
1730
|
+
var css$1h = {"root":"_2iI23M","striped":"uV9JJi","animate-stripes":"hExMvK","animateStripes":"hExMvK","size-12":"_2hpJSw","size12":"_2hpJSw","size-18":"FGR7MH","size18":"FGR7MH","size-24":"l5FX4c","size24":"l5FX4c"};
|
|
1717
1731
|
|
|
1718
1732
|
const DEFAULT_SIZE = '12';
|
|
1719
1733
|
function applyProgressBarMods(mods) {
|
|
@@ -1728,14 +1742,14 @@ const ProgressBar = /* @__PURE__ */withMods(uuiComponents.ProgressBar, applyProg
|
|
|
1728
1742
|
hideLabel: props.hideLabel || props.striped,
|
|
1729
1743
|
}));
|
|
1730
1744
|
|
|
1731
|
-
var css$1g = {"root":"
|
|
1745
|
+
var css$1g = {"root":"_6erezJ"};
|
|
1732
1746
|
|
|
1733
1747
|
const IndicatorBar = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
1734
1748
|
const { progress } = props;
|
|
1735
1749
|
return progress || progress === 0 ? (React.createElement(ProgressBar, { ref: ref, progress: progress, cx: cx(css$1g.root, props.cx), hideLabel: true })) : (React.createElement(IndeterminateBar, { ref: ref, cx: cx(css$1g.root, props.cx) }));
|
|
1736
1750
|
});
|
|
1737
1751
|
|
|
1738
|
-
var css$1f = {"root":"
|
|
1752
|
+
var css$1f = {"root":"Hb7eZm"};
|
|
1739
1753
|
|
|
1740
1754
|
const StatusIndicator = /* @__PURE__ */forwardRef((props, ref) => {
|
|
1741
1755
|
return (React__default.createElement("div", { ref: ref, className: cx([
|
|
@@ -1750,7 +1764,7 @@ const StatusIndicator = /* @__PURE__ */forwardRef((props, ref) => {
|
|
|
1750
1764
|
React__default.createElement("p", { className: "uui-status_indicator-caption" }, props.caption)));
|
|
1751
1765
|
});
|
|
1752
1766
|
|
|
1753
|
-
var css$1e = {"root":"
|
|
1767
|
+
var css$1e = {"root":"_4KYo5h"};
|
|
1754
1768
|
|
|
1755
1769
|
function applyCheckboxMods(mods) {
|
|
1756
1770
|
return [
|
|
@@ -1768,7 +1782,7 @@ const applyUUICheckboxProps = (props) => {
|
|
|
1768
1782
|
};
|
|
1769
1783
|
const Checkbox = /* @__PURE__ */withMods(uuiComponents.Checkbox, applyCheckboxMods, applyUUICheckboxProps);
|
|
1770
1784
|
|
|
1771
|
-
var css$1d = {"root":"
|
|
1785
|
+
var css$1d = {"root":"_-7C2gw"};
|
|
1772
1786
|
|
|
1773
1787
|
function applyRadioInputMods(mods) {
|
|
1774
1788
|
return [
|
|
@@ -1780,7 +1794,7 @@ function applyRadioInputMods(mods) {
|
|
|
1780
1794
|
}
|
|
1781
1795
|
const RadioInput = /* @__PURE__ */withMods(RadioInput$1, applyRadioInputMods, (props) => ({ icon: props.icon ? props.icon : settings.radioInput.icons.dotIcon }));
|
|
1782
1796
|
|
|
1783
|
-
var css$1c = {"root":"
|
|
1797
|
+
var css$1c = {"root":"mDpAAT"};
|
|
1784
1798
|
|
|
1785
1799
|
function applySwitchMods(mods) {
|
|
1786
1800
|
return [
|
|
@@ -1804,7 +1818,7 @@ var EditMode;
|
|
|
1804
1818
|
EditMode["INLINE"] = "inline";
|
|
1805
1819
|
})(EditMode || (EditMode = {}));
|
|
1806
1820
|
|
|
1807
|
-
var textInputCss = {"root":"
|
|
1821
|
+
var textInputCss = {"root":"t7Jexk"};
|
|
1808
1822
|
|
|
1809
1823
|
const DEFAULT_MODE$3 = EditMode.FORM;
|
|
1810
1824
|
function applyTextInputMods(mods) {
|
|
@@ -1829,7 +1843,7 @@ const SearchInput = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
|
1829
1843
|
} }));
|
|
1830
1844
|
});
|
|
1831
1845
|
|
|
1832
|
-
var css$1b = {"root":"
|
|
1846
|
+
var css$1b = {"root":"W4NDrH"};
|
|
1833
1847
|
|
|
1834
1848
|
const ControlGroup = /* @__PURE__ */withMods(ControlGroup$1, () => [css$1b.root, 'uui-control-group']);
|
|
1835
1849
|
|
|
@@ -1845,7 +1859,7 @@ function MultiSwitchComponent(props, ref) {
|
|
|
1845
1859
|
}
|
|
1846
1860
|
const MultiSwitch = /* @__PURE__ */React.forwardRef(MultiSwitchComponent);
|
|
1847
1861
|
|
|
1848
|
-
var css$1a = {"root":"
|
|
1862
|
+
var css$1a = {"root":"_4dqBf3"};
|
|
1849
1863
|
|
|
1850
1864
|
const DEFAULT_MODE$2 = EditMode.FORM;
|
|
1851
1865
|
function applyNumericInputMods(mods) {
|
|
@@ -1865,7 +1879,7 @@ const NumericInput = /* @__PURE__ */withMods(NumericInput$1, applyNumericInputMo
|
|
|
1865
1879
|
};
|
|
1866
1880
|
});
|
|
1867
1881
|
|
|
1868
|
-
var css$19 = {"root":"
|
|
1882
|
+
var css$19 = {"root":"BNWkCm"};
|
|
1869
1883
|
|
|
1870
1884
|
const DEFAULT_MODE$1 = EditMode.FORM;
|
|
1871
1885
|
function applyTextAreaMods(mods) {
|
|
@@ -1906,7 +1920,7 @@ function TREE_SHAKEABLE_INIT$1() {
|
|
|
1906
1920
|
};
|
|
1907
1921
|
}
|
|
1908
1922
|
|
|
1909
|
-
var css$18 = {"root":"
|
|
1923
|
+
var css$18 = {"root":"JPwLks"};
|
|
1910
1924
|
|
|
1911
1925
|
function applyDropdownContainerMods(mods) {
|
|
1912
1926
|
return [
|
|
@@ -1917,7 +1931,7 @@ function applyDropdownContainerMods(mods) {
|
|
|
1917
1931
|
}
|
|
1918
1932
|
const DropdownContainer = /* @__PURE__ */withMods(uuiComponents.DropdownContainer, applyDropdownContainerMods);
|
|
1919
1933
|
|
|
1920
|
-
var css$17 = {"root":"
|
|
1934
|
+
var css$17 = {"root":"v1laBj","timepicker-input":"_6RNYsC","timepickerInput":"_6RNYsC","ltr-always":"iNxk49","ltrAlways":"iNxk49"};
|
|
1921
1935
|
|
|
1922
1936
|
const uuiTimePicker = {
|
|
1923
1937
|
container: 'uui-timepicker-container',
|
|
@@ -2023,7 +2037,7 @@ const formatTime = (hours, minutes, meridian, format) => {
|
|
|
2023
2037
|
|
|
2024
2038
|
const DEFAULT_MODE = EditMode.FORM;
|
|
2025
2039
|
const valueToTimeString = (value, format) => {
|
|
2026
|
-
if (value === null)
|
|
2040
|
+
if (value === null || (value?.hours === null && value?.minutes === null))
|
|
2027
2041
|
return null;
|
|
2028
2042
|
return uuiDayjs.dayjs()
|
|
2029
2043
|
.set(value)
|
|
@@ -2035,6 +2049,7 @@ function TimePickerComponent(props, ref) {
|
|
|
2035
2049
|
value: valueToTimeString(props.value, props.format),
|
|
2036
2050
|
inputValue: valueToTimeString(props.value, props.format),
|
|
2037
2051
|
});
|
|
2052
|
+
const targetRef = React__default.useRef(null);
|
|
2038
2053
|
useEffect(() => {
|
|
2039
2054
|
if (valueToTimeString(props.value, props.format) !== state.value) {
|
|
2040
2055
|
const stringValue = valueToTimeString(props.value, props.format);
|
|
@@ -2056,13 +2071,17 @@ function TimePickerComponent(props, ref) {
|
|
|
2056
2071
|
};
|
|
2057
2072
|
const onClear = () => {
|
|
2058
2073
|
props.onValueChange(null);
|
|
2074
|
+
setState((prevState) => ({ ...prevState, value: null, inputValue: null }));
|
|
2059
2075
|
};
|
|
2060
2076
|
const onToggle = (value) => {
|
|
2061
2077
|
setState((prevState) => ({ ...prevState, isOpen: value }));
|
|
2062
2078
|
};
|
|
2063
2079
|
const saveTime = (newTime) => {
|
|
2064
2080
|
setState((prevState) => ({ ...prevState, inputValue: newTime }));
|
|
2065
|
-
|
|
2081
|
+
const newValue = formatStringTimeToObject(newTime);
|
|
2082
|
+
if (!isEqual(props.value, newValue)) {
|
|
2083
|
+
props.onValueChange(formatStringTimeToObject(newTime));
|
|
2084
|
+
}
|
|
2066
2085
|
};
|
|
2067
2086
|
const getTimeFromInputValue = (newValue) => {
|
|
2068
2087
|
const trimmedNewValue = newValue.trimStart();
|
|
@@ -2076,7 +2095,6 @@ function TimePickerComponent(props, ref) {
|
|
|
2076
2095
|
saveTime(inputValue);
|
|
2077
2096
|
};
|
|
2078
2097
|
const handleFocus = (e) => {
|
|
2079
|
-
onToggle(true);
|
|
2080
2098
|
props.onFocus?.(e);
|
|
2081
2099
|
};
|
|
2082
2100
|
const handleInputChange = (newValue) => {
|
|
@@ -2089,29 +2107,46 @@ function TimePickerComponent(props, ref) {
|
|
|
2089
2107
|
}
|
|
2090
2108
|
};
|
|
2091
2109
|
const handleBlur = (e) => {
|
|
2092
|
-
if (isFocusReceiverInsideFocusLock(e))
|
|
2093
|
-
return;
|
|
2094
|
-
onToggle(false);
|
|
2095
2110
|
props.onBlur?.(e);
|
|
2096
2111
|
if (state.value === '' || state.inputValue === '') {
|
|
2097
2112
|
props.onValueChange(null);
|
|
2098
2113
|
setState((prevState) => ({ ...prevState, value: null, inputValue: null }));
|
|
2099
2114
|
}
|
|
2100
|
-
|
|
2115
|
+
else {
|
|
2116
|
+
saveTime(state.value);
|
|
2117
|
+
}
|
|
2118
|
+
};
|
|
2119
|
+
const onKeyDown = (e) => {
|
|
2120
|
+
if (e.key === 'Enter') {
|
|
2121
|
+
onToggle(true);
|
|
2122
|
+
}
|
|
2123
|
+
if (e.key === 'Escape' && state.isOpen) {
|
|
2124
|
+
e.preventDefault();
|
|
2125
|
+
e.stopPropagation();
|
|
2126
|
+
onToggle(false);
|
|
2127
|
+
}
|
|
2101
2128
|
};
|
|
2102
2129
|
const renderInput = (inputProps) => {
|
|
2103
|
-
return (React__default.createElement(TextInput, { ...inputProps,
|
|
2130
|
+
return (React__default.createElement(TextInput, { ...inputProps, size: props.size, isDisabled: props.isDisabled, isReadonly: props.isReadonly, isInvalid: props.isInvalid, cx: [css$17.root, css$17.timepickerInput, props.inputCx], value: state.inputValue, onValueChange: handleInputChange, onCancel: !props.disableClear && onClear, onKeyDown: onKeyDown, onFocus: handleFocus, onBlur: handleBlur, isDropdown: false, placeholder: props.placeholder ? props.placeholder : getFormat(), mode: props.mode || DEFAULT_MODE, rawProps: props.rawProps?.input, ref: (node) => {
|
|
2131
|
+
targetRef.current = node;
|
|
2132
|
+
if (typeof inputProps.ref === 'function') {
|
|
2133
|
+
inputProps.ref(node);
|
|
2134
|
+
}
|
|
2135
|
+
else if (inputProps.ref && 'current' in inputProps.ref) {
|
|
2136
|
+
inputProps.ref.current = node;
|
|
2137
|
+
}
|
|
2138
|
+
} }));
|
|
2104
2139
|
};
|
|
2105
2140
|
const renderBody = (bodyProps) => {
|
|
2106
2141
|
const { forwardedRef, onValueChange, ...timePickerBodyProps } = props;
|
|
2107
|
-
return (!props.isDisabled && !props.isReadonly && (React__default.createElement(DropdownContainer, { ...bodyProps,
|
|
2142
|
+
return (!props.isDisabled && !props.isReadonly && (React__default.createElement(DropdownContainer, { ...bodyProps, shards: [targetRef] },
|
|
2108
2143
|
React__default.createElement(TimePickerBody, { ...timePickerBodyProps, onValueChange: handleBodyValueChange, value: formatStringTimeToObject(state.value), rawProps: props.rawProps?.body, cx: props.bodyCx }))));
|
|
2109
2144
|
};
|
|
2110
2145
|
return (React__default.createElement(Dropdown$1, { renderTarget: (targetProps) => (props.renderTarget ? props.renderTarget(targetProps) : renderInput(targetProps)), renderBody: (bodyProps) => !props.isDisabled && !props.isReadonly && renderBody(bodyProps), onValueChange: !props.isDisabled && !props.isReadonly ? onToggle : null, value: state.isOpen, middleware: [offset(6)], ref: ref }));
|
|
2111
2146
|
}
|
|
2112
2147
|
const TimePicker = /* @__PURE__ */React__default.forwardRef(TimePickerComponent);
|
|
2113
2148
|
|
|
2114
|
-
var css$16 = {"root":"
|
|
2149
|
+
var css$16 = {"root":"ltlZsj"};
|
|
2115
2150
|
|
|
2116
2151
|
function applyInputAddonMods() {
|
|
2117
2152
|
return [
|
|
@@ -2120,14 +2155,14 @@ function applyInputAddonMods() {
|
|
|
2120
2155
|
}
|
|
2121
2156
|
const InputAddon = /* @__PURE__ */withMods(InputAddon$1, applyInputAddonMods);
|
|
2122
2157
|
|
|
2123
|
-
var css$15 = {"root":"
|
|
2158
|
+
var css$15 = {"root":"_3s-56r"};
|
|
2124
2159
|
|
|
2125
2160
|
function applySliderMods() {
|
|
2126
2161
|
return [css$15.root, 'uui-color-neutral'];
|
|
2127
2162
|
}
|
|
2128
2163
|
const Slider = /* @__PURE__ */withMods(Slider$1, applySliderMods);
|
|
2129
2164
|
|
|
2130
|
-
var css$14 = {"root":"
|
|
2165
|
+
var css$14 = {"root":"MmOQTA"};
|
|
2131
2166
|
|
|
2132
2167
|
function applyTooltipMods(mods) {
|
|
2133
2168
|
return [
|
|
@@ -2137,7 +2172,7 @@ function applyTooltipMods(mods) {
|
|
|
2137
2172
|
}
|
|
2138
2173
|
const Tooltip = /* @__PURE__ */withMods(uuiComponents.Tooltip, applyTooltipMods);
|
|
2139
2174
|
|
|
2140
|
-
var css$13 = {"root":"
|
|
2175
|
+
var css$13 = {"root":"o7Y-1v","tooltip":"RGs3tR"};
|
|
2141
2176
|
|
|
2142
2177
|
function applyRatingMods(mods) {
|
|
2143
2178
|
return [
|
|
@@ -2151,7 +2186,7 @@ const Rating = /* @__PURE__ */withMods(uuiComponents.Rating, applyRatingMods, (p
|
|
|
2151
2186
|
Tooltip,
|
|
2152
2187
|
}));
|
|
2153
2188
|
|
|
2154
|
-
var css$12 = {"drag-handle-wrapper":"
|
|
2189
|
+
var css$12 = {"drag-handle-wrapper":"EAmIbS","dragHandleWrapper":"EAmIbS","with-indent":"_7uTf-f","withIndent":"_7uTf-f","drag-handle":"aznPbo","dragHandle":"aznPbo","icon-container":"KKKoce","iconContainer":"KKKoce"};
|
|
2155
2190
|
|
|
2156
2191
|
function DataRowAddons(props) {
|
|
2157
2192
|
const row = props.rowProps;
|
|
@@ -2168,15 +2203,20 @@ function DataRowAddons(props) {
|
|
|
2168
2203
|
return (React__default.createElement("div", { key: "dh", className: cx(css$12.dragHandleWrapper, row.indent > 0 && css$12.withIndent), style: { width: row.indent > 0 ? (getIndent() + getWidth()) : 0 }, ...props.eventHandlers },
|
|
2169
2204
|
React__default.createElement(DragHandle, { cx: css$12.dragHandle })));
|
|
2170
2205
|
};
|
|
2206
|
+
const handleFold = (e) => {
|
|
2207
|
+
if (e.key === 'Enter') {
|
|
2208
|
+
row.onFold(row);
|
|
2209
|
+
}
|
|
2210
|
+
};
|
|
2171
2211
|
return (React__default.createElement(React__default.Fragment, null,
|
|
2172
2212
|
row.dnd?.srcData && renderDragHandle(),
|
|
2173
2213
|
row?.checkbox?.isVisible && (React__default.createElement(Checkbox, { key: "cb", cx: "uui-dr_addons-checkbox", tabIndex: props.tabIndex, size: settings.dataTable.sizes.body.checkboxMap[props.size], value: row.isChecked, indeterminate: !row.isChecked && row.isChildrenChecked, onValueChange: () => row.onCheck?.(row), isDisabled: row.checkbox.isDisabled, isInvalid: row.checkbox.isInvalid })),
|
|
2174
|
-
row.indent > 0 && (React__default.createElement("div", { key: "fold", className: cx('uui-dr_addons-indent', `uui-size-${props.size || settings.dataTable.sizes.body.row}`), style: { marginInlineStart: getIndent(), width: getWidth() } }, row.isFoldable && (React__default.createElement(
|
|
2214
|
+
row.indent > 0 && (React__default.createElement("div", { key: "fold", className: cx('uui-dr_addons-indent', `uui-size-${props.size || settings.dataTable.sizes.body.row}`), style: { marginInlineStart: getIndent(), width: getWidth() } }, row.isFoldable && (React__default.createElement(ControlIcon, { rawProps: {
|
|
2175
2215
|
'aria-label': row.isFolded ? 'Unfold' : 'Fold',
|
|
2176
2216
|
role: 'button',
|
|
2177
2217
|
}, key: "icon", icon: settings.dataTable.icons.body.foldingIcon, cx: [
|
|
2178
2218
|
uuiElement.foldingArrow, uuiMarkers.clickable, css$12.iconContainer,
|
|
2179
|
-
], rotate: row.isFolded ? '90ccw' : '0', onClick: () => row.onFold(row), size: settings.dataTable.sizes.body.iconMap[props.size || settings.dataTable.sizes.body.row] }))))));
|
|
2219
|
+
], rotate: row.isFolded ? '90ccw' : '0', onClick: () => row.onFold(row), onKeyDown: handleFold, size: settings.dataTable.sizes.body.iconMap[props.size || settings.dataTable.sizes.body.row], tabIndex: props.tabIndex }))))));
|
|
2180
2220
|
}
|
|
2181
2221
|
|
|
2182
2222
|
function VerticalTabButtonComponent(props, ref) {
|
|
@@ -2228,7 +2268,7 @@ function VerticalTabButtonComponent(props, ref) {
|
|
|
2228
2268
|
}
|
|
2229
2269
|
const VerticalTabButton = /* @__PURE__ */React__default.forwardRef(VerticalTabButtonComponent);
|
|
2230
2270
|
|
|
2231
|
-
var css$11 = {"root":"
|
|
2271
|
+
var css$11 = {"root":"_1e7S0y","main-path":"obU9y3","mainPath":"obU9y3","content-wrapper":"OR8mMk","contentWrapper":"OR8mMk","content":"am2iMV","action-wrapper":"_9P96qq","actionWrapper":"_9P96qq","icon-wrapper":"RruO9-","iconWrapper":"RruO9-","icon":"ZriibA","close-icon":"lWhLRg","closeIcon":"lWhLRg"};
|
|
2232
2272
|
|
|
2233
2273
|
const Alert = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("div", { role: "alert", ref: ref, className: cx('uui-alert', css$11.root, props.color && `uui-color-${props.color}`, props.cx, `uui-size-${props.size || settings.alert.sizes.default}`), ...props.rawProps },
|
|
2234
2274
|
React.createElement("div", { className: css$11.mainPath },
|
|
@@ -2246,7 +2286,7 @@ const ErrorAlert = /* @__PURE__ */React.forwardRef((props, ref) => React.createE
|
|
|
2246
2286
|
|
|
2247
2287
|
const Dropdown = /* @__PURE__ */withMods(Dropdown$1);
|
|
2248
2288
|
|
|
2249
|
-
var css$10 = {"submenu-root-item-rtl":"
|
|
2289
|
+
var css$10 = {"submenu-root-item-rtl":"D-rS7v","submenuRootItemRtl":"D-rS7v","icon-after":"J6i8k1","iconAfter":"J6i8k1","submenu-root-item":"XSsEXS","submenuRootItem":"XSsEXS","icon-check":"nlxDu7","iconCheck":"nlxDu7","splitter-root":"nffzud","splitterRoot":"nffzud","splitter":"qkFqLQ","header-root":"_1tylo3","headerRoot":"_1tylo3","item-root":"qbuty1","itemRoot":"qbuty1","icon":"BFBmLp","link":"_7YkkG0","indent":"XIoxMb","selected-mark":"Zv37Q-","selectedMark":"Zv37Q-"};
|
|
2250
2290
|
|
|
2251
2291
|
var IDropdownControlKeys;
|
|
2252
2292
|
(function (IDropdownControlKeys) {
|
|
@@ -2380,7 +2420,7 @@ function DropdownMenuSwitchButton(props) {
|
|
|
2380
2420
|
React__default.createElement(Switch, { value: isSelected, tabIndex: -1, onValueChange: onHandleValueChange })));
|
|
2381
2421
|
}
|
|
2382
2422
|
|
|
2383
|
-
var css$$ = {"root":"
|
|
2423
|
+
var css$$ = {"root":"Hlwwhu","mode-block":"sMtMhE","modeBlock":"sMtMhE","mode-inline":"-k0QtU","modeInline":"-k0QtU","padding-0":"_3106Ez","padding0":"_3106Ez","padding-6":"Qm7Mya","padding6":"Qm7Mya","padding-12":"pxzoBb","padding12":"pxzoBb","padding-18":"S7cJFO","padding18":"S7cJFO"};
|
|
2384
2424
|
|
|
2385
2425
|
function applyAccordionMods(mods) {
|
|
2386
2426
|
return [
|
|
@@ -2393,7 +2433,7 @@ const Accordion = /* @__PURE__ */withMods(uuiComponents.Accordion, applyAccordio
|
|
|
2393
2433
|
dropdownIcon: mods.dropdownIcon !== null && settings.accordion.icons.dropdownIcon,
|
|
2394
2434
|
}));
|
|
2395
2435
|
|
|
2396
|
-
var css$_ = {"root":"
|
|
2436
|
+
var css$_ = {"root":"gMB4J3","align-items":"eG-MqY","alignItems":"eG-MqY","justify-content":"hoX8Pl","justifyContent":"hoX8Pl","border-top":"-xdL8B","borderTop":"-xdL8B","border-bottom":"Dh0eg-","borderBottom":"Dh0eg-","top-shadow":"EwD-Cc","topShadow":"EwD-Cc","padding":"_9sVssD","margin":"Tp7KXK","vPadding":"OszXAG","column-gap":"XqIU3S","columnGap":"XqIU3S","row-gap":"d2PiG4","rowGap":"d2PiG4","spacing":"_1-6evf"};
|
|
2397
2437
|
|
|
2398
2438
|
const FlexCell = /* @__PURE__ */withMods(FlexCell$1, () => [css$_.flexCell]);
|
|
2399
2439
|
|
|
@@ -2445,7 +2485,7 @@ const FlexRow = /* @__PURE__ */forwardRef((props, ref) => {
|
|
|
2445
2485
|
} }, props.children));
|
|
2446
2486
|
});
|
|
2447
2487
|
|
|
2448
|
-
var css$Z = {"root":"
|
|
2488
|
+
var css$Z = {"root":"Ns7CZ8","margin-24":"rzkSYM","margin24":"rzkSYM","padding-12":"U1H-72","padding12":"U1H-72","padding-24":"iRUoC2","padding24":"iRUoC2","shadow":"sxT-IZ","uui-surface-main":"_1MPPR7","uuiSurfaceMain":"_1MPPR7"};
|
|
2449
2489
|
|
|
2450
2490
|
const Panel = /* @__PURE__ */withMods(VPanel, (props) => [
|
|
2451
2491
|
'uui-panel',
|
|
@@ -2455,7 +2495,7 @@ const Panel = /* @__PURE__ */withMods(VPanel, (props) => [
|
|
|
2455
2495
|
props.background && css$Z[`uui-${props.background}`],
|
|
2456
2496
|
]);
|
|
2457
2497
|
|
|
2458
|
-
var css$Y = {"root":"
|
|
2498
|
+
var css$Y = {"root":"hFjkXd"};
|
|
2459
2499
|
|
|
2460
2500
|
function applyLabeledInputMods(mods) {
|
|
2461
2501
|
return [
|
|
@@ -2464,15 +2504,20 @@ function applyLabeledInputMods(mods) {
|
|
|
2464
2504
|
'uui-size-' + (mods.size || settings.labeledInput.sizes.default),
|
|
2465
2505
|
];
|
|
2466
2506
|
}
|
|
2507
|
+
function getInfoIconForSize(size) {
|
|
2508
|
+
return size <= '30'
|
|
2509
|
+
? settings.labeledInput.icons.fillInfoIcon
|
|
2510
|
+
: settings.labeledInput.icons.infoIcon;
|
|
2511
|
+
}
|
|
2467
2512
|
function applyLabeledInputProps(props) {
|
|
2468
|
-
return
|
|
2513
|
+
return {
|
|
2469
2514
|
Tooltip: props.Tooltip || Tooltip,
|
|
2470
|
-
infoIcon: props.infoIcon || props.size
|
|
2471
|
-
}
|
|
2515
|
+
infoIcon: props.infoIcon || getInfoIconForSize(props.size),
|
|
2516
|
+
};
|
|
2472
2517
|
}
|
|
2473
2518
|
const LabeledInput = /* @__PURE__ */withMods(uuiComponents.LabeledInput, applyLabeledInputMods, applyLabeledInputProps);
|
|
2474
2519
|
|
|
2475
|
-
var css$X = {"root":"
|
|
2520
|
+
var css$X = {"root":"QxyGE6"};
|
|
2476
2521
|
|
|
2477
2522
|
function RadioGroup(props) {
|
|
2478
2523
|
const direction = props.direction || 'vertical';
|
|
@@ -2487,7 +2532,7 @@ function RadioGroup(props) {
|
|
|
2487
2532
|
})));
|
|
2488
2533
|
}
|
|
2489
2534
|
|
|
2490
|
-
var css$W = {"root":"
|
|
2535
|
+
var css$W = {"root":"r5VgqM","viewport":"f3Spqz"};
|
|
2491
2536
|
|
|
2492
2537
|
var uuiScrollbars;
|
|
2493
2538
|
(function (uuiScrollbars) {
|
|
@@ -2557,7 +2602,7 @@ const ScrollBars = /* @__PURE__ */forwardRef((props, ref) => {
|
|
|
2557
2602
|
});
|
|
2558
2603
|
ScrollBars.displayName = 'ScrollBars';
|
|
2559
2604
|
|
|
2560
|
-
var css$V = {"scroll-container":"
|
|
2605
|
+
var css$V = {"scroll-container":"_8NneMC","scrollContainer":"_8NneMC","list-container":"PfcsQz","listContainer":"PfcsQz"};
|
|
2561
2606
|
|
|
2562
2607
|
const VirtualList = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
2563
2608
|
const { listContainerRef, offsetY, handleScroll, estimatedHeight, scrollContainerRef, } = useVirtualList({
|
|
@@ -2610,7 +2655,7 @@ function Tree(props) {
|
|
|
2610
2655
|
return (React.createElement(VirtualList, { value: value, onValueChange: onValueChange, rowsCount: rowsCount, rows: renderedRows, cx: cx$1(propsCx), role: "tree" }));
|
|
2611
2656
|
}
|
|
2612
2657
|
|
|
2613
|
-
var css$U = {"root":"
|
|
2658
|
+
var css$U = {"root":"z-D1UO"};
|
|
2614
2659
|
|
|
2615
2660
|
function CheckboxGroup(props) {
|
|
2616
2661
|
const currentValue = props.value || [];
|
|
@@ -2712,7 +2757,7 @@ const Tabs = /* @__PURE__ */forwardRef((props, ref) => {
|
|
|
2712
2757
|
});
|
|
2713
2758
|
Tabs.displayName = 'Tabs';
|
|
2714
2759
|
|
|
2715
|
-
var css$T = {"root":"
|
|
2760
|
+
var css$T = {"root":"gdv-Rj","modal-blocker":"_7yBMt9","modalBlocker":"_7yBMt9","animateModalBlocker":"gpA9ko","modal":"zdbfaJ","modal-footer":"ic-5St","modalFooter":"ic-5St","border-top":"CemqT9","borderTop":"CemqT9","modal-header":"EY1EX5","modalHeader":"EY1EX5","border-bottom":"YBwmA6","borderBottom":"YBwmA6"};
|
|
2716
2761
|
|
|
2717
2762
|
const ModalBlocker = /* @__PURE__ */withMods(ModalBlocker$1, () => [css$T.modalBlocker]);
|
|
2718
2763
|
const ModalWindow = /* @__PURE__ */withMods(ModalWindow$1, () => [css$T.root, css$T.modal], (props) => {
|
|
@@ -2904,7 +2949,7 @@ const TREE_SHAKEABLE_INIT = () => ({
|
|
|
2904
2949
|
});
|
|
2905
2950
|
const i18n = /* @__PURE__ */TREE_SHAKEABLE_INIT();
|
|
2906
2951
|
|
|
2907
|
-
var css$S = {"root":"
|
|
2952
|
+
var css$S = {"root":"pxbhml","icon-wrapper":"zCYla8","iconWrapper":"zCYla8","action-wrapper":"NJtMA8","actionWrapper":"NJtMA8","close-icon":"BwQhiB","closeIcon":"BwQhiB","main-path":"Qh--Cz","mainPath":"Qh--Cz","content":"JKfx5M","close-wrapper":"F1KSmJ","closeWrapper":"F1KSmJ","clear-notifications":"xXxll9","clearNotifications":"xXxll9"};
|
|
2908
2953
|
|
|
2909
2954
|
const NotificationCard = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
2910
2955
|
const notificationCardNode = React__default.useRef(null);
|
|
@@ -2937,7 +2982,7 @@ function ClearNotification() {
|
|
|
2937
2982
|
React__default.createElement(LinkButton, { caption: i18n.notificationCard.closeAllNotificationsButton, onClick: () => uuiCtx.uuiNotifications.clearAll() })));
|
|
2938
2983
|
}
|
|
2939
2984
|
|
|
2940
|
-
var css$R = {"footer":"
|
|
2985
|
+
var css$R = {"footer":"KGqcpf"};
|
|
2941
2986
|
|
|
2942
2987
|
class ConfirmationModal extends React.Component {
|
|
2943
2988
|
render() {
|
|
@@ -2979,7 +3024,7 @@ function useReliableForceUpdate() {
|
|
|
2979
3024
|
return red[1];
|
|
2980
3025
|
}
|
|
2981
3026
|
|
|
2982
|
-
var css$Q = {"root":"
|
|
3027
|
+
var css$Q = {"root":"OOHbQt","container":"_8NU6sF"};
|
|
2983
3028
|
|
|
2984
3029
|
const defaultFormat = 'MMM D, YYYY';
|
|
2985
3030
|
const valueFormat = 'YYYY-MM-DD';
|
|
@@ -2998,7 +3043,16 @@ const defaultRangeValue = {
|
|
|
2998
3043
|
from: null,
|
|
2999
3044
|
to: null,
|
|
3000
3045
|
};
|
|
3001
|
-
const getDisplayedMonth = (selectedDate, focus) => {
|
|
3046
|
+
const getDisplayedMonth = (selectedDate, focus, initialViewMonth) => {
|
|
3047
|
+
if (selectedDate.from || selectedDate.to) {
|
|
3048
|
+
return getDisplayedMonthBySelection(selectedDate, focus);
|
|
3049
|
+
}
|
|
3050
|
+
else if (initialViewMonth) {
|
|
3051
|
+
return getNewMonth(`${initialViewMonth}-01`);
|
|
3052
|
+
}
|
|
3053
|
+
return uuiDayjs.dayjs();
|
|
3054
|
+
};
|
|
3055
|
+
const getDisplayedMonthBySelection = (selectedDate, focus) => {
|
|
3002
3056
|
if (selectedDate.from && selectedDate.to && focus) {
|
|
3003
3057
|
return uuiDayjs.dayjs(selectedDate[focus]);
|
|
3004
3058
|
}
|
|
@@ -3197,26 +3251,27 @@ function DatePickerHeader({ navIconLeft, navIconRight, value: { month, view }, o
|
|
|
3197
3251
|
React.createElement(Button, { icon: navIconRight || settings.datePicker.icons.body.nextIcon, color: "secondary", fill: "ghost", cx: uuiHeader.navIconRight, onClick: !isDisabled && (() => onRightNavigationArrow()), isDisabled: disableNext }))));
|
|
3198
3252
|
}
|
|
3199
3253
|
|
|
3200
|
-
var css$P = {"root":"
|
|
3254
|
+
var css$P = {"root":"DPyH6V"};
|
|
3201
3255
|
|
|
3202
3256
|
function applyDateSelectionMods() {
|
|
3203
3257
|
return [css$P.root, `uui-size-${settings.datePicker.sizes.body}`];
|
|
3204
3258
|
}
|
|
3205
3259
|
const Calendar = /* @__PURE__ */withMods(Calendar$1, applyDateSelectionMods);
|
|
3206
3260
|
|
|
3207
|
-
var css$O = {"root":"
|
|
3261
|
+
var css$O = {"root":"qfSXJU"};
|
|
3208
3262
|
|
|
3209
3263
|
const uuiDatePickerBody = {
|
|
3210
3264
|
wrapper: 'uui-datepicker-body-wrapper',
|
|
3211
3265
|
};
|
|
3212
3266
|
const DatePickerBody = /* @__PURE__ */forwardRef(DatePickerBodyComp);
|
|
3213
3267
|
function DatePickerBodyComp(props, ref) {
|
|
3214
|
-
const { value, onValueChange } = props;
|
|
3215
|
-
const
|
|
3268
|
+
const { value, onValueChange, initialViewMonth } = props;
|
|
3269
|
+
const initialViewDate = value || (initialViewMonth ? `${initialViewMonth}-01` : '');
|
|
3270
|
+
const [month, setMonth] = useState(getNewMonth(initialViewDate));
|
|
3216
3271
|
const [view, setView] = useState('DAY_SELECTION');
|
|
3217
3272
|
// sync updated props with internal state
|
|
3218
3273
|
useEffect(() => {
|
|
3219
|
-
setMonth(getNewMonth(
|
|
3274
|
+
setMonth(getNewMonth(initialViewDate));
|
|
3220
3275
|
setView('DAY_SELECTION');
|
|
3221
3276
|
}, [value, setMonth]);
|
|
3222
3277
|
return (React__default.createElement(StatelessDatePickerBody, { ref: ref, ...props, month: month, view: view, onValueChange: onValueChange, onMonthChange: (m) => setMonth(m), onViewChange: (v) => setView(v) }));
|
|
@@ -3314,7 +3369,7 @@ function DatePickerComponent(props, ref) {
|
|
|
3314
3369
|
};
|
|
3315
3370
|
const renderBody = useMemo(() => (renderProps) => {
|
|
3316
3371
|
return (React__default.createElement(DropdownContainer, { ...renderProps },
|
|
3317
|
-
React__default.createElement(DatePickerBody, { value: value, onValueChange: onBodyValueChange, cx: cx$1(props.bodyCx), filter: props.filter, isHoliday: props.isHoliday, renderDay: props.renderDay, rawProps: props.rawProps?.body }),
|
|
3372
|
+
React__default.createElement(DatePickerBody, { value: value, onValueChange: onBodyValueChange, cx: cx$1(props.bodyCx), filter: props.filter, isHoliday: props.isHoliday, renderDay: props.renderDay, rawProps: props.rawProps?.body, initialViewMonth: props.initialViewMonth }),
|
|
3318
3373
|
props.renderFooter?.()));
|
|
3319
3374
|
}, [value, onBodyValueChange]);
|
|
3320
3375
|
return (React__default.createElement(Dropdown$1, { value: isBodyOpen, middleware: [offset(6)], placement: props.placement, ref: ref, onValueChange: (v) => {
|
|
@@ -3325,7 +3380,7 @@ function DatePickerComponent(props, ref) {
|
|
|
3325
3380
|
}
|
|
3326
3381
|
const DatePicker = /* @__PURE__ */React__default.forwardRef(DatePickerComponent);
|
|
3327
3382
|
|
|
3328
|
-
var css$N = {"date-input":"
|
|
3383
|
+
var css$N = {"date-input":"sF1znN","dateInput":"sF1znN","root":"BhbOtj","separator":"Hs-taf"};
|
|
3329
3384
|
|
|
3330
3385
|
const RangeDatePickerInput = /* @__PURE__ */forwardRef(({ isDisabled, isInvalid, isReadonly, size, disableClear, rawProps, value, inFocus, format, onValueChange, onFocusInput, onBlurInput, onClick, getPlaceholder, filter, onKeyDown, preventEmptyFromDate, preventEmptyToDate, id, cx: classes, }, ref) => {
|
|
3331
3386
|
const [inputValue, setInputValue] = useState(toCustomDateRangeFormat(value, format));
|
|
@@ -3387,16 +3442,18 @@ const RangeDatePickerInput = /* @__PURE__ */forwardRef(({ isDisabled, isInvalid,
|
|
|
3387
3442
|
};
|
|
3388
3443
|
onValueChange(newValue);
|
|
3389
3444
|
};
|
|
3390
|
-
const clearAllowed = !disableClear && !
|
|
3445
|
+
const clearAllowed = !disableClear && !isReadonly && !isDisabled
|
|
3446
|
+
&& !(preventEmptyFromDate && preventEmptyToDate)
|
|
3447
|
+
&& ((value.from && !preventEmptyFromDate) || (value.to && !preventEmptyToDate));
|
|
3391
3448
|
return (
|
|
3392
3449
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
3393
3450
|
React__default.createElement("div", { ref: ref, className: cx$1(`uui-size-${size || settings.rangeDatePicker.sizes.default}`, 'uui-range-date-picker', classes, css$N.root, isDisabled && uuiMod.disabled, isReadonly && uuiMod.readonly, isInvalid && uuiMod.invalid, inFocus && uuiMod.focus), onKeyDown: onKeyDown },
|
|
3394
3451
|
React__default.createElement(TextInput, { icon: settings.rangeDatePicker.icons.input.calendarIcon, cx: cx$1(css$N.dateInput, inFocus === 'from' && uuiMod.focus), size: size || settings.rangeDatePicker.sizes.default, placeholder: getPlaceholder ? getPlaceholder('from') : i18n.rangeDatePicker.pickerPlaceholderFrom, value: inputValue.from || undefined, onValueChange: (v) => onInputChange(v || '', 'from'), onFocus: (event) => handleFocus(event, 'from'), onBlur: (event) => handleBlur(event, 'from'), isInvalid: isInvalid, isDisabled: isDisabled, isReadonly: isReadonly, isDropdown: false, rawProps: rawProps?.from, onClick: onClick, onKeyDown: onInputKeyDown, id: id }),
|
|
3395
3452
|
React__default.createElement("div", { className: css$N.separator }),
|
|
3396
|
-
React__default.createElement(TextInput, { cx: cx$1(css$N.dateInput, inFocus === 'to' && uuiMod.focus), placeholder: getPlaceholder ? getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo, size: size || settings.rangeDatePicker.sizes.default, value: inputValue.to || undefined,
|
|
3453
|
+
React__default.createElement(TextInput, { cx: cx$1(css$N.dateInput, inFocus === 'to' && uuiMod.focus), placeholder: getPlaceholder ? getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo, size: size || settings.rangeDatePicker.sizes.default, value: inputValue.to || undefined, icon: clearAllowed && ForwardRef$Q, iconPosition: "right", iconLabel: "Clear selected date range", onIconClick: onClear, onValueChange: (v) => onInputChange(v || '', 'to'), onFocus: (e) => handleFocus(e, 'to'), onBlur: (e) => handleBlur(e, 'to'), isInvalid: isInvalid, isDisabled: isDisabled, isReadonly: isReadonly, isDropdown: false, rawProps: rawProps?.to, onClick: onClick, onKeyDown: onInputKeyDown })));
|
|
3397
3454
|
});
|
|
3398
3455
|
|
|
3399
|
-
var css$M = {"root":"
|
|
3456
|
+
var css$M = {"root":"Ynzf3x"};
|
|
3400
3457
|
|
|
3401
3458
|
const uuiPresets = {
|
|
3402
3459
|
container: 'uui-presets-container',
|
|
@@ -3416,7 +3473,7 @@ function CalendarPresets(props) {
|
|
|
3416
3473
|
getPresets(props.presets).map((item) => (React.createElement(LinkButton, { key: item.key, caption: item.name, onClick: () => props.onPresetSet(item), size: settings.rangeDatePicker.sizes.preset })))));
|
|
3417
3474
|
}
|
|
3418
3475
|
|
|
3419
|
-
var css$L = {"root":"
|
|
3476
|
+
var css$L = {"root":"JgvZ3k","container":"dI-bPp","day-selection":"X3ZTen","daySelection":"X3ZTen","from-picker":"InVzJi","fromPicker":"InVzJi","to-picker":"G5-vQS","toPicker":"G5-vQS","bodes-wrapper":"O7oqJp","bodesWrapper":"O7oqJp","blocker":"l4vmaZ"};
|
|
3420
3477
|
|
|
3421
3478
|
const uuiRangeDatePickerBody = {
|
|
3422
3479
|
inRange: 'uui-range-datepicker-in-range',
|
|
@@ -3492,13 +3549,13 @@ const rangeDatePickerPresets = {
|
|
|
3492
3549
|
};
|
|
3493
3550
|
const RangeDatePickerBody = /* @__PURE__ */forwardRef(RangeDatePickerBodyComp);
|
|
3494
3551
|
function RangeDatePickerBodyComp(props, ref) {
|
|
3495
|
-
const { value: _value, filter } = props;
|
|
3552
|
+
const { value: _value, filter, initialViewMonth } = props;
|
|
3496
3553
|
const { selectedDate: _selectedDate, inFocus, } = _value;
|
|
3497
3554
|
const selectedDate = _selectedDate || defaultRangeValue; // also handles null in comparison to default value
|
|
3498
3555
|
const [view, setView] = useState('DAY_SELECTION');
|
|
3499
3556
|
const [disabledPanel, setDisabledPanel] = useState(null);
|
|
3500
3557
|
const [month, setMonth] = useState(() => {
|
|
3501
|
-
return getDisplayedMonth(selectedDate, inFocus);
|
|
3558
|
+
return getDisplayedMonth(selectedDate, inFocus, initialViewMonth);
|
|
3502
3559
|
});
|
|
3503
3560
|
const getRange = (newValue) => {
|
|
3504
3561
|
if (!filter || filter(uuiDayjs.dayjs(newValue))) {
|
|
@@ -3562,7 +3619,7 @@ function RangeDatePickerBodyComp(props, ref) {
|
|
|
3562
3619
|
}, presets: presets })));
|
|
3563
3620
|
};
|
|
3564
3621
|
useLayoutEffectSafeForSsr(() => {
|
|
3565
|
-
const monthToSet = getDisplayedMonth(selectedDate, inFocus);
|
|
3622
|
+
const monthToSet = getDisplayedMonth(selectedDate, inFocus, initialViewMonth);
|
|
3566
3623
|
// To avoid re-rendering the body if the current month being displayed is equal to or greater than 1
|
|
3567
3624
|
const shouldNotIgnoreUpdate = !(uuiDayjs.dayjs(month).isSame(monthToSet, 'month') || uuiDayjs.dayjs(month).add(1, 'month').isSame(monthToSet, 'month'));
|
|
3568
3625
|
if (shouldNotIgnoreUpdate) {
|
|
@@ -3618,7 +3675,7 @@ const getDayState = (day, selectedDate) => {
|
|
|
3618
3675
|
};
|
|
3619
3676
|
};
|
|
3620
3677
|
|
|
3621
|
-
var css$K = {"dropdown-container":"
|
|
3678
|
+
var css$K = {"dropdown-container":"mfUZY-","dropdownContainer":"mfUZY-"};
|
|
3622
3679
|
|
|
3623
3680
|
function RangeDatePickerComponent(props, ref) {
|
|
3624
3681
|
const { value: _value, format = defaultFormat, size = settings.rangeDatePicker.sizes.default } = props;
|
|
@@ -3669,7 +3726,7 @@ function RangeDatePickerComponent(props, ref) {
|
|
|
3669
3726
|
inFocus,
|
|
3670
3727
|
}, onValueChange: onBodyValueChange, filter: props.filter, presets: props.presets, renderDay: props.renderDay, renderFooter: () => {
|
|
3671
3728
|
return props.renderFooter?.(value);
|
|
3672
|
-
}, isHoliday: props.isHoliday, rawProps: props.rawProps?.body, preventEmptyToDate: props.preventEmptyToDate, preventEmptyFromDate: props.preventEmptyFromDate }))));
|
|
3729
|
+
}, isHoliday: props.isHoliday, rawProps: props.rawProps?.body, preventEmptyToDate: props.preventEmptyToDate, preventEmptyFromDate: props.preventEmptyFromDate, initialViewMonth: props.initialViewMonth }))));
|
|
3673
3730
|
};
|
|
3674
3731
|
const handleEscape = (e) => {
|
|
3675
3732
|
if (e.key === 'Escape' && isOpen) {
|
|
@@ -3686,7 +3743,7 @@ function RangeDatePickerComponent(props, ref) {
|
|
|
3686
3743
|
}
|
|
3687
3744
|
const RangeDatePicker = /* @__PURE__ */React__default.forwardRef(RangeDatePickerComponent);
|
|
3688
3745
|
|
|
3689
|
-
var css$J = {"root":"
|
|
3746
|
+
var css$J = {"root":"wtdQD5","blocker":"tPzTL-","marker":"jvL75J","top":"y0nGTn","bottom":"cDVBde","left":"cEpiXD","right":"ufZtWU","inside":"zYAmbs"};
|
|
3690
3747
|
|
|
3691
3748
|
function DropMarker(props) {
|
|
3692
3749
|
return props.isDndInProgress
|
|
@@ -3701,9 +3758,9 @@ function DropMarker(props) {
|
|
|
3701
3758
|
: null;
|
|
3702
3759
|
}
|
|
3703
3760
|
|
|
3704
|
-
var css$I = {"search-wrapper":"
|
|
3761
|
+
var css$I = {"search-wrapper":"Sd0oxr","searchWrapper":"Sd0oxr","no-data":"F5kMAL","noData":"F5kMAL"};
|
|
3705
3762
|
|
|
3706
|
-
var css$H = {"picker-row":"
|
|
3763
|
+
var css$H = {"picker-row":"AKWeJR","pickerRow":"AKWeJR","align-widgets-top":"KUz6Df","alignWidgetsTop":"KUz6Df","row-content":"VQHaUC","rowContent":"VQHaUC","align-widgets-center":"z4vbqx","alignWidgetsCenter":"z4vbqx","icon-container":"CGeuRM","iconContainer":"CGeuRM","content-wrapper":"QSgjAz","contentWrapper":"QSgjAz","icon-wrapper":"UMPUgE","iconWrapper":"UMPUgE","icon-default":"KpWvbe","iconDefault":"KpWvbe","selected-mark":"VFN14z","selectedMark":"VFN14z"};
|
|
3707
3764
|
|
|
3708
3765
|
const mergeHighlightRanges = (ranges) => {
|
|
3709
3766
|
const mergedRanges = [];
|
|
@@ -3770,7 +3827,7 @@ const getHighlightedSearchMatches = (str, search) => {
|
|
|
3770
3827
|
return getDecoratedText(str, ranges);
|
|
3771
3828
|
};
|
|
3772
3829
|
|
|
3773
|
-
var css$G = {"root":"
|
|
3830
|
+
var css$G = {"root":"UYc1Df","column-gap":"_4hF6vh","columnGap":"_4hF6vh","title":"SAYyTj","subtitle":"YH4D0u","disabled":"DKlbID","multiline":"pplegF"};
|
|
3774
3831
|
|
|
3775
3832
|
function PickerItem(props) {
|
|
3776
3833
|
const { highlightSearchMatches = true, size, avatarUrl, isLoading, isDisabled, icon, } = props;
|
|
@@ -3803,6 +3860,12 @@ function DataPickerRow(props) {
|
|
|
3803
3860
|
rowNode.current?.removeEventListener('mouseenter', handleMouseEnter);
|
|
3804
3861
|
};
|
|
3805
3862
|
}, [props.onFocus, handleMouseEnter]);
|
|
3863
|
+
const handleFocus = () => {
|
|
3864
|
+
// If this row gets focus but is not the focused row, make it focused
|
|
3865
|
+
if (!props.isFocused && props.onFocus) {
|
|
3866
|
+
props.onFocus(props.index);
|
|
3867
|
+
}
|
|
3868
|
+
};
|
|
3806
3869
|
const getSubtitle = ({ path }) => {
|
|
3807
3870
|
if (!props.dataSourceState?.search)
|
|
3808
3871
|
return;
|
|
@@ -3844,14 +3907,15 @@ function DataPickerRow(props) {
|
|
|
3844
3907
|
const clickHandler = props.onClick || props.onSelect || props.onFold || props.onCheck;
|
|
3845
3908
|
return (
|
|
3846
3909
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
3847
|
-
React.createElement("div", { onClick: clickHandler && ((e) => !isEventTargetInsideClickable(e) && clickHandler(props)), role: "option", "aria-busy": props.isLoading, "aria-posinset": props.index + 1, "aria-checked": props.checkbox?.isVisible ? props.isChecked : null, "aria-selected": props.isSelectable ? props.isSelected : null, ref: rowNode, className: cx$1(css$H.pickerRow, 'uui-picker_input-row', `uui-size-${props.size || settings.pickerInput.sizes.body.row}`, css$H[`align-widgets-${props.alignActions || 'top'}`], clickHandler && props.isFocused && uuiMod.focus, clickHandler && uuiMarkers.clickable, props.cx), style: props.padding && {
|
|
3910
|
+
React.createElement("div", { onClick: clickHandler && ((e) => !isEventTargetInsideClickable(e) && clickHandler(props)), onFocus: handleFocus, role: "option", "aria-busy": props.isLoading, "aria-posinset": props.index + 1, "aria-checked": props.checkbox?.isVisible ? props.isChecked : null, "aria-selected": props.isSelectable ? props.isSelected : null, tabIndex: -1, ref: rowNode, id: props.rowKey, className: cx$1(css$H.pickerRow, 'uui-picker_input-row', `uui-size-${props.size || settings.pickerInput.sizes.body.row}`, css$H[`align-widgets-${props.alignActions || 'top'}`], clickHandler && props.isFocused && uuiMod.focus, clickHandler && uuiMarkers.clickable, props.cx), style: props.padding && {
|
|
3848
3911
|
'--uui-data_picker-horizontal-padding': `${props.padding}px`,
|
|
3849
3912
|
}, ...props.rawProps }, renderContent()));
|
|
3850
3913
|
}
|
|
3851
3914
|
|
|
3852
|
-
function DataPickerBody({ highlightSearchMatches = true, ...props }) {
|
|
3915
|
+
function DataPickerBody({ highlightSearchMatches = true, autoFocusSearch = true, ...props }) {
|
|
3853
3916
|
const prevProps = usePrevious(props);
|
|
3854
3917
|
const showSearch = props.showSearch === 'auto' ? props.totalCount > 10 : Boolean(props.showSearch);
|
|
3918
|
+
const [isKeyboardNavigation, setIsKeyboardNavigation] = React__default.useState(false);
|
|
3855
3919
|
useEffect(() => {
|
|
3856
3920
|
if (props.rows.length !== prevProps?.rows.length || (!isEqual(prevProps?.value.checked, props.value.checked) && !props.fixedBodyPosition)) {
|
|
3857
3921
|
props.scheduleUpdate?.();
|
|
@@ -3859,9 +3923,36 @@ function DataPickerBody({ highlightSearchMatches = true, ...props }) {
|
|
|
3859
3923
|
}, [props.rows, prevProps, props.value.checked, props.fixedBodyPosition]);
|
|
3860
3924
|
const searchKeyDown = (e) => {
|
|
3861
3925
|
props.onKeyDown?.(e);
|
|
3862
|
-
if (e.shiftKey && e.key === 'Tab')
|
|
3863
|
-
e.preventDefault();
|
|
3864
3926
|
};
|
|
3927
|
+
const handleVirtualListFocus = (e) => {
|
|
3928
|
+
// Only set keyboard navigation if focus came from keyboard (Tab key)
|
|
3929
|
+
// Check if the focus event was triggered by keyboard navigation
|
|
3930
|
+
const isKeyboardFocus = e.target === e.currentTarget;
|
|
3931
|
+
if (isKeyboardFocus) {
|
|
3932
|
+
setIsKeyboardNavigation(true);
|
|
3933
|
+
}
|
|
3934
|
+
};
|
|
3935
|
+
const handleVirtualListBlur = (e) => {
|
|
3936
|
+
// Check if focus is moving outside the virtual list
|
|
3937
|
+
const relatedTarget = e.relatedTarget;
|
|
3938
|
+
const currentTarget = e.currentTarget;
|
|
3939
|
+
if (relatedTarget && !currentTarget.contains(relatedTarget)) {
|
|
3940
|
+
// Focus is leaving the virtual list, hide visual focus but keep focusedIndex for navigation "by circle"
|
|
3941
|
+
setIsKeyboardNavigation(false);
|
|
3942
|
+
}
|
|
3943
|
+
};
|
|
3944
|
+
const { focusedIndex, topIndex, } = props.value;
|
|
3945
|
+
const focusedRowId = useMemo(() => {
|
|
3946
|
+
// No need to make unnecessary calculations.
|
|
3947
|
+
if (!props.showSearch) {
|
|
3948
|
+
return '';
|
|
3949
|
+
}
|
|
3950
|
+
const focusedRow = props.rows.at(focusedIndex - topIndex);
|
|
3951
|
+
if (!focusedRow) {
|
|
3952
|
+
return '';
|
|
3953
|
+
}
|
|
3954
|
+
return focusedRow.rowKey;
|
|
3955
|
+
}, [props.showSearch, focusedIndex, topIndex]);
|
|
3865
3956
|
const renderEmpty = () => {
|
|
3866
3957
|
const search = props.value.search;
|
|
3867
3958
|
if (props.renderEmpty) {
|
|
@@ -3896,25 +3987,36 @@ function DataPickerBody({ highlightSearchMatches = true, ...props }) {
|
|
|
3896
3987
|
return props.size || settings.pickerInput.sizes.body.row;
|
|
3897
3988
|
};
|
|
3898
3989
|
const renderRow = (row, dsState) => {
|
|
3899
|
-
const pickerRowProps = {
|
|
3990
|
+
const pickerRowProps = {
|
|
3991
|
+
...row,
|
|
3992
|
+
getName: props.getName,
|
|
3993
|
+
cx: cx$1(row.cx, isKeyboardNavigation && row.isFocused && 'uui-focus', isKeyboardNavigation && row.isFocused && 'uui-keyboard-focus'),
|
|
3994
|
+
};
|
|
3900
3995
|
return props.renderRow ? (props.renderRow(pickerRowProps, dsState)) : (React__default.createElement(DataPickerRow, { ...pickerRowProps, key: row.rowKey, size: getRowSize(), flattenSearchResults: props.flattenSearchResults, highlightSearchMatches: highlightSearchMatches, dataSourceState: dsState, getName: props.getName }));
|
|
3901
3996
|
};
|
|
3997
|
+
const renderSearchInput = () => {
|
|
3998
|
+
return (React__default.createElement(SearchInput, { placeholder: i18n.dataPickerBody.searchPlaceholder, value: props.value.search, onValueChange: (newVal) => props.onValueChange({ ...props.value, search: newVal }), onKeyDown: searchKeyDown, size: searchSize, debounceDelay: props.searchDebounceDelay, rawProps: {
|
|
3999
|
+
dir: 'auto',
|
|
4000
|
+
'aria-activedescendant': focusedRowId,
|
|
4001
|
+
} }));
|
|
4002
|
+
};
|
|
3902
4003
|
const searchSize = isMobile()
|
|
3903
4004
|
? settings.pickerInput.sizes.body.mobileSearchInput
|
|
3904
4005
|
: settings.pickerInput.sizes.body.getSearchSize({ pickerSize: props.searchSize });
|
|
3905
|
-
const renderedDataRows = useMemo(() => props.rows.map((row) => renderRow(row, props.value)), [props.rows, props.value]);
|
|
4006
|
+
const renderedDataRows = useMemo(() => props.rows.map((row) => renderRow(row, props.value)), [props.rows, props.value, isKeyboardNavigation]);
|
|
3906
4007
|
return (React__default.createElement(React__default.Fragment, null,
|
|
3907
4008
|
showSearch && (React__default.createElement("div", { key: "search", className: cx$1(css$I.searchWrapper, 'uui-picker_input-body-search') },
|
|
3908
|
-
React__default.createElement(FlexCell$1, { grow: 1 },
|
|
3909
|
-
React__default.createElement(MoveFocusInside, null,
|
|
3910
|
-
React__default.createElement(SearchInput, { placeholder: i18n.dataPickerBody.searchPlaceholder, value: props.value.search, onValueChange: (newVal) => props.onValueChange({ ...props.value, search: newVal }), onKeyDown: searchKeyDown, size: searchSize, debounceDelay: props.searchDebounceDelay, rawProps: { dir: 'auto' } }))))),
|
|
4009
|
+
React__default.createElement(FlexCell$1, { grow: 1 }, autoFocusSearch ? React__default.createElement(MoveFocusInside, null, renderSearchInput()) : renderSearchInput()))),
|
|
3911
4010
|
React__default.createElement(FlexRow, { key: "body", cx: cx$1('uui-picker_input-body'), rawProps: { style: { maxHeight: props.maxHeight, maxWidth: props.maxWidth }, tabIndex: -1 } }, props.rows.length === 0 && props.value.topIndex === 0
|
|
3912
4011
|
// We need to also ensure that topIndex === 0, because we can have state were there is no rows but topIndex > 0, in case when we scrolled lover than we have rows
|
|
3913
4012
|
// we fix this state on next render and shouldn't show empty state.
|
|
3914
|
-
? renderEmpty() : (React__default.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, rows: renderedDataRows, rawProps: {
|
|
4013
|
+
? renderEmpty() : (React__default.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, rows: renderedDataRows, role: "listbox", rawProps: {
|
|
3915
4014
|
'aria-multiselectable': props.selectionMode === 'multi' ? true : null,
|
|
3916
4015
|
'aria-orientation': 'vertical',
|
|
3917
|
-
tabIndex:
|
|
4016
|
+
tabIndex: 0,
|
|
4017
|
+
onKeyDown: props.onKeyDown,
|
|
4018
|
+
onFocus: handleVirtualListFocus,
|
|
4019
|
+
onBlur: handleVirtualListBlur,
|
|
3918
4020
|
...props.rawProps,
|
|
3919
4021
|
}, rowsCount: props.rowsCount, isLoading: props.isReloading, renderBlocker: settings.pickerInput.renderBlocker, overflowTopEffect: showSearch ? 'line' : 'none', overflowBottomEffect: "line" })))));
|
|
3920
4022
|
}
|
|
@@ -3943,7 +4045,7 @@ function DataPickerFooterImpl(props) {
|
|
|
3943
4045
|
}
|
|
3944
4046
|
const DataPickerFooter = /* @__PURE__ */React__default.memo(DataPickerFooterImpl);
|
|
3945
4047
|
|
|
3946
|
-
var css$F = {"header":"
|
|
4048
|
+
var css$F = {"header":"xMqeKH","title":"_6LNCzC","close":"SvIMIt"};
|
|
3947
4049
|
|
|
3948
4050
|
const DataPickerMobileHeaderImpl = (props) => {
|
|
3949
4051
|
const title = props.title && typeof props.title === 'string' ? props.title.charAt(0).toUpperCase() + props.title.slice(1) : '';
|
|
@@ -3953,7 +4055,7 @@ const DataPickerMobileHeaderImpl = (props) => {
|
|
|
3953
4055
|
};
|
|
3954
4056
|
const DataPickerMobileHeader = /* @__PURE__ */React__default.memo(DataPickerMobileHeaderImpl);
|
|
3955
4057
|
|
|
3956
|
-
var css$E = {"done":"
|
|
4058
|
+
var css$E = {"done":"VEuK4c","container":"_7-Ls91"};
|
|
3957
4059
|
|
|
3958
4060
|
const PickerBodyMobileView = (props) => {
|
|
3959
4061
|
const isMobileView = isMobile();
|
|
@@ -3965,7 +4067,7 @@ const PickerBodyMobileView = (props) => {
|
|
|
3965
4067
|
isMobileView && (React__default.createElement(LinkButton, { caption: i18n.pickerInput.doneButton, onClick: () => props.onClose?.(), cx: css$E.done, size: settings.pickerInput.sizes.body.mobileFooterLinkButton }))));
|
|
3966
4068
|
};
|
|
3967
4069
|
|
|
3968
|
-
var css$D = {"sub-header-wrapper":"
|
|
4070
|
+
var css$D = {"sub-header-wrapper":"FqQxZy","subHeaderWrapper":"FqQxZy","switch":"PI0fZO","search":"Loa2gU","no-found-modal-container":"rPa16s","noFoundModalContainer":"rPa16s","no-found-modal-container-icon":"_55zy9M","noFoundModalContainerIcon":"_55zy9M","no-found-modal-container-text":"_7iIIK0","noFoundModalContainerText":"_7iIIK0","body":"Sukk2Z"};
|
|
3969
4071
|
|
|
3970
4072
|
function PickerModal(props) {
|
|
3971
4073
|
const { view, selection, dataSourceStateLens, dataSourceState, getName, clearSelection, getRows, getListProps, getFooterProps, isSingleSelect, handleDataSourceValueChange, } = usePickerModal(props);
|
|
@@ -3993,25 +4095,40 @@ function PickerModal(props) {
|
|
|
3993
4095
|
React__default.createElement(Text, { cx: css$D.noFoundModalContainerText, fontSize: "12", lineHeight: "18", color: "primary" }, i18n.dataPickerBody.noRecordsSubTitle)));
|
|
3994
4096
|
};
|
|
3995
4097
|
const dataRows = getRows();
|
|
4098
|
+
const { focusedIndex, topIndex, } = dataSourceState;
|
|
4099
|
+
const focusedRowId = useMemo(() => {
|
|
4100
|
+
const focusedRow = dataRows.at(focusedIndex - topIndex);
|
|
4101
|
+
if (!focusedRow) {
|
|
4102
|
+
return '';
|
|
4103
|
+
}
|
|
4104
|
+
return focusedRow.rowKey;
|
|
4105
|
+
}, [focusedIndex, topIndex]);
|
|
4106
|
+
const onKeyDownHandler = (e) => {
|
|
4107
|
+
handleDataSourceKeyboard({
|
|
4108
|
+
value: dataSourceState,
|
|
4109
|
+
onValueChange: handleDataSourceValueChange,
|
|
4110
|
+
listView: view,
|
|
4111
|
+
rows: dataRows,
|
|
4112
|
+
searchPosition: 'body',
|
|
4113
|
+
}, e);
|
|
4114
|
+
};
|
|
3996
4115
|
return (React__default.createElement(ModalBlocker, { ...props },
|
|
3997
4116
|
React__default.createElement(ModalWindow, { width: 600, height: 700, cx: css$D.body },
|
|
3998
4117
|
React__default.createElement(ModalHeader, { title: props.caption || i18n.pickerModal.headerTitle, onClose: () => props.abort() }),
|
|
3999
4118
|
React__default.createElement(FlexCell, { cx: css$D.subHeaderWrapper },
|
|
4000
4119
|
React__default.createElement(FlexRow, { vPadding: "24" },
|
|
4001
|
-
React__default.createElement(
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
searchPosition: 'body',
|
|
4007
|
-
}, e), autoFocus: true, placeholder: i18n.pickerModal.searchPlaceholder, rawProps: { dir: 'auto' } })),
|
|
4120
|
+
React__default.createElement(MoveFocusInside, { className: css$D.search },
|
|
4121
|
+
React__default.createElement(SearchInput, { ...dataSourceStateLens.prop('search').toProps(), onKeyDown: onKeyDownHandler, placeholder: i18n.pickerModal.searchPlaceholder, rawProps: {
|
|
4122
|
+
dir: 'auto',
|
|
4123
|
+
'aria-activedescendant': focusedRowId,
|
|
4124
|
+
} }))),
|
|
4008
4125
|
!isSingleSelect() && (React__default.createElement(Switch, { cx: css$D.switch, size: settings.pickerInput.sizes.body.footerSwitchMap[settings.pickerInput.sizes.body.row], ...getFooterProps().showSelected, isDisabled: isSearching || view.getSelectedRowsCount() < 1, label: "Show only selected" })),
|
|
4009
4126
|
props.renderFilter && React__default.createElement(FlexCell, { grow: 2 }, props.renderFilter(dataSourceStateLens.prop('filter').toProps()))),
|
|
4010
|
-
React__default.createElement(DataPickerBody, { ...getListProps(), value: dataSourceState, onValueChange: handleDataSourceValueChange, showSearch: false, getName: getName, rows: dataRows, renderRow: renderRow, renderEmpty: renderNotFound, size: settings.pickerInput.sizes.body.row }),
|
|
4127
|
+
React__default.createElement(DataPickerBody, { ...getListProps(), value: dataSourceState, onValueChange: handleDataSourceValueChange, showSearch: false, getName: getName, rows: dataRows, renderRow: renderRow, renderEmpty: renderNotFound, size: settings.pickerInput.sizes.body.row, onKeyDown: onKeyDownHandler }),
|
|
4011
4128
|
React__default.createElement(ModalFooter, null, props.renderFooter ? props.renderFooter(getFooterProps()) : renderFooter()))));
|
|
4012
4129
|
}
|
|
4013
4130
|
|
|
4014
|
-
var css$C = {"tooltip":"
|
|
4131
|
+
var css$C = {"tooltip":"_9oGJQc","noShrink":"vgbsQr"};
|
|
4015
4132
|
|
|
4016
4133
|
const PickerTogglerTag = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
4017
4134
|
const tagProps = {
|
|
@@ -4023,14 +4140,14 @@ const PickerTogglerTag = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
|
4023
4140
|
if (props.isCollapsed) {
|
|
4024
4141
|
const collapsedRows = props.collapsedRows.map((row) => props.getName(row.value)).join(', ');
|
|
4025
4142
|
return (React.createElement(Tooltip, { key: "selected", content: collapsedRows, closeDelay: 150, closeOnMouseLeave: "boundary", cx: css$C.tooltip },
|
|
4026
|
-
React.createElement(Tag, { ref: ref, rawProps: { role: 'option' }, ...tagProps })));
|
|
4143
|
+
React.createElement(Tag, { ref: ref, rawProps: { role: 'option' }, ...tagProps, cx: css$C.noShrink })));
|
|
4027
4144
|
}
|
|
4028
4145
|
else {
|
|
4029
4146
|
return React.createElement(Tag, { ref: ref, rawProps: { role: 'option' }, ...tagProps });
|
|
4030
4147
|
}
|
|
4031
4148
|
});
|
|
4032
4149
|
|
|
4033
|
-
var css$B = {"root":"
|
|
4150
|
+
var css$B = {"root":"rAzO0P"};
|
|
4034
4151
|
|
|
4035
4152
|
const defaultMode = EditMode.FORM;
|
|
4036
4153
|
function applyPickerTogglerMods(mods) {
|
|
@@ -4100,7 +4217,7 @@ function PickerInputComponent(props, ref) {
|
|
|
4100
4217
|
const bodyHeight = isMobile() ? document.documentElement.clientHeight : props.dropdownHeight || settings.pickerInput.sizes.body.maxHeight;
|
|
4101
4218
|
const minBodyWidth = props.minBodyWidth || settings.pickerInput.sizes.body.minWidth;
|
|
4102
4219
|
const onKeyDown = (e) => handlePickerInputKeyboard(rows, e);
|
|
4103
|
-
return (React__default.createElement(PickerBodyMobileView, { title: props.entityName, onClose: () => toggleBodyOpening(false), cx: [props.bodyCx, 'uui-picker_input-body-wrapper'],
|
|
4220
|
+
return (React__default.createElement(PickerBodyMobileView, { title: props.entityName, onClose: () => toggleBodyOpening(false), cx: [props.bodyCx, 'uui-picker_input-body-wrapper'], width: dropdownProps.togglerWidth > minBodyWidth ? dropdownProps.togglerWidth : minBodyWidth, focusLock: true, shards: getSearchPosition() === 'input' ? [togglerRef] : undefined },
|
|
4104
4221
|
React__default.createElement(DataPickerBody, { ...dropdownProps, ...getListProps(), showSearch: getSearchPosition() === 'body', getName: getName, value: dataSourceState, onValueChange: handleDataSourceValueChange, rows: rows, maxHeight: bodyHeight, searchSize: props.size, selectionMode: props.selectionMode, renderNotFound: props.renderNotFound, renderEmpty: props.renderEmpty, renderRow: props.renderRow, onKeyDown: onKeyDown, minCharsToSearch: props.minCharsToSearch, fixedBodyPosition: props.fixedBodyPosition, searchDebounceDelay: props.searchDebounceDelay, rawProps: props.rawProps?.body, highlightSearchMatches: props.highlightSearchMatches, flattenSearchResults: view.getConfig().flattenSearchResults }),
|
|
4105
4222
|
renderFooter()));
|
|
4106
4223
|
};
|
|
@@ -4108,11 +4225,11 @@ function PickerInputComponent(props, ref) {
|
|
|
4108
4225
|
return (React__default.createElement(Dropdown, { renderTarget: (dropdownProps) => {
|
|
4109
4226
|
const targetProps = getTogglerProps();
|
|
4110
4227
|
return renderTarget({ ...dropdownProps, ...targetProps, renderItem });
|
|
4111
|
-
}, renderBody: (bodyProps) => renderBody(bodyProps), value: shouldShowBody(), onValueChange: !props.isDisabled && toggleBodyOpening, placement: props.dropdownPlacement, middleware: middleware, closeBodyOnTogglerHidden:
|
|
4228
|
+
}, renderBody: (bodyProps) => renderBody(bodyProps), value: shouldShowBody(), onValueChange: !props.isDisabled && toggleBodyOpening, placement: props.dropdownPlacement, middleware: middleware, closeBodyOnTogglerHidden: isMobile() ? false : props.closeBodyOnTogglerHidden, portalTarget: props.portalTarget, ref: togglerRef }));
|
|
4112
4229
|
}
|
|
4113
4230
|
const PickerInput = /* @__PURE__ */React__default.forwardRef(PickerInputComponent);
|
|
4114
4231
|
|
|
4115
|
-
var css$A = {"row":"
|
|
4232
|
+
var css$A = {"row":"IRYzzb"};
|
|
4116
4233
|
|
|
4117
4234
|
function PickerListRow(props) {
|
|
4118
4235
|
let label;
|
|
@@ -4132,7 +4249,7 @@ function PickerListRow(props) {
|
|
|
4132
4249
|
return (React__default.createElement("div", { role: "option", "aria-selected": props.isSelectable ? props.isSelected : undefined, "aria-busy": props.isLoading, "aria-posinset": props.index + 1, ...(props.checkbox?.isVisible && { 'aria-checked': props.isChecked }), className: css$A.row }, component));
|
|
4133
4250
|
}
|
|
4134
4251
|
|
|
4135
|
-
var css$z = {"root":"
|
|
4252
|
+
var css$z = {"root":"UM4vUK"};
|
|
4136
4253
|
|
|
4137
4254
|
function PickerList(props) {
|
|
4138
4255
|
const { context, view, onlySelectedView, getName, getEntityName, appendLastSelected, getSelectedIdsArray, buildRowsList, getMaxDefaultItems, getModalTogglerCaption, } = usePickerList(props);
|
|
@@ -4167,7 +4284,7 @@ function PickerList(props) {
|
|
|
4167
4284
|
}, selectedRows)));
|
|
4168
4285
|
}
|
|
4169
4286
|
|
|
4170
|
-
var css$y = {"root":"
|
|
4287
|
+
var css$y = {"root":"dP7eDn","wrapper":"NW9Om7","align-widgets-top":"dfrvv-","alignWidgetsTop":"dfrvv-","align-widgets-center":"ai9SyS","alignWidgetsCenter":"ai9SyS"};
|
|
4171
4288
|
|
|
4172
4289
|
function DataTableCell(initialProps) {
|
|
4173
4290
|
const props = { ...initialProps };
|
|
@@ -4217,7 +4334,7 @@ function DataTableCell(initialProps) {
|
|
|
4217
4334
|
return React.createElement(DataTableCell$1, { ...props });
|
|
4218
4335
|
}
|
|
4219
4336
|
|
|
4220
|
-
var css$x = {"root":"
|
|
4337
|
+
var css$x = {"root":"XbIJkD"};
|
|
4221
4338
|
|
|
4222
4339
|
// Here we define a single instance of the renderCell function to make DataTableRow#shouldComponentUpdate work.
|
|
4223
4340
|
// As we need our mods to style the cell properly, we extract them from DataTableCellProps.rowProps, which is a hack, but it's reliable enough.
|
|
@@ -4233,7 +4350,7 @@ const DataTableRow = /* @__PURE__ */withMods(DataTableRow$1, ({ borderBottom = t
|
|
|
4233
4350
|
];
|
|
4234
4351
|
}, () => propsMods);
|
|
4235
4352
|
|
|
4236
|
-
var css$w = {"sorting-panel-container":"
|
|
4353
|
+
var css$w = {"sorting-panel-container":"_67mvhh","sortingPanelContainer":"_67mvhh"};
|
|
4237
4354
|
|
|
4238
4355
|
const SortingPanelImpl = ({ sortDirection, onSort }) => {
|
|
4239
4356
|
const sortAsc = useCallback(() => onSort(sortDirection === 'asc' ? undefined : 'asc'), [onSort]);
|
|
@@ -4253,7 +4370,7 @@ const ColumnHeaderDropdownImpl = (props) => {
|
|
|
4253
4370
|
};
|
|
4254
4371
|
const ColumnHeaderDropdown = /* @__PURE__ */React__default.memo(ColumnHeaderDropdownImpl);
|
|
4255
4372
|
|
|
4256
|
-
var css$v = {"root":"
|
|
4373
|
+
var css$v = {"root":"-jSBQe","caption-wrapper":"GWe86i","captionWrapper":"GWe86i","sort-icon":"P-3OKG","sortIcon":"P-3OKG","dropdown-icon":"xFkaX6","dropdownIcon":"xFkaX6","infoIcon":"DVOXmS","sortInActive":"dZf-ty","align-right":"QiKNM8","alignRight":"QiKNM8","align-center":"JCNoQ-","alignCenter":"JCNoQ-","caption":"yDy6h1","truncate":"EB-63z","upper-case":"jkDjHa","upperCase":"jkDjHa","checkbox":"FN2OBP","icon":"JDaLPL","fold-all-icon":"n-573A","foldAllIcon":"n-573A","cell-tooltip":"KMyw8k","cellTooltip":"KMyw8k","resizing-marker":"m-05GA","resizingMarker":"m-05GA","pinned-right":"Pyjecl","pinnedRight":"Pyjecl","draggable":"Li2F7g","ghost":"FRMvTF","is-dragged-out":"nTmRSy","isDraggedOut":"nTmRSy","dnd-marker-left":"_38h3Uu","dndMarkerLeft":"_38h3Uu","dnd-marker-right":"PyYdvz","dndMarkerRight":"PyYdvz","cell-tooltip-wrapper":"S4iNUD","cellTooltipWrapper":"S4iNUD","cell-tooltip-text":"qpaQ5D","cellTooltipText":"qpaQ5D","tooltip-caption":"okDXBx","tooltipCaption":"okDXBx","tooltip-info":"gl9OdB","tooltipInfo":"gl9OdB"};
|
|
4257
4374
|
|
|
4258
4375
|
class DataTableHeaderCell extends React.Component {
|
|
4259
4376
|
constructor() {
|
|
@@ -4264,7 +4381,7 @@ class DataTableHeaderCell extends React.Component {
|
|
|
4264
4381
|
this.getTooltipContent = (column) => (React.createElement("div", { className: cx$1(css$v.cellTooltipWrapper, uuiDataTableHeaderCell.uuiTableHeaderCaptionTooltip) },
|
|
4265
4382
|
React.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipCaption] }, column.caption),
|
|
4266
4383
|
column.info && (React.createElement(Text, { cx: [css$v.cellTooltipText, css$v.tooltipInfo] }, column.info))));
|
|
4267
|
-
this.getColumnCaption = () => {
|
|
4384
|
+
this.getColumnCaption = (props, dropdownProps) => {
|
|
4268
4385
|
const renderTooltip = this.props.column.renderTooltip || this.getTooltipContent;
|
|
4269
4386
|
const captionCx = cx$1([
|
|
4270
4387
|
css$v.caption,
|
|
@@ -4273,12 +4390,24 @@ class DataTableHeaderCell extends React.Component {
|
|
|
4273
4390
|
'uui-typography-inline',
|
|
4274
4391
|
this.props.size >= '48' && css$v.truncate,
|
|
4275
4392
|
]);
|
|
4393
|
+
const handleFilterOpen = (e) => {
|
|
4394
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
4395
|
+
dropdownProps.onClick(e);
|
|
4396
|
+
e.preventDefault();
|
|
4397
|
+
}
|
|
4398
|
+
};
|
|
4399
|
+
const handleSort = (e) => {
|
|
4400
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
4401
|
+
props.toggleSort(e);
|
|
4402
|
+
e.preventDefault();
|
|
4403
|
+
}
|
|
4404
|
+
};
|
|
4276
4405
|
return (React.createElement("div", { className: cx$1(css$v.captionWrapper, css$v['align-' + this.props.column.textAlign], uuiDataTableHeaderCell.uuiTableHeaderCaptionWrapper) },
|
|
4277
|
-
React.createElement(Tooltip, { placement: "top", color: "inverted", content: renderTooltip(this.props.column), cx: [css$v.cellTooltip, 'uui-dt-header-tooltip'], openDelay: 600 },
|
|
4406
|
+
React.createElement(Tooltip, { placement: "top", color: "inverted", content: renderTooltip(this.props.column), cx: [css$v.cellTooltip, 'uui-dt-header-tooltip'], openDelay: 600, closeOnMouseLeave: "boundary" },
|
|
4278
4407
|
React.createElement("div", { key: "text", className: captionCx }, this.props.column.caption)),
|
|
4279
|
-
this.props.column.isSortable && (!this.props.column.renderFilter || this.props.sortDirection) && (React.createElement(
|
|
4408
|
+
this.props.column.isSortable && (!this.props.column.renderFilter || this.props.sortDirection) && (React.createElement(ControlIcon, { key: "sort", cx: cx$1(css$v.icon, css$v.sortIcon, !this.props.sortDirection && css$v.sortInActive, uuiDataTableHeaderCell.uuiTableHeaderSortIcon), icon: settings.dataTable.icons.header[this.props.sortDirection === 'desc' ? 'descSortIcon' : this.props.sortDirection === 'asc' ? 'ascSortIcon' : 'defaultSortIcon'], onKeyDown: !this.props.column.renderFilter ? handleSort : undefined })),
|
|
4280
4409
|
this.props.isFilterActive && (React.createElement(IconButton, { key: "filter", cx: cx$1(css$v.icon, !this.props.sortDirection && css$v.filterIcon, uuiDataTableHeaderCell.uuiTableHeaderFilterIcon), color: "neutral", icon: settings.dataTable.icons.header.filterIcon })),
|
|
4281
|
-
this.props.column.renderFilter && (React.createElement(
|
|
4410
|
+
this.props.column.renderFilter && (React.createElement(ControlIcon, { key: "dropdown", cx: cx$1(css$v.icon, css$v.dropdownIcon, uuiDataTableHeaderCell.uuiTableHeaderDropdownIcon), icon: settings.dataTable.icons.header[this.state.isDropdownOpen ? 'openedDropdownIcon' : 'dropdownIcon'], onKeyDown: handleFilterOpen }))));
|
|
4282
4411
|
};
|
|
4283
4412
|
this.renderHeaderCheckbox = () => {
|
|
4284
4413
|
if (this.props.selectAll && this.props.isFirstColumn) {
|
|
@@ -4290,7 +4419,7 @@ class DataTableHeaderCell extends React.Component {
|
|
|
4290
4419
|
return (React.createElement(Tooltip, { content: this.props.areAllFolded
|
|
4291
4420
|
? i18n.tables.columnHeader.expandAllTooltip
|
|
4292
4421
|
: i18n.tables.columnHeader.collapseAllTooltip },
|
|
4293
|
-
React.createElement(
|
|
4422
|
+
React.createElement(ControlIcon, { cx: cx$1(css$v.icon, css$v.foldAllIcon, uuiDataTableHeaderCell.uuiTableHeaderFoldAllIcon), icon: settings.dataTable.icons.header[this.props.areAllFolded ? 'unfoldIcon' : 'foldIcon'], onClick: this.props.onFoldAll, rawProps: {
|
|
4294
4423
|
'aria-label': this.props.areAllFolded ? 'Expand All' : 'Collapse All',
|
|
4295
4424
|
'aria-expanded': !!this.props.areAllFolded,
|
|
4296
4425
|
} })));
|
|
@@ -4334,7 +4463,7 @@ class DataTableHeaderCell extends React.Component {
|
|
|
4334
4463
|
}, style: computeStyles },
|
|
4335
4464
|
this.renderHeaderCheckbox(),
|
|
4336
4465
|
this.renderFoldAllIcon(),
|
|
4337
|
-
this.getColumnCaption(),
|
|
4466
|
+
this.getColumnCaption(props, dropdownProps),
|
|
4338
4467
|
isResizable && this.renderResizingMarker(props)));
|
|
4339
4468
|
};
|
|
4340
4469
|
this.renderCellWithFilter = (props) => (React.createElement(ColumnHeaderDropdown, { isOpen: this.state.isDropdownOpen, isSortable: this.props.column.isSortable, renderTarget: (dropdownProps) => this.renderCellContent(props, dropdownProps), renderFilter: this.props.renderFilter, onSort: this.props.onSort, sortDirection: this.props.sortDirection, onOpenChange: (isDropdownOpen) => this.setState({ isDropdownOpen }), title: this.props.column.caption }));
|
|
@@ -4347,7 +4476,7 @@ class DataTableHeaderCell extends React.Component {
|
|
|
4347
4476
|
}
|
|
4348
4477
|
}
|
|
4349
4478
|
|
|
4350
|
-
var css$u = {"root":"
|
|
4479
|
+
var css$u = {"root":"b8QkZF","caption-wrapper":"EeCWH9","captionWrapper":"EeCWH9","align-center":"tpVIVy","alignCenter":"tpVIVy","caption":"lYE5iK","truncate":"-YgWfh","upper-case":"RdSUl2","upperCase":"RdSUl2","group-cell-tooltip":"WfKpF3","groupCellTooltip":"WfKpF3","group-cell-tooltip-wrapper":"RRWwhc","groupCellTooltipWrapper":"RRWwhc","group-cell-tooltip-text":"fLrR4k","groupCellTooltipText":"fLrR4k","tooltip-caption":"W-Yk1r","tooltipCaption":"W-Yk1r","tooltip-info":"-na-FV","tooltipInfo":"-na-FV"};
|
|
4351
4480
|
|
|
4352
4481
|
class DataTableHeaderGroupCell extends React.Component {
|
|
4353
4482
|
constructor() {
|
|
@@ -4387,13 +4516,15 @@ class DataTableHeaderGroupCell extends React.Component {
|
|
|
4387
4516
|
}
|
|
4388
4517
|
}
|
|
4389
4518
|
|
|
4390
|
-
var css$t = {"root":"
|
|
4519
|
+
var css$t = {"root":"C-qhBY"};
|
|
4391
4520
|
|
|
4392
|
-
const DataTableHeaderRow = /* @__PURE__ */withMods(DataTableHeaderRow$1, () => [css$t.root, 'uui-dt-vars'], (mods) =>
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
}))
|
|
4521
|
+
const DataTableHeaderRow = /* @__PURE__ */withMods(DataTableHeaderRow$1, () => [css$t.root, 'uui-dt-vars'], (mods) => {
|
|
4522
|
+
return ({
|
|
4523
|
+
renderCell: (props) => (React.createElement(DataTableHeaderCell, { ...props, size: mods.size, textCase: mods.textCase || 'normal', key: props.column.key, columnsGap: mods.columnsGap })),
|
|
4524
|
+
renderGroupCell: (props) => (React.createElement(DataTableHeaderGroupCell, { ...props, size: mods.size, textCase: mods.textCase || 'normal', key: props.key, columnsGap: mods.columnsGap })),
|
|
4525
|
+
renderConfigButton: () => (React.createElement(ControlIcon, { key: "configuration", onClick: mods.onConfigButtonClick, size: settings.dataTable.sizes.header.iconMap[mods.size || settings.dataTable.sizes.header.row], cx: ['config-icon'], icon: settings.dataTable.icons.header.configIcon })),
|
|
4526
|
+
});
|
|
4527
|
+
});
|
|
4397
4528
|
|
|
4398
4529
|
const normalizeFilterWithPredicates = (filter) => {
|
|
4399
4530
|
if (!filter) {
|
|
@@ -4483,7 +4614,7 @@ const UUI_FILTERS_PANEL_ITEM_TOGGLER_SELECTION = 'uui-filters-panel-item-toggler
|
|
|
4483
4614
|
const UUI_FILTERS_PANEL_ITEM_TOGGLER_POSTFIX = 'uui-filters-panel-item-toggler-postfix';
|
|
4484
4615
|
const UUI_FILTERS_PANEL_BODY_FOOTER = 'uui-filters-panel-item-footer';
|
|
4485
4616
|
|
|
4486
|
-
var css$s = {"body":"
|
|
4617
|
+
var css$s = {"body":"r5eb0W","header":"sc9W3A","title":"ytKWyK","removeButton":"_5iNUcu","with-search":"xRg-SM","withSearch":"xRg-SM"};
|
|
4487
4618
|
|
|
4488
4619
|
function FilterColumnBody(props) {
|
|
4489
4620
|
const [predicate, setPredicate] = useState(getDefaultPredicate(props.predicates, props.value));
|
|
@@ -4507,7 +4638,7 @@ function FilterColumnBody(props) {
|
|
|
4507
4638
|
return props.predicates?.length > 0 && (React__default.createElement("div", { className: css$s.header },
|
|
4508
4639
|
React__default.createElement(FilterPredicatePanel, { ...panelProps })));
|
|
4509
4640
|
};
|
|
4510
|
-
return (React__default.createElement(DropdownContainer, { style: { minWidth: '360px' }, cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], ...props },
|
|
4641
|
+
return (React__default.createElement(DropdownContainer, { style: { minWidth: '360px' }, cx: [css$s.body, UUI_FILTERS_PANEL_ITEM_BODY], ...props, focusLock: false },
|
|
4511
4642
|
renderHeader(),
|
|
4512
4643
|
React__default.createElement(FilterItemBody, { ...props, selectedPredicate: predicate, value: getValue(predicate, props.value), onValueChange: onValueChange })));
|
|
4513
4644
|
}
|
|
@@ -4544,7 +4675,7 @@ const useColumnsWithFilters = (initialColumns, filters) => {
|
|
|
4544
4675
|
return columns;
|
|
4545
4676
|
};
|
|
4546
4677
|
|
|
4547
|
-
var css$r = {"unpin-icon":"
|
|
4678
|
+
var css$r = {"unpin-icon":"fyTZB9","unpinIcon":"fyTZB9","pin-toggler-icon":"AgLLkb","pinTogglerIcon":"AgLLkb"};
|
|
4548
4679
|
|
|
4549
4680
|
function PinIconButton(props) {
|
|
4550
4681
|
const i18nLocal = i18n.tables.columnsConfigurationModal;
|
|
@@ -4595,7 +4726,7 @@ function getUnpinIcon(params) {
|
|
|
4595
4726
|
}
|
|
4596
4727
|
}
|
|
4597
4728
|
|
|
4598
|
-
var css$q = {"row-wrapper":"
|
|
4729
|
+
var css$q = {"row-wrapper":"n-77Cx","rowWrapper":"n-77Cx","pin-icon-button":"_7g3x2q","pinIconButton":"_7g3x2q","not-pinned":"qJ6hR7","notPinned":"qJ6hR7","checkbox":"K3PYjf","drag-handle":"wJt1Hm","dragHandle":"wJt1Hm","dnd-disabled":"rje-AG","dndDisabled":"rje-AG"};
|
|
4599
4730
|
|
|
4600
4731
|
const ColumnRow = /* @__PURE__ */React.memo(function ColumnRow(props) {
|
|
4601
4732
|
const { column } = props;
|
|
@@ -4629,7 +4760,7 @@ const ColumnRow = /* @__PURE__ */React.memo(function ColumnRow(props) {
|
|
|
4629
4760
|
return (React.createElement(DndActor, { key: column.key, srcData: isDndAllowed && data, dstData: data, canAcceptDrop: onCanAcceptDrop, onDrop: onDrop, render: renderContent }));
|
|
4630
4761
|
});
|
|
4631
4762
|
|
|
4632
|
-
var css$p = {"root":"
|
|
4763
|
+
var css$p = {"root":"_6j0vWm","main-panel":"N1g8-O","mainPanel":"N1g8-O","group":"_8aOzCN","group-title":"_0IaodE","groupTitle":"_0IaodE","group-items":"xY1dN2","groupItems":"xY1dN2","no-data":"CkAMjp","noData":"CkAMjp","no-data-title":"nhPdaX","noDataTitle":"nhPdaX","no-data-sub-title":"bHrLrS","noDataSubTitle":"bHrLrS","h-divider":"N1HPmd","hDivider":"N1HPmd","search-area":"fYJvzs","searchArea":"fYJvzs","subgroup-accordion":"lknJPY","subgroupAccordion":"lknJPY","subgroup":"G3uIgY","subgroup-title":"vnIJI7","subgroupTitle":"vnIJI7"};
|
|
4633
4764
|
|
|
4634
4765
|
const renderGroupTitle = (title, amount) => (React.createElement(FlexRow, { cx: css$p.group },
|
|
4635
4766
|
React.createElement(Text, { size: "none", cx: css$p.groupTitle }, title),
|
|
@@ -4732,7 +4863,7 @@ const getChildrenAndRest = (row, rows) => {
|
|
|
4732
4863
|
return [children, rest];
|
|
4733
4864
|
};
|
|
4734
4865
|
|
|
4735
|
-
var css$o = {"listContainer":"
|
|
4866
|
+
var css$o = {"listContainer":"yHYCYS","header":"bhxwj5","group":"cTKbZY","stickyHeader":"_52acyt"};
|
|
4736
4867
|
|
|
4737
4868
|
function DataRowsGroup({ row, childRows, renderRow, top = 1, }) {
|
|
4738
4869
|
const rowRef = useRef(undefined);
|
|
@@ -4772,7 +4903,7 @@ function DataRowsContainer({ estimatedHeight, listContainerRef, offsetY, rows, r
|
|
|
4772
4903
|
React__default.createElement(DataRowsGroups, { rows: rows, renderRow: renderRow, top: headerRef?.current?.clientHeight }))));
|
|
4773
4904
|
}
|
|
4774
4905
|
|
|
4775
|
-
var css$n = {"root":"
|
|
4906
|
+
var css$n = {"root":"S37H5p","sticky-header":"XZWu-w","stickyHeader":"XZWu-w","no-results":"iLwqmc","noResults":"iLwqmc","icon":"-hkDaN","title":"NSqUzl"};
|
|
4776
4907
|
|
|
4777
4908
|
function DataTable(props) {
|
|
4778
4909
|
const { uuiModals } = useUuiContext();
|
|
@@ -4821,7 +4952,7 @@ function DataTable(props) {
|
|
|
4821
4952
|
: (React.createElement(VirtualList, { value: props.value, onValueChange: props.onValueChange, onScroll: props.onScroll, rowsCount: props.rowsCount, renderRows: renderTableBody, cx: classes, isLoading: props.isReloading, rowsSelector: "[role=row]", rawProps: rawProps })))));
|
|
4822
4953
|
}
|
|
4823
4954
|
|
|
4824
|
-
var css$m = {"root":"
|
|
4955
|
+
var css$m = {"root":"dDgvaY","title-wrapper":"b-yyDG","titleWrapper":"b-yyDG","title":"pqoCsy","text-wrapper":"cTwSWr","textWrapper":"cTwSWr","selection":"Z48drn","postfix":"wcgkx6","selected":"rSK1oZ"};
|
|
4825
4956
|
|
|
4826
4957
|
const FilterPanelItemToggler = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
4827
4958
|
const togglerPickerOpened = (e) => {
|
|
@@ -4920,7 +5051,7 @@ function FilterPickerBody({ highlightSearchMatches = true, ...restProps }) {
|
|
|
4920
5051
|
rows,
|
|
4921
5052
|
}, e);
|
|
4922
5053
|
return (React.createElement(React.Fragment, null,
|
|
4923
|
-
React.createElement(DataPickerBody, { ...getListProps(), selectionMode: props.selectionMode, rows: rows, maxHeight: maxHeight, maxWidth: maxWidth, searchSize: settings.pickerInput.sizes.body.row, showSearch: props.showSearch ?? true, getName: getName, value: dataSourceState, onValueChange: handleDataSourceValueChange, renderRow: props.renderRow, onKeyDown: onKeyDown, minCharsToSearch: props.minCharsToSearch, searchDebounceDelay: props.searchDebounceDelay, rawProps: props.rawProps?.body, highlightSearchMatches: props.highlightSearchMatches, flattenSearchResults: view.getConfig().flattenSearchResults }),
|
|
5054
|
+
React.createElement(DataPickerBody, { ...getListProps(), selectionMode: props.selectionMode, rows: rows, maxHeight: maxHeight, maxWidth: maxWidth, searchSize: settings.pickerInput.sizes.body.row, showSearch: props.showSearch ?? true, getName: getName, value: dataSourceState, onValueChange: handleDataSourceValueChange, renderRow: props.renderRow, onKeyDown: onKeyDown, minCharsToSearch: props.minCharsToSearch, searchDebounceDelay: props.searchDebounceDelay, rawProps: props.rawProps?.body, highlightSearchMatches: props.highlightSearchMatches, flattenSearchResults: view.getConfig().flattenSearchResults, autoFocusSearch: false }),
|
|
4924
5055
|
renderFooter()));
|
|
4925
5056
|
};
|
|
4926
5057
|
return renderBody();
|
|
@@ -5046,7 +5177,7 @@ function FilterRangeDatePickerBody(props) {
|
|
|
5046
5177
|
renderFooter()));
|
|
5047
5178
|
}
|
|
5048
5179
|
|
|
5049
|
-
var css$l = {"container":"
|
|
5180
|
+
var css$l = {"container":"ft2qC5"};
|
|
5050
5181
|
|
|
5051
5182
|
function FilterNumericBody(props) {
|
|
5052
5183
|
const isInRangePredicate = props?.selectedPredicate === 'inRange' || props?.selectedPredicate === 'notInRange';
|
|
@@ -5357,7 +5488,7 @@ function FiltersToolbarImpl(props) {
|
|
|
5357
5488
|
}
|
|
5358
5489
|
const FiltersPanel = /* @__PURE__ */React__default.memo(FiltersToolbarImpl);
|
|
5359
5490
|
|
|
5360
|
-
var css$k = {"delete-button":"
|
|
5491
|
+
var css$k = {"delete-button":"_-5hPFw","deleteButton":"_-5hPFw","tab-button":"VLF6b0","tabButton":"VLF6b0","targetOpen":"lWjwow"};
|
|
5361
5492
|
|
|
5362
5493
|
function PresetActionsDropdown(props) {
|
|
5363
5494
|
const { uuiNotifications } = useUuiContext();
|
|
@@ -5433,7 +5564,7 @@ const UUI_PRESETS_PANEL_MORE_BUTTON = 'uui-presets-panel-more-button';
|
|
|
5433
5564
|
const UUI_PRESETS_PANEL_INPUT = 'uui-presets-panel-input';
|
|
5434
5565
|
const UUI_PRESETS_PANEL_PRESET = 'uui-presets-panel-preset';
|
|
5435
5566
|
|
|
5436
|
-
var css$j = {"preset-input-cell":"
|
|
5567
|
+
var css$j = {"preset-input-cell":"QUGmr6","presetInputCell":"QUGmr6","preset-input":"SPgwC-","presetInput":"SPgwC-"};
|
|
5437
5568
|
|
|
5438
5569
|
function PresetInput(props) {
|
|
5439
5570
|
const [presetCaption, setPresetCaption] = useState(props.preset?.name || '');
|
|
@@ -5460,7 +5591,7 @@ function PresetInput(props) {
|
|
|
5460
5591
|
React__default.createElement(TextInput, { cx: css$j.presetInput, onValueChange: setPresetCaption, value: presetCaption, onCancel: cancelActionHandler, onAccept: acceptActionHandler, onBlur: newPresetOnBlurHandler, autoFocus: true, maxLength: 50, isReadonly: readonly })));
|
|
5461
5592
|
}
|
|
5462
5593
|
|
|
5463
|
-
var css$i = {"preset":"
|
|
5594
|
+
var css$i = {"preset":"PZ-zOo","activePreset":"PDkkM9"};
|
|
5464
5595
|
|
|
5465
5596
|
function Preset(props) {
|
|
5466
5597
|
const [isRenamePreset, setIsRenamePreset] = useState(false);
|
|
@@ -5485,7 +5616,7 @@ function Preset(props) {
|
|
|
5485
5616
|
return (React__default.createElement(FlexCell, { key: props.preset.id, alignSelf: "center", width: "auto" }, isRenamePreset ? (React__default.createElement(PresetInput, { onCancel: cancelRenamePreset, onSuccess: handlePresetRename, preset: props.preset })) : (React__default.createElement(TabButton, { caption: props.preset.name, onClick: !isPresetActive && choosePresetHandler, cx: [css$i.preset, isPresetActive && css$i.activePreset, UUI_PRESETS_PANEL_PRESET], size: settings.presetsPanel.sizes.tabButton, withNotify: isPresetActive && props.hasPresetChanged(props.preset), icon: PresetActionsDropdownComponent, iconPosition: "right", isActive: isPresetActive }))));
|
|
5486
5617
|
}
|
|
5487
5618
|
|
|
5488
|
-
var css$h = {"divider":"
|
|
5619
|
+
var css$h = {"divider":"WOmaBb","dropdownDeleteIcon":"T4rp4W","presetsWrapper":"ZNQgBM","addPresetContainer":"QMqXqP","dropContainer":"_1bSjc9"};
|
|
5489
5620
|
|
|
5490
5621
|
function PresetsPanel(props) {
|
|
5491
5622
|
const [isAddingPreset, setIsAddingPreset] = useState(false);
|
|
@@ -5534,9 +5665,9 @@ function PresetsPanel(props) {
|
|
|
5534
5665
|
React__default.createElement(AdaptivePanel, { items: getPanelItems() }))));
|
|
5535
5666
|
}
|
|
5536
5667
|
|
|
5537
|
-
var css$g = {"root":"
|
|
5668
|
+
var css$g = {"root":"t8-NPo"};
|
|
5538
5669
|
|
|
5539
|
-
var css$f = {"root":"
|
|
5670
|
+
var css$f = {"root":"ewXK6-","burger-content":"kdHv-a","burgerContent":"kdHv-a"};
|
|
5540
5671
|
|
|
5541
5672
|
var _path$3;
|
|
5542
5673
|
function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
|
|
@@ -5579,7 +5710,7 @@ var SvgNavigationArrowDownOutline = function SvgNavigationArrowDownOutline(props
|
|
|
5579
5710
|
};
|
|
5580
5711
|
var ForwardRef$2 = /*#__PURE__*/forwardRef(SvgNavigationArrowDownOutline);
|
|
5581
5712
|
|
|
5582
|
-
var css$e = {"root":"
|
|
5713
|
+
var css$e = {"root":"_8Ilk6n","button-primary":"QPa-NJ","buttonPrimary":"QPa-NJ","button-secondary":"fRAmr2","buttonSecondary":"fRAmr2","hasIcon":"KFAERd","dropdown":"p3t6FG"};
|
|
5583
5714
|
|
|
5584
5715
|
function applyBurgerButtonMods(props) {
|
|
5585
5716
|
return [
|
|
@@ -5604,13 +5735,13 @@ const BurgerButton = /* @__PURE__ */React__default.forwardRef((props, ref) => {
|
|
|
5604
5735
|
}, dropdownIcon: ForwardRef$2 }));
|
|
5605
5736
|
});
|
|
5606
5737
|
|
|
5607
|
-
var css$d = {"search-input":"
|
|
5738
|
+
var css$d = {"search-input":"_1KAIub","searchInput":"_1KAIub"};
|
|
5608
5739
|
|
|
5609
5740
|
function BurgerSearch(props) {
|
|
5610
5741
|
return (React.createElement(TextInput$1, { cx: cx(css$d.searchInput, 'uui-main_menu-burger-search'), iconPosition: "left", icon: ForwardRef$M, placeholder: props.placeholder, value: props.value, onValueChange: props.onValueChange, onCancel: props.onCancel, cancelIcon: props.value && ForwardRef$Q }));
|
|
5611
5742
|
}
|
|
5612
5743
|
|
|
5613
|
-
var css$c = {"root":"
|
|
5744
|
+
var css$c = {"root":"ROgiG4","group-header":"_6S946v","groupHeader":"_6S946v","group-name":"iLGH3Z","groupName":"iLGH3Z","line":"Mcdy7O"};
|
|
5614
5745
|
|
|
5615
5746
|
function BurgerGroupHeader(props) {
|
|
5616
5747
|
return (React.createElement("div", { className: cx(css$c.root, css$c.groupHeader, 'uui-burger-group-header') },
|
|
@@ -5618,7 +5749,7 @@ function BurgerGroupHeader(props) {
|
|
|
5618
5749
|
React.createElement("span", { className: css$c.groupName }, props.caption)));
|
|
5619
5750
|
}
|
|
5620
5751
|
|
|
5621
|
-
var css$b = {"root":"
|
|
5752
|
+
var css$b = {"root":"Sk6zpH","type-primary":"qIfIC6","typePrimary":"qIfIC6","type-secondary":"_1kinCy","typeSecondary":"_1kinCy"};
|
|
5622
5753
|
|
|
5623
5754
|
const MainMenuButton = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
5624
5755
|
const { type, ...clickableProps } = props;
|
|
@@ -5646,7 +5777,7 @@ const MainMenuButton = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
|
5646
5777
|
props.isDropdown && (React.createElement(IconContainer, { icon: ForwardRef$P, flipY: props.isOpen }))));
|
|
5647
5778
|
});
|
|
5648
5779
|
|
|
5649
|
-
var css$a = {"dropdown-body":"
|
|
5780
|
+
var css$a = {"dropdown-body":"tUmYE9","dropdownBody":"tUmYE9"};
|
|
5650
5781
|
|
|
5651
5782
|
function MainMenuDropdown(props) {
|
|
5652
5783
|
const handleEscape = (e, onClose, isOpen) => {
|
|
@@ -5654,10 +5785,13 @@ function MainMenuDropdown(props) {
|
|
|
5654
5785
|
onClose();
|
|
5655
5786
|
}
|
|
5656
5787
|
};
|
|
5657
|
-
return (React__default.createElement(Dropdown$1, { renderTarget: (dropdownProps) => (React__default.createElement(MainMenuButton, { caption: props.caption, ...dropdownProps, rawProps:
|
|
5788
|
+
return (React__default.createElement(Dropdown$1, { renderTarget: (dropdownProps) => (React__default.createElement(MainMenuButton, { caption: props.caption, ...dropdownProps, rawProps: {
|
|
5789
|
+
'aria-haspopup': 'menu',
|
|
5790
|
+
...props.rawProps,
|
|
5791
|
+
}, isActive: props.isActive, isDropdown: true })), renderBody: (dropdownBodyProps) => (React__default.createElement(FocusLock, { returnFocus: true, persistentFocus: true, lockProps: {
|
|
5658
5792
|
onKeyDown: (e) => handleEscape(e, dropdownBodyProps.onClose, dropdownBodyProps.isOpen),
|
|
5659
5793
|
} },
|
|
5660
|
-
React__default.createElement("div", { className: cx(css$a.dropdownBody, 'uui-main_menu-dropdown', props.cx) }, props.renderBody({ ...dropdownBodyProps })))), placement: "bottom-start" }));
|
|
5794
|
+
React__default.createElement("div", { className: cx(css$a.dropdownBody, 'uui-main_menu-dropdown', props.cx), role: "menu" }, props.renderBody({ ...dropdownBodyProps })))), placement: "bottom-start" }));
|
|
5661
5795
|
}
|
|
5662
5796
|
|
|
5663
5797
|
function applyMainMenuMods() {
|
|
@@ -5689,12 +5823,12 @@ var SvgNavigationGlobalMenuOutlineOutline = function SvgNavigationGlobalMenuOutl
|
|
|
5689
5823
|
};
|
|
5690
5824
|
var ForwardRef$1 = /*#__PURE__*/forwardRef(SvgNavigationGlobalMenuOutlineOutline);
|
|
5691
5825
|
|
|
5692
|
-
var css$9 = {"global-menu-btn":"
|
|
5826
|
+
var css$9 = {"global-menu-btn":"iAWp8k","globalMenuBtn":"iAWp8k","global-menu-icon":"zh80jS","globalMenuIcon":"zh80jS"};
|
|
5693
5827
|
|
|
5694
5828
|
const GlobalMenu = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("button", { ref: ref, id: "global_menu_toggle", className: cx(css$9.globalMenuBtn, props.cx), ...props.rawProps },
|
|
5695
5829
|
React.createElement(IconContainer, { size: 36, icon: ForwardRef$1, cx: css$9.globalMenuIcon }))));
|
|
5696
5830
|
|
|
5697
|
-
var css$8 = {"container":"
|
|
5831
|
+
var css$8 = {"container":"_0rzPa1","open":"NSis8h","folding-arrow":"JUNRfE","foldingArrow":"JUNRfE"};
|
|
5698
5832
|
|
|
5699
5833
|
const MainMenuAvatar = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement("button", { ref: ref, className: cx(css$8.container, props.isDropdown && css$8.dropdown, props.isOpen && css$8.open, props.onClick && uuiMarkers.clickable, props.cx), onClick: props.onClick, ...props.rawProps },
|
|
5700
5834
|
React.createElement(Avatar, { size: "36", img: props.avatarUrl }),
|
|
@@ -5702,15 +5836,15 @@ const MainMenuAvatar = /* @__PURE__ */React.forwardRef((props, ref) => (React.cr
|
|
|
5702
5836
|
props.isDropdown && (React.createElement("div", null,
|
|
5703
5837
|
React.createElement(IconContainer, { size: 18, icon: ForwardRef$P, flipY: props.isOpen, cx: css$8.foldingArrow }))))));
|
|
5704
5838
|
|
|
5705
|
-
var css$7 = {"search-input":"
|
|
5839
|
+
var css$7 = {"search-input":"grY23e","searchInput":"grY23e"};
|
|
5706
5840
|
|
|
5707
5841
|
const MainMenuSearch = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement(IEditableDebouncer, { ...props, render: (iEditable) => (React.createElement(TextInput$1, { iconPosition: "left", icon: ForwardRef$M, cancelIcon: props.value?.length > 0 && ForwardRef$Q, ...props, ...iEditable, ref: ref, cx: cx$1(css$7.searchInput, props.cx), ...props.rawProps })) })));
|
|
5708
5842
|
|
|
5709
|
-
var css$6 = {"container":"
|
|
5843
|
+
var css$6 = {"container":"qZaHuG"};
|
|
5710
5844
|
|
|
5711
5845
|
const MainMenuIcon = /* @__PURE__ */React.forwardRef((props, ref) => (React.createElement(IconButton, { ref: ref, icon: props.icon, cx: cx$1(props.cx, css$6.container), ...props })));
|
|
5712
5846
|
|
|
5713
|
-
var css$5 = {"root":"
|
|
5847
|
+
var css$5 = {"root":"_4kJk2f"};
|
|
5714
5848
|
|
|
5715
5849
|
const Anchor = /* @__PURE__ */withMods(Anchor$1, () => [css$5.root]);
|
|
5716
5850
|
|
|
@@ -5768,7 +5902,7 @@ var SvgFileCloudUploadFill = function SvgFileCloudUploadFill(props, ref) {
|
|
|
5768
5902
|
};
|
|
5769
5903
|
var ForwardRef = /*#__PURE__*/forwardRef(SvgFileCloudUploadFill);
|
|
5770
5904
|
|
|
5771
|
-
var css$4 = {"root":"
|
|
5905
|
+
var css$4 = {"root":"P3LwFi","drop-start":"_43ADA7","dropStart":"_43ADA7","drop-over":"isUQjN","dropOver":"isUQjN","link":"xBHuf8","drop-area":"UklNoo","dropArea":"UklNoo","drop-caption":"hIC9Rp","dropCaption":"hIC9Rp","icon-blue":"GYk5m-","iconBlue":"GYk5m-"};
|
|
5772
5906
|
|
|
5773
5907
|
function DropSpot(props) {
|
|
5774
5908
|
const getInfoText = typeof props.infoText === 'string'
|
|
@@ -5786,7 +5920,7 @@ function DropSpot(props) {
|
|
|
5786
5920
|
return React.createElement(DropSpot$1, { render: renderAttachmentArea, onFilesDropped: props.onUploadFiles });
|
|
5787
5921
|
}
|
|
5788
5922
|
|
|
5789
|
-
var css$3 = {"root":"
|
|
5923
|
+
var css$3 = {"root":"c9yGY-"};
|
|
5790
5924
|
|
|
5791
5925
|
const SvgCircleProgress = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
5792
5926
|
const outsetRadius = props.size / 2 - 1;
|
|
@@ -5797,7 +5931,7 @@ const SvgCircleProgress = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
|
5797
5931
|
React.createElement("circle", { strokeWidth: 1, fill: "transparent", r: outsetRadius, cx: props.size / 2, cy: props.size / 2 })));
|
|
5798
5932
|
});
|
|
5799
5933
|
|
|
5800
|
-
var css$2 = {"root":"
|
|
5934
|
+
var css$2 = {"root":"_1s2EcE","file-name":"PNcc3A","fileName":"PNcc3A","default-color":"I540bP","defaultColor":"I540bP","doc-color":"cnpKh5","docColor":"cnpKh5","xls-color":"Jh2HaV","xlsColor":"Jh2HaV","pdf-color":"eE2Hd8","pdfColor":"eE2Hd8","movie-color":"J9PtIz","movieColor":"J9PtIz","img-color":"LKF7o4","imgColor":"LKF7o4","mov-color":"kWdhb2","movColor":"kWdhb2","error-block":"_1CjXRG","errorBlock":"_1CjXRG","icons-block":"YYrn5R","iconsBlock":"YYrn5R"};
|
|
5801
5935
|
|
|
5802
5936
|
const FileCard = /* @__PURE__ */React.forwardRef((props, ref) => {
|
|
5803
5937
|
const [isLoadingShow, setIsLoadingShow] = React.useState(true);
|
|
@@ -5882,41 +6016,41 @@ const getRecoveryMessageConfig = () => ({
|
|
|
5882
6016
|
});
|
|
5883
6017
|
const getErrorPageConfig = () => ({
|
|
5884
6018
|
notFound: {
|
|
5885
|
-
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
5886
|
-
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
6019
|
+
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/404.svg',
|
|
6020
|
+
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/404.svg',
|
|
5887
6021
|
title: i18n.errorHandler.errorPageConfig.notFound.title,
|
|
5888
6022
|
subtitle: i18n.errorHandler.errorPageConfig.notFound.subtitle,
|
|
5889
6023
|
},
|
|
5890
6024
|
permissionDenied: {
|
|
5891
|
-
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
5892
|
-
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
6025
|
+
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/403.svg',
|
|
6026
|
+
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/403.svg',
|
|
5893
6027
|
title: i18n.errorHandler.errorPageConfig.permissionDenied.title,
|
|
5894
6028
|
subtitle: i18n.errorHandler.errorPageConfig.permissionDenied.subtitle,
|
|
5895
6029
|
},
|
|
5896
6030
|
serverError: {
|
|
5897
|
-
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
5898
|
-
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
6031
|
+
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/500.svg',
|
|
6032
|
+
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/500.svg',
|
|
5899
6033
|
title: i18n.errorHandler.errorPageConfig.serverError.title,
|
|
5900
6034
|
subtitle: i18n.errorHandler.errorPageConfig.serverError.subtitle,
|
|
5901
6035
|
supportLink: i18n.errorHandler.supportMessage,
|
|
5902
6036
|
},
|
|
5903
6037
|
serviceUnavailable: {
|
|
5904
|
-
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
5905
|
-
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
6038
|
+
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/503.svg',
|
|
6039
|
+
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/503.svg',
|
|
5906
6040
|
title: i18n.errorHandler.errorPageConfig.serviceUnavailable.title,
|
|
5907
6041
|
subtitle: i18n.errorHandler.errorPageConfig.serviceUnavailable.subtitle,
|
|
5908
6042
|
supportLink: i18n.errorHandler.supportMessage,
|
|
5909
6043
|
},
|
|
5910
6044
|
default: {
|
|
5911
|
-
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
5912
|
-
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-
|
|
6045
|
+
imageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/Something went wrong.svg',
|
|
6046
|
+
mobileImageUrl: 'https://static.cdn.epam.com/uploads/690afa39a93c88c4dd13758fe1d869d5/EPM-UUI/error-pages-2025/Something went wrong.svg',
|
|
5913
6047
|
title: i18n.errorHandler.errorPageConfig.default.title,
|
|
5914
6048
|
subtitle: i18n.errorHandler.errorPageConfig.default.subtitle,
|
|
5915
6049
|
supportLink: i18n.errorHandler.supportMessage,
|
|
5916
6050
|
},
|
|
5917
6051
|
});
|
|
5918
6052
|
|
|
5919
|
-
var css$1 = {"container":"
|
|
6053
|
+
var css$1 = {"container":"H9pVTU"};
|
|
5920
6054
|
|
|
5921
6055
|
const ErrorPage = (props) => {
|
|
5922
6056
|
const isMobileScreen = isMobile();
|
|
@@ -5928,7 +6062,7 @@ const ErrorPage = (props) => {
|
|
|
5928
6062
|
props?.supportLink && React__default.createElement("div", { className: "uui-error-support-link" }, props?.supportLink))));
|
|
5929
6063
|
};
|
|
5930
6064
|
|
|
5931
|
-
var css = {"recovery-spinner":"
|
|
6065
|
+
var css = {"recovery-spinner":"VDllLm","recoverySpinner":"VDllLm","recovery-message":"yPHBDn","recoveryMessage":"yPHBDn","modal-blocker":"jNKgwb","modalBlocker":"jNKgwb","modalFadeIn":"gp5i0M"};
|
|
5932
6066
|
|
|
5933
6067
|
function ErrorHandler(props) {
|
|
5934
6068
|
const { uuiNotifications, uuiModals, uuiApi } = useUuiContext();
|