@mindlogic-ai/logician-ui 5.0.0-alpha.24 → 5.0.0-alpha.26
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/components/Switch/SwitchControl.d.ts.map +1 -1
- package/dist/components/Switch/SwitchControl.js +23 -11
- package/dist/components/Switch/SwitchControl.js.map +1 -1
- package/dist/components/Switch/SwitchControl.mjs +24 -12
- package/dist/components/Switch/SwitchControl.mjs.map +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +5 -1
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.mjs +5 -1
- package/dist/components/Toast/Toast.mjs.map +1 -1
- package/dist/components/Toast/Toast.styles.d.ts +6 -2
- package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
- package/dist/components/Toast/Toast.styles.js +8 -3
- package/dist/components/Toast/Toast.styles.js.map +1 -1
- package/dist/components/Toast/Toast.styles.mjs +8 -3
- package/dist/components/Toast/Toast.styles.mjs.map +1 -1
- package/dist/theme/palette.generated.d.ts +16 -16
- package/dist/theme/palette.generated.js +16 -16
- package/dist/theme/palette.generated.mjs +16 -16
- package/package.json +1 -1
- package/src/components/Switch/Switch.stories.tsx +13 -5
- package/src/components/Switch/Switch.usage.mdx +5 -4
- package/src/components/Switch/SwitchControl.tsx +29 -15
- package/src/components/Toast/Toast.styles.ts +8 -3
- package/src/components/Toast/Toast.tsx +8 -1
- package/src/components/Toast/Toast.usage.mdx +2 -2
- package/src/theme/palette.generated.ts +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchControl.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/SwitchControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAsB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SwitchControl.d.ts","sourceRoot":"","sources":["../../../src/components/Switch/SwitchControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAS9E,eAAO,MAAM,aAAa,uHA4CzB,CAAC"}
|
|
@@ -7,13 +7,26 @@ var react = require('@chakra-ui/react');
|
|
|
7
7
|
var disabledControl = require('../../utils/disabledControl.js');
|
|
8
8
|
var focusRing = require('../../utils/focusRing.js');
|
|
9
9
|
|
|
10
|
+
// Drawn as an inset shadow, not a border, so the thumb's travel and the
|
|
11
|
+
// track's size stay exactly what Chakra's recipe computes.
|
|
12
|
+
const OFF_OUTLINE = 'inset 0 0 0 1px var(--chakra-colors-border-control)';
|
|
10
13
|
const SwitchControl = React.forwardRef((props, ref) => (jsxRuntime.jsx(react.Switch.Control, { ref: ref,
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
|
|
14
|
+
// Off is drawn the way an unchecked Checkbox is: a bg.surface track with a
|
|
15
|
+
// border.control outline and a border.control thumb, each at least 3:1
|
|
16
|
+
// against what it sits on (WCAG 1.4.11). The previous off state, a
|
|
17
|
+
// bg.track fill with a bg.surface thumb, measured 1.3:1 (light) and
|
|
18
|
+
// 1.4:1 (dark) between thumb and track, so the thumb's position, the only
|
|
19
|
+
// thing that tells off from on, could not be seen.
|
|
20
|
+
// On is success.solid with a success.onSolid thumb. With a black (light) or
|
|
21
|
+
// pale (dark) primary fill, neither state carried colour, and dark-mode
|
|
22
|
+
// "on" read as light-mode "off"; green gives both modes one meaning.
|
|
23
|
+
bg: "bg.surface", boxShadow: OFF_OUTLINE, _checked: { bg: 'success.solid', boxShadow: 'none' }, animationStyle: "feedback", transitionProperty: "background-color, box-shadow", _disabled: { ...disabledControl.disabledControl, cursor: 'not-allowed' }, ...focusRing.focusRing,
|
|
24
|
+
// focusRing's shadow would replace the outline; keep both while off.
|
|
25
|
+
_focusVisible: {
|
|
26
|
+
...focusRing.focusRing._focusVisible,
|
|
27
|
+
boxShadow: `${OFF_OUTLINE}, ${focusRing.FOCUS_RING_SHADOW}`,
|
|
28
|
+
_checked: { boxShadow: focusRing.FOCUS_RING_SHADOW },
|
|
29
|
+
}, ...props, children: jsxRuntime.jsx(react.Switch.Thumb
|
|
17
30
|
// A toggle is the metaphor of a physical switch, so the thumb settles
|
|
18
31
|
// slightly past its stop rather than easing to a halt. Chakra's default
|
|
19
32
|
// is `translate` over `fast` on a plain curve; `overshoot` is the one
|
|
@@ -26,11 +39,10 @@ const SwitchControl = React.forwardRef((props, ref) => (jsxRuntime.jsx(react.Swi
|
|
|
26
39
|
// curve that stays legible over the thumb's ~16px of travel, because it
|
|
27
40
|
// reverses direction — `standard` vs `emphasized` would not.
|
|
28
41
|
animationStyle: "spring", transitionProperty: "translate",
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
bg: "bg.surface", _checked: { bg: 'fg.onPrimary' } }) })));
|
|
42
|
+
// Off: border.control, the same 3:1 control token as the outline.
|
|
43
|
+
// On: success.onSolid, the text colour success buttons put on the same
|
|
44
|
+
// fill (white in light, ink in dark).
|
|
45
|
+
bg: "border.control", _checked: { bg: 'success.onSolid' } }) })));
|
|
34
46
|
SwitchControl.displayName = 'Switch.Control';
|
|
35
47
|
|
|
36
48
|
exports.SwitchControl = SwitchControl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchControl.js","sources":["../../../src/components/Switch/SwitchControl.tsx"],"sourcesContent":[null],"names":["forwardRef","_jsx","ChakraSwitch","disabledControl","focusRing"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SwitchControl.js","sources":["../../../src/components/Switch/SwitchControl.tsx"],"sourcesContent":[null],"names":["forwardRef","_jsx","ChakraSwitch","disabledControl","focusRing","FOCUS_RING_SHADOW"],"mappings":";;;;;;;;;AAMA;AACA;AACA,MAAM,WAAW,GAAG,qDAAqD;MAE5D,aAAa,GAAGA,gBAAU,CACrC,CAAC,KAAK,EAAE,GAAG,MACTC,cAAA,CAACC,YAAY,CAAC,OAAO,EAAA,EACnB,GAAG,EAAE,GAAG;;;;;;;;;;AAUR,IAAA,EAAE,EAAC,YAAY,EACf,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,EACpD,cAAc,EAAC,UAAU,EACzB,kBAAkB,EAAC,8BAA8B,EACjD,SAAS,EAAE,EAAE,GAAGC,+BAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KACpDC,mBAAS;;AAEb,IAAA,aAAa,EAAE;QACb,GAAGA,mBAAS,CAAC,aAAa;AAC1B,QAAA,SAAS,EAAE,CAAA,EAAG,WAAW,CAAA,EAAA,EAAKC,2BAAiB,CAAA,CAAE;AACjD,QAAA,QAAQ,EAAE,EAAE,SAAS,EAAEA,2BAAiB,EAAE;AAC3C,KAAA,EAAA,GACG,KAAK,EAAA,QAAA,EAETJ,cAAA,CAACC,YAAY,CAAC;;;;;;;;;;;;AAMZ,QAAA,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,WAAW;;;;AAI9B,QAAA,EAAE,EAAC,gBAAgB,EACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAA,CACnC,EAAA,CACmB,CACxB;AAEH,aAAa,CAAC,WAAW,GAAG,gBAAgB;;;;"}
|
|
@@ -3,15 +3,28 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { Switch } from '@chakra-ui/react';
|
|
5
5
|
import { disabledControl } from '../../utils/disabledControl.mjs';
|
|
6
|
-
import { focusRing } from '../../utils/focusRing.mjs';
|
|
6
|
+
import { FOCUS_RING_SHADOW, focusRing } from '../../utils/focusRing.mjs';
|
|
7
7
|
|
|
8
|
+
// Drawn as an inset shadow, not a border, so the thumb's travel and the
|
|
9
|
+
// track's size stay exactly what Chakra's recipe computes.
|
|
10
|
+
const OFF_OUTLINE = 'inset 0 0 0 1px var(--chakra-colors-border-control)';
|
|
8
11
|
const SwitchControl = forwardRef((props, ref) => (jsx(Switch.Control, { ref: ref,
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
|
|
12
|
+
// Off is drawn the way an unchecked Checkbox is: a bg.surface track with a
|
|
13
|
+
// border.control outline and a border.control thumb, each at least 3:1
|
|
14
|
+
// against what it sits on (WCAG 1.4.11). The previous off state, a
|
|
15
|
+
// bg.track fill with a bg.surface thumb, measured 1.3:1 (light) and
|
|
16
|
+
// 1.4:1 (dark) between thumb and track, so the thumb's position, the only
|
|
17
|
+
// thing that tells off from on, could not be seen.
|
|
18
|
+
// On is success.solid with a success.onSolid thumb. With a black (light) or
|
|
19
|
+
// pale (dark) primary fill, neither state carried colour, and dark-mode
|
|
20
|
+
// "on" read as light-mode "off"; green gives both modes one meaning.
|
|
21
|
+
bg: "bg.surface", boxShadow: OFF_OUTLINE, _checked: { bg: 'success.solid', boxShadow: 'none' }, animationStyle: "feedback", transitionProperty: "background-color, box-shadow", _disabled: { ...disabledControl, cursor: 'not-allowed' }, ...focusRing,
|
|
22
|
+
// focusRing's shadow would replace the outline; keep both while off.
|
|
23
|
+
_focusVisible: {
|
|
24
|
+
...focusRing._focusVisible,
|
|
25
|
+
boxShadow: `${OFF_OUTLINE}, ${FOCUS_RING_SHADOW}`,
|
|
26
|
+
_checked: { boxShadow: FOCUS_RING_SHADOW },
|
|
27
|
+
}, ...props, children: jsx(Switch.Thumb
|
|
15
28
|
// A toggle is the metaphor of a physical switch, so the thumb settles
|
|
16
29
|
// slightly past its stop rather than easing to a halt. Chakra's default
|
|
17
30
|
// is `translate` over `fast` on a plain curve; `overshoot` is the one
|
|
@@ -24,11 +37,10 @@ const SwitchControl = forwardRef((props, ref) => (jsx(Switch.Control, { ref: ref
|
|
|
24
37
|
// curve that stays legible over the thumb's ~16px of travel, because it
|
|
25
38
|
// reverses direction — `standard` vs `emphasized` would not.
|
|
26
39
|
animationStyle: "spring", transitionProperty: "translate",
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
bg: "bg.surface", _checked: { bg: 'fg.onPrimary' } }) })));
|
|
40
|
+
// Off: border.control, the same 3:1 control token as the outline.
|
|
41
|
+
// On: success.onSolid, the text colour success buttons put on the same
|
|
42
|
+
// fill (white in light, ink in dark).
|
|
43
|
+
bg: "border.control", _checked: { bg: 'success.onSolid' } }) })));
|
|
32
44
|
SwitchControl.displayName = 'Switch.Control';
|
|
33
45
|
|
|
34
46
|
export { SwitchControl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchControl.mjs","sources":["../../../src/components/Switch/SwitchControl.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraSwitch"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"SwitchControl.mjs","sources":["../../../src/components/Switch/SwitchControl.tsx"],"sourcesContent":[null],"names":["_jsx","ChakraSwitch"],"mappings":";;;;;;;AAMA;AACA;AACA,MAAM,WAAW,GAAG,qDAAqD;MAE5D,aAAa,GAAG,UAAU,CACrC,CAAC,KAAK,EAAE,GAAG,MACTA,GAAA,CAACC,MAAY,CAAC,OAAO,EAAA,EACnB,GAAG,EAAE,GAAG;;;;;;;;;;AAUR,IAAA,EAAE,EAAC,YAAY,EACf,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,EACpD,cAAc,EAAC,UAAU,EACzB,kBAAkB,EAAC,8BAA8B,EACjD,SAAS,EAAE,EAAE,GAAG,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,KACpD,SAAS;;AAEb,IAAA,aAAa,EAAE;QACb,GAAG,SAAS,CAAC,aAAa;AAC1B,QAAA,SAAS,EAAE,CAAA,EAAG,WAAW,CAAA,EAAA,EAAK,iBAAiB,CAAA,CAAE;AACjD,QAAA,QAAQ,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;AAC3C,KAAA,EAAA,GACG,KAAK,EAAA,QAAA,EAETD,GAAA,CAACC,MAAY,CAAC;;;;;;;;;;;;AAMZ,QAAA,cAAc,EAAC,QAAQ,EACvB,kBAAkB,EAAC,WAAW;;;;AAI9B,QAAA,EAAE,EAAC,gBAAgB,EACnB,QAAQ,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAA,CACnC,EAAA,CACmB,CACxB;AAEH,aAAa,CAAC,WAAW,GAAG,gBAAgB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,0DAOnB,UAAU,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,0DAOnB,UAAU,4CA8CZ,CAAC"}
|
|
@@ -16,7 +16,11 @@ var ToastIcon = require('./ToastIcon/ToastIcon.js');
|
|
|
16
16
|
* color, aligned with the text column. Don't put a `<Button>` in
|
|
17
17
|
* `description` — use `action`.
|
|
18
18
|
*/
|
|
19
|
-
const Toast = ({ title, description, status = 'neutral', onClose, action, ...rest }) => (jsxRuntime.jsxs(react.Toast.Root, { width: { md: 'sm' }, borderWidth: "1px", borderRadius: "md", boxShadow: "lg", pointerEvents: "auto", ...rest, children: [jsxRuntime.jsxs(react.Flex, { align: "center", gap: 2, children: [jsxRuntime.jsx(ToastIcon.ToastIcon, { status: status }), jsxRuntime.jsxs(react.Stack, { gap: 1, flex: 1, maxWidth: "100%", children: [title && (jsxRuntime.jsx(react.Toast.Title, { fontWeight: "bold", fontSize: "h5", children: title })), description && (
|
|
19
|
+
const Toast = ({ title, description, status = 'neutral', onClose, action, ...rest }) => (jsxRuntime.jsxs(react.Toast.Root, { width: { md: 'sm' }, borderWidth: "1px", borderRadius: "md", boxShadow: "lg", pointerEvents: "auto", ...rest, children: [jsxRuntime.jsxs(react.Flex, { align: "center", gap: 2, children: [jsxRuntime.jsx(ToastIcon.ToastIcon, { status: status }), jsxRuntime.jsxs(react.Stack, { gap: 1, flex: 1, maxWidth: "100%", children: [title && (jsxRuntime.jsx(react.Toast.Title, { fontWeight: "bold", fontSize: "h5", children: title })), description && (
|
|
20
|
+
// Chakra's toast recipe fades the description to opacity 0.8. It is
|
|
21
|
+
// the only text in most toasts, so the fade dimmed every status and
|
|
22
|
+
// took the registered fg/bg pairs below their tested contrast.
|
|
23
|
+
jsxRuntime.jsx(react.Toast.Description, { color: "inherit", fontWeight: "semibold", opacity: 1, children: description })), action && (jsxRuntime.jsx(react.Toast.ActionTrigger, { onClick: action.onClick, ...Toast_styles.actionStyles[status], children: action.label }))] })] }), jsxRuntime.jsx(react.Toast.CloseTrigger, { onClick: onClose, cursor: "pointer", ...Toast_styles.closeButtonStyles[status] })] }));
|
|
20
24
|
|
|
21
25
|
exports.Toast = Toast;
|
|
22
26
|
//# sourceMappingURL=Toast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sources":["../../../src/components/Toast/Toast.tsx"],"sourcesContent":[null],"names":["_jsxs","ChakraToast","Flex","_jsx","ToastIcon","Stack","actionStyles","closeButtonStyles"],"mappings":";;;;;;;;AAMA;;;;;;;;;AASG;AACI,MAAM,KAAK,GAAG,CAAC,EACpB,KAAK,EACL,WAAW,EACX,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACI,MACXA,
|
|
1
|
+
{"version":3,"file":"Toast.js","sources":["../../../src/components/Toast/Toast.tsx"],"sourcesContent":[null],"names":["_jsxs","ChakraToast","Flex","_jsx","ToastIcon","Stack","actionStyles","closeButtonStyles"],"mappings":";;;;;;;;AAMA;;;;;;;;;AASG;AACI,MAAM,KAAK,GAAG,CAAC,EACpB,KAAK,EACL,WAAW,EACX,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACI,MACXA,eAAA,CAACC,WAAW,CAAC,IAAI,EAAA,EACf,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EACnB,WAAW,EAAC,KAAK,EACjB,YAAY,EAAC,IAAI,EACjB,SAAS,EAAC,IAAI,EACd,aAAa,EAAC,MAAM,EAAA,GAChB,IAAI,aAERD,eAAA,CAACE,UAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAAA,CAEzBC,cAAA,CAACC,mBAAS,IAAC,MAAM,EAAE,MAAM,EAAA,CAAI,EAC7BJ,eAAA,CAACK,WAAK,EAAA,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAA,QAAA,EAAA,CACpC,KAAK,KACJF,cAAA,CAACF,WAAW,CAAC,KAAK,EAAA,EAAC,UAAU,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAA,QAAA,EAC/C,KAAK,EAAA,CACY,CACrB,EACA,WAAW;;;;AAIV,wBAAAE,cAAA,CAACF,WAAW,CAAC,WAAW,EAAA,EACtB,KAAK,EAAC,SAAS,EACf,UAAU,EAAC,UAAU,EACrB,OAAO,EAAE,CAAC,EAAA,QAAA,EAET,WAAW,EAAA,CACY,CAC3B,EACA,MAAM,KACLE,cAAA,CAACF,WAAW,CAAC,aAAa,EAAA,EACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,GAClBK,yBAAY,CAAC,MAAM,CAAS,EAAA,QAAA,EAEhC,MAAM,CAAC,KAAK,EAAA,CACa,CAC7B,CAAA,EAAA,CACK,CAAA,EAAA,CACH,EACPH,cAAA,CAACF,WAAW,CAAC,YAAY,EAAA,EACvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,SAAS,EAAA,GACXM,8BAAiB,CAAC,MAAM,CAAS,EAAA,CACtC,CAAA,EAAA,CACe;;;;"}
|
|
@@ -14,7 +14,11 @@ import { ToastIcon } from './ToastIcon/ToastIcon.mjs';
|
|
|
14
14
|
* color, aligned with the text column. Don't put a `<Button>` in
|
|
15
15
|
* `description` — use `action`.
|
|
16
16
|
*/
|
|
17
|
-
const Toast = ({ title, description, status = 'neutral', onClose, action, ...rest }) => (jsxs(Toast$1.Root, { width: { md: 'sm' }, borderWidth: "1px", borderRadius: "md", boxShadow: "lg", pointerEvents: "auto", ...rest, children: [jsxs(Flex, { align: "center", gap: 2, children: [jsx(ToastIcon, { status: status }), jsxs(Stack, { gap: 1, flex: 1, maxWidth: "100%", children: [title && (jsx(Toast$1.Title, { fontWeight: "bold", fontSize: "h5", children: title })), description && (
|
|
17
|
+
const Toast = ({ title, description, status = 'neutral', onClose, action, ...rest }) => (jsxs(Toast$1.Root, { width: { md: 'sm' }, borderWidth: "1px", borderRadius: "md", boxShadow: "lg", pointerEvents: "auto", ...rest, children: [jsxs(Flex, { align: "center", gap: 2, children: [jsx(ToastIcon, { status: status }), jsxs(Stack, { gap: 1, flex: 1, maxWidth: "100%", children: [title && (jsx(Toast$1.Title, { fontWeight: "bold", fontSize: "h5", children: title })), description && (
|
|
18
|
+
// Chakra's toast recipe fades the description to opacity 0.8. It is
|
|
19
|
+
// the only text in most toasts, so the fade dimmed every status and
|
|
20
|
+
// took the registered fg/bg pairs below their tested contrast.
|
|
21
|
+
jsx(Toast$1.Description, { color: "inherit", fontWeight: "semibold", opacity: 1, children: description })), action && (jsx(Toast$1.ActionTrigger, { onClick: action.onClick, ...actionStyles[status], children: action.label }))] })] }), jsx(Toast$1.CloseTrigger, { onClick: onClose, cursor: "pointer", ...closeButtonStyles[status] })] }));
|
|
18
22
|
|
|
19
23
|
export { Toast };
|
|
20
24
|
//# sourceMappingURL=Toast.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.mjs","sources":["../../../src/components/Toast/Toast.tsx"],"sourcesContent":[null],"names":["_jsxs","ChakraToast","_jsx"],"mappings":";;;;;;AAMA;;;;;;;;;AASG;AACI,MAAM,KAAK,GAAG,CAAC,EACpB,KAAK,EACL,WAAW,EACX,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACI,MACXA,
|
|
1
|
+
{"version":3,"file":"Toast.mjs","sources":["../../../src/components/Toast/Toast.tsx"],"sourcesContent":[null],"names":["_jsxs","ChakraToast","_jsx"],"mappings":";;;;;;AAMA;;;;;;;;;AASG;AACI,MAAM,KAAK,GAAG,CAAC,EACpB,KAAK,EACL,WAAW,EACX,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACI,MACXA,IAAA,CAACC,OAAW,CAAC,IAAI,EAAA,EACf,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EACnB,WAAW,EAAC,KAAK,EACjB,YAAY,EAAC,IAAI,EACjB,SAAS,EAAC,IAAI,EACd,aAAa,EAAC,MAAM,EAAA,GAChB,IAAI,aAERD,IAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAAA,CAEzBE,GAAA,CAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAA,CAAI,EAC7BF,IAAA,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EAAA,QAAA,EAAA,CACpC,KAAK,KACJE,GAAA,CAACD,OAAW,CAAC,KAAK,EAAA,EAAC,UAAU,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAA,QAAA,EAC/C,KAAK,EAAA,CACY,CACrB,EACA,WAAW;;;;AAIV,wBAAAC,GAAA,CAACD,OAAW,CAAC,WAAW,EAAA,EACtB,KAAK,EAAC,SAAS,EACf,UAAU,EAAC,UAAU,EACrB,OAAO,EAAE,CAAC,EAAA,QAAA,EAET,WAAW,EAAA,CACY,CAC3B,EACA,MAAM,KACLC,GAAA,CAACD,OAAW,CAAC,aAAa,EAAA,EACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAA,GAClB,YAAY,CAAC,MAAM,CAAS,EAAA,QAAA,EAEhC,MAAM,CAAC,KAAK,EAAA,CACa,CAC7B,CAAA,EAAA,CACK,CAAA,EAAA,CACH,EACPC,GAAA,CAACD,OAAW,CAAC,YAAY,EAAA,EACvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,SAAS,EAAA,GACX,iBAAiB,CAAC,MAAM,CAAS,EAAA,CACtC,CAAA,EAAA,CACe;;;;"}
|
|
@@ -6,14 +6,18 @@ import type { ToastStatus } from './Toast.types';
|
|
|
6
6
|
* Each status is bg `{s}.bg` + text `{s}.fg` + a 1px `{s}.border` outline —
|
|
7
7
|
* `info` reads its own `info.*` family instead of borrowing `primary.*`.
|
|
8
8
|
* `neutral` carries no status (it is the default when none is given) and sits
|
|
9
|
-
* on the muted ground: `bg.muted` + `fg.default` + a `border.
|
|
9
|
+
* on the muted ground: `bg.muted` + `fg.default` + a `border.strong` outline.
|
|
10
10
|
* Not `bg.surface` — that was white on a white canvas in light mode, set apart
|
|
11
11
|
* only by a 1px border and the shadow, so a "링크를 복사했어요" confirmation was
|
|
12
12
|
* easy to miss. Not the inverted tooltip pair either — ink (#252525) is
|
|
13
13
|
* `primary.main`, the user's own chat bubble, so a plain "복사 완료" read as
|
|
14
14
|
* the heaviest thing on the page, louder than an error toast. `bg.muted` is
|
|
15
15
|
* already a registered separation from `bg.canvas` (see `contrast.test.ts`)
|
|
16
|
-
* and flips per mode with the rest of the neutral ramp.
|
|
16
|
+
* and flips per mode with the rest of the neutral ramp. Its separation from
|
|
17
|
+
* a white canvas (1.13:1) is the weakest of the five grounds, so the outline is
|
|
18
|
+
* `border.strong`, not `border.default`, to give it the same edge as a status
|
|
19
|
+
* toast. High contrast keeps `border.default`: there it is the darker of the
|
|
20
|
+
* two (#908A83 vs #BEB9B1 in light).
|
|
17
21
|
*/
|
|
18
22
|
export declare const toastStyles: Record<ToastStatus, BoxProps>;
|
|
19
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"Toast.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,CA2BrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,CA+B3D,CAAC;AA0BF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,CA+BtD,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
|
|
@@ -7,14 +7,18 @@
|
|
|
7
7
|
* Each status is bg `{s}.bg` + text `{s}.fg` + a 1px `{s}.border` outline —
|
|
8
8
|
* `info` reads its own `info.*` family instead of borrowing `primary.*`.
|
|
9
9
|
* `neutral` carries no status (it is the default when none is given) and sits
|
|
10
|
-
* on the muted ground: `bg.muted` + `fg.default` + a `border.
|
|
10
|
+
* on the muted ground: `bg.muted` + `fg.default` + a `border.strong` outline.
|
|
11
11
|
* Not `bg.surface` — that was white on a white canvas in light mode, set apart
|
|
12
12
|
* only by a 1px border and the shadow, so a "링크를 복사했어요" confirmation was
|
|
13
13
|
* easy to miss. Not the inverted tooltip pair either — ink (#252525) is
|
|
14
14
|
* `primary.main`, the user's own chat bubble, so a plain "복사 완료" read as
|
|
15
15
|
* the heaviest thing on the page, louder than an error toast. `bg.muted` is
|
|
16
16
|
* already a registered separation from `bg.canvas` (see `contrast.test.ts`)
|
|
17
|
-
* and flips per mode with the rest of the neutral ramp.
|
|
17
|
+
* and flips per mode with the rest of the neutral ramp. Its separation from
|
|
18
|
+
* a white canvas (1.13:1) is the weakest of the five grounds, so the outline is
|
|
19
|
+
* `border.strong`, not `border.default`, to give it the same edge as a status
|
|
20
|
+
* toast. High contrast keeps `border.default`: there it is the darker of the
|
|
21
|
+
* two (#908A83 vs #BEB9B1 in light).
|
|
18
22
|
*/
|
|
19
23
|
const toastStyles = {
|
|
20
24
|
info: {
|
|
@@ -40,7 +44,8 @@ const toastStyles = {
|
|
|
40
44
|
neutral: {
|
|
41
45
|
bg: 'bg.muted',
|
|
42
46
|
color: 'fg.default',
|
|
43
|
-
borderColor: 'border.
|
|
47
|
+
borderColor: 'border.strong',
|
|
48
|
+
_moreContrast: { borderColor: 'border.default' },
|
|
44
49
|
},
|
|
45
50
|
};
|
|
46
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.styles.js","sources":["../../../src/components/Toast/Toast.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA
|
|
1
|
+
{"version":3,"file":"Toast.styles.js","sources":["../../../src/components/Toast/Toast.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,18 @@
|
|
|
5
5
|
* Each status is bg `{s}.bg` + text `{s}.fg` + a 1px `{s}.border` outline —
|
|
6
6
|
* `info` reads its own `info.*` family instead of borrowing `primary.*`.
|
|
7
7
|
* `neutral` carries no status (it is the default when none is given) and sits
|
|
8
|
-
* on the muted ground: `bg.muted` + `fg.default` + a `border.
|
|
8
|
+
* on the muted ground: `bg.muted` + `fg.default` + a `border.strong` outline.
|
|
9
9
|
* Not `bg.surface` — that was white on a white canvas in light mode, set apart
|
|
10
10
|
* only by a 1px border and the shadow, so a "링크를 복사했어요" confirmation was
|
|
11
11
|
* easy to miss. Not the inverted tooltip pair either — ink (#252525) is
|
|
12
12
|
* `primary.main`, the user's own chat bubble, so a plain "복사 완료" read as
|
|
13
13
|
* the heaviest thing on the page, louder than an error toast. `bg.muted` is
|
|
14
14
|
* already a registered separation from `bg.canvas` (see `contrast.test.ts`)
|
|
15
|
-
* and flips per mode with the rest of the neutral ramp.
|
|
15
|
+
* and flips per mode with the rest of the neutral ramp. Its separation from
|
|
16
|
+
* a white canvas (1.13:1) is the weakest of the five grounds, so the outline is
|
|
17
|
+
* `border.strong`, not `border.default`, to give it the same edge as a status
|
|
18
|
+
* toast. High contrast keeps `border.default`: there it is the darker of the
|
|
19
|
+
* two (#908A83 vs #BEB9B1 in light).
|
|
16
20
|
*/
|
|
17
21
|
const toastStyles = {
|
|
18
22
|
info: {
|
|
@@ -38,7 +42,8 @@ const toastStyles = {
|
|
|
38
42
|
neutral: {
|
|
39
43
|
bg: 'bg.muted',
|
|
40
44
|
color: 'fg.default',
|
|
41
|
-
borderColor: 'border.
|
|
45
|
+
borderColor: 'border.strong',
|
|
46
|
+
_moreContrast: { borderColor: 'border.default' },
|
|
42
47
|
},
|
|
43
48
|
};
|
|
44
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.styles.mjs","sources":["../../../src/components/Toast/Toast.styles.ts"],"sourcesContent":[null],"names":[],"mappings":";AAIA
|
|
1
|
+
{"version":3,"file":"Toast.styles.mjs","sources":["../../../src/components/Toast/Toast.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -321,10 +321,10 @@ export declare const SCHEMES: {
|
|
|
321
321
|
readonly "danger-solidHover": "#B5332F";
|
|
322
322
|
readonly "danger-solidActive": "#8E1F1F";
|
|
323
323
|
readonly "danger-onSolid": "#FFFFFF";
|
|
324
|
-
readonly "success-bg": "#
|
|
325
|
-
readonly "success-border": "#
|
|
326
|
-
readonly "success-fg": "#
|
|
327
|
-
readonly "success-solid": "#
|
|
324
|
+
readonly "success-bg": "#E3F0D8";
|
|
325
|
+
readonly "success-border": "#B8D6A0";
|
|
326
|
+
readonly "success-fg": "#365E22";
|
|
327
|
+
readonly "success-solid": "#30862D";
|
|
328
328
|
readonly "success-onSolid": "#FFFFFF";
|
|
329
329
|
readonly "warning-bg": "#FEE9BC";
|
|
330
330
|
readonly "warning-border": "#F0CF83";
|
|
@@ -503,10 +503,10 @@ export declare const SCHEMES: {
|
|
|
503
503
|
readonly "danger-solidHover": "#A92624";
|
|
504
504
|
readonly "danger-solidActive": "#8E1F1F";
|
|
505
505
|
readonly "danger-onSolid": "#FFFFFF";
|
|
506
|
-
readonly "success-bg": "#
|
|
507
|
-
readonly "success-border": "#
|
|
508
|
-
readonly "success-fg": "#
|
|
509
|
-
readonly "success-solid": "#
|
|
506
|
+
readonly "success-bg": "#E3F0D8";
|
|
507
|
+
readonly "success-border": "#74905D";
|
|
508
|
+
readonly "success-fg": "#30571B";
|
|
509
|
+
readonly "success-solid": "#036805";
|
|
510
510
|
readonly "success-onSolid": "#FFFFFF";
|
|
511
511
|
readonly "warning-bg": "#FEE9BC";
|
|
512
512
|
readonly "warning-border": "#A28336";
|
|
@@ -687,10 +687,10 @@ export declare const SCHEMES: {
|
|
|
687
687
|
readonly "danger-solidHover": "#B5332F";
|
|
688
688
|
readonly "danger-solidActive": "#8E1F1F";
|
|
689
689
|
readonly "danger-onSolid": "#FFFFFF";
|
|
690
|
-
readonly "success-bg": "#
|
|
691
|
-
readonly "success-border": "#
|
|
692
|
-
readonly "success-fg": "#
|
|
693
|
-
readonly "success-solid": "#
|
|
690
|
+
readonly "success-bg": "#E3F0D8";
|
|
691
|
+
readonly "success-border": "#B8D6A0";
|
|
692
|
+
readonly "success-fg": "#365E22";
|
|
693
|
+
readonly "success-solid": "#30862D";
|
|
694
694
|
readonly "success-onSolid": "#FFFFFF";
|
|
695
695
|
readonly "warning-bg": "#FEE9BC";
|
|
696
696
|
readonly "warning-border": "#F0CF83";
|
|
@@ -869,10 +869,10 @@ export declare const SCHEMES: {
|
|
|
869
869
|
readonly "danger-solidHover": "#A92624";
|
|
870
870
|
readonly "danger-solidActive": "#8E1F1F";
|
|
871
871
|
readonly "danger-onSolid": "#FFFFFF";
|
|
872
|
-
readonly "success-bg": "#
|
|
873
|
-
readonly "success-border": "#
|
|
874
|
-
readonly "success-fg": "#
|
|
875
|
-
readonly "success-solid": "#
|
|
872
|
+
readonly "success-bg": "#E3F0D8";
|
|
873
|
+
readonly "success-border": "#74905D";
|
|
874
|
+
readonly "success-fg": "#30571B";
|
|
875
|
+
readonly "success-solid": "#036805";
|
|
876
876
|
readonly "success-onSolid": "#FFFFFF";
|
|
877
877
|
readonly "warning-bg": "#FEE9BC";
|
|
878
878
|
readonly "warning-border": "#A28336";
|
|
@@ -327,10 +327,10 @@ const SCHEMES = {
|
|
|
327
327
|
"danger-solidHover": "#B5332F",
|
|
328
328
|
"danger-solidActive": "#8E1F1F",
|
|
329
329
|
"danger-onSolid": "#FFFFFF",
|
|
330
|
-
"success-bg": "#
|
|
331
|
-
"success-border": "#
|
|
332
|
-
"success-fg": "#
|
|
333
|
-
"success-solid": "#
|
|
330
|
+
"success-bg": "#E3F0D8",
|
|
331
|
+
"success-border": "#B8D6A0",
|
|
332
|
+
"success-fg": "#365E22",
|
|
333
|
+
"success-solid": "#30862D",
|
|
334
334
|
"success-onSolid": "#FFFFFF",
|
|
335
335
|
"warning-bg": "#FEE9BC",
|
|
336
336
|
"warning-border": "#F0CF83",
|
|
@@ -509,10 +509,10 @@ const SCHEMES = {
|
|
|
509
509
|
"danger-solidHover": "#A92624",
|
|
510
510
|
"danger-solidActive": "#8E1F1F",
|
|
511
511
|
"danger-onSolid": "#FFFFFF",
|
|
512
|
-
"success-bg": "#
|
|
513
|
-
"success-border": "#
|
|
514
|
-
"success-fg": "#
|
|
515
|
-
"success-solid": "#
|
|
512
|
+
"success-bg": "#E3F0D8",
|
|
513
|
+
"success-border": "#74905D",
|
|
514
|
+
"success-fg": "#30571B",
|
|
515
|
+
"success-solid": "#036805",
|
|
516
516
|
"success-onSolid": "#FFFFFF",
|
|
517
517
|
"warning-bg": "#FEE9BC",
|
|
518
518
|
"warning-border": "#A28336",
|
|
@@ -693,10 +693,10 @@ const SCHEMES = {
|
|
|
693
693
|
"danger-solidHover": "#B5332F",
|
|
694
694
|
"danger-solidActive": "#8E1F1F",
|
|
695
695
|
"danger-onSolid": "#FFFFFF",
|
|
696
|
-
"success-bg": "#
|
|
697
|
-
"success-border": "#
|
|
698
|
-
"success-fg": "#
|
|
699
|
-
"success-solid": "#
|
|
696
|
+
"success-bg": "#E3F0D8",
|
|
697
|
+
"success-border": "#B8D6A0",
|
|
698
|
+
"success-fg": "#365E22",
|
|
699
|
+
"success-solid": "#30862D",
|
|
700
700
|
"success-onSolid": "#FFFFFF",
|
|
701
701
|
"warning-bg": "#FEE9BC",
|
|
702
702
|
"warning-border": "#F0CF83",
|
|
@@ -875,10 +875,10 @@ const SCHEMES = {
|
|
|
875
875
|
"danger-solidHover": "#A92624",
|
|
876
876
|
"danger-solidActive": "#8E1F1F",
|
|
877
877
|
"danger-onSolid": "#FFFFFF",
|
|
878
|
-
"success-bg": "#
|
|
879
|
-
"success-border": "#
|
|
880
|
-
"success-fg": "#
|
|
881
|
-
"success-solid": "#
|
|
878
|
+
"success-bg": "#E3F0D8",
|
|
879
|
+
"success-border": "#74905D",
|
|
880
|
+
"success-fg": "#30571B",
|
|
881
|
+
"success-solid": "#036805",
|
|
882
882
|
"success-onSolid": "#FFFFFF",
|
|
883
883
|
"warning-bg": "#FEE9BC",
|
|
884
884
|
"warning-border": "#A28336",
|
|
@@ -325,10 +325,10 @@ const SCHEMES = {
|
|
|
325
325
|
"danger-solidHover": "#B5332F",
|
|
326
326
|
"danger-solidActive": "#8E1F1F",
|
|
327
327
|
"danger-onSolid": "#FFFFFF",
|
|
328
|
-
"success-bg": "#
|
|
329
|
-
"success-border": "#
|
|
330
|
-
"success-fg": "#
|
|
331
|
-
"success-solid": "#
|
|
328
|
+
"success-bg": "#E3F0D8",
|
|
329
|
+
"success-border": "#B8D6A0",
|
|
330
|
+
"success-fg": "#365E22",
|
|
331
|
+
"success-solid": "#30862D",
|
|
332
332
|
"success-onSolid": "#FFFFFF",
|
|
333
333
|
"warning-bg": "#FEE9BC",
|
|
334
334
|
"warning-border": "#F0CF83",
|
|
@@ -507,10 +507,10 @@ const SCHEMES = {
|
|
|
507
507
|
"danger-solidHover": "#A92624",
|
|
508
508
|
"danger-solidActive": "#8E1F1F",
|
|
509
509
|
"danger-onSolid": "#FFFFFF",
|
|
510
|
-
"success-bg": "#
|
|
511
|
-
"success-border": "#
|
|
512
|
-
"success-fg": "#
|
|
513
|
-
"success-solid": "#
|
|
510
|
+
"success-bg": "#E3F0D8",
|
|
511
|
+
"success-border": "#74905D",
|
|
512
|
+
"success-fg": "#30571B",
|
|
513
|
+
"success-solid": "#036805",
|
|
514
514
|
"success-onSolid": "#FFFFFF",
|
|
515
515
|
"warning-bg": "#FEE9BC",
|
|
516
516
|
"warning-border": "#A28336",
|
|
@@ -691,10 +691,10 @@ const SCHEMES = {
|
|
|
691
691
|
"danger-solidHover": "#B5332F",
|
|
692
692
|
"danger-solidActive": "#8E1F1F",
|
|
693
693
|
"danger-onSolid": "#FFFFFF",
|
|
694
|
-
"success-bg": "#
|
|
695
|
-
"success-border": "#
|
|
696
|
-
"success-fg": "#
|
|
697
|
-
"success-solid": "#
|
|
694
|
+
"success-bg": "#E3F0D8",
|
|
695
|
+
"success-border": "#B8D6A0",
|
|
696
|
+
"success-fg": "#365E22",
|
|
697
|
+
"success-solid": "#30862D",
|
|
698
698
|
"success-onSolid": "#FFFFFF",
|
|
699
699
|
"warning-bg": "#FEE9BC",
|
|
700
700
|
"warning-border": "#F0CF83",
|
|
@@ -873,10 +873,10 @@ const SCHEMES = {
|
|
|
873
873
|
"danger-solidHover": "#A92624",
|
|
874
874
|
"danger-solidActive": "#8E1F1F",
|
|
875
875
|
"danger-onSolid": "#FFFFFF",
|
|
876
|
-
"success-bg": "#
|
|
877
|
-
"success-border": "#
|
|
878
|
-
"success-fg": "#
|
|
879
|
-
"success-solid": "#
|
|
876
|
+
"success-bg": "#E3F0D8",
|
|
877
|
+
"success-border": "#74905D",
|
|
878
|
+
"success-fg": "#30571B",
|
|
879
|
+
"success-solid": "#036805",
|
|
880
880
|
"success-onSolid": "#FFFFFF",
|
|
881
881
|
"warning-bg": "#FEE9BC",
|
|
882
882
|
"warning-border": "#A28336",
|
package/package.json
CHANGED
|
@@ -179,14 +179,22 @@ export const UsageTokens: Story = {
|
|
|
179
179
|
render: () => (
|
|
180
180
|
<TokenTable
|
|
181
181
|
rows={[
|
|
182
|
-
{ token: 'bg.
|
|
183
|
-
{ token: 'primary.main', use: <T en="Track when on" ko="켜짐 트랙" /> },
|
|
182
|
+
{ token: 'bg.surface', use: <T en="Track when off" ko="꺼짐 트랙" /> },
|
|
184
183
|
{
|
|
185
|
-
token: '
|
|
186
|
-
use:
|
|
184
|
+
token: 'border.control',
|
|
185
|
+
use: (
|
|
186
|
+
<T
|
|
187
|
+
en="Track outline and thumb when off"
|
|
188
|
+
ko="꺼짐 트랙 테두리·손잡이"
|
|
189
|
+
/>
|
|
190
|
+
),
|
|
187
191
|
},
|
|
188
192
|
{
|
|
189
|
-
token: '
|
|
193
|
+
token: 'success.solid',
|
|
194
|
+
use: <T en="Track when on" ko="켜짐 트랙" />,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
token: 'success.onSolid',
|
|
190
198
|
use: <T en="Thumb when on" ko="켜짐 손잡이" />,
|
|
191
199
|
},
|
|
192
200
|
{
|
|
@@ -128,8 +128,9 @@ What Switch does for you:
|
|
|
128
128
|
|
|
129
129
|
- A native checkbox input carries the state, so Tab focuses it and Space
|
|
130
130
|
toggles it.
|
|
131
|
-
- The keyboard focus ring shows on the track (WCAG 2.4.7).
|
|
132
|
-
`
|
|
131
|
+
- The keyboard focus ring shows on the track (WCAG 2.4.7). Off is drawn like an
|
|
132
|
+
unchecked Checkbox: a `border.control` outline and thumb, at least 3:1 on any
|
|
133
|
+
surface (WCAG 1.4.11).
|
|
133
134
|
|
|
134
135
|
What you still have to do:
|
|
135
136
|
|
|
@@ -160,8 +161,8 @@ Switch가 알아서 하는 일
|
|
|
160
161
|
|
|
161
162
|
- 상태는 네이티브 체크박스 입력이 가지고 있어서 Tab으로 초점을 옮기고 Space로 바꿀 수
|
|
162
163
|
있습니다.
|
|
163
|
-
- 키보드 초점 링이 트랙에 보입니다(WCAG 2.4.7).
|
|
164
|
-
|
|
164
|
+
- 키보드 초점 링이 트랙에 보입니다(WCAG 2.4.7). 꺼짐은 체크하지 않은 Checkbox처럼
|
|
165
|
+
`border.control` 테두리와 손잡이로 그려, 어떤 면 위에서도 3:1 이상입니다(WCAG 1.4.11).
|
|
165
166
|
|
|
166
167
|
직접 챙겨야 하는 일
|
|
167
168
|
|
|
@@ -2,23 +2,38 @@ import { forwardRef } from 'react';
|
|
|
2
2
|
import { Switch as ChakraSwitch, SwitchControlProps } from '@chakra-ui/react';
|
|
3
3
|
|
|
4
4
|
import { disabledControl } from '@/utils/disabledControl';
|
|
5
|
-
import { focusRing } from '@/utils/focusRing';
|
|
5
|
+
import { FOCUS_RING_SHADOW, focusRing } from '@/utils/focusRing';
|
|
6
|
+
|
|
7
|
+
// Drawn as an inset shadow, not a border, so the thumb's travel and the
|
|
8
|
+
// track's size stay exactly what Chakra's recipe computes.
|
|
9
|
+
const OFF_OUTLINE = 'inset 0 0 0 1px var(--chakra-colors-border-control)';
|
|
6
10
|
|
|
7
11
|
export const SwitchControl = forwardRef<HTMLSpanElement, SwitchControlProps>(
|
|
8
12
|
(props, ref) => (
|
|
9
13
|
<ChakraSwitch.Control
|
|
10
14
|
ref={ref}
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
// Off is drawn the way an unchecked Checkbox is: a bg.surface track with a
|
|
16
|
+
// border.control outline and a border.control thumb, each at least 3:1
|
|
17
|
+
// against what it sits on (WCAG 1.4.11). The previous off state, a
|
|
18
|
+
// bg.track fill with a bg.surface thumb, measured 1.3:1 (light) and
|
|
19
|
+
// 1.4:1 (dark) between thumb and track, so the thumb's position, the only
|
|
20
|
+
// thing that tells off from on, could not be seen.
|
|
21
|
+
// On is success.solid with a success.onSolid thumb. With a black (light) or
|
|
22
|
+
// pale (dark) primary fill, neither state carried colour, and dark-mode
|
|
23
|
+
// "on" read as light-mode "off"; green gives both modes one meaning.
|
|
24
|
+
bg="bg.surface"
|
|
25
|
+
boxShadow={OFF_OUTLINE}
|
|
26
|
+
_checked={{ bg: 'success.solid', boxShadow: 'none' }}
|
|
18
27
|
animationStyle="feedback"
|
|
19
|
-
transitionProperty="background-color"
|
|
28
|
+
transitionProperty="background-color, box-shadow"
|
|
20
29
|
_disabled={{ ...disabledControl, cursor: 'not-allowed' }}
|
|
21
30
|
{...focusRing}
|
|
31
|
+
// focusRing's shadow would replace the outline; keep both while off.
|
|
32
|
+
_focusVisible={{
|
|
33
|
+
...focusRing._focusVisible,
|
|
34
|
+
boxShadow: `${OFF_OUTLINE}, ${FOCUS_RING_SHADOW}`,
|
|
35
|
+
_checked: { boxShadow: FOCUS_RING_SHADOW },
|
|
36
|
+
}}
|
|
22
37
|
{...props}
|
|
23
38
|
>
|
|
24
39
|
<ChakraSwitch.Thumb
|
|
@@ -29,12 +44,11 @@ export const SwitchControl = forwardRef<HTMLSpanElement, SwitchControlProps>(
|
|
|
29
44
|
// reverses direction — `standard` vs `emphasized` would not.
|
|
30
45
|
animationStyle="spring"
|
|
31
46
|
transitionProperty="translate"
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
_checked={{ bg: 'fg.onPrimary' }}
|
|
47
|
+
// Off: border.control, the same 3:1 control token as the outline.
|
|
48
|
+
// On: success.onSolid, the text colour success buttons put on the same
|
|
49
|
+
// fill (white in light, ink in dark).
|
|
50
|
+
bg="border.control"
|
|
51
|
+
_checked={{ bg: 'success.onSolid' }}
|
|
38
52
|
/>
|
|
39
53
|
</ChakraSwitch.Control>
|
|
40
54
|
)
|
|
@@ -8,14 +8,18 @@ import type { ToastStatus } from './Toast.types';
|
|
|
8
8
|
* Each status is bg `{s}.bg` + text `{s}.fg` + a 1px `{s}.border` outline —
|
|
9
9
|
* `info` reads its own `info.*` family instead of borrowing `primary.*`.
|
|
10
10
|
* `neutral` carries no status (it is the default when none is given) and sits
|
|
11
|
-
* on the muted ground: `bg.muted` + `fg.default` + a `border.
|
|
11
|
+
* on the muted ground: `bg.muted` + `fg.default` + a `border.strong` outline.
|
|
12
12
|
* Not `bg.surface` — that was white on a white canvas in light mode, set apart
|
|
13
13
|
* only by a 1px border and the shadow, so a "링크를 복사했어요" confirmation was
|
|
14
14
|
* easy to miss. Not the inverted tooltip pair either — ink (#252525) is
|
|
15
15
|
* `primary.main`, the user's own chat bubble, so a plain "복사 완료" read as
|
|
16
16
|
* the heaviest thing on the page, louder than an error toast. `bg.muted` is
|
|
17
17
|
* already a registered separation from `bg.canvas` (see `contrast.test.ts`)
|
|
18
|
-
* and flips per mode with the rest of the neutral ramp.
|
|
18
|
+
* and flips per mode with the rest of the neutral ramp. Its separation from
|
|
19
|
+
* a white canvas (1.13:1) is the weakest of the five grounds, so the outline is
|
|
20
|
+
* `border.strong`, not `border.default`, to give it the same edge as a status
|
|
21
|
+
* toast. High contrast keeps `border.default`: there it is the darker of the
|
|
22
|
+
* two (#908A83 vs #BEB9B1 in light).
|
|
19
23
|
*/
|
|
20
24
|
export const toastStyles: Record<ToastStatus, BoxProps> = {
|
|
21
25
|
info: {
|
|
@@ -41,7 +45,8 @@ export const toastStyles: Record<ToastStatus, BoxProps> = {
|
|
|
41
45
|
neutral: {
|
|
42
46
|
bg: 'bg.muted',
|
|
43
47
|
color: 'fg.default',
|
|
44
|
-
borderColor: 'border.
|
|
48
|
+
borderColor: 'border.strong',
|
|
49
|
+
_moreContrast: { borderColor: 'border.default' },
|
|
45
50
|
},
|
|
46
51
|
};
|
|
47
52
|
|
|
@@ -40,7 +40,14 @@ export const Toast = ({
|
|
|
40
40
|
</ChakraToast.Title>
|
|
41
41
|
)}
|
|
42
42
|
{description && (
|
|
43
|
-
|
|
43
|
+
// Chakra's toast recipe fades the description to opacity 0.8. It is
|
|
44
|
+
// the only text in most toasts, so the fade dimmed every status and
|
|
45
|
+
// took the registered fg/bg pairs below their tested contrast.
|
|
46
|
+
<ChakraToast.Description
|
|
47
|
+
color="inherit"
|
|
48
|
+
fontWeight="semibold"
|
|
49
|
+
opacity={1}
|
|
50
|
+
>
|
|
44
51
|
{description}
|
|
45
52
|
</ChakraToast.Description>
|
|
46
53
|
)}
|
|
@@ -97,7 +97,7 @@ then goes away on its own.
|
|
|
97
97
|
|
|
98
98
|
| Status | Means | Use for |
|
|
99
99
|
| --- | --- | --- |
|
|
100
|
-
| `neutral` (default) | A plain result with no status; no icon. Muted ground (`bg.muted` / `fg.default`, `border.
|
|
100
|
+
| `neutral` (default) | A plain result with no status; no icon. Muted ground (`bg.muted` / `fg.default`, `border.strong` outline): visible on a white page without outweighing a status toast | Copied, moved, sent |
|
|
101
101
|
| `success` | Done as asked | Saved, uploaded, deleted |
|
|
102
102
|
| `info` | A fact about what just happened; nothing is wrong | Export ready, model switched for you |
|
|
103
103
|
| `warning` | Done, but not quite as expected | Some files skipped |
|
|
@@ -111,7 +111,7 @@ then goes away on its own.
|
|
|
111
111
|
|
|
112
112
|
| 상태 | 뜻 | 예 |
|
|
113
113
|
| --- | --- | --- |
|
|
114
|
-
| `neutral` (기본) | 상태가 없는 단순한 결과이며 아이콘도 없음. 흰 화면에서 보이되 상태 토스트보다 튀지 않도록 은은한 바탕(`bg.muted` / `fg.default`, `border.
|
|
114
|
+
| `neutral` (기본) | 상태가 없는 단순한 결과이며 아이콘도 없음. 흰 화면에서 보이되 상태 토스트보다 튀지 않도록 은은한 바탕(`bg.muted` / `fg.default`, `border.strong` 테두리)을 씀 | 복사, 이동, 전송 |
|
|
115
115
|
| `success` | 요청한 대로 끝남 | 저장, 업로드, 삭제 |
|
|
116
116
|
| `info` | 방금 일어난 일에 대한 사실이며, 문제가 있다는 뜻은 아님 | 내보내기 완료, 모델 자동 변경 |
|
|
117
117
|
| `warning` | 끝났지만 예상과 조금 다름 | 일부 파일 건너뜀 |
|
|
@@ -329,10 +329,10 @@ export const SCHEMES = {
|
|
|
329
329
|
"danger-solidHover": "#B5332F",
|
|
330
330
|
"danger-solidActive": "#8E1F1F",
|
|
331
331
|
"danger-onSolid": "#FFFFFF",
|
|
332
|
-
"success-bg": "#
|
|
333
|
-
"success-border": "#
|
|
334
|
-
"success-fg": "#
|
|
335
|
-
"success-solid": "#
|
|
332
|
+
"success-bg": "#E3F0D8",
|
|
333
|
+
"success-border": "#B8D6A0",
|
|
334
|
+
"success-fg": "#365E22",
|
|
335
|
+
"success-solid": "#30862D",
|
|
336
336
|
"success-onSolid": "#FFFFFF",
|
|
337
337
|
"warning-bg": "#FEE9BC",
|
|
338
338
|
"warning-border": "#F0CF83",
|
|
@@ -511,10 +511,10 @@ export const SCHEMES = {
|
|
|
511
511
|
"danger-solidHover": "#A92624",
|
|
512
512
|
"danger-solidActive": "#8E1F1F",
|
|
513
513
|
"danger-onSolid": "#FFFFFF",
|
|
514
|
-
"success-bg": "#
|
|
515
|
-
"success-border": "#
|
|
516
|
-
"success-fg": "#
|
|
517
|
-
"success-solid": "#
|
|
514
|
+
"success-bg": "#E3F0D8",
|
|
515
|
+
"success-border": "#74905D",
|
|
516
|
+
"success-fg": "#30571B",
|
|
517
|
+
"success-solid": "#036805",
|
|
518
518
|
"success-onSolid": "#FFFFFF",
|
|
519
519
|
"warning-bg": "#FEE9BC",
|
|
520
520
|
"warning-border": "#A28336",
|
|
@@ -695,10 +695,10 @@ export const SCHEMES = {
|
|
|
695
695
|
"danger-solidHover": "#B5332F",
|
|
696
696
|
"danger-solidActive": "#8E1F1F",
|
|
697
697
|
"danger-onSolid": "#FFFFFF",
|
|
698
|
-
"success-bg": "#
|
|
699
|
-
"success-border": "#
|
|
700
|
-
"success-fg": "#
|
|
701
|
-
"success-solid": "#
|
|
698
|
+
"success-bg": "#E3F0D8",
|
|
699
|
+
"success-border": "#B8D6A0",
|
|
700
|
+
"success-fg": "#365E22",
|
|
701
|
+
"success-solid": "#30862D",
|
|
702
702
|
"success-onSolid": "#FFFFFF",
|
|
703
703
|
"warning-bg": "#FEE9BC",
|
|
704
704
|
"warning-border": "#F0CF83",
|
|
@@ -877,10 +877,10 @@ export const SCHEMES = {
|
|
|
877
877
|
"danger-solidHover": "#A92624",
|
|
878
878
|
"danger-solidActive": "#8E1F1F",
|
|
879
879
|
"danger-onSolid": "#FFFFFF",
|
|
880
|
-
"success-bg": "#
|
|
881
|
-
"success-border": "#
|
|
882
|
-
"success-fg": "#
|
|
883
|
-
"success-solid": "#
|
|
880
|
+
"success-bg": "#E3F0D8",
|
|
881
|
+
"success-border": "#74905D",
|
|
882
|
+
"success-fg": "#30571B",
|
|
883
|
+
"success-solid": "#036805",
|
|
884
884
|
"success-onSolid": "#FFFFFF",
|
|
885
885
|
"warning-bg": "#FEE9BC",
|
|
886
886
|
"warning-border": "#A28336",
|