@coreui/react-pro 4.9.0 → 4.11.0-next.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/README.md +1 -1
- package/dist/components/calendar/CCalendar.d.ts +12 -0
- package/dist/components/date-range-picker/CDateRangePicker.d.ts +6 -0
- package/dist/components/multi-select/CMultiSelect.d.ts +18 -1
- package/dist/components/multi-select/CMultiSelectOptions.d.ts +1 -0
- package/dist/components/multi-select/types.d.ts +1 -0
- package/dist/components/multi-select/utils.d.ts +5 -0
- package/dist/components/smart-table/CSmartTableInterface.d.ts +1 -1
- package/dist/components/time-picker/CTimePicker.d.ts +6 -0
- package/dist/index.es.js +126 -61
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +126 -61
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/calendar/CCalendar.tsx +79 -44
- package/src/components/calendar/utils.ts +1 -0
- package/src/components/date-range-picker/CDateRangePicker.tsx +14 -0
- package/src/components/dropdown/CDropdown.tsx +33 -30
- package/src/components/multi-select/CMultiSelect.tsx +99 -14
- package/src/components/multi-select/CMultiSelectOptions.tsx +29 -16
- package/src/components/multi-select/types.ts +1 -0
- package/src/components/multi-select/utils.ts +42 -25
- package/src/components/smart-table/CSmartTableInterface.tsx +1 -1
- package/src/components/time-picker/CTimePicker.tsx +9 -0
- package/src/components/virtual-scroller/CVirtualScroller.tsx +8 -7
- package/dist/components/Types.d.ts +0 -14
- package/dist/components/multi-select/CMultiSelectCleaner.d.ts +0 -2
- package/dist/components/multi-select/CMultiSelectSearchInput.d.ts +0 -5
- package/dist/components/pagination/CSmartPagination.d.ts +0 -80
- package/dist/components/time-picker/CTimePicker copy.d.ts +0 -46
- package/dist/utils/calendar.d.ts +0 -23
- package/dist/utils/getNextSibling.d.ts +0 -2
- package/dist/utils/getPreviousSibling.d.ts +0 -2
- package/dist/utils/hooks/index.d.ts +0 -3
- package/dist/utils/hooks/useForkedRef.d.ts +0 -7
- package/dist/utils/hooks/useStateWithCallback.d.ts +0 -2
- package/dist/utils/isVisible.d.ts +0 -2
- package/dist/utils/time.d.ts +0 -21
package/dist/index.es.js
CHANGED
|
@@ -6921,7 +6921,7 @@ var isToday = function (date) {
|
|
|
6921
6921
|
};
|
|
6922
6922
|
|
|
6923
6923
|
var Calendar = function (props) {
|
|
6924
|
-
var addMonths = props.addMonths, calendarDate = props.calendarDate, dayFormat = props.dayFormat, disabledDates = props.disabledDates, endDate = props.endDate, firstDayOfWeek = props.firstDayOfWeek, hoverDate = props.hoverDate, locale = props.locale, maxDate = props.maxDate, minDate = props.minDate, onCellClick = props.onCellClick, onCellKeyDown = props.onCellKeyDown, onCellMouseEnter = props.onCellMouseEnter, onCellMouseLeave = props.onCellMouseLeave, onMonthClick = props.onMonthClick, onYearClick = props.onYearClick, selectEndDate = props.selectEndDate, startDate = props.startDate, view = props.view, weekdayFormat = props.weekdayFormat;
|
|
6924
|
+
var addMonths = props.addMonths, calendarDate = props.calendarDate, dayFormat = props.dayFormat, disabledDates = props.disabledDates, endDate = props.endDate, firstDayOfWeek = props.firstDayOfWeek, hoverDate = props.hoverDate, locale = props.locale, maxDate = props.maxDate, minDate = props.minDate, onCellClick = props.onCellClick, onCellKeyDown = props.onCellKeyDown, onCellMouseEnter = props.onCellMouseEnter, onCellMouseLeave = props.onCellMouseLeave, onMonthClick = props.onMonthClick, onYearClick = props.onYearClick, selectAdjacementDays = props.selectAdjacementDays, selectEndDate = props.selectEndDate, showAdjacementDays = props.showAdjacementDays, startDate = props.startDate, view = props.view, weekdayFormat = props.weekdayFormat;
|
|
6925
6925
|
var _a = useState(calendarDate), date = _a[0], setDate = _a[1];
|
|
6926
6926
|
var _b = useState([]), listOfMonths = _b[0], setListOfMonths = _b[1];
|
|
6927
6927
|
useEffect(function () {
|
|
@@ -6954,7 +6954,7 @@ var Calendar = function (props) {
|
|
|
6954
6954
|
return (React__default$1.createElement("tr", { key: index }, week.map(function (_a, idx) {
|
|
6955
6955
|
var _b;
|
|
6956
6956
|
var date = _a.date, month = _a.month;
|
|
6957
|
-
return (React__default$1.createElement("td", __assign$1({ className: classNames$1('calendar-cell', (_b = {
|
|
6957
|
+
return month === 'current' || showAdjacementDays ? (React__default$1.createElement("td", __assign$1({ className: classNames$1('calendar-cell', (_b = {
|
|
6958
6958
|
today: month === 'current' && isToday(date),
|
|
6959
6959
|
disabled: isDateDisabled(date, minDate, maxDate, disabledDates)
|
|
6960
6960
|
},
|
|
@@ -6968,19 +6968,20 @@ var Calendar = function (props) {
|
|
|
6968
6968
|
_b.selected = isDateSelected(date, startDate, endDate),
|
|
6969
6969
|
_b.start = isStartDate(date, startDate, endDate),
|
|
6970
6970
|
_b.end = isEndDate(date, startDate, endDate),
|
|
6971
|
-
_b)), key: idx, tabIndex: 0, title: date.toLocaleDateString(locale) }, (month === 'current' && {
|
|
6971
|
+
_b)), key: idx, tabIndex: 0, title: date.toLocaleDateString(locale) }, ((month === 'current' || selectAdjacementDays) && {
|
|
6972
6972
|
onBlur: function () { return onCellMouseLeave(); },
|
|
6973
6973
|
onClick: function () { return onCellClick(date); },
|
|
6974
6974
|
onFocus: function () { return onCellMouseEnter(date); },
|
|
6975
6975
|
onKeyDown: function (event) { return onCellKeyDown(event, date); },
|
|
6976
6976
|
onMouseEnter: function () { return onCellMouseEnter(date); },
|
|
6977
6977
|
onMouseLeave: function () { return onCellMouseLeave(); },
|
|
6978
|
-
}), (month !== 'current' &&
|
|
6978
|
+
}), (month !== 'current' &&
|
|
6979
|
+
!selectAdjacementDays && {
|
|
6979
6980
|
onMouseEnter: function () { return onCellMouseLeave(); },
|
|
6980
6981
|
})),
|
|
6981
6982
|
React__default$1.createElement("div", { className: "calendar-cell-inner" }, typeof dayFormat === 'function'
|
|
6982
6983
|
? dayFormat(date)
|
|
6983
|
-
: date.toLocaleDateString(locale, { day: dayFormat }))));
|
|
6984
|
+
: date.toLocaleDateString(locale, { day: dayFormat })))) : (React__default$1.createElement("td", { key: idx }));
|
|
6984
6985
|
})));
|
|
6985
6986
|
}),
|
|
6986
6987
|
view === 'months' &&
|
|
@@ -7022,9 +7023,9 @@ var Navigation = function (props) {
|
|
|
7022
7023
|
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return onNavigationClick('next', true); } }, navNextDoubleIcon ? (navNextDoubleIcon) : (React__default$1.createElement("span", { className: "calendar-nav-icon calendar-nav-icon-double-next" })))))));
|
|
7023
7024
|
};
|
|
7024
7025
|
var CCalendar = forwardRef(function (_a, ref) {
|
|
7025
|
-
var startDate = _a.startDate, endDate = _a.endDate, _b = _a.calendarDate, calendarDate = _b === void 0 ? startDate || endDate || null : _b, _c = _a.calendars, calendars = _c === void 0 ? 1 : _c, className = _a.className, _d = _a.dayFormat, dayFormat = _d === void 0 ? 'numeric' : _d, disabledDates = _a.disabledDates, _e = _a.firstDayOfWeek, firstDayOfWeek = _e === void 0 ? 1 : _e, _f = _a.locale, locale = _f === void 0 ? 'default' : _f, maxDate = _a.maxDate, minDate = _a.minDate, _g = _a.navigation, navigation = _g === void 0 ? true : _g, navNextIcon = _a.navNextIcon, navNextDoubleIcon = _a.navNextDoubleIcon, navPrevIcon = _a.navPrevIcon, navPrevDoubleIcon = _a.navPrevDoubleIcon, navYearFirst = _a.navYearFirst, range = _a.range, selectEndDate = _a.selectEndDate,
|
|
7026
|
+
var startDate = _a.startDate, endDate = _a.endDate, _b = _a.calendarDate, calendarDate = _b === void 0 ? startDate || endDate || null : _b, _c = _a.calendars, calendars = _c === void 0 ? 1 : _c, className = _a.className, _d = _a.dayFormat, dayFormat = _d === void 0 ? 'numeric' : _d, disabledDates = _a.disabledDates, _e = _a.firstDayOfWeek, firstDayOfWeek = _e === void 0 ? 1 : _e, _f = _a.locale, locale = _f === void 0 ? 'default' : _f, maxDate = _a.maxDate, minDate = _a.minDate, _g = _a.navigation, navigation = _g === void 0 ? true : _g, navNextIcon = _a.navNextIcon, navNextDoubleIcon = _a.navNextDoubleIcon, navPrevIcon = _a.navPrevIcon, navPrevDoubleIcon = _a.navPrevDoubleIcon, navYearFirst = _a.navYearFirst, range = _a.range, _h = _a.selectAdjacementDays, selectAdjacementDays = _h === void 0 ? false : _h, selectEndDate = _a.selectEndDate, _j = _a.showAdjacementDays, showAdjacementDays = _j === void 0 ? true : _j, _k = _a.weekdayFormat, weekdayFormat = _k === void 0 ? 2 : _k, onCalendarCellHover = _a.onCalendarCellHover, onCalendarDateChange = _a.onCalendarDateChange, onEndDateChange = _a.onEndDateChange, onStartDateChange = _a.onStartDateChange, onSelectEndChange = _a.onSelectEndChange, onViewChanged = _a.onViewChanged;
|
|
7026
7027
|
var isInitialMount = useRef(true);
|
|
7027
|
-
var
|
|
7028
|
+
var _l = useState(null), _calendarDate = _l[0], setCalendarDate = _l[1];
|
|
7028
7029
|
useEffect(function () {
|
|
7029
7030
|
if (calendarDate === null) {
|
|
7030
7031
|
setCalendarDate(new Date());
|
|
@@ -7035,30 +7036,30 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
7035
7036
|
!isSameDateAs(_calendarDate, date) && setCalendarDate(date);
|
|
7036
7037
|
}
|
|
7037
7038
|
}, [calendarDate]);
|
|
7038
|
-
var
|
|
7039
|
+
var _m = useStateWithCallback(startDate ? new Date(startDate) : null, onStartDateChange, !isInitialMount.current), _startDate = _m[0], setStartDate = _m[1];
|
|
7039
7040
|
useEffect(function () {
|
|
7040
7041
|
var date = startDate ? new Date(startDate) : null;
|
|
7041
7042
|
if (!isSameDateAs(date, _startDate)) {
|
|
7042
7043
|
setStartDate(date);
|
|
7043
7044
|
}
|
|
7044
7045
|
}, [startDate]);
|
|
7045
|
-
var
|
|
7046
|
+
var _o = useStateWithCallback(endDate ? new Date(endDate) : null, onEndDateChange, !isInitialMount.current), _endDate = _o[0], setEndDate = _o[1];
|
|
7046
7047
|
useEffect(function () {
|
|
7047
7048
|
var date = endDate ? new Date(endDate) : null;
|
|
7048
7049
|
if (!isSameDateAs(date, _endDate)) {
|
|
7049
7050
|
setEndDate(date);
|
|
7050
7051
|
}
|
|
7051
7052
|
}, [endDate]);
|
|
7052
|
-
var
|
|
7053
|
-
var
|
|
7053
|
+
var _p = useState(null), _hoverDate = _p[0], setHoverDate = _p[1];
|
|
7054
|
+
var _q = useState(maxDate ? new Date(maxDate) : null), _maxDate = _q[0], setMaxDate = _q[1];
|
|
7054
7055
|
useEffect(function () {
|
|
7055
7056
|
maxDate && setMaxDate(new Date(maxDate));
|
|
7056
7057
|
}, [maxDate]);
|
|
7057
|
-
var
|
|
7058
|
+
var _r = useState(minDate ? new Date(minDate) : null), _minDate = _r[0], setMinDate = _r[1];
|
|
7058
7059
|
useEffect(function () {
|
|
7059
7060
|
minDate && setMinDate(new Date(minDate));
|
|
7060
7061
|
}, [minDate]);
|
|
7061
|
-
var
|
|
7062
|
+
var _s = useStateWithCallback(selectEndDate, onSelectEndChange), _selectEndDate = _s[0], setSelectEndDate = _s[1];
|
|
7062
7063
|
useEffect(function () {
|
|
7063
7064
|
setSelectEndDate(selectEndDate);
|
|
7064
7065
|
}, [selectEndDate]);
|
|
@@ -7068,7 +7069,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
7068
7069
|
onSelectEndChange &&
|
|
7069
7070
|
onSelectEndChange(_selectEndDate);
|
|
7070
7071
|
}, [_selectEndDate]);
|
|
7071
|
-
var
|
|
7072
|
+
var _t = useStateWithCallback('days', onViewChanged), view = _t[0], setView = _t[1];
|
|
7072
7073
|
useEffect(function () {
|
|
7073
7074
|
isInitialMount.current = false;
|
|
7074
7075
|
}, []);
|
|
@@ -7086,10 +7087,12 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
7086
7087
|
setCalendarDate(d);
|
|
7087
7088
|
onCalendarDateChange && onCalendarDateChange(d);
|
|
7088
7089
|
};
|
|
7089
|
-
var handleCellOnClick = function (date) {
|
|
7090
|
+
var handleCellOnClick = function (date, index) {
|
|
7090
7091
|
if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {
|
|
7091
7092
|
return;
|
|
7092
7093
|
}
|
|
7094
|
+
var _date = new Date(date);
|
|
7095
|
+
setCalendarDate(index ? new Date(_date.setMonth(_date.getMonth() - index)) : _date);
|
|
7093
7096
|
if (range) {
|
|
7094
7097
|
if (_selectEndDate) {
|
|
7095
7098
|
setSelectEndDate(false);
|
|
@@ -7133,10 +7136,10 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
7133
7136
|
setHoverDate(null);
|
|
7134
7137
|
onCalendarCellHover && onCalendarCellHover(null);
|
|
7135
7138
|
};
|
|
7136
|
-
var handleCellKeyDown = function (event, date) {
|
|
7139
|
+
var handleCellKeyDown = function (event, date, index) {
|
|
7137
7140
|
if (event.code === 'Space' || event.key === 'Enter') {
|
|
7138
7141
|
event.preventDefault();
|
|
7139
|
-
handleCellOnClick && handleCellOnClick(date);
|
|
7142
|
+
handleCellOnClick && handleCellOnClick(date, index);
|
|
7140
7143
|
return;
|
|
7141
7144
|
}
|
|
7142
7145
|
};
|
|
@@ -7170,13 +7173,13 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
7170
7173
|
return (React__default$1.createElement("div", { className: classNames$1('calendars', className) }, _calendarDate &&
|
|
7171
7174
|
Array.from({ length: calendars }, function (_, index) { return (React__default$1.createElement("div", { className: classNames$1('calendar', view), key: index, ref: ref },
|
|
7172
7175
|
React__default$1.createElement(Navigation, { addMonths: index, calendarDate: _calendarDate, locale: locale, navigation: navigation, navNextDoubleIcon: navNextDoubleIcon, navNextIcon: navNextIcon, navPrevDoubleIcon: navPrevDoubleIcon, navPrevIcon: navPrevIcon, navYearFirst: navYearFirst, onMonthClick: function () { return setView('months'); }, onNavigationClick: handleNavigationOnClick, onYearClick: function () { return setView('years'); }, view: view }),
|
|
7173
|
-
React__default$1.createElement(Calendar, { addMonths: index, calendarDate: _calendarDate, dayFormat: dayFormat, disabledDates: disabledDates, endDate: _endDate, firstDayOfWeek: firstDayOfWeek, hoverDate: _hoverDate, locale: locale, maxDate: _maxDate, minDate: _minDate, onCellClick: handleCellOnClick, onCellKeyDown: handleCellKeyDown, onCellMouseEnter: handleCellMouseEnter, onCellMouseLeave: handleCellMouseLeave, onMonthClick: function (month, view) {
|
|
7176
|
+
React__default$1.createElement(Calendar, { addMonths: index, calendarDate: _calendarDate, dayFormat: dayFormat, disabledDates: disabledDates, endDate: _endDate, firstDayOfWeek: firstDayOfWeek, hoverDate: _hoverDate, locale: locale, maxDate: _maxDate, minDate: _minDate, onCellClick: function (date) { return handleCellOnClick(date, index); }, onCellKeyDown: function (event, date) { return handleCellKeyDown(event, date, index); }, onCellMouseEnter: handleCellMouseEnter, onCellMouseLeave: handleCellMouseLeave, onMonthClick: function (month, view) {
|
|
7174
7177
|
setCalendarPage(0, 0, month);
|
|
7175
7178
|
setView(view);
|
|
7176
7179
|
}, onYearClick: function (date, view) {
|
|
7177
7180
|
setCalendarDate(date);
|
|
7178
7181
|
setView(view);
|
|
7179
|
-
}, selectEndDate: _selectEndDate, startDate: _startDate, view: view, weekdayFormat: weekdayFormat }))); })));
|
|
7182
|
+
}, selectEndDate: _selectEndDate, selectAdjacementDays: selectAdjacementDays, showAdjacementDays: showAdjacementDays, startDate: _startDate, view: view, weekdayFormat: weekdayFormat }))); })));
|
|
7180
7183
|
});
|
|
7181
7184
|
CCalendar.propTypes = {
|
|
7182
7185
|
className: propTypesExports.string,
|
|
@@ -7199,7 +7202,9 @@ CCalendar.propTypes = {
|
|
|
7199
7202
|
navPrevDoubleIcon: propTypesExports.node,
|
|
7200
7203
|
navYearFirst: propTypesExports.bool,
|
|
7201
7204
|
range: propTypesExports.bool,
|
|
7205
|
+
selectAdjacementDays: propTypesExports.bool,
|
|
7202
7206
|
selectEndDate: propTypesExports.bool,
|
|
7207
|
+
showAdjacementDays: propTypesExports.bool,
|
|
7203
7208
|
startDate: propTypesExports.oneOfType([propTypesExports.instanceOf(Date), propTypesExports.string]),
|
|
7204
7209
|
weekdayFormat: propTypesExports.oneOfType([
|
|
7205
7210
|
propTypesExports.func,
|
|
@@ -9916,6 +9921,10 @@ function Reference(_ref) {
|
|
|
9916
9921
|
});
|
|
9917
9922
|
}
|
|
9918
9923
|
|
|
9924
|
+
var PopperManagerWrapper = function (_a) {
|
|
9925
|
+
var children = _a.children, popper = _a.popper;
|
|
9926
|
+
return popper ? React__default$1.createElement(Manager, null, children) : React__default$1.createElement(React__default$1.Fragment, null, children);
|
|
9927
|
+
};
|
|
9919
9928
|
var CDropdownContext = createContext({});
|
|
9920
9929
|
var CDropdown = forwardRef(function (_a, ref) {
|
|
9921
9930
|
var children = _a.children, alignment = _a.alignment, _b = _a.autoClose, autoClose = _b === void 0 ? true : _b, className = _a.className, dark = _a.dark, direction = _a.direction, onHide = _a.onHide, onShow = _a.onShow, _c = _a.placement, placement = _c === void 0 ? 'bottom-start' : _c, _d = _a.popper, popper = _d === void 0 ? true : _d, _e = _a.variant, variant = _e === void 0 ? 'btn-group' : _e, _f = _a.component, component = _f === void 0 ? 'div' : _f, _g = _a.visible, visible = _g === void 0 ? false : _g, rest = __rest$1(_a, ["children", "alignment", "autoClose", "className", "dark", "direction", "onHide", "onShow", "placement", "popper", "variant", "component", "visible"]);
|
|
@@ -9947,16 +9956,13 @@ var CDropdown = forwardRef(function (_a, ref) {
|
|
|
9947
9956
|
_visible && onShow && onShow();
|
|
9948
9957
|
!_visible && onHide && onHide();
|
|
9949
9958
|
}, [_visible]);
|
|
9950
|
-
|
|
9951
|
-
|
|
9959
|
+
return (React__default$1.createElement(CDropdownContext.Provider, { value: contextValues },
|
|
9960
|
+
React__default$1.createElement(PopperManagerWrapper, { popper: popper }, variant === 'input-group' ? (React__default$1.createElement(React__default$1.Fragment, null, children)) : (React__default$1.createElement(Component, __assign$1({ className: classNames$1(variant === 'nav-item' ? 'nav-item dropdown' : variant, {
|
|
9952
9961
|
'dropdown-center': direction === 'center',
|
|
9953
9962
|
'dropup dropup-center': direction === 'dropup-center',
|
|
9954
9963
|
direction: direction && direction !== 'center' && direction !== 'dropup-center',
|
|
9955
9964
|
show: _visible,
|
|
9956
|
-
}, className) }, rest, { ref: forkedRef }), children));
|
|
9957
|
-
};
|
|
9958
|
-
return (React__default$1.createElement(CDropdownContext.Provider, { value: contextValues }, popper ? (React__default$1.createElement(Manager, null,
|
|
9959
|
-
React__default$1.createElement(DropdownContent, null))) : (React__default$1.createElement(DropdownContent, null))));
|
|
9965
|
+
}, className) }, rest, { ref: forkedRef }), children)))));
|
|
9960
9966
|
});
|
|
9961
9967
|
var alignmentDirection = propTypesExports.oneOf(['start', 'end']);
|
|
9962
9968
|
CDropdown.propTypes = {
|
|
@@ -10264,7 +10270,7 @@ var isValidTime = function (time) {
|
|
|
10264
10270
|
|
|
10265
10271
|
var CTimePicker = forwardRef(function (_a, ref) {
|
|
10266
10272
|
var _b;
|
|
10267
|
-
var _c = _a.ampm, ampm = _c === void 0 ? 'auto' : _c, className = _a.className, _d = _a.cleaner, cleaner = _d === void 0 ? true : _d, _e = _a.container, container = _e === void 0 ? 'dropdown' : _e, disabled = _a.disabled, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, _f = _a.footer, footer = _f === void 0 ? true : _f, id = _a.id, _g = _a.indicator, indicator = _g === void 0 ? true : _g, inputReadOnly = _a.inputReadOnly, invalid = _a.invalid, label = _a.label, _h = _a.locale, locale = _h === void 0 ? 'default' : _h, onTimeChange = _a.onTimeChange, onHide = _a.onHide, onShow = _a.onShow, _j = _a.placeholder, placeholder = _j === void 0 ? 'Select time' : _j, _k = _a.seconds, seconds = _k === void 0 ? true : _k, size = _a.size, text = _a.text, time = _a.time, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, _l = _a.variant, variant = _l === void 0 ? 'roll' : _l, visible = _a.visible, rest = __rest$1(_a, ["ampm", "className", "cleaner", "container", "disabled", "feedback", "feedbackInvalid", "feedbackValid", "footer", "id", "indicator", "inputReadOnly", "invalid", "label", "locale", "onTimeChange", "onHide", "onShow", "placeholder", "seconds", "size", "text", "time", "tooltipFeedback", "valid", "variant", "visible"]);
|
|
10273
|
+
var _c = _a.ampm, ampm = _c === void 0 ? 'auto' : _c, className = _a.className, _d = _a.cleaner, cleaner = _d === void 0 ? true : _d, _e = _a.container, container = _e === void 0 ? 'dropdown' : _e, disabled = _a.disabled, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, _f = _a.footer, footer = _f === void 0 ? true : _f, id = _a.id, _g = _a.indicator, indicator = _g === void 0 ? true : _g, inputReadOnly = _a.inputReadOnly, invalid = _a.invalid, label = _a.label, _h = _a.locale, locale = _h === void 0 ? 'default' : _h, onTimeChange = _a.onTimeChange, onHide = _a.onHide, onShow = _a.onShow, _j = _a.placeholder, placeholder = _j === void 0 ? 'Select time' : _j, required = _a.required, _k = _a.seconds, seconds = _k === void 0 ? true : _k, size = _a.size, text = _a.text, time = _a.time, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, _l = _a.variant, variant = _l === void 0 ? 'roll' : _l, visible = _a.visible, rest = __rest$1(_a, ["ampm", "className", "cleaner", "container", "disabled", "feedback", "feedbackInvalid", "feedbackValid", "footer", "id", "indicator", "inputReadOnly", "invalid", "label", "locale", "onTimeChange", "onHide", "onShow", "placeholder", "required", "seconds", "size", "text", "time", "tooltipFeedback", "valid", "variant", "visible"]);
|
|
10268
10274
|
var inputRef = useRef(null);
|
|
10269
10275
|
var _m = useState(convertTimeToDate(time)), date = _m[0], setDate = _m[1];
|
|
10270
10276
|
var _o = useState(null), initialDate = _o[0], setInitialDate = _o[1];
|
|
@@ -10323,7 +10329,7 @@ var CTimePicker = forwardRef(function (_a, ref) {
|
|
|
10323
10329
|
var InputGroup = function () { return (React__default$1.createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
10324
10330
|
React__default$1.createElement(CFormInput, { autoComplete: "off", delay: true, disabled: disabled, onChange: function (event) {
|
|
10325
10331
|
return isValidTime(event.target.value) && setDate(convertTimeToDate(event.target.value));
|
|
10326
|
-
}, placeholder: placeholder, readOnly: inputReadOnly, ref: inputRef }),
|
|
10332
|
+
}, placeholder: placeholder, readOnly: inputReadOnly, required: required, ref: inputRef }),
|
|
10327
10333
|
(indicator || cleaner) && (React__default$1.createElement(CInputGroupText, null,
|
|
10328
10334
|
indicator && (React__default$1.createElement("span", { className: "picker-input-group-indicator" }, typeof indicator === 'boolean' ? (React__default$1.createElement("span", { className: "picker-input-group-icon time-picker-input-icon" })) : (indicator))),
|
|
10329
10335
|
cleaner && date && (React__default$1.createElement("span", { className: "picker-input-group-cleaner", role: "button", onClick: function (event) { return handleClear(event); } }, typeof cleaner === 'boolean' ? (React__default$1.createElement("span", { className: "picker-input-group-icon time-picker-cleaner-icon" })) : (cleaner))))))); };
|
|
@@ -10395,7 +10401,7 @@ var CTimePicker = forwardRef(function (_a, ref) {
|
|
|
10395
10401
|
_b['time-picker-roll'] = variant === 'roll',
|
|
10396
10402
|
_b)) }, variant === 'select' ? React__default$1.createElement(TimePickerSelect, null) : TimePickerRoll()))));
|
|
10397
10403
|
});
|
|
10398
|
-
CTimePicker.propTypes = __assign$1(__assign$1(__assign$1({}, CFormControlWrapper.propTypes), CPicker.propTypes), { ampm: propTypesExports.oneOfType([propTypesExports.oneOf(['auto']), propTypesExports.bool]), className: propTypesExports.string, locale: propTypesExports.string, onTimeChange: propTypesExports.func, seconds: propTypesExports.bool, time: propTypesExports.oneOfType([propTypesExports.instanceOf(Date), propTypesExports.string]), variant: propTypesExports.oneOf(['roll', 'select']) });
|
|
10404
|
+
CTimePicker.propTypes = __assign$1(__assign$1(__assign$1({}, CFormControlWrapper.propTypes), CPicker.propTypes), { ampm: propTypesExports.oneOfType([propTypesExports.oneOf(['auto']), propTypesExports.bool]), className: propTypesExports.string, locale: propTypesExports.string, onTimeChange: propTypesExports.func, required: propTypesExports.bool, seconds: propTypesExports.bool, time: propTypesExports.oneOfType([propTypesExports.instanceOf(Date), propTypesExports.string]), variant: propTypesExports.oneOf(['roll', 'select']) });
|
|
10399
10405
|
CTimePicker.displayName = 'CTimePicker';
|
|
10400
10406
|
|
|
10401
10407
|
var getLocalDateFromString = function (string, locale, time) {
|
|
@@ -10433,7 +10439,7 @@ var getLocalDateFromString = function (string, locale, time) {
|
|
|
10433
10439
|
|
|
10434
10440
|
var _a, _b, _c, _d, _e, _f;
|
|
10435
10441
|
var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
10436
|
-
var _b = _a.calendars, calendars = _b === void 0 ? 2 : _b, className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c, calendarDate = _a.calendarDate, _d = _a.closeOnSelect, closeOnSelect = _d === void 0 ? true : _d, _e = _a.indicator, indicator = _e === void 0 ? true : _e, dayFormat = _a.dayFormat, disabled = _a.disabled, disabledDates = _a.disabledDates, endDate = _a.endDate, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, firstDayOfWeek = _a.firstDayOfWeek, format = _a.format, footer = _a.footer, id = _a.id, inputReadOnly = _a.inputReadOnly, invalid = _a.invalid, label = _a.label, _f = _a.locale, locale = _f === void 0 ? 'default' : _f, maxDate = _a.maxDate, minDate = _a.minDate, navigation = _a.navigation, navYearFirst = _a.navYearFirst, onEndDateChange = _a.onEndDateChange, onHide = _a.onHide, onStartDateChange = _a.onStartDateChange, onShow = _a.onShow, _g = _a.placeholder, placeholder = _g === void 0 ? ['Start date', 'End date'] : _g, _h = _a.range, range = _h === void 0 ? true : _h, ranges = _a.ranges, _j = _a.rangesButtonsColor, rangesButtonsColor = _j === void 0 ? 'secondary' : _j, rangesButtonsSize = _a.rangesButtonsSize, _k = _a.rangesButtonsVariant, rangesButtonsVariant = _k === void 0 ? 'ghost' : _k, _l = _a.separator, separator = _l === void 0 ? true : _l, size = _a.size, startDate = _a.startDate, text = _a.text, timepicker = _a.timepicker, toggler = _a.toggler, _m = _a.todayButton, todayButton = _m === void 0 ? 'Today' : _m, _o = _a.todayButtonColor, todayButtonColor = _o === void 0 ? 'primary' : _o, _p = _a.todayButtonSize, todayButtonSize = _p === void 0 ? 'sm' : _p, todayButtonVariant = _a.todayButtonVariant, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, visible = _a.visible, weekdayFormat = _a.weekdayFormat, rest = __rest$1(_a, ["calendars", "className", "cleaner", "calendarDate", "closeOnSelect", "indicator", "dayFormat", "disabled", "disabledDates", "endDate", "feedback", "feedbackInvalid", "feedbackValid", "firstDayOfWeek", "format", "footer", "id", "inputReadOnly", "invalid", "label", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "onEndDateChange", "onHide", "onStartDateChange", "onShow", "placeholder", "range", "ranges", "rangesButtonsColor", "rangesButtonsSize", "rangesButtonsVariant", "separator", "size", "startDate", "text", "timepicker", "toggler", "todayButton", "todayButtonColor", "todayButtonSize", "todayButtonVariant", "tooltipFeedback", "valid", "visible", "weekdayFormat"]);
|
|
10442
|
+
var _b = _a.calendars, calendars = _b === void 0 ? 2 : _b, className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c, calendarDate = _a.calendarDate, _d = _a.closeOnSelect, closeOnSelect = _d === void 0 ? true : _d, _e = _a.indicator, indicator = _e === void 0 ? true : _e, dayFormat = _a.dayFormat, disabled = _a.disabled, disabledDates = _a.disabledDates, endDate = _a.endDate, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, firstDayOfWeek = _a.firstDayOfWeek, format = _a.format, footer = _a.footer, id = _a.id, inputReadOnly = _a.inputReadOnly, invalid = _a.invalid, label = _a.label, _f = _a.locale, locale = _f === void 0 ? 'default' : _f, maxDate = _a.maxDate, minDate = _a.minDate, navigation = _a.navigation, navYearFirst = _a.navYearFirst, onEndDateChange = _a.onEndDateChange, onHide = _a.onHide, onStartDateChange = _a.onStartDateChange, onShow = _a.onShow, _g = _a.placeholder, placeholder = _g === void 0 ? ['Start date', 'End date'] : _g, _h = _a.range, range = _h === void 0 ? true : _h, ranges = _a.ranges, _j = _a.rangesButtonsColor, rangesButtonsColor = _j === void 0 ? 'secondary' : _j, rangesButtonsSize = _a.rangesButtonsSize, _k = _a.rangesButtonsVariant, rangesButtonsVariant = _k === void 0 ? 'ghost' : _k, required = _a.required, _l = _a.separator, separator = _l === void 0 ? true : _l, selectAdjacementDays = _a.selectAdjacementDays, showAdjacementDays = _a.showAdjacementDays, size = _a.size, startDate = _a.startDate, text = _a.text, timepicker = _a.timepicker, toggler = _a.toggler, _m = _a.todayButton, todayButton = _m === void 0 ? 'Today' : _m, _o = _a.todayButtonColor, todayButtonColor = _o === void 0 ? 'primary' : _o, _p = _a.todayButtonSize, todayButtonSize = _p === void 0 ? 'sm' : _p, todayButtonVariant = _a.todayButtonVariant, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, visible = _a.visible, weekdayFormat = _a.weekdayFormat, rest = __rest$1(_a, ["calendars", "className", "cleaner", "calendarDate", "closeOnSelect", "indicator", "dayFormat", "disabled", "disabledDates", "endDate", "feedback", "feedbackInvalid", "feedbackValid", "firstDayOfWeek", "format", "footer", "id", "inputReadOnly", "invalid", "label", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "onEndDateChange", "onHide", "onStartDateChange", "onShow", "placeholder", "range", "ranges", "rangesButtonsColor", "rangesButtonsSize", "rangesButtonsVariant", "required", "separator", "selectAdjacementDays", "showAdjacementDays", "size", "startDate", "text", "timepicker", "toggler", "todayButton", "todayButtonColor", "todayButtonSize", "todayButtonVariant", "tooltipFeedback", "valid", "visible", "weekdayFormat"]);
|
|
10437
10443
|
var _q = useState(visible), _visible = _q[0], setVisible = _q[1];
|
|
10438
10444
|
var inputStartRef = useRef(null);
|
|
10439
10445
|
var inputEndRef = useRef(null);
|
|
@@ -10534,7 +10540,7 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
10534
10540
|
var InputGroup = function () { return (React__default$1.createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
10535
10541
|
React__default$1.createElement(CFormInput, __assign$1({ autoComplete: "off", className: classNames$1({
|
|
10536
10542
|
hover: inputStartHoverValue,
|
|
10537
|
-
}), delay: true, disabled: disabled }, (id && { name: range ? "".concat(id, "-start-date") : "".concat(id, "-date") }), { placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly || typeof format === 'string', onChange: function (event) {
|
|
10543
|
+
}), delay: true, disabled: disabled }, (id && { name: range ? "".concat(id, "-start-date") : "".concat(id, "-date") }), { placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly || typeof format === 'string', required: required, onChange: function (event) {
|
|
10538
10544
|
var date = getLocalDateFromString(event.target.value, locale, timepicker);
|
|
10539
10545
|
if (date instanceof Date && date.getTime()) {
|
|
10540
10546
|
setCalendarDate(date);
|
|
@@ -10544,7 +10550,7 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
10544
10550
|
range && separator !== false && (React__default$1.createElement(CInputGroupText, null, typeof separator === 'boolean' ? (React__default$1.createElement("span", { className: "picker-input-group-icon date-picker-arrow-icon" })) : (separator))),
|
|
10545
10551
|
range && (React__default$1.createElement(CFormInput, __assign$1({ autoComplete: "off", className: classNames$1({
|
|
10546
10552
|
hover: inputEndHoverValue,
|
|
10547
|
-
}), delay: true, disabled: disabled }, (id && { name: "".concat(id, "-end-date") }), { placeholder: placeholder[1], readOnly: inputReadOnly || typeof format === 'string', onChange: function (event) {
|
|
10553
|
+
}), delay: true, disabled: disabled }, (id && { name: "".concat(id, "-end-date") }), { placeholder: placeholder[1], readOnly: inputReadOnly || typeof format === 'string', required: required, onChange: function (event) {
|
|
10548
10554
|
var date = getLocalDateFromString(event.target.value, locale, timepicker);
|
|
10549
10555
|
if (date instanceof Date && date.getTime()) {
|
|
10550
10556
|
setCalendarDate(date);
|
|
@@ -10581,7 +10587,7 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
10581
10587
|
handleStartDateChange(ranges[key][0]);
|
|
10582
10588
|
handleEndDateChange(ranges[key][1]);
|
|
10583
10589
|
}, size: rangesButtonsSize, variant: rangesButtonsVariant }, key)); }))),
|
|
10584
|
-
React__default$1.createElement(CCalendar, { calendarDate: _calendarDate, calendars: isMobile_1 ? 1 : calendars, className: "date-picker-calendars", dayFormat: dayFormat, disabledDates: disabledDates, endDate: _endDate, firstDayOfWeek: firstDayOfWeek, locale: locale, maxDate: _maxDate, minDate: _minDate, navigation: navigation, navYearFirst: navYearFirst, range: range, selectEndDate: selectEndDate, startDate: _startDate, onCalendarCellHover: function (date) { return handleCalendarCellHover(date); }, onCalendarDateChange: function (date) { return handleCalendarDateChange(date); }, onStartDateChange: function (date) { return handleStartDateChange(date); }, onEndDateChange: function (date) { return handleEndDateChange(date); }, onSelectEndChange: function (value) { return setSelectEndDate(value); }, weekdayFormat: weekdayFormat }),
|
|
10590
|
+
React__default$1.createElement(CCalendar, { calendarDate: _calendarDate, calendars: isMobile_1 ? 1 : calendars, className: "date-picker-calendars", dayFormat: dayFormat, disabledDates: disabledDates, endDate: _endDate, firstDayOfWeek: firstDayOfWeek, locale: locale, maxDate: _maxDate, minDate: _minDate, navigation: navigation, navYearFirst: navYearFirst, range: range, selectAdjacementDays: selectAdjacementDays, selectEndDate: selectEndDate, showAdjacementDays: showAdjacementDays, startDate: _startDate, onCalendarCellHover: function (date) { return handleCalendarCellHover(date); }, onCalendarDateChange: function (date) { return handleCalendarDateChange(date); }, onStartDateChange: function (date) { return handleStartDateChange(date); }, onEndDateChange: function (date) { return handleEndDateChange(date); }, onSelectEndChange: function (value) { return setSelectEndDate(value); }, weekdayFormat: weekdayFormat }),
|
|
10585
10591
|
timepicker && (React__default$1.createElement("div", { className: "date-picker-timepickers" }, isMobile_1 || (range && calendars === 1) ? (React__default$1.createElement(React__default$1.Fragment, null,
|
|
10586
10592
|
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _startDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return date && handleStartDateChange(date); }, time: _startDate, variant: "select" }),
|
|
10587
10593
|
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _endDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return date && handleEndDateChange(date); }, time: _endDate, variant: "select" }))) : (__spreadArray([], Array(calendars), true).map(function (_, index) { return (React__default$1.createElement(CTimePicker, { container: "inline", disabled: index === 0
|
|
@@ -10597,7 +10603,7 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
10597
10603
|
}, time: index === 0 ? _startDate : _endDate, variant: "select" })); }))))))));
|
|
10598
10604
|
});
|
|
10599
10605
|
CDateRangePicker.displayName = 'CDateRangePicker';
|
|
10600
|
-
CDateRangePicker.propTypes = __assign$1(__assign$1(__assign$1(__assign$1({}, CCalendar.propTypes), CFormControlWrapper.propTypes), CPicker.propTypes), { calendars: propTypesExports.number, className: propTypesExports.string, cleaner: propTypesExports.bool, closeOnSelect: propTypesExports.bool, id: propTypesExports.string, indicator: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), inputReadOnly: propTypesExports.bool, placeholder: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.arrayOf(propTypesExports.any)]), range: propTypesExports.bool, ranges: propTypesExports.object, rangesButtonsColor: (_a = CButton.propTypes) === null || _a === void 0 ? void 0 : _a.color, rangesButtonsSize: (_b = CButton.propTypes) === null || _b === void 0 ? void 0 : _b.size, rangesButtonsVariant: (_c = CButton.propTypes) === null || _c === void 0 ? void 0 : _c.variant, separator: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), size: propTypesExports.oneOf(['sm', 'lg']), timepicker: propTypesExports.bool, todayButton: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), todayButtonColor: (_d = CButton.propTypes) === null || _d === void 0 ? void 0 : _d.color, todayButtonSize: (_e = CButton.propTypes) === null || _e === void 0 ? void 0 : _e.size, todayButtonVariant: (_f = CButton.propTypes) === null || _f === void 0 ? void 0 : _f.variant });
|
|
10606
|
+
CDateRangePicker.propTypes = __assign$1(__assign$1(__assign$1(__assign$1({}, CCalendar.propTypes), CFormControlWrapper.propTypes), CPicker.propTypes), { calendars: propTypesExports.number, className: propTypesExports.string, cleaner: propTypesExports.bool, closeOnSelect: propTypesExports.bool, id: propTypesExports.string, indicator: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), inputReadOnly: propTypesExports.bool, placeholder: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.arrayOf(propTypesExports.any)]), range: propTypesExports.bool, ranges: propTypesExports.object, rangesButtonsColor: (_a = CButton.propTypes) === null || _a === void 0 ? void 0 : _a.color, rangesButtonsSize: (_b = CButton.propTypes) === null || _b === void 0 ? void 0 : _b.size, rangesButtonsVariant: (_c = CButton.propTypes) === null || _c === void 0 ? void 0 : _c.variant, required: propTypesExports.bool, separator: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), size: propTypesExports.oneOf(['sm', 'lg']), timepicker: propTypesExports.bool, todayButton: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.node]), todayButtonColor: (_d = CButton.propTypes) === null || _d === void 0 ? void 0 : _d.color, todayButtonSize: (_e = CButton.propTypes) === null || _e === void 0 ? void 0 : _e.size, todayButtonVariant: (_f = CButton.propTypes) === null || _f === void 0 ? void 0 : _f.variant });
|
|
10601
10607
|
|
|
10602
10608
|
var CDatePicker = forwardRef(function (_a, ref) {
|
|
10603
10609
|
var date = _a.date, id = _a.id, onDateChange = _a.onDateChange, _b = _a.placeholder, placeholder = _b === void 0 ? 'Select date' : _b, rest = __rest$1(_a, ["date", "id", "onDateChange", "placeholder"]);
|
|
@@ -11273,15 +11279,15 @@ var CVirtualScroller = forwardRef(function (_a, ref) {
|
|
|
11273
11279
|
setViewportPadding(Number.parseFloat(getComputedStyle(virtualScrollRef.current).paddingTop));
|
|
11274
11280
|
});
|
|
11275
11281
|
useEffect(function () {
|
|
11276
|
-
setItemsNumber(
|
|
11277
|
-
}, [children
|
|
11282
|
+
setItemsNumber(React__default$1.Children.count(children));
|
|
11283
|
+
}, [children]);
|
|
11278
11284
|
useEffect(function () {
|
|
11279
|
-
setViewportHeight(visibleItems * itemHeight + 2 * viewportPadding);
|
|
11280
|
-
}, [viewportPadding, visibleItems
|
|
11285
|
+
setViewportHeight(Math.min(visibleItems, itemsNumber) * itemHeight + 2 * viewportPadding);
|
|
11286
|
+
}, [itemHeight, itemsNumber, viewportPadding, visibleItems]);
|
|
11281
11287
|
useEffect(function () {
|
|
11282
|
-
setMaxHeight(itemsNumber * itemHeight
|
|
11288
|
+
setMaxHeight(itemsNumber * itemHeight);
|
|
11283
11289
|
virtualScrollRef.current && virtualScrollRef.current.scrollTop;
|
|
11284
|
-
}, [
|
|
11290
|
+
}, [itemHeight, itemsNumber]);
|
|
11285
11291
|
useEffect(function () {
|
|
11286
11292
|
setBuffer(Math.floor(visibleItems / 2));
|
|
11287
11293
|
}, [visibleItems]);
|
|
@@ -11293,7 +11299,8 @@ var CVirtualScroller = forwardRef(function (_a, ref) {
|
|
|
11293
11299
|
return (React__default$1.createElement("div", { className: classNames$1('virtual-scroller', className), onScroll: function (event) {
|
|
11294
11300
|
return handleScroll(event.target.scrollTop);
|
|
11295
11301
|
}, ref: forkedRef, style: {
|
|
11296
|
-
height: maxHeight > viewportHeight ? viewportHeight : maxHeight,
|
|
11302
|
+
// height: maxHeight > viewportHeight ? viewportHeight : maxHeight,
|
|
11303
|
+
height: viewportHeight,
|
|
11297
11304
|
overflowY: 'auto',
|
|
11298
11305
|
} },
|
|
11299
11306
|
React__default$1.createElement("div", { className: "virtual-scroller-content", style: {
|
|
@@ -11328,14 +11335,28 @@ CVirtualScroller.propTypes = {
|
|
|
11328
11335
|
};
|
|
11329
11336
|
CVirtualScroller.displayName = 'CVirtualScroller';
|
|
11330
11337
|
|
|
11338
|
+
var createOption = function (text, options) {
|
|
11339
|
+
var value = text.toLowerCase().replace(/\s/g, '-');
|
|
11340
|
+
var uniqueValue = value;
|
|
11341
|
+
var i = 1;
|
|
11342
|
+
while (options.find(function (option) { return String(option.value) === uniqueValue; })) {
|
|
11343
|
+
uniqueValue = "".concat(value, "-").concat(i);
|
|
11344
|
+
i++;
|
|
11345
|
+
}
|
|
11346
|
+
return [
|
|
11347
|
+
{
|
|
11348
|
+
value: uniqueValue,
|
|
11349
|
+
text: text,
|
|
11350
|
+
custom: true,
|
|
11351
|
+
},
|
|
11352
|
+
];
|
|
11353
|
+
};
|
|
11331
11354
|
var filterOptionsList = function (search, _options) {
|
|
11332
11355
|
return search.length > 0
|
|
11333
11356
|
? _options &&
|
|
11334
11357
|
_options.reduce(function (acc, val) {
|
|
11335
11358
|
var options = val.options &&
|
|
11336
|
-
val.options.filter(function (element) {
|
|
11337
|
-
return element.text && element.text.toLowerCase().includes(search.toLowerCase());
|
|
11338
|
-
});
|
|
11359
|
+
val.options.filter(function (element) { return element.text && element.text.toLowerCase().includes(search.toLowerCase()); });
|
|
11339
11360
|
if ((val.text && val.text.toLowerCase().includes(search.toLowerCase())) ||
|
|
11340
11361
|
(options && options.length > 0)) {
|
|
11341
11362
|
acc.push(Object.assign({}, val, options && options.length > 0 && { options: options }));
|
|
@@ -11396,7 +11417,7 @@ var selectOptions = function (options, selected, deselected) {
|
|
|
11396
11417
|
};
|
|
11397
11418
|
|
|
11398
11419
|
var CMultiSelectOptions = forwardRef(function (_a, ref) {
|
|
11399
|
-
var handleOptionOnClick = _a.handleOptionOnClick, options = _a.options, optionsMaxHeight = _a.optionsMaxHeight, optionsStyle = _a.optionsStyle, searchNoResultsLabel = _a.searchNoResultsLabel, selected = _a.selected, virtualScroller = _a.virtualScroller, _b = _a.visibleItems, visibleItems = _b === void 0 ? 10 : _b;
|
|
11420
|
+
var handleOptionOnClick = _a.handleOptionOnClick, loading = _a.loading, options = _a.options, optionsMaxHeight = _a.optionsMaxHeight, optionsStyle = _a.optionsStyle, searchNoResultsLabel = _a.searchNoResultsLabel, selected = _a.selected, virtualScroller = _a.virtualScroller, _b = _a.visibleItems, visibleItems = _b === void 0 ? 10 : _b;
|
|
11400
11421
|
var handleKeyDown = function (event, option) {
|
|
11401
11422
|
if (event.code === 'Space' || event.key === 'Enter') {
|
|
11402
11423
|
event.preventDefault();
|
|
@@ -11431,12 +11452,15 @@ var CMultiSelectOptions = forwardRef(function (_a, ref) {
|
|
|
11431
11452
|
}), key: index, onClick: function () { return handleOptionOnClick && handleOptionOnClick(option); }, onKeyDown: function (event) { return handleKeyDown(event, option); }, tabIndex: 0 }, option.text));
|
|
11432
11453
|
})) : (React__default$1.createElement("div", { className: "form-multi-select-options-empty" }, searchNoResultsLabel));
|
|
11433
11454
|
};
|
|
11434
|
-
return
|
|
11435
|
-
|
|
11436
|
-
|
|
11455
|
+
return (React__default$1.createElement(React__default$1.Fragment, null,
|
|
11456
|
+
virtualScroller ? (React__default$1.createElement(CVirtualScroller, { className: "form-multi-select-options", visibleItems: visibleItems, ref: ref }, createOptions(options))) : (React__default$1.createElement("div", __assign$1({ className: "form-multi-select-options" }, (optionsMaxHeight !== 'auto' && {
|
|
11457
|
+
style: { maxHeight: optionsMaxHeight, overflow: 'scroll' },
|
|
11458
|
+
}), { ref: ref }), createOptions(options))),
|
|
11459
|
+
loading && React__default$1.createElement(CElementCover, null)));
|
|
11437
11460
|
});
|
|
11438
11461
|
CMultiSelectOptions.propTypes = {
|
|
11439
11462
|
handleOptionOnClick: propTypesExports.func,
|
|
11463
|
+
loading: propTypesExports.bool,
|
|
11440
11464
|
options: propTypesExports.array.isRequired,
|
|
11441
11465
|
optionsMaxHeight: propTypesExports.oneOfType([propTypesExports.number, propTypesExports.string]),
|
|
11442
11466
|
optionsStyle: propTypesExports.oneOf(['checkbox', 'text']),
|
|
@@ -11479,14 +11503,27 @@ CMultiSelectSelection.displayName = 'CMultiSelectSelection';
|
|
|
11479
11503
|
|
|
11480
11504
|
var CMultiSelect = forwardRef(function (_a, ref) {
|
|
11481
11505
|
var _b;
|
|
11482
|
-
var className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c, disabled = _a.disabled, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, _d = _a.multiple, multiple = _d === void 0 ? true : _d, id = _a.id, invalid = _a.invalid, label = _a.label, onChange = _a.onChange, onFilterChange = _a.onFilterChange, options = _a.options, _e = _a.optionsMaxHeight, optionsMaxHeight = _e === void 0 ? 'auto' : _e, _f = _a.optionsStyle, optionsStyle = _f === void 0 ? 'checkbox' : _f, _g = _a.placeholder, placeholder = _g === void 0 ? 'Select...' : _g, _h = _a.search, search = _h === void 0 ? true : _h, _j = _a.searchNoResultsLabel, searchNoResultsLabel = _j === void 0 ? 'No results found' : _j, _k = _a.selectAll, selectAll = _k === void 0 ? true : _k, _l = _a.selectAllLabel, selectAllLabel = _l === void 0 ? 'Select all options' : _l, _m = _a.selectionType, selectionType = _m === void 0 ? 'tags' : _m, _o = _a.selectionTypeCounterText, selectionTypeCounterText = _o === void 0 ? 'item(s) selected' : _o, size = _a.size, text = _a.text, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, virtualScroller = _a.virtualScroller, _p = _a.visible, visible = _p === void 0 ? false : _p, _q = _a.visibleItems, visibleItems = _q === void 0 ? 10 : _q, rest = __rest$1(_a, ["className", "cleaner", "disabled", "feedback", "feedbackInvalid", "feedbackValid", "multiple", "id", "invalid", "label", "onChange", "onFilterChange", "options", "optionsMaxHeight", "optionsStyle", "placeholder", "search", "searchNoResultsLabel", "selectAll", "selectAllLabel", "selectionType", "selectionTypeCounterText", "size", "text", "tooltipFeedback", "valid", "virtualScroller", "visible", "visibleItems"]);
|
|
11506
|
+
var allowCreateOptions = _a.allowCreateOptions, className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c, clearSearchOnSelect = _a.clearSearchOnSelect, disabled = _a.disabled, feedback = _a.feedback, feedbackInvalid = _a.feedbackInvalid, feedbackValid = _a.feedbackValid, loading = _a.loading, _d = _a.multiple, multiple = _d === void 0 ? true : _d, id = _a.id, invalid = _a.invalid, label = _a.label, onChange = _a.onChange, onFilterChange = _a.onFilterChange, options = _a.options, _e = _a.optionsMaxHeight, optionsMaxHeight = _e === void 0 ? 'auto' : _e, _f = _a.optionsStyle, optionsStyle = _f === void 0 ? 'checkbox' : _f, _g = _a.placeholder, placeholder = _g === void 0 ? 'Select...' : _g, _h = _a.search, search = _h === void 0 ? true : _h, _j = _a.searchNoResultsLabel, searchNoResultsLabel = _j === void 0 ? 'No results found' : _j, _k = _a.selectAll, selectAll = _k === void 0 ? true : _k, _l = _a.selectAllLabel, selectAllLabel = _l === void 0 ? 'Select all options' : _l, _m = _a.selectionType, selectionType = _m === void 0 ? 'tags' : _m, _o = _a.selectionTypeCounterText, selectionTypeCounterText = _o === void 0 ? 'item(s) selected' : _o, size = _a.size, text = _a.text, tooltipFeedback = _a.tooltipFeedback, valid = _a.valid, virtualScroller = _a.virtualScroller, _p = _a.visible, visible = _p === void 0 ? false : _p, _q = _a.visibleItems, visibleItems = _q === void 0 ? 10 : _q, rest = __rest$1(_a, ["allowCreateOptions", "className", "cleaner", "clearSearchOnSelect", "disabled", "feedback", "feedbackInvalid", "feedbackValid", "loading", "multiple", "id", "invalid", "label", "onChange", "onFilterChange", "options", "optionsMaxHeight", "optionsStyle", "placeholder", "search", "searchNoResultsLabel", "selectAll", "selectAllLabel", "selectionType", "selectionTypeCounterText", "size", "text", "tooltipFeedback", "valid", "virtualScroller", "visible", "visibleItems"]);
|
|
11483
11507
|
var isInitialMount = useRef(true);
|
|
11484
11508
|
var nativeSelectRef = useRef(null);
|
|
11485
11509
|
var searchRef = useRef(null);
|
|
11486
11510
|
var _r = useState(options), _options = _r[0], setOptions = _r[1];
|
|
11487
|
-
var _s = useState(
|
|
11488
|
-
var _t = useState(
|
|
11511
|
+
var _s = useState(visible), _visible = _s[0], setVisible = _s[1];
|
|
11512
|
+
var _t = useState(''), searchValue = _t[0], setSearchValue = _t[1];
|
|
11489
11513
|
var _u = useState([]), selected = _u[0], setSelected = _u[1];
|
|
11514
|
+
var _v = useState([]), userOptions = _v[0], setUserOptions = _v[1];
|
|
11515
|
+
var filteredOptions = useMemo(function () {
|
|
11516
|
+
return search === 'external'
|
|
11517
|
+
? __spreadArray(__spreadArray([], _options, true), filterOptionsList(searchValue, userOptions), true) : filterOptionsList(searchValue, __spreadArray(__spreadArray([], _options, true), userOptions, true));
|
|
11518
|
+
}, [_options, searchValue, userOptions]);
|
|
11519
|
+
var userOption = useMemo(function () {
|
|
11520
|
+
if (allowCreateOptions &&
|
|
11521
|
+
filteredOptions.length > 0 &&
|
|
11522
|
+
flattenArray(filteredOptions).filter(function (option) { return option.text.toLowerCase() === searchValue.toLowerCase(); }).length > 0) {
|
|
11523
|
+
return false;
|
|
11524
|
+
}
|
|
11525
|
+
return searchRef.current && createOption(String(searchValue), flattenArray(_options));
|
|
11526
|
+
}, [filteredOptions, searchValue]);
|
|
11490
11527
|
useMemo(function () {
|
|
11491
11528
|
setOptions(options);
|
|
11492
11529
|
var _selected = options &&
|
|
@@ -11505,6 +11542,9 @@ var CMultiSelect = forwardRef(function (_a, ref) {
|
|
|
11505
11542
|
});
|
|
11506
11543
|
_selected && setSelected(selectOptions(_selected, selected, deselected));
|
|
11507
11544
|
}, [JSON.stringify(options)]);
|
|
11545
|
+
useEffect(function () {
|
|
11546
|
+
!isInitialMount.current && onFilterChange && onFilterChange(searchValue);
|
|
11547
|
+
}, [searchValue]);
|
|
11508
11548
|
useEffect(function () {
|
|
11509
11549
|
!isInitialMount.current &&
|
|
11510
11550
|
nativeSelectRef.current &&
|
|
@@ -11514,14 +11554,27 @@ var CMultiSelect = forwardRef(function (_a, ref) {
|
|
|
11514
11554
|
isInitialMount.current = false;
|
|
11515
11555
|
}, []);
|
|
11516
11556
|
var handleSearchChange = function (event) {
|
|
11517
|
-
var
|
|
11518
|
-
|
|
11519
|
-
setSearch(target.value.toLowerCase());
|
|
11520
|
-
}
|
|
11521
|
-
onFilterChange && onFilterChange(target.value);
|
|
11557
|
+
var value = event.target.value;
|
|
11558
|
+
setSearchValue(value);
|
|
11522
11559
|
};
|
|
11523
11560
|
var handleSearchKeyDown = function (event) {
|
|
11524
|
-
if (
|
|
11561
|
+
if (event.key === 'Enter' && searchValue && allowCreateOptions) {
|
|
11562
|
+
if (userOption) {
|
|
11563
|
+
setSelected(__spreadArray(__spreadArray([], selected, true), userOption, true));
|
|
11564
|
+
setUserOptions(__spreadArray(__spreadArray([], userOptions, true), userOption, true));
|
|
11565
|
+
}
|
|
11566
|
+
if (!userOption) {
|
|
11567
|
+
setSelected(__spreadArray(__spreadArray([], selected, true), [
|
|
11568
|
+
flattenArray(filteredOptions).filter(function (option) { return String(option.text).toLowerCase() === searchValue.toLowerCase(); })[0],
|
|
11569
|
+
], false));
|
|
11570
|
+
}
|
|
11571
|
+
setSearchValue('');
|
|
11572
|
+
if (searchRef.current) {
|
|
11573
|
+
searchRef.current.value = '';
|
|
11574
|
+
}
|
|
11575
|
+
return;
|
|
11576
|
+
}
|
|
11577
|
+
if (searchValue.length > 0) {
|
|
11525
11578
|
return;
|
|
11526
11579
|
}
|
|
11527
11580
|
if (event.key === 'Backspace' || event.key === 'Delete') {
|
|
@@ -11533,12 +11586,22 @@ var CMultiSelect = forwardRef(function (_a, ref) {
|
|
|
11533
11586
|
if (!multiple) {
|
|
11534
11587
|
setSelected([{ value: option.value, text: option.text }]);
|
|
11535
11588
|
setVisible(false);
|
|
11536
|
-
|
|
11589
|
+
setSearchValue('');
|
|
11537
11590
|
if (searchRef.current) {
|
|
11538
11591
|
searchRef.current.value = '';
|
|
11539
11592
|
}
|
|
11540
11593
|
return;
|
|
11541
11594
|
}
|
|
11595
|
+
if (option.custom && !userOptions.some(function (_option) { return _option.value === option.value; })) {
|
|
11596
|
+
setUserOptions(__spreadArray(__spreadArray([], userOptions, true), [option], false));
|
|
11597
|
+
}
|
|
11598
|
+
if (clearSearchOnSelect || option.custom) {
|
|
11599
|
+
setSearchValue('');
|
|
11600
|
+
if (searchRef.current) {
|
|
11601
|
+
searchRef.current.value = '';
|
|
11602
|
+
searchRef.current.focus();
|
|
11603
|
+
}
|
|
11604
|
+
}
|
|
11542
11605
|
if (selected.some(function (_option) { return _option.value === option.value; })) {
|
|
11543
11606
|
setSelected(selected.filter(function (_option) { return _option.value !== option.value; }));
|
|
11544
11607
|
}
|
|
@@ -11547,7 +11610,7 @@ var CMultiSelect = forwardRef(function (_a, ref) {
|
|
|
11547
11610
|
}
|
|
11548
11611
|
};
|
|
11549
11612
|
var handleSelectAll = function () {
|
|
11550
|
-
setSelected(selectOptions(flattenArray(options).filter(function (option) { return !option.disabled; }), selected));
|
|
11613
|
+
setSelected(selectOptions(__spreadArray(__spreadArray([], flattenArray(options).filter(function (option) { return !option.disabled; }), true), userOptions, true), selected));
|
|
11551
11614
|
};
|
|
11552
11615
|
var handleDeselectAll = function () {
|
|
11553
11616
|
setSelected(selected.filter(function (option) { return option.disabled; }));
|
|
@@ -11577,12 +11640,14 @@ var CMultiSelect = forwardRef(function (_a, ref) {
|
|
|
11577
11640
|
}), (selected.length > 0 &&
|
|
11578
11641
|
!multiple && { placeholder: selected.map(function (option) { return option.text; })[0] }), (multiple &&
|
|
11579
11642
|
selected.length > 0 &&
|
|
11580
|
-
selectionType !== 'counter' && { size:
|
|
11643
|
+
selectionType !== 'counter' && { size: searchValue.length + 2 }), { ref: searchRef })))), visible: _visible, ref: ref },
|
|
11581
11644
|
React__default$1.createElement(React__default$1.Fragment, null,
|
|
11582
11645
|
multiple && selectAll && (React__default$1.createElement("button", { type: "button", className: "form-multi-select-all", onClick: function () { return handleSelectAll(); } }, selectAllLabel)),
|
|
11583
|
-
React__default$1.createElement(CMultiSelectOptions, { handleOptionOnClick: function (option) { return !disabled && handleOptionOnClick(option); },
|
|
11646
|
+
React__default$1.createElement(CMultiSelectOptions, { handleOptionOnClick: function (option) { return !disabled && handleOptionOnClick(option); }, loading: loading, options: filteredOptions.length === 0 && allowCreateOptions
|
|
11647
|
+
? userOption || []
|
|
11648
|
+
: filteredOptions, optionsMaxHeight: optionsMaxHeight, optionsStyle: optionsStyle, searchNoResultsLabel: searchNoResultsLabel, selected: selected, virtualScroller: virtualScroller, visibleItems: visibleItems })))));
|
|
11584
11649
|
});
|
|
11585
|
-
CMultiSelect.propTypes = __assign$1({ className: propTypesExports.string, cleaner: propTypesExports.bool, disabled: propTypesExports.bool, multiple: propTypesExports.bool, onChange: propTypesExports.func, options: propTypesExports.array.isRequired, optionsMaxHeight: propTypesExports.oneOfType([propTypesExports.number, propTypesExports.string]), optionsStyle: propTypesExports.oneOf(['checkbox', 'text']), placeholder: propTypesExports.string, search: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.oneOf(['external'])]), searchNoResultsLabel: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.node]), selectAll: propTypesExports.bool, selectAllLabel: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.node]), selectionType: propTypesExports.oneOf(['counter', 'tags', 'text']), selectionTypeCounterText: propTypesExports.string, size: propTypesExports.oneOf(['sm', 'lg']), virtualScroller: propTypesExports.bool, visible: propTypesExports.bool, visibleItems: propTypesExports.number }, CFormControlWrapper.propTypes);
|
|
11650
|
+
CMultiSelect.propTypes = __assign$1({ className: propTypesExports.string, cleaner: propTypesExports.bool, clearSearchOnSelect: propTypesExports.bool, disabled: propTypesExports.bool, loading: propTypesExports.bool, multiple: propTypesExports.bool, onChange: propTypesExports.func, options: propTypesExports.array.isRequired, optionsMaxHeight: propTypesExports.oneOfType([propTypesExports.number, propTypesExports.string]), optionsStyle: propTypesExports.oneOf(['checkbox', 'text']), placeholder: propTypesExports.string, search: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.oneOf(['external'])]), searchNoResultsLabel: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.node]), selectAll: propTypesExports.bool, selectAllLabel: propTypesExports.oneOfType([propTypesExports.string, propTypesExports.node]), selectionType: propTypesExports.oneOf(['counter', 'tags', 'text']), selectionTypeCounterText: propTypesExports.string, size: propTypesExports.oneOf(['sm', 'lg']), virtualScroller: propTypesExports.bool, visible: propTypesExports.bool, visibleItems: propTypesExports.number }, CFormControlWrapper.propTypes);
|
|
11586
11651
|
CMultiSelect.displayName = 'CMultiSelect';
|
|
11587
11652
|
|
|
11588
11653
|
var CNav = forwardRef(function (_a, ref) {
|