@coreui/react-pro 4.2.0-beta.0 → 4.2.0-beta.1
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 +27 -10
- package/dist/components/calendar/CCalendar.utils.d.ts +2 -1
- package/dist/components/daterangepicker/CDateRangePicker.d.ts +26 -11
- package/dist/components/picker/CPicker.d.ts +50 -9
- package/dist/components/timepicker/CTimePicker.d.ts +9 -13
- package/dist/components/timepicker/CTimePicker.utils.d.ts +13 -0
- package/dist/index.es.js +243 -206
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +243 -206
- package/dist/index.js.map +1 -1
- package/dist/utils/calendar.d.ts +21 -0
- package/dist/utils/time.d.ts +17 -0
- package/package.json +3 -2
- package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.tsx.snap +2 -0
- package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.tsx.snap +2 -0
- package/src/components/calendar/CCalendar.tsx +104 -58
- package/src/components/calendar/__tests__/CCalendar.spec.tsx +9 -0
- package/src/components/calendar/__tests__/__snapshots__/CCalendar.spec.tsx.snap +573 -0
- package/src/components/datepicker/CDatePicker.tsx +1 -0
- package/src/components/datepicker/__tests__/CDatePicker.spec.tsx +9 -0
- package/src/components/datepicker/__tests__/__snapshots__/CDatePicker.spec.tsx.snap +617 -0
- package/src/components/daterangepicker/CDateRangePicker.tsx +152 -91
- package/src/components/daterangepicker/__tests__/CDateRangePicker.spec.tsx +9 -0
- package/src/components/daterangepicker/__tests__/__snapshots__/CDateRangePicker.spec.tsx.snap +1201 -0
- package/src/components/dropdown/CDropdownMenu.tsx +5 -3
- package/src/components/picker/CPicker.tsx +99 -34
- package/src/components/picker/__tests__/CPicker.spec.tsx +9 -0
- package/src/components/picker/__tests__/__snapshots__/CPicker.spec.tsx.snap +23 -0
- package/src/components/timepicker/CTimePicker.tsx +66 -87
- package/src/components/timepicker/CTimePickerRollCol.tsx +7 -1
- package/src/components/timepicker/__tests__/CTimePicker.spec.tsx +9 -0
- package/src/{components/calendar/CCalendar.utils.ts → utils/calendar.ts} +11 -1
- package/src/utils/time.ts +58 -0
- package/src/components/timepicker/CTimePicker.utils.ts +0 -27
package/dist/index.js
CHANGED
|
@@ -2860,10 +2860,6 @@ CButtonToolbar.propTypes = {
|
|
|
2860
2860
|
};
|
|
2861
2861
|
CButtonToolbar.displayName = 'CButtonToolbar';
|
|
2862
2862
|
|
|
2863
|
-
var convertToLocalDate = function (d, locale, options) {
|
|
2864
|
-
if (options === void 0) { options = {}; }
|
|
2865
|
-
return d.toLocaleDateString(locale, options);
|
|
2866
|
-
};
|
|
2867
2863
|
var createGroupsInArray = function (arr, numberOfGroups) {
|
|
2868
2864
|
var perGroup = Math.ceil(arr.length / numberOfGroups);
|
|
2869
2865
|
return new Array(numberOfGroups)
|
|
@@ -2943,7 +2939,7 @@ var getMonthDetails = function (year, month, firstDayOfWeek) {
|
|
|
2943
2939
|
});
|
|
2944
2940
|
return weeks;
|
|
2945
2941
|
};
|
|
2946
|
-
var
|
|
2942
|
+
var isDateDisabled = function (date, min, max, dates) {
|
|
2947
2943
|
var disabled;
|
|
2948
2944
|
if (dates) {
|
|
2949
2945
|
dates.forEach(function (_date) {
|
|
@@ -2996,14 +2992,20 @@ var isToday = function (date) {
|
|
|
2996
2992
|
date.getMonth() == today.getMonth() &&
|
|
2997
2993
|
date.getFullYear() == today.getFullYear());
|
|
2998
2994
|
};
|
|
2995
|
+
var isValidDate = function (date) {
|
|
2996
|
+
var d = new Date(date);
|
|
2997
|
+
return d instanceof Date && d.getTime();
|
|
2998
|
+
};
|
|
2999
2999
|
|
|
3000
3000
|
var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
3001
|
-
var calendarDate = _a.calendarDate, disabledDates = _a.disabledDates, endDate = _a.endDate, _b = _a.firstDayOfWeek, firstDayOfWeek = _b === void 0 ? 1 : _b, _c = _a.locale, locale = _c === void 0 ?
|
|
3001
|
+
var calendarDate = _a.calendarDate, disabledDates = _a.disabledDates, endDate = _a.endDate, _b = _a.firstDayOfWeek, firstDayOfWeek = _b === void 0 ? 1 : _b, _c = _a.locale, locale = _c === void 0 ? 'default' : _c, maxDate = _a.maxDate, minDate = _a.minDate, _d = _a.navigation, navigation = _d === void 0 ? true : _d, navNextIcon = _a.navNextIcon, navNextDoubleIcon = _a.navNextDoubleIcon, navPrevIcon = _a.navPrevIcon, navPrevDoubleIcon = _a.navPrevDoubleIcon, range = _a.range, selectEndDate = _a.selectEndDate, startDate = _a.startDate, _e = _a.weekdayFormat, weekdayFormat = _e === void 0 ? 2 : _e, onCalendarDateChange = _a.onCalendarDateChange, onStartDateChange = _a.onStartDateChange, onEndDateChange = _a.onEndDateChange, onCalendarCellHover = _a.onCalendarCellHover, onViewChanged = _a.onViewChanged;
|
|
3002
3002
|
var _f = React$1.useState(calendarDate ? new Date(calendarDate) : new Date()), _calendarDate = _f[0], setCalendarDate = _f[1];
|
|
3003
3003
|
var _g = React$1.useState(startDate ? new Date(startDate) : null), _startDate = _g[0], setStartDate = _g[1];
|
|
3004
3004
|
var _h = React$1.useState(endDate ? new Date(endDate) : null), _endDate = _h[0], setEndDate = _h[1];
|
|
3005
3005
|
var _j = React$1.useState(selectEndDate), _selectEndDate = _j[0], setSelectEndDate = _j[1];
|
|
3006
3006
|
var _k = React$1.useState('days'), view = _k[0], setView = _k[1];
|
|
3007
|
+
var _maxDate = maxDate ? new Date(maxDate) : null;
|
|
3008
|
+
var _minDate = minDate ? new Date(minDate) : null;
|
|
3007
3009
|
React$1.useEffect(function () {
|
|
3008
3010
|
if (calendarDate) {
|
|
3009
3011
|
var d = new Date(calendarDate);
|
|
@@ -3051,6 +3053,9 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3051
3053
|
React$1.useEffect(function () {
|
|
3052
3054
|
setSelectEndDate(selectEndDate);
|
|
3053
3055
|
}, [selectEndDate]);
|
|
3056
|
+
React$1.useEffect(function () {
|
|
3057
|
+
onViewChanged && onViewChanged(view);
|
|
3058
|
+
}, [view]);
|
|
3054
3059
|
var setCalendarPage = function (years, months, setMonth) {
|
|
3055
3060
|
if (months === void 0) { months = 0; }
|
|
3056
3061
|
var year = _calendarDate.getFullYear();
|
|
@@ -3063,7 +3068,7 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3063
3068
|
onCalendarDateChange && onCalendarDateChange(d);
|
|
3064
3069
|
};
|
|
3065
3070
|
var handleCellOnClick = function (date) {
|
|
3066
|
-
if (
|
|
3071
|
+
if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {
|
|
3067
3072
|
return;
|
|
3068
3073
|
}
|
|
3069
3074
|
if (range) {
|
|
@@ -3087,7 +3092,7 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3087
3092
|
}
|
|
3088
3093
|
};
|
|
3089
3094
|
var handleCellMouseEnter = function (date) {
|
|
3090
|
-
if (
|
|
3095
|
+
if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {
|
|
3091
3096
|
return;
|
|
3092
3097
|
}
|
|
3093
3098
|
onCalendarCellHover && onCalendarCellHover(date);
|
|
@@ -3099,7 +3104,7 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3099
3104
|
if (double === void 0) { double = false; }
|
|
3100
3105
|
if (direction === 'prev') {
|
|
3101
3106
|
if (double) {
|
|
3102
|
-
setCalendarPage(view
|
|
3107
|
+
setCalendarPage(view === 'years' ? -10 : -1);
|
|
3103
3108
|
return;
|
|
3104
3109
|
}
|
|
3105
3110
|
if (view !== 'days') {
|
|
@@ -3111,7 +3116,7 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3111
3116
|
}
|
|
3112
3117
|
if (direction === 'next') {
|
|
3113
3118
|
if (double) {
|
|
3114
|
-
setCalendarPage(view
|
|
3119
|
+
setCalendarPage(view === 'years' ? 10 : 1);
|
|
3115
3120
|
return;
|
|
3116
3121
|
}
|
|
3117
3122
|
if (view !== 'days') {
|
|
@@ -3132,7 +3137,11 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3132
3137
|
React__default$1["default"].createElement("tr", null, weekDays.map(function (_a, idx) {
|
|
3133
3138
|
var date = _a.date;
|
|
3134
3139
|
return (React__default$1["default"].createElement("th", { key: idx, className: "calendar-cell" },
|
|
3135
|
-
React__default$1["default"].createElement("div", { className: "calendar-header-cell-inner" },
|
|
3140
|
+
React__default$1["default"].createElement("div", { className: "calendar-header-cell-inner" }, typeof weekdayFormat === 'string'
|
|
3141
|
+
? date.toLocaleDateString(locale, { weekday: weekdayFormat })
|
|
3142
|
+
: date
|
|
3143
|
+
.toLocaleDateString(locale, { weekday: 'long' })
|
|
3144
|
+
.slice(0, weekdayFormat))));
|
|
3136
3145
|
})))),
|
|
3137
3146
|
React__default$1["default"].createElement("tbody", { onMouseLeave: function () { return handleCellMouseLeave(); } },
|
|
3138
3147
|
view === 'days' &&
|
|
@@ -3141,7 +3150,7 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3141
3150
|
var date = _a.date, month = _a.month;
|
|
3142
3151
|
return (React__default$1["default"].createElement("td", { className: classNames$1('calendar-cell', {
|
|
3143
3152
|
today: isToday(date),
|
|
3144
|
-
disabled:
|
|
3153
|
+
disabled: isDateDisabled(date, _minDate, _maxDate, disabledDates),
|
|
3145
3154
|
next: month === 'next',
|
|
3146
3155
|
previous: month === 'previous',
|
|
3147
3156
|
last: isLastDayOfMonth(date),
|
|
@@ -3177,16 +3186,16 @@ var CCalendar = React$1.forwardRef(function (_a, ref) {
|
|
|
3177
3186
|
var Navigation = function () {
|
|
3178
3187
|
return (React__default$1["default"].createElement("div", { className: "calendar-nav" },
|
|
3179
3188
|
navigation && (React__default$1["default"].createElement("div", { className: "calendar-nav-prev" },
|
|
3180
|
-
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev', true); } },
|
|
3181
|
-
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev'); } },
|
|
3189
|
+
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev', true); } }, navPrevDoubleIcon ? (navPrevDoubleIcon) : (React__default$1["default"].createElement("span", { className: "calendar-nav-icon calendar-nav-icon-double-prev" }))),
|
|
3190
|
+
view === 'days' && (React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev'); } }, navPrevIcon ? (navPrevIcon) : (React__default$1["default"].createElement("span", { className: "calendar-nav-icon calendar-nav-icon-prev" })))))),
|
|
3182
3191
|
React__default$1["default"].createElement("div", { className: "calendar-nav-date" },
|
|
3183
3192
|
view === 'days' && (React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return navigation && setView('months'); } }, _calendarDate.toLocaleDateString(locale, { month: 'long' }))),
|
|
3184
3193
|
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return navigation && setView('years'); } }, _calendarDate.toLocaleDateString(locale, { year: 'numeric' }))),
|
|
3185
3194
|
navigation && (React__default$1["default"].createElement("div", { className: "calendar-nav-next" },
|
|
3186
|
-
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next'); } },
|
|
3187
|
-
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next', true); } },
|
|
3195
|
+
view === 'days' && (React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next'); } }, navNextIcon ? (navNextIcon) : (React__default$1["default"].createElement("span", { className: "calendar-nav-icon calendar-nav-icon-next" })))),
|
|
3196
|
+
React__default$1["default"].createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next', true); } }, navNextDoubleIcon ? (navNextDoubleIcon) : (React__default$1["default"].createElement("span", { className: "calendar-nav-icon calendar-nav-icon-double-next" })))))));
|
|
3188
3197
|
};
|
|
3189
|
-
return (React__default$1["default"].createElement("div", { className:
|
|
3198
|
+
return (React__default$1["default"].createElement("div", { className: classNames$1('calendar', view), ref: ref },
|
|
3190
3199
|
React__default$1["default"].createElement(Navigation, null),
|
|
3191
3200
|
React__default$1["default"].createElement(Calendar, null)));
|
|
3192
3201
|
});
|
|
@@ -3197,21 +3206,25 @@ CCalendar.propTypes = {
|
|
|
3197
3206
|
endDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3198
3207
|
firstDayOfWeek: PropTypes$1.number,
|
|
3199
3208
|
locale: PropTypes$1.string,
|
|
3200
|
-
maxDate: PropTypes$1.instanceOf(Date),
|
|
3201
|
-
minDate: PropTypes$1.instanceOf(Date),
|
|
3209
|
+
maxDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3210
|
+
minDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3202
3211
|
navigation: PropTypes$1.bool,
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3212
|
+
navNextIcon: PropTypes$1.node,
|
|
3213
|
+
navNextDoubleIcon: PropTypes$1.node,
|
|
3214
|
+
navPrevIcon: PropTypes$1.node,
|
|
3215
|
+
navPrevDoubleIcon: PropTypes$1.node,
|
|
3207
3216
|
range: PropTypes$1.bool,
|
|
3208
3217
|
selectEndDate: PropTypes$1.bool,
|
|
3209
3218
|
startDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3210
|
-
|
|
3219
|
+
weekdayFormat: PropTypes$1.oneOfType([
|
|
3220
|
+
PropTypes$1.number,
|
|
3221
|
+
PropTypes$1.oneOf(['long', 'narrow', 'short']),
|
|
3222
|
+
]),
|
|
3211
3223
|
onCalendarCellHover: PropTypes$1.func,
|
|
3212
3224
|
onCalendarDateChange: PropTypes$1.func,
|
|
3213
3225
|
onStartDateChange: PropTypes$1.func,
|
|
3214
3226
|
onEndDateChange: PropTypes$1.func,
|
|
3227
|
+
onViewChanged: PropTypes$1.func,
|
|
3215
3228
|
};
|
|
3216
3229
|
CCalendar.displayName = 'CCalendar';
|
|
3217
3230
|
|
|
@@ -4682,6 +4695,55 @@ lib.useDeviceSelectors = useDeviceSelectors;
|
|
|
4682
4695
|
lib.useMobileOrientation = useMobileOrientation;
|
|
4683
4696
|
lib.withOrientationChange = withOrientationChange;
|
|
4684
4697
|
|
|
4698
|
+
var CFormInput = React$1.forwardRef(function (_a, ref) {
|
|
4699
|
+
var _b;
|
|
4700
|
+
var children = _a.children, className = _a.className, invalid = _a.invalid, plainText = _a.plainText, size = _a.size, _c = _a.type, type = _c === void 0 ? 'text' : _c, valid = _a.valid, rest = __rest$1(_a, ["children", "className", "invalid", "plainText", "size", "type", "valid"]);
|
|
4701
|
+
var _className = classNames$1(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
|
|
4702
|
+
_b["form-control-".concat(size)] = size,
|
|
4703
|
+
_b['form-control-color'] = type === 'color',
|
|
4704
|
+
_b['is-invalid'] = invalid,
|
|
4705
|
+
_b['is-valid'] = valid,
|
|
4706
|
+
_b), className);
|
|
4707
|
+
return (React__default$1["default"].createElement("input", __assign$1({ type: type, className: _className }, rest, { ref: ref }), children));
|
|
4708
|
+
});
|
|
4709
|
+
CFormInput.propTypes = {
|
|
4710
|
+
children: PropTypes$1.node,
|
|
4711
|
+
className: PropTypes$1.string,
|
|
4712
|
+
invalid: PropTypes$1.bool,
|
|
4713
|
+
plainText: PropTypes$1.bool,
|
|
4714
|
+
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
4715
|
+
type: PropTypes$1.oneOfType([PropTypes$1.oneOf(['color', 'file', 'text']), PropTypes$1.string]),
|
|
4716
|
+
valid: PropTypes$1.bool,
|
|
4717
|
+
};
|
|
4718
|
+
CFormInput.displayName = 'CFormInput';
|
|
4719
|
+
|
|
4720
|
+
var CInputGroup = React$1.forwardRef(function (_a, ref) {
|
|
4721
|
+
var _b;
|
|
4722
|
+
var children = _a.children, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "className", "size"]);
|
|
4723
|
+
var _className = classNames$1('input-group', (_b = {},
|
|
4724
|
+
_b["input-group-".concat(size)] = size,
|
|
4725
|
+
_b), className);
|
|
4726
|
+
return (React__default$1["default"].createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
4727
|
+
});
|
|
4728
|
+
CInputGroup.propTypes = {
|
|
4729
|
+
children: PropTypes$1.node,
|
|
4730
|
+
className: PropTypes$1.string,
|
|
4731
|
+
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
4732
|
+
};
|
|
4733
|
+
CInputGroup.displayName = 'CInputGroup';
|
|
4734
|
+
|
|
4735
|
+
var CInputGroupText = React$1.forwardRef(function (_a, ref) {
|
|
4736
|
+
var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'span' : _b, rest = __rest$1(_a, ["children", "className", "component"]);
|
|
4737
|
+
var _className = classNames$1('input-group-text', className);
|
|
4738
|
+
return (React__default$1["default"].createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
4739
|
+
});
|
|
4740
|
+
CInputGroupText.propTypes = {
|
|
4741
|
+
children: PropTypes$1.node,
|
|
4742
|
+
className: PropTypes$1.string,
|
|
4743
|
+
component: PropTypes$1.elementType,
|
|
4744
|
+
};
|
|
4745
|
+
CInputGroupText.displayName = 'CInputGroupText';
|
|
4746
|
+
|
|
4685
4747
|
var ManagerReferenceNodeContext = React__namespace.createContext();
|
|
4686
4748
|
var ManagerReferenceNodeSetterContext = React__namespace.createContext();
|
|
4687
4749
|
function Manager(_ref) {
|
|
@@ -5061,6 +5123,10 @@ function getContainingBlock(element) {
|
|
|
5061
5123
|
|
|
5062
5124
|
var currentNode = getParentNode(element);
|
|
5063
5125
|
|
|
5126
|
+
if (isShadowRoot(currentNode)) {
|
|
5127
|
+
currentNode = currentNode.host;
|
|
5128
|
+
}
|
|
5129
|
+
|
|
5064
5130
|
while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
|
|
5065
5131
|
var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
|
|
5066
5132
|
// create a containing block.
|
|
@@ -5293,7 +5359,7 @@ function mapToStyles(_ref2) {
|
|
|
5293
5359
|
|
|
5294
5360
|
if (placement === top || (placement === left || placement === right) && variation === end) {
|
|
5295
5361
|
sideY = bottom;
|
|
5296
|
-
var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
|
5362
|
+
var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
|
5297
5363
|
offsetParent[heightProp];
|
|
5298
5364
|
y -= offsetY - popperRect.height;
|
|
5299
5365
|
y *= gpuAcceleration ? 1 : -1;
|
|
@@ -5301,7 +5367,7 @@ function mapToStyles(_ref2) {
|
|
|
5301
5367
|
|
|
5302
5368
|
if (placement === left || (placement === top || placement === bottom) && variation === end) {
|
|
5303
5369
|
sideX = right;
|
|
5304
|
-
var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
|
5370
|
+
var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
|
5305
5371
|
offsetParent[widthProp];
|
|
5306
5372
|
x -= offsetX - popperRect.width;
|
|
5307
5373
|
x *= gpuAcceleration ? 1 : -1;
|
|
@@ -7189,11 +7255,10 @@ var CDropdownMenu = function (_a) {
|
|
|
7189
7255
|
};
|
|
7190
7256
|
}, [visible]);
|
|
7191
7257
|
var handleKeyup = function (event) {
|
|
7192
|
-
var _a;
|
|
7193
7258
|
if (autoClose === false) {
|
|
7194
7259
|
return;
|
|
7195
7260
|
}
|
|
7196
|
-
if (
|
|
7261
|
+
if (event.key === 'Escape') {
|
|
7197
7262
|
setVisible(false);
|
|
7198
7263
|
}
|
|
7199
7264
|
};
|
|
@@ -7306,18 +7371,19 @@ CDropdownToggle.propTypes = {
|
|
|
7306
7371
|
};
|
|
7307
7372
|
CDropdownToggle.displayName = 'CDropdownToggle';
|
|
7308
7373
|
|
|
7374
|
+
var _a$1, _b$1, _c$1, _d, _e, _f;
|
|
7309
7375
|
var CPicker = React$1.forwardRef(function (_a, ref) {
|
|
7310
|
-
var children = _a.children, _b = _a.
|
|
7311
|
-
var
|
|
7376
|
+
var children = _a.children, _b = _a.cancelButton, cancelButton = _b === void 0 ? 'Cancel' : _b, _c = _a.cancelButtonColor, cancelButtonColor = _c === void 0 ? 'primary' : _c, _d = _a.cancelButtonSize, cancelButtonSize = _d === void 0 ? 'sm' : _d, _e = _a.cancelButtonVariant, cancelButtonVariant = _e === void 0 ? 'ghost' : _e, _f = _a.confirmButton, confirmButton = _f === void 0 ? 'OK' : _f, _g = _a.confirmButtonColor, confirmButtonColor = _g === void 0 ? 'primary' : _g, _h = _a.confirmButtonSize, confirmButtonSize = _h === void 0 ? 'sm' : _h, confirmButtonVariant = _a.confirmButtonVariant, className = _a.className, _j = _a.container, container = _j === void 0 ? 'dropdown' : _j, disabled = _a.disabled, footer = _a.footer, onCancel = _a.onCancel, onConfirm = _a.onConfirm, onHide = _a.onHide, onShow = _a.onShow, Toggler = _a.toggler, visible = _a.visible, rest = __rest$1(_a, ["children", "cancelButton", "cancelButtonColor", "cancelButtonSize", "cancelButtonVariant", "confirmButton", "confirmButtonColor", "confirmButtonSize", "confirmButtonVariant", "className", "container", "disabled", "footer", "onCancel", "onConfirm", "onHide", "onShow", "toggler", "visible"]);
|
|
7377
|
+
var _k = React$1.useState(visible), _visible = _k[0], setVisible = _k[1];
|
|
7312
7378
|
React$1.useEffect(function () {
|
|
7313
7379
|
setVisible(visible);
|
|
7314
7380
|
}, [visible]);
|
|
7315
7381
|
var Footer = function () { return (React__default$1["default"].createElement(React__default$1["default"].Fragment, null,
|
|
7316
|
-
React__default$1["default"].createElement(CButton, { color:
|
|
7317
|
-
React__default$1["default"].createElement(CButton, { color:
|
|
7318
|
-
|
|
7382
|
+
cancelButton && (React__default$1["default"].createElement(CButton, { color: cancelButtonColor, size: cancelButtonSize, variant: cancelButtonVariant, onClick: function () { return onCancel && onCancel(); } }, cancelButton)),
|
|
7383
|
+
confirmButton && (React__default$1["default"].createElement(CButton, { color: confirmButtonColor, size: confirmButtonSize, variant: confirmButtonVariant, onClick: function () {
|
|
7384
|
+
onConfirm && onConfirm();
|
|
7319
7385
|
setVisible(false);
|
|
7320
|
-
} },
|
|
7386
|
+
} }, confirmButton)))); };
|
|
7321
7387
|
var _className = classNames$1('picker', className);
|
|
7322
7388
|
switch (container) {
|
|
7323
7389
|
case 'inline':
|
|
@@ -7337,29 +7403,7 @@ var CPicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7337
7403
|
}
|
|
7338
7404
|
});
|
|
7339
7405
|
CPicker.displayName = 'CPicker';
|
|
7340
|
-
CPicker.propTypes = __assign$1(
|
|
7341
|
-
|
|
7342
|
-
var CFormInput = React$1.forwardRef(function (_a, ref) {
|
|
7343
|
-
var _b;
|
|
7344
|
-
var children = _a.children, className = _a.className, invalid = _a.invalid, plainText = _a.plainText, size = _a.size, _c = _a.type, type = _c === void 0 ? 'text' : _c, valid = _a.valid, rest = __rest$1(_a, ["children", "className", "invalid", "plainText", "size", "type", "valid"]);
|
|
7345
|
-
var _className = classNames$1(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
|
|
7346
|
-
_b["form-control-".concat(size)] = size,
|
|
7347
|
-
_b['form-control-color'] = type === 'color',
|
|
7348
|
-
_b['is-invalid'] = invalid,
|
|
7349
|
-
_b['is-valid'] = valid,
|
|
7350
|
-
_b), className);
|
|
7351
|
-
return (React__default$1["default"].createElement("input", __assign$1({ type: type, className: _className }, rest, { ref: ref }), children));
|
|
7352
|
-
});
|
|
7353
|
-
CFormInput.propTypes = {
|
|
7354
|
-
children: PropTypes$1.node,
|
|
7355
|
-
className: PropTypes$1.string,
|
|
7356
|
-
invalid: PropTypes$1.bool,
|
|
7357
|
-
plainText: PropTypes$1.bool,
|
|
7358
|
-
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
7359
|
-
type: PropTypes$1.oneOfType([PropTypes$1.oneOf(['color', 'file', 'text']), PropTypes$1.string]),
|
|
7360
|
-
valid: PropTypes$1.bool,
|
|
7361
|
-
};
|
|
7362
|
-
CFormInput.displayName = 'CFormInput';
|
|
7406
|
+
CPicker.propTypes = __assign$1({ cancelButton: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.node]), cancelButtonColor: (_a$1 = CButton.propTypes) === null || _a$1 === void 0 ? void 0 : _a$1.color, cancelButtonSize: (_b$1 = CButton.propTypes) === null || _b$1 === void 0 ? void 0 : _b$1.size, cancelButtonVariant: (_c$1 = CButton.propTypes) === null || _c$1 === void 0 ? void 0 : _c$1.variant, confirmButton: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.node]), confirmButtonColor: (_d = CButton.propTypes) === null || _d === void 0 ? void 0 : _d.color, confirmButtonSize: (_e = CButton.propTypes) === null || _e === void 0 ? void 0 : _e.size, confirmButtonVariant: (_f = CButton.propTypes) === null || _f === void 0 ? void 0 : _f.variant, children: PropTypes$1.node, className: PropTypes$1.string, container: PropTypes$1.oneOf(['dropdown', 'inline']), disabled: PropTypes$1.bool, footer: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.node]), onCancel: PropTypes$1.func, onConfirm: PropTypes$1.func, toggler: PropTypes$1.node }, CDropdown.propTypes);
|
|
7363
7407
|
|
|
7364
7408
|
var CFormSelect = React$1.forwardRef(function (_a, ref) {
|
|
7365
7409
|
var _b;
|
|
@@ -7387,43 +7431,21 @@ CFormSelect.propTypes = {
|
|
|
7387
7431
|
};
|
|
7388
7432
|
CFormSelect.displayName = 'CFormSelect';
|
|
7389
7433
|
|
|
7390
|
-
var CInputGroup = React$1.forwardRef(function (_a, ref) {
|
|
7391
|
-
var _b;
|
|
7392
|
-
var children = _a.children, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "className", "size"]);
|
|
7393
|
-
var _className = classNames$1('input-group', (_b = {},
|
|
7394
|
-
_b["input-group-".concat(size)] = size,
|
|
7395
|
-
_b), className);
|
|
7396
|
-
return (React__default$1["default"].createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
7397
|
-
});
|
|
7398
|
-
CInputGroup.propTypes = {
|
|
7399
|
-
children: PropTypes$1.node,
|
|
7400
|
-
className: PropTypes$1.string,
|
|
7401
|
-
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
7402
|
-
};
|
|
7403
|
-
CInputGroup.displayName = 'CInputGroup';
|
|
7404
|
-
|
|
7405
|
-
var CInputGroupText = React$1.forwardRef(function (_a, ref) {
|
|
7406
|
-
var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'span' : _b, rest = __rest$1(_a, ["children", "className", "component"]);
|
|
7407
|
-
var _className = classNames$1('input-group-text', className);
|
|
7408
|
-
return (React__default$1["default"].createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
7409
|
-
});
|
|
7410
|
-
CInputGroupText.propTypes = {
|
|
7411
|
-
children: PropTypes$1.node,
|
|
7412
|
-
className: PropTypes$1.string,
|
|
7413
|
-
component: PropTypes$1.elementType,
|
|
7414
|
-
};
|
|
7415
|
-
CInputGroupText.displayName = 'CInputGroupText';
|
|
7416
|
-
|
|
7417
7434
|
var CTimePickerRollCol = React$1.forwardRef(function (_a, ref) {
|
|
7418
7435
|
var elements = _a.elements, onClick = _a.onClick, selected = _a.selected;
|
|
7436
|
+
var init = React$1.useRef(true);
|
|
7419
7437
|
var colRef = React$1.useRef(null);
|
|
7420
7438
|
var forkedRef = useForkedRef(ref, colRef);
|
|
7421
7439
|
React$1.useEffect(function () {
|
|
7422
7440
|
var _a, _b;
|
|
7423
7441
|
var nodeEl = (_a = colRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.selected');
|
|
7424
7442
|
if (nodeEl && nodeEl instanceof HTMLElement) {
|
|
7425
|
-
(_b = colRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
|
|
7443
|
+
(_b = colRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
|
|
7444
|
+
top: nodeEl.offsetTop,
|
|
7445
|
+
behavior: init.current ? 'auto' : 'smooth',
|
|
7446
|
+
});
|
|
7426
7447
|
}
|
|
7448
|
+
init.current = false;
|
|
7427
7449
|
}, [selected]);
|
|
7428
7450
|
return (React__default$1["default"].createElement("div", { className: "time-picker-roll-col", ref: forkedRef }, elements.map(function (element, index) {
|
|
7429
7451
|
return (React__default$1["default"].createElement("div", { className: classNames$1('time-picker-roll-cell', {
|
|
@@ -7451,6 +7473,9 @@ var convert12hTo24h = function (abbr, hour) {
|
|
|
7451
7473
|
return hour + 12;
|
|
7452
7474
|
};
|
|
7453
7475
|
var convert24hTo12h = function (hour) { return hour % 12 || 12; };
|
|
7476
|
+
var convertTimeToDate = function (time) {
|
|
7477
|
+
return time ? (time instanceof Date ? new Date(time) : new Date("1970-01-01 ".concat(time))) : null;
|
|
7478
|
+
};
|
|
7454
7479
|
var getAmPm = function (date, locale) {
|
|
7455
7480
|
if (date.toLocaleTimeString(locale).includes('AM')) {
|
|
7456
7481
|
return 'am';
|
|
@@ -7460,47 +7485,51 @@ var getAmPm = function (date, locale) {
|
|
|
7460
7485
|
}
|
|
7461
7486
|
return date.getHours() >= 12 ? 'pm' : 'am';
|
|
7462
7487
|
};
|
|
7488
|
+
var getListOfHours = function (locale) {
|
|
7489
|
+
return Array.from({ length: isAmPm(locale) ? 12 : 24 }, function (_, i) {
|
|
7490
|
+
return {
|
|
7491
|
+
value: isAmPm(locale) ? i + 1 : i,
|
|
7492
|
+
label: (isAmPm(locale) ? i + 1 : i).toLocaleString(locale),
|
|
7493
|
+
};
|
|
7494
|
+
});
|
|
7495
|
+
};
|
|
7496
|
+
var getMinutesOrSeconds = function (locale) {
|
|
7497
|
+
return Array.from({ length: 60 }, function (_, i) {
|
|
7498
|
+
return {
|
|
7499
|
+
value: i,
|
|
7500
|
+
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7501
|
+
};
|
|
7502
|
+
});
|
|
7503
|
+
};
|
|
7504
|
+
var getSelectedHour = function (date, locale) {
|
|
7505
|
+
return date ? (isAmPm(locale) ? convert24hTo12h(date.getHours()) : date.getHours()) : '';
|
|
7506
|
+
};
|
|
7507
|
+
var getSelectedMinutes = function (date) { return (date ? date.getMinutes() : ''); };
|
|
7508
|
+
var getSelectedSeconds = function (date) { return (date ? date.getSeconds() : ''); };
|
|
7463
7509
|
var isAmPm = function (locale) {
|
|
7464
7510
|
return ['am', 'AM', 'pm', 'PM'].some(function (el) { return new Date().toLocaleString(locale).includes(el); });
|
|
7465
7511
|
};
|
|
7512
|
+
var isValidTime = function (time) {
|
|
7513
|
+
var d = new Date("1970-01-01 ".concat(time));
|
|
7514
|
+
return d instanceof Date && d.getTime();
|
|
7515
|
+
};
|
|
7466
7516
|
|
|
7467
7517
|
var CTimePicker = React$1.forwardRef(function (_a, ref) {
|
|
7468
7518
|
var _b;
|
|
7469
|
-
var className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c,
|
|
7519
|
+
var className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c, _d = _a.container, container = _d === void 0 ? 'dropdown' : _d, disabled = _a.disabled, _e = _a.footer, footer = _e === void 0 ? true : _e, _f = _a.indicator, indicator = _f === void 0 ? true : _f, inputReadOnly = _a.inputReadOnly, _g = _a.locale, locale = _g === void 0 ? 'default' : _g, onTimeChange = _a.onTimeChange, onHide = _a.onHide, onShow = _a.onShow, _h = _a.placeholder, placeholder = _h === void 0 ? 'Select time' : _h, size = _a.size, time = _a.time, _j = _a.variant, variant = _j === void 0 ? 'roll' : _j, rest = __rest$1(_a, ["className", "cleaner", "container", "disabled", "footer", "indicator", "inputReadOnly", "locale", "onTimeChange", "onHide", "onShow", "placeholder", "size", "time", "variant"]);
|
|
7470
7520
|
var inputRef = React$1.useRef(null);
|
|
7471
|
-
var
|
|
7472
|
-
var
|
|
7521
|
+
var _k = React$1.useState(convertTimeToDate(time)), date = _k[0], setDate = _k[1];
|
|
7522
|
+
var _l = React$1.useState(null), initialDate = _l[0], setInitialDate = _l[1];
|
|
7523
|
+
var _m = React$1.useState(date ? getAmPm(new Date(date), locale) : 'am'), _ampm = _m[0], setAmPm = _m[1];
|
|
7473
7524
|
React$1.useEffect(function () {
|
|
7474
|
-
setDate(
|
|
7475
|
-
}, [
|
|
7525
|
+
setDate(convertTimeToDate(time));
|
|
7526
|
+
}, [time]);
|
|
7476
7527
|
React$1.useEffect(function () {
|
|
7477
7528
|
if (inputRef.current) {
|
|
7478
7529
|
inputRef.current.value = date ? date.toLocaleTimeString(locale) : '';
|
|
7479
7530
|
}
|
|
7531
|
+
date && setAmPm(getAmPm(new Date(date), locale));
|
|
7480
7532
|
}, [date]);
|
|
7481
|
-
var getHours = function (locale) {
|
|
7482
|
-
return Array.from(new Array(isAmPm(locale) ? 12 : 24), function (_, i) {
|
|
7483
|
-
return {
|
|
7484
|
-
value: isAmPm(locale) ? i + 1 : i,
|
|
7485
|
-
label: (isAmPm(locale) ? i + 1 : i).toLocaleString(locale),
|
|
7486
|
-
};
|
|
7487
|
-
});
|
|
7488
|
-
};
|
|
7489
|
-
var getMinutesOrSeconds = function (locale) {
|
|
7490
|
-
return Array.from(new Array(60), function (_, i) {
|
|
7491
|
-
return {
|
|
7492
|
-
value: i,
|
|
7493
|
-
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7494
|
-
};
|
|
7495
|
-
});
|
|
7496
|
-
};
|
|
7497
|
-
var selectedHour = date
|
|
7498
|
-
? isAmPm(locale)
|
|
7499
|
-
? convert24hTo12h(date.getHours())
|
|
7500
|
-
: date.getHours()
|
|
7501
|
-
: null;
|
|
7502
|
-
var selectedMinutes = date ? date.getMinutes() : null;
|
|
7503
|
-
var selectedSeconds = date ? date.getSeconds() : null;
|
|
7504
7533
|
var handleClear = function (event) {
|
|
7505
7534
|
event.stopPropagation();
|
|
7506
7535
|
setDate(null);
|
|
@@ -7509,11 +7538,9 @@ var CTimePicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7509
7538
|
var _date = date || new Date('1970-01-01');
|
|
7510
7539
|
if (set === 'toggle') {
|
|
7511
7540
|
if (value === 'am') {
|
|
7512
|
-
setAmPm('am');
|
|
7513
7541
|
_date.setHours(_date.getHours() - 12);
|
|
7514
7542
|
}
|
|
7515
7543
|
if (value === 'pm') {
|
|
7516
|
-
setAmPm('pm');
|
|
7517
7544
|
_date.setHours(_date.getHours() + 12);
|
|
7518
7545
|
}
|
|
7519
7546
|
}
|
|
@@ -7532,42 +7559,44 @@ var CTimePicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7532
7559
|
_date.setSeconds(parseInt(value));
|
|
7533
7560
|
}
|
|
7534
7561
|
setDate(new Date(_date));
|
|
7535
|
-
|
|
7562
|
+
onTimeChange && onTimeChange(_date.toTimeString(), _date.toLocaleTimeString(), _date);
|
|
7536
7563
|
};
|
|
7537
7564
|
var InputGroup = function () { return (React__default$1["default"].createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
7538
|
-
React__default$1["default"].createElement(CFormInput, { disabled: disabled,
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
|
|
7565
|
+
React__default$1["default"].createElement(CFormInput, { disabled: disabled, onChange: function (event) {
|
|
7566
|
+
return isValidTime(event.target.value) && setDate(convertTimeToDate(event.target.value));
|
|
7567
|
+
}, placeholder: placeholder, readOnly: inputReadOnly, ref: inputRef }),
|
|
7568
|
+
(indicator || cleaner) && (React__default$1["default"].createElement(CInputGroupText, null,
|
|
7569
|
+
indicator && (React__default$1["default"].createElement("span", { className: "picker-input-group-indicator" }, typeof indicator === 'boolean' ? (React__default$1["default"].createElement("span", { className: "picker-input-group-icon time-picker-input-icon" })) : (indicator))),
|
|
7570
|
+
cleaner && date && (React__default$1["default"].createElement("span", { className: "picker-input-group-cleaner", onClick: function (event) { return handleClear(event); }, role: "button" }, typeof cleaner === 'boolean' ? (React__default$1["default"].createElement("span", { className: "picker-input-group-icon time-picker-cleaner-icon" })) : (cleaner))))))); };
|
|
7542
7571
|
var TimePickerSelect = function () {
|
|
7543
7572
|
return (React__default$1["default"].createElement(React__default$1["default"].Fragment, null,
|
|
7544
7573
|
React__default$1["default"].createElement("span", { className: "time-picker-inline-icon" }),
|
|
7545
|
-
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options:
|
|
7574
|
+
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: getListOfHours(locale).map(function (option) {
|
|
7546
7575
|
return {
|
|
7547
7576
|
value: option.value.toString(),
|
|
7548
7577
|
label: option.label,
|
|
7549
7578
|
};
|
|
7550
7579
|
}), onChange: function (event) {
|
|
7551
7580
|
return handleTimeChange('hours', event.target.value);
|
|
7552
|
-
}, value:
|
|
7553
|
-
React__default$1["default"].createElement("
|
|
7554
|
-
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: Array.from(
|
|
7581
|
+
}, value: getSelectedHour(date, locale) }),
|
|
7582
|
+
React__default$1["default"].createElement(React__default$1["default"].Fragment, null, ":"),
|
|
7583
|
+
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: Array.from({ length: 60 }, function (_, i) {
|
|
7555
7584
|
return {
|
|
7556
7585
|
value: i.toString(),
|
|
7557
7586
|
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7558
7587
|
};
|
|
7559
7588
|
}), onChange: function (event) {
|
|
7560
7589
|
return handleTimeChange('minutes', event.target.value);
|
|
7561
|
-
}, value:
|
|
7562
|
-
React__default$1["default"].createElement("
|
|
7563
|
-
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: Array.from(
|
|
7590
|
+
}, value: getSelectedMinutes(date) }),
|
|
7591
|
+
React__default$1["default"].createElement(React__default$1["default"].Fragment, null, ":"),
|
|
7592
|
+
React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: Array.from({ length: 60 }, function (_, i) {
|
|
7564
7593
|
return {
|
|
7565
7594
|
value: i.toString(),
|
|
7566
7595
|
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7567
7596
|
};
|
|
7568
7597
|
}), onChange: function (event) {
|
|
7569
7598
|
return handleTimeChange('seconds', event.target.value);
|
|
7570
|
-
}, value:
|
|
7599
|
+
}, value: getSelectedSeconds(date) }),
|
|
7571
7600
|
isAmPm(locale) && (React__default$1["default"].createElement(CFormSelect, { disabled: disabled, options: [
|
|
7572
7601
|
{ value: 'am', label: 'AM' },
|
|
7573
7602
|
{ value: 'pm', label: 'PM' },
|
|
@@ -7576,39 +7605,39 @@ var CTimePicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7576
7605
|
}, value: _ampm }))));
|
|
7577
7606
|
};
|
|
7578
7607
|
var TimePickerRoll = function () { return (React__default$1["default"].createElement(React__default$1["default"].Fragment, null,
|
|
7579
|
-
React__default$1["default"].createElement(CTimePickerRollCol, { elements:
|
|
7580
|
-
React__default$1["default"].createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale),
|
|
7581
|
-
React__default$1["default"].createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale),
|
|
7608
|
+
React__default$1["default"].createElement(CTimePickerRollCol, { elements: getListOfHours(locale), onClick: function (index) { return handleTimeChange('hours', index.toString()); }, selected: getSelectedHour(date, locale) }),
|
|
7609
|
+
React__default$1["default"].createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale), onClick: function (index) { return handleTimeChange('minutes', index.toString()); }, selected: getSelectedMinutes(date) }),
|
|
7610
|
+
React__default$1["default"].createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale), onClick: function (index) { return handleTimeChange('seconds', index.toString()); }, selected: getSelectedSeconds(date) }),
|
|
7582
7611
|
isAmPm(locale) && (React__default$1["default"].createElement(CTimePickerRollCol, { elements: [
|
|
7583
7612
|
{ value: 'am', label: 'AM' },
|
|
7584
7613
|
{ value: 'pm', label: 'PM' },
|
|
7585
|
-
],
|
|
7614
|
+
], onClick: function (value) { return handleTimeChange('toggle', value); }, selected: _ampm })))); };
|
|
7586
7615
|
var _className = classNames$1('time-picker', className);
|
|
7587
|
-
return (React__default$1["default"].createElement(CPicker, __assign$1({ className: _className, container: container, disabled: disabled, footer: footer,
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
? new Date(value)
|
|
7591
|
-
: new Date("1970-01-01 ".concat(value))
|
|
7592
|
-
: new Date());
|
|
7616
|
+
return (React__default$1["default"].createElement(CPicker, __assign$1({ className: _className, container: container, disabled: disabled, footer: footer, onCancel: function () { return initialDate && setDate(new Date(initialDate)); }, onHide: function () { return onHide && onHide(); }, onShow: function () {
|
|
7617
|
+
date && setInitialDate(new Date(date));
|
|
7618
|
+
onShow && onShow();
|
|
7593
7619
|
}, toggler: InputGroup() }, rest, { ref: ref }),
|
|
7594
7620
|
React__default$1["default"].createElement("div", { className: classNames$1('time-picker-body', (_b = {},
|
|
7595
7621
|
_b['time-picker-roll'] = variant === 'roll',
|
|
7596
7622
|
_b)) }, variant === 'select' ? React__default$1["default"].createElement(TimePickerSelect, null) : TimePickerRoll())));
|
|
7597
7623
|
});
|
|
7598
|
-
CTimePicker.propTypes = __assign$1(__assign$1({}, CPicker.propTypes), { className: PropTypes$1.string, locale: PropTypes$1.string,
|
|
7624
|
+
CTimePicker.propTypes = __assign$1(__assign$1({}, CPicker.propTypes), { className: PropTypes$1.string, locale: PropTypes$1.string, onTimeChange: PropTypes$1.func, time: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]), variant: PropTypes$1.oneOf(['roll', 'select']) });
|
|
7599
7625
|
CTimePicker.displayName = 'CTimePicker';
|
|
7600
7626
|
|
|
7627
|
+
var _a, _b, _c;
|
|
7601
7628
|
var CDateRangePicker = React$1.forwardRef(function (_a, ref) {
|
|
7602
|
-
var _b = _a.calendars, calendars = _b === void 0 ? 2 : _b, className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c,
|
|
7629
|
+
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.indicator, indicator = _d === void 0 ? true : _d, disabled = _a.disabled, disabledDates = _a.disabledDates, endDate = _a.endDate, firstDayOfWeek = _a.firstDayOfWeek, footer = _a.footer, inputReadOnly = _a.inputReadOnly, _e = _a.locale, locale = _e === void 0 ? 'default' : _e, maxDate = _a.maxDate, minDate = _a.minDate, navigation = _a.navigation, onEndDateChange = _a.onEndDateChange, onHide = _a.onHide, onStartDateChange = _a.onStartDateChange, onShow = _a.onShow, _f = _a.placeholder, placeholder = _f === void 0 ? ['Start date', 'End date'] : _f, _g = _a.range, range = _g === void 0 ? true : _g, ranges = _a.ranges, _h = _a.rangesButtonsColor, rangesButtonsColor = _h === void 0 ? 'secondary' : _h, rangesButtonsSize = _a.rangesButtonsSize, _j = _a.rangesButtonsVariant, rangesButtonsVariant = _j === void 0 ? 'ghost' : _j, _k = _a.separator, separator = _k === void 0 ? true : _k, size = _a.size, startDate = _a.startDate, timepicker = _a.timepicker, toggler = _a.toggler, visible = _a.visible, rest = __rest$1(_a, ["calendars", "className", "cleaner", "calendarDate", "indicator", "disabled", "disabledDates", "endDate", "firstDayOfWeek", "footer", "inputReadOnly", "locale", "maxDate", "minDate", "navigation", "onEndDateChange", "onHide", "onStartDateChange", "onShow", "placeholder", "range", "ranges", "rangesButtonsColor", "rangesButtonsSize", "rangesButtonsVariant", "separator", "size", "startDate", "timepicker", "toggler", "visible"]);
|
|
7630
|
+
var _l = React$1.useState(visible), _visible = _l[0], setVisible = _l[1];
|
|
7603
7631
|
var inputStartRef = React$1.useRef(null);
|
|
7604
7632
|
var inputEndRef = React$1.useRef(null);
|
|
7605
|
-
var
|
|
7606
|
-
var
|
|
7607
|
-
var
|
|
7608
|
-
var
|
|
7609
|
-
var
|
|
7610
|
-
var
|
|
7611
|
-
var
|
|
7633
|
+
var _m = React$1.useState(null), inputStartHoverValue = _m[0], setInputStartHoverValue = _m[1];
|
|
7634
|
+
var _o = React$1.useState(null), inputEndHoverValue = _o[0], setInputEndHoverValue = _o[1];
|
|
7635
|
+
var _p = React$1.useState(calendarDate ? new Date(calendarDate) : new Date()), _calendarDate = _p[0], setCalendarDate = _p[1];
|
|
7636
|
+
var _q = React$1.useState(startDate ? new Date(startDate) : null), _startDate = _q[0], setStartDate = _q[1];
|
|
7637
|
+
var _r = React$1.useState(endDate ? new Date(endDate) : null), _endDate = _r[0], setEndDate = _r[1];
|
|
7638
|
+
var _s = React$1.useState(startDate ? new Date(startDate) : null), initialStartDate = _s[0], setInitialStartDate = _s[1];
|
|
7639
|
+
var _t = React$1.useState(endDate ? new Date(endDate) : null), initialEndDate = _t[0], setInitialEndDate = _t[1];
|
|
7640
|
+
var _u = React$1.useState(false), selectEndDate = _u[0], setSelectEndDate = _u[1];
|
|
7612
7641
|
React$1.useEffect(function () {
|
|
7613
7642
|
startDate && setCalendarDate(new Date(startDate));
|
|
7614
7643
|
}, [startDate]);
|
|
@@ -7616,39 +7645,32 @@ var CDateRangePicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7616
7645
|
endDate && setCalendarDate(new Date(endDate));
|
|
7617
7646
|
}, [endDate]);
|
|
7618
7647
|
React$1.useEffect(function () {
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
React$1.useEffect(function () {
|
|
7623
|
-
if (inputStartRef.current) {
|
|
7624
|
-
if (inputHoverValue) {
|
|
7625
|
-
inputStartRef.current.value = convertToLocalDate(inputHoverValue, locale);
|
|
7626
|
-
return;
|
|
7627
|
-
}
|
|
7628
|
-
if (_startDate) {
|
|
7629
|
-
inputStartRef.current.value = timepicker
|
|
7630
|
-
? _startDate.toLocaleString(locale)
|
|
7631
|
-
: _startDate.toLocaleDateString(locale);
|
|
7632
|
-
return;
|
|
7633
|
-
}
|
|
7634
|
-
inputStartRef.current.value = '';
|
|
7648
|
+
if (inputStartHoverValue) {
|
|
7649
|
+
setInputValue(inputStartRef.current, inputStartHoverValue, timepicker);
|
|
7650
|
+
return;
|
|
7635
7651
|
}
|
|
7636
|
-
|
|
7652
|
+
setInputValue(inputStartRef.current, _startDate, timepicker);
|
|
7653
|
+
}, [inputStartHoverValue, _startDate]);
|
|
7637
7654
|
React$1.useEffect(function () {
|
|
7638
|
-
if (
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
return;
|
|
7648
|
-
}
|
|
7649
|
-
inputEndRef.current.value = '';
|
|
7655
|
+
if (inputEndHoverValue) {
|
|
7656
|
+
setInputValue(inputEndRef.current, inputEndHoverValue, timepicker);
|
|
7657
|
+
return;
|
|
7658
|
+
}
|
|
7659
|
+
setInputValue(inputEndRef.current, _endDate, timepicker);
|
|
7660
|
+
}, [inputEndHoverValue, _endDate]);
|
|
7661
|
+
var setInputValue = function (el, date, timepicker) {
|
|
7662
|
+
if (!el) {
|
|
7663
|
+
return;
|
|
7650
7664
|
}
|
|
7651
|
-
|
|
7665
|
+
if (date) {
|
|
7666
|
+
el.value = timepicker ? date.toLocaleString(locale) : date.toLocaleDateString(locale);
|
|
7667
|
+
return;
|
|
7668
|
+
}
|
|
7669
|
+
el.value = '';
|
|
7670
|
+
};
|
|
7671
|
+
var handleCalendarCellHover = function (date) {
|
|
7672
|
+
selectEndDate ? setInputEndHoverValue(date) : setInputStartHoverValue(date);
|
|
7673
|
+
};
|
|
7652
7674
|
var handleCalendarDateChange = function (date, difference) {
|
|
7653
7675
|
difference
|
|
7654
7676
|
? setCalendarDate(new Date(date.getFullYear(), date.getMonth() - difference, 1))
|
|
@@ -7658,65 +7680,80 @@ var CDateRangePicker = React$1.forwardRef(function (_a, ref) {
|
|
|
7658
7680
|
setStartDate(date);
|
|
7659
7681
|
range && setSelectEndDate(true);
|
|
7660
7682
|
onStartDateChange && onStartDateChange(date);
|
|
7661
|
-
|
|
7683
|
+
setInputStartHoverValue(null);
|
|
7662
7684
|
};
|
|
7663
7685
|
var handleEndDateChange = function (date) {
|
|
7664
7686
|
setEndDate(date);
|
|
7665
7687
|
setSelectEndDate(false);
|
|
7666
7688
|
onEndDateChange && onEndDateChange(date);
|
|
7667
|
-
|
|
7668
|
-
if (timepicker !== true) {
|
|
7689
|
+
setInputEndHoverValue(null);
|
|
7690
|
+
if (timepicker !== true && footer !== true) {
|
|
7669
7691
|
_startDate !== null && setVisible(false);
|
|
7670
7692
|
}
|
|
7671
7693
|
};
|
|
7672
|
-
var handleCalendarCellHover = function (date) {
|
|
7673
|
-
selectEndDate ? setInputToHoverValue(date) : setInputHoverValue(date);
|
|
7674
|
-
};
|
|
7675
7694
|
var handleClear = function (event) {
|
|
7676
7695
|
event.stopPropagation();
|
|
7677
|
-
setStartDate(
|
|
7678
|
-
setEndDate(
|
|
7679
|
-
|
|
7680
|
-
|
|
7696
|
+
setStartDate(initialStartDate);
|
|
7697
|
+
setEndDate(initialEndDate);
|
|
7698
|
+
setInputStartHoverValue(null);
|
|
7699
|
+
setInputEndHoverValue(null);
|
|
7681
7700
|
};
|
|
7682
7701
|
var _className = classNames$1('date-picker', className);
|
|
7683
7702
|
var InputGroup = function () { return (React__default$1["default"].createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
7684
7703
|
React__default$1["default"].createElement(CFormInput, { className: classNames$1({
|
|
7685
|
-
hover:
|
|
7686
|
-
}), disabled: disabled, placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly,
|
|
7687
|
-
|
|
7704
|
+
hover: inputStartHoverValue,
|
|
7705
|
+
}), disabled: disabled, placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly, onChange: function (event) {
|
|
7706
|
+
if (isValidDate(event.target.value)) {
|
|
7707
|
+
setCalendarDate(new Date(event.target.value));
|
|
7708
|
+
setStartDate(new Date(event.target.value));
|
|
7709
|
+
}
|
|
7710
|
+
}, onClick: function () { return setSelectEndDate(false); }, ref: inputStartRef }),
|
|
7711
|
+
range && separator !== false && (React__default$1["default"].createElement(CInputGroupText, null, typeof separator === 'boolean' ? (React__default$1["default"].createElement("span", { className: "picker-input-group-icon date-picker-arrow-icon" })) : (separator))),
|
|
7688
7712
|
range && (React__default$1["default"].createElement(CFormInput, { className: classNames$1({
|
|
7689
|
-
hover:
|
|
7690
|
-
}), disabled: disabled, placeholder: placeholder[1], readOnly: inputReadOnly,
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7695
|
-
|
|
7696
|
-
|
|
7713
|
+
hover: inputEndHoverValue,
|
|
7714
|
+
}), disabled: disabled, placeholder: placeholder[1], readOnly: inputReadOnly, onChange: function (event) {
|
|
7715
|
+
if (isValidDate(event.target.value)) {
|
|
7716
|
+
setCalendarDate(new Date(event.target.value));
|
|
7717
|
+
setEndDate(new Date(event.target.value));
|
|
7718
|
+
}
|
|
7719
|
+
}, onClick: function () { return setSelectEndDate(true); }, ref: inputEndRef })),
|
|
7720
|
+
(indicator || cleaner) && (React__default$1["default"].createElement(CInputGroupText, null,
|
|
7721
|
+
indicator && (React__default$1["default"].createElement("span", { className: "picker-input-group-indicator" }, typeof indicator === 'boolean' ? (React__default$1["default"].createElement("span", { className: "picker-input-group-icon date-picker-input-icon" })) : (indicator))),
|
|
7722
|
+
cleaner && _startDate && (React__default$1["default"].createElement("span", { className: "picker-input-group-cleaner", role: "button", onClick: function (event) { return handleClear(event); } }, typeof cleaner === 'boolean' ? (React__default$1["default"].createElement("span", { className: "picker-input-group-icon date-picker-cleaner-icon" })) : (cleaner))))))); };
|
|
7723
|
+
return (React__default$1["default"].createElement(CPicker, __assign$1({ className: _className, disabled: disabled, footer: footer || timepicker, toggler: toggler ? toggler : InputGroup(), onCancel: function () {
|
|
7724
|
+
handleStartDateChange(initialStartDate);
|
|
7725
|
+
handleEndDateChange(initialEndDate);
|
|
7726
|
+
}, onHide: function () {
|
|
7727
|
+
setInputStartHoverValue(null);
|
|
7728
|
+
setInputEndHoverValue(null);
|
|
7729
|
+
onHide && onHide();
|
|
7730
|
+
}, onShow: function () {
|
|
7731
|
+
setInitialStartDate(_startDate);
|
|
7732
|
+
setInitialEndDate(_endDate);
|
|
7733
|
+
onShow && onShow();
|
|
7697
7734
|
}, visible: _visible }, rest, { ref: ref }),
|
|
7698
7735
|
React__default$1["default"].createElement("div", { className: "date-picker-body" },
|
|
7699
|
-
ranges && (React__default$1["default"].createElement("div", { className: "date-picker-ranges" }, Object.keys(ranges).map(function (key, index) { return (React__default$1["default"].createElement(CButton, { color:
|
|
7736
|
+
ranges && (React__default$1["default"].createElement("div", { className: "date-picker-ranges" }, Object.keys(ranges).map(function (key, index) { return (React__default$1["default"].createElement(CButton, { color: rangesButtonsColor, key: index, onClick: function () {
|
|
7700
7737
|
setStartDate(ranges[key][0]);
|
|
7701
7738
|
setEndDate(ranges[key][1]);
|
|
7702
|
-
}, variant:
|
|
7739
|
+
}, size: rangesButtonsSize, variant: rangesButtonsVariant }, key)); }))),
|
|
7703
7740
|
React__default$1["default"].createElement("div", { className: "date-picker-calendars" }, __spreadArray([], Array(isMobile_1 ? 1 : calendars), true).map(function (_, index) { return (React__default$1["default"].createElement("div", { className: "date-picker-calendar", key: index },
|
|
7704
|
-
React__default$1["default"].createElement(CCalendar, { calendarDate: new Date(_calendarDate.getFullYear(), _calendarDate.getMonth() + index, 1), disabledDates: disabledDates, endDate: _endDate, locale: locale, maxDate: maxDate, minDate: minDate, range: range, selectEndDate: selectEndDate, startDate: _startDate, onCalendarCellHover: function (date) { return handleCalendarCellHover(date); }, onCalendarDateChange: function (date) { return handleCalendarDateChange(date, index); }, onStartDateChange: function (date) { return handleStartDateChange(date); }, onEndDateChange: function (date) { return handleEndDateChange(date); } }),
|
|
7741
|
+
React__default$1["default"].createElement(CCalendar, { calendarDate: new Date(_calendarDate.getFullYear(), _calendarDate.getMonth() + index, 1), disabledDates: disabledDates, endDate: _endDate, firstDayOfWeek: firstDayOfWeek, locale: locale, maxDate: maxDate, minDate: minDate, navigation: navigation, range: range, selectEndDate: selectEndDate, startDate: _startDate, onCalendarCellHover: function (date) { return handleCalendarCellHover(date); }, onCalendarDateChange: function (date) { return handleCalendarDateChange(date, index); }, onStartDateChange: function (date) { return handleStartDateChange(date); }, onEndDateChange: function (date) { return handleEndDateChange(date); } }),
|
|
7705
7742
|
!isMobile_1 && timepicker && (index === 0 || calendars - index === 1) && (React__default$1["default"].createElement(CTimePicker, { container: "inline", disabled: index === 0
|
|
7706
7743
|
? _startDate === null
|
|
7707
7744
|
? true
|
|
7708
7745
|
: false
|
|
7709
7746
|
: _endDate === null
|
|
7710
7747
|
? true
|
|
7711
|
-
: false, locale: locale,
|
|
7748
|
+
: false, locale: locale, onTimeChange: function (_, __, date) {
|
|
7712
7749
|
return index === 0 ? handleStartDateChange(date) : handleEndDateChange(date);
|
|
7713
|
-
},
|
|
7750
|
+
}, time: index === 0 ? _startDate : _endDate, variant: "select" })),
|
|
7714
7751
|
isMobile_1 && timepicker && (React__default$1["default"].createElement(React__default$1["default"].Fragment, null,
|
|
7715
|
-
React__default$1["default"].createElement(CTimePicker, { container: "inline", disabled: _startDate === null ? true : false, locale: locale,
|
|
7716
|
-
React__default$1["default"].createElement(CTimePicker, { container: "inline", disabled: _endDate === null ? true : false, locale: locale,
|
|
7752
|
+
React__default$1["default"].createElement(CTimePicker, { container: "inline", disabled: _startDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return handleStartDateChange(date); }, time: _startDate, variant: "select" }),
|
|
7753
|
+
React__default$1["default"].createElement(CTimePicker, { container: "inline", disabled: _endDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return handleEndDateChange(date); }, time: _endDate, variant: "select" }))))); })))));
|
|
7717
7754
|
});
|
|
7718
7755
|
CDateRangePicker.displayName = 'CDateRangePicker';
|
|
7719
|
-
CDateRangePicker.propTypes = __assign$1(__assign$1(__assign$1({}, CCalendar.propTypes), CPicker.propTypes), { calendars: PropTypes$1.number, inputReadOnly: PropTypes$1.bool, placeholder: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.arrayOf(PropTypes$1.any)]), range: PropTypes$1.bool, ranges: PropTypes$1.object, timepicker: PropTypes$1.bool });
|
|
7756
|
+
CDateRangePicker.propTypes = __assign$1(__assign$1(__assign$1({}, CCalendar.propTypes), CPicker.propTypes), { calendars: PropTypes$1.number, className: PropTypes$1.string, cleaner: PropTypes$1.bool, indicator: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.node]), inputReadOnly: PropTypes$1.bool, placeholder: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.arrayOf(PropTypes$1.any)]), range: PropTypes$1.bool, ranges: PropTypes$1.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: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.node]), size: PropTypes$1.oneOf(['sm', 'lg']), timepicker: PropTypes$1.bool });
|
|
7720
7757
|
|
|
7721
7758
|
var CDatePicker = React$1.forwardRef(function (_a, ref) {
|
|
7722
7759
|
var date = _a.date, onDateChange = _a.onDateChange, _b = _a.placeholder, placeholder = _b === void 0 ? 'Select date' : _b, rest = __rest$1(_a, ["date", "onDateChange", "placeholder"]);
|