@doist/reactist 11.5.0 → 12.0.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/dist/reactist.cjs.development.js +1344 -1499
- package/dist/reactist.cjs.development.js.map +1 -1
- package/dist/reactist.cjs.production.min.js +1 -1
- package/dist/reactist.cjs.production.min.js.map +1 -1
- package/es/_virtual/_rollupPluginBabelHelpers.js +18 -21
- package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/es/components/checkbox/checkbox.js +7 -9
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/color-picker/color-picker.js +24 -28
- package/es/components/color-picker/color-picker.js.map +1 -1
- package/es/components/deprecated-button/deprecated-button.js +16 -18
- package/es/components/deprecated-button/deprecated-button.js.map +1 -1
- package/es/components/deprecated-loading/deprecated-loading.js +7 -10
- package/es/components/deprecated-loading/deprecated-loading.js.map +1 -1
- package/es/components/deprecated-modal/deprecated-modal.js +69 -101
- package/es/components/deprecated-modal/deprecated-modal.js.map +1 -1
- package/es/components/deprecated-modal/index.js +4 -4
- package/es/components/deprecated-modal/index.js.map +1 -1
- package/es/components/dropdown/dropdown.js +86 -85
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/icons/CloseIcon.svg.js +9 -11
- package/es/components/icons/CloseIcon.svg.js.map +1 -1
- package/es/components/input/input.js +4 -3
- package/es/components/input/input.js.map +1 -1
- package/es/components/key-capturer/key-capturer.js +22 -19
- package/es/components/key-capturer/key-capturer.js.map +1 -1
- package/es/components/keyboard-shortcut/keyboard-shortcut.js +20 -26
- package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/es/components/menu/menu.js +112 -142
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/notification/notification.js +32 -32
- package/es/components/notification/notification.js.map +1 -1
- package/es/components/popover/popover.js +85 -91
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/popover/positioning-utils.js +49 -65
- package/es/components/popover/positioning-utils.js.map +1 -1
- package/es/components/progress-bar/progress-bar.js +8 -8
- package/es/components/progress-bar/progress-bar.js.map +1 -1
- package/es/components/select/select.js +20 -25
- package/es/components/select/select.js.map +1 -1
- package/es/components/time/time-utils.js +30 -47
- package/es/components/time/time-utils.js.map +1 -1
- package/es/components/time/time.js +43 -56
- package/es/components/time/time.js.map +1 -1
- package/es/components/tooltip/tooltip.js +43 -46
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/hooks/use-previous/use-previous.js +2 -2
- package/es/hooks/use-previous/use-previous.js.map +1 -1
- package/es/new-components/alert/alert.js +7 -6
- package/es/new-components/alert/alert.js.map +1 -1
- package/es/new-components/avatar/avatar.js +19 -18
- package/es/new-components/avatar/avatar.js.map +1 -1
- package/es/new-components/avatar/utils.js +12 -9
- package/es/new-components/avatar/utils.js.map +1 -1
- package/es/new-components/base-button/base-button.js +25 -29
- package/es/new-components/base-button/base-button.js.map +1 -1
- package/es/new-components/base-field/base-field.js +20 -18
- package/es/new-components/base-field/base-field.js.map +1 -1
- package/es/new-components/box/box.js +51 -52
- package/es/new-components/box/box.js.map +1 -1
- package/es/new-components/button/button.js +13 -15
- package/es/new-components/button/button.js.map +1 -1
- package/es/new-components/button-link/button-link.js +13 -15
- package/es/new-components/button-link/button-link.js.map +1 -1
- package/es/new-components/checkbox-field/checkbox-field.js +25 -33
- package/es/new-components/checkbox-field/checkbox-field.js.map +1 -1
- package/es/new-components/checkbox-field/checkbox-icon.js +21 -19
- package/es/new-components/checkbox-field/checkbox-icon.js.map +1 -1
- package/es/new-components/columns/columns.js +24 -27
- package/es/new-components/columns/columns.js.map +1 -1
- package/es/new-components/common-helpers.js +3 -3
- package/es/new-components/common-helpers.js.map +1 -1
- package/es/new-components/divider/divider.js +7 -6
- package/es/new-components/divider/divider.js.map +1 -1
- package/es/new-components/heading/heading.js +17 -17
- package/es/new-components/heading/heading.js.map +1 -1
- package/es/new-components/hidden/hidden.js +14 -13
- package/es/new-components/hidden/hidden.js.map +1 -1
- package/es/new-components/hidden-visually/hidden-visually.js +3 -2
- package/es/new-components/hidden-visually/hidden-visually.js.map +1 -1
- package/es/new-components/icons/alert-icon.js +13 -11
- package/es/new-components/icons/alert-icon.js.map +1 -1
- package/es/new-components/icons/close-icon.js +2 -1
- package/es/new-components/icons/close-icon.js.map +1 -1
- package/es/new-components/icons/password-hidden-icon.js +2 -1
- package/es/new-components/icons/password-hidden-icon.js.map +1 -1
- package/es/new-components/icons/password-visible-icon.js +2 -1
- package/es/new-components/icons/password-visible-icon.js.map +1 -1
- package/es/new-components/inline/inline.js +15 -19
- package/es/new-components/inline/inline.js.map +1 -1
- package/es/new-components/loading/loading.js +12 -10
- package/es/new-components/loading/loading.js.map +1 -1
- package/es/new-components/modal/modal.js +64 -66
- package/es/new-components/modal/modal.js.map +1 -1
- package/es/new-components/modal/modal.module.css.js +1 -1
- package/es/new-components/notice/notice.js +5 -4
- package/es/new-components/notice/notice.js.map +1 -1
- package/es/new-components/password-field/password-field.js +40 -46
- package/es/new-components/password-field/password-field.js.map +1 -1
- package/es/new-components/responsive-props.js +5 -5
- package/es/new-components/responsive-props.js.map +1 -1
- package/es/new-components/select-field/select-field.js +23 -23
- package/es/new-components/select-field/select-field.js.map +1 -1
- package/es/new-components/spinner/spinner.js +3 -3
- package/es/new-components/spinner/spinner.js.map +1 -1
- package/es/new-components/stack/stack.js +18 -22
- package/es/new-components/stack/stack.js.map +1 -1
- package/es/new-components/switch-field/switch-field.js +31 -41
- package/es/new-components/switch-field/switch-field.js.map +1 -1
- package/es/new-components/tabs/tabs.js +92 -78
- package/es/new-components/tabs/tabs.js.map +1 -1
- package/es/new-components/tabs/tabs.module.css.js +1 -1
- package/es/new-components/text/text.js +16 -17
- package/es/new-components/text/text.js.map +1 -1
- package/es/new-components/text/text.module.css.js +1 -1
- package/es/new-components/text-area/text-area.js +14 -14
- package/es/new-components/text-area/text-area.js.map +1 -1
- package/es/new-components/text-field/text-field.js +21 -22
- package/es/new-components/text-field/text-field.js.map +1 -1
- package/es/new-components/text-link/text-link.js +10 -10
- package/es/new-components/text-link/text-link.js.map +1 -1
- package/es/new-components/text-link/text-link.module.css.js +1 -1
- package/es/utils/polymorphism.js.map +1 -1
- package/lib/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/lib/components/checkbox/checkbox.js +1 -1
- package/lib/components/checkbox/checkbox.js.map +1 -1
- package/lib/components/color-picker/color-picker.js +1 -1
- package/lib/components/color-picker/color-picker.js.map +1 -1
- package/lib/components/deprecated-button/deprecated-button.d.ts +3 -3
- package/lib/components/deprecated-button/deprecated-button.js +1 -1
- package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
- package/lib/components/deprecated-loading/deprecated-loading.js +1 -1
- package/lib/components/deprecated-loading/deprecated-loading.js.map +1 -1
- package/lib/components/deprecated-modal/deprecated-modal.d.ts +2 -2
- package/lib/components/deprecated-modal/deprecated-modal.js +1 -1
- package/lib/components/deprecated-modal/deprecated-modal.js.map +1 -1
- package/lib/components/deprecated-modal/index.js.map +1 -1
- package/lib/components/dropdown/dropdown.d.ts +5 -2
- package/lib/components/dropdown/dropdown.js +1 -1
- package/lib/components/dropdown/dropdown.js.map +1 -1
- package/lib/components/icons/CloseIcon.svg.js +1 -1
- package/lib/components/icons/CloseIcon.svg.js.map +1 -1
- package/lib/components/input/input.js +1 -1
- package/lib/components/input/input.js.map +1 -1
- package/lib/components/key-capturer/key-capturer.d.ts +1 -1
- package/lib/components/key-capturer/key-capturer.js +1 -1
- package/lib/components/key-capturer/key-capturer.js.map +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js +1 -1
- package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/lib/components/menu/menu.d.ts +7 -7
- package/lib/components/menu/menu.js +1 -1
- package/lib/components/menu/menu.js.map +1 -1
- package/lib/components/notification/notification.js +1 -1
- package/lib/components/notification/notification.js.map +1 -1
- package/lib/components/popover/popover.d.ts +1 -1
- package/lib/components/popover/popover.js +1 -1
- package/lib/components/popover/popover.js.map +1 -1
- package/lib/components/popover/positioning-utils.js +1 -1
- package/lib/components/popover/positioning-utils.js.map +1 -1
- package/lib/components/progress-bar/progress-bar.js +1 -1
- package/lib/components/progress-bar/progress-bar.js.map +1 -1
- package/lib/components/select/select.js +1 -1
- package/lib/components/select/select.js.map +1 -1
- package/lib/components/time/time-utils.js +1 -1
- package/lib/components/time/time-utils.js.map +1 -1
- package/lib/components/time/time.js +1 -1
- package/lib/components/time/time.js.map +1 -1
- package/lib/components/tooltip/index.d.ts +1 -2
- package/lib/components/tooltip/tooltip.d.ts +3 -3
- package/lib/components/tooltip/tooltip.js +1 -1
- package/lib/components/tooltip/tooltip.js.map +1 -1
- package/lib/hooks/use-previous/use-previous.js +1 -1
- package/lib/hooks/use-previous/use-previous.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/new-components/alert/alert.d.ts +1 -1
- package/lib/new-components/alert/alert.js +1 -1
- package/lib/new-components/alert/alert.js.map +1 -1
- package/lib/new-components/avatar/avatar.js +1 -1
- package/lib/new-components/avatar/avatar.js.map +1 -1
- package/lib/new-components/avatar/utils.d.ts +1 -1
- package/lib/new-components/avatar/utils.js +1 -1
- package/lib/new-components/avatar/utils.js.map +1 -1
- package/lib/new-components/base-button/base-button.js +1 -1
- package/lib/new-components/base-button/base-button.js.map +1 -1
- package/lib/new-components/base-field/base-field.d.ts +1 -1
- package/lib/new-components/base-field/base-field.js +1 -1
- package/lib/new-components/base-field/base-field.js.map +1 -1
- package/lib/new-components/box/box.js +1 -1
- package/lib/new-components/box/box.js.map +1 -1
- package/lib/new-components/button/button.d.ts +1 -58
- package/lib/new-components/button/button.js +1 -1
- package/lib/new-components/button/button.js.map +1 -1
- package/lib/new-components/button-link/button-link.js +1 -1
- package/lib/new-components/button-link/button-link.js.map +1 -1
- package/lib/new-components/checkbox-field/checkbox-field.d.ts +1 -1
- package/lib/new-components/checkbox-field/checkbox-field.js +1 -1
- package/lib/new-components/checkbox-field/checkbox-field.js.map +1 -1
- package/lib/new-components/checkbox-field/checkbox-icon.js +1 -1
- package/lib/new-components/checkbox-field/checkbox-icon.js.map +1 -1
- package/lib/new-components/columns/columns.js +1 -1
- package/lib/new-components/columns/columns.js.map +1 -1
- package/lib/new-components/common-helpers.js +1 -1
- package/lib/new-components/common-helpers.js.map +1 -1
- package/lib/new-components/common-types.d.ts +2 -2
- package/lib/new-components/divider/divider.js +1 -1
- package/lib/new-components/divider/divider.js.map +1 -1
- package/lib/new-components/heading/heading.d.ts +2 -2
- package/lib/new-components/heading/heading.js +1 -1
- package/lib/new-components/heading/heading.js.map +1 -1
- package/lib/new-components/hidden/hidden.js +1 -1
- package/lib/new-components/hidden/hidden.js.map +1 -1
- package/lib/new-components/hidden-visually/hidden-visually.js +1 -1
- package/lib/new-components/hidden-visually/hidden-visually.js.map +1 -1
- package/lib/new-components/icons/alert-icon.d.ts +1 -1
- package/lib/new-components/icons/alert-icon.js +1 -1
- package/lib/new-components/icons/alert-icon.js.map +1 -1
- package/lib/new-components/icons/close-icon.js +1 -1
- package/lib/new-components/icons/close-icon.js.map +1 -1
- package/lib/new-components/icons/password-hidden-icon.js +1 -1
- package/lib/new-components/icons/password-hidden-icon.js.map +1 -1
- package/lib/new-components/icons/password-visible-icon.js +1 -1
- package/lib/new-components/icons/password-visible-icon.js.map +1 -1
- package/lib/new-components/inline/inline.js +1 -1
- package/lib/new-components/inline/inline.js.map +1 -1
- package/lib/new-components/loading/loading.d.ts +1 -1
- package/lib/new-components/loading/loading.js +1 -1
- package/lib/new-components/loading/loading.js.map +1 -1
- package/lib/new-components/modal/modal.js +1 -1
- package/lib/new-components/modal/modal.js.map +1 -1
- package/lib/new-components/modal/modal.module.css.js +1 -1
- package/lib/new-components/notice/notice.d.ts +1 -1
- package/lib/new-components/notice/notice.js +1 -1
- package/lib/new-components/notice/notice.js.map +1 -1
- package/lib/new-components/password-field/password-field.d.ts +1 -1
- package/lib/new-components/password-field/password-field.js +1 -1
- package/lib/new-components/password-field/password-field.js.map +1 -1
- package/lib/new-components/responsive-props.d.ts +1 -1
- package/lib/new-components/responsive-props.js +1 -1
- package/lib/new-components/responsive-props.js.map +1 -1
- package/lib/new-components/select-field/select-field.d.ts +1 -1
- package/lib/new-components/select-field/select-field.js +1 -1
- package/lib/new-components/select-field/select-field.js.map +1 -1
- package/lib/new-components/spinner/spinner.js +1 -1
- package/lib/new-components/spinner/spinner.js.map +1 -1
- package/lib/new-components/stack/stack.js +1 -1
- package/lib/new-components/stack/stack.js.map +1 -1
- package/lib/new-components/switch-field/switch-field.d.ts +1 -1
- package/lib/new-components/switch-field/switch-field.js +1 -1
- package/lib/new-components/switch-field/switch-field.js.map +1 -1
- package/lib/new-components/tabs/tabs.d.ts +13 -3
- package/lib/new-components/tabs/tabs.js +1 -1
- package/lib/new-components/tabs/tabs.js.map +1 -1
- package/lib/new-components/tabs/tabs.module.css.js +1 -1
- package/lib/new-components/test-helpers.d.ts +4 -3
- package/lib/new-components/text/text.js +1 -1
- package/lib/new-components/text/text.js.map +1 -1
- package/lib/new-components/text/text.module.css.js +1 -1
- package/lib/new-components/text-area/text-area.js +1 -1
- package/lib/new-components/text-area/text-area.js.map +1 -1
- package/lib/new-components/text-field/text-field.d.ts +1 -1
- package/lib/new-components/text-field/text-field.js +1 -1
- package/lib/new-components/text-field/text-field.js.map +1 -1
- package/lib/new-components/text-link/text-link.js +1 -1
- package/lib/new-components/text-link/text-link.js.map +1 -1
- package/lib/new-components/text-link/text-link.module.css.js +1 -1
- package/lib/utils/polymorphism.js.map +1 -1
- package/package.json +45 -38
- package/styles/base-field.css +1 -1
- package/styles/checkbox-field.css +1 -1
- package/styles/menu.css +1 -1
- package/styles/modal.css +1 -1
- package/styles/modal.module.css.css +1 -1
- package/styles/password-field.css +1 -1
- package/styles/reactist.css +6 -6
- package/styles/select-field.css +1 -1
- package/styles/switch-field.css +1 -1
- package/styles/tabs.css +1 -1
- package/styles/tabs.module.css.css +1 -1
- package/styles/text-area.css +1 -1
- package/styles/text-field.css +1 -1
- package/styles/text-link.css +1 -1
- package/styles/text-link.module.css.css +1 -1
- package/styles/text.css +1 -1
- package/styles/text.module.css.css +1 -1
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
const hasEnoughSpace = (windowDimensions, elementDimensions, wrapperDimensions, wrapperPosition, position, gap = 0) => {
|
|
2
|
+
const {
|
|
3
|
+
height: windowHeight,
|
|
4
|
+
width: windowWidth
|
|
5
|
+
} = windowDimensions;
|
|
6
|
+
const {
|
|
7
|
+
height: elementHeight,
|
|
8
|
+
width: elementWidth
|
|
9
|
+
} = elementDimensions;
|
|
10
|
+
const {
|
|
11
|
+
height: wrapperHeight,
|
|
12
|
+
width: wrapperWidth
|
|
13
|
+
} = wrapperDimensions;
|
|
14
|
+
const {
|
|
15
|
+
x: wrapperX,
|
|
16
|
+
y: wrapperY
|
|
17
|
+
} = wrapperPosition;
|
|
18
|
+
|
|
19
|
+
const verticalPosition = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
20
|
+
|
|
21
|
+
const horizontalPosition = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
22
|
+
|
|
23
|
+
const canPlaceVertically = verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth;
|
|
24
|
+
const canPlaceHorizontally = horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight;
|
|
21
25
|
|
|
22
26
|
if (position === 'top') {
|
|
23
27
|
return canPlaceVertically && wrapperY - elementHeight - gap >= 0;
|
|
@@ -32,77 +36,57 @@ var hasEnoughSpace = function hasEnoughSpace(windowDimensions, elementDimensions
|
|
|
32
36
|
return false;
|
|
33
37
|
};
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
function _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
|
|
36
40
|
return wrapperPosition.x + (wrapperDimensions.width - elementDimensions.width) / 2;
|
|
37
|
-
}
|
|
41
|
+
}
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
function _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions) {
|
|
40
44
|
return wrapperPosition.y + (wrapperDimensions.height - elementDimensions.height) / 2;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var calculateTopCenterPosition = function calculateTopCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap) {
|
|
44
|
-
if (gap === void 0) {
|
|
45
|
-
gap = 0;
|
|
46
|
-
}
|
|
45
|
+
}
|
|
47
46
|
|
|
48
|
-
|
|
47
|
+
const calculateTopCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
|
|
48
|
+
const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
const y = wrapperPosition.y - elementDimensions.height - gap;
|
|
51
51
|
return {
|
|
52
|
-
x
|
|
53
|
-
y
|
|
52
|
+
x,
|
|
53
|
+
y
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
gap = 0;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
57
|
+
const calculateBottomCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
|
|
58
|
+
const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
63
59
|
|
|
64
|
-
|
|
60
|
+
const y = wrapperPosition.y + wrapperDimensions.height + gap;
|
|
65
61
|
return {
|
|
66
|
-
x
|
|
67
|
-
y
|
|
62
|
+
x,
|
|
63
|
+
y
|
|
68
64
|
};
|
|
69
65
|
};
|
|
70
66
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
gap = 0;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var x = wrapperPosition.x + wrapperDimensions.width + gap;
|
|
67
|
+
const calculateRightCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
|
|
68
|
+
const x = wrapperPosition.x + wrapperDimensions.width + gap;
|
|
77
69
|
|
|
78
|
-
|
|
70
|
+
const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
79
71
|
|
|
80
72
|
return {
|
|
81
|
-
x
|
|
82
|
-
y
|
|
73
|
+
x,
|
|
74
|
+
y
|
|
83
75
|
};
|
|
84
76
|
};
|
|
85
77
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
gap = 0;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
var x = wrapperPosition.x - elementDimensions.width - gap;
|
|
78
|
+
const calculateLeftCenterPosition = (wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
|
|
79
|
+
const x = wrapperPosition.x - elementDimensions.width - gap;
|
|
92
80
|
|
|
93
|
-
|
|
81
|
+
const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions);
|
|
94
82
|
|
|
95
83
|
return {
|
|
96
|
-
x
|
|
97
|
-
y
|
|
84
|
+
x,
|
|
85
|
+
y
|
|
98
86
|
};
|
|
99
87
|
};
|
|
100
88
|
|
|
101
|
-
|
|
102
|
-
if (gap === void 0) {
|
|
103
|
-
gap = 0;
|
|
104
|
-
}
|
|
105
|
-
|
|
89
|
+
const calculatePosition = (position, wrapperDimensions, wrapperPosition, elementDimensions, gap = 0) => {
|
|
106
90
|
if (position === 'top') {
|
|
107
91
|
return calculateTopCenterPosition(wrapperDimensions, wrapperPosition, elementDimensions, gap);
|
|
108
92
|
} else if (position === 'right') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positioning-utils.js","sources":["../../../src/components/popover/positioning-utils.ts"],"sourcesContent":["type Dimensions = { width: number; height: number }\ntype AbsolutePosition = { x: number; y: number }\ntype RelativePosition = 'top' | 'right' | 'bottom' | 'left'\n\ntype HasEnoughSpaceFn = (\n windowDimensions: Dimensions,\n elementDimensions: Dimensions,\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n position: RelativePosition,\n gap: number,\n) => boolean\n\nconst hasEnoughSpace: HasEnoughSpaceFn = (\n windowDimensions,\n elementDimensions,\n wrapperDimensions,\n wrapperPosition,\n position,\n gap = 0,\n) => {\n const { height: windowHeight, width: windowWidth } = windowDimensions\n const { height: elementHeight, width: elementWidth } = elementDimensions\n const { height: wrapperHeight, width: wrapperWidth } = wrapperDimensions\n const { x: wrapperX, y: wrapperY } = wrapperPosition\n\n const verticalPosition = _calculateVerticalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const horizontalPosition = _calculateHorizontalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const canPlaceVertically =\n verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth\n const canPlaceHorizontally =\n horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight\n\n if (position === 'top') {\n return canPlaceVertically && wrapperY - elementHeight - gap >= 0\n } else if (position === 'right') {\n return canPlaceHorizontally && wrapperX + wrapperWidth + elementWidth + gap <= windowWidth\n } else if (position === 'left') {\n return canPlaceHorizontally && wrapperX - elementWidth - gap >= 0\n } else if (position === 'bottom') {\n return canPlaceVertically && wrapperY + wrapperHeight + elementHeight + gap <= windowHeight\n }\n return false\n}\n\
|
|
1
|
+
{"version":3,"file":"positioning-utils.js","sources":["../../../src/components/popover/positioning-utils.ts"],"sourcesContent":["type Dimensions = { width: number; height: number }\ntype AbsolutePosition = { x: number; y: number }\ntype RelativePosition = 'top' | 'right' | 'bottom' | 'left'\n\ntype HasEnoughSpaceFn = (\n windowDimensions: Dimensions,\n elementDimensions: Dimensions,\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n position: RelativePosition,\n gap: number,\n) => boolean\n\nconst hasEnoughSpace: HasEnoughSpaceFn = (\n windowDimensions,\n elementDimensions,\n wrapperDimensions,\n wrapperPosition,\n position,\n gap = 0,\n) => {\n const { height: windowHeight, width: windowWidth } = windowDimensions\n const { height: elementHeight, width: elementWidth } = elementDimensions\n const { height: wrapperHeight, width: wrapperWidth } = wrapperDimensions\n const { x: wrapperX, y: wrapperY } = wrapperPosition\n\n const verticalPosition = _calculateVerticalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const horizontalPosition = _calculateHorizontalPosition(\n wrapperPosition,\n wrapperDimensions,\n elementDimensions,\n )\n const canPlaceVertically =\n verticalPosition >= 0 && verticalPosition + elementWidth <= windowWidth\n const canPlaceHorizontally =\n horizontalPosition >= 0 && horizontalPosition + elementHeight <= windowHeight\n\n if (position === 'top') {\n return canPlaceVertically && wrapperY - elementHeight - gap >= 0\n } else if (position === 'right') {\n return canPlaceHorizontally && wrapperX + wrapperWidth + elementWidth + gap <= windowWidth\n } else if (position === 'left') {\n return canPlaceHorizontally && wrapperX - elementWidth - gap >= 0\n } else if (position === 'bottom') {\n return canPlaceVertically && wrapperY + wrapperHeight + elementHeight + gap <= windowHeight\n }\n return false\n}\n\nfunction _calculateVerticalPosition(\n wrapperPosition: AbsolutePosition,\n wrapperDimensions: Dimensions,\n elementDimensions: Dimensions,\n): number {\n return wrapperPosition.x + (wrapperDimensions.width - elementDimensions.width) / 2\n}\n\nfunction _calculateHorizontalPosition(\n wrapperPosition: AbsolutePosition,\n wrapperDimensions: Dimensions,\n elementDimensions: Dimensions,\n): number {\n return wrapperPosition.y + (wrapperDimensions.height - elementDimensions.height) / 2\n}\n\ntype CenterPositionFn = (\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculateTopCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y - elementDimensions.height - gap\n return { x, y }\n}\n\nconst calculateBottomCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = _calculateVerticalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n const y = wrapperPosition.y + wrapperDimensions.height + gap\n return { x, y }\n}\n\nconst calculateRightCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x + wrapperDimensions.width + gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\nconst calculateLeftCenterPosition: CenterPositionFn = (\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n const x = wrapperPosition.x - elementDimensions.width - gap\n const y = _calculateHorizontalPosition(wrapperPosition, wrapperDimensions, elementDimensions)\n return { x, y }\n}\n\ntype PositionFn = (\n position: 'top' | 'right' | 'bottom' | 'left',\n wrapperDimensions: Dimensions,\n wrapperPosition: AbsolutePosition,\n elementDimensions: Dimensions,\n gap?: number,\n) => AbsolutePosition\n\nconst calculatePosition: PositionFn = (\n position,\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap = 0,\n) => {\n if (position === 'top') {\n return calculateTopCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'right') {\n return calculateRightCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'bottom') {\n return calculateBottomCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n } else if (position === 'left') {\n return calculateLeftCenterPosition(\n wrapperDimensions,\n wrapperPosition,\n elementDimensions,\n gap,\n )\n }\n return wrapperPosition\n}\n\nexport {\n hasEnoughSpace,\n calculatePosition,\n calculateTopCenterPosition,\n calculateBottomCenterPosition,\n calculateRightCenterPosition,\n calculateLeftCenterPosition,\n RelativePosition,\n}\n"],"names":["hasEnoughSpace","windowDimensions","elementDimensions","wrapperDimensions","wrapperPosition","position","gap","height","windowHeight","width","windowWidth","elementHeight","elementWidth","wrapperHeight","wrapperWidth","x","wrapperX","y","wrapperY","verticalPosition","_calculateVerticalPosition","horizontalPosition","_calculateHorizontalPosition","canPlaceVertically","canPlaceHorizontally","calculateTopCenterPosition","calculateBottomCenterPosition","calculateRightCenterPosition","calculateLeftCenterPosition","calculatePosition"],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@ import React__default from 'react';
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { HiddenVisually } from '../../new-components/hidden-visually/hidden-visually.js';
|
|
4
4
|
|
|
5
|
-
function ProgressBar(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
function ProgressBar({
|
|
6
|
+
fillPercentage = 0,
|
|
7
|
+
className,
|
|
8
|
+
'aria-valuetext': ariaValuetext
|
|
9
|
+
}) {
|
|
10
|
+
const finalClassName = classNames('reactist_progress_bar', className);
|
|
11
|
+
const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage;
|
|
12
12
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
13
13
|
className: finalClassName
|
|
14
14
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -19,7 +19,7 @@ function ProgressBar(_ref) {
|
|
|
19
19
|
}), /*#__PURE__*/React__default.createElement(HiddenVisually, null, /*#__PURE__*/React__default.createElement("progress", {
|
|
20
20
|
value: width,
|
|
21
21
|
max: 100,
|
|
22
|
-
"aria-valuetext": ariaValuetext
|
|
22
|
+
"aria-valuetext": ariaValuetext != null ? ariaValuetext : undefined
|
|
23
23
|
})));
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import React from 'react'\nimport { HiddenVisually } from '../../new-components/hidden-visually'\nimport classNames from 'classnames'\n\nimport './progress-bar.less'\n\ntype Props = {\n /** Additional css class applied to the progress bar. */\n className?: string\n /** How much of the progress bar should be filled. Number between 0 and 100 inclusive. */\n fillPercentage?: number\n /** Defines the human readable text alternative for assitive technologies. */\n 'aria-valuetext'?: string\n}\nfunction ProgressBar({ fillPercentage = 0, className, 'aria-valuetext': ariaValuetext }: Props) {\n const finalClassName = classNames('reactist_progress_bar', className)\n const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage\n return (\n <div className={finalClassName}>\n <div className=\"inner\" style={{ width: `${width}%` }} />\n <HiddenVisually>\n <progress value={width} max={100} aria-valuetext={ariaValuetext ?? undefined} />\n </HiddenVisually>\n </div>\n )\n}\nProgressBar.displayName = 'ProgressBar'\n\nexport { ProgressBar }\n"],"names":["ProgressBar","fillPercentage","className","ariaValuetext","finalClassName","classNames","width","React","style","HiddenVisually","value","max","undefined","displayName"],"mappings":";;;;AAcA,SAASA,WAAT;
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import React from 'react'\nimport { HiddenVisually } from '../../new-components/hidden-visually'\nimport classNames from 'classnames'\n\nimport './progress-bar.less'\n\ntype Props = {\n /** Additional css class applied to the progress bar. */\n className?: string\n /** How much of the progress bar should be filled. Number between 0 and 100 inclusive. */\n fillPercentage?: number\n /** Defines the human readable text alternative for assitive technologies. */\n 'aria-valuetext'?: string\n}\nfunction ProgressBar({ fillPercentage = 0, className, 'aria-valuetext': ariaValuetext }: Props) {\n const finalClassName = classNames('reactist_progress_bar', className)\n const width = fillPercentage < 0 ? 0 : fillPercentage > 100 ? 100 : fillPercentage\n return (\n <div className={finalClassName}>\n <div className=\"inner\" style={{ width: `${width}%` }} />\n <HiddenVisually>\n <progress value={width} max={100} aria-valuetext={ariaValuetext ?? undefined} />\n </HiddenVisually>\n </div>\n )\n}\nProgressBar.displayName = 'ProgressBar'\n\nexport { ProgressBar }\n"],"names":["ProgressBar","fillPercentage","className","ariaValuetext","finalClassName","classNames","width","React","style","HiddenVisually","value","max","undefined","displayName"],"mappings":";;;;AAcA,SAASA,WAAT,CAAqB;EAAEC,cAAc,GAAG,CAAnB;EAAsBC,SAAtB;EAAiC,kBAAkBC;AAAnD,CAArB;EACI,MAAMC,cAAc,GAAGC,UAAU,CAAC,uBAAD,EAA0BH,SAA1B,CAAjC;EACA,MAAMI,KAAK,GAAGL,cAAc,GAAG,CAAjB,GAAqB,CAArB,GAAyBA,cAAc,GAAG,GAAjB,GAAuB,GAAvB,GAA6BA,cAApE;EACA,oBACIM,4BAAA,MAAA;IAAKL,SAAS,EAAEE;GAAhB,eACIG,4BAAA,MAAA;IAAKL,SAAS,EAAC;IAAQM,KAAK,EAAE;MAAEF,KAAK,EAAKA,KAAL;;GAArC,CADJ,eAEIC,4BAAA,CAACE,cAAD,MAAA,eACIF,4BAAA,WAAA;IAAUG,KAAK,EAAEJ;IAAOK,GAAG,EAAE;sBAAqBR,wBAAAA,gBAAiBS;GAAnE,CADJ,CAFJ,CADJ;AAQH;;AACDZ,WAAW,CAACa,WAAZ,GAA0B,aAA1B;;;;"}
|
|
@@ -1,39 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const _excluded = ["value", "options", "onChange", "disabled", "className", "defaultValue"];
|
|
6
6
|
|
|
7
7
|
function Select(_ref) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
otherProps = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
8
|
+
let {
|
|
9
|
+
value,
|
|
10
|
+
options = [],
|
|
11
|
+
onChange,
|
|
12
|
+
disabled = true,
|
|
13
|
+
className = '',
|
|
14
|
+
defaultValue
|
|
15
|
+
} = _ref,
|
|
16
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
disabled
|
|
18
|
+
const selectClassName = classNames('reactist_select', {
|
|
19
|
+
disabled
|
|
21
20
|
}, className);
|
|
22
|
-
return /*#__PURE__*/React__default.createElement("select",
|
|
21
|
+
return /*#__PURE__*/React__default.createElement("select", _objectSpread2({
|
|
23
22
|
className: selectClassName,
|
|
24
23
|
value: value,
|
|
25
|
-
onChange:
|
|
26
|
-
return _onChange ? _onChange(event.target.value) : undefined;
|
|
27
|
-
},
|
|
24
|
+
onChange: event => onChange ? onChange(event.target.value) : undefined,
|
|
28
25
|
disabled: disabled,
|
|
29
26
|
defaultValue: defaultValue
|
|
30
|
-
}, otherProps), options
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}, option.text);
|
|
36
|
-
}));
|
|
27
|
+
}, otherProps), options == null ? void 0 : options.map(option => /*#__PURE__*/React__default.createElement("option", {
|
|
28
|
+
key: option.key || option.value,
|
|
29
|
+
value: option.value,
|
|
30
|
+
disabled: option.disabled
|
|
31
|
+
}, option.text)));
|
|
37
32
|
}
|
|
38
33
|
|
|
39
34
|
Select.displayName = 'Select';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './select.less'\n\ntype Option = {\n /** Optional key for each option. If not provided `value` is used. */\n key?: string | number\n /** Value of the option. */\n value: string | number\n /** Text to display for the option. */\n text?: string | number\n /** Whether the options is disabled or not. */\n disabled?: boolean\n}\n\ntype Props = {\n className?: string\n disabled?: boolean\n /** Currently selected value. */\n value?: string | number\n /** Callback for the change event. Will be called with the next value (not the full event). */\n onChange?: (value: string) => void\n /** Options that are rendered in the select. */\n options?: Option[]\n /** Value to initially be set */\n defaultValue?: string | number\n}\n\nfunction Select({\n value,\n options = [],\n onChange,\n disabled = true,\n className = '',\n defaultValue,\n ...otherProps\n}: Props) {\n const selectClassName = classNames('reactist_select', { disabled }, className)\n return (\n <select\n className={selectClassName}\n value={value}\n onChange={(event) => (onChange ? onChange(event.target.value) : undefined)}\n disabled={disabled}\n defaultValue={defaultValue}\n {...otherProps}\n >\n {options?.map((option) => (\n <option\n key={option.key || option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.text}\n </option>\n ))}\n </select>\n )\n}\nSelect.displayName = 'Select'\nSelect.defaultProps = {\n options: [],\n disabled: false,\n}\n\nexport { Select }\n"],"names":["Select","value","options","onChange","disabled","className","defaultValue","otherProps","selectClassName","classNames","React","event","target","undefined","map","option","key","text","displayName","defaultProps"],"mappings":";;;;;;AA6BA,SAASA,MAAT;
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\n\nimport './select.less'\n\ntype Option = {\n /** Optional key for each option. If not provided `value` is used. */\n key?: string | number\n /** Value of the option. */\n value: string | number\n /** Text to display for the option. */\n text?: string | number\n /** Whether the options is disabled or not. */\n disabled?: boolean\n}\n\ntype Props = {\n className?: string\n disabled?: boolean\n /** Currently selected value. */\n value?: string | number\n /** Callback for the change event. Will be called with the next value (not the full event). */\n onChange?: (value: string) => void\n /** Options that are rendered in the select. */\n options?: Option[]\n /** Value to initially be set */\n defaultValue?: string | number\n}\n\nfunction Select({\n value,\n options = [],\n onChange,\n disabled = true,\n className = '',\n defaultValue,\n ...otherProps\n}: Props) {\n const selectClassName = classNames('reactist_select', { disabled }, className)\n return (\n <select\n className={selectClassName}\n value={value}\n onChange={(event) => (onChange ? onChange(event.target.value) : undefined)}\n disabled={disabled}\n defaultValue={defaultValue}\n {...otherProps}\n >\n {options?.map((option) => (\n <option\n key={option.key || option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.text}\n </option>\n ))}\n </select>\n )\n}\nSelect.displayName = 'Select'\nSelect.defaultProps = {\n options: [],\n disabled: false,\n}\n\nexport { Select }\n"],"names":["Select","value","options","onChange","disabled","className","defaultValue","otherProps","selectClassName","classNames","React","event","target","undefined","map","option","key","text","displayName","defaultProps"],"mappings":";;;;;;AA6BA,SAASA,MAAT;MAAgB;IACZC,KADY;IAEZC,OAAO,GAAG,EAFE;IAGZC,QAHY;IAIZC,QAAQ,GAAG,IAJC;IAKZC,SAAS,GAAG,EALA;IAMZC;;MACGC;;EAEH,MAAMC,eAAe,GAAGC,UAAU,CAAC,iBAAD,EAAoB;IAAEL;GAAtB,EAAkCC,SAAlC,CAAlC;EACA,oBACIK,4BAAA,SAAA;IACIL,SAAS,EAAEG,eADf;IAEIP,KAAK,EAAEA,KAFX;IAGIE,QAAQ,EAAGQ,KAAD,IAAYR,QAAQ,GAAGA,QAAQ,CAACQ,KAAK,CAACC,MAAN,CAAaX,KAAd,CAAX,GAAkCY,SAHpE;IAIIT,QAAQ,EAAEA,QAJd;IAKIE,YAAY,EAAEA;KACVC,UANR,GAQKL,OARL,oBAQKA,OAAO,CAAEY,GAAT,CAAcC,MAAD,iBACVL,4BAAA,SAAA;IACIM,GAAG,EAAED,MAAM,CAACC,GAAP,IAAcD,MAAM,CAACd;IAC1BA,KAAK,EAAEc,MAAM,CAACd;IACdG,QAAQ,EAAEW,MAAM,CAACX;GAHrB,EAKKW,MAAM,CAACE,IALZ,CADH,CARL,CADJ;AAoBH;;AACDjB,MAAM,CAACkB,WAAP,GAAqB,QAArB;AACAlB,MAAM,CAACmB,YAAP,GAAsB;EAClBjB,OAAO,EAAE,EADS;EAElBE,QAAQ,EAAE;AAFQ,CAAtB;;;;"}
|
|
@@ -2,36 +2,27 @@ import dayjs from 'dayjs';
|
|
|
2
2
|
import LocalizedFormat from 'dayjs/plugin/localizedFormat';
|
|
3
3
|
|
|
4
4
|
dayjs.extend(LocalizedFormat);
|
|
5
|
-
|
|
5
|
+
const TimeUtils = {
|
|
6
6
|
SHORT_FORMAT_CURRENT_YEAR: 'L',
|
|
7
7
|
SHORT_FORMAT_PAST_YEAR: 'LL',
|
|
8
8
|
LONG_FORMAT: 'LL, LT',
|
|
9
|
-
timeAgo: function timeAgo(timestamp, config) {
|
|
10
|
-
if (config === void 0) {
|
|
11
|
-
config = {};
|
|
12
|
-
}
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
minutesSuffix = _config$minutesSuffix === void 0 ? 'm' : _config$minutesSuffix,
|
|
27
|
-
_config$momentsAgo = _config.momentsAgo,
|
|
28
|
-
momentsAgo = _config$momentsAgo === void 0 ? 'moments ago' : _config$momentsAgo;
|
|
29
|
-
var now = dayjs();
|
|
30
|
-
var date = dayjs(timestamp * 1000);
|
|
10
|
+
timeAgo(timestamp, config = {}) {
|
|
11
|
+
const {
|
|
12
|
+
locale = 'en',
|
|
13
|
+
shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,
|
|
14
|
+
shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,
|
|
15
|
+
daysSuffix = 'd',
|
|
16
|
+
hoursSuffix = 'h',
|
|
17
|
+
minutesSuffix = 'm',
|
|
18
|
+
momentsAgo = 'moments ago'
|
|
19
|
+
} = config;
|
|
20
|
+
const now = dayjs();
|
|
21
|
+
const date = dayjs(timestamp * 1000);
|
|
31
22
|
date.locale(locale);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
const diffMinutes = now.diff(date, 'minute');
|
|
24
|
+
const diffHours = now.diff(date, 'hour');
|
|
25
|
+
const diffDays = now.diff(date, 'day');
|
|
35
26
|
|
|
36
27
|
if (diffDays > 1) {
|
|
37
28
|
if (date.isSame(now, 'year')) {
|
|
@@ -49,19 +40,14 @@ var TimeUtils = {
|
|
|
49
40
|
return momentsAgo;
|
|
50
41
|
}
|
|
51
42
|
},
|
|
52
|
-
formatTime: function formatTime(timestamp, config) {
|
|
53
|
-
if (config === void 0) {
|
|
54
|
-
config = {};
|
|
55
|
-
}
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var date = dayjs(timestamp * 1000);
|
|
44
|
+
formatTime(timestamp, config = {}) {
|
|
45
|
+
const {
|
|
46
|
+
locale = 'en',
|
|
47
|
+
shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,
|
|
48
|
+
shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR
|
|
49
|
+
} = config;
|
|
50
|
+
const date = dayjs(timestamp * 1000);
|
|
65
51
|
date.locale(locale);
|
|
66
52
|
|
|
67
53
|
if (date.isSame(dayjs(), 'year')) {
|
|
@@ -70,20 +56,17 @@ var TimeUtils = {
|
|
|
70
56
|
return date.format(shortFormatPastYear);
|
|
71
57
|
}
|
|
72
58
|
},
|
|
73
|
-
formatTimeLong: function formatTimeLong(timestamp, config) {
|
|
74
|
-
if (config === void 0) {
|
|
75
|
-
config = {};
|
|
76
|
-
}
|
|
77
59
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
60
|
+
formatTimeLong(timestamp, config = {}) {
|
|
61
|
+
const {
|
|
62
|
+
locale = 'en',
|
|
63
|
+
longFormat = this.LONG_FORMAT
|
|
64
|
+
} = config;
|
|
65
|
+
const date = dayjs(timestamp * 1000);
|
|
84
66
|
date.locale(locale);
|
|
85
67
|
return date.format(longFormat);
|
|
86
68
|
}
|
|
69
|
+
|
|
87
70
|
};
|
|
88
71
|
|
|
89
72
|
export { TimeUtils };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-utils.js","sources":["../../../src/components/time/time-utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\n/**\n * There's a problem with our setup where the default export from\n * localizedFormat (and likely every other dayjs plugin) isn't properly\n * recognized. The proposed workarounds (importing with `.js` ending, or adding\n * `allowSyntheticDefaultImports` to the tsconfig) either broke linting or type\n * checking. After spending some time on this it was decided that further\n * investigations are not worth it, the code works and the eslint ignore is fine.\n * ref: https://github.com/iamkun/dayjs/issues/593\n * ref: https://day.js.org/docs/en/installation/typescript\n */\n// eslint-disable-next-line import/default\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\n\ndayjs.extend(LocalizedFormat)\n\ntype TimeConfig = {\n locale?: string\n longFormat?: string\n shortFormatCurrentYear?: string\n shortFormatPastYear?: string\n daysSuffix?: string\n hoursSuffix?: string\n minutesSuffix?: string\n momentsAgo?: string\n}\n\nconst TimeUtils = {\n SHORT_FORMAT_CURRENT_YEAR: 'L',\n SHORT_FORMAT_PAST_YEAR: 'LL',\n LONG_FORMAT: 'LL, LT',\n\n timeAgo(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n daysSuffix = 'd',\n hoursSuffix = 'h',\n minutesSuffix = 'm',\n momentsAgo = 'moments ago',\n } = config\n const now = dayjs()\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n const diffMinutes = now.diff(date, 'minute')\n const diffHours = now.diff(date, 'hour')\n const diffDays = now.diff(date, 'day')\n\n if (diffDays > 1) {\n if (date.isSame(now, 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n } else if (diffDays === 1) {\n return `${diffDays}${daysSuffix}`\n } else if (diffHours > 0 && diffHours <= 23) {\n return `${diffHours}${hoursSuffix}`\n } else if (diffMinutes > 0 && diffMinutes <= 59) {\n return `${diffMinutes}${minutesSuffix}`\n } else {\n return momentsAgo\n }\n },\n\n formatTime(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n if (date.isSame(dayjs(), 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n },\n\n formatTimeLong(timestamp: number, config: TimeConfig = {}) {\n const { locale = 'en', longFormat = this.LONG_FORMAT } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n return date.format(longFormat)\n },\n}\n\nexport { TimeUtils, TimeConfig }\n"],"names":["dayjs","extend","LocalizedFormat","TimeUtils","SHORT_FORMAT_CURRENT_YEAR","SHORT_FORMAT_PAST_YEAR","LONG_FORMAT","timeAgo","timestamp","config","locale","shortFormatCurrentYear","shortFormatPastYear","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo","now","date","diffMinutes","diff","diffHours","diffDays","isSame","format","formatTime","formatTimeLong","longFormat"],"mappings":";;;AAcAA,KAAK,CAACC,MAAN,CAAaC,eAAb;
|
|
1
|
+
{"version":3,"file":"time-utils.js","sources":["../../../src/components/time/time-utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\n/**\n * There's a problem with our setup where the default export from\n * localizedFormat (and likely every other dayjs plugin) isn't properly\n * recognized. The proposed workarounds (importing with `.js` ending, or adding\n * `allowSyntheticDefaultImports` to the tsconfig) either broke linting or type\n * checking. After spending some time on this it was decided that further\n * investigations are not worth it, the code works and the eslint ignore is fine.\n * ref: https://github.com/iamkun/dayjs/issues/593\n * ref: https://day.js.org/docs/en/installation/typescript\n */\n// eslint-disable-next-line import/default\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\n\ndayjs.extend(LocalizedFormat)\n\ntype TimeConfig = {\n locale?: string\n longFormat?: string\n shortFormatCurrentYear?: string\n shortFormatPastYear?: string\n daysSuffix?: string\n hoursSuffix?: string\n minutesSuffix?: string\n momentsAgo?: string\n}\n\nconst TimeUtils = {\n SHORT_FORMAT_CURRENT_YEAR: 'L',\n SHORT_FORMAT_PAST_YEAR: 'LL',\n LONG_FORMAT: 'LL, LT',\n\n timeAgo(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n daysSuffix = 'd',\n hoursSuffix = 'h',\n minutesSuffix = 'm',\n momentsAgo = 'moments ago',\n } = config\n const now = dayjs()\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n const diffMinutes = now.diff(date, 'minute')\n const diffHours = now.diff(date, 'hour')\n const diffDays = now.diff(date, 'day')\n\n if (diffDays > 1) {\n if (date.isSame(now, 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n } else if (diffDays === 1) {\n return `${diffDays}${daysSuffix}`\n } else if (diffHours > 0 && diffHours <= 23) {\n return `${diffHours}${hoursSuffix}`\n } else if (diffMinutes > 0 && diffMinutes <= 59) {\n return `${diffMinutes}${minutesSuffix}`\n } else {\n return momentsAgo\n }\n },\n\n formatTime(timestamp: number, config: TimeConfig = {}) {\n const {\n locale = 'en',\n shortFormatCurrentYear = this.SHORT_FORMAT_CURRENT_YEAR,\n shortFormatPastYear = this.SHORT_FORMAT_PAST_YEAR,\n } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n if (date.isSame(dayjs(), 'year')) {\n return date.format(shortFormatCurrentYear)\n } else {\n return date.format(shortFormatPastYear)\n }\n },\n\n formatTimeLong(timestamp: number, config: TimeConfig = {}) {\n const { locale = 'en', longFormat = this.LONG_FORMAT } = config\n const date = dayjs(timestamp * 1000)\n date.locale(locale)\n return date.format(longFormat)\n },\n}\n\nexport { TimeUtils, TimeConfig }\n"],"names":["dayjs","extend","LocalizedFormat","TimeUtils","SHORT_FORMAT_CURRENT_YEAR","SHORT_FORMAT_PAST_YEAR","LONG_FORMAT","timeAgo","timestamp","config","locale","shortFormatCurrentYear","shortFormatPastYear","daysSuffix","hoursSuffix","minutesSuffix","momentsAgo","now","date","diffMinutes","diff","diffHours","diffDays","isSame","format","formatTime","formatTimeLong","longFormat"],"mappings":";;;AAcAA,KAAK,CAACC,MAAN,CAAaC,eAAb;MAaMC,SAAS,GAAG;EACdC,yBAAyB,EAAE,GADb;EAEdC,sBAAsB,EAAE,IAFV;EAGdC,WAAW,EAAE,QAHC;;EAKdC,OAAO,CAACC,SAAD,EAAoBC,SAAqB,EAAzC;IACH,MAAM;MACFC,MAAM,GAAG,IADP;MAEFC,sBAAsB,GAAG,KAAKP,yBAF5B;MAGFQ,mBAAmB,GAAG,KAAKP,sBAHzB;MAIFQ,UAAU,GAAG,GAJX;MAKFC,WAAW,GAAG,GALZ;MAMFC,aAAa,GAAG,GANd;MAOFC,UAAU,GAAG;QACbP,MARJ;IASA,MAAMQ,GAAG,GAAGjB,KAAK,EAAjB;IACA,MAAMkB,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;IACA,MAAMS,WAAW,GAAGF,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,QAAf,CAApB;IACA,MAAMG,SAAS,GAAGJ,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,MAAf,CAAlB;IACA,MAAMI,QAAQ,GAAGL,GAAG,CAACG,IAAJ,CAASF,IAAT,EAAe,KAAf,CAAjB;;IAEA,IAAII,QAAQ,GAAG,CAAf,EAAkB;MACd,IAAIJ,IAAI,CAACK,MAAL,CAAYN,GAAZ,EAAiB,MAAjB,CAAJ,EAA8B;QAC1B,OAAOC,IAAI,CAACM,MAAL,CAAYb,sBAAZ,CAAP;OADJ,MAEO;QACH,OAAOO,IAAI,CAACM,MAAL,CAAYZ,mBAAZ,CAAP;;KAJR,MAMO,IAAIU,QAAQ,KAAK,CAAjB,EAAoB;MACvB,YAAUA,QAAV,GAAqBT,UAArB;KADG,MAEA,IAAIQ,SAAS,GAAG,CAAZ,IAAiBA,SAAS,IAAI,EAAlC,EAAsC;MACzC,YAAUA,SAAV,GAAsBP,WAAtB;KADG,MAEA,IAAIK,WAAW,GAAG,CAAd,IAAmBA,WAAW,IAAI,EAAtC,EAA0C;MAC7C,YAAUA,WAAV,GAAwBJ,aAAxB;KADG,MAEA;MACH,OAAOC,UAAP;;GAnCM;;EAuCdS,UAAU,CAACjB,SAAD,EAAoBC,SAAqB,EAAzC;IACN,MAAM;MACFC,MAAM,GAAG,IADP;MAEFC,sBAAsB,GAAG,KAAKP,yBAF5B;MAGFQ,mBAAmB,GAAG,KAAKP;QAC3BI,MAJJ;IAKA,MAAMS,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;;IACA,IAAIQ,IAAI,CAACK,MAAL,CAAYvB,KAAK,EAAjB,EAAqB,MAArB,CAAJ,EAAkC;MAC9B,OAAOkB,IAAI,CAACM,MAAL,CAAYb,sBAAZ,CAAP;KADJ,MAEO;MACH,OAAOO,IAAI,CAACM,MAAL,CAAYZ,mBAAZ,CAAP;;GAlDM;;EAsDdc,cAAc,CAAClB,SAAD,EAAoBC,SAAqB,EAAzC;IACV,MAAM;MAAEC,MAAM,GAAG,IAAX;MAAiBiB,UAAU,GAAG,KAAKrB;QAAgBG,MAAzD;IACA,MAAMS,IAAI,GAAGlB,KAAK,CAACQ,SAAS,GAAG,IAAb,CAAlB;IACAU,IAAI,CAACR,MAAL,CAAYA,MAAZ;IACA,OAAOQ,IAAI,CAACM,MAAL,CAAYG,UAAZ,CAAP;;;AA1DU;;;;"}
|