@blockle/blocks-react 2.8.0 → 3.0.0
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/feedback/Skeleton/Skeleton.js +1 -1
- package/dist/components/form/Slider/Slider.d.ts +1 -1
- package/dist/components/form/Slider/Slider.d.ts.map +1 -1
- package/dist/components/form/Slider/Slider.js +2 -2
- package/dist/components/overlay/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/overlay/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/overlay/Tooltip/Tooltip.js +2 -2
- package/dist/components/providers/BlocksProvider/BlocksProvider.d.ts +7 -1
- package/dist/components/providers/BlocksProvider/BlocksProvider.d.ts.map +1 -1
- package/dist/components/providers/BlocksProvider/BlocksProvider.js +26 -4
- package/dist/components/providers/BlocksProvider/context.d.ts +3 -1
- package/dist/components/providers/BlocksProvider/context.d.ts.map +1 -1
- package/dist/components/typography/Heading/Heading.d.ts +4 -1
- package/dist/components/typography/Heading/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading/Heading.js +8 -1
- package/dist/components/typography/Text/Text.d.ts +5 -2
- package/dist/components/typography/Text/Text.d.ts.map +1 -1
- package/dist/components/typography/Text/Text.js +19 -4
- package/dist/components/typography/textColor.d.ts +12 -0
- package/dist/components/typography/textColor.d.ts.map +1 -0
- package/dist/hooks/useColorMode/useColorMode.d.ts +13 -0
- package/dist/hooks/useColorMode/useColorMode.d.ts.map +1 -0
- package/dist/hooks/useColorMode/useColorMode.js +41 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/testUtils/browser/contrast.d.ts +4 -0
- package/dist/testUtils/browser/contrast.d.ts.map +1 -0
- package/dist/testUtils/browser/emulateColorScheme.d.ts +7 -0
- package/dist/testUtils/browser/emulateColorScheme.d.ts.map +1 -0
- package/dist/testUtils/browser/render.d.ts +13 -0
- package/dist/testUtils/browser/render.d.ts.map +1 -0
- package/dist/testUtils/testTheme.css.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -14,7 +14,7 @@ export type SliderProps = {
|
|
|
14
14
|
'aria-valuetext'?: string;
|
|
15
15
|
'aria-label'?: string;
|
|
16
16
|
size?: SliderTheme['variants']['size'];
|
|
17
|
-
|
|
17
|
+
intent?: SliderTheme['variants']['intent'];
|
|
18
18
|
disabled?: boolean;
|
|
19
19
|
};
|
|
20
20
|
export declare const Slider: React.FC<SliderProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Slider/Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,KAAK,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,
|
|
1
|
+
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Slider/Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,KAAK,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsIxC,CAAC"}
|
|
@@ -28,13 +28,13 @@ const Slider = ({
|
|
|
28
28
|
value,
|
|
29
29
|
name,
|
|
30
30
|
size,
|
|
31
|
-
|
|
31
|
+
intent,
|
|
32
32
|
disabled,
|
|
33
33
|
...restProps
|
|
34
34
|
}) => {
|
|
35
35
|
const baseClass = useComponentStyles("slider", {
|
|
36
36
|
root: true,
|
|
37
|
-
variants: { size,
|
|
37
|
+
variants: { size, intent, disabled }
|
|
38
38
|
});
|
|
39
39
|
const trackClass = useComponentStyles("slider", { track: true }, false);
|
|
40
40
|
const filledTrackClass = useComponentStyles(
|
|
@@ -6,7 +6,7 @@ export type TooltipProps = {
|
|
|
6
6
|
position?: PopoverProps['position'];
|
|
7
7
|
children: ReactElement;
|
|
8
8
|
content: React.ReactNode;
|
|
9
|
-
|
|
9
|
+
intent?: TooltipTheme['variants']['intent'];
|
|
10
10
|
} & Omit<HTMLElementProps<HTMLDivElement>, 'ref' | 'children'>;
|
|
11
11
|
export declare const Tooltip: React.FC<TooltipProps>;
|
|
12
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/overlay/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,KAAK,YAAY,GAAG,KAAK,CAAC,YAAY,CAEpC,GAAG,EAEH,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAC1C,CAAC;AAEF,KAAK,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/overlay/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,KAAK,YAAY,GAAG,KAAK,CAAC,YAAY,CAEpC,GAAG,EAEH,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAC1C,CAAC;AAEF,KAAK,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC7C,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA+E1C,CAAC"}
|
|
@@ -8,14 +8,14 @@ const Tooltip = ({
|
|
|
8
8
|
position = "top",
|
|
9
9
|
children,
|
|
10
10
|
content,
|
|
11
|
-
|
|
11
|
+
intent
|
|
12
12
|
}) => {
|
|
13
13
|
const id = useId();
|
|
14
14
|
const ref = useRef(null);
|
|
15
15
|
const [open, setOpen] = useState(false);
|
|
16
16
|
const tooltipClassName = useComponentStyles("tooltip", {
|
|
17
17
|
root: true,
|
|
18
|
-
variants: {
|
|
18
|
+
variants: { intent }
|
|
19
19
|
});
|
|
20
20
|
useEffect(() => {
|
|
21
21
|
const element = ref.current;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { Theme } from '@blockle/blocks-core';
|
|
1
|
+
import { ColorModeSetting, Theme } from '@blockle/blocks-core';
|
|
2
2
|
export type BlocksProviderProps = {
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
theme: Theme;
|
|
5
|
+
/**
|
|
6
|
+
* The Color mode of the whole page, written as `data-color-mode` on `<html>`.
|
|
7
|
+
* Only the outermost BlocksProvider uses it; a nested provider ignores it.
|
|
8
|
+
* @default 'system'
|
|
9
|
+
*/
|
|
10
|
+
colorMode?: ColorModeSetting;
|
|
5
11
|
className?: string;
|
|
6
12
|
style?: React.CSSProperties;
|
|
7
13
|
asChild?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlocksProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/providers/BlocksProvider/BlocksProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"BlocksProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/providers/BlocksProvider/BlocksProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EAIrB,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAO9B,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAuBF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+CxD,CAAC"}
|
|
@@ -1,21 +1,43 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { classnames, atoms } from "@blockle/blocks-core";
|
|
3
|
+
import { defaultColorMode, classnames, atoms, colorModeAttribute } from "@blockle/blocks-core";
|
|
4
4
|
import { createSlottable } from "@blockle/blocks-react-slot";
|
|
5
|
-
import { useMemo } from "react";
|
|
5
|
+
import { useContext, useEffect, useMemo } from "react";
|
|
6
|
+
import { useIsomorphicLayoutEffect } from "../../../hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";
|
|
6
7
|
import { BlocksProviderContext } from "./context.js";
|
|
7
8
|
const [Template, Slot] = createSlottable("div");
|
|
9
|
+
function useColorModeAttribute(colorMode) {
|
|
10
|
+
useIsomorphicLayoutEffect(() => {
|
|
11
|
+
if (colorMode === null) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const element = document.documentElement;
|
|
15
|
+
element.setAttribute(colorModeAttribute, colorMode);
|
|
16
|
+
return () => {
|
|
17
|
+
element.removeAttribute(colorModeAttribute);
|
|
18
|
+
};
|
|
19
|
+
}, [colorMode]);
|
|
20
|
+
}
|
|
8
21
|
const BlocksProvider = ({
|
|
9
22
|
children,
|
|
10
23
|
theme,
|
|
24
|
+
colorMode,
|
|
11
25
|
className,
|
|
12
26
|
...restProps
|
|
13
27
|
}) => {
|
|
28
|
+
const parentContext = useContext(BlocksProviderContext);
|
|
29
|
+
const isOutermost = parentContext === null;
|
|
30
|
+
const activeColorMode = parentContext ? parentContext.colorMode : colorMode ?? defaultColorMode;
|
|
31
|
+
useColorModeAttribute(isOutermost ? activeColorMode : null);
|
|
32
|
+
const ignoresColorMode = !isOutermost && colorMode !== void 0;
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
}, [ignoresColorMode]);
|
|
14
35
|
const contextValue = useMemo(
|
|
15
36
|
() => ({
|
|
16
|
-
theme
|
|
37
|
+
theme,
|
|
38
|
+
colorMode: activeColorMode
|
|
17
39
|
}),
|
|
18
|
-
[theme]
|
|
40
|
+
[theme, activeColorMode]
|
|
19
41
|
);
|
|
20
42
|
return /* @__PURE__ */ jsx(BlocksProviderContext, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
21
43
|
Template,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Theme } from '@blockle/blocks-core';
|
|
1
|
+
import { ColorModeSetting, Theme } from '@blockle/blocks-core';
|
|
2
2
|
export type BlocksProviderContextProps = {
|
|
3
3
|
theme: Theme;
|
|
4
|
+
/** The outermost provider's colorMode, shared with nested providers. */
|
|
5
|
+
colorMode: ColorModeSetting;
|
|
4
6
|
};
|
|
5
7
|
export declare const BlocksProviderContext: import('react').Context<BlocksProviderContextProps | null>;
|
|
6
8
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/providers/BlocksProvider/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/providers/BlocksProvider/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,wEAAwE;IACxE,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,4DACsB,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { HTMLElementProps, MarginAtoms, PaddingAtoms, TextAtoms } from '@blockle/blocks-core';
|
|
2
|
+
import { TextColor } from '../textColor.js';
|
|
2
3
|
export type HeadingProps = {
|
|
3
4
|
className?: string;
|
|
5
|
+
/** A text Color role, which follows the Color mode, or a fixed Palette color. */
|
|
6
|
+
color?: TextColor;
|
|
4
7
|
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
|
-
} & HTMLElementProps<HTMLHeadingElement> & TextAtoms & MarginAtoms & PaddingAtoms;
|
|
8
|
+
} & HTMLElementProps<HTMLHeadingElement> & Omit<TextAtoms, 'color'> & MarginAtoms & PaddingAtoms;
|
|
6
9
|
export declare const Heading: React.FC<HeadingProps>;
|
|
7
10
|
//# sourceMappingURL=Heading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAGhE,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,GACtC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GACxB,WAAW,GACX,YAAY,CAAC;AAEf,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuB1C,CAAC"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { classnames } from "@blockle/blocks-core";
|
|
3
|
+
import { useComponentStyles } from "../../../hooks/useComponentStyles/useComponentStyles.js";
|
|
3
4
|
import { Box } from "../../layout/Box/Box.js";
|
|
4
5
|
import { heading } from "./heading.css.js";
|
|
5
6
|
const Heading = ({
|
|
6
7
|
className,
|
|
8
|
+
color,
|
|
7
9
|
level = 1,
|
|
8
10
|
children,
|
|
9
11
|
...restProps
|
|
10
12
|
}) => {
|
|
13
|
+
const themeClassName = useComponentStyles("heading", {
|
|
14
|
+
root: true,
|
|
15
|
+
variants: { color }
|
|
16
|
+
});
|
|
11
17
|
const Tag = `h${level}`;
|
|
12
18
|
return /* @__PURE__ */ jsx(
|
|
13
19
|
Box,
|
|
14
20
|
{
|
|
15
21
|
asChild: true,
|
|
16
|
-
className: classnames(heading, className),
|
|
22
|
+
className: classnames(heading, themeClassName, className),
|
|
23
|
+
color,
|
|
17
24
|
...restProps,
|
|
18
25
|
children: /* @__PURE__ */ jsx(Tag, { children })
|
|
19
26
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { HTMLElementProps, MarginAtoms, PaddingAtoms, TextAtoms } from '@blockle/blocks-core';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
|
+
import { TextColor } from '../textColor.js';
|
|
3
4
|
type Tags = 'cite' | 'code' | 'del' | 'em' | 'ins' | 'kbd' | 'label' | 'mark' | 'p' | 'q' | 's' | 'small' | 'span' | 'strong' | 'sub' | 'sup';
|
|
4
5
|
export type TextProps<Tag extends Tags = 'span'> = {
|
|
5
6
|
asChild?: boolean;
|
|
6
7
|
children: React.ReactNode;
|
|
7
8
|
ref?: React.Ref<HTMLElementTagNameMap[Tag]>;
|
|
8
9
|
tag?: Tag;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/** A text Color role, which follows the Color mode, or a fixed Palette color. */
|
|
11
|
+
color?: TextColor;
|
|
12
|
+
} & Omit<HTMLElementProps<HTMLSpanElement>, 'children' | 'ref'> & Omit<TextAtoms, 'color'> & MarginAtoms & PaddingAtoms;
|
|
13
|
+
export declare const Text: <T extends Tags = "span">({ asChild, children, className, color, ref, tag, ...restProps }: TextProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
11
14
|
export {};
|
|
12
15
|
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAGhE,KAAK,IAAI,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,IAAI,GACJ,KAAK,GACL,KAAK,GACL,OAAO,GACP,MAAM,GACN,GAAG,GACH,GAAG,GACH,GAAG,GACH,OAAO,GACP,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,IAAI,GAAG,MAAM,IAAI;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,iFAAiF;IACjF,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,GAC7D,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GACxB,WAAW,GACX,YAAY,CAAC;AAEf,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,iEAQ3C,SAAS,CAAC,CAAC,CAAC,4CAsBd,CAAC"}
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { classnames } from "@blockle/blocks-core";
|
|
3
|
+
import { useComponentStyles } from "../../../hooks/useComponentStyles/useComponentStyles.js";
|
|
3
4
|
import { Box } from "../../layout/Box/Box.js";
|
|
4
5
|
import { text } from "./text.css.js";
|
|
5
6
|
const Text = ({
|
|
6
7
|
asChild,
|
|
7
8
|
children,
|
|
8
9
|
className,
|
|
10
|
+
color,
|
|
9
11
|
ref,
|
|
10
12
|
tag,
|
|
11
13
|
...restProps
|
|
12
14
|
}) => {
|
|
13
15
|
const Component = tag ?? "span";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const themeClassName = useComponentStyles("text", {
|
|
17
|
+
root: true,
|
|
18
|
+
variants: { color }
|
|
19
|
+
});
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
Box,
|
|
22
|
+
{
|
|
23
|
+
asChild: true,
|
|
24
|
+
className: classnames(text, themeClassName, className),
|
|
25
|
+
color,
|
|
26
|
+
...restProps,
|
|
27
|
+
children: asChild ? children : (
|
|
28
|
+
// biome-ignore lint/suspicious/noExplicitAny: Safe to assert ref as React.RefObject<any>
|
|
29
|
+
/* @__PURE__ */ jsx(Component, { ref, children })
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
);
|
|
18
33
|
};
|
|
19
34
|
export {
|
|
20
35
|
Text
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Atoms, ComponentThemes } from '@blockle/blocks-core';
|
|
2
|
+
export type TextColorRole = ComponentThemes['text']['variants']['color'];
|
|
3
|
+
/**
|
|
4
|
+
* The `color` prop of Text and Heading: a Color role (`muted`), styled by the
|
|
5
|
+
* component theme and following the Color mode, or a Palette atom for Box.
|
|
6
|
+
*
|
|
7
|
+
* The prop goes to both the theme and Box, and each ignores values it doesn't
|
|
8
|
+
* know. Any color also suppresses the theme's default variant, so a Palette
|
|
9
|
+
* color is not overridden by `text.default`.
|
|
10
|
+
*/
|
|
11
|
+
export type TextColor = TextColorRole | Atoms['color'];
|
|
12
|
+
//# sourceMappingURL=textColor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textColor.d.ts","sourceRoot":"","sources":["../../../src/components/typography/textColor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ColorMode, ColorModeSetting } from '@blockle/blocks-core';
|
|
2
|
+
export type UseColorModeResult = {
|
|
3
|
+
/** What the outermost BlocksProvider was given: `light`, `dark` or `system`. */
|
|
4
|
+
colorMode: ColorModeSetting;
|
|
5
|
+
/** The Color mode actually rendered. Under `system` it follows the OS. */
|
|
6
|
+
resolvedColorMode: ColorMode;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The page's Color mode, for JS-driven visuals (charts, canvas, maps) that need
|
|
10
|
+
* to know it. Saving the user's choice and toggling stay the app's job.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useColorMode: () => UseColorModeResult;
|
|
13
|
+
//# sourceMappingURL=useColorMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColorMode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useColorMode/useColorMode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,gBAAgB,EAItB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gFAAgF;IAChF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,0EAA0E;IAC1E,iBAAiB,EAAE,SAAS,CAAC;CAC9B,CAAC;AAyBF;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAO,kBAoB/B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { systemFallbackColorMode, systemColorModeQueries, resolveSystemColorMode } from "@blockle/blocks-core";
|
|
3
|
+
import { useContext, useSyncExternalStore } from "react";
|
|
4
|
+
import { BlocksProviderContext } from "../../components/providers/BlocksProvider/context.js";
|
|
5
|
+
const getServerSnapshot = () => systemFallbackColorMode;
|
|
6
|
+
const getSystemColorMode = () => resolveSystemColorMode((query) => window.matchMedia(query).matches);
|
|
7
|
+
const subscribeToSystemColorMode = (onChange) => {
|
|
8
|
+
const lists = Object.values(systemColorModeQueries).map(
|
|
9
|
+
(query) => window.matchMedia(query)
|
|
10
|
+
);
|
|
11
|
+
for (const list of lists) {
|
|
12
|
+
list.addEventListener("change", onChange);
|
|
13
|
+
}
|
|
14
|
+
return () => {
|
|
15
|
+
for (const list of lists) {
|
|
16
|
+
list.removeEventListener("change", onChange);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
const noopSubscribe = () => () => {
|
|
21
|
+
};
|
|
22
|
+
const useColorMode = () => {
|
|
23
|
+
const context = useContext(BlocksProviderContext);
|
|
24
|
+
if (!context) {
|
|
25
|
+
throw new Error("useColorMode must be called within a BlocksProvider");
|
|
26
|
+
}
|
|
27
|
+
const { colorMode } = context;
|
|
28
|
+
const isSystem = colorMode === "system";
|
|
29
|
+
const systemColorMode = useSyncExternalStore(
|
|
30
|
+
isSystem ? subscribeToSystemColorMode : noopSubscribe,
|
|
31
|
+
isSystem ? getSystemColorMode : getServerSnapshot,
|
|
32
|
+
getServerSnapshot
|
|
33
|
+
);
|
|
34
|
+
return {
|
|
35
|
+
colorMode,
|
|
36
|
+
resolvedColorMode: isSystem ? systemColorMode : colorMode
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
useColorMode
|
|
41
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export { Tooltip, type TooltipProps, } from './components/overlay/Tooltip/Toolti
|
|
|
33
33
|
export { BlocksProvider, type BlocksProviderProps, } from './components/providers/BlocksProvider/BlocksProvider.js';
|
|
34
34
|
export { Heading, type HeadingProps, } from './components/typography/Heading/Heading.js';
|
|
35
35
|
export { Text, type TextProps } from './components/typography/Text/Text.js';
|
|
36
|
+
export { type UseColorModeResult, useColorMode, } from './hooks/useColorMode/useColorMode.js';
|
|
36
37
|
export { useComponentStyleDefaultProps } from './hooks/useComponentStyles/useComponentStyleDefaultProps.js';
|
|
37
38
|
export { useComponentStyles } from './hooks/useComponentStyles/useComponentStyles.js';
|
|
38
39
|
export { useControlledValue } from './hooks/useControlledValue/useControlledValue.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,7 @@ import { Tooltip } from "./components/overlay/Tooltip/Tooltip.js";
|
|
|
33
33
|
import { BlocksProvider } from "./components/providers/BlocksProvider/BlocksProvider.js";
|
|
34
34
|
import { Heading } from "./components/typography/Heading/Heading.js";
|
|
35
35
|
import { Text } from "./components/typography/Text/Text.js";
|
|
36
|
+
import { useColorMode } from "./hooks/useColorMode/useColorMode.js";
|
|
36
37
|
import { useComponentStyleDefaultProps } from "./hooks/useComponentStyles/useComponentStyleDefaultProps.js";
|
|
37
38
|
import { useComponentStyles } from "./hooks/useComponentStyles/useComponentStyles.js";
|
|
38
39
|
import { useControlledValue } from "./hooks/useControlledValue/useControlledValue.js";
|
|
@@ -74,6 +75,7 @@ export {
|
|
|
74
75
|
Tooltip,
|
|
75
76
|
VisuallyHidden,
|
|
76
77
|
createIconMask,
|
|
78
|
+
useColorMode,
|
|
77
79
|
useComponentStyleDefaultProps,
|
|
78
80
|
useComponentStyles,
|
|
79
81
|
useControlledValue,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Resolves a CSS `var(--x)` reference to a computed rgb() string. */
|
|
2
|
+
export declare function resolve(cssVar: string, colorMode: 'light' | 'dark'): Promise<string>;
|
|
3
|
+
export declare function contrast(a: string, b: string): number;
|
|
4
|
+
//# sourceMappingURL=contrast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../../src/testUtils/browser/contrast.tsx"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,mBAYxE;AAeD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAM5C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type EmulatedColorScheme = 'light' | 'dark';
|
|
2
|
+
/**
|
|
3
|
+
* Emulates the OS preference (`prefers-color-scheme`) of the browser under test.
|
|
4
|
+
* Can be called repeatedly to switch mid-test. Chromium only.
|
|
5
|
+
*/
|
|
6
|
+
export declare function emulateColorScheme(scheme: EmulatedColorScheme): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=emulateColorScheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emulateColorScheme.d.ts","sourceRoot":"","sources":["../../../src/testUtils/browser/emulateColorScheme.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { render as browserRender } from 'vitest-browser-react';
|
|
2
|
+
import { BlocksProviderProps } from '../../components/providers/BlocksProvider/BlocksProvider.js';
|
|
3
|
+
type RenderOptions = Parameters<typeof browserRender>[1] & {
|
|
4
|
+
/** Passed to the outermost BlocksProvider. Omit to use its default. */
|
|
5
|
+
colorMode?: BlocksProviderProps['colorMode'];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Renders the UI in a real browser, under BlocksProvider with the momotaro theme.
|
|
9
|
+
* Use for tests that need real computed styles.
|
|
10
|
+
*/
|
|
11
|
+
export declare const render: (ui: Parameters<typeof browserRender>[0], { colorMode, ...options }?: RenderOptions) => Promise<import('vitest-browser-react').RenderResult>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/testUtils/browser/render.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,6DAA6D,CAAC;AAErE,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG;IACzD,uEAAuE;IACvE,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GACjB,IAAI,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EACvC,4BAA2B,aAAkB,yDAU9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testTheme.css.d.ts","sourceRoot":"","sources":["../../src/testUtils/testTheme.css.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"testTheme.css.d.ts","sourceRoot":"","sources":["../../src/testUtils/testTheme.css.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,KAuMvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockle/blocks-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "React hooks and components for Blockle",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@vanilla-extract/css": "^1.18.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@blockle/blocks-core": ">=
|
|
37
|
+
"@blockle/blocks-core": ">=3.0.x",
|
|
38
38
|
"@blockle/blocks-react-slot": ">=1.2.x",
|
|
39
39
|
"@vanilla-extract/css": "^1.18.0",
|
|
40
40
|
"react": ">=19.1.0",
|