@hazelcast/ui 4.0.3 → 4.0.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/lib/components/Modal.d.ts +1 -0
- package/lib/components/Modal.js +2 -2
- package/lib/components/Modal.js.map +1 -1
- package/lib/components/ThemeSwitcher.d.ts +11 -0
- package/lib/components/ThemeSwitcher.js +88 -0
- package/lib/components/ThemeSwitcher.js.map +1 -0
- package/lib/components/ThemeSwitcher.module.css +61 -0
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useColorScheme.js +8 -12
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useThemePreference.d.ts +6 -0
- package/lib/hooks/useThemePreference.js +41 -0
- package/lib/hooks/useThemePreference.js.map +1 -0
- package/lib/icons/HalfCircle.d.ts +2 -0
- package/lib/icons/HalfCircle.js +5 -0
- package/lib/icons/HalfCircle.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/colorScheme.d.ts +2 -0
- package/lib/utils/colorScheme.js +12 -0
- package/lib/utils/colorScheme.js.map +1 -1
- package/package.json +1 -1
package/lib/components/Modal.js
CHANGED
|
@@ -36,7 +36,7 @@ const intentActionColor = {
|
|
|
36
36
|
* ReactNode to fully replace it, or `hideActions` / no `helperLink` to drop pieces.
|
|
37
37
|
* - Underlying page is blocked by an overlay; click overlay or press Esc to close (when `closable`).
|
|
38
38
|
*/
|
|
39
|
-
export const Modal = ({ 'data-test': dataTest = 'modal', actions, hideActions = false, hideHeader = false, hideFooter = false, autoFocus = true, children, className, closable = true, showCloseButton = true, bodyClassName, headerClassName, contentClassName, footerClassName, icon, iconAriaLabel, onClose, overlayClassName, cancelLabel = 'Cancel', title, description, eyebrow, intent = 'action', helperLink, header, footer, ...rest }) => {
|
|
39
|
+
export const Modal = ({ 'data-test': dataTest = 'modal', actions, hideActions = false, hideHeader = false, hideFooter = false, autoFocus = true, children, className, closable = true, showCloseButton = true, bodyClassName, headerClassName, contentClassName, footerClassName, closeBtnClassName, icon, iconAriaLabel, onClose, overlayClassName, cancelLabel = 'Cancel', title, description, eyebrow, intent = 'action', helperLink, header, footer, ...rest }) => {
|
|
40
40
|
var _a, _b;
|
|
41
41
|
const shouldAutoFocusCancelButton = useMemo(() => autoFocus && !(actions === null || actions === void 0 ? void 0 : actions.some((action) => action === null || action === void 0 ? void 0 : action.autoFocus)), [autoFocus, actions]);
|
|
42
42
|
const hasIcon = !!(icon && iconAriaLabel);
|
|
@@ -49,7 +49,7 @@ export const Modal = ({ 'data-test': dataTest = 'modal', actions, hideActions =
|
|
|
49
49
|
const renderFooter = !hideFooter && (hasCustomFooter || hasStructuredFooter);
|
|
50
50
|
const renderClose = closable && showCloseButton;
|
|
51
51
|
return (React.createElement(ReactModal, { portalClassName: styles.portal, className: cn(styles.modal, intent !== 'action' && intentClass[intent], className), contentLabel: title, onRequestClose: onClose, overlayClassName: cn(styles.overlay, overlayClassName), shouldCloseOnEsc: closable, shouldCloseOnOverlayClick: closable, shouldFocusAfterRender: false, shouldReturnFocusAfterClose: true, ...rest },
|
|
52
|
-
renderClose && (React.createElement("button", { type: "button", "data-test": `${dataTest}-button-close`, className: styles.close, "aria-label": "Close icon", onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e) },
|
|
52
|
+
renderClose && (React.createElement("button", { type: "button", "data-test": `${dataTest}-button-close`, className: cn(styles.close, closeBtnClassName), "aria-label": "Close icon", onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e) },
|
|
53
53
|
React.createElement(X, { size: 16, "aria-hidden": true }))),
|
|
54
54
|
renderHeader &&
|
|
55
55
|
(hasCustomHeader ? (React.createElement("div", { "data-test": "modal-header", className: headerClassName }, header)) : (React.createElement("div", { "data-test": "modal-header", className: cn(styles.header, headerClassName) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/components/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+B,OAAO,EAAwB,MAAM,OAAO,CAAA;AACzF,OAAO,UAAwC,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG/C,OAAO,EAAE,MAAM,EAAsC,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAExC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAEvC,8CAA8C;AAC9C,wBAAwB;AACxB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAgC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/components/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ThemePreference } from '../utils/colorScheme';
|
|
3
|
+
export interface ThemeSwitcherProps {
|
|
4
|
+
value: ThemePreference;
|
|
5
|
+
onChange: (preference: ThemePreference) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
'aria-label'?: string;
|
|
9
|
+
'data-test'?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const ThemeSwitcher: ({ value, onChange, disabled, className, "aria-label": ariaLabel, "data-test": dataTest, }: ThemeSwitcherProps) => React.JSX.Element;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React, { useEffect, useId, useRef, useState } from 'react';
|
|
2
|
+
import { Check, Moon, Sun } from 'react-feather';
|
|
3
|
+
import cn from 'classnames';
|
|
4
|
+
import { Icon } from './Icon';
|
|
5
|
+
import { Popover } from './Popover';
|
|
6
|
+
import { HalfCircle } from '../icons/HalfCircle';
|
|
7
|
+
import styles from './ThemeSwitcher.module.css';
|
|
8
|
+
const options = [
|
|
9
|
+
{ value: 'light', label: 'Light', icon: Sun },
|
|
10
|
+
{ value: 'dark', label: 'Dark', icon: Moon },
|
|
11
|
+
{ value: 'system', label: 'System', icon: HalfCircle },
|
|
12
|
+
];
|
|
13
|
+
export const ThemeSwitcher = ({ value, onChange, disabled = false, className, 'aria-label': ariaLabel = 'Color theme', 'data-test': dataTest = 'theme-switcher', }) => {
|
|
14
|
+
var _a;
|
|
15
|
+
const [open, setOpen] = useState(false);
|
|
16
|
+
const trigger = useRef(null);
|
|
17
|
+
const items = useRef([]);
|
|
18
|
+
const initialFocus = useRef(0);
|
|
19
|
+
const menuId = useId();
|
|
20
|
+
const selected = (_a = options.find((option) => option.value === value)) !== null && _a !== void 0 ? _a : options[0];
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (open && !disabled)
|
|
24
|
+
(_a = items.current[initialFocus.current]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
25
|
+
}, [open, disabled]);
|
|
26
|
+
const close = () => setOpen(false);
|
|
27
|
+
const show = (index) => {
|
|
28
|
+
initialFocus.current = index;
|
|
29
|
+
setOpen(true);
|
|
30
|
+
};
|
|
31
|
+
const select = (preference) => {
|
|
32
|
+
var _a;
|
|
33
|
+
close();
|
|
34
|
+
(_a = trigger.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
35
|
+
onChange(preference);
|
|
36
|
+
};
|
|
37
|
+
const onMenuKeyDown = (event) => {
|
|
38
|
+
var _a, _b, _c;
|
|
39
|
+
const index = items.current.findIndex((item) => item === document.activeElement);
|
|
40
|
+
let nextIndex;
|
|
41
|
+
switch (event.key) {
|
|
42
|
+
case 'ArrowDown':
|
|
43
|
+
nextIndex = (index + 1) % options.length;
|
|
44
|
+
break;
|
|
45
|
+
case 'ArrowUp':
|
|
46
|
+
nextIndex = (index + options.length - 1) % options.length;
|
|
47
|
+
break;
|
|
48
|
+
case 'Home':
|
|
49
|
+
nextIndex = 0;
|
|
50
|
+
break;
|
|
51
|
+
case 'End':
|
|
52
|
+
nextIndex = options.length - 1;
|
|
53
|
+
break;
|
|
54
|
+
case 'Escape':
|
|
55
|
+
event.stopPropagation();
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
close();
|
|
58
|
+
(_a = trigger.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
59
|
+
return;
|
|
60
|
+
case 'Tab':
|
|
61
|
+
close();
|
|
62
|
+
(_b = trigger.current) === null || _b === void 0 ? void 0 : _b.focus();
|
|
63
|
+
return;
|
|
64
|
+
default:
|
|
65
|
+
nextIndex = options.findIndex((option) => option.label.toLowerCase().startsWith(event.key.toLowerCase()));
|
|
66
|
+
if (nextIndex < 0 || event.key.length !== 1)
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
(_c = items.current[nextIndex]) === null || _c === void 0 ? void 0 : _c.focus();
|
|
71
|
+
};
|
|
72
|
+
return (React.createElement(React.Fragment, null,
|
|
73
|
+
React.createElement("button", { ref: trigger, type: "button", className: cn(styles.trigger, className), "aria-label": `${ariaLabel}: ${selected.label}`, title: `${ariaLabel}: ${selected.label}`, "aria-haspopup": "menu", "aria-expanded": open && !disabled, "aria-controls": open && !disabled ? menuId : undefined, disabled: disabled, "data-test": dataTest, onClick: () => (open ? close() : show(options.indexOf(selected))), onKeyDown: (event) => {
|
|
74
|
+
if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp')
|
|
75
|
+
return;
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
show(event.key === 'ArrowDown' ? 0 : options.length - 1);
|
|
78
|
+
} },
|
|
79
|
+
React.createElement(Icon, { icon: selected.icon, size: "smallMedium", ariaHidden: true })),
|
|
80
|
+
React.createElement(Popover, { open: open && !disabled, anchorElement: trigger.current, onClose: close, offset: 4, className: styles.popover },
|
|
81
|
+
React.createElement("div", { id: menuId, role: "menu", "aria-label": ariaLabel, onKeyDown: onMenuKeyDown, onMouseDown: (event) => event.stopPropagation(), onTouchStart: (event) => event.stopPropagation() }, options.map((option, index) => (React.createElement("button", { key: option.value, ref: (element) => {
|
|
82
|
+
items.current[index] = element;
|
|
83
|
+
}, type: "button", role: "menuitemradio", "aria-checked": value === option.value, tabIndex: -1, className: styles.option, onClick: () => select(option.value) },
|
|
84
|
+
React.createElement(Icon, { icon: option.icon, size: "small", ariaHidden: true }),
|
|
85
|
+
React.createElement("span", null, option.label),
|
|
86
|
+
React.createElement("span", { className: styles.check }, value === option.value && React.createElement(Icon, { icon: Check, size: "small", ariaHidden: true })))))))));
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=ThemeSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeSwitcher.js","sourceRoot":"","sources":["../../src/components/ThemeSwitcher.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
.trigger {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
width: calc(var(--hive-grid) * 9);
|
|
6
|
+
height: calc(var(--hive-grid) * 9);
|
|
7
|
+
padding: 0;
|
|
8
|
+
border: none;
|
|
9
|
+
border-radius: var(--hive-border-radius);
|
|
10
|
+
background: transparent;
|
|
11
|
+
color: var(--hive-color-text-v4);
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.trigger:hover,
|
|
16
|
+
.trigger[aria-expanded='true'],
|
|
17
|
+
.option:hover {
|
|
18
|
+
background: var(--hive-color-surface-hover-v4);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.trigger:focus-visible,
|
|
22
|
+
.option:focus-visible {
|
|
23
|
+
outline: var(--hive-outline-width) solid var(--hive-color-primary-v4);
|
|
24
|
+
outline-offset: -2px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.trigger:disabled {
|
|
28
|
+
opacity: 0.5;
|
|
29
|
+
cursor: not-allowed;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.popover {
|
|
33
|
+
padding: var(--hive-grid);
|
|
34
|
+
border: var(--hive-border-width) solid var(--hive-color-border-v4);
|
|
35
|
+
border-radius: var(--hive-border-radius);
|
|
36
|
+
z-index: var(--hive-z-index-2000);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.option {
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
gap: calc(var(--hive-grid) * 3);
|
|
43
|
+
width: 100%;
|
|
44
|
+
min-width: calc(var(--hive-grid) * 40);
|
|
45
|
+
height: calc(var(--hive-grid) * 9);
|
|
46
|
+
padding: 0 calc(var(--hive-grid) * 3);
|
|
47
|
+
border: none;
|
|
48
|
+
border-radius: var(--hive-grid);
|
|
49
|
+
background: transparent;
|
|
50
|
+
color: var(--hive-color-text-v4);
|
|
51
|
+
font-family: var(--hive-font-family-text);
|
|
52
|
+
font-size: var(--hive-font-size-body-small);
|
|
53
|
+
text-align: left;
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.check {
|
|
58
|
+
display: flex;
|
|
59
|
+
width: var(--hive-icon-size-small);
|
|
60
|
+
margin-left: auto;
|
|
61
|
+
}
|
package/lib/hooks/index.d.ts
CHANGED
|
@@ -5,3 +5,5 @@ export { useOpenCloseState } from './useOpenCloseState';
|
|
|
5
5
|
export * from './usePersistedState';
|
|
6
6
|
export { applyColorScheme, COLOR_SCHEME_STORAGE_KEY, getColorSchemeBootstrapScript, getSystemColorScheme, initializeColorScheme, useColorScheme, } from './useColorScheme';
|
|
7
7
|
export type { ColorScheme } from './useColorScheme';
|
|
8
|
+
export { useThemePreference } from './useThemePreference';
|
|
9
|
+
export type { ThemePreference } from '../utils/colorScheme';
|
package/lib/hooks/index.js
CHANGED
|
@@ -5,4 +5,5 @@ export { useRefValue } from './useRefValue';
|
|
|
5
5
|
export { useOpenCloseState } from './useOpenCloseState';
|
|
6
6
|
export * from './usePersistedState';
|
|
7
7
|
export { applyColorScheme, COLOR_SCHEME_STORAGE_KEY, getColorSchemeBootstrapScript, getSystemColorScheme, initializeColorScheme, useColorScheme, } from './useColorScheme';
|
|
8
|
+
export { useThemePreference } from './useThemePreference';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { COLOR_SCHEME_STORAGE_KEY, getSystemColorScheme } from '../utils/colorScheme';
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { useThemePreference } from './useThemePreference';
|
|
4
3
|
export { COLOR_SCHEME_STORAGE_KEY, getColorSchemeBootstrapScript, getSystemColorScheme, initializeColorScheme } from '../utils/colorScheme';
|
|
5
|
-
const usePersistedColorScheme = createPersistedState(COLOR_SCHEME_STORAGE_KEY);
|
|
6
4
|
export const applyColorScheme = (scheme) => {
|
|
7
5
|
document.documentElement.style.colorScheme = scheme;
|
|
8
6
|
};
|
|
9
7
|
/** First visit follows the OS; once the user picks a scheme it is stored and wins from then on. */
|
|
10
8
|
export const useColorScheme = () => {
|
|
11
|
-
const
|
|
12
|
-
const
|
|
9
|
+
const { scheme, setPreference } = useThemePreference();
|
|
10
|
+
const currentScheme = useRef(scheme);
|
|
11
|
+
currentScheme.current = scheme;
|
|
13
12
|
const setScheme = (nextScheme) => {
|
|
14
|
-
const nextValue = typeof nextScheme === 'function' ? nextScheme(
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const nextValue = typeof nextScheme === 'function' ? nextScheme(currentScheme.current) : nextScheme;
|
|
14
|
+
currentScheme.current = nextValue;
|
|
15
|
+
setPreference(nextValue);
|
|
17
16
|
};
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
applyColorScheme(scheme);
|
|
20
|
-
}, [scheme]);
|
|
21
17
|
return [scheme, setScheme];
|
|
22
18
|
};
|
|
23
19
|
//# sourceMappingURL=useColorScheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/hooks/useColorScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,
|
|
1
|
+
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/hooks/useColorScheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,MAAM,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG3I,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAE,EAAE;IACtD,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAA;AACrD,CAAC,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IACpC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAA;IAE9B,MAAM,SAAS,GAA0C,CAAC,UAAU,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QACnG,aAAa,CAAC,OAAO,GAAG,SAAS,CAAA;QACjC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,SAAS,CAAU,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ThemePreference } from '../utils/colorScheme';
|
|
2
|
+
export declare const useThemePreference: () => {
|
|
3
|
+
readonly preference: ThemePreference;
|
|
4
|
+
readonly scheme: import("../utils/colorScheme").ColorScheme;
|
|
5
|
+
readonly setPreference: (nextPreference: ThemePreference) => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { COLOR_SCHEME_STORAGE_KEY, getSystemColorScheme, getThemePreference } from '../utils/colorScheme';
|
|
3
|
+
export const useThemePreference = () => {
|
|
4
|
+
const [preference, setPreferenceState] = useState(getThemePreference);
|
|
5
|
+
const [systemScheme, setSystemScheme] = useState(getSystemColorScheme);
|
|
6
|
+
const currentPreference = useRef(preference);
|
|
7
|
+
const scheme = preference === 'system' ? systemScheme : preference;
|
|
8
|
+
const setPreference = (nextPreference) => {
|
|
9
|
+
currentPreference.current = nextPreference;
|
|
10
|
+
const nextSystemScheme = getSystemColorScheme();
|
|
11
|
+
document.documentElement.style.colorScheme = nextPreference === 'system' ? nextSystemScheme : nextPreference;
|
|
12
|
+
setSystemScheme(nextSystemScheme);
|
|
13
|
+
setPreferenceState(nextPreference);
|
|
14
|
+
try {
|
|
15
|
+
window.localStorage.setItem(COLOR_SCHEME_STORAGE_KEY, JSON.stringify(nextPreference));
|
|
16
|
+
}
|
|
17
|
+
catch (_a) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
document.documentElement.style.colorScheme = scheme;
|
|
23
|
+
}, [scheme]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const media = (_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, '(prefers-color-scheme: dark)');
|
|
27
|
+
if (!media)
|
|
28
|
+
return;
|
|
29
|
+
const updateSystemScheme = () => {
|
|
30
|
+
const nextScheme = media.matches ? 'dark' : 'light';
|
|
31
|
+
setSystemScheme(nextScheme);
|
|
32
|
+
if (currentPreference.current === 'system')
|
|
33
|
+
document.documentElement.style.colorScheme = nextScheme;
|
|
34
|
+
};
|
|
35
|
+
updateSystemScheme();
|
|
36
|
+
(_b = media.addEventListener) === null || _b === void 0 ? void 0 : _b.call(media, 'change', updateSystemScheme);
|
|
37
|
+
return () => { var _a; return (_a = media.removeEventListener) === null || _a === void 0 ? void 0 : _a.call(media, 'change', updateSystemScheme); };
|
|
38
|
+
}, []);
|
|
39
|
+
return { preference, scheme, setPreference };
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useThemePreference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemePreference.js","sourceRoot":"","sources":["../../src/hooks/useThemePreference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAA;AAE/H,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IACtE,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAA;IAElE,MAAM,aAAa,GAAG,CAAC,cAA+B,EAAE,EAAE;QACxD,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAA;QAC1C,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAA;QAC/C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAA;QAC5G,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACjC,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;QACvF,CAAC;QAAC,WAAM,CAAC;YACP,OAAM;QACR,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAA;IACrD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,SAAS,CAAC,GAAG,EAAE;;QACb,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,UAAU,uDAAG,8BAA8B,CAAC,CAAA;QACjE,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;YACnD,eAAe,CAAC,UAAU,CAAC,CAAA;YAC3B,IAAI,iBAAiB,CAAC,OAAO,KAAK,QAAQ;gBAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAA;QACrG,CAAC,CAAA;QACD,kBAAkB,EAAE,CAAA;QACpB,MAAA,KAAK,CAAC,gBAAgB,sDAAG,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QACtD,OAAO,GAAG,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,mBAAmB,sDAAG,QAAQ,EAAE,kBAAkB,CAAC,CAAA,EAAA,CAAA;IACxE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAW,CAAA;AACvD,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export const HalfCircle = ({ width = 24, height = 24, strokeWidth = 1.5, ...rest }) => (React.createElement("svg", { width: width, height: height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest },
|
|
3
|
+
React.createElement("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeWidth: strokeWidth }),
|
|
4
|
+
React.createElement("path", { d: "M12 3a9 9 0 0 0 0 18V3Z", fill: "currentColor" })));
|
|
5
|
+
//# sourceMappingURL=HalfCircle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HalfCircle.js","sourceRoot":"","sources":["../../src/icons/HalfCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAkC,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACpH,6BAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,KAAK,IAAI;IAC5G,gCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,WAAW,GAAI;IAChF,8BAAM,CAAC,EAAC,yBAAyB,EAAC,IAAI,EAAC,cAAc,GAAG,CACpD,CACP,CAAA"}
|
package/lib/index.d.ts
CHANGED
|
@@ -52,6 +52,10 @@ export { Toggle } from './components/Toggle';
|
|
|
52
52
|
export { ToggleFormik } from './components/ToggleFormik';
|
|
53
53
|
export { Tooltip } from './components/Tooltip';
|
|
54
54
|
export { TruncatedText } from './components/TruncatedText';
|
|
55
|
+
export { ThemeSwitcher } from './components/ThemeSwitcher';
|
|
56
|
+
export type { ThemeSwitcherProps } from './components/ThemeSwitcher';
|
|
57
|
+
export { useThemePreference } from './hooks';
|
|
58
|
+
export type { ThemePreference } from './hooks';
|
|
55
59
|
export { useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement, applyColorScheme, COLOR_SCHEME_STORAGE_KEY, getColorSchemeBootstrapScript, getSystemColorScheme, initializeColorScheme, useColorScheme, } from './hooks';
|
|
56
60
|
export type { ColorScheme } from './hooks';
|
|
57
61
|
export { Cluster } from './icons/Cluster';
|
package/lib/index.js
CHANGED
|
@@ -51,6 +51,8 @@ export { Toggle } from './components/Toggle';
|
|
|
51
51
|
export { ToggleFormik } from './components/ToggleFormik';
|
|
52
52
|
export { Tooltip } from './components/Tooltip';
|
|
53
53
|
export { TruncatedText } from './components/TruncatedText';
|
|
54
|
+
export { ThemeSwitcher } from './components/ThemeSwitcher';
|
|
55
|
+
export { useThemePreference } from './hooks';
|
|
54
56
|
export { useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement, applyColorScheme, COLOR_SCHEME_STORAGE_KEY, getColorSchemeBootstrapScript, getSystemColorScheme, initializeColorScheme, useColorScheme, } from './hooks';
|
|
55
57
|
// icons
|
|
56
58
|
export { Cluster } from './icons/Cluster';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export type ColorScheme = 'light' | 'dark';
|
|
2
|
+
export type ThemePreference = ColorScheme | 'system';
|
|
2
3
|
export declare const COLOR_SCHEME_STORAGE_KEY = "hive-color-scheme";
|
|
3
4
|
export declare const getSystemColorScheme: () => ColorScheme;
|
|
5
|
+
export declare const getThemePreference: () => ThemePreference;
|
|
4
6
|
export declare const initializeColorScheme: () => ColorScheme;
|
|
5
7
|
export declare const getColorSchemeBootstrapScript: () => string;
|
package/lib/utils/colorScheme.js
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
export const COLOR_SCHEME_STORAGE_KEY = 'hive-color-scheme';
|
|
2
2
|
export const getSystemColorScheme = () => { var _a; return typeof window !== 'undefined' && ((_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, '(prefers-color-scheme: dark)').matches) ? 'dark' : 'light'; };
|
|
3
|
+
export const getThemePreference = () => {
|
|
4
|
+
var _a;
|
|
5
|
+
try {
|
|
6
|
+
const stored = JSON.parse((_a = window.localStorage.getItem(COLOR_SCHEME_STORAGE_KEY)) !== null && _a !== void 0 ? _a : 'null');
|
|
7
|
+
if (stored === 'light' || stored === 'dark' || stored === 'system')
|
|
8
|
+
return stored;
|
|
9
|
+
}
|
|
10
|
+
catch (_b) {
|
|
11
|
+
return 'system';
|
|
12
|
+
}
|
|
13
|
+
return 'system';
|
|
14
|
+
};
|
|
3
15
|
const initializeColorSchemeForKey = (storageKey) => {
|
|
4
16
|
var _a, _b;
|
|
5
17
|
let storedScheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorScheme.js","sourceRoot":"","sources":["../../src/utils/colorScheme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"colorScheme.js","sourceRoot":"","sources":["../../src/utils/colorScheme.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAA;AAE3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAgB,EAAE,WACpD,OAAA,OAAO,MAAM,KAAK,WAAW,KAAI,MAAA,MAAM,CAAC,UAAU,uDAAG,8BAA8B,EAAE,OAAO,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA,EAAA,CAAA;AAEjH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAoB,EAAE;;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,mCAAI,MAAM,CAAC,CAAA;QACnG,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAA;IACnF,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,UAAkB,EAAe,EAAE;;IACtE,IAAI,YAAqB,CAAA;IAEzB,IAAI,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,mCAAI,MAAM,CAAY,CAAA;IACzF,CAAC;IAAC,WAAM,CAAC;QACP,YAAY,GAAG,SAAS,CAAA;IAC1B,CAAC;IAED,IAAI,MAAM,GAAgB,OAAO,CAAA;IACjC,IAAI,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,GAAG,YAAY,CAAA;IACvB,CAAC;SAAM,IAAI,MAAA,MAAM,CAAC,UAAU,uDAAG,8BAA8B,EAAE,OAAO,EAAE,CAAC;QACvE,MAAM,GAAG,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAA;IACnD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAgB,EAAE,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,CAAA;AAE7G,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAW,EAAE,CACxD,IAAI,2BAA2B,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAA"}
|