@commonsku/styles 1.16.3 → 1.16.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +65 -3
- package/dist/index.es.js +263 -228
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +268 -225
- package/dist/index.js.map +1 -1
- package/dist/styles/Popup.d.ts +17 -1
- package/dist/styles/Popup.d.ts.map +1 -1
- package/dist/styles/hooks/index.d.ts +2 -0
- package/dist/styles/hooks/index.d.ts.map +1 -1
- package/dist/styles/hooks/useClickOutside.d.ts +9 -0
- package/dist/styles/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/styles/hooks/useFallbackRef.d.ts +4 -0
- package/dist/styles/hooks/useFallbackRef.d.ts.map +1 -0
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.d.ts.map +1 -1
- package/package.json +8 -3
package/dist/index.js
CHANGED
|
@@ -3425,6 +3425,254 @@ var THSorted = function (_a) {
|
|
|
3425
3425
|
};
|
|
3426
3426
|
var templateObject_1$m, templateObject_2$d, templateObject_3$6, templateObject_4$5, templateObject_5$5, templateObject_6$4, templateObject_7$2, templateObject_8$1, templateObject_9;
|
|
3427
3427
|
|
|
3428
|
+
var useClickOutside = function (props) {
|
|
3429
|
+
var ref = props.ref, _a = props.eventType, eventType = _a === void 0 ? 'mousedown' : _a, onClick = props.onClick, onCleanup = props.onCleanup;
|
|
3430
|
+
React.useEffect(function () {
|
|
3431
|
+
function handleClickOutside(e) {
|
|
3432
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
3433
|
+
onClick && onClick(e);
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3436
|
+
document.addEventListener(eventType, handleClickOutside);
|
|
3437
|
+
return function () {
|
|
3438
|
+
document.removeEventListener(eventType, handleClickOutside);
|
|
3439
|
+
onCleanup && onCleanup();
|
|
3440
|
+
};
|
|
3441
|
+
}, []);
|
|
3442
|
+
};
|
|
3443
|
+
|
|
3444
|
+
function useDelayUnmount(isMounted, delayTime) {
|
|
3445
|
+
var _a = React__default.useState(false), shouldRender = _a[0], setShouldRender = _a[1];
|
|
3446
|
+
React__default.useEffect(function () {
|
|
3447
|
+
var timeoutId;
|
|
3448
|
+
if (isMounted && !shouldRender) {
|
|
3449
|
+
setShouldRender(true);
|
|
3450
|
+
}
|
|
3451
|
+
else if (!isMounted && shouldRender) {
|
|
3452
|
+
timeoutId = setTimeout(function () { return setShouldRender(false); }, delayTime);
|
|
3453
|
+
}
|
|
3454
|
+
return function () { return clearTimeout(timeoutId); };
|
|
3455
|
+
}, [isMounted, delayTime, shouldRender]);
|
|
3456
|
+
return shouldRender;
|
|
3457
|
+
}
|
|
3458
|
+
|
|
3459
|
+
var QUERY = '(prefers-reduced-motion: no-preference)';
|
|
3460
|
+
var isRenderingOnServer = typeof window$1 === 'undefined';
|
|
3461
|
+
var getInitialState = function () {
|
|
3462
|
+
// For our initial server render, we won't know if the user
|
|
3463
|
+
// prefers reduced motion, but it doesn't matter. This value
|
|
3464
|
+
// will be overwritten on the client, before any animations
|
|
3465
|
+
// occur.
|
|
3466
|
+
return isRenderingOnServer ? true : !window$1.matchMedia(QUERY).matches;
|
|
3467
|
+
};
|
|
3468
|
+
var usePrefersReducedMotion = function () {
|
|
3469
|
+
var _a = React__default.useState(getInitialState), prefersReducedMotion = _a[0], setPrefersReducedMotion = _a[1];
|
|
3470
|
+
React__default.useEffect(function () {
|
|
3471
|
+
var mediaQueryList = window$1.matchMedia(QUERY);
|
|
3472
|
+
var listener = function (event) {
|
|
3473
|
+
setPrefersReducedMotion(!event.matches);
|
|
3474
|
+
};
|
|
3475
|
+
mediaQueryList.addListener(listener);
|
|
3476
|
+
return function () {
|
|
3477
|
+
mediaQueryList.removeListener(listener);
|
|
3478
|
+
};
|
|
3479
|
+
}, []);
|
|
3480
|
+
return prefersReducedMotion;
|
|
3481
|
+
};
|
|
3482
|
+
|
|
3483
|
+
var useRandomInterval = function (callback, minDelay, maxDelay) {
|
|
3484
|
+
var timeoutId = React__default.useRef(null);
|
|
3485
|
+
var savedCallback = React__default.useRef(callback);
|
|
3486
|
+
React__default.useEffect(function () {
|
|
3487
|
+
savedCallback.current = callback;
|
|
3488
|
+
});
|
|
3489
|
+
React__default.useEffect(function () {
|
|
3490
|
+
var isEnabled = typeof minDelay === 'number' && typeof maxDelay === 'number';
|
|
3491
|
+
if (isEnabled) {
|
|
3492
|
+
var handleTick_1 = function () {
|
|
3493
|
+
var nextTickAt = random(minDelay, maxDelay);
|
|
3494
|
+
timeoutId.current = setTimeout(function () {
|
|
3495
|
+
savedCallback.current();
|
|
3496
|
+
handleTick_1();
|
|
3497
|
+
}, nextTickAt);
|
|
3498
|
+
};
|
|
3499
|
+
handleTick_1();
|
|
3500
|
+
}
|
|
3501
|
+
return function () {
|
|
3502
|
+
if (!!timeoutId.current) {
|
|
3503
|
+
clearTimeout(timeoutId.current);
|
|
3504
|
+
}
|
|
3505
|
+
};
|
|
3506
|
+
}, [minDelay, maxDelay]);
|
|
3507
|
+
var cancel = React__default.useCallback(function () {
|
|
3508
|
+
if (!!timeoutId.current) {
|
|
3509
|
+
clearTimeout(timeoutId.current);
|
|
3510
|
+
}
|
|
3511
|
+
}, []);
|
|
3512
|
+
return cancel;
|
|
3513
|
+
};
|
|
3514
|
+
|
|
3515
|
+
var today = new Date();
|
|
3516
|
+
var getDatesBetween = function (startDt, endDt) {
|
|
3517
|
+
var result = [];
|
|
3518
|
+
var currentDt = startDt;
|
|
3519
|
+
while (currentDt <= endDt) {
|
|
3520
|
+
result.push(currentDt);
|
|
3521
|
+
currentDt = dateFns.addDays(currentDt, 1);
|
|
3522
|
+
}
|
|
3523
|
+
return result;
|
|
3524
|
+
};
|
|
3525
|
+
var useCalendar = function (_a) {
|
|
3526
|
+
var onChangeWeek = _a.onChangeWeek, onChangeMonth = _a.onChangeMonth;
|
|
3527
|
+
var _b = React.useState(today), currentMonth = _b[0], setCurrentMonth = _b[1];
|
|
3528
|
+
var _c = React.useState(dateFns.getWeek(currentMonth)), currentWeek = _c[0], setCurrentWeek = _c[1];
|
|
3529
|
+
var _d = React.useState(today), selectedDate = _d[0], setSelectedDate = _d[1];
|
|
3530
|
+
var changeMonth = function (action) {
|
|
3531
|
+
var dt = currentMonth;
|
|
3532
|
+
if (action === "prev") {
|
|
3533
|
+
dt = dateFns.subMonths(currentMonth, 1);
|
|
3534
|
+
}
|
|
3535
|
+
else if (action === "next") {
|
|
3536
|
+
dt = dateFns.addMonths(currentMonth, 1);
|
|
3537
|
+
}
|
|
3538
|
+
else if (action === "reset") {
|
|
3539
|
+
dt = today;
|
|
3540
|
+
}
|
|
3541
|
+
setCurrentMonth(dt);
|
|
3542
|
+
onChangeMonth && onChangeMonth({
|
|
3543
|
+
action: action,
|
|
3544
|
+
date: dt,
|
|
3545
|
+
month: dateFns.getMonth(dt),
|
|
3546
|
+
year: dateFns.getYear(dt),
|
|
3547
|
+
});
|
|
3548
|
+
};
|
|
3549
|
+
var changeWeek = function (action, value) {
|
|
3550
|
+
var dt = currentMonth;
|
|
3551
|
+
if (action === "prev") {
|
|
3552
|
+
dt = dateFns.subWeeks(currentMonth, 1);
|
|
3553
|
+
}
|
|
3554
|
+
else if (action === "next") {
|
|
3555
|
+
dt = dateFns.addWeeks(currentMonth, 1);
|
|
3556
|
+
}
|
|
3557
|
+
else if (action === "reset") {
|
|
3558
|
+
dt = today;
|
|
3559
|
+
}
|
|
3560
|
+
else if (action === "custom" && value) {
|
|
3561
|
+
dt = value;
|
|
3562
|
+
}
|
|
3563
|
+
setCurrentMonth(dt);
|
|
3564
|
+
var week = dateFns.getWeek(dt);
|
|
3565
|
+
setCurrentWeek(week);
|
|
3566
|
+
onChangeWeek && onChangeWeek({
|
|
3567
|
+
action: action,
|
|
3568
|
+
date: dt,
|
|
3569
|
+
week: week,
|
|
3570
|
+
month: dateFns.getMonth(dt),
|
|
3571
|
+
year: dateFns.getYear(dt),
|
|
3572
|
+
});
|
|
3573
|
+
};
|
|
3574
|
+
var changeDate = function (value) {
|
|
3575
|
+
setCurrentMonth(value);
|
|
3576
|
+
var week = dateFns.getWeek(value);
|
|
3577
|
+
setCurrentWeek(week);
|
|
3578
|
+
onChangeWeek && onChangeWeek({
|
|
3579
|
+
action: 'change-date',
|
|
3580
|
+
date: value,
|
|
3581
|
+
week: week,
|
|
3582
|
+
month: dateFns.getMonth(value),
|
|
3583
|
+
year: dateFns.getYear(value),
|
|
3584
|
+
});
|
|
3585
|
+
};
|
|
3586
|
+
var onClickDay = function (day) {
|
|
3587
|
+
if (dateFns.isSameDay(day, selectedDate)) {
|
|
3588
|
+
setSelectedDate(today);
|
|
3589
|
+
}
|
|
3590
|
+
else {
|
|
3591
|
+
setSelectedDate(day);
|
|
3592
|
+
}
|
|
3593
|
+
};
|
|
3594
|
+
// reset to today's date
|
|
3595
|
+
var resetToToday = function () {
|
|
3596
|
+
setSelectedDate(today);
|
|
3597
|
+
changeWeek('reset');
|
|
3598
|
+
};
|
|
3599
|
+
var onNextWeek = function () { return changeWeek("next"); };
|
|
3600
|
+
var onPrevWeek = function () { return changeWeek("prev"); };
|
|
3601
|
+
var onNextMonth = function () { return changeMonth("next"); };
|
|
3602
|
+
var onPrevMonth = function () { return changeMonth("prev"); };
|
|
3603
|
+
return {
|
|
3604
|
+
currentMonth: currentMonth,
|
|
3605
|
+
currentWeek: currentWeek,
|
|
3606
|
+
selectedDate: selectedDate,
|
|
3607
|
+
setSelectedDate: setSelectedDate,
|
|
3608
|
+
setCurrentWeek: setCurrentWeek,
|
|
3609
|
+
setCurrentMonth: setCurrentMonth,
|
|
3610
|
+
onClickDay: onClickDay,
|
|
3611
|
+
onNextWeek: onNextWeek,
|
|
3612
|
+
onPrevWeek: onPrevWeek,
|
|
3613
|
+
onNextMonth: onNextMonth,
|
|
3614
|
+
onPrevMonth: onPrevMonth,
|
|
3615
|
+
changeWeek: changeWeek,
|
|
3616
|
+
changeDate: changeDate,
|
|
3617
|
+
getDatesBetween: getDatesBetween,
|
|
3618
|
+
onReset: resetToToday,
|
|
3619
|
+
};
|
|
3620
|
+
};
|
|
3621
|
+
|
|
3622
|
+
var useWindowSize = function () {
|
|
3623
|
+
var _a = React.useState([0, 0]), size = _a[0], setSize = _a[1]; // [width, height]
|
|
3624
|
+
React.useEffect(function () {
|
|
3625
|
+
function updateSize() {
|
|
3626
|
+
setSize([window.innerWidth, window.innerHeight]);
|
|
3627
|
+
}
|
|
3628
|
+
window.addEventListener('resize', updateSize);
|
|
3629
|
+
updateSize();
|
|
3630
|
+
return function () { return window.removeEventListener('resize', updateSize); };
|
|
3631
|
+
}, []);
|
|
3632
|
+
return size;
|
|
3633
|
+
};
|
|
3634
|
+
|
|
3635
|
+
function useLongPress(callback, ms) {
|
|
3636
|
+
if (callback === void 0) { callback = function () { }; }
|
|
3637
|
+
if (ms === void 0) { ms = 300; }
|
|
3638
|
+
var _a = React.useState(false), startLongPress = _a[0], setStartLongPress = _a[1];
|
|
3639
|
+
React.useEffect(function () {
|
|
3640
|
+
var timeoutId = null;
|
|
3641
|
+
if (startLongPress) {
|
|
3642
|
+
timeoutId = setTimeout(callback, ms);
|
|
3643
|
+
}
|
|
3644
|
+
else {
|
|
3645
|
+
if (timeoutId !== undefined && timeoutId !== null) {
|
|
3646
|
+
clearTimeout(timeoutId);
|
|
3647
|
+
}
|
|
3648
|
+
}
|
|
3649
|
+
return function () {
|
|
3650
|
+
if (timeoutId !== undefined && timeoutId !== null) {
|
|
3651
|
+
clearTimeout(timeoutId);
|
|
3652
|
+
}
|
|
3653
|
+
};
|
|
3654
|
+
}, [callback, ms, startLongPress]);
|
|
3655
|
+
var start = React.useCallback(function () {
|
|
3656
|
+
setStartLongPress(true);
|
|
3657
|
+
}, []);
|
|
3658
|
+
var stop = React.useCallback(function () {
|
|
3659
|
+
setStartLongPress(false);
|
|
3660
|
+
}, []);
|
|
3661
|
+
return {
|
|
3662
|
+
onMouseDown: start,
|
|
3663
|
+
onMouseUp: stop,
|
|
3664
|
+
onMouseLeave: stop,
|
|
3665
|
+
onTouchStart: start,
|
|
3666
|
+
onTouchEnd: stop,
|
|
3667
|
+
};
|
|
3668
|
+
}
|
|
3669
|
+
|
|
3670
|
+
var useFallbackRef = function (forwardedRef) {
|
|
3671
|
+
var localRef = React.useRef(null);
|
|
3672
|
+
React.useImperativeHandle(forwardedRef, function () { return localRef.current; });
|
|
3673
|
+
return localRef;
|
|
3674
|
+
};
|
|
3675
|
+
|
|
3428
3676
|
var Overlay = styled__default.div(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n &&& {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n right: 0px;\n background: rgba(42, 56, 63, 0.45);\n display: flex;\n z-index: ", ";\n margin-left: auto;\n margin-right: auto;\n }\n"], ["\n &&& {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n right: 0px;\n background: rgba(42, 56, 63, 0.45);\n display: flex;\n z-index: ", ";\n margin-left: auto;\n margin-right: auto;\n }\n"])), function (p) { return p.zIndex || 999; });
|
|
3429
3677
|
var PopupWindow = styled__default.div(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n &&& {\n width: ", ";\n height: ", "; \n margin: 0 !important;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: fixed;\n ", "\n overflow-y: hidden;\n display: block;\n z-index: ", ";\n\n padding: ", ";\n border: 1px solid #CCD5DA;\n background-color: #fefefe;\n border-radius: 3px;\n\n &:last-child {\n margin-bottom: 0;\n }\n .popup-content {\n overflow-y: auto;\n height: 90%;\n }\n ", "\n ", "\n }\n"], ["\n &&& {\n width: ", ";\n height: ", "; \n margin: 0 !important;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: fixed;\n ", "\n overflow-y: hidden;\n display: block;\n z-index: ", ";\n\n padding: ", ";\n border: 1px solid #CCD5DA;\n background-color: #fefefe;\n border-radius: 3px;\n\n &:last-child {\n margin-bottom: 0;\n }\n .popup-content {\n overflow-y: auto;\n height: 90%;\n }\n ", "\n ", "\n }\n"])), function (props) { var _a; return (_a = props.width) !== null && _a !== void 0 ? _a : '90%'; }, function (props) { var _a; return (_a = props.height) !== null && _a !== void 0 ? _a : '75%'; }, function (props) { return props.height ? '' : 'max-height: 700px;'; }, function (p) { return p.zIndex || 1006; }, function (props) { var _a; return (_a = props.padding) !== null && _a !== void 0 ? _a : '1rem'; }, SharedStyles, SizerCss);
|
|
3430
3678
|
var PopupHeader = styled__default.div(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n &&& {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n padding: 3px;\n z-index: 99;\n .title {\n font-size: 1.8rem;\n font-weight: 500;\n text-align: left;\n align-self: center;\n padding-top: 3px;\n padding-left: 3px;\n border-bottom: none;\n font-family: \"skufont-demibold\",sans-serif;\n color: #123952;\n }\n ", "\n ", "\n }\n"], ["\n &&& {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n padding: 3px;\n z-index: 99;\n .title {\n font-size: 1.8rem;\n font-weight: 500;\n text-align: left;\n align-self: center;\n padding-top: 3px;\n padding-left: 3px;\n border-bottom: none;\n font-family: \"skufont-demibold\",sans-serif;\n color: #123952;\n }\n ", "\n ", "\n }\n"])), SharedStyles, SizerCss);
|
|
@@ -3440,18 +3688,16 @@ var PopupContainer = function (_a) {
|
|
|
3440
3688
|
}, []);
|
|
3441
3689
|
return ReactDOM.createPortal(children, ref.current);
|
|
3442
3690
|
};
|
|
3443
|
-
var Popup = function (_a) {
|
|
3691
|
+
var Popup = React__default.forwardRef(function (_a, forwardedRef) {
|
|
3444
3692
|
var header = _a.header, _b = _a.noHeader, noHeader = _b === void 0 ? false : _b, title = _a.title, controls = _a.controls, children = _a.children, onClose = _a.onClose, _c = _a.noCloseButton, noCloseButton = _c === void 0 ? false : _c, _d = _a.closeOnEsc, closeOnEsc = _d === void 0 ? true : _d, _e = _a.closeOnClickOutside, closeOnClickOutside = _e === void 0 ? false : _e, overlayZIndex = _a.overlayZIndex, props = __rest(_a, ["header", "noHeader", "title", "controls", "children", "onClose", "noCloseButton", "closeOnEsc", "closeOnClickOutside", "overlayZIndex"]);
|
|
3445
|
-
var ref =
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
};
|
|
3454
|
-
*/
|
|
3693
|
+
var ref = useFallbackRef(forwardedRef);
|
|
3694
|
+
useClickOutside({
|
|
3695
|
+
ref: ref,
|
|
3696
|
+
onClick: function (e) {
|
|
3697
|
+
closeOnClickOutside && onClose && onClose(e);
|
|
3698
|
+
},
|
|
3699
|
+
onCleanup: onClose,
|
|
3700
|
+
});
|
|
3455
3701
|
React.useEffect(function () {
|
|
3456
3702
|
var handleKeyDown = function (e) {
|
|
3457
3703
|
// @ts-ignore
|
|
@@ -3479,7 +3725,7 @@ var Popup = function (_a) {
|
|
|
3479
3725
|
React__default.createElement(Col, { style: { textAlign: 'right', alignSelf: 'center' } }, noCloseButton ? null :
|
|
3480
3726
|
controls || React__default.createElement(Button, { onClick: onClose }, "Close")))),
|
|
3481
3727
|
React__default.createElement("div", { className: "popup-content" }, children))));
|
|
3482
|
-
};
|
|
3728
|
+
});
|
|
3483
3729
|
var ShowPopup = function (_a) {
|
|
3484
3730
|
var _b = _a.autoOpen, autoOpen = _b === void 0 ? false : _b, PopupComponent = _a.popup, render = _a.render, _c = _a.closeOnEsc, closeOnEsc = _c === void 0 ? true : _c, _d = _a.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? false : _d, props = __rest(_a, ["autoOpen", "popup", "render", "closeOnEsc", "closeOnClickOutside"]);
|
|
3485
3731
|
var _e = React.useState(autoOpen), showPopup = _e[0], setShowPopup = _e[1];
|
|
@@ -3756,10 +4002,10 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
3756
4002
|
};
|
|
3757
4003
|
Tabs.prototype.render = function () {
|
|
3758
4004
|
var _this = this;
|
|
3759
|
-
var _a = this.props, tabs = _a.tabs, size = _a.size, props = __rest(_a, ["tabs", "size"]);
|
|
4005
|
+
var _a = this.props, tabs = _a.tabs, size = _a.size, padded = _a.padded, props = __rest(_a, ["tabs", "size", "padded"]);
|
|
3760
4006
|
var selectedTab = this.getTab(tabs, this.state.selectedTabIndex);
|
|
3761
4007
|
return React__default.createElement("div", __assign({}, props),
|
|
3762
|
-
React__default.createElement(TabBar, { padded:
|
|
4008
|
+
React__default.createElement(TabBar, { padded: padded === true }, tabs.map(function (tab, index) { return React__default.createElement(Tab, { key: index, size: size, className: index === _this.state.selectedTabIndex ? 'selected' : '', selected: index === _this.state.selectedTabIndex, onClick: function (e) {
|
|
3763
4009
|
_this.setState({ selectedTabIndex: index });
|
|
3764
4010
|
var callback = tabs[index].onClick;
|
|
3765
4011
|
if (callback) {
|
|
@@ -4797,217 +5043,6 @@ function HeadlessTable(_a) {
|
|
|
4797
5043
|
}
|
|
4798
5044
|
var templateObject_1$B, templateObject_2$p, templateObject_3$h;
|
|
4799
5045
|
|
|
4800
|
-
var QUERY = '(prefers-reduced-motion: no-preference)';
|
|
4801
|
-
var isRenderingOnServer = typeof window$1 === 'undefined';
|
|
4802
|
-
var getInitialState = function () {
|
|
4803
|
-
// For our initial server render, we won't know if the user
|
|
4804
|
-
// prefers reduced motion, but it doesn't matter. This value
|
|
4805
|
-
// will be overwritten on the client, before any animations
|
|
4806
|
-
// occur.
|
|
4807
|
-
return isRenderingOnServer ? true : !window$1.matchMedia(QUERY).matches;
|
|
4808
|
-
};
|
|
4809
|
-
var usePrefersReducedMotion = function () {
|
|
4810
|
-
var _a = React__default.useState(getInitialState), prefersReducedMotion = _a[0], setPrefersReducedMotion = _a[1];
|
|
4811
|
-
React__default.useEffect(function () {
|
|
4812
|
-
var mediaQueryList = window$1.matchMedia(QUERY);
|
|
4813
|
-
var listener = function (event) {
|
|
4814
|
-
setPrefersReducedMotion(!event.matches);
|
|
4815
|
-
};
|
|
4816
|
-
mediaQueryList.addListener(listener);
|
|
4817
|
-
return function () {
|
|
4818
|
-
mediaQueryList.removeListener(listener);
|
|
4819
|
-
};
|
|
4820
|
-
}, []);
|
|
4821
|
-
return prefersReducedMotion;
|
|
4822
|
-
};
|
|
4823
|
-
|
|
4824
|
-
var useRandomInterval = function (callback, minDelay, maxDelay) {
|
|
4825
|
-
var timeoutId = React__default.useRef(null);
|
|
4826
|
-
var savedCallback = React__default.useRef(callback);
|
|
4827
|
-
React__default.useEffect(function () {
|
|
4828
|
-
savedCallback.current = callback;
|
|
4829
|
-
});
|
|
4830
|
-
React__default.useEffect(function () {
|
|
4831
|
-
var isEnabled = typeof minDelay === 'number' && typeof maxDelay === 'number';
|
|
4832
|
-
if (isEnabled) {
|
|
4833
|
-
var handleTick_1 = function () {
|
|
4834
|
-
var nextTickAt = random(minDelay, maxDelay);
|
|
4835
|
-
timeoutId.current = setTimeout(function () {
|
|
4836
|
-
savedCallback.current();
|
|
4837
|
-
handleTick_1();
|
|
4838
|
-
}, nextTickAt);
|
|
4839
|
-
};
|
|
4840
|
-
handleTick_1();
|
|
4841
|
-
}
|
|
4842
|
-
return function () {
|
|
4843
|
-
if (!!timeoutId.current) {
|
|
4844
|
-
clearTimeout(timeoutId.current);
|
|
4845
|
-
}
|
|
4846
|
-
};
|
|
4847
|
-
}, [minDelay, maxDelay]);
|
|
4848
|
-
var cancel = React__default.useCallback(function () {
|
|
4849
|
-
if (!!timeoutId.current) {
|
|
4850
|
-
clearTimeout(timeoutId.current);
|
|
4851
|
-
}
|
|
4852
|
-
}, []);
|
|
4853
|
-
return cancel;
|
|
4854
|
-
};
|
|
4855
|
-
|
|
4856
|
-
var today = new Date();
|
|
4857
|
-
var getDatesBetween = function (startDt, endDt) {
|
|
4858
|
-
var result = [];
|
|
4859
|
-
var currentDt = startDt;
|
|
4860
|
-
while (currentDt <= endDt) {
|
|
4861
|
-
result.push(currentDt);
|
|
4862
|
-
currentDt = dateFns.addDays(currentDt, 1);
|
|
4863
|
-
}
|
|
4864
|
-
return result;
|
|
4865
|
-
};
|
|
4866
|
-
var useCalendar = function (_a) {
|
|
4867
|
-
var onChangeWeek = _a.onChangeWeek, onChangeMonth = _a.onChangeMonth;
|
|
4868
|
-
var _b = React.useState(today), currentMonth = _b[0], setCurrentMonth = _b[1];
|
|
4869
|
-
var _c = React.useState(dateFns.getWeek(currentMonth)), currentWeek = _c[0], setCurrentWeek = _c[1];
|
|
4870
|
-
var _d = React.useState(today), selectedDate = _d[0], setSelectedDate = _d[1];
|
|
4871
|
-
var changeMonth = function (action) {
|
|
4872
|
-
var dt = currentMonth;
|
|
4873
|
-
if (action === "prev") {
|
|
4874
|
-
dt = dateFns.subMonths(currentMonth, 1);
|
|
4875
|
-
}
|
|
4876
|
-
else if (action === "next") {
|
|
4877
|
-
dt = dateFns.addMonths(currentMonth, 1);
|
|
4878
|
-
}
|
|
4879
|
-
else if (action === "reset") {
|
|
4880
|
-
dt = today;
|
|
4881
|
-
}
|
|
4882
|
-
setCurrentMonth(dt);
|
|
4883
|
-
onChangeMonth && onChangeMonth({
|
|
4884
|
-
action: action,
|
|
4885
|
-
date: dt,
|
|
4886
|
-
month: dateFns.getMonth(dt),
|
|
4887
|
-
year: dateFns.getYear(dt),
|
|
4888
|
-
});
|
|
4889
|
-
};
|
|
4890
|
-
var changeWeek = function (action, value) {
|
|
4891
|
-
var dt = currentMonth;
|
|
4892
|
-
if (action === "prev") {
|
|
4893
|
-
dt = dateFns.subWeeks(currentMonth, 1);
|
|
4894
|
-
}
|
|
4895
|
-
else if (action === "next") {
|
|
4896
|
-
dt = dateFns.addWeeks(currentMonth, 1);
|
|
4897
|
-
}
|
|
4898
|
-
else if (action === "reset") {
|
|
4899
|
-
dt = today;
|
|
4900
|
-
}
|
|
4901
|
-
else if (action === "custom" && value) {
|
|
4902
|
-
dt = value;
|
|
4903
|
-
}
|
|
4904
|
-
setCurrentMonth(dt);
|
|
4905
|
-
var week = dateFns.getWeek(dt);
|
|
4906
|
-
setCurrentWeek(week);
|
|
4907
|
-
onChangeWeek && onChangeWeek({
|
|
4908
|
-
action: action,
|
|
4909
|
-
date: dt,
|
|
4910
|
-
week: week,
|
|
4911
|
-
month: dateFns.getMonth(dt),
|
|
4912
|
-
year: dateFns.getYear(dt),
|
|
4913
|
-
});
|
|
4914
|
-
};
|
|
4915
|
-
var changeDate = function (value) {
|
|
4916
|
-
setCurrentMonth(value);
|
|
4917
|
-
var week = dateFns.getWeek(value);
|
|
4918
|
-
setCurrentWeek(week);
|
|
4919
|
-
onChangeWeek && onChangeWeek({
|
|
4920
|
-
action: 'change-date',
|
|
4921
|
-
date: value,
|
|
4922
|
-
week: week,
|
|
4923
|
-
month: dateFns.getMonth(value),
|
|
4924
|
-
year: dateFns.getYear(value),
|
|
4925
|
-
});
|
|
4926
|
-
};
|
|
4927
|
-
var onClickDay = function (day) {
|
|
4928
|
-
if (dateFns.isSameDay(day, selectedDate)) {
|
|
4929
|
-
setSelectedDate(today);
|
|
4930
|
-
}
|
|
4931
|
-
else {
|
|
4932
|
-
setSelectedDate(day);
|
|
4933
|
-
}
|
|
4934
|
-
};
|
|
4935
|
-
// reset to today's date
|
|
4936
|
-
var resetToToday = function () {
|
|
4937
|
-
setSelectedDate(today);
|
|
4938
|
-
changeWeek('reset');
|
|
4939
|
-
};
|
|
4940
|
-
var onNextWeek = function () { return changeWeek("next"); };
|
|
4941
|
-
var onPrevWeek = function () { return changeWeek("prev"); };
|
|
4942
|
-
var onNextMonth = function () { return changeMonth("next"); };
|
|
4943
|
-
var onPrevMonth = function () { return changeMonth("prev"); };
|
|
4944
|
-
return {
|
|
4945
|
-
currentMonth: currentMonth,
|
|
4946
|
-
currentWeek: currentWeek,
|
|
4947
|
-
selectedDate: selectedDate,
|
|
4948
|
-
setSelectedDate: setSelectedDate,
|
|
4949
|
-
setCurrentWeek: setCurrentWeek,
|
|
4950
|
-
setCurrentMonth: setCurrentMonth,
|
|
4951
|
-
onClickDay: onClickDay,
|
|
4952
|
-
onNextWeek: onNextWeek,
|
|
4953
|
-
onPrevWeek: onPrevWeek,
|
|
4954
|
-
onNextMonth: onNextMonth,
|
|
4955
|
-
onPrevMonth: onPrevMonth,
|
|
4956
|
-
changeWeek: changeWeek,
|
|
4957
|
-
changeDate: changeDate,
|
|
4958
|
-
getDatesBetween: getDatesBetween,
|
|
4959
|
-
onReset: resetToToday,
|
|
4960
|
-
};
|
|
4961
|
-
};
|
|
4962
|
-
|
|
4963
|
-
var useWindowSize = function () {
|
|
4964
|
-
var _a = React.useState([0, 0]), size = _a[0], setSize = _a[1]; // [width, height]
|
|
4965
|
-
React.useEffect(function () {
|
|
4966
|
-
function updateSize() {
|
|
4967
|
-
setSize([window.innerWidth, window.innerHeight]);
|
|
4968
|
-
}
|
|
4969
|
-
window.addEventListener('resize', updateSize);
|
|
4970
|
-
updateSize();
|
|
4971
|
-
return function () { return window.removeEventListener('resize', updateSize); };
|
|
4972
|
-
}, []);
|
|
4973
|
-
return size;
|
|
4974
|
-
};
|
|
4975
|
-
|
|
4976
|
-
function useLongPress(callback, ms) {
|
|
4977
|
-
if (callback === void 0) { callback = function () { }; }
|
|
4978
|
-
if (ms === void 0) { ms = 300; }
|
|
4979
|
-
var _a = React.useState(false), startLongPress = _a[0], setStartLongPress = _a[1];
|
|
4980
|
-
React.useEffect(function () {
|
|
4981
|
-
var timeoutId = null;
|
|
4982
|
-
if (startLongPress) {
|
|
4983
|
-
timeoutId = setTimeout(callback, ms);
|
|
4984
|
-
}
|
|
4985
|
-
else {
|
|
4986
|
-
if (timeoutId !== undefined && timeoutId !== null) {
|
|
4987
|
-
clearTimeout(timeoutId);
|
|
4988
|
-
}
|
|
4989
|
-
}
|
|
4990
|
-
return function () {
|
|
4991
|
-
if (timeoutId !== undefined && timeoutId !== null) {
|
|
4992
|
-
clearTimeout(timeoutId);
|
|
4993
|
-
}
|
|
4994
|
-
};
|
|
4995
|
-
}, [callback, ms, startLongPress]);
|
|
4996
|
-
var start = React.useCallback(function () {
|
|
4997
|
-
setStartLongPress(true);
|
|
4998
|
-
}, []);
|
|
4999
|
-
var stop = React.useCallback(function () {
|
|
5000
|
-
setStartLongPress(false);
|
|
5001
|
-
}, []);
|
|
5002
|
-
return {
|
|
5003
|
-
onMouseDown: start,
|
|
5004
|
-
onMouseUp: stop,
|
|
5005
|
-
onMouseLeave: stop,
|
|
5006
|
-
onTouchStart: start,
|
|
5007
|
-
onTouchEnd: stop,
|
|
5008
|
-
};
|
|
5009
|
-
}
|
|
5010
|
-
|
|
5011
5046
|
/*
|
|
5012
5047
|
Code from https://www.joshwcomeau.com/react/animated-sparkles-in-react/
|
|
5013
5048
|
Check out his site. It's awesome
|
|
@@ -7380,4 +7415,12 @@ exports.parseCskuStyles = parseCskuStyles;
|
|
|
7380
7415
|
exports.sizes = sizes$1;
|
|
7381
7416
|
exports.themeOptions = themeOptions;
|
|
7382
7417
|
exports.toggleSizes = toggleSizes;
|
|
7418
|
+
exports.useCalendar = useCalendar;
|
|
7419
|
+
exports.useClickOutside = useClickOutside;
|
|
7420
|
+
exports.useDelayUnmount = useDelayUnmount;
|
|
7421
|
+
exports.useFallbackRef = useFallbackRef;
|
|
7422
|
+
exports.useLongPress = useLongPress;
|
|
7423
|
+
exports.usePrefersReducedMotion = usePrefersReducedMotion;
|
|
7424
|
+
exports.useRandomInterval = useRandomInterval;
|
|
7425
|
+
exports.useWindowSize = useWindowSize;
|
|
7383
7426
|
//# sourceMappingURL=index.js.map
|