@cck-ui/core 0.2.0 → 0.3.3
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/cjs/components/button/button-group/button-group.cjs +1 -1
- package/cjs/components/button/button-group/button-group.cjs.map +1 -1
- package/cjs/components/button/button-group/use-button-group.cjs +2 -1
- package/cjs/components/button/button-group/use-button-group.cjs.map +1 -1
- package/cjs/components/button/button-group-section/button-group-section.cjs +1 -1
- package/cjs/components/button/button-group-section/button-group-section.cjs.map +1 -1
- package/cjs/components/button/button.cjs +99 -68
- package/cjs/components/button/button.cjs.map +1 -1
- package/cjs/components/button/button.module.cjs.map +1 -1
- package/cjs/components/grid/col/col-custom.cjs +2 -3
- package/cjs/components/grid/col/col-custom.cjs.map +1 -1
- package/cjs/components/grid/col/col.cjs +31 -23
- package/cjs/components/grid/col/col.cjs.map +1 -1
- package/cjs/components/grid/grid-custom.cjs +2 -3
- package/cjs/components/grid/grid-custom.cjs.map +1 -1
- package/cjs/components/grid/grid.cjs +50 -38
- package/cjs/components/grid/grid.cjs.map +1 -1
- package/cjs/components/group/group.cjs +1 -1
- package/cjs/components/group/group.cjs.map +1 -1
- package/cjs/components/loader/loader.cjs +44 -36
- package/cjs/components/loader/loader.cjs.map +1 -1
- package/cjs/components/loader/loaders/bars.cjs +1 -1
- package/cjs/components/loader/loaders/bars.cjs.map +1 -1
- package/cjs/components/loader/loaders/dots.cjs +1 -1
- package/cjs/components/loader/loaders/dots.cjs.map +1 -1
- package/cjs/components/loader/loaders/oval.cjs +1 -1
- package/cjs/components/loader/loaders/oval.cjs.map +1 -1
- package/cjs/components/simple-grid/simple-grid-custom.cjs +2 -3
- package/cjs/components/simple-grid/simple-grid-custom.cjs.map +1 -1
- package/cjs/components/simple-grid/simple-grid.cjs +35 -30
- package/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
- package/cjs/components/text/text.cjs +50 -43
- package/cjs/components/text/text.cjs.map +1 -1
- package/cjs/components/text/text.module.cjs.map +1 -1
- package/cjs/components/transition/get-transition-props/get-transition-props.cjs +17 -0
- package/cjs/components/transition/get-transition-props/get-transition-props.cjs.map +1 -0
- package/cjs/components/transition/get-transition-styles/get-transition-styles.cjs +37 -0
- package/cjs/components/transition/get-transition-styles/get-transition-styles.cjs.map +1 -0
- package/cjs/components/transition/index.cjs +14 -0
- package/cjs/components/transition/index.cjs.map +1 -0
- package/cjs/components/transition/transition.cjs +140 -0
- package/cjs/components/transition/transition.cjs.map +1 -0
- package/cjs/components/transition/transitions.cjs +220 -0
- package/cjs/components/transition/transitions.cjs.map +1 -0
- package/cjs/components/transition/use-transition.cjs +84 -0
- package/cjs/components/transition/use-transition.cjs.map +1 -0
- package/cjs/components/unstyled-button/unstyled-button.cjs +32 -22
- package/cjs/components/unstyled-button/unstyled-button.cjs.map +1 -1
- package/cjs/core/box/box.cjs +40 -46
- package/cjs/core/box/box.cjs.map +1 -1
- package/cjs/core/box/get-box-mod/get-box-mod.cjs.map +1 -1
- package/cjs/core/box/style-props/parse-style-props/parse-style-props.cjs +1 -1
- package/cjs/core/box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
- package/cjs/core/config-provider/baseline.cjs +1 -0
- package/cjs/core/config-provider/cck-css-variables/default-css-variables-resolver.cjs +138 -0
- package/cjs/core/config-provider/cck-css-variables/default-css-variables-resolver.cjs.map +1 -0
- package/cjs/core/config-provider/cck-css-variables/get-css-color-variables.cjs +64 -0
- package/cjs/core/config-provider/cck-css-variables/get-css-color-variables.cjs.map +1 -0
- package/cjs/core/config-provider/cck-css-variables/virtual-color/virtual-color.cjs +39 -0
- package/cjs/core/config-provider/cck-css-variables/virtual-color/virtual-color.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/colors-tuple/colors-tuple.cjs +10 -0
- package/cjs/core/config-provider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs +22 -0
- package/cjs/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
- package/cjs/core/config-provider/color-functions/get-contrast-color/get-contrast-color.cjs +39 -0
- package/cjs/core/config-provider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
- package/cjs/core/config-provider/color-scheme-managers/is-cck-color-scheme.cjs +9 -0
- package/cjs/core/config-provider/color-scheme-managers/is-cck-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/color-scheme-managers/local-storage-manager.cjs +40 -0
- package/cjs/core/config-provider/color-scheme-managers/local-storage-manager.cjs.map +1 -0
- package/cjs/core/config-provider/config-provider.cjs +65 -11
- package/cjs/core/config-provider/config-provider.cjs.map +1 -1
- package/cjs/core/config-provider/config-provider.context.cjs +5 -0
- package/cjs/core/config-provider/config-provider.context.cjs.map +1 -1
- package/cjs/core/config-provider/config-provider.types.cjs +1 -1
- package/cjs/core/config-provider/config-provider.types.cjs.map +1 -1
- package/cjs/core/config-provider/create-theme/create-theme.cjs +8 -0
- package/cjs/core/config-provider/create-theme/create-theme.cjs.map +1 -0
- package/cjs/core/config-provider/default-css-variables.cjs +1 -0
- package/cjs/core/config-provider/global.cjs +1 -0
- package/cjs/core/config-provider/index.cjs +18 -2
- package/cjs/core/config-provider/index.cjs.map +1 -1
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs +35 -0
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs.map +1 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.cjs +84 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.cjs +59 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.cjs +14 -0
- package/cjs/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -0
- package/cjs/core/styles-api/use-styles/use-styles.cjs +1 -4
- package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
- package/cjs/index.cjs +39 -17
- package/esm/components/button/button-group/button-group.mjs +1 -1
- package/esm/components/button/button-group/button-group.mjs.map +1 -1
- package/esm/components/button/button-group/use-button-group.mjs +2 -1
- package/esm/components/button/button-group/use-button-group.mjs.map +1 -1
- package/esm/components/button/button-group-section/button-group-section.mjs +1 -1
- package/esm/components/button/button-group-section/button-group-section.mjs.map +1 -1
- package/esm/components/button/button.mjs +100 -69
- package/esm/components/button/button.mjs.map +1 -1
- package/esm/components/button/button.module.mjs.map +1 -1
- package/esm/components/grid/col/col-custom.mjs +3 -4
- package/esm/components/grid/col/col-custom.mjs.map +1 -1
- package/esm/components/grid/col/col.mjs +32 -24
- package/esm/components/grid/col/col.mjs.map +1 -1
- package/esm/components/grid/grid-custom.mjs +3 -4
- package/esm/components/grid/grid-custom.mjs.map +1 -1
- package/esm/components/grid/grid.mjs +51 -39
- package/esm/components/grid/grid.mjs.map +1 -1
- package/esm/components/group/group.mjs +1 -1
- package/esm/components/group/group.mjs.map +1 -1
- package/esm/components/loader/loader.mjs +43 -35
- package/esm/components/loader/loader.mjs.map +1 -1
- package/esm/components/loader/loaders/bars.mjs +1 -1
- package/esm/components/loader/loaders/bars.mjs.map +1 -1
- package/esm/components/loader/loaders/dots.mjs +1 -1
- package/esm/components/loader/loaders/dots.mjs.map +1 -1
- package/esm/components/loader/loaders/oval.mjs +1 -1
- package/esm/components/loader/loaders/oval.mjs.map +1 -1
- package/esm/components/simple-grid/simple-grid-custom.mjs +3 -4
- package/esm/components/simple-grid/simple-grid-custom.mjs.map +1 -1
- package/esm/components/simple-grid/simple-grid.mjs +35 -30
- package/esm/components/simple-grid/simple-grid.mjs.map +1 -1
- package/esm/components/text/text.mjs +50 -43
- package/esm/components/text/text.mjs.map +1 -1
- package/esm/components/text/text.module.mjs.map +1 -1
- package/esm/components/transition/get-transition-props/get-transition-props.mjs +17 -0
- package/esm/components/transition/get-transition-props/get-transition-props.mjs.map +1 -0
- package/esm/components/transition/get-transition-styles/get-transition-styles.mjs +37 -0
- package/esm/components/transition/get-transition-styles/get-transition-styles.mjs.map +1 -0
- package/esm/components/transition/index.mjs +11 -0
- package/esm/components/transition/index.mjs.map +1 -0
- package/esm/components/transition/transition.mjs +140 -0
- package/esm/components/transition/transition.mjs.map +1 -0
- package/esm/components/transition/transitions.mjs +220 -0
- package/esm/components/transition/transitions.mjs.map +1 -0
- package/esm/components/transition/use-transition.mjs +84 -0
- package/esm/components/transition/use-transition.mjs.map +1 -0
- package/esm/components/unstyled-button/unstyled-button.mjs +33 -23
- package/esm/components/unstyled-button/unstyled-button.mjs.map +1 -1
- package/esm/core/box/box.mjs +41 -47
- package/esm/core/box/box.mjs.map +1 -1
- package/esm/core/box/get-box-mod/get-box-mod.mjs.map +1 -1
- package/esm/core/box/style-props/parse-style-props/parse-style-props.mjs +1 -1
- package/esm/core/box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
- package/esm/core/config-provider/baseline.mjs +1 -0
- package/esm/core/config-provider/cck-css-variables/default-css-variables-resolver.mjs +138 -0
- package/esm/core/config-provider/cck-css-variables/default-css-variables-resolver.mjs.map +1 -0
- package/esm/core/config-provider/cck-css-variables/get-css-color-variables.mjs +64 -0
- package/esm/core/config-provider/cck-css-variables/get-css-color-variables.mjs.map +1 -0
- package/esm/core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs +38 -0
- package/esm/core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/colors-tuple/colors-tuple.mjs +10 -0
- package/esm/core/config-provider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +22 -0
- package/esm/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
- package/esm/core/config-provider/color-functions/get-contrast-color/get-contrast-color.mjs +37 -0
- package/esm/core/config-provider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
- package/esm/core/config-provider/color-scheme-managers/is-cck-color-scheme.mjs +9 -0
- package/esm/core/config-provider/color-scheme-managers/is-cck-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/color-scheme-managers/local-storage-manager.mjs +40 -0
- package/esm/core/config-provider/color-scheme-managers/local-storage-manager.mjs.map +1 -0
- package/esm/core/config-provider/config-provider.context.mjs +7 -3
- package/esm/core/config-provider/config-provider.context.mjs.map +1 -1
- package/esm/core/config-provider/config-provider.mjs +66 -12
- package/esm/core/config-provider/config-provider.mjs.map +1 -1
- package/esm/core/config-provider/config-provider.types.mjs +1 -1
- package/esm/core/config-provider/config-provider.types.mjs.map +1 -1
- package/esm/core/config-provider/create-theme/create-theme.mjs +8 -0
- package/esm/core/config-provider/create-theme/create-theme.mjs.map +1 -0
- package/esm/core/config-provider/default-css-variables.mjs +1 -0
- package/esm/core/config-provider/global.mjs +1 -0
- package/esm/core/config-provider/index.mjs +10 -3
- package/esm/core/config-provider/index.mjs.map +1 -1
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs +32 -0
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs.map +1 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs +84 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs +59 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.mjs +14 -0
- package/esm/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -0
- package/esm/core/styles-api/use-styles/use-styles.mjs +2 -5
- package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
- package/esm/index.mjs +13 -3
- package/lib/components/button/button.types.d.ts +1 -11
- package/lib/components/index.d.ts +1 -0
- package/lib/components/text/text.types.d.ts +1 -1
- package/lib/components/transition/get-transition-props/get-transition-props.d.ts +5 -0
- package/lib/components/transition/get-transition-styles/get-transition-styles.d.ts +17 -0
- package/lib/components/transition/index.d.ts +8 -0
- package/lib/components/transition/transition.types.d.ts +66 -0
- package/lib/components/transition/transitions.d.ts +10 -0
- package/lib/components/transition/use-transition.d.ts +20 -0
- package/lib/core/box/style-props/parse-style-props/parse-style-props.d.ts +1 -1
- package/lib/core/config-provider/cck-css-variables/index.d.ts +3 -0
- package/lib/core/config-provider/cck-css-variables/virtual-color/virtual-color.d.ts +1 -1
- package/lib/core/config-provider/color-functions/index.d.ts +2 -1
- package/lib/core/config-provider/color-functions/parse-theme-color/parse-theme-color.d.ts +1 -1
- package/lib/core/config-provider/color-scheme-managers/index.d.ts +4 -0
- package/lib/core/config-provider/color-scheme-managers/is-cck-color-scheme.d.ts +2 -0
- package/lib/core/config-provider/color-scheme-managers/local-storage-manager.d.ts +5 -0
- package/lib/core/config-provider/color-scheme-managers/types.d.ts +30 -0
- package/lib/core/config-provider/config-provider.context.d.ts +4 -3
- package/lib/core/config-provider/config-provider.types.d.ts +10 -4
- package/lib/core/config-provider/create-theme/create-theme.d.ts +2 -0
- package/lib/core/config-provider/index.d.ts +3 -0
- package/lib/core/config-provider/merge-cck-theme/index.d.ts +1 -0
- package/lib/core/config-provider/merge-cck-theme/merge-cck-theme.d.ts +5 -0
- package/lib/core/config-provider/use-cck-color-scheme/index.d.ts +2 -0
- package/lib/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.d.ts +10 -0
- package/lib/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.d.ts +15 -0
- package/lib/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.d.ts +7 -0
- package/package.json +3 -1
- package/styles/button.css +5 -9
- package/styles/button.layer.css +5 -9
- package/styles/default-css-variables.css +30 -30
- package/styles/default-css-variables.layer.css +30 -30
- package/styles/text.css +10 -0
- package/styles/text.layer.css +10 -0
- package/styles.css +1482 -232
- package/styles.layer.css +1483 -233
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { CONFIG_KEY, THEME_KEY } from "./config-provider.types.mjs";
|
|
3
|
+
import { useProviderColorScheme } from "./use-cck-color-scheme/use-provider-color-scheme.mjs";
|
|
4
|
+
import { localStorageColorSchemeManager } from "./color-scheme-managers/local-storage-manager.mjs";
|
|
5
|
+
import { useRespectReduceMotion } from "./use-respect-reduce-motion/use-respect-reduce-motion.mjs";
|
|
6
|
+
import { DEFAULT_THEME } from "./default-theme.mjs";
|
|
7
|
+
import { mergeCckTheme } from "./merge-cck-theme/merge-cck-theme.mjs";
|
|
8
|
+
import "./baseline.mjs";
|
|
9
|
+
import "./global.mjs";
|
|
10
|
+
import "./default-css-variables.mjs";
|
|
3
11
|
import export_helper_default from "../../_virtual/_/plugin-vue/export-helper.mjs";
|
|
4
|
-
import { defineComponent, provide, renderSlot } from "vue";
|
|
12
|
+
import { computed, defineComponent, provide, renderSlot } from "vue";
|
|
5
13
|
//#region packages/@cck-ui/core/src/core/config-provider/config-provider.vue
|
|
6
14
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
7
15
|
name: "CckConfigProvider",
|
|
@@ -11,9 +19,15 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
11
19
|
type: null,
|
|
12
20
|
required: false
|
|
13
21
|
},
|
|
22
|
+
colorSchemeManager: {
|
|
23
|
+
type: Object,
|
|
24
|
+
required: false,
|
|
25
|
+
default: () => localStorageColorSchemeManager()
|
|
26
|
+
},
|
|
14
27
|
defaultColorScheme: {
|
|
15
28
|
type: String,
|
|
16
|
-
required: false
|
|
29
|
+
required: false,
|
|
30
|
+
default: "light"
|
|
17
31
|
},
|
|
18
32
|
forceColorScheme: {
|
|
19
33
|
type: String,
|
|
@@ -21,27 +35,33 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
21
35
|
},
|
|
22
36
|
cssVariablesSelector: {
|
|
23
37
|
type: String,
|
|
24
|
-
required: false
|
|
38
|
+
required: false,
|
|
39
|
+
default: ":root"
|
|
25
40
|
},
|
|
26
41
|
withCssVariables: {
|
|
27
42
|
type: Boolean,
|
|
28
|
-
required: false
|
|
43
|
+
required: false,
|
|
44
|
+
default: true
|
|
29
45
|
},
|
|
30
46
|
getRootElement: {
|
|
31
47
|
type: Function,
|
|
32
|
-
required: false
|
|
48
|
+
required: false,
|
|
49
|
+
default: () => document.documentElement
|
|
33
50
|
},
|
|
34
51
|
classNamesPrefix: {
|
|
35
52
|
type: String,
|
|
36
|
-
required: false
|
|
53
|
+
required: false,
|
|
54
|
+
default: "c"
|
|
37
55
|
},
|
|
38
56
|
withStaticClasses: {
|
|
39
57
|
type: Boolean,
|
|
40
|
-
required: false
|
|
58
|
+
required: false,
|
|
59
|
+
default: true
|
|
41
60
|
},
|
|
42
61
|
withGlobalClasses: {
|
|
43
62
|
type: Boolean,
|
|
44
|
-
required: false
|
|
63
|
+
required: false,
|
|
64
|
+
default: true
|
|
45
65
|
},
|
|
46
66
|
stylesTransform: {
|
|
47
67
|
type: Object,
|
|
@@ -55,9 +75,43 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
55
75
|
setup(__props, { expose: __expose }) {
|
|
56
76
|
__expose();
|
|
57
77
|
const config = __props;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
78
|
+
const { defaultColorScheme, forceColorScheme, colorSchemeManager, getRootElement, theme: userTheme } = config;
|
|
79
|
+
const finalTheme = computed(() => {
|
|
80
|
+
if (userTheme) return mergeCckTheme(DEFAULT_THEME, userTheme);
|
|
81
|
+
return DEFAULT_THEME;
|
|
82
|
+
});
|
|
83
|
+
const { colorScheme, setColorScheme, clearColorScheme } = useProviderColorScheme({
|
|
84
|
+
defaultColorScheme,
|
|
85
|
+
forceColorScheme,
|
|
86
|
+
manager: colorSchemeManager,
|
|
87
|
+
getRootElement
|
|
88
|
+
});
|
|
89
|
+
useRespectReduceMotion({
|
|
90
|
+
respectReduceMotion: config.theme?.respectReducedMotion || false,
|
|
91
|
+
getRootElement
|
|
92
|
+
});
|
|
93
|
+
const { theme: _excludedTheme, ...configWithoutTheme } = config;
|
|
94
|
+
provide(CONFIG_KEY, {
|
|
95
|
+
...configWithoutTheme,
|
|
96
|
+
colorScheme,
|
|
97
|
+
setColorScheme,
|
|
98
|
+
clearColorScheme
|
|
99
|
+
});
|
|
100
|
+
provide(THEME_KEY, finalTheme);
|
|
101
|
+
const __returned__ = {
|
|
102
|
+
config,
|
|
103
|
+
defaultColorScheme,
|
|
104
|
+
forceColorScheme,
|
|
105
|
+
colorSchemeManager,
|
|
106
|
+
getRootElement,
|
|
107
|
+
userTheme,
|
|
108
|
+
finalTheme,
|
|
109
|
+
colorScheme,
|
|
110
|
+
setColorScheme,
|
|
111
|
+
clearColorScheme,
|
|
112
|
+
_excludedTheme,
|
|
113
|
+
configWithoutTheme
|
|
114
|
+
};
|
|
61
115
|
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
62
116
|
enumerable: false,
|
|
63
117
|
value: true
|
|
@@ -68,7 +122,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
68
122
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
69
123
|
return renderSlot(_ctx.$slots, "default");
|
|
70
124
|
}
|
|
71
|
-
var config_provider_default = /*#__PURE__*/ export_helper_default(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
125
|
+
var config_provider_default = /*#__PURE__*/ export_helper_default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/core/config-provider/config-provider.vue"]]);
|
|
72
126
|
//#endregion
|
|
73
127
|
export { config_provider_default as default };
|
|
74
128
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.mjs","names":[],"sources":["../../../src/core/config-provider/config-provider.vue"
|
|
1
|
+
{"version":3,"file":"config-provider.mjs","names":[],"sources":["../../../src/core/config-provider/config-provider.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, provide } from 'vue'\nimport { CONFIG_KEY, type ConfigProviderProps, THEME_KEY } from './config-provider.types'\nimport { useProviderColorScheme } from './use-cck-color-scheme/use-provider-color-scheme'\nimport { localStorageColorSchemeManager } from './color-scheme-managers'\nimport { useRespectReduceMotion } from './use-respect-reduce-motion/use-respect-reduce-motion'\nimport { DEFAULT_THEME } from './default-theme'\nimport { mergeCckTheme } from './merge-cck-theme'\nimport { CContextValue } from './config-provider.context'\nimport './baseline.css'\nimport './global.css'\nimport './default-css-variables.css'\n\ndefineOptions({\n name: 'CckConfigProvider',\n})\n\nconst config = withDefaults(defineProps<ConfigProviderProps>(), {\n withStaticClasses: true,\n withGlobalClasses: true,\n withCssVariables: true,\n classNamesPrefix: 'c',\n defaultColorScheme: 'light',\n cssVariablesSelector: ':root',\n colorSchemeManager: () => localStorageColorSchemeManager(),\n getRootElement: () => document.documentElement,\n})\n\nconst {\n defaultColorScheme,\n forceColorScheme,\n colorSchemeManager,\n getRootElement,\n theme: userTheme,\n} = config\n\nconst finalTheme = computed(() => {\n if (userTheme) {\n return mergeCckTheme(DEFAULT_THEME, userTheme)\n }\n\n return DEFAULT_THEME\n})\n\nconst { colorScheme, setColorScheme, clearColorScheme } = useProviderColorScheme({\n defaultColorScheme,\n forceColorScheme,\n manager: colorSchemeManager,\n getRootElement,\n})\n\nuseRespectReduceMotion({\n respectReduceMotion: config.theme?.respectReducedMotion || false,\n getRootElement,\n})\n\nconst { theme: _excludedTheme, ...configWithoutTheme } = config\nprovide<CContextValue>(CONFIG_KEY, {\n ...configWithoutTheme,\n colorScheme,\n setColorScheme,\n clearColorScheme,\n})\nprovide(THEME_KEY, finalTheme)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBA,MAAM,SAAS;EAWf,MAAM,EACJ,oBACA,kBACA,oBACA,gBACA,OAAO,cACL;EAEJ,MAAM,aAAa,eAAe;GAChC,IAAI,WACF,OAAO,cAAc,eAAe,SAAS;GAG/C,OAAO;EACT,CAAC;EAED,MAAM,EAAE,aAAa,gBAAgB,qBAAqB,uBAAuB;GAC/E;GACA;GACA,SAAS;GACT;EACF,CAAC;EAED,uBAAuB;GACrB,qBAAqB,OAAO,OAAO,wBAAwB;GAC3D;EACF,CAAC;EAED,MAAM,EAAE,OAAO,gBAAgB,GAAG,uBAAuB;EACzD,QAAuB,YAAY;GACjC,GAAG;GACH;GACA;GACA;EACF,CAAC;EACD,QAAQ,WAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;QAlE3B,WAAQ,KAAA,QAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
//#region packages/@cck-ui/core/src/core/config-provider/config-provider.types.ts
|
|
3
3
|
const CONFIG_KEY = Symbol("CCK_CONFIG_KEY");
|
|
4
|
-
const THEME_KEY = Symbol("
|
|
4
|
+
const THEME_KEY = Symbol("CCK_THEME");
|
|
5
5
|
//#endregion
|
|
6
6
|
export { CONFIG_KEY, THEME_KEY };
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider.types.mjs","names":[],"sources":["../../../src/core/config-provider/config-provider.types.ts"],"sourcesContent":["import { CStylesTransform } from './config-provider.context'\nimport { CColorScheme, CThemeOverride } from './theme.types'\n\nexport const CONFIG_KEY = Symbol('CCK_CONFIG_KEY')\n\nexport const THEME_KEY = Symbol('
|
|
1
|
+
{"version":3,"file":"config-provider.types.mjs","names":[],"sources":["../../../src/core/config-provider/config-provider.types.ts"],"sourcesContent":["import { ComputedRef, InjectionKey } from 'vue'\nimport { CColorSchemeManager } from './color-scheme-managers/types'\nimport { CContextValue, CStylesTransform } from './config-provider.context'\nimport { CColorScheme, CTheme, CThemeOverride } from './theme.types'\n\nexport const CONFIG_KEY: InjectionKey<CContextValue> = Symbol('CCK_CONFIG_KEY')\n\nexport const THEME_KEY: InjectionKey<ComputedRef<CTheme>> = Symbol('CCK_THEME')\n\nexport interface ConfigProviderProps {\n /**\n * @description Theme override object\n */\n theme?: CThemeOverride\n\n /**\n * @description Used to retrieve/set color scheme value in external storage, by default was `window.localStorage`\n */\n colorSchemeManager?: CColorSchemeManager\n\n /**\n * @description Default color scheme value used when `colorSchemeManager` cannot retrieve value from external storage\n */\n defaultColorScheme?: CColorScheme\n\n /**\n * @description Forces color scheme value, if set, useTheme ignores `colorSchemeManager` and `defaultColorScheme`\n */\n forceColorScheme?: 'light' | 'dark'\n\n /**\n * @description CSS selector to which CSS variales should be added\n */\n cssVariablesSelector?: string\n\n /**\n * @description Determines whether theme CSS variables should be added to given `cssVariablesSelector`\n */\n withCssVariables?: boolean\n\n /**\n * @description Function to resolve root element to set `data-c-color-scheme` attribute\n * @returns root element, must return undefined on server\n */\n getRootElement?: () => HTMLElement | undefined\n\n /**\n * @description A prefix for components static classes (for example `${prefix}-text__root`)\n */\n classNamesPrefix?: string\n\n /**\n * @description Determines whether components should have static classes, for example `c-button__root`\n */\n withStaticClasses?: boolean\n\n /**\n * @description Determines whether global classes should be added with `<style />` tag. Global classes are required for `hiddenFrom`/`visibleFrom` and `lightHidden`/`darkHidden` props to work.\n * @default true\n */\n withGlobalClasses?: boolean\n\n /**\n * An object to transform `styles` and `sx` props into css classes, can be used with CSS-in-JS libraries\n */\n stylesTransform?: CStylesTransform\n\n /**\n * @description Enviroment at which the useTheme is used, `'test'` environment disables all transitions and portals\n */\n env?: 'default' | 'test'\n}\n"],"mappings":";;AAKA,MAAa,aAA0C,OAAO,gBAAgB;AAE9E,MAAa,YAA+C,OAAO,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-theme.mjs","names":[],"sources":["../../../../src/core/config-provider/create-theme/create-theme.ts"],"sourcesContent":["import { CThemeOverride } from '../theme.types'\n\nexport function createTheme(theme: CThemeOverride): CThemeOverride {\n return theme\n}\n"],"mappings":";AAEA,SAAgB,YAAY,OAAuC;CACjE,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { withInstall } from "../utils/vue/install.mjs";
|
|
3
3
|
import { CONFIG_KEY, THEME_KEY } from "./config-provider.types.mjs";
|
|
4
|
-
import
|
|
4
|
+
import { useProviderColorScheme } from "./use-cck-color-scheme/use-provider-color-scheme.mjs";
|
|
5
|
+
import { colorsTuple } from "./color-functions/colors-tuple/colors-tuple.mjs";
|
|
5
6
|
import { toRgba } from "./color-functions/to-rgba/to-rgba.mjs";
|
|
6
7
|
import { darken } from "./color-functions/darken/darken.mjs";
|
|
7
8
|
import { alpha, rgba } from "./color-functions/rgba/rgba.mjs";
|
|
@@ -11,11 +12,17 @@ import { parseThemeColor } from "./color-functions/parse-theme-color/parse-theme
|
|
|
11
12
|
import { getThemeColor } from "./color-functions/get-theme-color/get-theme-color.mjs";
|
|
12
13
|
import { getGradient } from "./color-functions/get-gradient/get-gradient.mjs";
|
|
13
14
|
import { defaultVariantColorsResolver } from "./color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs";
|
|
14
|
-
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckWithStaticClasses, useConfigContext } from "./config-provider.context.mjs";
|
|
15
15
|
import { DEFAULT_THEME } from "./default-theme.mjs";
|
|
16
|
+
import config_provider_default from "./config-provider.mjs";
|
|
17
|
+
import { isVirtualColor, virtualColor } from "./cck-css-variables/virtual-color/virtual-color.mjs";
|
|
18
|
+
import { getCSSColorVariables } from "./cck-css-variables/get-css-color-variables.mjs";
|
|
19
|
+
import { defaultCssVariablesResolver } from "./cck-css-variables/default-css-variables-resolver.mjs";
|
|
20
|
+
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext } from "./config-provider.context.mjs";
|
|
21
|
+
import { createTheme } from "./create-theme/create-theme.mjs";
|
|
22
|
+
import { useCckColorScheme } from "./use-cck-color-scheme/use-cck-color-scheme.mjs";
|
|
16
23
|
//#region packages/@cck-ui/core/src/core/config-provider/index.ts
|
|
17
24
|
const CckConfigProvider = withInstall(config_provider_default);
|
|
18
25
|
//#endregion
|
|
19
|
-
export { CONFIG_KEY, CckConfigProvider, CckConfigProvider as default, DEFAULT_THEME, THEME_KEY, alpha, darken, defaultVariantColorsResolver, getGradient, getPrimaryShade, getThemeColor, isLightColor, luminance, parseThemeColor, rgba, toRgba, useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckWithStaticClasses, useConfigContext };
|
|
26
|
+
export { CONFIG_KEY, CckConfigProvider, CckConfigProvider as default, DEFAULT_THEME, THEME_KEY, alpha, colorsTuple, createTheme, darken, defaultCssVariablesResolver, defaultVariantColorsResolver, getCSSColorVariables, getGradient, getPrimaryShade, getThemeColor, isLightColor, isVirtualColor, luminance, parseThemeColor, rgba, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext, useProviderColorScheme, virtualColor };
|
|
20
27
|
|
|
21
28
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["ConfigProvider"],"sources":["../../../src/core/config-provider/index.ts"],"sourcesContent":["import { SFCWithInstall, withInstall } from '../utils'\nimport ConfigProvider from './config-provider.vue'\n\nexport * from './color-functions'\nexport * from './config-provider.context'\nexport * from './config-provider.types'\nexport * from './default-theme'\nexport * from './theme.types'\n\nexport const CckConfigProvider: SFCWithInstall<typeof ConfigProvider> = withInstall(ConfigProvider)\nexport default CckConfigProvider\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["ConfigProvider"],"sources":["../../../src/core/config-provider/index.ts"],"sourcesContent":["import { SFCWithInstall, withInstall } from '../utils'\nimport ConfigProvider from './config-provider.vue'\n\nexport * from './cck-css-variables'\nexport * from './color-functions'\nexport * from './config-provider.context'\nexport * from './config-provider.types'\nexport * from './create-theme/create-theme'\nexport * from './default-theme'\nexport * from './theme.types'\nexport * from './use-cck-color-scheme'\n\nexport const CckConfigProvider: SFCWithInstall<typeof ConfigProvider> = withInstall(ConfigProvider)\nexport default CckConfigProvider\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,oBAA2D,YAAYA,uBAAc"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { merge } from "es-toolkit";
|
|
2
|
+
//#region packages/@cck-ui/core/src/core/config-provider/merge-cck-theme/merge-cck-theme.ts
|
|
3
|
+
const INVALID_PRIMARY_COLOR_ERROR = "[@cck-ui/core] ConfigProvider: Invalid theme.primaryColor, it accepts only key of theme.colors";
|
|
4
|
+
const INVALID_PRIMARY_SHADE_ERROR = "[@cck-ui/core] ConfigProvider: Invalid theme.primaryShade, it accepts only 0-9 integers or an object { light: 0-9, dark: 0-9 }";
|
|
5
|
+
function isValidPrimaryShade(shade) {
|
|
6
|
+
if (shade < 0 || shade > 9) return false;
|
|
7
|
+
return parseInt(shade.toString(), 10) === shade;
|
|
8
|
+
}
|
|
9
|
+
function validateCckTheme(theme) {
|
|
10
|
+
if (!(theme.primaryColor in theme.colors)) throw new Error(INVALID_PRIMARY_COLOR_ERROR);
|
|
11
|
+
if (typeof theme.primaryShade === "object") {
|
|
12
|
+
if (!isValidPrimaryShade(theme.primaryShade.dark) || !isValidPrimaryShade(theme.primaryShade.light)) throw new Error(INVALID_PRIMARY_SHADE_ERROR);
|
|
13
|
+
}
|
|
14
|
+
if (typeof theme.primaryShade === "number" && !isValidPrimaryShade(theme.primaryShade)) throw new Error(INVALID_PRIMARY_SHADE_ERROR);
|
|
15
|
+
}
|
|
16
|
+
function mergeCckTheme(currentTheme, themeOverride) {
|
|
17
|
+
if (!themeOverride) {
|
|
18
|
+
validateCckTheme(currentTheme);
|
|
19
|
+
return currentTheme;
|
|
20
|
+
}
|
|
21
|
+
const result = merge(currentTheme, themeOverride);
|
|
22
|
+
if (themeOverride.fontFamily && !themeOverride.headings?.fontFamily) result.headings = {
|
|
23
|
+
...result.headings,
|
|
24
|
+
fontFamily: themeOverride.fontFamily
|
|
25
|
+
};
|
|
26
|
+
validateCckTheme(result);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { INVALID_PRIMARY_COLOR_ERROR, INVALID_PRIMARY_SHADE_ERROR, mergeCckTheme, validateCckTheme };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=merge-cck-theme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-cck-theme.mjs","names":[],"sources":["../../../../src/core/config-provider/merge-cck-theme/merge-cck-theme.ts"],"sourcesContent":["import { merge } from 'es-toolkit'\nimport type { CTheme, CThemeOverride } from '../theme.types'\n\nexport const INVALID_PRIMARY_COLOR_ERROR =\n '[@cck-ui/core] ConfigProvider: Invalid theme.primaryColor, it accepts only key of theme.colors'\n\nexport const INVALID_PRIMARY_SHADE_ERROR =\n '[@cck-ui/core] ConfigProvider: Invalid theme.primaryShade, it accepts only 0-9 integers or an object { light: 0-9, dark: 0-9 }'\n\nfunction isValidPrimaryShade(shade: number) {\n if (shade < 0 || shade > 9) {\n return false\n }\n\n return parseInt(shade.toString(), 10) === shade\n}\n\nexport function validateCckTheme(theme: CTheme): asserts theme is CTheme {\n if (!(theme.primaryColor in theme.colors)) {\n throw new Error(INVALID_PRIMARY_COLOR_ERROR)\n }\n\n if (typeof theme.primaryShade === 'object') {\n if (\n !isValidPrimaryShade(theme.primaryShade.dark) ||\n !isValidPrimaryShade(theme.primaryShade.light)\n ) {\n throw new Error(INVALID_PRIMARY_SHADE_ERROR)\n }\n }\n\n if (typeof theme.primaryShade === 'number' && !isValidPrimaryShade(theme.primaryShade)) {\n throw new Error(INVALID_PRIMARY_SHADE_ERROR)\n }\n}\n\nexport function mergeCckTheme(currentTheme: CTheme, themeOverride?: CThemeOverride) {\n if (!themeOverride) {\n validateCckTheme(currentTheme)\n return currentTheme\n }\n\n const result = merge(currentTheme, themeOverride)\n\n if (themeOverride.fontFamily && !themeOverride.headings?.fontFamily) {\n result.headings = { ...result.headings, fontFamily: themeOverride.fontFamily }\n }\n\n validateCckTheme(result)\n return result\n}\n"],"mappings":";;AAGA,MAAa,8BACX;AAEF,MAAa,8BACX;AAEF,SAAS,oBAAoB,OAAe;CAC1C,IAAI,QAAQ,KAAK,QAAQ,GACvB,OAAO;CAGT,OAAO,SAAS,MAAM,SAAS,GAAG,EAAE,MAAM;AAC5C;AAEA,SAAgB,iBAAiB,OAAwC;CACvE,IAAI,EAAE,MAAM,gBAAgB,MAAM,SAChC,MAAM,IAAI,MAAM,2BAA2B;CAG7C,IAAI,OAAO,MAAM,iBAAiB;MAE9B,CAAC,oBAAoB,MAAM,aAAa,IAAI,KAC5C,CAAC,oBAAoB,MAAM,aAAa,KAAK,GAE7C,MAAM,IAAI,MAAM,2BAA2B;CAAA;CAI/C,IAAI,OAAO,MAAM,iBAAiB,YAAY,CAAC,oBAAoB,MAAM,YAAY,GACnF,MAAM,IAAI,MAAM,2BAA2B;AAE/C;AAEA,SAAgB,cAAc,cAAsB,eAAgC;CAClF,IAAI,CAAC,eAAe;EAClB,iBAAiB,YAAY;EAC7B,OAAO;CACT;CAEA,MAAM,SAAS,MAAM,cAAc,aAAa;CAEhD,IAAI,cAAc,cAAc,CAAC,cAAc,UAAU,YACvD,OAAO,WAAW;EAAE,GAAG,OAAO;EAAU,YAAY,cAAc;CAAW;CAG/E,iBAAiB,MAAM;CACvB,OAAO;AACT"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useConfigContext } from "../config-provider.context.mjs";
|
|
3
|
+
import { computed, onMounted, onUnmounted, ref } from "vue";
|
|
4
|
+
//#region packages/@cck-ui/core/src/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.ts
|
|
5
|
+
function getSystemTheme() {
|
|
6
|
+
if (typeof window === "undefined") return "light";
|
|
7
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
8
|
+
}
|
|
9
|
+
function watchSystemTheme(callback) {
|
|
10
|
+
if (typeof window === "undefined") return () => {};
|
|
11
|
+
const mql = window.matchMedia("(prefers-color-scheme: dark)");
|
|
12
|
+
const listener = (e) => callback(e.matches ? "dark" : "light");
|
|
13
|
+
mql.addEventListener("change", listener);
|
|
14
|
+
return () => mql.removeEventListener("change", listener);
|
|
15
|
+
}
|
|
16
|
+
function disableTransitions(nonce) {
|
|
17
|
+
if (typeof document === "undefined") return () => {};
|
|
18
|
+
const style = document.createElement("style");
|
|
19
|
+
style.setAttribute("data-color-scheme-transition", "inline");
|
|
20
|
+
style.innerHTML = "*, *::before, *::after { transition: none !important; }";
|
|
21
|
+
if (nonce) style.setAttribute("nonce", nonce);
|
|
22
|
+
document.head.appendChild(style);
|
|
23
|
+
return () => {
|
|
24
|
+
document.querySelectorAll("[data-color-scheme-transition]").forEach((el) => el.remove());
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function useCckColorScheme({ keepTransition } = {}) {
|
|
28
|
+
const ctx = useConfigContext();
|
|
29
|
+
const colorScheme = ctx.colorScheme;
|
|
30
|
+
const systemTheme = ref("light");
|
|
31
|
+
const computedColorScheme = computed(() => {
|
|
32
|
+
const scheme = colorScheme.value;
|
|
33
|
+
return scheme === "auto" ? systemTheme.value : scheme;
|
|
34
|
+
});
|
|
35
|
+
let clearStyles = null;
|
|
36
|
+
let timeoutId = null;
|
|
37
|
+
function disableTransitionsTemporarily() {
|
|
38
|
+
if (keepTransition) return;
|
|
39
|
+
clearStyles?.();
|
|
40
|
+
const nonce = ctx.getStyleNonce?.();
|
|
41
|
+
clearStyles = disableTransitions(nonce);
|
|
42
|
+
if (timeoutId) window.clearTimeout(timeoutId);
|
|
43
|
+
timeoutId = window.setTimeout(() => {
|
|
44
|
+
clearStyles?.();
|
|
45
|
+
clearStyles = null;
|
|
46
|
+
}, 10);
|
|
47
|
+
}
|
|
48
|
+
const setColorScheme = (value) => {
|
|
49
|
+
ctx.setColorScheme(value);
|
|
50
|
+
disableTransitionsTemporarily();
|
|
51
|
+
};
|
|
52
|
+
const clearColorScheme = () => {
|
|
53
|
+
ctx.clearColorScheme();
|
|
54
|
+
disableTransitionsTemporarily();
|
|
55
|
+
};
|
|
56
|
+
const toggleColorScheme = () => {
|
|
57
|
+
const current = computedColorScheme.value;
|
|
58
|
+
setColorScheme(current === "light" ? "dark" : "light");
|
|
59
|
+
};
|
|
60
|
+
onMounted(() => {
|
|
61
|
+
systemTheme.value = getSystemTheme();
|
|
62
|
+
const unwatch = watchSystemTheme((theme) => {
|
|
63
|
+
systemTheme.value = theme;
|
|
64
|
+
});
|
|
65
|
+
onUnmounted(() => {
|
|
66
|
+
unwatch();
|
|
67
|
+
if (timeoutId) {
|
|
68
|
+
window.clearTimeout(timeoutId);
|
|
69
|
+
clearStyles?.();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
colorScheme,
|
|
75
|
+
computedColorScheme,
|
|
76
|
+
setColorScheme,
|
|
77
|
+
clearColorScheme,
|
|
78
|
+
toggleColorScheme
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { useCckColorScheme };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=use-cck-color-scheme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-cck-color-scheme.mjs","names":[],"sources":["../../../../src/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.ts"],"sourcesContent":["import { computed, onMounted, onUnmounted, ref } from 'vue'\nimport { useConfigContext } from '../config-provider.context'\nimport { CColorScheme } from '../theme.types'\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') {\n return 'light'\n }\n\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\nfunction watchSystemTheme(callback: (theme: 'light' | 'dark') => void) {\n if (typeof window === 'undefined') {\n return () => {}\n }\n const mql = window.matchMedia('(prefers-color-scheme: dark)')\n const listener = (e: MediaQueryListEvent) => callback(e.matches ? 'dark' : 'light')\n mql.addEventListener('change', listener)\n return () => mql.removeEventListener('change', listener)\n}\n\nfunction disableTransitions(nonce?: string): () => void {\n if (typeof document === 'undefined') {\n return () => {}\n }\n\n const style = document.createElement('style')\n style.setAttribute('data-color-scheme-transition', 'inline')\n style.innerHTML = '*, *::before, *::after { transition: none !important; }'\n if (nonce) {\n style.setAttribute('nonce', nonce)\n }\n document.head.appendChild(style)\n return () => {\n document.querySelectorAll('[data-color-scheme-transition]').forEach((el) => el.remove())\n }\n}\n\nexport function useCckColorScheme({ keepTransition }: { keepTransition?: boolean } = {}) {\n const ctx = useConfigContext()\n\n const colorScheme = ctx.colorScheme\n\n const systemTheme = ref<'light' | 'dark'>('light')\n\n const computedColorScheme = computed<'light' | 'dark'>(() => {\n const scheme = colorScheme.value\n return scheme === 'auto' ? systemTheme.value : scheme\n })\n\n let clearStyles: (() => void) | null = null\n let timeoutId: number | null = null\n\n function disableTransitionsTemporarily() {\n if (keepTransition) {\n return\n }\n clearStyles?.()\n const nonce = ctx.getStyleNonce?.()\n clearStyles = disableTransitions(nonce)\n if (timeoutId) {\n window.clearTimeout(timeoutId)\n }\n timeoutId = window.setTimeout(() => {\n clearStyles?.()\n clearStyles = null\n }, 10)\n }\n\n const setColorScheme = (value: CColorScheme) => {\n ctx.setColorScheme(value)\n disableTransitionsTemporarily()\n }\n\n const clearColorScheme = () => {\n ctx.clearColorScheme()\n disableTransitionsTemporarily()\n }\n\n const toggleColorScheme = () => {\n const current = computedColorScheme.value\n setColorScheme(current === 'light' ? 'dark' : 'light')\n }\n\n onMounted(() => {\n systemTheme.value = getSystemTheme()\n const unwatch = watchSystemTheme((theme) => {\n systemTheme.value = theme\n })\n\n onUnmounted(() => {\n unwatch()\n if (timeoutId) {\n window.clearTimeout(timeoutId)\n clearStyles?.()\n }\n })\n })\n\n return {\n colorScheme,\n computedColorScheme,\n setColorScheme,\n clearColorScheme,\n toggleColorScheme,\n }\n}\n"],"mappings":";;;;AAIA,SAAS,iBAAmC;CAC1C,IAAI,OAAO,WAAW,aACpB,OAAO;CAGT,OAAO,OAAO,WAAW,8BAA8B,CAAC,CAAC,UAAU,SAAS;AAC9E;AAEA,SAAS,iBAAiB,UAA6C;CACrE,IAAI,OAAO,WAAW,aACpB,aAAa,CAAC;CAEhB,MAAM,MAAM,OAAO,WAAW,8BAA8B;CAC5D,MAAM,YAAY,MAA2B,SAAS,EAAE,UAAU,SAAS,OAAO;CAClF,IAAI,iBAAiB,UAAU,QAAQ;CACvC,aAAa,IAAI,oBAAoB,UAAU,QAAQ;AACzD;AAEA,SAAS,mBAAmB,OAA4B;CACtD,IAAI,OAAO,aAAa,aACtB,aAAa,CAAC;CAGhB,MAAM,QAAQ,SAAS,cAAc,OAAO;CAC5C,MAAM,aAAa,gCAAgC,QAAQ;CAC3D,MAAM,YAAY;CAClB,IAAI,OACF,MAAM,aAAa,SAAS,KAAK;CAEnC,SAAS,KAAK,YAAY,KAAK;CAC/B,aAAa;EACX,SAAS,iBAAiB,gCAAgC,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAC;CACzF;AACF;AAEA,SAAgB,kBAAkB,EAAE,mBAAiD,CAAC,GAAG;CACvF,MAAM,MAAM,iBAAiB;CAE7B,MAAM,cAAc,IAAI;CAExB,MAAM,cAAc,IAAsB,OAAO;CAEjD,MAAM,sBAAsB,eAAiC;EAC3D,MAAM,SAAS,YAAY;EAC3B,OAAO,WAAW,SAAS,YAAY,QAAQ;CACjD,CAAC;CAED,IAAI,cAAmC;CACvC,IAAI,YAA2B;CAE/B,SAAS,gCAAgC;EACvC,IAAI,gBACF;EAEF,cAAc;EACd,MAAM,QAAQ,IAAI,gBAAgB;EAClC,cAAc,mBAAmB,KAAK;EACtC,IAAI,WACF,OAAO,aAAa,SAAS;EAE/B,YAAY,OAAO,iBAAiB;GAClC,cAAc;GACd,cAAc;EAChB,GAAG,EAAE;CACP;CAEA,MAAM,kBAAkB,UAAwB;EAC9C,IAAI,eAAe,KAAK;EACxB,8BAA8B;CAChC;CAEA,MAAM,yBAAyB;EAC7B,IAAI,iBAAiB;EACrB,8BAA8B;CAChC;CAEA,MAAM,0BAA0B;EAC9B,MAAM,UAAU,oBAAoB;EACpC,eAAe,YAAY,UAAU,SAAS,OAAO;CACvD;CAEA,gBAAgB;EACd,YAAY,QAAQ,eAAe;EACnC,MAAM,UAAU,kBAAkB,UAAU;GAC1C,YAAY,QAAQ;EACtB,CAAC;EAED,kBAAkB;GAChB,QAAQ;GACR,IAAI,WAAW;IACb,OAAO,aAAa,SAAS;IAC7B,cAAc;GAChB;EACF,CAAC;CACH,CAAC;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { computed, onMounted, onUnmounted, ref } from "vue";
|
|
3
|
+
import { useIsomorphicEffect } from "@cck-ui/hooks";
|
|
4
|
+
//#region packages/@cck-ui/core/src/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.ts
|
|
5
|
+
function setColorSchemeAttribute(colorScheme, getRootElement) {
|
|
6
|
+
const hasDarkColorScheme = typeof window !== "undefined" && "matchMedia" in window && window.matchMedia("(prefers-color-scheme: dark)")?.matches;
|
|
7
|
+
const computedColorScheme = colorScheme !== "auto" ? colorScheme : hasDarkColorScheme ? "dark" : "light";
|
|
8
|
+
getRootElement()?.setAttribute("data-c-color-scheme", computedColorScheme);
|
|
9
|
+
}
|
|
10
|
+
function useProviderColorScheme({ manager, defaultColorScheme, getRootElement, forceColorScheme }) {
|
|
11
|
+
const value = ref(manager.get(defaultColorScheme));
|
|
12
|
+
const colorScheme = computed(() => forceColorScheme || value.value);
|
|
13
|
+
const applyColorScheme = (scheme) => {
|
|
14
|
+
setColorSchemeAttribute(scheme, getRootElement);
|
|
15
|
+
};
|
|
16
|
+
const setColorScheme = (scheme) => {
|
|
17
|
+
if (!forceColorScheme) {
|
|
18
|
+
applyColorScheme(scheme);
|
|
19
|
+
value.value = scheme;
|
|
20
|
+
manager.set(scheme);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const clearColorScheme = () => {
|
|
24
|
+
value.value = defaultColorScheme;
|
|
25
|
+
applyColorScheme(defaultColorScheme);
|
|
26
|
+
manager.clear();
|
|
27
|
+
};
|
|
28
|
+
let unsubscribeManager = null;
|
|
29
|
+
let mediaQuery = null;
|
|
30
|
+
const handleMediaChange = (event) => {
|
|
31
|
+
if (value.value === "auto") applyColorScheme(event.matches ? "dark" : "light");
|
|
32
|
+
};
|
|
33
|
+
onMounted(() => {
|
|
34
|
+
manager.subscribe((scheme) => {
|
|
35
|
+
if (!forceColorScheme) value.value = scheme;
|
|
36
|
+
});
|
|
37
|
+
unsubscribeManager = manager.unsubscribe.bind(manager);
|
|
38
|
+
if (typeof window !== "undefined" && "matchMedia" in window) {
|
|
39
|
+
mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
40
|
+
mediaQuery.addEventListener("change", handleMediaChange);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
useIsomorphicEffect(() => {
|
|
44
|
+
applyColorScheme(colorScheme.value);
|
|
45
|
+
}, [colorScheme]);
|
|
46
|
+
onUnmounted(() => {
|
|
47
|
+
if (unsubscribeManager) unsubscribeManager();
|
|
48
|
+
if (mediaQuery) mediaQuery.removeEventListener("change", handleMediaChange);
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
colorScheme,
|
|
52
|
+
setColorScheme,
|
|
53
|
+
clearColorScheme
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { useProviderColorScheme };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=use-provider-color-scheme.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-provider-color-scheme.mjs","names":[],"sources":["../../../../src/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.ts"],"sourcesContent":["import { computed, type ComputedRef, onMounted, onUnmounted, ref } from 'vue'\nimport { useIsomorphicEffect } from '@cck-ui/hooks'\nimport type { CColorSchemeManager } from '../color-scheme-managers'\nimport type { CColorScheme } from '../theme.types'\n\nfunction setColorSchemeAttribute(\n colorScheme: CColorScheme,\n getRootElement: () => HTMLElement | undefined\n) {\n const hasDarkColorScheme =\n typeof window !== 'undefined' &&\n 'matchMedia' in window &&\n window.matchMedia('(prefers-color-scheme: dark)')?.matches\n\n const computedColorScheme =\n colorScheme !== 'auto' ? colorScheme : hasDarkColorScheme ? 'dark' : 'light'\n getRootElement()?.setAttribute('data-c-color-scheme', computedColorScheme)\n}\n\ninterface UseProviderColorSchemeOptions {\n manager: CColorSchemeManager\n defaultColorScheme: CColorScheme\n forceColorScheme: 'light' | 'dark' | undefined\n getRootElement: () => HTMLElement | undefined\n}\n\nexport function useProviderColorScheme({\n manager,\n defaultColorScheme,\n getRootElement,\n forceColorScheme,\n}: UseProviderColorSchemeOptions) {\n const value = ref<CColorScheme>(manager.get(defaultColorScheme))\n const colorScheme = computed(() => forceColorScheme || value.value) as ComputedRef<CColorScheme>\n\n const applyColorScheme = (scheme: CColorScheme) => {\n setColorSchemeAttribute(scheme, getRootElement)\n }\n\n const setColorScheme = (scheme: CColorScheme) => {\n if (!forceColorScheme) {\n applyColorScheme(scheme)\n value.value = scheme\n manager.set(scheme)\n }\n }\n\n const clearColorScheme = () => {\n value.value = defaultColorScheme\n applyColorScheme(defaultColorScheme)\n manager.clear()\n }\n\n let unsubscribeManager: (() => void) | null = null\n let mediaQuery: MediaQueryList | null = null\n\n const handleMediaChange = (event: MediaQueryListEvent) => {\n if (value.value === 'auto') {\n applyColorScheme(event.matches ? 'dark' : 'light')\n }\n }\n\n onMounted(() => {\n manager.subscribe((scheme) => {\n if (!forceColorScheme) {\n value.value = scheme\n }\n })\n unsubscribeManager = manager.unsubscribe.bind(manager)\n\n if (typeof window !== 'undefined' && 'matchMedia' in window) {\n mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', handleMediaChange)\n }\n })\n\n useIsomorphicEffect(() => {\n applyColorScheme(colorScheme.value)\n }, [colorScheme])\n\n onUnmounted(() => {\n if (unsubscribeManager) {\n unsubscribeManager()\n }\n if (mediaQuery) {\n mediaQuery.removeEventListener('change', handleMediaChange)\n }\n })\n\n return { colorScheme, setColorScheme, clearColorScheme }\n}\n"],"mappings":";;;;AAKA,SAAS,wBACP,aACA,gBACA;CACA,MAAM,qBACJ,OAAO,WAAW,eAClB,gBAAgB,UAChB,OAAO,WAAW,8BAA8B,CAAC,EAAE;CAErD,MAAM,sBACJ,gBAAgB,SAAS,cAAc,qBAAqB,SAAS;CACvE,eAAe,CAAC,EAAE,aAAa,uBAAuB,mBAAmB;AAC3E;AASA,SAAgB,uBAAuB,EACrC,SACA,oBACA,gBACA,oBACgC;CAChC,MAAM,QAAQ,IAAkB,QAAQ,IAAI,kBAAkB,CAAC;CAC/D,MAAM,cAAc,eAAe,oBAAoB,MAAM,KAAK;CAElE,MAAM,oBAAoB,WAAyB;EACjD,wBAAwB,QAAQ,cAAc;CAChD;CAEA,MAAM,kBAAkB,WAAyB;EAC/C,IAAI,CAAC,kBAAkB;GACrB,iBAAiB,MAAM;GACvB,MAAM,QAAQ;GACd,QAAQ,IAAI,MAAM;EACpB;CACF;CAEA,MAAM,yBAAyB;EAC7B,MAAM,QAAQ;EACd,iBAAiB,kBAAkB;EACnC,QAAQ,MAAM;CAChB;CAEA,IAAI,qBAA0C;CAC9C,IAAI,aAAoC;CAExC,MAAM,qBAAqB,UAA+B;EACxD,IAAI,MAAM,UAAU,QAClB,iBAAiB,MAAM,UAAU,SAAS,OAAO;CAErD;CAEA,gBAAgB;EACd,QAAQ,WAAW,WAAW;GAC5B,IAAI,CAAC,kBACH,MAAM,QAAQ;EAElB,CAAC;EACD,qBAAqB,QAAQ,YAAY,KAAK,OAAO;EAErD,IAAI,OAAO,WAAW,eAAe,gBAAgB,QAAQ;GAC3D,aAAa,OAAO,WAAW,8BAA8B;GAC7D,WAAW,iBAAiB,UAAU,iBAAiB;EACzD;CACF,CAAC;CAED,0BAA0B;EACxB,iBAAiB,YAAY,KAAK;CACpC,GAAG,CAAC,WAAW,CAAC;CAEhB,kBAAkB;EAChB,IAAI,oBACF,mBAAmB;EAErB,IAAI,YACF,WAAW,oBAAoB,UAAU,iBAAiB;CAE9D,CAAC;CAED,OAAO;EAAE;EAAa;EAAgB;CAAiB;AACzD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { toRef } from "vue";
|
|
3
|
+
import { useIsomorphicEffect } from "@cck-ui/hooks";
|
|
4
|
+
//#region packages/@cck-ui/core/src/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.ts
|
|
5
|
+
function useRespectReduceMotion({ respectReduceMotion, getRootElement }) {
|
|
6
|
+
const respectRef = toRef(respectReduceMotion);
|
|
7
|
+
useIsomorphicEffect(() => {
|
|
8
|
+
if (respectRef.value) getRootElement()?.setAttribute("data-respect-reduced-motion", "true");
|
|
9
|
+
}, [respectRef]);
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { useRespectReduceMotion };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=use-respect-reduce-motion.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-respect-reduce-motion.mjs","names":[],"sources":["../../../../src/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.ts"],"sourcesContent":["import { MaybeRef, toRef } from 'vue'\nimport { useIsomorphicEffect } from '@cck-ui/hooks'\n\ninterface UseRespectReduceMotionOptions {\n respectReduceMotion: MaybeRef<boolean>\n getRootElement: () => HTMLElement | undefined\n}\n\nexport function useRespectReduceMotion({\n respectReduceMotion,\n getRootElement,\n}: UseRespectReduceMotionOptions) {\n const respectRef = toRef(respectReduceMotion)\n\n useIsomorphicEffect(() => {\n if (respectRef.value) {\n getRootElement()?.setAttribute('data-respect-reduced-motion', 'true')\n }\n }, [respectRef])\n}\n"],"mappings":";;;;AAQA,SAAgB,uBAAuB,EACrC,qBACA,kBACgC;CAChC,MAAM,aAAa,MAAM,mBAAmB;CAE5C,0BAA0B;EACxB,IAAI,WAAW,OACb,eAAe,CAAC,EAAE,aAAa,+BAA+B,MAAM;CAExE,GAAG,CAAC,UAAU,CAAC;AACjB"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { useCckClassNamesPrefix, useCckIsHeadless, useCckWithStaticClasses } from "../../config-provider/config-provider.context.mjs";
|
|
4
|
-
import { DEFAULT_THEME } from "../../config-provider/default-theme.mjs";
|
|
2
|
+
import { useCckClassNamesPrefix, useCckIsHeadless, useCckTheme, useCckWithStaticClasses } from "../../config-provider/config-provider.context.mjs";
|
|
5
3
|
import { resolveClassNames } from "./get-class-name/resolve-class-names/resolve-class-names.mjs";
|
|
6
4
|
import { resolveStyles } from "./get-style/resolve-styles/resolve-styles.mjs";
|
|
7
5
|
import { useStylesTransform } from "./use-transformed-styles.mjs";
|
|
@@ -9,10 +7,9 @@ import { mergeVars } from "./get-style/resolve-vars/merge-vars.mjs";
|
|
|
9
7
|
import { resolveStyle } from "./get-style/resolve-style/resolve-style.mjs";
|
|
10
8
|
import { getClassName } from "./get-class-name/get-class-name.mjs";
|
|
11
9
|
import { getStyle } from "./get-style/get-style.mjs";
|
|
12
|
-
import { inject } from "vue";
|
|
13
10
|
//#region packages/@cck-ui/core/src/core/styles-api/use-styles/use-styles.ts
|
|
14
11
|
function useStyles({ name, classes, props, stylesCtx, className, style, rootSelector = "root", unstyled, classNames, styles, vars, varsResolver, attributes }) {
|
|
15
|
-
const theme =
|
|
12
|
+
const theme = useCckTheme().value;
|
|
16
13
|
const classNamesPrefix = useCckClassNamesPrefix();
|
|
17
14
|
const withStaticClasses = useCckWithStaticClasses();
|
|
18
15
|
const headless = useCckIsHeadless();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-styles.mjs","names":[],"sources":["../../../../src/core/styles-api/use-styles/use-styles.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"use-styles.mjs","names":[],"sources":["../../../../src/core/styles-api/use-styles/use-styles.ts"],"sourcesContent":["import {\n Attributes,\n ClassNames,\n ClassNamesArray,\n GetStylesApiOptions,\n Styles,\n} from '../styles-api.types'\nimport { PartialVarsResolver, VarsResolver } from '../create-vars-resolver/create-vars-resolver'\nimport { useStylesTransform } from './use-transformed-styles'\nimport { resolveClassNames } from './get-class-name/resolve-class-names/resolve-class-names'\nimport { resolveStyles } from './get-style/resolve-styles/resolve-styles'\nimport { mergeVars } from './get-style/resolve-vars/merge-vars'\nimport { resolveStyle } from './get-style/resolve-style/resolve-style'\nimport { getClassName } from './get-class-name/get-class-name'\nimport { Properties } from 'csstype'\nimport { getStyle } from './get-style/get-style'\nimport { FactoryPayload } from '../../factory'\nimport { CStyleProp } from '../../box'\nimport {\n useCckClassNamesPrefix,\n useCckIsHeadless,\n useCckTheme,\n useCckWithStaticClasses,\n} from '../../config-provider'\n\nexport interface UseStylesInput<Payload extends FactoryPayload> {\n name: string | (string | undefined)[]\n classes: Payload['stylesNames'] extends string ? Record<string, string> : never\n props: Payload['props']\n stylesCtx?: Payload['ctx']\n className?: string | undefined\n style?: CStyleProp\n rootSelector?: Payload['stylesNames']\n unstyled?: boolean\n classNames?: ClassNames<Payload> | ClassNamesArray<Payload>\n styles?: Styles<Payload>\n vars?: PartialVarsResolver<Payload>\n varsResolver?: VarsResolver<Payload>\n attributes?: Attributes<Payload>\n}\n\nexport type GetStylesApi<Payload extends FactoryPayload> = (\n selector: NonNullable<Payload['stylesNames']>,\n options?: GetStylesApiOptions\n) => {\n className: string\n style: Properties\n}\n\nexport function useStyles<Payload extends FactoryPayload>({\n name,\n classes,\n props,\n stylesCtx,\n className,\n style,\n rootSelector = 'root' as NonNullable<Payload['stylesNames']>,\n unstyled,\n classNames,\n styles,\n vars,\n varsResolver,\n attributes,\n}: UseStylesInput<Payload>): GetStylesApi<Payload> {\n const _theme = useCckTheme()\n const theme = _theme.value\n const classNamesPrefix = useCckClassNamesPrefix()\n const withStaticClasses = useCckWithStaticClasses()\n const headless = useCckIsHeadless()\n\n const themeNames = Array.isArray(name) ? name : [name]\n const themeName = themeNames.filter((n) => n) as string[]\n const { withStylesTransform, getTransformedStyles } = useStylesTransform({\n props,\n stylesCtx,\n themeName,\n theme,\n })\n\n const resolvedClassNames = resolveClassNames({\n theme,\n classNames,\n props,\n stylesCtx,\n })\n const resolvedThemeClassNames = themeName.map((n) =>\n resolveClassNames({\n theme,\n classNames: theme.components?.[n]?.classNames,\n props,\n stylesCtx,\n })\n )\n\n const resolvedComponentStyles = withStylesTransform\n ? {}\n : resolveStyles({ theme, styles, props, stylesCtx })\n\n const resolvedThemeStyles: Record<string, any> = {}\n\n if (!withStylesTransform) {\n for (const n of themeName) {\n const resolved = resolveStyles({\n theme,\n styles: theme.components?.[n]?.styles,\n props,\n stylesCtx,\n })\n for (const key of Object.keys(resolved)) {\n resolvedThemeStyles[key] = {\n ...resolvedThemeStyles[key],\n ...resolved[key],\n }\n }\n }\n }\n\n const resolvedVars = mergeVars([\n headless ? {} : varsResolver?.(theme, props, stylesCtx),\n ...themeName.map((n) => theme.components?.[n]?.vars?.(theme, props, stylesCtx)),\n vars?.(theme, props, stylesCtx),\n ])\n\n const resolvedRootStyle = resolveStyle({ style, theme })\n\n return (selector, options) => ({\n ...attributes?.[selector],\n\n className: getClassName({\n theme,\n options,\n themeName,\n selector,\n classNamesPrefix,\n resolvedClassNames,\n resolvedThemeClassNames,\n classes,\n unstyled,\n className,\n rootSelector,\n props,\n stylesCtx,\n withStaticClasses,\n headless,\n transformedStyles: getTransformedStyles([options?.styles, styles]),\n }),\n\n style: getStyle({\n theme,\n selector,\n options,\n props,\n stylesCtx,\n rootSelector,\n withStylesTransform,\n resolvedStyles: resolvedComponentStyles,\n resolvedThemeStyles,\n resolvedVars,\n resolvedRootStyle,\n }),\n })\n}\n"],"mappings":";;;;;;;;;;AAiDA,SAAgB,UAA0C,EACxD,MACA,SACA,OACA,WACA,WACA,OACA,eAAe,QACf,UACA,YACA,QACA,MACA,cACA,cACiD;CAEjD,MAAM,QADS,YACI,CAAC,CAAC;CACrB,MAAM,mBAAmB,uBAAuB;CAChD,MAAM,oBAAoB,wBAAwB;CAClD,MAAM,WAAW,iBAAiB;CAGlC,MAAM,aADa,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI,EAAA,CACxB,QAAQ,MAAM,CAAC;CAC5C,MAAM,EAAE,qBAAqB,yBAAyB,mBAAmB;EACvE;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,qBAAqB,kBAAkB;EAC3C;EACA;EACA;EACA;CACF,CAAC;CACD,MAAM,0BAA0B,UAAU,KAAK,MAC7C,kBAAkB;EAChB;EACA,YAAY,MAAM,aAAa,EAAE,EAAE;EACnC;EACA;CACF,CAAC,CACH;CAEA,MAAM,0BAA0B,sBAC5B,CAAC,IACD,cAAc;EAAE;EAAO;EAAQ;EAAO;CAAU,CAAC;CAErD,MAAM,sBAA2C,CAAC;CAElD,IAAI,CAAC,qBACH,KAAK,MAAM,KAAK,WAAW;EACzB,MAAM,WAAW,cAAc;GAC7B;GACA,QAAQ,MAAM,aAAa,EAAE,EAAE;GAC/B;GACA;EACF,CAAC;EACD,KAAK,MAAM,OAAO,OAAO,KAAK,QAAQ,GACpC,oBAAoB,OAAO;GACzB,GAAG,oBAAoB;GACvB,GAAG,SAAS;EACd;CAEJ;CAGF,MAAM,eAAe,UAAU;EAC7B,WAAW,CAAC,IAAI,eAAe,OAAO,OAAO,SAAS;EACtD,GAAG,UAAU,KAAK,MAAM,MAAM,aAAa,EAAE,EAAE,OAAO,OAAO,OAAO,SAAS,CAAC;EAC9E,OAAO,OAAO,OAAO,SAAS;CAChC,CAAC;CAED,MAAM,oBAAoB,aAAa;EAAE;EAAO;CAAM,CAAC;CAEvD,QAAQ,UAAU,aAAa;EAC7B,GAAG,aAAa;EAEhB,WAAW,aAAa;GACtB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,mBAAmB,qBAAqB,CAAC,SAAS,QAAQ,MAAM,CAAC;EACnE,CAAC;EAED,OAAO,SAAS;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA,gBAAgB;GAChB;GACA;GACA;EACF,CAAC;CACH;AACF"}
|
package/esm/index.mjs
CHANGED
|
@@ -15,6 +15,8 @@ import { clearShadeCache, generateColorShades, setColorAlpha } from "./core/util
|
|
|
15
15
|
import { isNumber, isString, isStringNumber, isUndefined } from "./core/utils/types/index.mjs";
|
|
16
16
|
import { addUnit } from "./core/utils/dom/style.mjs";
|
|
17
17
|
import { CONFIG_KEY, THEME_KEY } from "./core/config-provider/config-provider.types.mjs";
|
|
18
|
+
import { useProviderColorScheme } from "./core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs";
|
|
19
|
+
import { colorsTuple } from "./core/config-provider/color-functions/colors-tuple/colors-tuple.mjs";
|
|
18
20
|
import { toRgba } from "./core/config-provider/color-functions/to-rgba/to-rgba.mjs";
|
|
19
21
|
import { darken } from "./core/config-provider/color-functions/darken/darken.mjs";
|
|
20
22
|
import { alpha, rgba } from "./core/config-provider/color-functions/rgba/rgba.mjs";
|
|
@@ -24,8 +26,13 @@ import { parseThemeColor } from "./core/config-provider/color-functions/parse-th
|
|
|
24
26
|
import { getThemeColor } from "./core/config-provider/color-functions/get-theme-color/get-theme-color.mjs";
|
|
25
27
|
import { getGradient } from "./core/config-provider/color-functions/get-gradient/get-gradient.mjs";
|
|
26
28
|
import { defaultVariantColorsResolver } from "./core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs";
|
|
27
|
-
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckWithStaticClasses, useConfigContext } from "./core/config-provider/config-provider.context.mjs";
|
|
28
29
|
import { DEFAULT_THEME } from "./core/config-provider/default-theme.mjs";
|
|
30
|
+
import { isVirtualColor, virtualColor } from "./core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs";
|
|
31
|
+
import { getCSSColorVariables } from "./core/config-provider/cck-css-variables/get-css-color-variables.mjs";
|
|
32
|
+
import { defaultCssVariablesResolver } from "./core/config-provider/cck-css-variables/default-css-variables-resolver.mjs";
|
|
33
|
+
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext } from "./core/config-provider/config-provider.context.mjs";
|
|
34
|
+
import { createTheme } from "./core/config-provider/create-theme/create-theme.mjs";
|
|
35
|
+
import { useCckColorScheme } from "./core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs";
|
|
29
36
|
import { CckConfigProvider } from "./core/config-provider/index.mjs";
|
|
30
37
|
import { extractStyleProps } from "./core/box/style-props/extract-style-props/extract-style-props.mjs";
|
|
31
38
|
import { parseStyleProps } from "./core/box/style-props/parse-style-props/parse-style-props.mjs";
|
|
@@ -41,10 +48,13 @@ import { resolveClassNames } from "./core/styles-api/use-styles/get-class-name/r
|
|
|
41
48
|
import { resolveStyles } from "./core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs";
|
|
42
49
|
import { FOCUS_CLASS_NAMES } from "./core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.mjs";
|
|
43
50
|
import { useStyles } from "./core/styles-api/use-styles/use-styles.mjs";
|
|
51
|
+
import { CDefaultLoaders, CLoader } from "./components/loader/index.mjs";
|
|
52
|
+
import { transitions } from "./components/transition/transitions.mjs";
|
|
53
|
+
import { getTransitionProps } from "./components/transition/get-transition-props/get-transition-props.mjs";
|
|
54
|
+
import { CTransition } from "./components/transition/index.mjs";
|
|
44
55
|
import { CButton, CButtonGroup, CButtonGroupSection } from "./components/button/index.mjs";
|
|
45
56
|
import { CCol, CGrid } from "./components/grid/index.mjs";
|
|
46
57
|
import { CGroup } from "./components/group/index.mjs";
|
|
47
|
-
import { CDefaultLoaders, CLoader } from "./components/loader/index.mjs";
|
|
48
58
|
import { CSimpleGrid } from "./components/simple-grid/index.mjs";
|
|
49
59
|
import { CText } from "./components/text/index.mjs";
|
|
50
|
-
export { CBox, CButton, CButtonGroup, CButtonGroupSection, CCol, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CText, CckConfigProvider, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, addUnit, alpha, camelToKebabCase, clearShadeCache, createVarsResolver, darken, defaultVariantColorsResolver, em, extractStyleProps, filterProps, generateColorShades, getBaseValue, getBreakpointValue, getComponentName, getFontSize, getGradient, getLineHeight, getPrimaryShade, getRadius, getShadow, getSize, getSortedBreakpoints, getSpacing, getThemeColor, hashStyleProps, isLightColor, isNumber, isNumberLike, isString, isStringNumber, isUndefined, keys, luminance, normalizeNumberLikeStringProp, numberLikeStringToNumber, parseStyleProps, parseThemeColor, px, rem, resolveClassNames, resolveStyles, responsiveStyleManager, rgba, setColorAlpha, stylesToString, toRgba, useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckWithStaticClasses, useConfigContext, useRandomClassName, useStyles, withInstall, withPropsDefaultSetter };
|
|
60
|
+
export { CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCol, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CText, CTransition, CckConfigProvider, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, addUnit, alpha, camelToKebabCase, clearShadeCache, colorsTuple, createTheme, createVarsResolver, darken, defaultCssVariablesResolver, defaultVariantColorsResolver, em, extractStyleProps, filterProps, generateColorShades, getBaseValue, getBreakpointValue, getCSSColorVariables, getComponentName, getFontSize, getGradient, getLineHeight, getPrimaryShade, getRadius, getShadow, getSize, getSortedBreakpoints, getSpacing, getThemeColor, getTransitionProps, hashStyleProps, isLightColor, isNumber, isNumberLike, isString, isStringNumber, isUndefined, isVirtualColor, keys, luminance, normalizeNumberLikeStringProp, numberLikeStringToNumber, parseStyleProps, parseThemeColor, px, rem, resolveClassNames, resolveStyles, responsiveStyleManager, rgba, setColorAlpha, stylesToString, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext, useProviderColorScheme, useRandomClassName, useStyles, virtualColor, withInstall, withPropsDefaultSetter };
|
|
@@ -17,7 +17,7 @@ export type ButtonFactory = PolymorphicFactory<{
|
|
|
17
17
|
staticComponents: {};
|
|
18
18
|
}>;
|
|
19
19
|
export interface ButtonProps extends BoxProps, StylesApiProps<ButtonFactory> {
|
|
20
|
-
|
|
20
|
+
dataDisabled?: boolean;
|
|
21
21
|
/**
|
|
22
22
|
* @description If set, adjusts text color based on background color for `filled` variant
|
|
23
23
|
*/
|
|
@@ -72,14 +72,4 @@ export interface ButtonProps extends BoxProps, StylesApiProps<ButtonFactory> {
|
|
|
72
72
|
* @default 'sm'
|
|
73
73
|
*/
|
|
74
74
|
size?: ButtonSize;
|
|
75
|
-
/**
|
|
76
|
-
* @description custom element tag
|
|
77
|
-
* @default 'button'
|
|
78
|
-
*/
|
|
79
|
-
tag?: string | Component;
|
|
80
|
-
/**
|
|
81
|
-
* @description variants of button
|
|
82
|
-
* @default 'default'
|
|
83
|
-
*/
|
|
84
|
-
variant?: ButtonVariant;
|
|
85
75
|
}
|
|
@@ -25,7 +25,7 @@ export interface TextProps extends BoxProps, StylesApiProps<TextFactory> {
|
|
|
25
25
|
*/
|
|
26
26
|
lineClamp?: number;
|
|
27
27
|
/**
|
|
28
|
-
* @description Side on which Text must be truncated, if `true`, text is truncated from the
|
|
28
|
+
* @description Side on which Text must be truncated, if `true`, text is truncated from the end
|
|
29
29
|
*/
|
|
30
30
|
truncate?: TextTruncate;
|
|
31
31
|
/**
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SetRequired } from 'type-fest';
|
|
2
|
+
import type { TransitionOverride } from '../transition.types';
|
|
3
|
+
type MinimalTransitionOverride = SetRequired<TransitionOverride, 'duration' | 'transition'>;
|
|
4
|
+
export declare function getTransitionProps(transitionProps: TransitionOverride | undefined, componentTransition: TransitionOverride | undefined): MinimalTransitionOverride;
|
|
5
|
+
export {};
|