@cck-ui/core 0.4.9 → 0.5.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/cjs/components/button/button.cjs +71 -63
- package/cjs/components/button/button.cjs.map +1 -1
- package/cjs/components/button/button.utils.cjs +28 -0
- package/cjs/components/button/button.utils.cjs.map +1 -0
- package/cjs/components/button/index.cjs +5 -1
- package/cjs/components/button/index.cjs.map +1 -1
- package/cjs/components/grid/col/col.cjs +33 -16
- package/cjs/components/grid/col/col.cjs.map +1 -1
- package/cjs/components/grid/grid.cjs +63 -34
- package/cjs/components/grid/grid.cjs.map +1 -1
- package/cjs/components/grid/grid.constants.cjs.map +1 -1
- package/cjs/components/grid/grid.utils.cjs +11 -0
- package/cjs/components/grid/grid.utils.cjs.map +1 -0
- package/cjs/components/grid/index.cjs +7 -2
- package/cjs/components/grid/index.cjs.map +1 -1
- package/cjs/components/loader/loader.module.cjs.map +1 -1
- package/cjs/components/loader/loaders/bars.cjs +6 -3
- package/cjs/components/loader/loaders/bars.cjs.map +1 -1
- package/cjs/components/loader/loaders/dots.cjs +6 -3
- package/cjs/components/loader/loaders/dots.cjs.map +1 -1
- package/cjs/components/loader/loaders/oval.cjs +6 -3
- package/cjs/components/loader/loaders/oval.cjs.map +1 -1
- package/cjs/components/transition/transition.cjs +1 -1
- 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 -28
- package/cjs/core/box/box.cjs.map +1 -1
- package/cjs/core/box/get-box-style/get-box-style.cjs.map +1 -1
- package/cjs/core/box/style-props/extract-style-props/extract-style-props.cjs.map +1 -1
- package/cjs/core/box/style-props/parse-style-props/sort-media-queries.cjs.map +1 -1
- package/cjs/core/box/style-props/resolvers/border-resolver/border-resolver.cjs.map +1 -1
- package/cjs/core/box/style-props/resolvers/color-resolver/color-resolver.cjs.map +1 -1
- package/cjs/core/box/style-props/resolvers/font-family-resolver/font-family-resolver.cjs.map +1 -1
- package/cjs/core/box/style-props/resolvers/index.cjs.map +1 -1
- package/cjs/core/box/style-props/style-props-data.cjs.map +1 -1
- package/cjs/core/config-provider/cck-classes-style/cck-classes-style.cjs +58 -0
- package/cjs/core/config-provider/cck-classes-style/cck-classes-style.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/get-gradient/get-gradient.cjs +3 -3
- package/cjs/core/config-provider/color-functions/get-gradient/get-gradient.cjs.map +1 -1
- package/cjs/core/config-provider/color-functions/rgba/rgba.cjs +8 -0
- package/cjs/core/config-provider/color-functions/rgba/rgba.cjs.map +1 -1
- package/cjs/core/config-provider/color-functions/to-rgba/to-rgba.cjs.map +1 -1
- package/cjs/core/config-provider/config-provider.cjs +39 -24
- package/cjs/core/config-provider/config-provider.cjs.map +1 -1
- package/cjs/core/config-provider/default-colors.cjs.map +1 -1
- package/cjs/core/config-provider/index.cjs +6 -1
- package/cjs/core/config-provider/index.cjs.map +1 -1
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs +2 -2
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs.map +1 -1
- package/cjs/core/config-provider/merge-theme-overrides/merge-theme-overrides.cjs +10 -0
- package/cjs/core/config-provider/merge-theme-overrides/merge-theme-overrides.cjs.map +1 -0
- package/cjs/core/config-provider/use-component-props/use-component-props.cjs +35 -0
- package/cjs/core/config-provider/use-component-props/use-component-props.cjs.map +1 -0
- package/cjs/core/responsive-style-manager/css-object-to-string/css-object-to-string.cjs.map +1 -1
- package/cjs/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.cjs +1 -1
- package/cjs/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.cjs.map +1 -1
- package/cjs/core/responsive-style-manager/responsive-style-manager.cjs.map +1 -1
- package/cjs/core/responsive-style-manager/styles-to-string/styles-to-string.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.cjs.map +1 -1
- package/cjs/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.cjs.map +1 -1
- package/cjs/core/utils/deep-merge/deep-merge.cjs +18 -0
- package/cjs/core/utils/deep-merge/deep-merge.cjs.map +1 -0
- package/cjs/core/utils/get-breakpoint-value/get-breakpoint-value.cjs.map +1 -1
- package/cjs/core/utils/get-size/get-size.cjs +2 -2
- package/cjs/core/utils/get-size/get-size.cjs.map +1 -1
- package/cjs/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.cjs.map +1 -1
- package/cjs/core/utils/number-like-string-to-number/number-like-string-to-number.cjs.map +1 -1
- package/cjs/core/utils/units-converters/px.cjs.map +1 -1
- package/cjs/core/utils/units-converters/rem.cjs.map +1 -1
- package/cjs/core/utils/vue/component.cjs.map +1 -1
- package/cjs/core/utils/vue/install.cjs +3 -3
- package/cjs/core/utils/vue/install.cjs.map +1 -1
- package/cjs/core/utils/vue/statics.cjs +38 -0
- package/cjs/core/utils/vue/statics.cjs.map +1 -0
- package/cjs/index.cjs +13 -7
- package/cjs/index.cjs.map +1 -1
- package/esm/components/button/button.mjs +71 -63
- package/esm/components/button/button.mjs.map +1 -1
- package/esm/components/button/button.utils.mjs +29 -0
- package/esm/components/button/button.utils.mjs.map +1 -0
- package/esm/components/button/index.mjs +5 -1
- package/esm/components/button/index.mjs.map +1 -1
- package/esm/components/grid/col/col.mjs +34 -17
- package/esm/components/grid/col/col.mjs.map +1 -1
- package/esm/components/grid/grid.constants.mjs.map +1 -1
- package/esm/components/grid/grid.mjs +63 -34
- package/esm/components/grid/grid.mjs.map +1 -1
- package/esm/components/grid/grid.utils.mjs +12 -0
- package/esm/components/grid/grid.utils.mjs.map +1 -0
- package/esm/components/grid/index.mjs +6 -2
- package/esm/components/grid/index.mjs.map +1 -1
- package/esm/components/loader/loader.module.mjs.map +1 -1
- package/esm/components/loader/loaders/bars.mjs +7 -4
- package/esm/components/loader/loaders/bars.mjs.map +1 -1
- package/esm/components/loader/loaders/dots.mjs +7 -4
- package/esm/components/loader/loaders/dots.mjs.map +1 -1
- package/esm/components/loader/loaders/oval.mjs +7 -4
- package/esm/components/loader/loaders/oval.mjs.map +1 -1
- package/esm/components/transition/transition.mjs +1 -1
- 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 -29
- package/esm/core/box/box.mjs.map +1 -1
- package/esm/core/box/get-box-style/get-box-style.mjs.map +1 -1
- package/esm/core/box/style-props/extract-style-props/extract-style-props.mjs.map +1 -1
- package/esm/core/box/style-props/parse-style-props/sort-media-queries.mjs.map +1 -1
- package/esm/core/box/style-props/resolvers/border-resolver/border-resolver.mjs.map +1 -1
- package/esm/core/box/style-props/resolvers/color-resolver/color-resolver.mjs.map +1 -1
- package/esm/core/box/style-props/resolvers/font-family-resolver/font-family-resolver.mjs.map +1 -1
- package/esm/core/box/style-props/resolvers/index.mjs.map +1 -1
- package/esm/core/box/style-props/style-props-data.mjs.map +1 -1
- package/esm/core/config-provider/cck-classes-style/cck-classes-style.mjs +58 -0
- package/esm/core/config-provider/cck-classes-style/cck-classes-style.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/get-gradient/get-gradient.mjs +3 -3
- package/esm/core/config-provider/color-functions/get-gradient/get-gradient.mjs.map +1 -1
- package/esm/core/config-provider/color-functions/rgba/rgba.mjs +8 -1
- package/esm/core/config-provider/color-functions/rgba/rgba.mjs.map +1 -1
- package/esm/core/config-provider/color-functions/to-rgba/to-rgba.mjs.map +1 -1
- package/esm/core/config-provider/config-provider.mjs +40 -25
- package/esm/core/config-provider/config-provider.mjs.map +1 -1
- package/esm/core/config-provider/default-colors.mjs.map +1 -1
- package/esm/core/config-provider/index.mjs +5 -3
- package/esm/core/config-provider/index.mjs.map +1 -1
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs +2 -2
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs.map +1 -1
- package/esm/core/config-provider/merge-theme-overrides/merge-theme-overrides.mjs +10 -0
- package/esm/core/config-provider/merge-theme-overrides/merge-theme-overrides.mjs.map +1 -0
- package/esm/core/config-provider/use-component-props/use-component-props.mjs +35 -0
- package/esm/core/config-provider/use-component-props/use-component-props.mjs.map +1 -0
- package/esm/core/responsive-style-manager/css-object-to-string/css-object-to-string.mjs.map +1 -1
- package/esm/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.mjs +1 -1
- package/esm/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.mjs.map +1 -1
- package/esm/core/responsive-style-manager/responsive-style-manager.mjs.map +1 -1
- package/esm/core/responsive-style-manager/styles-to-string/styles-to-string.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.mjs.map +1 -1
- package/esm/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.mjs.map +1 -1
- package/esm/core/utils/deep-merge/deep-merge.mjs +18 -0
- package/esm/core/utils/deep-merge/deep-merge.mjs.map +1 -0
- package/esm/core/utils/get-breakpoint-value/get-breakpoint-value.mjs.map +1 -1
- package/esm/core/utils/get-size/get-size.mjs +2 -2
- package/esm/core/utils/get-size/get-size.mjs.map +1 -1
- package/esm/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs.map +1 -1
- package/esm/core/utils/number-like-string-to-number/number-like-string-to-number.mjs.map +1 -1
- package/esm/core/utils/units-converters/px.mjs.map +1 -1
- package/esm/core/utils/units-converters/rem.mjs.map +1 -1
- package/esm/core/utils/vue/component.mjs.map +1 -1
- package/esm/core/utils/vue/install.mjs +2 -2
- package/esm/core/utils/vue/install.mjs.map +1 -1
- package/esm/core/utils/vue/statics.mjs +35 -0
- package/esm/core/utils/vue/statics.mjs.map +1 -0
- package/esm/index.mjs +7 -5
- package/esm/index.mjs.map +1 -1
- package/lib/components/button/button.utils.d.ts +9 -0
- package/lib/components/button/index.d.ts +3 -3
- package/lib/components/grid/grid.utils.d.ts +9 -0
- package/lib/components/grid/index.d.ts +6 -5
- package/lib/core/config-provider/cck-classes-style/index.d.ts +2 -0
- package/lib/core/config-provider/color-functions/index.d.ts +1 -1
- package/lib/core/config-provider/color-functions/rgba/rgba.d.ts +1 -0
- package/lib/core/config-provider/index.d.ts +2 -0
- package/lib/core/config-provider/merge-theme-overrides/merge-theme-overrides.d.ts +2 -0
- package/lib/core/config-provider/use-component-props/use-component-props.d.ts +7 -0
- package/lib/core/responsive-style-manager/responsive-style-manager.d.ts +1 -0
- package/lib/core/styles-api/index.d.ts +1 -1
- package/lib/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.d.ts +1 -1
- package/lib/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.d.ts +1 -1
- package/lib/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.d.ts +1 -1
- package/lib/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.d.ts +1 -1
- package/lib/core/utils/deep-merge/deep-merge.d.ts +1 -0
- package/lib/core/utils/index.d.ts +4 -5
- package/lib/core/utils/vue/index.d.ts +1 -0
- package/lib/core/utils/vue/statics.d.ts +14 -0
- package/lib/core/utils/vue/typescript.d.ts +8 -0
- package/package.json +2 -1
- package/styles/loader.css +1 -2
- package/styles/loader.layer.css +1 -2
- package/styles.css +1 -2
- package/styles.layer.css +1 -2
- package/cjs/core/utils/color.cjs +0 -112
- package/cjs/core/utils/color.cjs.map +0 -1
- package/cjs/core/utils/dom/style.cjs +0 -13
- package/cjs/core/utils/dom/style.cjs.map +0 -1
- package/esm/core/utils/color.mjs +0 -110
- package/esm/core/utils/color.mjs.map +0 -1
- package/esm/core/utils/dom/style.mjs +0 -12
- package/esm/core/utils/dom/style.mjs.map +0 -1
- package/lib/core/utils/color.d.ts +0 -11
- package/lib/core/utils/dom/index.d.ts +0 -1
- package/lib/core/utils/dom/style.d.ts +0 -1
|
@@ -4,12 +4,14 @@ import { useProviderColorScheme } from "./use-cck-color-scheme/use-provider-colo
|
|
|
4
4
|
import { localStorageColorSchemeManager } from "./color-scheme-managers/local-storage-manager.mjs";
|
|
5
5
|
import { useRespectReduceMotion } from "./use-respect-reduce-motion/use-respect-reduce-motion.mjs";
|
|
6
6
|
import { DEFAULT_THEME } from "./default-theme.mjs";
|
|
7
|
+
import export_helper_default from "../../_virtual/_/plugin-vue/export-helper.mjs";
|
|
8
|
+
import cck_classes_style_default from "./cck-classes-style/cck-classes-style.mjs";
|
|
7
9
|
import { mergeCckTheme } from "./merge-cck-theme/merge-cck-theme.mjs";
|
|
10
|
+
import { useComponentProps } from "./use-component-props/use-component-props.mjs";
|
|
8
11
|
import "./baseline.mjs";
|
|
9
12
|
import "./global.mjs";
|
|
10
13
|
import "./default-css-variables.mjs";
|
|
11
|
-
import
|
|
12
|
-
import { computed, defineComponent, provide, renderSlot } from "vue";
|
|
14
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, defineComponent, openBlock, provide, renderSlot } from "vue";
|
|
13
15
|
//#region packages/@cck-ui/core/src/core/config-provider/config-provider.vue
|
|
14
16
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
15
17
|
name: "CckConfigProvider",
|
|
@@ -21,13 +23,11 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
21
23
|
},
|
|
22
24
|
colorSchemeManager: {
|
|
23
25
|
type: Object,
|
|
24
|
-
required: false
|
|
25
|
-
default: () => localStorageColorSchemeManager()
|
|
26
|
+
required: false
|
|
26
27
|
},
|
|
27
28
|
defaultColorScheme: {
|
|
28
29
|
type: String,
|
|
29
|
-
required: false
|
|
30
|
-
default: "light"
|
|
30
|
+
required: false
|
|
31
31
|
},
|
|
32
32
|
forceColorScheme: {
|
|
33
33
|
type: String,
|
|
@@ -35,33 +35,27 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
35
35
|
},
|
|
36
36
|
cssVariablesSelector: {
|
|
37
37
|
type: String,
|
|
38
|
-
required: false
|
|
39
|
-
default: ":root"
|
|
38
|
+
required: false
|
|
40
39
|
},
|
|
41
40
|
withCssVariables: {
|
|
42
41
|
type: Boolean,
|
|
43
|
-
required: false
|
|
44
|
-
default: true
|
|
42
|
+
required: false
|
|
45
43
|
},
|
|
46
44
|
getRootElement: {
|
|
47
45
|
type: Function,
|
|
48
|
-
required: false
|
|
49
|
-
default: () => document.documentElement
|
|
46
|
+
required: false
|
|
50
47
|
},
|
|
51
48
|
classNamesPrefix: {
|
|
52
49
|
type: String,
|
|
53
|
-
required: false
|
|
54
|
-
default: "c"
|
|
50
|
+
required: false
|
|
55
51
|
},
|
|
56
52
|
withStaticClasses: {
|
|
57
53
|
type: Boolean,
|
|
58
|
-
required: false
|
|
59
|
-
default: true
|
|
54
|
+
required: false
|
|
60
55
|
},
|
|
61
56
|
withGlobalClasses: {
|
|
62
57
|
type: Boolean,
|
|
63
|
-
required: false
|
|
64
|
-
default: true
|
|
58
|
+
required: false
|
|
65
59
|
},
|
|
66
60
|
stylesTransform: {
|
|
67
61
|
type: Object,
|
|
@@ -74,8 +68,22 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
74
68
|
},
|
|
75
69
|
setup(__props, { expose: __expose }) {
|
|
76
70
|
__expose();
|
|
77
|
-
const
|
|
78
|
-
const
|
|
71
|
+
const rawProps = __props;
|
|
72
|
+
const props = useComponentProps({
|
|
73
|
+
component: "ConfigProvider",
|
|
74
|
+
defaultProps: {
|
|
75
|
+
withStaticClasses: true,
|
|
76
|
+
withGlobalClasses: true,
|
|
77
|
+
withCssVariables: true,
|
|
78
|
+
classNamesPrefix: "c",
|
|
79
|
+
defaultColorScheme: "light",
|
|
80
|
+
cssVariablesSelector: ":root",
|
|
81
|
+
colorSchemeManager: localStorageColorSchemeManager(),
|
|
82
|
+
getRootElement: () => document.documentElement
|
|
83
|
+
},
|
|
84
|
+
props: rawProps
|
|
85
|
+
});
|
|
86
|
+
const { defaultColorScheme, forceColorScheme, colorSchemeManager, getRootElement, theme: userTheme } = props.value;
|
|
79
87
|
const finalTheme = computed(() => {
|
|
80
88
|
if (userTheme) return mergeCckTheme(DEFAULT_THEME, userTheme);
|
|
81
89
|
return DEFAULT_THEME;
|
|
@@ -87,19 +95,23 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
87
95
|
getRootElement
|
|
88
96
|
});
|
|
89
97
|
useRespectReduceMotion({
|
|
90
|
-
respectReduceMotion:
|
|
98
|
+
respectReduceMotion: props.value.theme?.respectReducedMotion || false,
|
|
91
99
|
getRootElement
|
|
92
100
|
});
|
|
93
|
-
const { theme: _excludedTheme, ...configWithoutTheme } =
|
|
101
|
+
const { theme: _excludedTheme, ...configWithoutTheme } = props.value;
|
|
94
102
|
provide(CONFIG_KEY, {
|
|
95
103
|
...configWithoutTheme,
|
|
104
|
+
getRootElement,
|
|
105
|
+
classNamesPrefix: props.value.classNamesPrefix,
|
|
96
106
|
colorScheme,
|
|
107
|
+
cssVariablesSelector: props.value.cssVariablesSelector,
|
|
97
108
|
setColorScheme,
|
|
98
109
|
clearColorScheme
|
|
99
110
|
});
|
|
100
111
|
provide(THEME_KEY, finalTheme);
|
|
101
112
|
const __returned__ = {
|
|
102
|
-
|
|
113
|
+
rawProps,
|
|
114
|
+
props,
|
|
103
115
|
defaultColorScheme,
|
|
104
116
|
forceColorScheme,
|
|
105
117
|
colorSchemeManager,
|
|
@@ -110,7 +122,10 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
110
122
|
setColorScheme,
|
|
111
123
|
clearColorScheme,
|
|
112
124
|
_excludedTheme,
|
|
113
|
-
configWithoutTheme
|
|
125
|
+
configWithoutTheme,
|
|
126
|
+
get CckClassesStyle() {
|
|
127
|
+
return cck_classes_style_default;
|
|
128
|
+
}
|
|
114
129
|
};
|
|
115
130
|
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
116
131
|
enumerable: false,
|
|
@@ -120,7 +135,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
120
135
|
}
|
|
121
136
|
});
|
|
122
137
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
123
|
-
return renderSlot(_ctx.$slots, "default");
|
|
138
|
+
return openBlock(), createElementBlock(Fragment, null, [$setup.props.withGlobalClasses ? (openBlock(), createBlock($setup["CckClassesStyle"], { key: 0 })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default")], 64);
|
|
124
139
|
}
|
|
125
140
|
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"]]);
|
|
126
141
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"config-provider.mjs","names":[],"sources":["../../../src/core/config-provider/config-provider.vue"],"sourcesContent":["<template>\n <cck-classes-style v-if=\"props.withGlobalClasses\" />\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 { CckClassesStyle } from './cck-classes-style'\nimport { DEFAULT_THEME } from './default-theme'\nimport { mergeCckTheme } from './merge-cck-theme'\nimport { CContextValue } from './config-provider.context'\nimport { useComponentProps } from './use-component-props/use-component-props'\nimport './baseline.css'\nimport './global.css'\nimport './default-css-variables.css'\n\ndefineOptions({\n name: 'CckConfigProvider',\n})\n\nconst rawProps = defineProps<ConfigProviderProps>()\n\nconst props = useComponentProps({\n component: 'ConfigProvider',\n defaultProps: {\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 props: rawProps,\n})\n\nconst {\n defaultColorScheme,\n forceColorScheme,\n colorSchemeManager,\n getRootElement,\n theme: userTheme,\n} = props.value\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: defaultColorScheme!,\n forceColorScheme,\n manager: colorSchemeManager!,\n getRootElement: getRootElement!,\n})\n\nuseRespectReduceMotion({\n respectReduceMotion: props.value.theme?.respectReducedMotion || false,\n getRootElement: getRootElement!,\n})\n\nconst { theme: _excludedTheme, ...configWithoutTheme } = props.value\nprovide<CContextValue>(CONFIG_KEY, {\n ...configWithoutTheme,\n getRootElement: getRootElement!,\n classNamesPrefix: props.value.classNamesPrefix!,\n colorScheme: colorScheme!,\n cssVariablesSelector: props.value.cssVariablesSelector!,\n setColorScheme,\n clearColorScheme,\n})\nprovide(THEME_KEY, finalTheme)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,WAAW;EAEjB,MAAM,QAAQ,kBAAkB;GAC9B,WAAW;GACX,cAAc;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB,+BAA+B;IACnD,sBAAsB,SAAS;GACjC;GACA,OAAO;EACT,CAAC;EAED,MAAM,EACJ,oBACA,kBACA,oBACA,gBACA,OAAO,cACL,MAAM;EAEV,MAAM,aAAa,eAAe;GAChC,IAAI,WACF,OAAO,cAAc,eAAe,SAAS;GAG/C,OAAO;EACT,CAAC;EAED,MAAM,EAAE,aAAa,gBAAgB,qBAAqB,uBAAuB;GAC3D;GACpB;GACA,SAAS;GACO;EAClB,CAAC;EAED,uBAAuB;GACrB,qBAAqB,MAAM,MAAM,OAAO,wBAAwB;GAChD;EAClB,CAAC;EAED,MAAM,EAAE,OAAO,gBAAgB,GAAG,uBAAuB,MAAM;EAC/D,QAAuB,YAAY;GACjC,GAAG;GACa;GAChB,kBAAkB,MAAM,MAAM;GACjB;GACb,sBAAsB,MAAM,MAAM;GAClC;GACA;EACF,CAAC;EACD,QAAQ,WAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA9EF,OAAA,MAAM,qBAAA,UAAA,GAA/B,YAAoD,OAAA,oBAAA,EAAA,KAAA,EAAA,CAAA,KAAA,mBAAA,QAAA,IAAA,GACpD,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-colors.mjs","names":[],"sources":["../../../src/core/config-provider/default-colors.ts"],"sourcesContent":["import type { CThemeColors } from './theme.types'\n\nexport const DEFAULT_COLORS: CThemeColors = {\n dark: [\n '#C9C9C9',\n '#b8b8b8',\n '#828282',\n '#696969',\n '#424242',\n '#3b3b3b',\n '#2e2e2e',\n '#242424',\n '#1f1f1f',\n '#141414'
|
|
1
|
+
{"version":3,"file":"default-colors.mjs","names":[],"sources":["../../../src/core/config-provider/default-colors.ts"],"sourcesContent":["import type { CThemeColors } from './theme.types'\n\nexport const DEFAULT_COLORS: CThemeColors = {\n dark: [\n '#C9C9C9',\n '#b8b8b8',\n '#828282',\n '#696969',\n '#424242',\n '#3b3b3b',\n '#2e2e2e',\n '#242424',\n '#1f1f1f',\n '#141414',\n ],\n\n gray: [\n '#f8f9fa',\n '#f1f3f5',\n '#e9ecef',\n '#dee2e6',\n '#ced4da',\n '#adb5bd',\n '#868e96',\n '#495057',\n '#343a40',\n '#212529',\n ],\n\n red: [\n '#fff5f5',\n '#ffe3e3',\n '#ffc9c9',\n '#ffa8a8',\n '#ff8787',\n '#ff6b6b',\n '#fa5252',\n '#f03e3e',\n '#e03131',\n '#c92a2a',\n ],\n\n pink: [\n '#fff0f6',\n '#ffdeeb',\n '#fcc2d7',\n '#faa2c1',\n '#f783ac',\n '#f06595',\n '#e64980',\n '#d6336c',\n '#c2255c',\n '#a61e4d',\n ],\n\n grape: [\n '#f8f0fc',\n '#f3d9fa',\n '#eebefa',\n '#e599f7',\n '#da77f2',\n '#cc5de8',\n '#be4bdb',\n '#ae3ec9',\n '#9c36b5',\n '#862e9c',\n ],\n\n violet: [\n '#f3f0ff',\n '#e5dbff',\n '#d0bfff',\n '#b197fc',\n '#9775fa',\n '#845ef7',\n '#7950f2',\n '#7048e8',\n '#6741d9',\n '#5f3dc4',\n ],\n\n indigo: [\n '#edf2ff',\n '#dbe4ff',\n '#bac8ff',\n '#91a7ff',\n '#748ffc',\n '#5c7cfa',\n '#4c6ef5',\n '#4263eb',\n '#3b5bdb',\n '#364fc7',\n ],\n\n blue: [\n '#e7f5ff',\n '#d0ebff',\n '#a5d8ff',\n '#74c0fc',\n '#4dabf7',\n '#339af0',\n '#228be6',\n '#1c7ed6',\n '#1971c2',\n '#1864ab',\n ],\n\n cyan: [\n '#e3fafc',\n '#c5f6fa',\n '#99e9f2',\n '#66d9e8',\n '#3bc9db',\n '#22b8cf',\n '#15aabf',\n '#1098ad',\n '#0c8599',\n '#0b7285',\n ],\n\n teal: [\n '#e6fcf5',\n '#c3fae8',\n '#96f2d7',\n '#63e6be',\n '#38d9a9',\n '#20c997',\n '#12b886',\n '#0ca678',\n '#099268',\n '#087f5b',\n ],\n\n green: [\n '#ebfbee',\n '#d3f9d8',\n '#b2f2bb',\n '#8ce99a',\n '#69db7c',\n '#51cf66',\n '#40c057',\n '#37b24d',\n '#2f9e44',\n '#2b8a3e',\n ],\n\n lime: [\n '#f4fce3',\n '#e9fac8',\n '#d8f5a2',\n '#c0eb75',\n '#a9e34b',\n '#94d82d',\n '#82c91e',\n '#74b816',\n '#66a80f',\n '#5c940d',\n ],\n\n yellow: [\n '#fff9db',\n '#fff3bf',\n '#ffec99',\n '#ffe066',\n '#ffd43b',\n '#fcc419',\n '#fab005',\n '#f59f00',\n '#f08c00',\n '#e67700',\n ],\n\n orange: [\n '#fff4e6',\n '#ffe8cc',\n '#ffd8a8',\n '#ffc078',\n '#ffa94d',\n '#ff922b',\n '#fd7e14',\n '#f76707',\n '#e8590c',\n '#d9480f',\n ],\n}\n"],"mappings":";AAEA,MAAa,iBAA+B;CAC1C,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,KAAK;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -5,7 +5,7 @@ import { useProviderColorScheme } from "./use-cck-color-scheme/use-provider-colo
|
|
|
5
5
|
import { colorsTuple } from "./color-functions/colors-tuple/colors-tuple.mjs";
|
|
6
6
|
import { toRgba } from "./color-functions/to-rgba/to-rgba.mjs";
|
|
7
7
|
import { darken } from "./color-functions/darken/darken.mjs";
|
|
8
|
-
import { alpha, rgba } from "./color-functions/rgba/rgba.mjs";
|
|
8
|
+
import { alpha, rgb, rgba } from "./color-functions/rgba/rgba.mjs";
|
|
9
9
|
import { isLightColor, luminance } from "./color-functions/luminance/luminance.mjs";
|
|
10
10
|
import { getPrimaryShade } from "./color-functions/get-primary-shade/get-primary-shade.mjs";
|
|
11
11
|
import { parseThemeColor } from "./color-functions/parse-theme-color/parse-theme-color.mjs";
|
|
@@ -13,16 +13,18 @@ import { getThemeColor } from "./color-functions/get-theme-color/get-theme-color
|
|
|
13
13
|
import { getGradient } from "./color-functions/get-gradient/get-gradient.mjs";
|
|
14
14
|
import { defaultVariantColorsResolver } from "./color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs";
|
|
15
15
|
import { DEFAULT_THEME } from "./default-theme.mjs";
|
|
16
|
+
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext } from "./config-provider.context.mjs";
|
|
17
|
+
import { useComponentProps } from "./use-component-props/use-component-props.mjs";
|
|
16
18
|
import config_provider_default from "./config-provider.mjs";
|
|
17
19
|
import { isVirtualColor, virtualColor } from "./cck-css-variables/virtual-color/virtual-color.mjs";
|
|
18
20
|
import { getCSSColorVariables } from "./cck-css-variables/get-css-color-variables.mjs";
|
|
19
21
|
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
22
|
import { createTheme } from "./create-theme/create-theme.mjs";
|
|
22
23
|
import { useCckColorScheme } from "./use-cck-color-scheme/use-cck-color-scheme.mjs";
|
|
24
|
+
import { mergeThemeOverrides } from "./merge-theme-overrides/merge-theme-overrides.mjs";
|
|
23
25
|
//#region packages/@cck-ui/core/src/core/config-provider/index.ts
|
|
24
26
|
const CckConfigProvider = withInstall(config_provider_default);
|
|
25
27
|
//#endregion
|
|
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 };
|
|
28
|
+
export { CONFIG_KEY, CckConfigProvider, CckConfigProvider as default, DEFAULT_THEME, THEME_KEY, alpha, colorsTuple, createTheme, darken, defaultCssVariablesResolver, defaultVariantColorsResolver, getCSSColorVariables, getGradient, getPrimaryShade, getThemeColor, isLightColor, isVirtualColor, luminance, mergeThemeOverrides, parseThemeColor, rgb, rgba, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useComponentProps, useConfigContext, useProviderColorScheme, virtualColor };
|
|
27
29
|
|
|
28
30
|
//# 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 './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":"
|
|
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'\nexport { useComponentProps } from './use-component-props/use-component-props'\nexport { mergeThemeOverrides } from './merge-theme-overrides/merge-theme-overrides'\n\nexport const CckConfigProvider: SFCWithInstall<typeof ConfigProvider> = withInstall(ConfigProvider)\nexport default CckConfigProvider\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,oBAA2D,YAAYA,uBAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { deepMerge } from "../../utils/deep-merge/deep-merge.mjs";
|
|
2
2
|
//#region packages/@cck-ui/core/src/core/config-provider/merge-cck-theme/merge-cck-theme.ts
|
|
3
3
|
const INVALID_PRIMARY_COLOR_ERROR = "[@cck-ui/core] ConfigProvider: Invalid theme.primaryColor, it accepts only key of theme.colors";
|
|
4
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 }";
|
|
@@ -18,7 +18,7 @@ function mergeCckTheme(currentTheme, themeOverride) {
|
|
|
18
18
|
validateCckTheme(currentTheme);
|
|
19
19
|
return currentTheme;
|
|
20
20
|
}
|
|
21
|
-
const result =
|
|
21
|
+
const result = deepMerge(currentTheme, themeOverride);
|
|
22
22
|
if (themeOverride.fontFamily && !themeOverride.headings?.fontFamily) result.headings = {
|
|
23
23
|
...result.headings,
|
|
24
24
|
fontFamily: themeOverride.fontFamily
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-cck-theme.mjs","names":[],"sources":["../../../../src/core/config-provider/merge-cck-theme/merge-cck-theme.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"merge-cck-theme.mjs","names":[],"sources":["../../../../src/core/config-provider/merge-cck-theme/merge-cck-theme.ts"],"sourcesContent":["import { deepMerge } from '../../utils'\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 = deepMerge(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,UAAU,cAAc,aAAa;CAEpD,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,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { deepMerge } from "../../utils/deep-merge/deep-merge.mjs";
|
|
3
|
+
//#region packages/@cck-ui/core/src/core/config-provider/merge-theme-overrides/merge-theme-overrides.ts
|
|
4
|
+
function mergeThemeOverrides(...overrides) {
|
|
5
|
+
return overrides.reduce((acc, override) => deepMerge(acc, override), {});
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { mergeThemeOverrides };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=merge-theme-overrides.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-theme-overrides.mjs","names":[],"sources":["../../../../src/core/config-provider/merge-theme-overrides/merge-theme-overrides.ts"],"sourcesContent":["import { deepMerge } from '../../utils'\nimport { CThemeOverride } from '../theme.types'\n\nexport function mergeThemeOverrides(...overrides: CThemeOverride[]): CThemeOverride {\n return overrides.reduce((acc, override) => deepMerge(acc, override), {})\n}\n"],"mappings":";;;AAGA,SAAgB,oBAAoB,GAAG,WAA6C;CAClF,OAAO,UAAU,QAAQ,KAAK,aAAa,UAAU,KAAK,QAAQ,GAAG,CAAC,CAAC;AACzE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCckTheme } from "../config-provider.context.mjs";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
//#region packages/@cck-ui/core/src/core/config-provider/use-component-props/use-component-props.ts
|
|
5
|
+
function useComponentProps(options) {
|
|
6
|
+
const { component, defaultProps = {}, props } = options;
|
|
7
|
+
const theme = useCckTheme();
|
|
8
|
+
const names = Array.isArray(component) ? component : [component];
|
|
9
|
+
const contextProps = computed(() => {
|
|
10
|
+
const components = theme.value.components;
|
|
11
|
+
if (!components) return {};
|
|
12
|
+
let result = {};
|
|
13
|
+
for (const name of names) if (name) {
|
|
14
|
+
const config = components[name];
|
|
15
|
+
if (config?.defaultProps) result = {
|
|
16
|
+
...result,
|
|
17
|
+
...config.defaultProps
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
});
|
|
22
|
+
return computed(() => {
|
|
23
|
+
const filteredProps = {};
|
|
24
|
+
for (const key in props) if (props[key] !== void 0) filteredProps[key] = props[key];
|
|
25
|
+
return {
|
|
26
|
+
...defaultProps,
|
|
27
|
+
...contextProps.value,
|
|
28
|
+
...filteredProps
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { useComponentProps };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=use-component-props.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-component-props.mjs","names":[],"sources":["../../../../src/core/config-provider/use-component-props/use-component-props.ts"],"sourcesContent":["import { computed, ComputedRef } from 'vue'\nimport { useCckTheme } from '../config-provider.context'\n\nexport interface UseComponentPropsOptions<\n T extends Record<string, any>,\n U extends Partial<T> | null = {},\n> {\n component: string | (string | undefined)[]\n defaultProps: U\n props: T\n}\n\nexport function useComponentProps<T extends Record<string, any>, U extends Partial<T> | null = {}>(\n options: UseComponentPropsOptions<T, U>\n): ComputedRef<T> {\n const { component, defaultProps = {} as U, props } = options\n\n const theme = useCckTheme()\n const names = Array.isArray(component) ? component : [component]\n\n const contextProps = computed(() => {\n const components = theme.value.components\n if (!components) {\n return {} as Partial<T>\n }\n\n let result: Partial<T> = {}\n for (const name of names) {\n if (name) {\n const config = components[name]\n if (config?.defaultProps) {\n result = { ...result, ...config.defaultProps }\n }\n }\n }\n return result\n })\n\n const mergedProps = computed(() => {\n const filteredProps: Partial<T> = {}\n for (const key in props) {\n if (props[key] !== undefined) {\n filteredProps[key] = props[key]\n }\n }\n return {\n ...(defaultProps as any),\n ...contextProps.value,\n ...filteredProps,\n }\n }) as ComputedRef<T>\n\n return mergedProps\n}\n"],"mappings":";;;;AAYA,SAAgB,kBACd,SACgB;CAChB,MAAM,EAAE,WAAW,eAAe,CAAC,GAAQ,UAAU;CAErD,MAAM,QAAQ,YAAY;CAC1B,MAAM,QAAQ,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS;CAE/D,MAAM,eAAe,eAAe;EAClC,MAAM,aAAa,MAAM,MAAM;EAC/B,IAAI,CAAC,YACH,OAAO,CAAC;EAGV,IAAI,SAAqB,CAAC;EAC1B,KAAK,MAAM,QAAQ,OACjB,IAAI,MAAM;GACR,MAAM,SAAS,WAAW;GAC1B,IAAI,QAAQ,cACV,SAAS;IAAE,GAAG;IAAQ,GAAG,OAAO;GAAa;EAEjD;EAEF,OAAO;CACT,CAAC;CAgBD,OAdoB,eAAe;EACjC,MAAM,gBAA4B,CAAC;EACnC,KAAK,MAAM,OAAO,OAChB,IAAI,MAAM,SAAS,KAAA,GACjB,cAAc,OAAO,MAAM;EAG/B,OAAO;GACL,GAAI;GACJ,GAAG,aAAa;GAChB,GAAG;EACL;CACF,CAEiB;AACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-object-to-string.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/css-object-to-string/css-object-to-string.ts"],"sourcesContent":["import { Properties } from 'csstype'\nimport { camelToKebabCase, keys } from '../../utils'\n\nexport function cssObjectToString(css: Properties) {\n return keys(css)\n .reduce(\n (acc, rule) =>\n css[rule] !== undefined
|
|
1
|
+
{"version":3,"file":"css-object-to-string.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/css-object-to-string/css-object-to-string.ts"],"sourcesContent":["import { Properties } from 'csstype'\nimport { camelToKebabCase, keys } from '../../utils'\n\nexport function cssObjectToString(css: Properties) {\n return keys(css)\n .reduce(\n (acc, rule) =>\n css[rule] !== undefined ? `${acc}${camelToKebabCase(rule)}:${css[rule]};` : acc,\n ''\n )\n .trim()\n}\n"],"mappings":";;;;AAGA,SAAgB,kBAAkB,KAAiB;CACjD,OAAO,KAAK,GAAG,CAAC,CACb,QACE,KAAK,SACJ,IAAI,UAAU,KAAA,IAAY,GAAG,MAAM,iBAAiB,IAAI,EAAE,GAAG,IAAI,MAAM,KAAK,KAC9E,EACF,CAAC,CACA,KAAK;AACV"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { numberLikeStringToNumber } from "../../utils/number-like-string-to-number/number-like-string-to-number.mjs";
|
|
3
3
|
//#region packages/@cck-ui/core/src/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.ts
|
|
4
4
|
function normalizeNumberLikeStringProp(prop) {
|
|
5
|
-
if (prop === void 0 || prop === null) return
|
|
5
|
+
if (prop === void 0 || prop === null) return;
|
|
6
6
|
if (typeof prop === "number" || typeof prop === "string") return numberLikeStringToNumber(prop);
|
|
7
7
|
const normalized = {};
|
|
8
8
|
for (const [key, value] of Object.entries(prop)) if (value !== void 0) normalized[key] = numberLikeStringToNumber(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-number-like-string-prop.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.ts"],"sourcesContent":["import { NumberLikeString, StyleProp } from '../../box'\nimport { CBreakpoint } from '../../config-provider'\nimport { numberLikeStringToNumber } from '../../utils'\n\nexport function normalizeNumberLikeStringProp(\n prop: StyleProp<NumberLikeString | undefined>\n): StyleProp<number> | undefined {\n if (prop === undefined || prop === null) return undefined\n\n if (typeof prop === 'number' || typeof prop === 'string')\n return numberLikeStringToNumber(prop)\n\n const normalized: Partial<Record<CBreakpoint | (string & {}), number>> = {}\n for (const [key, value] of Object.entries(prop)) {\n if (value !== undefined) {\n normalized[key] = numberLikeStringToNumber(value as NumberLikeString)\n }\n }\n return normalized\n}\n"],"mappings":";;;AAIA,SAAgB,8BACd,MAC+B;CAC/B,IAAI,SAAS,KAAA,KAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"normalize-number-like-string-prop.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.ts"],"sourcesContent":["import { NumberLikeString, StyleProp } from '../../box'\nimport { CBreakpoint } from '../../config-provider'\nimport { numberLikeStringToNumber } from '../../utils'\n\nexport function normalizeNumberLikeStringProp(\n prop: StyleProp<NumberLikeString | undefined>\n): StyleProp<number> | undefined {\n if (prop === undefined || prop === null) {\n return undefined\n }\n\n if (typeof prop === 'number' || typeof prop === 'string') {\n return numberLikeStringToNumber(prop)\n }\n\n const normalized: Partial<Record<CBreakpoint | (string & {}), number>> = {}\n for (const [key, value] of Object.entries(prop)) {\n if (value !== undefined) {\n normalized[key] = numberLikeStringToNumber(value as NumberLikeString)\n }\n }\n return normalized\n}\n"],"mappings":";;;AAIA,SAAgB,8BACd,MAC+B;CAC/B,IAAI,SAAS,KAAA,KAAa,SAAS,MACjC;CAGF,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAC9C,OAAO,yBAAyB,IAAI;CAGtC,MAAM,aAAmE,CAAC;CAC1E,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAAI,GAC5C,IAAI,UAAU,KAAA,GACZ,WAAW,OAAO,yBAAyB,KAAyB;CAGxE,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsive-style-manager.mjs","names":[],"sources":["../../../src/core/responsive-style-manager/responsive-style-manager.ts"],"sourcesContent":["export interface StyleManagerEntry {\n refCount: number\n styleEl: HTMLStyleElement\n cssText: string\n}\n\nfunction hashString(str: string): string {\n let hash = 0\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i)\n hash = Math.trunc(hash)\n }\n return `rsp_${Math.abs(hash)}`\n}\n\nclass ResponsiveStyleManager {\n private styleMap: Map<string, StyleManagerEntry
|
|
1
|
+
{"version":3,"file":"responsive-style-manager.mjs","names":[],"sources":["../../../src/core/responsive-style-manager/responsive-style-manager.ts"],"sourcesContent":["export interface StyleManagerEntry {\n refCount: number\n styleEl: HTMLStyleElement\n cssText: string\n}\n\nfunction hashString(str: string): string {\n let hash = 0\n for (let i = 0; i < str.length; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i)\n hash = Math.trunc(hash)\n }\n return `rsp_${Math.abs(hash)}`\n}\n\nclass ResponsiveStyleManager {\n private styleMap: Map<string, StyleManagerEntry>\n\n constructor() {\n this.styleMap = new Map()\n }\n\n public register(cssText: string, key?: string): string {\n const finalKey = key || hashString(cssText)\n const existing = this.styleMap.get(finalKey)\n\n if (existing) {\n existing.refCount++\n return finalKey\n }\n\n if (typeof document !== 'undefined') {\n const styleEl = document.createElement('style')\n styleEl.textContent = cssText\n document.head.appendChild(styleEl)\n\n this.styleMap.set(finalKey, {\n refCount: 1,\n styleEl,\n cssText,\n })\n } else {\n this.styleMap.set(finalKey, {\n refCount: 1,\n styleEl: null as any,\n cssText,\n })\n }\n\n return finalKey\n }\n\n public unregister(styleKey: string): void {\n const entry = this.styleMap.get(styleKey)\n if (!entry) {\n return\n }\n\n entry.refCount--\n if (entry.refCount === 0) {\n if (typeof document !== 'undefined' && entry.styleEl.parentNode) {\n entry.styleEl.parentNode.removeChild(entry.styleEl)\n }\n this.styleMap.delete(styleKey)\n }\n }\n}\n\nexport const responsiveStyleManager = new ResponsiveStyleManager()\n"],"mappings":";;AAMA,SAAS,WAAW,KAAqB;CACvC,IAAI,OAAO;CACX,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,QAAQ,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC;EAC5C,OAAO,KAAK,MAAM,IAAI;CACxB;CACA,OAAO,OAAO,KAAK,IAAI,IAAI;AAC7B;AAEA,IAAM,yBAAN,MAA6B;CAG3B,cAAc;EACZ,KAAK,2BAAW,IAAI,IAAI;CAC1B;CAEA,SAAgB,SAAiB,KAAsB;EACrD,MAAM,WAAW,OAAO,WAAW,OAAO;EAC1C,MAAM,WAAW,KAAK,SAAS,IAAI,QAAQ;EAE3C,IAAI,UAAU;GACZ,SAAS;GACT,OAAO;EACT;EAEA,IAAI,OAAO,aAAa,aAAa;GACnC,MAAM,UAAU,SAAS,cAAc,OAAO;GAC9C,QAAQ,cAAc;GACtB,SAAS,KAAK,YAAY,OAAO;GAEjC,KAAK,SAAS,IAAI,UAAU;IAC1B,UAAU;IACV;IACA;GACF,CAAC;EACH,OACE,KAAK,SAAS,IAAI,UAAU;GAC1B,UAAU;GACV,SAAS;GACT;EACF,CAAC;EAGH,OAAO;CACT;CAEA,WAAkB,UAAwB;EACxC,MAAM,QAAQ,KAAK,SAAS,IAAI,QAAQ;EACxC,IAAI,CAAC,OACH;EAGF,MAAM;EACN,IAAI,MAAM,aAAa,GAAG;GACxB,IAAI,OAAO,aAAa,eAAe,MAAM,QAAQ,YACnD,MAAM,QAAQ,WAAW,YAAY,MAAM,OAAO;GAEpD,KAAK,SAAS,OAAO,QAAQ;EAC/B;CACF;AACF;AAEA,MAAa,yBAAyB,IAAI,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles-to-string.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/styles-to-string/styles-to-string.ts"],"sourcesContent":["import { Properties } from 'csstype'\nimport { cssObjectToString } from '../css-object-to-string/css-object-to-string'\n\nexport interface StylesMediaQuery {\n query: string\n styles: Properties\n}\n\nexport interface StylesInput {\n selector: string\n styles?: Properties\n media?: StylesMediaQuery[]\n container?: StylesMediaQuery[]\n}\n\nexport function stylesToString({
|
|
1
|
+
{"version":3,"file":"styles-to-string.mjs","names":[],"sources":["../../../../src/core/responsive-style-manager/styles-to-string/styles-to-string.ts"],"sourcesContent":["import { Properties } from 'csstype'\nimport { cssObjectToString } from '../css-object-to-string/css-object-to-string'\n\nexport interface StylesMediaQuery {\n query: string\n styles: Properties\n}\n\nexport interface StylesInput {\n selector: string\n styles?: Properties\n media?: StylesMediaQuery[]\n container?: StylesMediaQuery[]\n}\n\nexport function stylesToString({ container, media, selector, styles }: StylesInput) {\n const baseStyles = styles ? cssObjectToString(styles) : ''\n\n const mediaQueryStyles = !Array.isArray(media)\n ? []\n : media.map((item) => `@media${item.query}{.${selector}{${cssObjectToString(item.styles)}}}`)\n const containerStyles = !Array.isArray(container)\n ? []\n : container.map(\n (item) => `@container ${item.query}{.${selector}{${cssObjectToString(item.styles)}}}`\n )\n\n return `${baseStyles ? `.${selector}{${baseStyles}}` : ''}${mediaQueryStyles.join('')}${containerStyles.join('')}`.trim()\n}\n"],"mappings":";;;AAeA,SAAgB,eAAe,EAAE,WAAW,OAAO,UAAU,UAAuB;CAClF,MAAM,aAAa,SAAS,kBAAkB,MAAM,IAAI;CAExD,MAAM,mBAAmB,CAAC,MAAM,QAAQ,KAAK,IACzC,CAAC,IACD,MAAM,KAAK,SAAS,SAAS,KAAK,MAAM,IAAI,SAAS,GAAG,kBAAkB,KAAK,MAAM,EAAE,GAAG;CAC9F,MAAM,kBAAkB,CAAC,MAAM,QAAQ,SAAS,IAC5C,CAAC,IACD,UAAU,KACP,SAAS,cAAc,KAAK,MAAM,IAAI,SAAS,GAAG,kBAAkB,KAAK,MAAM,EAAE,GACpF;CAEJ,OAAO,GAAG,aAAa,IAAI,SAAS,GAAG,WAAW,KAAK,KAAK,iBAAiB,KAAK,EAAE,IAAI,gBAAgB,KAAK,EAAE,IAAI,KAAK;AAC1H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-options-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.ts"],"sourcesContent":["import { GetStylesApiOptions } from '../../../styles-api.types'\nimport {\n ResolveClassNamesInput,\n resolveClassNames
|
|
1
|
+
{"version":3,"file":"get-options-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.ts"],"sourcesContent":["import { GetStylesApiOptions } from '../../../styles-api.types'\nimport {\n ResolveClassNamesInput,\n resolveClassNames,\n} from '../resolve-class-names/resolve-class-names'\n\ninterface GetOptionsClassNamesInput extends Omit<ResolveClassNamesInput, 'classNames'> {\n selector: string\n options: GetStylesApiOptions | undefined\n}\n\nexport function getOptionsClassNames({\n selector,\n stylesCtx,\n options,\n props,\n theme,\n}: GetOptionsClassNamesInput) {\n return resolveClassNames({\n theme,\n classNames: options?.classNames,\n props: options?.props || props,\n stylesCtx,\n })[selector]\n}\n"],"mappings":";;;AAWA,SAAgB,qBAAqB,EACnC,UACA,WACA,SACA,OACA,SAC4B;CAC5B,OAAO,kBAAkB;EACvB;EACA,YAAY,SAAS;EACrB,OAAO,SAAS,SAAS;EACzB;CACF,CAAC,CAAC,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-resolved-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.ts"],"sourcesContent":["import {\n ResolveClassNamesInput,\n resolveClassNames
|
|
1
|
+
{"version":3,"file":"get-resolved-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.ts"],"sourcesContent":["import {\n ResolveClassNamesInput,\n resolveClassNames,\n} from '../resolve-class-names/resolve-class-names'\n\ninterface GetResolvedClassNamesOptions extends ResolveClassNamesInput {\n selector: string\n}\n\nexport function getResolvedClassNames({\n selector,\n stylesCtx,\n theme,\n classNames,\n props,\n}: GetResolvedClassNamesOptions) {\n return resolveClassNames({ theme, classNames, props, stylesCtx })[selector]\n}\n"],"mappings":";;;AASA,SAAgB,sBAAsB,EACpC,UACA,WACA,OACA,YACA,SAC+B;CAC/B,OAAO,kBAAkB;EAAE;EAAO;EAAY;EAAO;CAAU,CAAC,CAAC,CAAC;AACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-root-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.ts"],"sourcesContent":["interface GetRootClassNameInput {\n rootSelector: string\n selector: string\n className: string | undefined\n}\n\nexport function getRootClassName({
|
|
1
|
+
{"version":3,"file":"get-root-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.ts"],"sourcesContent":["interface GetRootClassNameInput {\n rootSelector: string\n selector: string\n className: string | undefined\n}\n\nexport function getRootClassName({ rootSelector, selector, className }: GetRootClassNameInput) {\n return rootSelector === selector ? className : undefined\n}\n"],"mappings":";;AAMA,SAAgB,iBAAiB,EAAE,cAAc,UAAU,aAAoC;CAC7F,OAAO,iBAAiB,WAAW,YAAY,KAAA;AACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-selector-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.ts"],"sourcesContent":["interface GetSelectorClassNameInput {\n selector: string\n classes: Record<string, string>\n unstyled: boolean | undefined\n}\n\nexport function getSelectorClassName({
|
|
1
|
+
{"version":3,"file":"get-selector-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.ts"],"sourcesContent":["interface GetSelectorClassNameInput {\n selector: string\n classes: Record<string, string>\n unstyled: boolean | undefined\n}\n\nexport function getSelectorClassName({ selector, classes, unstyled }: GetSelectorClassNameInput) {\n return unstyled ? undefined : classes[selector]\n}\n"],"mappings":";;AAMA,SAAgB,qBAAqB,EAAE,UAAU,SAAS,YAAuC;CAC/F,OAAO,WAAW,KAAA,IAAY,QAAQ;AACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-static-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.ts"],"sourcesContent":["interface GetStaticClassNamesInput {\n themeName: string[]\n selector: string\n classNamesPrefix: string\n withStaticClass?: boolean\n}\n\nexport function getStaticClassNames({\n themeName,\n classNamesPrefix,\n selector,\n withStaticClass
|
|
1
|
+
{"version":3,"file":"get-static-class-names.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.ts"],"sourcesContent":["interface GetStaticClassNamesInput {\n themeName: string[]\n selector: string\n classNamesPrefix: string\n withStaticClass?: boolean\n}\n\nexport function getStaticClassNames({\n themeName,\n classNamesPrefix,\n selector,\n withStaticClass,\n}: GetStaticClassNamesInput) {\n if (withStaticClass === false) {\n return []\n }\n\n return themeName.map((n) => `${classNamesPrefix}-${n}-${selector}`)\n}\n"],"mappings":";;AAOA,SAAgB,oBAAoB,EAClC,WACA,kBACA,UACA,mBAC2B;CAC3B,IAAI,oBAAoB,OACtB,OAAO,CAAC;CAGV,OAAO,UAAU,KAAK,MAAM,GAAG,iBAAiB,GAAG,EAAE,GAAG,UAAU;AACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-variant-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.ts"],"sourcesContent":["import { GetStylesApiOptions } from '../../../styles-api.types'\n\ninterface GetVariantClassNameInput {\n options: GetStylesApiOptions | undefined\n classes: Record<string, string>\n selector: string\n unstyled: boolean | undefined\n}\n\n/**\n * @returns Variant className, variant is always separated from selector with `--`, for example, `tab--default`\n */\nexport function getVariantClassName({\n options,\n classes,\n selector,\n unstyled
|
|
1
|
+
{"version":3,"file":"get-variant-class-name.mjs","names":[],"sources":["../../../../../../src/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.ts"],"sourcesContent":["import { GetStylesApiOptions } from '../../../styles-api.types'\n\ninterface GetVariantClassNameInput {\n options: GetStylesApiOptions | undefined\n classes: Record<string, string>\n selector: string\n unstyled: boolean | undefined\n}\n\n/**\n * @returns Variant className, variant is always separated from selector with `--`, for example, `tab--default`\n */\nexport function getVariantClassName({\n options,\n classes,\n selector,\n unstyled,\n}: GetVariantClassNameInput) {\n return options?.variant && !unstyled ? classes[`${selector}--${options.variant}`] : undefined\n}\n"],"mappings":";;;;;AAYA,SAAgB,oBAAoB,EAClC,SACA,SACA,UACA,YAC2B;CAC3B,OAAO,SAAS,WAAW,CAAC,WAAW,QAAQ,GAAG,SAAS,IAAI,QAAQ,aAAa,KAAA;AACtF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region packages/@cck-ui/core/src/core/utils/deep-merge/deep-merge.ts
|
|
2
|
+
function isObject(item) {
|
|
3
|
+
return item && typeof item === "object" && !Array.isArray(item);
|
|
4
|
+
}
|
|
5
|
+
function deepMerge(target, source) {
|
|
6
|
+
const result = { ...target };
|
|
7
|
+
const _source = source;
|
|
8
|
+
if (isObject(target) && isObject(source)) Object.keys(source).forEach((key) => {
|
|
9
|
+
if (isObject(_source[key])) if (!(key in target)) result[key] = _source[key];
|
|
10
|
+
else result[key] = deepMerge(result[key], _source[key]);
|
|
11
|
+
else result[key] = _source[key];
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { deepMerge };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=deep-merge.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-merge.mjs","names":[],"sources":["../../../../src/core/utils/deep-merge/deep-merge.ts"],"sourcesContent":["function isObject(item: unknown) {\n return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function deepMerge<T extends object>(target: T, source: any): T {\n const result: Record<string, any> = { ...target }\n const _source: Record<string, any> = source\n\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isObject(_source[key])) {\n if (!(key in target)) {\n result[key] = _source[key]\n } else {\n result[key] = deepMerge(result[key], _source[key])\n }\n } else {\n result[key] = _source[key]\n }\n })\n }\n\n return result as T\n}\n"],"mappings":";AAAA,SAAS,SAAS,MAAe;CAC/B,OAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AAChE;AAEA,SAAgB,UAA4B,QAAW,QAAgB;CACrE,MAAM,SAA8B,EAAE,GAAG,OAAO;CAChD,MAAM,UAA+B;CAErC,IAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GACrC,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,QAAQ;EACnC,IAAI,SAAS,QAAQ,IAAI,GACvB,IAAI,EAAE,OAAO,SACX,OAAO,OAAO,QAAQ;OAEtB,OAAO,OAAO,UAAU,OAAO,MAAM,QAAQ,IAAI;OAGnD,OAAO,OAAO,QAAQ;CAE1B,CAAC;CAGH,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-breakpoint-value.mjs","names":[],"sources":["../../../../src/core/utils/get-breakpoint-value/get-breakpoint-value.ts"],"sourcesContent":["import { CBreakpoint } from '../../config-provider'\nimport { px } from '../units-converters'\n\nexport type BreakpointsSource = Record<CBreakpoint, number | string>\n\nexport function getBreakpointValue(
|
|
1
|
+
{"version":3,"file":"get-breakpoint-value.mjs","names":[],"sources":["../../../../src/core/utils/get-breakpoint-value/get-breakpoint-value.ts"],"sourcesContent":["import { CBreakpoint } from '../../config-provider'\nimport { px } from '../units-converters'\n\nexport type BreakpointsSource = Record<CBreakpoint, number | string>\n\nexport function getBreakpointValue(breakpoint: number | string, breakpoints: BreakpointsSource) {\n if (breakpoint in breakpoints) {\n return px(breakpoints[breakpoint as CBreakpoint]) as number\n }\n return px(breakpoint) as number\n}\n"],"mappings":";;;AAKA,SAAgB,mBAAmB,YAA6B,aAAgC;CAC9F,IAAI,cAAc,aAChB,OAAO,GAAG,YAAY,WAA0B;CAElD,OAAO,GAAG,UAAU;AACtB"}
|
|
@@ -3,7 +3,7 @@ import { rem } from "../units-converters/rem.mjs";
|
|
|
3
3
|
import { isNumberLike } from "../is-number-like/is-number-like.mjs";
|
|
4
4
|
//#region packages/@cck-ui/core/src/core/utils/get-size/get-size.ts
|
|
5
5
|
function getSize(size, prefix = "size", convertToRem = true) {
|
|
6
|
-
if (size === void 0) return
|
|
6
|
+
if (size === void 0) return;
|
|
7
7
|
return isNumberLike(size) ? convertToRem ? rem(size) : size : `var(--${prefix}-${size})`;
|
|
8
8
|
}
|
|
9
9
|
function getSpacing(size) {
|
|
@@ -20,7 +20,7 @@ function getLineHeight(size) {
|
|
|
20
20
|
return getSize(size, "c-line-height", false);
|
|
21
21
|
}
|
|
22
22
|
function getShadow(size) {
|
|
23
|
-
if (!size) return
|
|
23
|
+
if (!size) return;
|
|
24
24
|
return getSize(size, "c-shadow", false);
|
|
25
25
|
}
|
|
26
26
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-size.mjs","names":[],"sources":["../../../../src/core/utils/get-size/get-size.ts"],"sourcesContent":["import { isNumberLike } from '../is-number-like/is-number-like'\nimport { rem } from '../units-converters'\n\nexport function getSize(
|
|
1
|
+
{"version":3,"file":"get-size.mjs","names":[],"sources":["../../../../src/core/utils/get-size/get-size.ts"],"sourcesContent":["import { isNumberLike } from '../is-number-like/is-number-like'\nimport { rem } from '../units-converters'\n\nexport function getSize(size: unknown, prefix = 'size', convertToRem = true): string | undefined {\n if (size === undefined) {\n return undefined\n }\n\n return isNumberLike(size)\n ? convertToRem\n ? rem(size)\n : (size as string)\n : `var(--${prefix}-${size})`\n}\n\nexport function getSpacing(size: unknown) {\n return getSize(size, 'c-spacing')\n}\n\nexport function getRadius(size: unknown) {\n if (size === undefined) {\n return `var(--c-radius-default)`\n }\n\n return getSize(size, 'c-radius')\n}\n\nexport function getFontSize(size: unknown) {\n return getSize(size, 'c-font-size')\n}\n\nexport function getLineHeight(size: unknown) {\n return getSize(size, 'c-line-height', false)\n}\n\nexport function getShadow(size: unknown) {\n if (!size) {\n return undefined\n }\n\n return getSize(size, 'c-shadow', false)\n}\n"],"mappings":";;;;AAGA,SAAgB,QAAQ,MAAe,SAAS,QAAQ,eAAe,MAA0B;CAC/F,IAAI,SAAS,KAAA,GACX;CAGF,OAAO,aAAa,IAAI,IACpB,eACE,IAAI,IAAI,IACP,OACH,SAAS,OAAO,GAAG,KAAK;AAC9B;AAEA,SAAgB,WAAW,MAAe;CACxC,OAAO,QAAQ,MAAM,WAAW;AAClC;AAEA,SAAgB,UAAU,MAAe;CACvC,IAAI,SAAS,KAAA,GACX,OAAO;CAGT,OAAO,QAAQ,MAAM,UAAU;AACjC;AAEA,SAAgB,YAAY,MAAe;CACzC,OAAO,QAAQ,MAAM,aAAa;AACpC;AAEA,SAAgB,cAAc,MAAe;CAC3C,OAAO,QAAQ,MAAM,iBAAiB,KAAK;AAC7C;AAEA,SAAgB,UAAU,MAAe;CACvC,IAAI,CAAC,MACH;CAGF,OAAO,QAAQ,MAAM,YAAY,KAAK;AACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sorted-breakpoints.mjs","names":[],"sources":["../../../../src/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"get-sorted-breakpoints.mjs","names":[],"sources":["../../../../src/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.ts"],"sourcesContent":["import { BreakpointsSource, getBreakpointValue } from '../get-breakpoint-value/get-breakpoint-value'\n\nexport function getSortedBreakpoints(values: string[], breakpoints: BreakpointsSource) {\n const convertedBreakpoints = values.map((breakpoint) => ({\n value: breakpoint,\n px: getBreakpointValue(breakpoint, breakpoints),\n }))\n\n convertedBreakpoints.sort((a, b) => a.px - b.px)\n return convertedBreakpoints\n}\n"],"mappings":";;;AAEA,SAAgB,qBAAqB,QAAkB,aAAgC;CACrF,MAAM,uBAAuB,OAAO,KAAK,gBAAgB;EACvD,OAAO;EACP,IAAI,mBAAmB,YAAY,WAAW;CAChD,EAAE;CAEF,qBAAqB,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;CAC/C,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-like-string-to-number.mjs","names":[],"sources":["../../../../src/core/utils/number-like-string-to-number/number-like-string-to-number.ts"],"sourcesContent":["import { NumberLikeString } from '../../box'\n\nexport function numberLikeStringToNumber(
|
|
1
|
+
{"version":3,"file":"number-like-string-to-number.mjs","names":[],"sources":["../../../../src/core/utils/number-like-string-to-number/number-like-string-to-number.ts"],"sourcesContent":["import { NumberLikeString } from '../../box'\n\nexport function numberLikeStringToNumber(value: NumberLikeString, fallback: number = 0): number {\n if (typeof value === 'number') {\n return value\n }\n const parsed = Number(value)\n return Number.isNaN(parsed) ? fallback : parsed\n}\n"],"mappings":";;AAEA,SAAgB,yBAAyB,OAAyB,WAAmB,GAAW;CAC9F,IAAI,OAAO,UAAU,UACnB,OAAO;CAET,MAAM,SAAS,OAAO,KAAK;CAC3B,OAAO,OAAO,MAAM,MAAM,IAAI,WAAW;AAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"px.mjs","names":[],"sources":["../../../../src/core/utils/units-converters/px.ts"],"sourcesContent":["function getTransformdScaledValue(value: unknown) {\n if (typeof value !== 'string' || !value.includes('var(--c-scale)'))\n return value\n\n return value\n .match(/^calc\\((.*?)\\)$/)?.[1]\n .split('*')[0]\n .trim()\n}\n\nexport function px(value: unknown) {\n const transformedValue = getTransformdScaledValue(value)\n\n if (typeof transformedValue === 'number') return transformedValue\n\n if (typeof transformedValue === 'string') {\n if (transformedValue.includes('calc') || transformedValue.includes('var'))\n return transformedValue\n\n if (transformedValue.includes('px'))\n return Number(transformedValue.replace('px', ''))\n\n if (transformedValue.includes('rem'))\n return Number(transformedValue.replace('rem', '')) * 16\n\n if (transformedValue.includes('em'))\n return Number(transformedValue.replace('em', '')) * 16\n\n return Number(transformedValue)\n }\n\n return Number.NaN\n}\n"],"mappings":";AAAA,SAAS,yBAAyB,OAAgB;CAChD,IAAI,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,gBAAgB,GAC/D,OAAO;
|
|
1
|
+
{"version":3,"file":"px.mjs","names":[],"sources":["../../../../src/core/utils/units-converters/px.ts"],"sourcesContent":["function getTransformdScaledValue(value: unknown) {\n if (typeof value !== 'string' || !value.includes('var(--c-scale)')) {\n return value\n }\n\n return value\n .match(/^calc\\((.*?)\\)$/)?.[1]\n .split('*')[0]\n .trim()\n}\n\nexport function px(value: unknown) {\n const transformedValue = getTransformdScaledValue(value)\n\n if (typeof transformedValue === 'number') {\n return transformedValue\n }\n\n if (typeof transformedValue === 'string') {\n if (transformedValue.includes('calc') || transformedValue.includes('var')) {\n return transformedValue\n }\n\n if (transformedValue.includes('px')) {\n return Number(transformedValue.replace('px', ''))\n }\n\n if (transformedValue.includes('rem')) {\n return Number(transformedValue.replace('rem', '')) * 16\n }\n\n if (transformedValue.includes('em')) {\n return Number(transformedValue.replace('em', '')) * 16\n }\n\n return Number(transformedValue)\n }\n\n return Number.NaN\n}\n"],"mappings":";AAAA,SAAS,yBAAyB,OAAgB;CAChD,IAAI,OAAO,UAAU,YAAY,CAAC,MAAM,SAAS,gBAAgB,GAC/D,OAAO;CAGT,OAAO,MACJ,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAC7B,MAAM,GAAG,CAAC,CAAC,EAAE,CACb,KAAK;AACV;AAEA,SAAgB,GAAG,OAAgB;CACjC,MAAM,mBAAmB,yBAAyB,KAAK;CAEvD,IAAI,OAAO,qBAAqB,UAC9B,OAAO;CAGT,IAAI,OAAO,qBAAqB,UAAU;EACxC,IAAI,iBAAiB,SAAS,MAAM,KAAK,iBAAiB,SAAS,KAAK,GACtE,OAAO;EAGT,IAAI,iBAAiB,SAAS,IAAI,GAChC,OAAO,OAAO,iBAAiB,QAAQ,MAAM,EAAE,CAAC;EAGlD,IAAI,iBAAiB,SAAS,KAAK,GACjC,OAAO,OAAO,iBAAiB,QAAQ,OAAO,EAAE,CAAC,IAAI;EAGvD,IAAI,iBAAiB,SAAS,IAAI,GAChC,OAAO,OAAO,iBAAiB,QAAQ,MAAM,EAAE,CAAC,IAAI;EAGtD,OAAO,OAAO,gBAAgB;CAChC;CAEA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rem.mjs","names":[],"sources":["../../../../src/core/utils/units-converters/rem.ts"],"sourcesContent":["function scaleRem(remValue: string) {\n if (remValue === '0rem') return '0rem'\n return `calc(${remValue} * var(--c-scale))`\n}\n\nfunction createConverter(units: string, { shouldScale = false } = {}) {\n function converter(value: unknown): string {\n if (value === 0 || value === '0') return `0${units}`\n\n if (typeof value === 'number') {\n const val = `${value / 16}${units}`\n return shouldScale ? scaleRem(val) : val\n }\n\n if (typeof value === 'string') {\n if (value === '') return value\n\n if (
|
|
1
|
+
{"version":3,"file":"rem.mjs","names":[],"sources":["../../../../src/core/utils/units-converters/rem.ts"],"sourcesContent":["function scaleRem(remValue: string) {\n if (remValue === '0rem') {\n return '0rem'\n }\n return `calc(${remValue} * var(--c-scale))`\n}\n\nfunction createConverter(units: string, { shouldScale = false } = {}) {\n function converter(value: unknown): string {\n if (value === 0 || value === '0') {\n return `0${units}`\n }\n\n if (typeof value === 'number') {\n const val = `${value / 16}${units}`\n return shouldScale ? scaleRem(val) : val\n }\n\n if (typeof value === 'string') {\n if (value === '') {\n return value\n }\n\n if (value.startsWith('calc(') || value.startsWith('clamp(') || value.includes('rgba(')) {\n return value\n }\n\n if (value.includes(',')) {\n return value\n .split(',')\n .map((val) => converter(val))\n .join(',')\n }\n\n if (value.includes(' ')) {\n return value\n .split(' ')\n .map((val) => converter(val))\n .join(' ')\n }\n\n const replaced = value.replace('px', '')\n if (!Number.isNaN(Number(replaced))) {\n const val = `${Number(replaced) / 16}${units}`\n return shouldScale ? scaleRem(val) : val\n }\n }\n\n return value as string\n }\n\n return converter\n}\n\nexport const rem = createConverter('rem', { shouldScale: true })\nexport const em = createConverter('em')\n"],"mappings":";AAAA,SAAS,SAAS,UAAkB;CAClC,IAAI,aAAa,QACf,OAAO;CAET,OAAO,QAAQ,SAAS;AAC1B;AAEA,SAAS,gBAAgB,OAAe,EAAE,cAAc,UAAU,CAAC,GAAG;CACpE,SAAS,UAAU,OAAwB;EACzC,IAAI,UAAU,KAAK,UAAU,KAC3B,OAAO,IAAI;EAGb,IAAI,OAAO,UAAU,UAAU;GAC7B,MAAM,MAAM,GAAG,QAAQ,KAAK;GAC5B,OAAO,cAAc,SAAS,GAAG,IAAI;EACvC;EAEA,IAAI,OAAO,UAAU,UAAU;GAC7B,IAAI,UAAU,IACZ,OAAO;GAGT,IAAI,MAAM,WAAW,OAAO,KAAK,MAAM,WAAW,QAAQ,KAAK,MAAM,SAAS,OAAO,GACnF,OAAO;GAGT,IAAI,MAAM,SAAS,GAAG,GACpB,OAAO,MACJ,MAAM,GAAG,CAAC,CACV,KAAK,QAAQ,UAAU,GAAG,CAAC,CAAC,CAC5B,KAAK,GAAG;GAGb,IAAI,MAAM,SAAS,GAAG,GACpB,OAAO,MACJ,MAAM,GAAG,CAAC,CACV,KAAK,QAAQ,UAAU,GAAG,CAAC,CAAC,CAC5B,KAAK,GAAG;GAGb,MAAM,WAAW,MAAM,QAAQ,MAAM,EAAE;GACvC,IAAI,CAAC,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG;IACnC,MAAM,MAAM,GAAG,OAAO,QAAQ,IAAI,KAAK;IACvC,OAAO,cAAc,SAAS,GAAG,IAAI;GACvC;EACF;EAEA,OAAO;CACT;CAEA,OAAO;AACT;AAEA,MAAa,MAAM,gBAAgB,OAAO,EAAE,aAAa,KAAK,CAAC;AAC/D,MAAa,KAAK,gBAAgB,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.mjs","names":[],"sources":["../../../../src/core/utils/vue/component.ts"],"sourcesContent":["export function getComponentName(component: any): string {\n if (typeof component === 'string') return component\n if (component && typeof component === 'object') {\n return component.name || component.__name || 'unknown component'\n }\n return String(component)\n}\n"],"mappings":";;AAAA,SAAgB,iBAAiB,WAAwB;CACvD,IAAI,OAAO,cAAc,
|
|
1
|
+
{"version":3,"file":"component.mjs","names":[],"sources":["../../../../src/core/utils/vue/component.ts"],"sourcesContent":["export function getComponentName(component: any): string {\n if (typeof component === 'string') {\n return component\n }\n if (component && typeof component === 'object') {\n return component.name || component.__name || 'unknown component'\n }\n return String(component)\n}\n"],"mappings":";;AAAA,SAAgB,iBAAiB,WAAwB;CACvD,IAAI,OAAO,cAAc,UACvB,OAAO;CAET,IAAI,aAAa,OAAO,cAAc,UACpC,OAAO,UAAU,QAAQ,UAAU,UAAU;CAE/C,OAAO,OAAO,SAAS;AACzB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { hasOwn, isArray } from "@vue/shared";
|
|
3
2
|
import { isPlainObject } from "es-toolkit";
|
|
4
3
|
//#region packages/@cck-ui/core/src/core/utils/vue/install.ts
|
|
4
|
+
const hasOwn = (obj, key) => Object.hasOwn(obj, key);
|
|
5
5
|
const withPropsDefaultSetter = (target) => {
|
|
6
6
|
const _p = target.props;
|
|
7
|
-
const props = isArray(_p) ? Object.fromEntries(_p.map((key) => [key, {}])) : _p;
|
|
7
|
+
const props = Array.isArray(_p) ? Object.fromEntries(_p.map((key) => [key, {}])) : _p;
|
|
8
8
|
target.setPropsDefaults = (defaults) => {
|
|
9
9
|
if (!props) return;
|
|
10
10
|
for (const [key, value] of Object.entries(defaults)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.mjs","names":[],"sources":["../../../../src/core/utils/vue/install.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"install.mjs","names":[],"sources":["../../../../src/core/utils/vue/install.ts"],"sourcesContent":["import { isPlainObject } from 'es-toolkit'\nimport type { SFCWithInstall } from './typescript'\n\nconst hasOwn = (obj: object, key: string | symbol): boolean => Object.hasOwn(obj, key)\n\nexport const withPropsDefaultSetter = (target: any) => {\n const _p = target.props\n const props = Array.isArray(_p) ? Object.fromEntries(_p.map((key) => [key, {}])) : _p\n\n target.setPropsDefaults = (defaults: Record<string, any>) => {\n if (!props) {\n return\n }\n\n for (const [key, value] of Object.entries(defaults)) {\n const prop = props[key]\n\n if (!hasOwn(props, key)) {\n continue\n }\n\n if (isPlainObject(prop)) {\n props[key] = {\n ...props,\n default: value,\n }\n continue\n }\n\n props[key] = {\n type: prop,\n default: value,\n }\n }\n\n target.props = props\n }\n}\n\nexport const withInstall = <T, E extends Record<string, any>>(main: T, extra?: E) => {\n ;(main as SFCWithInstall<T>).install = (app): void => {\n for (const comp of [main, ...Object.values(extra ?? [])]) {\n app.component(comp.name, comp)\n }\n }\n\n if (extra) {\n for (const [key, comp] of Object.entries(extra)) {\n ;(main as any)[key] = comp\n }\n }\n withPropsDefaultSetter(main)\n return main as SFCWithInstall<T> & E\n}\n"],"mappings":";;;AAGA,MAAM,UAAU,KAAa,QAAkC,OAAO,OAAO,KAAK,GAAG;AAErF,MAAa,0BAA0B,WAAgB;CACrD,MAAM,KAAK,OAAO;CAClB,MAAM,QAAQ,MAAM,QAAQ,EAAE,IAAI,OAAO,YAAY,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;CAEnF,OAAO,oBAAoB,aAAkC;EAC3D,IAAI,CAAC,OACH;EAGF,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG;GACnD,MAAM,OAAO,MAAM;GAEnB,IAAI,CAAC,OAAO,OAAO,GAAG,GACpB;GAGF,IAAI,cAAc,IAAI,GAAG;IACvB,MAAM,OAAO;KACX,GAAG;KACH,SAAS;IACX;IACA;GACF;GAEA,MAAM,OAAO;IACX,MAAM;IACN,SAAS;GACX;EACF;EAEA,OAAO,QAAQ;CACjB;AACF;AAEA,MAAa,eAAiD,MAAS,UAAc;CAClF,KAA4B,WAAW,QAAc;EACpD,KAAK,MAAM,QAAQ,CAAC,MAAM,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,CAAC,GACrD,IAAI,UAAU,KAAK,MAAM,IAAI;CAEjC;CAEA,IAAI,OACF,KAAK,MAAM,CAAC,KAAK,SAAS,OAAO,QAAQ,KAAK,GAC3C,KAAc,OAAO;CAG1B,uBAAuB,IAAI;CAC3B,OAAO;AACT"}
|