@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.es.js
CHANGED
|
@@ -2833,10 +2833,6 @@ CButtonToolbar.propTypes = {
|
|
|
2833
2833
|
};
|
|
2834
2834
|
CButtonToolbar.displayName = 'CButtonToolbar';
|
|
2835
2835
|
|
|
2836
|
-
var convertToLocalDate = function (d, locale, options) {
|
|
2837
|
-
if (options === void 0) { options = {}; }
|
|
2838
|
-
return d.toLocaleDateString(locale, options);
|
|
2839
|
-
};
|
|
2840
2836
|
var createGroupsInArray = function (arr, numberOfGroups) {
|
|
2841
2837
|
var perGroup = Math.ceil(arr.length / numberOfGroups);
|
|
2842
2838
|
return new Array(numberOfGroups)
|
|
@@ -2916,7 +2912,7 @@ var getMonthDetails = function (year, month, firstDayOfWeek) {
|
|
|
2916
2912
|
});
|
|
2917
2913
|
return weeks;
|
|
2918
2914
|
};
|
|
2919
|
-
var
|
|
2915
|
+
var isDateDisabled = function (date, min, max, dates) {
|
|
2920
2916
|
var disabled;
|
|
2921
2917
|
if (dates) {
|
|
2922
2918
|
dates.forEach(function (_date) {
|
|
@@ -2969,14 +2965,20 @@ var isToday = function (date) {
|
|
|
2969
2965
|
date.getMonth() == today.getMonth() &&
|
|
2970
2966
|
date.getFullYear() == today.getFullYear());
|
|
2971
2967
|
};
|
|
2968
|
+
var isValidDate = function (date) {
|
|
2969
|
+
var d = new Date(date);
|
|
2970
|
+
return d instanceof Date && d.getTime();
|
|
2971
|
+
};
|
|
2972
2972
|
|
|
2973
2973
|
var CCalendar = forwardRef(function (_a, ref) {
|
|
2974
|
-
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 ?
|
|
2974
|
+
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;
|
|
2975
2975
|
var _f = useState(calendarDate ? new Date(calendarDate) : new Date()), _calendarDate = _f[0], setCalendarDate = _f[1];
|
|
2976
2976
|
var _g = useState(startDate ? new Date(startDate) : null), _startDate = _g[0], setStartDate = _g[1];
|
|
2977
2977
|
var _h = useState(endDate ? new Date(endDate) : null), _endDate = _h[0], setEndDate = _h[1];
|
|
2978
2978
|
var _j = useState(selectEndDate), _selectEndDate = _j[0], setSelectEndDate = _j[1];
|
|
2979
2979
|
var _k = useState('days'), view = _k[0], setView = _k[1];
|
|
2980
|
+
var _maxDate = maxDate ? new Date(maxDate) : null;
|
|
2981
|
+
var _minDate = minDate ? new Date(minDate) : null;
|
|
2980
2982
|
useEffect(function () {
|
|
2981
2983
|
if (calendarDate) {
|
|
2982
2984
|
var d = new Date(calendarDate);
|
|
@@ -3024,6 +3026,9 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3024
3026
|
useEffect(function () {
|
|
3025
3027
|
setSelectEndDate(selectEndDate);
|
|
3026
3028
|
}, [selectEndDate]);
|
|
3029
|
+
useEffect(function () {
|
|
3030
|
+
onViewChanged && onViewChanged(view);
|
|
3031
|
+
}, [view]);
|
|
3027
3032
|
var setCalendarPage = function (years, months, setMonth) {
|
|
3028
3033
|
if (months === void 0) { months = 0; }
|
|
3029
3034
|
var year = _calendarDate.getFullYear();
|
|
@@ -3036,7 +3041,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3036
3041
|
onCalendarDateChange && onCalendarDateChange(d);
|
|
3037
3042
|
};
|
|
3038
3043
|
var handleCellOnClick = function (date) {
|
|
3039
|
-
if (
|
|
3044
|
+
if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {
|
|
3040
3045
|
return;
|
|
3041
3046
|
}
|
|
3042
3047
|
if (range) {
|
|
@@ -3060,7 +3065,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3060
3065
|
}
|
|
3061
3066
|
};
|
|
3062
3067
|
var handleCellMouseEnter = function (date) {
|
|
3063
|
-
if (
|
|
3068
|
+
if (isDateDisabled(date, _minDate, _maxDate, disabledDates)) {
|
|
3064
3069
|
return;
|
|
3065
3070
|
}
|
|
3066
3071
|
onCalendarCellHover && onCalendarCellHover(date);
|
|
@@ -3072,7 +3077,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3072
3077
|
if (double === void 0) { double = false; }
|
|
3073
3078
|
if (direction === 'prev') {
|
|
3074
3079
|
if (double) {
|
|
3075
|
-
setCalendarPage(view
|
|
3080
|
+
setCalendarPage(view === 'years' ? -10 : -1);
|
|
3076
3081
|
return;
|
|
3077
3082
|
}
|
|
3078
3083
|
if (view !== 'days') {
|
|
@@ -3084,7 +3089,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3084
3089
|
}
|
|
3085
3090
|
if (direction === 'next') {
|
|
3086
3091
|
if (double) {
|
|
3087
|
-
setCalendarPage(view
|
|
3092
|
+
setCalendarPage(view === 'years' ? 10 : 1);
|
|
3088
3093
|
return;
|
|
3089
3094
|
}
|
|
3090
3095
|
if (view !== 'days') {
|
|
@@ -3105,7 +3110,11 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3105
3110
|
React__default$1.createElement("tr", null, weekDays.map(function (_a, idx) {
|
|
3106
3111
|
var date = _a.date;
|
|
3107
3112
|
return (React__default$1.createElement("th", { key: idx, className: "calendar-cell" },
|
|
3108
|
-
React__default$1.createElement("div", { className: "calendar-header-cell-inner" },
|
|
3113
|
+
React__default$1.createElement("div", { className: "calendar-header-cell-inner" }, typeof weekdayFormat === 'string'
|
|
3114
|
+
? date.toLocaleDateString(locale, { weekday: weekdayFormat })
|
|
3115
|
+
: date
|
|
3116
|
+
.toLocaleDateString(locale, { weekday: 'long' })
|
|
3117
|
+
.slice(0, weekdayFormat))));
|
|
3109
3118
|
})))),
|
|
3110
3119
|
React__default$1.createElement("tbody", { onMouseLeave: function () { return handleCellMouseLeave(); } },
|
|
3111
3120
|
view === 'days' &&
|
|
@@ -3114,7 +3123,7 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3114
3123
|
var date = _a.date, month = _a.month;
|
|
3115
3124
|
return (React__default$1.createElement("td", { className: classNames$1('calendar-cell', {
|
|
3116
3125
|
today: isToday(date),
|
|
3117
|
-
disabled:
|
|
3126
|
+
disabled: isDateDisabled(date, _minDate, _maxDate, disabledDates),
|
|
3118
3127
|
next: month === 'next',
|
|
3119
3128
|
previous: month === 'previous',
|
|
3120
3129
|
last: isLastDayOfMonth(date),
|
|
@@ -3150,16 +3159,16 @@ var CCalendar = forwardRef(function (_a, ref) {
|
|
|
3150
3159
|
var Navigation = function () {
|
|
3151
3160
|
return (React__default$1.createElement("div", { className: "calendar-nav" },
|
|
3152
3161
|
navigation && (React__default$1.createElement("div", { className: "calendar-nav-prev" },
|
|
3153
|
-
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev', true); } },
|
|
3154
|
-
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev'); } },
|
|
3162
|
+
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev', true); } }, navPrevDoubleIcon ? (navPrevDoubleIcon) : (React__default$1.createElement("span", { className: "calendar-nav-icon calendar-nav-icon-double-prev" }))),
|
|
3163
|
+
view === 'days' && (React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('prev'); } }, navPrevIcon ? (navPrevIcon) : (React__default$1.createElement("span", { className: "calendar-nav-icon calendar-nav-icon-prev" })))))),
|
|
3155
3164
|
React__default$1.createElement("div", { className: "calendar-nav-date" },
|
|
3156
3165
|
view === 'days' && (React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return navigation && setView('months'); } }, _calendarDate.toLocaleDateString(locale, { month: 'long' }))),
|
|
3157
3166
|
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return navigation && setView('years'); } }, _calendarDate.toLocaleDateString(locale, { year: 'numeric' }))),
|
|
3158
3167
|
navigation && (React__default$1.createElement("div", { className: "calendar-nav-next" },
|
|
3159
|
-
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next'); } },
|
|
3160
|
-
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next', true); } },
|
|
3168
|
+
view === 'days' && (React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next'); } }, navNextIcon ? (navNextIcon) : (React__default$1.createElement("span", { className: "calendar-nav-icon calendar-nav-icon-next" })))),
|
|
3169
|
+
React__default$1.createElement(CButton, { color: "transparent", size: "sm", onClick: function () { return handleNavigationOnClick('next', true); } }, navNextDoubleIcon ? (navNextDoubleIcon) : (React__default$1.createElement("span", { className: "calendar-nav-icon calendar-nav-icon-double-next" })))))));
|
|
3161
3170
|
};
|
|
3162
|
-
return (React__default$1.createElement("div", { className:
|
|
3171
|
+
return (React__default$1.createElement("div", { className: classNames$1('calendar', view), ref: ref },
|
|
3163
3172
|
React__default$1.createElement(Navigation, null),
|
|
3164
3173
|
React__default$1.createElement(Calendar, null)));
|
|
3165
3174
|
});
|
|
@@ -3170,21 +3179,25 @@ CCalendar.propTypes = {
|
|
|
3170
3179
|
endDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3171
3180
|
firstDayOfWeek: PropTypes$1.number,
|
|
3172
3181
|
locale: PropTypes$1.string,
|
|
3173
|
-
maxDate: PropTypes$1.instanceOf(Date),
|
|
3174
|
-
minDate: PropTypes$1.instanceOf(Date),
|
|
3182
|
+
maxDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3183
|
+
minDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3175
3184
|
navigation: PropTypes$1.bool,
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3185
|
+
navNextIcon: PropTypes$1.node,
|
|
3186
|
+
navNextDoubleIcon: PropTypes$1.node,
|
|
3187
|
+
navPrevIcon: PropTypes$1.node,
|
|
3188
|
+
navPrevDoubleIcon: PropTypes$1.node,
|
|
3180
3189
|
range: PropTypes$1.bool,
|
|
3181
3190
|
selectEndDate: PropTypes$1.bool,
|
|
3182
3191
|
startDate: PropTypes$1.oneOfType([PropTypes$1.instanceOf(Date), PropTypes$1.string]),
|
|
3183
|
-
|
|
3192
|
+
weekdayFormat: PropTypes$1.oneOfType([
|
|
3193
|
+
PropTypes$1.number,
|
|
3194
|
+
PropTypes$1.oneOf(['long', 'narrow', 'short']),
|
|
3195
|
+
]),
|
|
3184
3196
|
onCalendarCellHover: PropTypes$1.func,
|
|
3185
3197
|
onCalendarDateChange: PropTypes$1.func,
|
|
3186
3198
|
onStartDateChange: PropTypes$1.func,
|
|
3187
3199
|
onEndDateChange: PropTypes$1.func,
|
|
3200
|
+
onViewChanged: PropTypes$1.func,
|
|
3188
3201
|
};
|
|
3189
3202
|
CCalendar.displayName = 'CCalendar';
|
|
3190
3203
|
|
|
@@ -4655,6 +4668,55 @@ lib.useDeviceSelectors = useDeviceSelectors;
|
|
|
4655
4668
|
lib.useMobileOrientation = useMobileOrientation;
|
|
4656
4669
|
lib.withOrientationChange = withOrientationChange;
|
|
4657
4670
|
|
|
4671
|
+
var CFormInput = forwardRef(function (_a, ref) {
|
|
4672
|
+
var _b;
|
|
4673
|
+
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"]);
|
|
4674
|
+
var _className = classNames$1(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
|
|
4675
|
+
_b["form-control-".concat(size)] = size,
|
|
4676
|
+
_b['form-control-color'] = type === 'color',
|
|
4677
|
+
_b['is-invalid'] = invalid,
|
|
4678
|
+
_b['is-valid'] = valid,
|
|
4679
|
+
_b), className);
|
|
4680
|
+
return (React__default$1.createElement("input", __assign$1({ type: type, className: _className }, rest, { ref: ref }), children));
|
|
4681
|
+
});
|
|
4682
|
+
CFormInput.propTypes = {
|
|
4683
|
+
children: PropTypes$1.node,
|
|
4684
|
+
className: PropTypes$1.string,
|
|
4685
|
+
invalid: PropTypes$1.bool,
|
|
4686
|
+
plainText: PropTypes$1.bool,
|
|
4687
|
+
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
4688
|
+
type: PropTypes$1.oneOfType([PropTypes$1.oneOf(['color', 'file', 'text']), PropTypes$1.string]),
|
|
4689
|
+
valid: PropTypes$1.bool,
|
|
4690
|
+
};
|
|
4691
|
+
CFormInput.displayName = 'CFormInput';
|
|
4692
|
+
|
|
4693
|
+
var CInputGroup = forwardRef(function (_a, ref) {
|
|
4694
|
+
var _b;
|
|
4695
|
+
var children = _a.children, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "className", "size"]);
|
|
4696
|
+
var _className = classNames$1('input-group', (_b = {},
|
|
4697
|
+
_b["input-group-".concat(size)] = size,
|
|
4698
|
+
_b), className);
|
|
4699
|
+
return (React__default$1.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
4700
|
+
});
|
|
4701
|
+
CInputGroup.propTypes = {
|
|
4702
|
+
children: PropTypes$1.node,
|
|
4703
|
+
className: PropTypes$1.string,
|
|
4704
|
+
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
4705
|
+
};
|
|
4706
|
+
CInputGroup.displayName = 'CInputGroup';
|
|
4707
|
+
|
|
4708
|
+
var CInputGroupText = forwardRef(function (_a, ref) {
|
|
4709
|
+
var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'span' : _b, rest = __rest$1(_a, ["children", "className", "component"]);
|
|
4710
|
+
var _className = classNames$1('input-group-text', className);
|
|
4711
|
+
return (React__default$1.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
4712
|
+
});
|
|
4713
|
+
CInputGroupText.propTypes = {
|
|
4714
|
+
children: PropTypes$1.node,
|
|
4715
|
+
className: PropTypes$1.string,
|
|
4716
|
+
component: PropTypes$1.elementType,
|
|
4717
|
+
};
|
|
4718
|
+
CInputGroupText.displayName = 'CInputGroupText';
|
|
4719
|
+
|
|
4658
4720
|
var ManagerReferenceNodeContext = React$1.createContext();
|
|
4659
4721
|
var ManagerReferenceNodeSetterContext = React$1.createContext();
|
|
4660
4722
|
function Manager(_ref) {
|
|
@@ -5034,6 +5096,10 @@ function getContainingBlock(element) {
|
|
|
5034
5096
|
|
|
5035
5097
|
var currentNode = getParentNode(element);
|
|
5036
5098
|
|
|
5099
|
+
if (isShadowRoot(currentNode)) {
|
|
5100
|
+
currentNode = currentNode.host;
|
|
5101
|
+
}
|
|
5102
|
+
|
|
5037
5103
|
while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
|
|
5038
5104
|
var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
|
|
5039
5105
|
// create a containing block.
|
|
@@ -5266,7 +5332,7 @@ function mapToStyles(_ref2) {
|
|
|
5266
5332
|
|
|
5267
5333
|
if (placement === top || (placement === left || placement === right) && variation === end) {
|
|
5268
5334
|
sideY = bottom;
|
|
5269
|
-
var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
|
5335
|
+
var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
|
5270
5336
|
offsetParent[heightProp];
|
|
5271
5337
|
y -= offsetY - popperRect.height;
|
|
5272
5338
|
y *= gpuAcceleration ? 1 : -1;
|
|
@@ -5274,7 +5340,7 @@ function mapToStyles(_ref2) {
|
|
|
5274
5340
|
|
|
5275
5341
|
if (placement === left || (placement === top || placement === bottom) && variation === end) {
|
|
5276
5342
|
sideX = right;
|
|
5277
|
-
var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
|
5343
|
+
var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
|
5278
5344
|
offsetParent[widthProp];
|
|
5279
5345
|
x -= offsetX - popperRect.width;
|
|
5280
5346
|
x *= gpuAcceleration ? 1 : -1;
|
|
@@ -7162,11 +7228,10 @@ var CDropdownMenu = function (_a) {
|
|
|
7162
7228
|
};
|
|
7163
7229
|
}, [visible]);
|
|
7164
7230
|
var handleKeyup = function (event) {
|
|
7165
|
-
var _a;
|
|
7166
7231
|
if (autoClose === false) {
|
|
7167
7232
|
return;
|
|
7168
7233
|
}
|
|
7169
|
-
if (
|
|
7234
|
+
if (event.key === 'Escape') {
|
|
7170
7235
|
setVisible(false);
|
|
7171
7236
|
}
|
|
7172
7237
|
};
|
|
@@ -7279,18 +7344,19 @@ CDropdownToggle.propTypes = {
|
|
|
7279
7344
|
};
|
|
7280
7345
|
CDropdownToggle.displayName = 'CDropdownToggle';
|
|
7281
7346
|
|
|
7347
|
+
var _a$1, _b$1, _c$1, _d, _e, _f;
|
|
7282
7348
|
var CPicker = forwardRef(function (_a, ref) {
|
|
7283
|
-
var children = _a.children, _b = _a.
|
|
7284
|
-
var
|
|
7349
|
+
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"]);
|
|
7350
|
+
var _k = useState(visible), _visible = _k[0], setVisible = _k[1];
|
|
7285
7351
|
useEffect(function () {
|
|
7286
7352
|
setVisible(visible);
|
|
7287
7353
|
}, [visible]);
|
|
7288
7354
|
var Footer = function () { return (React__default$1.createElement(React__default$1.Fragment, null,
|
|
7289
|
-
React__default$1.createElement(CButton, { color:
|
|
7290
|
-
React__default$1.createElement(CButton, { color:
|
|
7291
|
-
|
|
7355
|
+
cancelButton && (React__default$1.createElement(CButton, { color: cancelButtonColor, size: cancelButtonSize, variant: cancelButtonVariant, onClick: function () { return onCancel && onCancel(); } }, cancelButton)),
|
|
7356
|
+
confirmButton && (React__default$1.createElement(CButton, { color: confirmButtonColor, size: confirmButtonSize, variant: confirmButtonVariant, onClick: function () {
|
|
7357
|
+
onConfirm && onConfirm();
|
|
7292
7358
|
setVisible(false);
|
|
7293
|
-
} },
|
|
7359
|
+
} }, confirmButton)))); };
|
|
7294
7360
|
var _className = classNames$1('picker', className);
|
|
7295
7361
|
switch (container) {
|
|
7296
7362
|
case 'inline':
|
|
@@ -7310,29 +7376,7 @@ var CPicker = forwardRef(function (_a, ref) {
|
|
|
7310
7376
|
}
|
|
7311
7377
|
});
|
|
7312
7378
|
CPicker.displayName = 'CPicker';
|
|
7313
|
-
CPicker.propTypes = __assign$1(
|
|
7314
|
-
|
|
7315
|
-
var CFormInput = forwardRef(function (_a, ref) {
|
|
7316
|
-
var _b;
|
|
7317
|
-
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"]);
|
|
7318
|
-
var _className = classNames$1(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
|
|
7319
|
-
_b["form-control-".concat(size)] = size,
|
|
7320
|
-
_b['form-control-color'] = type === 'color',
|
|
7321
|
-
_b['is-invalid'] = invalid,
|
|
7322
|
-
_b['is-valid'] = valid,
|
|
7323
|
-
_b), className);
|
|
7324
|
-
return (React__default$1.createElement("input", __assign$1({ type: type, className: _className }, rest, { ref: ref }), children));
|
|
7325
|
-
});
|
|
7326
|
-
CFormInput.propTypes = {
|
|
7327
|
-
children: PropTypes$1.node,
|
|
7328
|
-
className: PropTypes$1.string,
|
|
7329
|
-
invalid: PropTypes$1.bool,
|
|
7330
|
-
plainText: PropTypes$1.bool,
|
|
7331
|
-
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
7332
|
-
type: PropTypes$1.oneOfType([PropTypes$1.oneOf(['color', 'file', 'text']), PropTypes$1.string]),
|
|
7333
|
-
valid: PropTypes$1.bool,
|
|
7334
|
-
};
|
|
7335
|
-
CFormInput.displayName = 'CFormInput';
|
|
7379
|
+
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);
|
|
7336
7380
|
|
|
7337
7381
|
var CFormSelect = forwardRef(function (_a, ref) {
|
|
7338
7382
|
var _b;
|
|
@@ -7360,43 +7404,21 @@ CFormSelect.propTypes = {
|
|
|
7360
7404
|
};
|
|
7361
7405
|
CFormSelect.displayName = 'CFormSelect';
|
|
7362
7406
|
|
|
7363
|
-
var CInputGroup = forwardRef(function (_a, ref) {
|
|
7364
|
-
var _b;
|
|
7365
|
-
var children = _a.children, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "className", "size"]);
|
|
7366
|
-
var _className = classNames$1('input-group', (_b = {},
|
|
7367
|
-
_b["input-group-".concat(size)] = size,
|
|
7368
|
-
_b), className);
|
|
7369
|
-
return (React__default$1.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
7370
|
-
});
|
|
7371
|
-
CInputGroup.propTypes = {
|
|
7372
|
-
children: PropTypes$1.node,
|
|
7373
|
-
className: PropTypes$1.string,
|
|
7374
|
-
size: PropTypes$1.oneOf(['sm', 'lg']),
|
|
7375
|
-
};
|
|
7376
|
-
CInputGroup.displayName = 'CInputGroup';
|
|
7377
|
-
|
|
7378
|
-
var CInputGroupText = forwardRef(function (_a, ref) {
|
|
7379
|
-
var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'span' : _b, rest = __rest$1(_a, ["children", "className", "component"]);
|
|
7380
|
-
var _className = classNames$1('input-group-text', className);
|
|
7381
|
-
return (React__default$1.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
|
|
7382
|
-
});
|
|
7383
|
-
CInputGroupText.propTypes = {
|
|
7384
|
-
children: PropTypes$1.node,
|
|
7385
|
-
className: PropTypes$1.string,
|
|
7386
|
-
component: PropTypes$1.elementType,
|
|
7387
|
-
};
|
|
7388
|
-
CInputGroupText.displayName = 'CInputGroupText';
|
|
7389
|
-
|
|
7390
7407
|
var CTimePickerRollCol = forwardRef(function (_a, ref) {
|
|
7391
7408
|
var elements = _a.elements, onClick = _a.onClick, selected = _a.selected;
|
|
7409
|
+
var init = useRef(true);
|
|
7392
7410
|
var colRef = useRef(null);
|
|
7393
7411
|
var forkedRef = useForkedRef(ref, colRef);
|
|
7394
7412
|
useEffect(function () {
|
|
7395
7413
|
var _a, _b;
|
|
7396
7414
|
var nodeEl = (_a = colRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.selected');
|
|
7397
7415
|
if (nodeEl && nodeEl instanceof HTMLElement) {
|
|
7398
|
-
(_b = colRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
|
|
7416
|
+
(_b = colRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
|
|
7417
|
+
top: nodeEl.offsetTop,
|
|
7418
|
+
behavior: init.current ? 'auto' : 'smooth',
|
|
7419
|
+
});
|
|
7399
7420
|
}
|
|
7421
|
+
init.current = false;
|
|
7400
7422
|
}, [selected]);
|
|
7401
7423
|
return (React__default$1.createElement("div", { className: "time-picker-roll-col", ref: forkedRef }, elements.map(function (element, index) {
|
|
7402
7424
|
return (React__default$1.createElement("div", { className: classNames$1('time-picker-roll-cell', {
|
|
@@ -7424,6 +7446,9 @@ var convert12hTo24h = function (abbr, hour) {
|
|
|
7424
7446
|
return hour + 12;
|
|
7425
7447
|
};
|
|
7426
7448
|
var convert24hTo12h = function (hour) { return hour % 12 || 12; };
|
|
7449
|
+
var convertTimeToDate = function (time) {
|
|
7450
|
+
return time ? (time instanceof Date ? new Date(time) : new Date("1970-01-01 ".concat(time))) : null;
|
|
7451
|
+
};
|
|
7427
7452
|
var getAmPm = function (date, locale) {
|
|
7428
7453
|
if (date.toLocaleTimeString(locale).includes('AM')) {
|
|
7429
7454
|
return 'am';
|
|
@@ -7433,47 +7458,51 @@ var getAmPm = function (date, locale) {
|
|
|
7433
7458
|
}
|
|
7434
7459
|
return date.getHours() >= 12 ? 'pm' : 'am';
|
|
7435
7460
|
};
|
|
7461
|
+
var getListOfHours = function (locale) {
|
|
7462
|
+
return Array.from({ length: isAmPm(locale) ? 12 : 24 }, function (_, i) {
|
|
7463
|
+
return {
|
|
7464
|
+
value: isAmPm(locale) ? i + 1 : i,
|
|
7465
|
+
label: (isAmPm(locale) ? i + 1 : i).toLocaleString(locale),
|
|
7466
|
+
};
|
|
7467
|
+
});
|
|
7468
|
+
};
|
|
7469
|
+
var getMinutesOrSeconds = function (locale) {
|
|
7470
|
+
return Array.from({ length: 60 }, function (_, i) {
|
|
7471
|
+
return {
|
|
7472
|
+
value: i,
|
|
7473
|
+
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7474
|
+
};
|
|
7475
|
+
});
|
|
7476
|
+
};
|
|
7477
|
+
var getSelectedHour = function (date, locale) {
|
|
7478
|
+
return date ? (isAmPm(locale) ? convert24hTo12h(date.getHours()) : date.getHours()) : '';
|
|
7479
|
+
};
|
|
7480
|
+
var getSelectedMinutes = function (date) { return (date ? date.getMinutes() : ''); };
|
|
7481
|
+
var getSelectedSeconds = function (date) { return (date ? date.getSeconds() : ''); };
|
|
7436
7482
|
var isAmPm = function (locale) {
|
|
7437
7483
|
return ['am', 'AM', 'pm', 'PM'].some(function (el) { return new Date().toLocaleString(locale).includes(el); });
|
|
7438
7484
|
};
|
|
7485
|
+
var isValidTime = function (time) {
|
|
7486
|
+
var d = new Date("1970-01-01 ".concat(time));
|
|
7487
|
+
return d instanceof Date && d.getTime();
|
|
7488
|
+
};
|
|
7439
7489
|
|
|
7440
7490
|
var CTimePicker = forwardRef(function (_a, ref) {
|
|
7441
7491
|
var _b;
|
|
7442
|
-
var className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c,
|
|
7492
|
+
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"]);
|
|
7443
7493
|
var inputRef = useRef(null);
|
|
7444
|
-
var
|
|
7445
|
-
var
|
|
7494
|
+
var _k = useState(convertTimeToDate(time)), date = _k[0], setDate = _k[1];
|
|
7495
|
+
var _l = useState(null), initialDate = _l[0], setInitialDate = _l[1];
|
|
7496
|
+
var _m = useState(date ? getAmPm(new Date(date), locale) : 'am'), _ampm = _m[0], setAmPm = _m[1];
|
|
7446
7497
|
useEffect(function () {
|
|
7447
|
-
setDate(
|
|
7448
|
-
}, [
|
|
7498
|
+
setDate(convertTimeToDate(time));
|
|
7499
|
+
}, [time]);
|
|
7449
7500
|
useEffect(function () {
|
|
7450
7501
|
if (inputRef.current) {
|
|
7451
7502
|
inputRef.current.value = date ? date.toLocaleTimeString(locale) : '';
|
|
7452
7503
|
}
|
|
7504
|
+
date && setAmPm(getAmPm(new Date(date), locale));
|
|
7453
7505
|
}, [date]);
|
|
7454
|
-
var getHours = function (locale) {
|
|
7455
|
-
return Array.from(new Array(isAmPm(locale) ? 12 : 24), function (_, i) {
|
|
7456
|
-
return {
|
|
7457
|
-
value: isAmPm(locale) ? i + 1 : i,
|
|
7458
|
-
label: (isAmPm(locale) ? i + 1 : i).toLocaleString(locale),
|
|
7459
|
-
};
|
|
7460
|
-
});
|
|
7461
|
-
};
|
|
7462
|
-
var getMinutesOrSeconds = function (locale) {
|
|
7463
|
-
return Array.from(new Array(60), function (_, i) {
|
|
7464
|
-
return {
|
|
7465
|
-
value: i,
|
|
7466
|
-
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7467
|
-
};
|
|
7468
|
-
});
|
|
7469
|
-
};
|
|
7470
|
-
var selectedHour = date
|
|
7471
|
-
? isAmPm(locale)
|
|
7472
|
-
? convert24hTo12h(date.getHours())
|
|
7473
|
-
: date.getHours()
|
|
7474
|
-
: null;
|
|
7475
|
-
var selectedMinutes = date ? date.getMinutes() : null;
|
|
7476
|
-
var selectedSeconds = date ? date.getSeconds() : null;
|
|
7477
7506
|
var handleClear = function (event) {
|
|
7478
7507
|
event.stopPropagation();
|
|
7479
7508
|
setDate(null);
|
|
@@ -7482,11 +7511,9 @@ var CTimePicker = forwardRef(function (_a, ref) {
|
|
|
7482
7511
|
var _date = date || new Date('1970-01-01');
|
|
7483
7512
|
if (set === 'toggle') {
|
|
7484
7513
|
if (value === 'am') {
|
|
7485
|
-
setAmPm('am');
|
|
7486
7514
|
_date.setHours(_date.getHours() - 12);
|
|
7487
7515
|
}
|
|
7488
7516
|
if (value === 'pm') {
|
|
7489
|
-
setAmPm('pm');
|
|
7490
7517
|
_date.setHours(_date.getHours() + 12);
|
|
7491
7518
|
}
|
|
7492
7519
|
}
|
|
@@ -7505,42 +7532,44 @@ var CTimePicker = forwardRef(function (_a, ref) {
|
|
|
7505
7532
|
_date.setSeconds(parseInt(value));
|
|
7506
7533
|
}
|
|
7507
7534
|
setDate(new Date(_date));
|
|
7508
|
-
|
|
7535
|
+
onTimeChange && onTimeChange(_date.toTimeString(), _date.toLocaleTimeString(), _date);
|
|
7509
7536
|
};
|
|
7510
7537
|
var InputGroup = function () { return (React__default$1.createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
7511
|
-
React__default$1.createElement(CFormInput, { disabled: disabled,
|
|
7512
|
-
|
|
7513
|
-
|
|
7514
|
-
|
|
7538
|
+
React__default$1.createElement(CFormInput, { disabled: disabled, onChange: function (event) {
|
|
7539
|
+
return isValidTime(event.target.value) && setDate(convertTimeToDate(event.target.value));
|
|
7540
|
+
}, placeholder: placeholder, readOnly: inputReadOnly, ref: inputRef }),
|
|
7541
|
+
(indicator || cleaner) && (React__default$1.createElement(CInputGroupText, null,
|
|
7542
|
+
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))),
|
|
7543
|
+
cleaner && date && (React__default$1.createElement("span", { className: "picker-input-group-cleaner", onClick: function (event) { return handleClear(event); }, role: "button" }, typeof cleaner === 'boolean' ? (React__default$1.createElement("span", { className: "picker-input-group-icon time-picker-cleaner-icon" })) : (cleaner))))))); };
|
|
7515
7544
|
var TimePickerSelect = function () {
|
|
7516
7545
|
return (React__default$1.createElement(React__default$1.Fragment, null,
|
|
7517
7546
|
React__default$1.createElement("span", { className: "time-picker-inline-icon" }),
|
|
7518
|
-
React__default$1.createElement(CFormSelect, { disabled: disabled, options:
|
|
7547
|
+
React__default$1.createElement(CFormSelect, { disabled: disabled, options: getListOfHours(locale).map(function (option) {
|
|
7519
7548
|
return {
|
|
7520
7549
|
value: option.value.toString(),
|
|
7521
7550
|
label: option.label,
|
|
7522
7551
|
};
|
|
7523
7552
|
}), onChange: function (event) {
|
|
7524
7553
|
return handleTimeChange('hours', event.target.value);
|
|
7525
|
-
}, value:
|
|
7526
|
-
React__default$1.createElement(
|
|
7527
|
-
React__default$1.createElement(CFormSelect, { disabled: disabled, options: Array.from(
|
|
7554
|
+
}, value: getSelectedHour(date, locale) }),
|
|
7555
|
+
React__default$1.createElement(React__default$1.Fragment, null, ":"),
|
|
7556
|
+
React__default$1.createElement(CFormSelect, { disabled: disabled, options: Array.from({ length: 60 }, function (_, i) {
|
|
7528
7557
|
return {
|
|
7529
7558
|
value: i.toString(),
|
|
7530
7559
|
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7531
7560
|
};
|
|
7532
7561
|
}), onChange: function (event) {
|
|
7533
7562
|
return handleTimeChange('minutes', event.target.value);
|
|
7534
|
-
}, value:
|
|
7535
|
-
React__default$1.createElement(
|
|
7536
|
-
React__default$1.createElement(CFormSelect, { disabled: disabled, options: Array.from(
|
|
7563
|
+
}, value: getSelectedMinutes(date) }),
|
|
7564
|
+
React__default$1.createElement(React__default$1.Fragment, null, ":"),
|
|
7565
|
+
React__default$1.createElement(CFormSelect, { disabled: disabled, options: Array.from({ length: 60 }, function (_, i) {
|
|
7537
7566
|
return {
|
|
7538
7567
|
value: i.toString(),
|
|
7539
7568
|
label: i.toLocaleString(locale).padStart(2, (0).toLocaleString(locale)),
|
|
7540
7569
|
};
|
|
7541
7570
|
}), onChange: function (event) {
|
|
7542
7571
|
return handleTimeChange('seconds', event.target.value);
|
|
7543
|
-
}, value:
|
|
7572
|
+
}, value: getSelectedSeconds(date) }),
|
|
7544
7573
|
isAmPm(locale) && (React__default$1.createElement(CFormSelect, { disabled: disabled, options: [
|
|
7545
7574
|
{ value: 'am', label: 'AM' },
|
|
7546
7575
|
{ value: 'pm', label: 'PM' },
|
|
@@ -7549,39 +7578,39 @@ var CTimePicker = forwardRef(function (_a, ref) {
|
|
|
7549
7578
|
}, value: _ampm }))));
|
|
7550
7579
|
};
|
|
7551
7580
|
var TimePickerRoll = function () { return (React__default$1.createElement(React__default$1.Fragment, null,
|
|
7552
|
-
React__default$1.createElement(CTimePickerRollCol, { elements:
|
|
7553
|
-
React__default$1.createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale),
|
|
7554
|
-
React__default$1.createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale),
|
|
7581
|
+
React__default$1.createElement(CTimePickerRollCol, { elements: getListOfHours(locale), onClick: function (index) { return handleTimeChange('hours', index.toString()); }, selected: getSelectedHour(date, locale) }),
|
|
7582
|
+
React__default$1.createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale), onClick: function (index) { return handleTimeChange('minutes', index.toString()); }, selected: getSelectedMinutes(date) }),
|
|
7583
|
+
React__default$1.createElement(CTimePickerRollCol, { elements: getMinutesOrSeconds(locale), onClick: function (index) { return handleTimeChange('seconds', index.toString()); }, selected: getSelectedSeconds(date) }),
|
|
7555
7584
|
isAmPm(locale) && (React__default$1.createElement(CTimePickerRollCol, { elements: [
|
|
7556
7585
|
{ value: 'am', label: 'AM' },
|
|
7557
7586
|
{ value: 'pm', label: 'PM' },
|
|
7558
|
-
],
|
|
7587
|
+
], onClick: function (value) { return handleTimeChange('toggle', value); }, selected: _ampm })))); };
|
|
7559
7588
|
var _className = classNames$1('time-picker', className);
|
|
7560
|
-
return (React__default$1.createElement(CPicker, __assign$1({ className: _className, container: container, disabled: disabled, footer: footer,
|
|
7561
|
-
|
|
7562
|
-
|
|
7563
|
-
? new Date(value)
|
|
7564
|
-
: new Date("1970-01-01 ".concat(value))
|
|
7565
|
-
: new Date());
|
|
7589
|
+
return (React__default$1.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 () {
|
|
7590
|
+
date && setInitialDate(new Date(date));
|
|
7591
|
+
onShow && onShow();
|
|
7566
7592
|
}, toggler: InputGroup() }, rest, { ref: ref }),
|
|
7567
7593
|
React__default$1.createElement("div", { className: classNames$1('time-picker-body', (_b = {},
|
|
7568
7594
|
_b['time-picker-roll'] = variant === 'roll',
|
|
7569
7595
|
_b)) }, variant === 'select' ? React__default$1.createElement(TimePickerSelect, null) : TimePickerRoll())));
|
|
7570
7596
|
});
|
|
7571
|
-
CTimePicker.propTypes = __assign$1(__assign$1({}, CPicker.propTypes), { className: PropTypes$1.string, locale: PropTypes$1.string,
|
|
7597
|
+
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']) });
|
|
7572
7598
|
CTimePicker.displayName = 'CTimePicker';
|
|
7573
7599
|
|
|
7600
|
+
var _a, _b, _c;
|
|
7574
7601
|
var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
7575
|
-
var _b = _a.calendars, calendars = _b === void 0 ? 2 : _b, className = _a.className, _c = _a.cleaner, cleaner = _c === void 0 ? true : _c,
|
|
7602
|
+
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"]);
|
|
7603
|
+
var _l = useState(visible), _visible = _l[0], setVisible = _l[1];
|
|
7576
7604
|
var inputStartRef = useRef(null);
|
|
7577
7605
|
var inputEndRef = useRef(null);
|
|
7578
|
-
var
|
|
7579
|
-
var
|
|
7580
|
-
var
|
|
7581
|
-
var
|
|
7582
|
-
var
|
|
7583
|
-
var
|
|
7584
|
-
var
|
|
7606
|
+
var _m = useState(null), inputStartHoverValue = _m[0], setInputStartHoverValue = _m[1];
|
|
7607
|
+
var _o = useState(null), inputEndHoverValue = _o[0], setInputEndHoverValue = _o[1];
|
|
7608
|
+
var _p = useState(calendarDate ? new Date(calendarDate) : new Date()), _calendarDate = _p[0], setCalendarDate = _p[1];
|
|
7609
|
+
var _q = useState(startDate ? new Date(startDate) : null), _startDate = _q[0], setStartDate = _q[1];
|
|
7610
|
+
var _r = useState(endDate ? new Date(endDate) : null), _endDate = _r[0], setEndDate = _r[1];
|
|
7611
|
+
var _s = useState(startDate ? new Date(startDate) : null), initialStartDate = _s[0], setInitialStartDate = _s[1];
|
|
7612
|
+
var _t = useState(endDate ? new Date(endDate) : null), initialEndDate = _t[0], setInitialEndDate = _t[1];
|
|
7613
|
+
var _u = useState(false), selectEndDate = _u[0], setSelectEndDate = _u[1];
|
|
7585
7614
|
useEffect(function () {
|
|
7586
7615
|
startDate && setCalendarDate(new Date(startDate));
|
|
7587
7616
|
}, [startDate]);
|
|
@@ -7589,39 +7618,32 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
7589
7618
|
endDate && setCalendarDate(new Date(endDate));
|
|
7590
7619
|
}, [endDate]);
|
|
7591
7620
|
useEffect(function () {
|
|
7592
|
-
|
|
7593
|
-
|
|
7594
|
-
|
|
7595
|
-
useEffect(function () {
|
|
7596
|
-
if (inputStartRef.current) {
|
|
7597
|
-
if (inputHoverValue) {
|
|
7598
|
-
inputStartRef.current.value = convertToLocalDate(inputHoverValue, locale);
|
|
7599
|
-
return;
|
|
7600
|
-
}
|
|
7601
|
-
if (_startDate) {
|
|
7602
|
-
inputStartRef.current.value = timepicker
|
|
7603
|
-
? _startDate.toLocaleString(locale)
|
|
7604
|
-
: _startDate.toLocaleDateString(locale);
|
|
7605
|
-
return;
|
|
7606
|
-
}
|
|
7607
|
-
inputStartRef.current.value = '';
|
|
7621
|
+
if (inputStartHoverValue) {
|
|
7622
|
+
setInputValue(inputStartRef.current, inputStartHoverValue, timepicker);
|
|
7623
|
+
return;
|
|
7608
7624
|
}
|
|
7609
|
-
|
|
7625
|
+
setInputValue(inputStartRef.current, _startDate, timepicker);
|
|
7626
|
+
}, [inputStartHoverValue, _startDate]);
|
|
7610
7627
|
useEffect(function () {
|
|
7611
|
-
if (
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
return;
|
|
7621
|
-
}
|
|
7622
|
-
inputEndRef.current.value = '';
|
|
7628
|
+
if (inputEndHoverValue) {
|
|
7629
|
+
setInputValue(inputEndRef.current, inputEndHoverValue, timepicker);
|
|
7630
|
+
return;
|
|
7631
|
+
}
|
|
7632
|
+
setInputValue(inputEndRef.current, _endDate, timepicker);
|
|
7633
|
+
}, [inputEndHoverValue, _endDate]);
|
|
7634
|
+
var setInputValue = function (el, date, timepicker) {
|
|
7635
|
+
if (!el) {
|
|
7636
|
+
return;
|
|
7623
7637
|
}
|
|
7624
|
-
|
|
7638
|
+
if (date) {
|
|
7639
|
+
el.value = timepicker ? date.toLocaleString(locale) : date.toLocaleDateString(locale);
|
|
7640
|
+
return;
|
|
7641
|
+
}
|
|
7642
|
+
el.value = '';
|
|
7643
|
+
};
|
|
7644
|
+
var handleCalendarCellHover = function (date) {
|
|
7645
|
+
selectEndDate ? setInputEndHoverValue(date) : setInputStartHoverValue(date);
|
|
7646
|
+
};
|
|
7625
7647
|
var handleCalendarDateChange = function (date, difference) {
|
|
7626
7648
|
difference
|
|
7627
7649
|
? setCalendarDate(new Date(date.getFullYear(), date.getMonth() - difference, 1))
|
|
@@ -7631,65 +7653,80 @@ var CDateRangePicker = forwardRef(function (_a, ref) {
|
|
|
7631
7653
|
setStartDate(date);
|
|
7632
7654
|
range && setSelectEndDate(true);
|
|
7633
7655
|
onStartDateChange && onStartDateChange(date);
|
|
7634
|
-
|
|
7656
|
+
setInputStartHoverValue(null);
|
|
7635
7657
|
};
|
|
7636
7658
|
var handleEndDateChange = function (date) {
|
|
7637
7659
|
setEndDate(date);
|
|
7638
7660
|
setSelectEndDate(false);
|
|
7639
7661
|
onEndDateChange && onEndDateChange(date);
|
|
7640
|
-
|
|
7641
|
-
if (timepicker !== true) {
|
|
7662
|
+
setInputEndHoverValue(null);
|
|
7663
|
+
if (timepicker !== true && footer !== true) {
|
|
7642
7664
|
_startDate !== null && setVisible(false);
|
|
7643
7665
|
}
|
|
7644
7666
|
};
|
|
7645
|
-
var handleCalendarCellHover = function (date) {
|
|
7646
|
-
selectEndDate ? setInputToHoverValue(date) : setInputHoverValue(date);
|
|
7647
|
-
};
|
|
7648
7667
|
var handleClear = function (event) {
|
|
7649
7668
|
event.stopPropagation();
|
|
7650
|
-
setStartDate(
|
|
7651
|
-
setEndDate(
|
|
7652
|
-
|
|
7653
|
-
|
|
7669
|
+
setStartDate(initialStartDate);
|
|
7670
|
+
setEndDate(initialEndDate);
|
|
7671
|
+
setInputStartHoverValue(null);
|
|
7672
|
+
setInputEndHoverValue(null);
|
|
7654
7673
|
};
|
|
7655
7674
|
var _className = classNames$1('date-picker', className);
|
|
7656
7675
|
var InputGroup = function () { return (React__default$1.createElement(CInputGroup, { className: "picker-input-group", size: size },
|
|
7657
7676
|
React__default$1.createElement(CFormInput, { className: classNames$1({
|
|
7658
|
-
hover:
|
|
7659
|
-
}), disabled: disabled, placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly,
|
|
7660
|
-
|
|
7677
|
+
hover: inputStartHoverValue,
|
|
7678
|
+
}), disabled: disabled, placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder, readOnly: inputReadOnly, onChange: function (event) {
|
|
7679
|
+
if (isValidDate(event.target.value)) {
|
|
7680
|
+
setCalendarDate(new Date(event.target.value));
|
|
7681
|
+
setStartDate(new Date(event.target.value));
|
|
7682
|
+
}
|
|
7683
|
+
}, onClick: function () { return setSelectEndDate(false); }, ref: inputStartRef }),
|
|
7684
|
+
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))),
|
|
7661
7685
|
range && (React__default$1.createElement(CFormInput, { className: classNames$1({
|
|
7662
|
-
hover:
|
|
7663
|
-
}), disabled: disabled, placeholder: placeholder[1], readOnly: inputReadOnly,
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
|
|
7669
|
-
|
|
7686
|
+
hover: inputEndHoverValue,
|
|
7687
|
+
}), disabled: disabled, placeholder: placeholder[1], readOnly: inputReadOnly, onChange: function (event) {
|
|
7688
|
+
if (isValidDate(event.target.value)) {
|
|
7689
|
+
setCalendarDate(new Date(event.target.value));
|
|
7690
|
+
setEndDate(new Date(event.target.value));
|
|
7691
|
+
}
|
|
7692
|
+
}, onClick: function () { return setSelectEndDate(true); }, ref: inputEndRef })),
|
|
7693
|
+
(indicator || cleaner) && (React__default$1.createElement(CInputGroupText, null,
|
|
7694
|
+
indicator && (React__default$1.createElement("span", { className: "picker-input-group-indicator" }, typeof indicator === 'boolean' ? (React__default$1.createElement("span", { className: "picker-input-group-icon date-picker-input-icon" })) : (indicator))),
|
|
7695
|
+
cleaner && _startDate && (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 date-picker-cleaner-icon" })) : (cleaner))))))); };
|
|
7696
|
+
return (React__default$1.createElement(CPicker, __assign$1({ className: _className, disabled: disabled, footer: footer || timepicker, toggler: toggler ? toggler : InputGroup(), onCancel: function () {
|
|
7697
|
+
handleStartDateChange(initialStartDate);
|
|
7698
|
+
handleEndDateChange(initialEndDate);
|
|
7699
|
+
}, onHide: function () {
|
|
7700
|
+
setInputStartHoverValue(null);
|
|
7701
|
+
setInputEndHoverValue(null);
|
|
7702
|
+
onHide && onHide();
|
|
7703
|
+
}, onShow: function () {
|
|
7704
|
+
setInitialStartDate(_startDate);
|
|
7705
|
+
setInitialEndDate(_endDate);
|
|
7706
|
+
onShow && onShow();
|
|
7670
7707
|
}, visible: _visible }, rest, { ref: ref }),
|
|
7671
7708
|
React__default$1.createElement("div", { className: "date-picker-body" },
|
|
7672
|
-
ranges && (React__default$1.createElement("div", { className: "date-picker-ranges" }, Object.keys(ranges).map(function (key, index) { return (React__default$1.createElement(CButton, { color:
|
|
7709
|
+
ranges && (React__default$1.createElement("div", { className: "date-picker-ranges" }, Object.keys(ranges).map(function (key, index) { return (React__default$1.createElement(CButton, { color: rangesButtonsColor, key: index, onClick: function () {
|
|
7673
7710
|
setStartDate(ranges[key][0]);
|
|
7674
7711
|
setEndDate(ranges[key][1]);
|
|
7675
|
-
}, variant:
|
|
7712
|
+
}, size: rangesButtonsSize, variant: rangesButtonsVariant }, key)); }))),
|
|
7676
7713
|
React__default$1.createElement("div", { className: "date-picker-calendars" }, __spreadArray([], Array(isMobile_1 ? 1 : calendars), true).map(function (_, index) { return (React__default$1.createElement("div", { className: "date-picker-calendar", key: index },
|
|
7677
|
-
React__default$1.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); } }),
|
|
7714
|
+
React__default$1.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); } }),
|
|
7678
7715
|
!isMobile_1 && timepicker && (index === 0 || calendars - index === 1) && (React__default$1.createElement(CTimePicker, { container: "inline", disabled: index === 0
|
|
7679
7716
|
? _startDate === null
|
|
7680
7717
|
? true
|
|
7681
7718
|
: false
|
|
7682
7719
|
: _endDate === null
|
|
7683
7720
|
? true
|
|
7684
|
-
: false, locale: locale,
|
|
7721
|
+
: false, locale: locale, onTimeChange: function (_, __, date) {
|
|
7685
7722
|
return index === 0 ? handleStartDateChange(date) : handleEndDateChange(date);
|
|
7686
|
-
},
|
|
7723
|
+
}, time: index === 0 ? _startDate : _endDate, variant: "select" })),
|
|
7687
7724
|
isMobile_1 && timepicker && (React__default$1.createElement(React__default$1.Fragment, null,
|
|
7688
|
-
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _startDate === null ? true : false, locale: locale,
|
|
7689
|
-
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _endDate === null ? true : false, locale: locale,
|
|
7725
|
+
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _startDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return handleStartDateChange(date); }, time: _startDate, variant: "select" }),
|
|
7726
|
+
React__default$1.createElement(CTimePicker, { container: "inline", disabled: _endDate === null ? true : false, locale: locale, onTimeChange: function (_, __, date) { return handleEndDateChange(date); }, time: _endDate, variant: "select" }))))); })))));
|
|
7690
7727
|
});
|
|
7691
7728
|
CDateRangePicker.displayName = 'CDateRangePicker';
|
|
7692
|
-
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 });
|
|
7729
|
+
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 });
|
|
7693
7730
|
|
|
7694
7731
|
var CDatePicker = forwardRef(function (_a, ref) {
|
|
7695
7732
|
var date = _a.date, onDateChange = _a.onDateChange, _b = _a.placeholder, placeholder = _b === void 0 ? 'Select date' : _b, rest = __rest$1(_a, ["date", "onDateChange", "placeholder"]);
|