@commonsku/styles 1.16.2 → 1.16.4
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 +17 -1
- package/dist/index.es.js +256 -231
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +254 -229
- 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/package.json +8 -3
package/dist/index.js
CHANGED
|
@@ -1328,16 +1328,18 @@ var themeOptions = {
|
|
|
1328
1328
|
},
|
|
1329
1329
|
};
|
|
1330
1330
|
function getColor(color, def) {
|
|
1331
|
+
var _a;
|
|
1331
1332
|
if (!color) {
|
|
1332
1333
|
return '';
|
|
1333
1334
|
}
|
|
1334
|
-
return ___default.get(colors, color, ___default.get(colors, def || '', def));
|
|
1335
|
+
return (_a = ___default.get(colors, color, ___default.get(colors, def || '', def))) !== null && _a !== void 0 ? _a : '';
|
|
1335
1336
|
}
|
|
1336
1337
|
function getFontStyle(value, def) {
|
|
1338
|
+
var _a;
|
|
1337
1339
|
if (!value) {
|
|
1338
1340
|
return '';
|
|
1339
1341
|
}
|
|
1340
|
-
return ___default.get(fontStyles, value, ___default.get(fontStyles, def || '', def));
|
|
1342
|
+
return (_a = ___default.get(fontStyles, value, ___default.get(fontStyles, def || '', def))) !== null && _a !== void 0 ? _a : '';
|
|
1341
1343
|
}
|
|
1342
1344
|
function getThemeColor(props, color, fallbackColor) {
|
|
1343
1345
|
return getThemeProperty(props, 'colors', color, fallbackColor);
|
|
@@ -1353,6 +1355,7 @@ function getThemeFontFamily(props, fallbackValue) {
|
|
|
1353
1355
|
return getThemeProperty(props, 'fontFamily', fallbackValue);
|
|
1354
1356
|
}
|
|
1355
1357
|
function getThemeProperty(props, prop, value, fallbackValue) {
|
|
1358
|
+
var _a, _b;
|
|
1356
1359
|
if (___default.get(props, "theme.".concat(prop), null)) {
|
|
1357
1360
|
if (___default.isObject(props.theme[prop]) && ___default.get(props.theme, "".concat(prop, ".").concat(value), null)) {
|
|
1358
1361
|
return ___default.get(props.theme, "".concat(prop, ".").concat(value), null);
|
|
@@ -1362,7 +1365,7 @@ function getThemeProperty(props, prop, value, fallbackValue) {
|
|
|
1362
1365
|
}
|
|
1363
1366
|
}
|
|
1364
1367
|
else if (___default.get(themeOptions, "".concat(prop, ".").concat(value), null)) {
|
|
1365
|
-
return ___default.get(themeOptions, "".concat(prop, ".").concat(value)
|
|
1368
|
+
return (_a = ___default.get(themeOptions, "".concat(prop, ".").concat(value))) !== null && _a !== void 0 ? _a : '';
|
|
1366
1369
|
}
|
|
1367
1370
|
switch (prop) {
|
|
1368
1371
|
case 'fontStyles':
|
|
@@ -1372,7 +1375,7 @@ function getThemeProperty(props, prop, value, fallbackValue) {
|
|
|
1372
1375
|
case 'colors':
|
|
1373
1376
|
return getColor(value, fallbackValue);
|
|
1374
1377
|
case 'fontFamily':
|
|
1375
|
-
return ___default.get(themeOptions.fontFamilies, "".concat(value, ".fontFamily"), fallbackValue || themeOptions.fontFamily);
|
|
1378
|
+
return (_b = ___default.get(themeOptions.fontFamilies, "".concat(value, ".fontFamily"), fallbackValue || themeOptions.fontFamily)) !== null && _b !== void 0 ? _b : '';
|
|
1376
1379
|
default:
|
|
1377
1380
|
return '';
|
|
1378
1381
|
}
|
|
@@ -3422,6 +3425,241 @@ var THSorted = function (_a) {
|
|
|
3422
3425
|
};
|
|
3423
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;
|
|
3424
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
|
+
console.log('handleClickOutside');
|
|
3433
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
3434
|
+
console.log('click outside');
|
|
3435
|
+
onClick && onClick(e);
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
document.addEventListener(eventType, handleClickOutside);
|
|
3439
|
+
return function () {
|
|
3440
|
+
document.removeEventListener(eventType, handleClickOutside);
|
|
3441
|
+
onCleanup && onCleanup();
|
|
3442
|
+
};
|
|
3443
|
+
}, []);
|
|
3444
|
+
};
|
|
3445
|
+
|
|
3446
|
+
var QUERY = '(prefers-reduced-motion: no-preference)';
|
|
3447
|
+
var isRenderingOnServer = typeof window$1 === 'undefined';
|
|
3448
|
+
var getInitialState = function () {
|
|
3449
|
+
// For our initial server render, we won't know if the user
|
|
3450
|
+
// prefers reduced motion, but it doesn't matter. This value
|
|
3451
|
+
// will be overwritten on the client, before any animations
|
|
3452
|
+
// occur.
|
|
3453
|
+
return isRenderingOnServer ? true : !window$1.matchMedia(QUERY).matches;
|
|
3454
|
+
};
|
|
3455
|
+
var usePrefersReducedMotion = function () {
|
|
3456
|
+
var _a = React__default.useState(getInitialState), prefersReducedMotion = _a[0], setPrefersReducedMotion = _a[1];
|
|
3457
|
+
React__default.useEffect(function () {
|
|
3458
|
+
var mediaQueryList = window$1.matchMedia(QUERY);
|
|
3459
|
+
var listener = function (event) {
|
|
3460
|
+
setPrefersReducedMotion(!event.matches);
|
|
3461
|
+
};
|
|
3462
|
+
mediaQueryList.addListener(listener);
|
|
3463
|
+
return function () {
|
|
3464
|
+
mediaQueryList.removeListener(listener);
|
|
3465
|
+
};
|
|
3466
|
+
}, []);
|
|
3467
|
+
return prefersReducedMotion;
|
|
3468
|
+
};
|
|
3469
|
+
|
|
3470
|
+
var useRandomInterval = function (callback, minDelay, maxDelay) {
|
|
3471
|
+
var timeoutId = React__default.useRef(null);
|
|
3472
|
+
var savedCallback = React__default.useRef(callback);
|
|
3473
|
+
React__default.useEffect(function () {
|
|
3474
|
+
savedCallback.current = callback;
|
|
3475
|
+
});
|
|
3476
|
+
React__default.useEffect(function () {
|
|
3477
|
+
var isEnabled = typeof minDelay === 'number' && typeof maxDelay === 'number';
|
|
3478
|
+
if (isEnabled) {
|
|
3479
|
+
var handleTick_1 = function () {
|
|
3480
|
+
var nextTickAt = random(minDelay, maxDelay);
|
|
3481
|
+
timeoutId.current = setTimeout(function () {
|
|
3482
|
+
savedCallback.current();
|
|
3483
|
+
handleTick_1();
|
|
3484
|
+
}, nextTickAt);
|
|
3485
|
+
};
|
|
3486
|
+
handleTick_1();
|
|
3487
|
+
}
|
|
3488
|
+
return function () {
|
|
3489
|
+
if (!!timeoutId.current) {
|
|
3490
|
+
clearTimeout(timeoutId.current);
|
|
3491
|
+
}
|
|
3492
|
+
};
|
|
3493
|
+
}, [minDelay, maxDelay]);
|
|
3494
|
+
var cancel = React__default.useCallback(function () {
|
|
3495
|
+
if (!!timeoutId.current) {
|
|
3496
|
+
clearTimeout(timeoutId.current);
|
|
3497
|
+
}
|
|
3498
|
+
}, []);
|
|
3499
|
+
return cancel;
|
|
3500
|
+
};
|
|
3501
|
+
|
|
3502
|
+
var today = new Date();
|
|
3503
|
+
var getDatesBetween = function (startDt, endDt) {
|
|
3504
|
+
var result = [];
|
|
3505
|
+
var currentDt = startDt;
|
|
3506
|
+
while (currentDt <= endDt) {
|
|
3507
|
+
result.push(currentDt);
|
|
3508
|
+
currentDt = dateFns.addDays(currentDt, 1);
|
|
3509
|
+
}
|
|
3510
|
+
return result;
|
|
3511
|
+
};
|
|
3512
|
+
var useCalendar = function (_a) {
|
|
3513
|
+
var onChangeWeek = _a.onChangeWeek, onChangeMonth = _a.onChangeMonth;
|
|
3514
|
+
var _b = React.useState(today), currentMonth = _b[0], setCurrentMonth = _b[1];
|
|
3515
|
+
var _c = React.useState(dateFns.getWeek(currentMonth)), currentWeek = _c[0], setCurrentWeek = _c[1];
|
|
3516
|
+
var _d = React.useState(today), selectedDate = _d[0], setSelectedDate = _d[1];
|
|
3517
|
+
var changeMonth = function (action) {
|
|
3518
|
+
var dt = currentMonth;
|
|
3519
|
+
if (action === "prev") {
|
|
3520
|
+
dt = dateFns.subMonths(currentMonth, 1);
|
|
3521
|
+
}
|
|
3522
|
+
else if (action === "next") {
|
|
3523
|
+
dt = dateFns.addMonths(currentMonth, 1);
|
|
3524
|
+
}
|
|
3525
|
+
else if (action === "reset") {
|
|
3526
|
+
dt = today;
|
|
3527
|
+
}
|
|
3528
|
+
setCurrentMonth(dt);
|
|
3529
|
+
onChangeMonth && onChangeMonth({
|
|
3530
|
+
action: action,
|
|
3531
|
+
date: dt,
|
|
3532
|
+
month: dateFns.getMonth(dt),
|
|
3533
|
+
year: dateFns.getYear(dt),
|
|
3534
|
+
});
|
|
3535
|
+
};
|
|
3536
|
+
var changeWeek = function (action, value) {
|
|
3537
|
+
var dt = currentMonth;
|
|
3538
|
+
if (action === "prev") {
|
|
3539
|
+
dt = dateFns.subWeeks(currentMonth, 1);
|
|
3540
|
+
}
|
|
3541
|
+
else if (action === "next") {
|
|
3542
|
+
dt = dateFns.addWeeks(currentMonth, 1);
|
|
3543
|
+
}
|
|
3544
|
+
else if (action === "reset") {
|
|
3545
|
+
dt = today;
|
|
3546
|
+
}
|
|
3547
|
+
else if (action === "custom" && value) {
|
|
3548
|
+
dt = value;
|
|
3549
|
+
}
|
|
3550
|
+
setCurrentMonth(dt);
|
|
3551
|
+
var week = dateFns.getWeek(dt);
|
|
3552
|
+
setCurrentWeek(week);
|
|
3553
|
+
onChangeWeek && onChangeWeek({
|
|
3554
|
+
action: action,
|
|
3555
|
+
date: dt,
|
|
3556
|
+
week: week,
|
|
3557
|
+
month: dateFns.getMonth(dt),
|
|
3558
|
+
year: dateFns.getYear(dt),
|
|
3559
|
+
});
|
|
3560
|
+
};
|
|
3561
|
+
var changeDate = function (value) {
|
|
3562
|
+
setCurrentMonth(value);
|
|
3563
|
+
var week = dateFns.getWeek(value);
|
|
3564
|
+
setCurrentWeek(week);
|
|
3565
|
+
onChangeWeek && onChangeWeek({
|
|
3566
|
+
action: 'change-date',
|
|
3567
|
+
date: value,
|
|
3568
|
+
week: week,
|
|
3569
|
+
month: dateFns.getMonth(value),
|
|
3570
|
+
year: dateFns.getYear(value),
|
|
3571
|
+
});
|
|
3572
|
+
};
|
|
3573
|
+
var onClickDay = function (day) {
|
|
3574
|
+
if (dateFns.isSameDay(day, selectedDate)) {
|
|
3575
|
+
setSelectedDate(today);
|
|
3576
|
+
}
|
|
3577
|
+
else {
|
|
3578
|
+
setSelectedDate(day);
|
|
3579
|
+
}
|
|
3580
|
+
};
|
|
3581
|
+
// reset to today's date
|
|
3582
|
+
var resetToToday = function () {
|
|
3583
|
+
setSelectedDate(today);
|
|
3584
|
+
changeWeek('reset');
|
|
3585
|
+
};
|
|
3586
|
+
var onNextWeek = function () { return changeWeek("next"); };
|
|
3587
|
+
var onPrevWeek = function () { return changeWeek("prev"); };
|
|
3588
|
+
var onNextMonth = function () { return changeMonth("next"); };
|
|
3589
|
+
var onPrevMonth = function () { return changeMonth("prev"); };
|
|
3590
|
+
return {
|
|
3591
|
+
currentMonth: currentMonth,
|
|
3592
|
+
currentWeek: currentWeek,
|
|
3593
|
+
selectedDate: selectedDate,
|
|
3594
|
+
setSelectedDate: setSelectedDate,
|
|
3595
|
+
setCurrentWeek: setCurrentWeek,
|
|
3596
|
+
setCurrentMonth: setCurrentMonth,
|
|
3597
|
+
onClickDay: onClickDay,
|
|
3598
|
+
onNextWeek: onNextWeek,
|
|
3599
|
+
onPrevWeek: onPrevWeek,
|
|
3600
|
+
onNextMonth: onNextMonth,
|
|
3601
|
+
onPrevMonth: onPrevMonth,
|
|
3602
|
+
changeWeek: changeWeek,
|
|
3603
|
+
changeDate: changeDate,
|
|
3604
|
+
getDatesBetween: getDatesBetween,
|
|
3605
|
+
onReset: resetToToday,
|
|
3606
|
+
};
|
|
3607
|
+
};
|
|
3608
|
+
|
|
3609
|
+
var useWindowSize = function () {
|
|
3610
|
+
var _a = React.useState([0, 0]), size = _a[0], setSize = _a[1]; // [width, height]
|
|
3611
|
+
React.useEffect(function () {
|
|
3612
|
+
function updateSize() {
|
|
3613
|
+
setSize([window.innerWidth, window.innerHeight]);
|
|
3614
|
+
}
|
|
3615
|
+
window.addEventListener('resize', updateSize);
|
|
3616
|
+
updateSize();
|
|
3617
|
+
return function () { return window.removeEventListener('resize', updateSize); };
|
|
3618
|
+
}, []);
|
|
3619
|
+
return size;
|
|
3620
|
+
};
|
|
3621
|
+
|
|
3622
|
+
function useLongPress(callback, ms) {
|
|
3623
|
+
if (callback === void 0) { callback = function () { }; }
|
|
3624
|
+
if (ms === void 0) { ms = 300; }
|
|
3625
|
+
var _a = React.useState(false), startLongPress = _a[0], setStartLongPress = _a[1];
|
|
3626
|
+
React.useEffect(function () {
|
|
3627
|
+
var timeoutId = null;
|
|
3628
|
+
if (startLongPress) {
|
|
3629
|
+
timeoutId = setTimeout(callback, ms);
|
|
3630
|
+
}
|
|
3631
|
+
else {
|
|
3632
|
+
if (timeoutId !== undefined && timeoutId !== null) {
|
|
3633
|
+
clearTimeout(timeoutId);
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
return function () {
|
|
3637
|
+
if (timeoutId !== undefined && timeoutId !== null) {
|
|
3638
|
+
clearTimeout(timeoutId);
|
|
3639
|
+
}
|
|
3640
|
+
};
|
|
3641
|
+
}, [callback, ms, startLongPress]);
|
|
3642
|
+
var start = React.useCallback(function () {
|
|
3643
|
+
setStartLongPress(true);
|
|
3644
|
+
}, []);
|
|
3645
|
+
var stop = React.useCallback(function () {
|
|
3646
|
+
setStartLongPress(false);
|
|
3647
|
+
}, []);
|
|
3648
|
+
return {
|
|
3649
|
+
onMouseDown: start,
|
|
3650
|
+
onMouseUp: stop,
|
|
3651
|
+
onMouseLeave: stop,
|
|
3652
|
+
onTouchStart: start,
|
|
3653
|
+
onTouchEnd: stop,
|
|
3654
|
+
};
|
|
3655
|
+
}
|
|
3656
|
+
|
|
3657
|
+
var useFallbackRef = function (forwardedRef) {
|
|
3658
|
+
var localRef = React.useRef(null);
|
|
3659
|
+
React.useImperativeHandle(forwardedRef, function () { return localRef.current; });
|
|
3660
|
+
return localRef;
|
|
3661
|
+
};
|
|
3662
|
+
|
|
3425
3663
|
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; });
|
|
3426
3664
|
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);
|
|
3427
3665
|
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);
|
|
@@ -3437,18 +3675,16 @@ var PopupContainer = function (_a) {
|
|
|
3437
3675
|
}, []);
|
|
3438
3676
|
return ReactDOM.createPortal(children, ref.current);
|
|
3439
3677
|
};
|
|
3440
|
-
var Popup = function (_a) {
|
|
3678
|
+
var Popup = React__default.forwardRef(function (_a, forwardedRef) {
|
|
3441
3679
|
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"]);
|
|
3442
|
-
var ref =
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
};
|
|
3451
|
-
*/
|
|
3680
|
+
var ref = useFallbackRef(forwardedRef);
|
|
3681
|
+
useClickOutside({
|
|
3682
|
+
ref: ref,
|
|
3683
|
+
onClick: function (e) {
|
|
3684
|
+
closeOnClickOutside && onClose && onClose(e);
|
|
3685
|
+
},
|
|
3686
|
+
onCleanup: onClose,
|
|
3687
|
+
});
|
|
3452
3688
|
React.useEffect(function () {
|
|
3453
3689
|
var handleKeyDown = function (e) {
|
|
3454
3690
|
// @ts-ignore
|
|
@@ -3476,7 +3712,7 @@ var Popup = function (_a) {
|
|
|
3476
3712
|
React__default.createElement(Col, { style: { textAlign: 'right', alignSelf: 'center' } }, noCloseButton ? null :
|
|
3477
3713
|
controls || React__default.createElement(Button, { onClick: onClose }, "Close")))),
|
|
3478
3714
|
React__default.createElement("div", { className: "popup-content" }, children))));
|
|
3479
|
-
};
|
|
3715
|
+
});
|
|
3480
3716
|
var ShowPopup = function (_a) {
|
|
3481
3717
|
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"]);
|
|
3482
3718
|
var _e = React.useState(autoOpen), showPopup = _e[0], setShowPopup = _e[1];
|
|
@@ -3753,10 +3989,10 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
3753
3989
|
};
|
|
3754
3990
|
Tabs.prototype.render = function () {
|
|
3755
3991
|
var _this = this;
|
|
3756
|
-
var _a = this.props, tabs = _a.tabs, size = _a.size, props = __rest(_a, ["tabs", "size"]);
|
|
3992
|
+
var _a = this.props, tabs = _a.tabs, size = _a.size, padded = _a.padded, props = __rest(_a, ["tabs", "size", "padded"]);
|
|
3757
3993
|
var selectedTab = this.getTab(tabs, this.state.selectedTabIndex);
|
|
3758
3994
|
return React__default.createElement("div", __assign({}, props),
|
|
3759
|
-
React__default.createElement(TabBar, { padded:
|
|
3995
|
+
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) {
|
|
3760
3996
|
_this.setState({ selectedTabIndex: index });
|
|
3761
3997
|
var callback = tabs[index].onClick;
|
|
3762
3998
|
if (callback) {
|
|
@@ -4794,217 +5030,6 @@ function HeadlessTable(_a) {
|
|
|
4794
5030
|
}
|
|
4795
5031
|
var templateObject_1$B, templateObject_2$p, templateObject_3$h;
|
|
4796
5032
|
|
|
4797
|
-
var QUERY = '(prefers-reduced-motion: no-preference)';
|
|
4798
|
-
var isRenderingOnServer = typeof window$1 === 'undefined';
|
|
4799
|
-
var getInitialState = function () {
|
|
4800
|
-
// For our initial server render, we won't know if the user
|
|
4801
|
-
// prefers reduced motion, but it doesn't matter. This value
|
|
4802
|
-
// will be overwritten on the client, before any animations
|
|
4803
|
-
// occur.
|
|
4804
|
-
return isRenderingOnServer ? true : !window$1.matchMedia(QUERY).matches;
|
|
4805
|
-
};
|
|
4806
|
-
var usePrefersReducedMotion = function () {
|
|
4807
|
-
var _a = React__default.useState(getInitialState), prefersReducedMotion = _a[0], setPrefersReducedMotion = _a[1];
|
|
4808
|
-
React__default.useEffect(function () {
|
|
4809
|
-
var mediaQueryList = window$1.matchMedia(QUERY);
|
|
4810
|
-
var listener = function (event) {
|
|
4811
|
-
setPrefersReducedMotion(!event.matches);
|
|
4812
|
-
};
|
|
4813
|
-
mediaQueryList.addListener(listener);
|
|
4814
|
-
return function () {
|
|
4815
|
-
mediaQueryList.removeListener(listener);
|
|
4816
|
-
};
|
|
4817
|
-
}, []);
|
|
4818
|
-
return prefersReducedMotion;
|
|
4819
|
-
};
|
|
4820
|
-
|
|
4821
|
-
var useRandomInterval = function (callback, minDelay, maxDelay) {
|
|
4822
|
-
var timeoutId = React__default.useRef(null);
|
|
4823
|
-
var savedCallback = React__default.useRef(callback);
|
|
4824
|
-
React__default.useEffect(function () {
|
|
4825
|
-
savedCallback.current = callback;
|
|
4826
|
-
});
|
|
4827
|
-
React__default.useEffect(function () {
|
|
4828
|
-
var isEnabled = typeof minDelay === 'number' && typeof maxDelay === 'number';
|
|
4829
|
-
if (isEnabled) {
|
|
4830
|
-
var handleTick_1 = function () {
|
|
4831
|
-
var nextTickAt = random(minDelay, maxDelay);
|
|
4832
|
-
timeoutId.current = setTimeout(function () {
|
|
4833
|
-
savedCallback.current();
|
|
4834
|
-
handleTick_1();
|
|
4835
|
-
}, nextTickAt);
|
|
4836
|
-
};
|
|
4837
|
-
handleTick_1();
|
|
4838
|
-
}
|
|
4839
|
-
return function () {
|
|
4840
|
-
if (!!timeoutId.current) {
|
|
4841
|
-
clearTimeout(timeoutId.current);
|
|
4842
|
-
}
|
|
4843
|
-
};
|
|
4844
|
-
}, [minDelay, maxDelay]);
|
|
4845
|
-
var cancel = React__default.useCallback(function () {
|
|
4846
|
-
if (!!timeoutId.current) {
|
|
4847
|
-
clearTimeout(timeoutId.current);
|
|
4848
|
-
}
|
|
4849
|
-
}, []);
|
|
4850
|
-
return cancel;
|
|
4851
|
-
};
|
|
4852
|
-
|
|
4853
|
-
var today = new Date();
|
|
4854
|
-
var getDatesBetween = function (startDt, endDt) {
|
|
4855
|
-
var result = [];
|
|
4856
|
-
var currentDt = startDt;
|
|
4857
|
-
while (currentDt <= endDt) {
|
|
4858
|
-
result.push(currentDt);
|
|
4859
|
-
currentDt = dateFns.addDays(currentDt, 1);
|
|
4860
|
-
}
|
|
4861
|
-
return result;
|
|
4862
|
-
};
|
|
4863
|
-
var useCalendar = function (_a) {
|
|
4864
|
-
var onChangeWeek = _a.onChangeWeek, onChangeMonth = _a.onChangeMonth;
|
|
4865
|
-
var _b = React.useState(today), currentMonth = _b[0], setCurrentMonth = _b[1];
|
|
4866
|
-
var _c = React.useState(dateFns.getWeek(currentMonth)), currentWeek = _c[0], setCurrentWeek = _c[1];
|
|
4867
|
-
var _d = React.useState(today), selectedDate = _d[0], setSelectedDate = _d[1];
|
|
4868
|
-
var changeMonth = function (action) {
|
|
4869
|
-
var dt = currentMonth;
|
|
4870
|
-
if (action === "prev") {
|
|
4871
|
-
dt = dateFns.subMonths(currentMonth, 1);
|
|
4872
|
-
}
|
|
4873
|
-
else if (action === "next") {
|
|
4874
|
-
dt = dateFns.addMonths(currentMonth, 1);
|
|
4875
|
-
}
|
|
4876
|
-
else if (action === "reset") {
|
|
4877
|
-
dt = today;
|
|
4878
|
-
}
|
|
4879
|
-
setCurrentMonth(dt);
|
|
4880
|
-
onChangeMonth && onChangeMonth({
|
|
4881
|
-
action: action,
|
|
4882
|
-
date: dt,
|
|
4883
|
-
month: dateFns.getMonth(dt),
|
|
4884
|
-
year: dateFns.getYear(dt),
|
|
4885
|
-
});
|
|
4886
|
-
};
|
|
4887
|
-
var changeWeek = function (action, value) {
|
|
4888
|
-
var dt = currentMonth;
|
|
4889
|
-
if (action === "prev") {
|
|
4890
|
-
dt = dateFns.subWeeks(currentMonth, 1);
|
|
4891
|
-
}
|
|
4892
|
-
else if (action === "next") {
|
|
4893
|
-
dt = dateFns.addWeeks(currentMonth, 1);
|
|
4894
|
-
}
|
|
4895
|
-
else if (action === "reset") {
|
|
4896
|
-
dt = today;
|
|
4897
|
-
}
|
|
4898
|
-
else if (action === "custom" && value) {
|
|
4899
|
-
dt = value;
|
|
4900
|
-
}
|
|
4901
|
-
setCurrentMonth(dt);
|
|
4902
|
-
var week = dateFns.getWeek(dt);
|
|
4903
|
-
setCurrentWeek(week);
|
|
4904
|
-
onChangeWeek && onChangeWeek({
|
|
4905
|
-
action: action,
|
|
4906
|
-
date: dt,
|
|
4907
|
-
week: week,
|
|
4908
|
-
month: dateFns.getMonth(dt),
|
|
4909
|
-
year: dateFns.getYear(dt),
|
|
4910
|
-
});
|
|
4911
|
-
};
|
|
4912
|
-
var changeDate = function (value) {
|
|
4913
|
-
setCurrentMonth(value);
|
|
4914
|
-
var week = dateFns.getWeek(value);
|
|
4915
|
-
setCurrentWeek(week);
|
|
4916
|
-
onChangeWeek && onChangeWeek({
|
|
4917
|
-
action: 'change-date',
|
|
4918
|
-
date: value,
|
|
4919
|
-
week: week,
|
|
4920
|
-
month: dateFns.getMonth(value),
|
|
4921
|
-
year: dateFns.getYear(value),
|
|
4922
|
-
});
|
|
4923
|
-
};
|
|
4924
|
-
var onClickDay = function (day) {
|
|
4925
|
-
if (dateFns.isSameDay(day, selectedDate)) {
|
|
4926
|
-
setSelectedDate(today);
|
|
4927
|
-
}
|
|
4928
|
-
else {
|
|
4929
|
-
setSelectedDate(day);
|
|
4930
|
-
}
|
|
4931
|
-
};
|
|
4932
|
-
// reset to today's date
|
|
4933
|
-
var resetToToday = function () {
|
|
4934
|
-
setSelectedDate(today);
|
|
4935
|
-
changeWeek('reset');
|
|
4936
|
-
};
|
|
4937
|
-
var onNextWeek = function () { return changeWeek("next"); };
|
|
4938
|
-
var onPrevWeek = function () { return changeWeek("prev"); };
|
|
4939
|
-
var onNextMonth = function () { return changeMonth("next"); };
|
|
4940
|
-
var onPrevMonth = function () { return changeMonth("prev"); };
|
|
4941
|
-
return {
|
|
4942
|
-
currentMonth: currentMonth,
|
|
4943
|
-
currentWeek: currentWeek,
|
|
4944
|
-
selectedDate: selectedDate,
|
|
4945
|
-
setSelectedDate: setSelectedDate,
|
|
4946
|
-
setCurrentWeek: setCurrentWeek,
|
|
4947
|
-
setCurrentMonth: setCurrentMonth,
|
|
4948
|
-
onClickDay: onClickDay,
|
|
4949
|
-
onNextWeek: onNextWeek,
|
|
4950
|
-
onPrevWeek: onPrevWeek,
|
|
4951
|
-
onNextMonth: onNextMonth,
|
|
4952
|
-
onPrevMonth: onPrevMonth,
|
|
4953
|
-
changeWeek: changeWeek,
|
|
4954
|
-
changeDate: changeDate,
|
|
4955
|
-
getDatesBetween: getDatesBetween,
|
|
4956
|
-
onReset: resetToToday,
|
|
4957
|
-
};
|
|
4958
|
-
};
|
|
4959
|
-
|
|
4960
|
-
var useWindowSize = function () {
|
|
4961
|
-
var _a = React.useState([0, 0]), size = _a[0], setSize = _a[1]; // [width, height]
|
|
4962
|
-
React.useEffect(function () {
|
|
4963
|
-
function updateSize() {
|
|
4964
|
-
setSize([window.innerWidth, window.innerHeight]);
|
|
4965
|
-
}
|
|
4966
|
-
window.addEventListener('resize', updateSize);
|
|
4967
|
-
updateSize();
|
|
4968
|
-
return function () { return window.removeEventListener('resize', updateSize); };
|
|
4969
|
-
}, []);
|
|
4970
|
-
return size;
|
|
4971
|
-
};
|
|
4972
|
-
|
|
4973
|
-
function useLongPress(callback, ms) {
|
|
4974
|
-
if (callback === void 0) { callback = function () { }; }
|
|
4975
|
-
if (ms === void 0) { ms = 300; }
|
|
4976
|
-
var _a = React.useState(false), startLongPress = _a[0], setStartLongPress = _a[1];
|
|
4977
|
-
React.useEffect(function () {
|
|
4978
|
-
var timeoutId = null;
|
|
4979
|
-
if (startLongPress) {
|
|
4980
|
-
timeoutId = setTimeout(callback, ms);
|
|
4981
|
-
}
|
|
4982
|
-
else {
|
|
4983
|
-
if (timeoutId !== undefined && timeoutId !== null) {
|
|
4984
|
-
clearTimeout(timeoutId);
|
|
4985
|
-
}
|
|
4986
|
-
}
|
|
4987
|
-
return function () {
|
|
4988
|
-
if (timeoutId !== undefined && timeoutId !== null) {
|
|
4989
|
-
clearTimeout(timeoutId);
|
|
4990
|
-
}
|
|
4991
|
-
};
|
|
4992
|
-
}, [callback, ms, startLongPress]);
|
|
4993
|
-
var start = React.useCallback(function () {
|
|
4994
|
-
setStartLongPress(true);
|
|
4995
|
-
}, []);
|
|
4996
|
-
var stop = React.useCallback(function () {
|
|
4997
|
-
setStartLongPress(false);
|
|
4998
|
-
}, []);
|
|
4999
|
-
return {
|
|
5000
|
-
onMouseDown: start,
|
|
5001
|
-
onMouseUp: stop,
|
|
5002
|
-
onMouseLeave: stop,
|
|
5003
|
-
onTouchStart: start,
|
|
5004
|
-
onTouchEnd: stop,
|
|
5005
|
-
};
|
|
5006
|
-
}
|
|
5007
|
-
|
|
5008
5033
|
/*
|
|
5009
5034
|
Code from https://www.joshwcomeau.com/react/animated-sparkles-in-react/
|
|
5010
5035
|
Check out his site. It's awesome
|