@blockle/blocks-react 2.5.0 → 2.5.2
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/display/Divider/Divider.d.ts +6 -2
- package/dist/components/display/Divider/Divider.d.ts.map +1 -1
- package/dist/components/display/Divider/Divider.js +22 -7
- package/dist/components/display/Divider/divider.css.d.ts +1 -0
- package/dist/components/display/Divider/divider.css.d.ts.map +1 -1
- package/dist/components/display/Divider/divider.css.js +31 -3
- package/dist/components/display/Icon/exampleIconMask.d.ts +8 -0
- package/dist/components/display/Icon/exampleIconMask.d.ts.map +1 -0
- package/dist/components/form/NumericInput/NumericInput.d.ts +1 -1
- package/dist/components/form/NumericInput/NumericInput.d.ts.map +1 -1
- package/dist/components/form/Slider/Slider.d.ts +2 -2
- package/dist/components/form/Slider/Slider.d.ts.map +1 -1
- package/dist/components/form/Textarea/Textarea.d.ts +2 -2
- package/dist/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/typography/Heading/Heading.d.ts +1 -1
- package/dist/components/typography/Heading/Heading.d.ts.map +1 -1
- package/dist/components/typography/Text/Text.d.ts +1 -1
- package/dist/components/typography/Text/Text.d.ts.map +1 -1
- package/dist/hooks/useComponentStyles/useComponentStyles.d.ts +1 -1
- package/dist/hooks/useComponentStyles/useComponentStyles.d.ts.map +1 -1
- package/dist/hooks/useComponentStyles/useComponentStyles.js +4 -68
- package/package.json +1 -1
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { Atoms } from '@blockle/blocks-core';
|
|
1
|
+
import { Atoms, ComponentThemes, vars } from '@blockle/blocks-core';
|
|
2
2
|
export type DividerProps = {
|
|
3
|
+
alignment?: 'start' | 'center' | 'end';
|
|
3
4
|
className?: string;
|
|
4
|
-
color?:
|
|
5
|
+
color?: keyof typeof vars.color;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
size?: ComponentThemes['divider']['variants']['size'];
|
|
5
8
|
style?: React.CSSProperties;
|
|
9
|
+
gap?: Atoms['gap'];
|
|
6
10
|
};
|
|
7
11
|
export declare const Divider: React.FC<DividerProps>;
|
|
8
12
|
//# sourceMappingURL=Divider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/components/display/Divider/Divider.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/components/display/Divider/Divider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,eAAe,EAEpB,IAAI,EACL,MAAM,sBAAsB,CAAC;AAa9B,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8B1C,CAAC"}
|
|
@@ -1,25 +1,40 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { classnames } from "@blockle/blocks-core";
|
|
4
|
-
import { useComponentStyleDefaultProps } from "../../../hooks/useComponentStyles/useComponentStyleDefaultProps.js";
|
|
3
|
+
import { vars, classnames } from "@blockle/blocks-core";
|
|
5
4
|
import { useComponentStyles } from "../../../hooks/useComponentStyles/useComponentStyles.js";
|
|
6
5
|
import { Box } from "../../layout/Box/Box.js";
|
|
7
|
-
import { divider } from "./divider.css.js";
|
|
6
|
+
import { divider, dividerColorVar } from "./divider.css.js";
|
|
7
|
+
function getVanillaVarName(variable) {
|
|
8
|
+
return (variable ?? "").replace(/var\((.+)\)/, "$1");
|
|
9
|
+
}
|
|
10
|
+
const dividerColorVarName = getVanillaVarName(dividerColorVar);
|
|
8
11
|
const Divider = ({
|
|
12
|
+
alignment = "center",
|
|
9
13
|
className,
|
|
10
14
|
color,
|
|
15
|
+
children,
|
|
16
|
+
size,
|
|
17
|
+
gap = 2,
|
|
11
18
|
...restProps
|
|
12
19
|
}) => {
|
|
13
|
-
const dividerClass = useComponentStyles("divider", {
|
|
14
|
-
|
|
20
|
+
const dividerClass = useComponentStyles("divider", {
|
|
21
|
+
root: true,
|
|
22
|
+
variants: { size }
|
|
23
|
+
});
|
|
15
24
|
return /* @__PURE__ */ jsx(
|
|
16
25
|
Box,
|
|
17
26
|
{
|
|
18
27
|
role: "separator",
|
|
28
|
+
"aria-orientation": "horizontal",
|
|
19
29
|
inlineSize: "full",
|
|
20
|
-
|
|
30
|
+
gap,
|
|
21
31
|
className: classnames(className, dividerClass, divider),
|
|
22
|
-
|
|
32
|
+
"data-alignment": alignment,
|
|
33
|
+
style: {
|
|
34
|
+
[dividerColorVarName]: color ? vars.color[color] : "currentColor"
|
|
35
|
+
},
|
|
36
|
+
...restProps,
|
|
37
|
+
children
|
|
23
38
|
}
|
|
24
39
|
);
|
|
25
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider.css.d.ts","sourceRoot":"","sources":["../../../../src/components/display/Divider/divider.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"divider.css.d.ts","sourceRoot":"","sources":["../../../../src/components/display/Divider/divider.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,oBAAc,CAAC;AAE3C,eAAO,MAAM,OAAO,QAiClB,CAAC"}
|
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
import { setFileScope, endFileScope } from "@vanilla-extract/css/fileScope";
|
|
2
2
|
import { layers } from "@blockle/blocks-core";
|
|
3
|
-
import { style } from "@vanilla-extract/css";
|
|
3
|
+
import { style, createVar } from "@vanilla-extract/css";
|
|
4
4
|
setFileScope("src/components/display/Divider/divider.css.ts", "@blockle/blocks-react");
|
|
5
|
+
const dividerColorVar = createVar();
|
|
5
6
|
const divider = style({
|
|
6
7
|
"@layer": {
|
|
7
8
|
[layers.molecule]: {
|
|
9
|
+
display: "flex",
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
justifyContent: "center",
|
|
8
12
|
clear: "both",
|
|
9
|
-
|
|
13
|
+
minBlockSize: "1px",
|
|
14
|
+
":empty": {
|
|
15
|
+
gap: 0
|
|
16
|
+
},
|
|
17
|
+
":before": {
|
|
18
|
+
flex: 1,
|
|
19
|
+
content: '""',
|
|
20
|
+
display: "block",
|
|
21
|
+
backgroundColor: dividerColorVar
|
|
22
|
+
},
|
|
23
|
+
":after": {
|
|
24
|
+
flex: 1,
|
|
25
|
+
content: '""',
|
|
26
|
+
display: "block",
|
|
27
|
+
backgroundColor: dividerColorVar
|
|
28
|
+
},
|
|
29
|
+
selectors: {
|
|
30
|
+
'&[data-alignment="start"]:before': {
|
|
31
|
+
maxInlineSize: "3rem"
|
|
32
|
+
},
|
|
33
|
+
'&[data-alignment="end"]:after': {
|
|
34
|
+
maxInlineSize: "3rem"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
10
37
|
}
|
|
11
38
|
}
|
|
12
39
|
});
|
|
13
40
|
endFileScope();
|
|
14
41
|
export {
|
|
15
|
-
divider
|
|
42
|
+
divider,
|
|
43
|
+
dividerColorVar
|
|
16
44
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HeroIconName } from './heroicons.js';
|
|
2
|
+
/**
|
|
3
|
+
* EXPORTED ONLY FOR DEMO PURPOSES
|
|
4
|
+
*/
|
|
5
|
+
export declare const HeroIcon: ({ name, ...props }: Omit<import('./IconMask.js').IconMaskProps, "src"> & {
|
|
6
|
+
name: HeroIconName;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=exampleIconMask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exampleIconMask.d.ts","sourceRoot":"","sources":["../../../../src/components/display/Icon/exampleIconMask.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD;;GAEG;AACH,eAAO,MAAM,QAAQ;;6CAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericInput.d.ts","sourceRoot":"","sources":["../../../../src/components/form/NumericInput/NumericInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"NumericInput.d.ts","sourceRoot":"","sources":["../../../../src/components/form/NumericInput/NumericInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,cAAc,CAAC;AAEnB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2CpD,CAAC"}
|
|
@@ -13,8 +13,8 @@ export type SliderProps = {
|
|
|
13
13
|
'aria-labelledby'?: string;
|
|
14
14
|
'aria-valuetext'?: string;
|
|
15
15
|
'aria-label'?: string;
|
|
16
|
-
size
|
|
17
|
-
colorScheme
|
|
16
|
+
size?: SliderTheme['variants']['size'];
|
|
17
|
+
colorScheme?: SliderTheme['variants']['colorScheme'];
|
|
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,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
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,WAAW,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsIxC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HTMLElementProps } from '@blockle/blocks-core';
|
|
2
2
|
export type TextareaProps = {
|
|
3
|
-
value
|
|
4
|
-
ref
|
|
3
|
+
value?: string;
|
|
4
|
+
ref?: React.RefObject<HTMLTextAreaElement>;
|
|
5
5
|
} & HTMLElementProps<HTMLTextAreaElement>;
|
|
6
6
|
export declare const Textarea: React.FC<TextareaProps>;
|
|
7
7
|
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Textarea/Textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMzE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Textarea/Textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAMzE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;CAE5C,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAE1C,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAsB5C,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { HTMLElementProps, MarginAtoms, PaddingAtoms, TextAtoms } from '@blockle
|
|
|
2
2
|
export type HeadingProps = {
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
className?: string;
|
|
5
|
-
level
|
|
5
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
6
6
|
} & TextAtoms & MarginAtoms & PaddingAtoms & HTMLElementProps<HTMLHeadingElement>;
|
|
7
7
|
export declare const Heading: React.FC<HeadingProps>;
|
|
8
8
|
//# 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,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC/B,GAAG,SAAS,GACX,WAAW,GACX,YAAY,GACZ,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiB1C,CAAC"}
|
|
@@ -6,7 +6,7 @@ export type TextProps<Tag extends Tags = 'span'> = {
|
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
ref?: React.Ref<HTMLElementTagNameMap[Tag]>;
|
|
8
8
|
tag?: Tag;
|
|
9
|
-
} & TextAtoms & MarginAtoms & PaddingAtoms & HTMLElementProps<HTMLSpanElement>;
|
|
9
|
+
} & TextAtoms & MarginAtoms & PaddingAtoms & Omit<HTMLElementProps<HTMLSpanElement>, 'children' | 'ref'>;
|
|
10
10
|
export declare const Text: <T extends Tags = "span">({ asChild, children, className, ref, tag, ...restProps }: TextProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
|
12
12
|
//# 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,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,IAAI,GACL,KAAK,GACL,IAAI,GACJ,KAAK,GACL,OAAO,GACP,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;CACX,GAAG,SAAS,GACX,WAAW,GACX,YAAY,GACZ,gBAAgB,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/typography/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,IAAI,GACL,KAAK,GACL,IAAI,GACJ,KAAK,GACL,OAAO,GACP,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;CACX,GAAG,SAAS,GACX,WAAW,GACX,YAAY,GACZ,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;AAE9D,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,0DAO3C,SAAS,CAAC,CAAC,CAAC,4CAad,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ComponentThemesProps } from '@blockle/blocks-core';
|
|
2
|
-
export declare function useComponentStyles<T extends keyof ComponentThemesProps>(name: T,
|
|
2
|
+
export declare function useComponentStyles<T extends keyof ComponentThemesProps>(name: T, styleProps: ComponentThemesProps[T], useDefaultVariants?: boolean): string;
|
|
3
3
|
//# sourceMappingURL=useComponentStyles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComponentStyles.d.ts","sourceRoot":"","sources":["../../../src/hooks/useComponentStyles/useComponentStyles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useComponentStyles.d.ts","sourceRoot":"","sources":["../../../src/hooks/useComponentStyles/useComponentStyles.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,sBAAsB,CAAC;AAI9B,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACrE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,EACnC,kBAAkB,UAAO,GACxB,MAAM,CAIR"}
|
|
@@ -1,73 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { getComponentStyles } from "@blockle/blocks-core";
|
|
2
3
|
import { useTheme } from "../useTheme/useTheme.js";
|
|
3
|
-
function useComponentStyles(name,
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
if (!component) {
|
|
7
|
-
console.warn(`Component ${name} is not defined in the theme`);
|
|
8
|
-
return "";
|
|
9
|
-
}
|
|
10
|
-
const classNames = [];
|
|
11
|
-
const variants = props.variants ?? {};
|
|
12
|
-
const variantsWithDefaults = { ...variants };
|
|
13
|
-
for (const key in props) {
|
|
14
|
-
const value = props[key];
|
|
15
|
-
if (typeof value === "boolean" && value) {
|
|
16
|
-
classNames.push(
|
|
17
|
-
// biome-ignore lint/suspicious/noExplicitAny: type assertion
|
|
18
|
-
component[key]
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
if (!component.variants) {
|
|
23
|
-
return classNames.join(" ");
|
|
24
|
-
}
|
|
25
|
-
const { defaultVariants } = component;
|
|
26
|
-
if (useDefaultVariants && defaultVariants) {
|
|
27
|
-
const keys2 = Object.keys(defaultVariants);
|
|
28
|
-
for (const key of keys2) {
|
|
29
|
-
if (variantsWithDefaults[key] === void 0 && defaultVariants[key]) {
|
|
30
|
-
variantsWithDefaults[key] = defaultVariants[key];
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const keys = Object.keys(variantsWithDefaults);
|
|
35
|
-
const componentVariants = component.variants;
|
|
36
|
-
for (const key of keys) {
|
|
37
|
-
const value = variantsWithDefaults[key];
|
|
38
|
-
if (value === void 0 || componentVariants[key] === void 0) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
if (typeof value === "boolean") {
|
|
42
|
-
if (value && componentVariants[key]) {
|
|
43
|
-
classNames.push(componentVariants[key]);
|
|
44
|
-
}
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
const variant = componentVariants[key][value];
|
|
48
|
-
if (variant) {
|
|
49
|
-
classNames.push(variant);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const { compoundVariants } = component;
|
|
53
|
-
if (compoundVariants) {
|
|
54
|
-
for (const compoundVariant of compoundVariants) {
|
|
55
|
-
const keys2 = Object.keys(
|
|
56
|
-
compoundVariant.variants
|
|
57
|
-
);
|
|
58
|
-
const matches = keys2.every((key) => {
|
|
59
|
-
const value = variantsWithDefaults[key];
|
|
60
|
-
if (value === void 0) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
return value === compoundVariant.variants[key];
|
|
64
|
-
});
|
|
65
|
-
if (matches) {
|
|
66
|
-
classNames.push(compoundVariant.style);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return classNames.join(" ");
|
|
4
|
+
function useComponentStyles(name, styleProps, useDefaultVariants = true) {
|
|
5
|
+
const theme = useTheme();
|
|
6
|
+
return getComponentStyles(theme, name, styleProps, useDefaultVariants);
|
|
71
7
|
}
|
|
72
8
|
export {
|
|
73
9
|
useComponentStyles
|