@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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { computed, defineComponent, h } from "vue";
|
|
3
|
+
//#region packages/@cck-ui/core/src/core/utils/vue/statics.ts
|
|
4
|
+
function withExtend(component) {
|
|
5
|
+
component.extend = (config) => config;
|
|
6
|
+
return component;
|
|
7
|
+
}
|
|
8
|
+
const withClasses = (component, classes) => {
|
|
9
|
+
component.classes = classes;
|
|
10
|
+
return component;
|
|
11
|
+
};
|
|
12
|
+
const withVarsResolver = (component, varsResolver) => {
|
|
13
|
+
component.varsResolver = varsResolver;
|
|
14
|
+
return component;
|
|
15
|
+
};
|
|
16
|
+
const withPropsFactory = (component) => {
|
|
17
|
+
component.withProps = (defaultProps) => {
|
|
18
|
+
return defineComponent({
|
|
19
|
+
name: `WithProps(${component.name || "Component"})`,
|
|
20
|
+
props: component.props || {},
|
|
21
|
+
setup(props, { slots }) {
|
|
22
|
+
const mergedProps = computed(() => ({
|
|
23
|
+
...defaultProps,
|
|
24
|
+
...props
|
|
25
|
+
}));
|
|
26
|
+
return () => h(component, mergedProps.value, slots);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
return component;
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { withClasses, withExtend, withPropsFactory, withVarsResolver };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=statics.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statics.mjs","names":[],"sources":["../../../../src/core/utils/vue/statics.ts"],"sourcesContent":["import { computed, defineComponent, h } from 'vue'\nimport { CThemeComponent } from '../../config-provider'\nimport { VarsResolver } from '../../styles-api'\n\nexport function withExtend<T>(\n component: T\n): T & { extend: (config: CThemeComponent) => CThemeComponent } {\n ;(component as any).extend = (config: CThemeComponent) => config\n return component as T & { extend: (config: CThemeComponent) => CThemeComponent }\n}\n\nexport const withClasses = <T, C extends Record<string, string>>(\n component: T,\n classes: C\n): T & { classes: C } => {\n ;(component as any).classes = classes\n return component as T & { classes: C }\n}\n\nexport const withVarsResolver = <T, V extends VarsResolver<any>>(\n component: T,\n varsResolver: V\n): T & { varsResolver: V } => {\n ;(component as any).varsResolver = varsResolver\n return component as T & { varsResolver: V }\n}\n\nexport const withPropsFactory = <T extends Record<string, any>>(component: T) => {\n ;(component as any).withProps = (defaultProps: Partial<T>) => {\n return defineComponent({\n name: `WithProps(${(component as any).name || 'Component'})`,\n props: (component as any).props || {},\n setup(props, { slots }) {\n const mergedProps = computed(() => ({\n ...defaultProps,\n ...props,\n }))\n\n return () => h(component, mergedProps.value, slots)\n },\n })\n }\n\n return component as T & { withProps: (defaultProps: Partial<T>) => any }\n}\n"],"mappings":";;;AAIA,SAAgB,WACd,WAC8D;CAC7D,UAAmB,UAAU,WAA4B;CAC1D,OAAO;AACT;AAEA,MAAa,eACX,WACA,YACuB;CACtB,UAAmB,UAAU;CAC9B,OAAO;AACT;AAEA,MAAa,oBACX,WACA,iBAC4B;CAC3B,UAAmB,eAAe;CACnC,OAAO;AACT;AAEA,MAAa,oBAAmD,cAAiB;CAC9E,UAAmB,aAAa,iBAA6B;EAC5D,OAAO,gBAAgB;GACrB,MAAM,aAAc,UAAkB,QAAQ,YAAY;GAC1D,OAAQ,UAAkB,SAAS,CAAC;GACpC,MAAM,OAAO,EAAE,SAAS;IACtB,MAAM,cAAc,gBAAgB;KAClC,GAAG;KACH,GAAG;IACL,EAAE;IAEF,aAAa,EAAE,WAAW,YAAY,OAAO,KAAK;GACpD;EACF,CAAC;CACH;CAEA,OAAO;AACT"}
|
package/esm/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deepMerge } from "./core/utils/deep-merge/deep-merge.mjs";
|
|
1
2
|
import { camelToKebabCase } from "./core/utils/camel-to-kebab-case/camel-to-kebab-case.mjs";
|
|
2
3
|
import { filterProps } from "./core/utils/filter-props/filter-props.mjs";
|
|
3
4
|
import { getBaseValue } from "./core/utils/get-base-value/get-base-value.mjs";
|
|
@@ -11,15 +12,14 @@ import { numberLikeStringToNumber } from "./core/utils/number-like-string-to-num
|
|
|
11
12
|
import { keys } from "./core/utils/keys/keys.mjs";
|
|
12
13
|
import { getComponentName } from "./core/utils/vue/component.mjs";
|
|
13
14
|
import { withInstall, withPropsDefaultSetter } from "./core/utils/vue/install.mjs";
|
|
14
|
-
import {
|
|
15
|
+
import { withClasses, withExtend, withPropsFactory, withVarsResolver } from "./core/utils/vue/statics.mjs";
|
|
15
16
|
import { isNumber, isString, isStringNumber, isUndefined } from "./core/utils/types/index.mjs";
|
|
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
18
|
import { useProviderColorScheme } from "./core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs";
|
|
19
19
|
import { colorsTuple } from "./core/config-provider/color-functions/colors-tuple/colors-tuple.mjs";
|
|
20
20
|
import { toRgba } from "./core/config-provider/color-functions/to-rgba/to-rgba.mjs";
|
|
21
21
|
import { darken } from "./core/config-provider/color-functions/darken/darken.mjs";
|
|
22
|
-
import { alpha, rgba } from "./core/config-provider/color-functions/rgba/rgba.mjs";
|
|
22
|
+
import { alpha, rgb, rgba } from "./core/config-provider/color-functions/rgba/rgba.mjs";
|
|
23
23
|
import { isLightColor, luminance } from "./core/config-provider/color-functions/luminance/luminance.mjs";
|
|
24
24
|
import { getPrimaryShade } from "./core/config-provider/color-functions/get-primary-shade/get-primary-shade.mjs";
|
|
25
25
|
import { parseThemeColor } from "./core/config-provider/color-functions/parse-theme-color/parse-theme-color.mjs";
|
|
@@ -27,12 +27,14 @@ import { getThemeColor } from "./core/config-provider/color-functions/get-theme-
|
|
|
27
27
|
import { getGradient } from "./core/config-provider/color-functions/get-gradient/get-gradient.mjs";
|
|
28
28
|
import { defaultVariantColorsResolver } from "./core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs";
|
|
29
29
|
import { DEFAULT_THEME } from "./core/config-provider/default-theme.mjs";
|
|
30
|
+
import { useCckClassNamesPrefix, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useConfigContext } from "./core/config-provider/config-provider.context.mjs";
|
|
31
|
+
import { useComponentProps } from "./core/config-provider/use-component-props/use-component-props.mjs";
|
|
30
32
|
import { isVirtualColor, virtualColor } from "./core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs";
|
|
31
33
|
import { getCSSColorVariables } from "./core/config-provider/cck-css-variables/get-css-color-variables.mjs";
|
|
32
34
|
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
35
|
import { createTheme } from "./core/config-provider/create-theme/create-theme.mjs";
|
|
35
36
|
import { useCckColorScheme } from "./core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs";
|
|
37
|
+
import { mergeThemeOverrides } from "./core/config-provider/merge-theme-overrides/merge-theme-overrides.mjs";
|
|
36
38
|
import { CckConfigProvider } from "./core/config-provider/index.mjs";
|
|
37
39
|
import { extractStyleProps } from "./core/box/style-props/extract-style-props/extract-style-props.mjs";
|
|
38
40
|
import { parseStyleProps } from "./core/box/style-props/parse-style-props/parse-style-props.mjs";
|
|
@@ -83,6 +85,6 @@ const CckUI = { install(app) {
|
|
|
83
85
|
});
|
|
84
86
|
} };
|
|
85
87
|
//#endregion
|
|
86
|
-
export { CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCol, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CText, CTransition, CckConfigProvider, CckUI, CckUI as default, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, UnstyledButton,
|
|
88
|
+
export { CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCol, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CText, CTransition, CckConfigProvider, CckUI, CckUI as default, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, UnstyledButton, alpha, camelToKebabCase, colorsTuple, createTheme, createVarsResolver, darken, deepMerge, defaultCssVariablesResolver, defaultVariantColorsResolver, em, extractStyleProps, filterProps, 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, mergeThemeOverrides, normalizeNumberLikeStringProp, numberLikeStringToNumber, parseStyleProps, parseThemeColor, px, rem, resolveClassNames, resolveStyles, responsiveStyleManager, rgb, rgba, stylesToString, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useComponentProps, useConfigContext, useProviderColorScheme, useRandomClassName, useStyles, virtualColor, withClasses, withExtend, withInstall, withPropsDefaultSetter, withPropsFactory, withVarsResolver };
|
|
87
89
|
|
|
88
90
|
//# sourceMappingURL=index.mjs.map
|
package/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport {\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCol,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CText,\n CTransition,\n UnstyledButton,\n} from './components'\nimport { CckConfigProvider, CBox } from './core'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nconst components = [\n CckConfigProvider,\n CBox,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CGrid,\n CCol,\n CGroup,\n CLoader,\n CSimpleGrid,\n CText,\n CTransition,\n UnstyledButton,\n]\n\nconst CckUI: Plugin = {\n install(app: App) {\n if ((app as any)[INSTALLED_KEY]) {\n return\n }\n ;(app as any)[INSTALLED_KEY] = true\n components.forEach((c) => {\n if (c.name) {\n app.component(c.name, c)\n }\n })\n },\n}\n\nexport default CckUI\nexport { CckUI }\n\nexport * from './components'\nexport * from './core'\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport {\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCol,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CText,\n CTransition,\n UnstyledButton,\n} from './components'\nimport { CckConfigProvider, CBox } from './core'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nconst components = [\n CckConfigProvider,\n CBox,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CGrid,\n CCol,\n CGroup,\n CLoader,\n CSimpleGrid,\n CText,\n CTransition,\n UnstyledButton,\n]\n\nconst CckUI: Plugin = {\n install(app: App) {\n if ((app as any)[INSTALLED_KEY]) {\n return\n }\n ;(app as any)[INSTALLED_KEY] = true\n components.forEach((c) => {\n if (c.name) {\n app.component(c.name, c)\n }\n })\n },\n}\n\nexport default CckUI\nexport { CckUI }\n\nexport * from './components'\nexport * from './core'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,QAAgB,EACpB,QAAQ,KAAU;CAChB,IAAK,IAAY,gBACf;CAED,IAAa,iBAAiB;CAC/B,WAAW,SAAS,MAAM;EACxB,IAAI,EAAE,MACJ,IAAI,UAAU,EAAE,MAAM,CAAC;CAE3B,CAAC;AACH,EACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const varsResolver: import("../..").VarsResolver<{
|
|
2
|
+
props: import("./button.types").ButtonProps;
|
|
3
|
+
defaultRef: HTMLButtonElement;
|
|
4
|
+
defaultComponent: "button";
|
|
5
|
+
stylesNames: import("./button.types").ButtonStylesNames;
|
|
6
|
+
vars: import("./button.types").ButtonCssVariables;
|
|
7
|
+
variant: import("./button.types").ButtonVariant;
|
|
8
|
+
staticComponents: {};
|
|
9
|
+
}>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { type SFCWithInstall } from '../../core';
|
|
1
|
+
import { type SFCWithInstall, type SFCWithInstallAndClasses } from '../../core';
|
|
2
2
|
import ButtonGroup from './button-group/button-group.vue';
|
|
3
3
|
import ButtonGroupSection from './button-group-section/button-group-section.vue';
|
|
4
4
|
import Button from './button.vue';
|
|
5
|
+
import classes from './button.module.css';
|
|
5
6
|
export declare const CButtonGroup: SFCWithInstall<typeof ButtonGroup>;
|
|
6
7
|
export declare const CButtonGroupSection: SFCWithInstall<typeof ButtonGroupSection>;
|
|
7
|
-
export declare const CButton:
|
|
8
|
+
export declare const CButton: SFCWithInstallAndClasses<typeof Button, typeof classes> & {
|
|
8
9
|
ButtonGroup: typeof ButtonGroup;
|
|
9
|
-
} & {
|
|
10
10
|
ButtonGroupSection: typeof ButtonGroupSection;
|
|
11
11
|
};
|
|
12
12
|
export default CButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const varsResolver: import("../..").VarsResolver<{
|
|
2
|
+
props: import("./grid.types").GridProps;
|
|
3
|
+
ref: HTMLDivElement;
|
|
4
|
+
stylesNames: import("./grid.types").GridStylesNames;
|
|
5
|
+
vars: import("./grid.types").GridCssVariables;
|
|
6
|
+
staticComponents: {
|
|
7
|
+
Col: typeof import("*.vue");
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type SFCWithInstallAndClasses } from '../../core';
|
|
2
2
|
import Grid from './grid.vue';
|
|
3
3
|
import Col from './col/col.vue';
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
4
|
+
import classes from './grid.module.css';
|
|
5
|
+
export declare const CCol: SFCWithInstallAndClasses<typeof Col>;
|
|
6
|
+
export declare const CGrid: SFCWithInstallAndClasses<typeof Grid, typeof classes> & {
|
|
6
7
|
Col: typeof Col;
|
|
7
8
|
};
|
|
8
9
|
export default CGrid;
|
|
9
|
-
export * from './col/col.types
|
|
10
|
-
export * from './grid.types
|
|
10
|
+
export * from './col/col.types';
|
|
11
|
+
export * from './grid.types';
|
|
@@ -7,5 +7,5 @@ export { getPrimaryShade } from './get-primary-shade/get-primary-shade';
|
|
|
7
7
|
export { getThemeColor } from './get-theme-color/get-theme-color';
|
|
8
8
|
export { luminance, isLightColor } from './luminance/luminance';
|
|
9
9
|
export { parseThemeColor } from './parse-theme-color/parse-theme-color';
|
|
10
|
-
export { rgba, alpha } from './rgba/rgba';
|
|
10
|
+
export { rgb, rgba, alpha } from './rgba/rgba';
|
|
11
11
|
export { toRgba } from './to-rgba/to-rgba';
|
|
@@ -8,5 +8,7 @@ export * from './create-theme/create-theme';
|
|
|
8
8
|
export * from './default-theme';
|
|
9
9
|
export * from './theme.types';
|
|
10
10
|
export * from './use-cck-color-scheme';
|
|
11
|
+
export { useComponentProps } from './use-component-props/use-component-props';
|
|
12
|
+
export { mergeThemeOverrides } from './merge-theme-overrides/merge-theme-overrides';
|
|
11
13
|
export declare const CckConfigProvider: SFCWithInstall<typeof ConfigProvider>;
|
|
12
14
|
export default CckConfigProvider;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ComputedRef } from 'vue';
|
|
2
|
+
export interface UseComponentPropsOptions<T extends Record<string, any>, U extends Partial<T> | null = {}> {
|
|
3
|
+
component: string | (string | undefined)[];
|
|
4
|
+
defaultProps: U;
|
|
5
|
+
props: T;
|
|
6
|
+
}
|
|
7
|
+
export declare function useComponentProps<T extends Record<string, any>, U extends Partial<T> | null = {}>(options: UseComponentPropsOptions<T, U>): ComputedRef<T>;
|
|
@@ -4,4 +4,4 @@ export { resolveStyles } from './use-styles/get-style/resolve-styles/resolve-sty
|
|
|
4
4
|
export { FOCUS_CLASS_NAMES } from './use-styles/get-class-name/get-global-class-names/get-global-class-names';
|
|
5
5
|
export * from './styles-api.types';
|
|
6
6
|
export * from './use-styles/use-styles';
|
|
7
|
-
export type { VarsResolver, PartialVarsResolver, TransformVars, PartialTransformVars } from './create-vars-resolver/create-vars-resolver';
|
|
7
|
+
export type { VarsResolver, PartialVarsResolver, TransformVars, PartialTransformVars, } from './create-vars-resolver/create-vars-resolver';
|
|
@@ -4,5 +4,5 @@ interface GetOptionsClassNamesInput extends Omit<ResolveClassNamesInput, 'classN
|
|
|
4
4
|
selector: string;
|
|
5
5
|
options: GetStylesApiOptions | undefined;
|
|
6
6
|
}
|
|
7
|
-
export declare function getOptionsClassNames({ selector, stylesCtx, options, props, theme }: GetOptionsClassNamesInput): string | undefined;
|
|
7
|
+
export declare function getOptionsClassNames({ selector, stylesCtx, options, props, theme, }: GetOptionsClassNamesInput): string | undefined;
|
|
8
8
|
export {};
|
|
@@ -2,5 +2,5 @@ import { ResolveClassNamesInput } from '../resolve-class-names/resolve-class-nam
|
|
|
2
2
|
interface GetResolvedClassNamesOptions extends ResolveClassNamesInput {
|
|
3
3
|
selector: string;
|
|
4
4
|
}
|
|
5
|
-
export declare function getResolvedClassNames({ selector, stylesCtx, theme, classNames, props }: GetResolvedClassNamesOptions): string | undefined;
|
|
5
|
+
export declare function getResolvedClassNames({ selector, stylesCtx, theme, classNames, props, }: GetResolvedClassNamesOptions): string | undefined;
|
|
6
6
|
export {};
|
|
@@ -4,5 +4,5 @@ interface GetStaticClassNamesInput {
|
|
|
4
4
|
classNamesPrefix: string;
|
|
5
5
|
withStaticClass?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function getStaticClassNames({ themeName, classNamesPrefix, selector, withStaticClass }: GetStaticClassNamesInput): string[];
|
|
7
|
+
export declare function getStaticClassNames({ themeName, classNamesPrefix, selector, withStaticClass, }: GetStaticClassNamesInput): string[];
|
|
8
8
|
export {};
|
|
@@ -8,5 +8,5 @@ interface GetVariantClassNameInput {
|
|
|
8
8
|
/**
|
|
9
9
|
* @returns Variant className, variant is always separated from selector with `--`, for example, `tab--default`
|
|
10
10
|
*/
|
|
11
|
-
export declare function getVariantClassName({ options, classes, selector, unstyled }: GetVariantClassNameInput): string | undefined;
|
|
11
|
+
export declare function getVariantClassName({ options, classes, selector, unstyled, }: GetVariantClassNameInput): string | undefined;
|
|
12
12
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deepMerge<T extends object>(target: T, source: any): T;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
export { deepMerge } from './deep-merge/deep-merge';
|
|
1
2
|
export { camelToKebabCase } from './camel-to-kebab-case/camel-to-kebab-case';
|
|
2
3
|
export { filterProps } from './filter-props/filter-props';
|
|
3
4
|
export { getBaseValue } from './get-base-value/get-base-value';
|
|
4
5
|
export { getBreakpointValue } from './get-breakpoint-value/get-breakpoint-value';
|
|
5
|
-
export { getSize, getSpacing, getShadow, getRadius, getFontSize, getLineHeight } from './get-size/get-size';
|
|
6
|
+
export { getSize, getSpacing, getShadow, getRadius, getFontSize, getLineHeight, } from './get-size/get-size';
|
|
6
7
|
export { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints';
|
|
7
8
|
export { isNumberLike } from './is-number-like/is-number-like';
|
|
8
9
|
export { numberLikeStringToNumber } from './number-like-string-to-number/number-like-string-to-number';
|
|
9
10
|
export { keys } from './keys/keys';
|
|
10
11
|
export { px, rem, em } from './units-converters';
|
|
11
|
-
export { getComponentName, withInstall, withPropsDefaultSetter } from './vue';
|
|
12
|
-
export type { SFCInstallWithContext, SFCWithInstall, SFCWithPropsDefaultSetter } from './vue';
|
|
13
|
-
export * from './color';
|
|
14
|
-
export * from './dom';
|
|
12
|
+
export { getComponentName, withClasses, withExtend, withInstall, withPropsDefaultSetter, withPropsFactory, withVarsResolver, } from './vue';
|
|
13
|
+
export type { SFCInstallWithContext, SFCWithInstall, SFCWithInstallAndClasses, SFCWithPropsDefaultSetter, } from './vue';
|
|
15
14
|
export { isNumber, isString, isStringNumber, isUndefined } from './types';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CThemeComponent } from '../../config-provider';
|
|
2
|
+
import { VarsResolver } from '../../styles-api';
|
|
3
|
+
export declare function withExtend<T>(component: T): T & {
|
|
4
|
+
extend: (config: CThemeComponent) => CThemeComponent;
|
|
5
|
+
};
|
|
6
|
+
export declare const withClasses: <T, C extends Record<string, string>>(component: T, classes: C) => T & {
|
|
7
|
+
classes: C;
|
|
8
|
+
};
|
|
9
|
+
export declare const withVarsResolver: <T, V extends VarsResolver<any>>(component: T, varsResolver: V) => T & {
|
|
10
|
+
varsResolver: V;
|
|
11
|
+
};
|
|
12
|
+
export declare const withPropsFactory: <T extends Record<string, any>>(component: T) => T & {
|
|
13
|
+
withProps: (defaultProps: Partial<T>) => any;
|
|
14
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { AllowedComponentProps, AppContext, Component, EmitsOptions, ObjectPlugin, SetupContext, VNodeProps } from 'vue';
|
|
2
2
|
import { type ComponentEmit, type ComponentProps } from 'vue-component-type-helpers';
|
|
3
|
+
import { CThemeComponent } from '../../config-provider';
|
|
4
|
+
import { VarsResolver } from '../../styles-api';
|
|
3
5
|
type NativeType = null | undefined | number | string | boolean | symbol | Function;
|
|
4
6
|
type InferDefaults<T> = {
|
|
5
7
|
[K in keyof T as string extends K ? never : K]?: InferDefault<T[K]>;
|
|
@@ -18,5 +20,11 @@ export type SFCWithPropsDefaultSetter<T> = T extends Component ? {
|
|
|
18
20
|
[K in keyof ComponentProps<T> as K extends ExcludeProps<T> ? never : K]?: ComponentProps<T>[K];
|
|
19
21
|
}>) => void;
|
|
20
22
|
} : unknown;
|
|
23
|
+
export type SFCWithInstallAndClasses<T, Classes extends Record<string, string> = Record<string, string>, VarsFn extends VarsResolver<any> = VarsResolver<any>> = SFCWithInstall<T> & {
|
|
24
|
+
classes: Classes;
|
|
25
|
+
extend: (config: CThemeComponent) => CThemeComponent;
|
|
26
|
+
varsResolver?: VarsFn;
|
|
27
|
+
withProps?: (defaultProps: Partial<ComponentProps<T>>) => any;
|
|
28
|
+
};
|
|
21
29
|
export type EmitFn<E extends EmitsOptions> = SetupContext<E>['emit'];
|
|
22
30
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cck-ui/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Vue component library focused on usability, accessibility and developer experience",
|
|
5
5
|
"homepage": "https://cck-ui.jackatlas.xyz",
|
|
6
6
|
"license": "ISC",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@cck-ui/hooks": "workspace:*",
|
|
49
|
+
"@cck-ui-tests/core": "workspace:*",
|
|
49
50
|
"@vue/shared": "^3.5.39",
|
|
50
51
|
"csstype": "^3.2.3",
|
|
51
52
|
"es-toolkit": "^1.49.0",
|
package/styles/loader.css
CHANGED
|
@@ -113,7 +113,6 @@
|
|
|
113
113
|
border-radius: calc(625rem * var(--c-scale));
|
|
114
114
|
border-width: calc(var(--loader-size) / 8);
|
|
115
115
|
border-style: solid;
|
|
116
|
-
border-color: var(--loader-color) var(--loader-color) var(--loader-color)
|
|
117
|
-
transparent;
|
|
116
|
+
border-color: var(--loader-color) var(--loader-color) var(--loader-color) transparent;
|
|
118
117
|
animation: m_1309882b 1.2s linear infinite;
|
|
119
118
|
}
|
package/styles/loader.layer.css
CHANGED
|
@@ -113,8 +113,7 @@
|
|
|
113
113
|
border-radius: calc(625rem * var(--c-scale));
|
|
114
114
|
border-width: calc(var(--loader-size) / 8);
|
|
115
115
|
border-style: solid;
|
|
116
|
-
border-color: var(--loader-color) var(--loader-color) var(--loader-color)
|
|
117
|
-
transparent;
|
|
116
|
+
border-color: var(--loader-color) var(--loader-color) var(--loader-color) transparent;
|
|
118
117
|
animation: m_1309882b 1.2s linear infinite;
|
|
119
118
|
}
|
|
120
119
|
}
|
package/styles.css
CHANGED
|
@@ -1045,8 +1045,7 @@ fieldset:disabled .c-active:active {
|
|
|
1045
1045
|
border-radius: calc(625rem * var(--c-scale));
|
|
1046
1046
|
border-width: calc(var(--loader-size) / 8);
|
|
1047
1047
|
border-style: solid;
|
|
1048
|
-
border-color: var(--loader-color) var(--loader-color) var(--loader-color)
|
|
1049
|
-
transparent;
|
|
1048
|
+
border-color: var(--loader-color) var(--loader-color) var(--loader-color) transparent;
|
|
1050
1049
|
animation: m_1309882b 1.2s linear infinite;
|
|
1051
1050
|
}
|
|
1052
1051
|
|
package/styles.layer.css
CHANGED
|
@@ -1045,8 +1045,7 @@ fieldset:disabled .c-active:active {
|
|
|
1045
1045
|
border-radius: calc(625rem * var(--c-scale));
|
|
1046
1046
|
border-width: calc(var(--loader-size) / 8);
|
|
1047
1047
|
border-style: solid;
|
|
1048
|
-
border-color: var(--loader-color) var(--loader-color) var(--loader-color)
|
|
1049
|
-
transparent;
|
|
1048
|
+
border-color: var(--loader-color) var(--loader-color) var(--loader-color) transparent;
|
|
1050
1049
|
animation: m_1309882b 1.2s linear infinite;
|
|
1051
1050
|
}
|
|
1052
1051
|
|
package/cjs/core/utils/color.cjs
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
let _ctrl_tinycolor = require("@ctrl/tinycolor");
|
|
3
|
-
//#region packages/@cck-ui/core/src/core/utils/color.ts
|
|
4
|
-
const SATURATIONS = [
|
|
5
|
-
8,
|
|
6
|
-
15,
|
|
7
|
-
30,
|
|
8
|
-
55,
|
|
9
|
-
78,
|
|
10
|
-
95,
|
|
11
|
-
95,
|
|
12
|
-
92,
|
|
13
|
-
88,
|
|
14
|
-
85
|
|
15
|
-
];
|
|
16
|
-
const LIGHTNESSES = [
|
|
17
|
-
95,
|
|
18
|
-
88,
|
|
19
|
-
75,
|
|
20
|
-
62,
|
|
21
|
-
50,
|
|
22
|
-
40,
|
|
23
|
-
32,
|
|
24
|
-
27,
|
|
25
|
-
22,
|
|
26
|
-
18
|
|
27
|
-
];
|
|
28
|
-
const shadeCache = /* @__PURE__ */ new Map();
|
|
29
|
-
function getNormalizedKey(colorStr) {
|
|
30
|
-
const tc = new _ctrl_tinycolor.TinyColor(colorStr);
|
|
31
|
-
if (!tc.isValid) return null;
|
|
32
|
-
return tc.toHexString();
|
|
33
|
-
}
|
|
34
|
-
function getFormat(colorStr) {
|
|
35
|
-
const fmt = new _ctrl_tinycolor.TinyColor(colorStr).format;
|
|
36
|
-
return fmt === "name" ? "hex" : fmt;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generates 10 shades (index 0~9, 0 lightest, 9 darkest) from a given color.
|
|
40
|
-
* The output format matches the input format (hex / rgb / rgba / hsl / hsla).
|
|
41
|
-
* Results are cached so repeated calls with the same color (even different formats) return instantly.
|
|
42
|
-
* @param originalColor - Any valid CSS color string
|
|
43
|
-
* @returns An array of 10 color strings representing the shades
|
|
44
|
-
* @throws If the input color is invalid
|
|
45
|
-
*/
|
|
46
|
-
function generateColorShades(originalColor) {
|
|
47
|
-
const normKey = getNormalizedKey(originalColor);
|
|
48
|
-
if (!normKey) throw new Error(`Invalid color: ${originalColor}`);
|
|
49
|
-
const targetFormat = getFormat(originalColor);
|
|
50
|
-
const cacheKey = `${normKey}|${targetFormat}`;
|
|
51
|
-
if (shadeCache.has(cacheKey)) return shadeCache.get(cacheKey);
|
|
52
|
-
const base = new _ctrl_tinycolor.TinyColor(originalColor);
|
|
53
|
-
if (!base.isValid) throw new Error(`Invalid color: ${originalColor}`);
|
|
54
|
-
const { h } = base.toHsl();
|
|
55
|
-
const shades = [];
|
|
56
|
-
for (let i = 0; i < 10; i++) {
|
|
57
|
-
const color = new _ctrl_tinycolor.TinyColor({
|
|
58
|
-
h,
|
|
59
|
-
s: SATURATIONS[i] / 100,
|
|
60
|
-
l: LIGHTNESSES[i] / 100
|
|
61
|
-
});
|
|
62
|
-
let output;
|
|
63
|
-
switch (targetFormat) {
|
|
64
|
-
case "hex":
|
|
65
|
-
output = color.toHexString();
|
|
66
|
-
break;
|
|
67
|
-
case "rgb":
|
|
68
|
-
output = color.toRgbString();
|
|
69
|
-
break;
|
|
70
|
-
case "hsl":
|
|
71
|
-
output = color.toHslString();
|
|
72
|
-
break;
|
|
73
|
-
case "hsv":
|
|
74
|
-
output = color.toHsvString();
|
|
75
|
-
break;
|
|
76
|
-
default: output = color.toHexString();
|
|
77
|
-
}
|
|
78
|
-
shades.push(output);
|
|
79
|
-
}
|
|
80
|
-
shadeCache.set(cacheKey, shades);
|
|
81
|
-
return shades;
|
|
82
|
-
}
|
|
83
|
-
function clearShadeCache() {
|
|
84
|
-
shadeCache.clear();
|
|
85
|
-
}
|
|
86
|
-
function setColorAlpha(originalColor, alpha) {
|
|
87
|
-
if (Number.isNaN(Number(alpha))) throw new TypeError(`Invalid alpha: ${alpha}`);
|
|
88
|
-
const tc = new _ctrl_tinycolor.TinyColor(originalColor);
|
|
89
|
-
if (!tc.isValid) throw new Error(`Invalid color: ${originalColor}`);
|
|
90
|
-
const targetFormat = getFormat(originalColor);
|
|
91
|
-
tc.setAlpha(alpha);
|
|
92
|
-
let output;
|
|
93
|
-
switch (targetFormat) {
|
|
94
|
-
case "rgb":
|
|
95
|
-
output = tc.toRgbString();
|
|
96
|
-
break;
|
|
97
|
-
case "hsl":
|
|
98
|
-
output = tc.toHslString();
|
|
99
|
-
break;
|
|
100
|
-
case "hsv":
|
|
101
|
-
output = tc.toHsvString();
|
|
102
|
-
break;
|
|
103
|
-
default: output = tc.toRgbString();
|
|
104
|
-
}
|
|
105
|
-
return output;
|
|
106
|
-
}
|
|
107
|
-
//#endregion
|
|
108
|
-
exports.clearShadeCache = clearShadeCache;
|
|
109
|
-
exports.generateColorShades = generateColorShades;
|
|
110
|
-
exports.setColorAlpha = setColorAlpha;
|
|
111
|
-
|
|
112
|
-
//# sourceMappingURL=color.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"color.cjs","names":["TinyColor"],"sources":["../../../src/core/utils/color.ts"],"sourcesContent":["import { TinyColor } from '@ctrl/tinycolor'\n\nconst SATURATIONS = [8, 15, 30, 55, 78, 95, 95, 92, 88, 85]\n\nconst LIGHTNESSES = [95, 88, 75, 62, 50, 40, 32, 27, 22, 18]\n\nconst shadeCache = new Map<string, string[]>()\n\nfunction getNormalizedKey(colorStr: string): string | null {\n const tc = new TinyColor(colorStr)\n if (!tc.isValid) return null\n return tc.toHexString()\n}\n\nfunction getFormat(colorStr: string): string {\n const tc = new TinyColor(colorStr)\n const fmt = tc.format\n return fmt === 'name' ? 'hex' : fmt\n}\n\n/**\n * Generates 10 shades (index 0~9, 0 lightest, 9 darkest) from a given color.\n * The output format matches the input format (hex / rgb / rgba / hsl / hsla).\n * Results are cached so repeated calls with the same color (even different formats) return instantly.\n * @param originalColor - Any valid CSS color string\n * @returns An array of 10 color strings representing the shades\n * @throws If the input color is invalid\n */\nexport function generateColorShades(originalColor: string): string[] {\n const normKey = getNormalizedKey(originalColor)\n if (!normKey) {\n throw new Error(`Invalid color: ${originalColor}`)\n }\n\n const targetFormat = getFormat(originalColor)\n const cacheKey = `${normKey}|${targetFormat}`\n\n if (shadeCache.has(cacheKey)) {\n return shadeCache.get(cacheKey)!\n }\n\n const base = new TinyColor(originalColor)\n if (!base.isValid) {\n throw new Error(`Invalid color: ${originalColor}`)\n }\n\n const { h } = base.toHsl()\n\n const shades: string[] = []\n\n for (let i = 0; i < 10; i++) {\n const color = new TinyColor({\n h,\n s: SATURATIONS[i] / 100,\n l: LIGHTNESSES[i] / 100\n })\n\n let output: string\n switch (targetFormat) {\n case 'hex':\n output = color.toHexString()\n break\n case 'rgb':\n output = color.toRgbString()\n break\n case 'hsl':\n output = color.toHslString()\n break\n case 'hsv':\n output = color.toHsvString()\n break\n default:\n output = color.toHexString()\n }\n shades.push(output)\n }\n\n shadeCache.set(cacheKey, shades)\n return shades\n}\n\nexport function clearShadeCache(): void {\n shadeCache.clear()\n}\n\nexport function setColorAlpha(originalColor: string, alpha: number): string {\n if (Number.isNaN(Number(alpha))) {\n throw new TypeError(`Invalid alpha: ${alpha}`)\n }\n\n const tc = new TinyColor(originalColor)\n if (!tc.isValid) {\n throw new Error(`Invalid color: ${originalColor}`)\n }\n\n const targetFormat = getFormat(originalColor)\n tc.setAlpha(alpha)\n\n let output: string\n switch (targetFormat) {\n case 'rgb':\n output = tc.toRgbString()\n break\n case 'hsl':\n output = tc.toHslString()\n break\n case 'hsv':\n output = tc.toHsvString()\n break\n default:\n output = tc.toRgbString()\n }\n\n return output\n}\n"],"mappings":";;;AAEA,MAAM,cAAc;CAAC;CAAG;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;AAAE;AAE1D,MAAM,cAAc;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;AAAE;AAE3D,MAAM,6BAAa,IAAI,IAAsB;AAE7C,SAAS,iBAAiB,UAAiC;CACzD,MAAM,KAAK,IAAIA,gBAAAA,UAAU,QAAQ;CACjC,IAAI,CAAC,GAAG,SAAS,OAAO;CACxB,OAAO,GAAG,YAAY;AACxB;AAEA,SAAS,UAAU,UAA0B;CAE3C,MAAM,MAAM,IADGA,gBAAAA,UAAU,QACZ,CAAC,CAAC;CACf,OAAO,QAAQ,SAAS,QAAQ;AAClC;;;;;;;;;AAUA,SAAgB,oBAAoB,eAAiC;CACnE,MAAM,UAAU,iBAAiB,aAAa;CAC9C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,kBAAkB,eAAe;CAGnD,MAAM,eAAe,UAAU,aAAa;CAC5C,MAAM,WAAW,GAAG,QAAQ,GAAG;CAE/B,IAAI,WAAW,IAAI,QAAQ,GACzB,OAAO,WAAW,IAAI,QAAQ;CAGhC,MAAM,OAAO,IAAIA,gBAAAA,UAAU,aAAa;CACxC,IAAI,CAAC,KAAK,SACR,MAAM,IAAI,MAAM,kBAAkB,eAAe;CAGnD,MAAM,EAAE,MAAM,KAAK,MAAM;CAEzB,MAAM,SAAmB,CAAC;CAE1B,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK;EAC3B,MAAM,QAAQ,IAAIA,gBAAAA,UAAU;GAC1B;GACA,GAAG,YAAY,KAAK;GACpB,GAAG,YAAY,KAAK;EACtB,CAAC;EAED,IAAI;EACJ,QAAQ,cAAR;GACE,KAAK;IACH,SAAS,MAAM,YAAY;IAC3B;GACF,KAAK;IACH,SAAS,MAAM,YAAY;IAC3B;GACF,KAAK;IACH,SAAS,MAAM,YAAY;IAC3B;GACF,KAAK;IACH,SAAS,MAAM,YAAY;IAC3B;GACF,SACE,SAAS,MAAM,YAAY;EAC/B;EACA,OAAO,KAAK,MAAM;CACpB;CAEA,WAAW,IAAI,UAAU,MAAM;CAC/B,OAAO;AACT;AAEA,SAAgB,kBAAwB;CACtC,WAAW,MAAM;AACnB;AAEA,SAAgB,cAAc,eAAuB,OAAuB;CAC1E,IAAI,OAAO,MAAM,OAAO,KAAK,CAAC,GAC5B,MAAM,IAAI,UAAU,kBAAkB,OAAO;CAG/C,MAAM,KAAK,IAAIA,gBAAAA,UAAU,aAAa;CACtC,IAAI,CAAC,GAAG,SACN,MAAM,IAAI,MAAM,kBAAkB,eAAe;CAGnD,MAAM,eAAe,UAAU,aAAa;CAC5C,GAAG,SAAS,KAAK;CAEjB,IAAI;CACJ,QAAQ,cAAR;EACE,KAAK;GACH,SAAS,GAAG,YAAY;GACxB;EACF,KAAK;GACH,SAAS,GAAG,YAAY;GACxB;EACF,KAAK;GACH,SAAS,GAAG,YAAY;GACxB;EACF,SACE,SAAS,GAAG,YAAY;CAC5B;CAEA,OAAO;AACT"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
const require_index = require("../types/index.cjs");
|
|
3
|
-
let _vue_shared = require("@vue/shared");
|
|
4
|
-
//#region packages/@cck-ui/core/src/core/utils/dom/style.ts
|
|
5
|
-
function addUnit(value, defaultUnit = "px") {
|
|
6
|
-
if (!value && value !== 0) return "";
|
|
7
|
-
if (require_index.isNumber(value) || require_index.isStringNumber(value)) return `${value}${defaultUnit}`;
|
|
8
|
-
else if ((0, _vue_shared.isString)(value)) return value;
|
|
9
|
-
}
|
|
10
|
-
//#endregion
|
|
11
|
-
exports.addUnit = addUnit;
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=style.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style.cjs","names":["isNumber","isStringNumber"],"sources":["../../../../src/core/utils/dom/style.ts"],"sourcesContent":["import { isNumber, isString, isStringNumber } from '../types'\n\n// const SCOPE = 'utils/dom/style'\n\nexport function addUnit(value?: string | number, defaultUnit = 'px') {\n if (!value && value !== 0) return ''\n if (isNumber(value) || isStringNumber(value)) {\n return `${value}${defaultUnit}`\n } else if (isString(value)) {\n return value\n }\n // debugWarn(SCOPE, 'binding value must be a string or number')\n}\n"],"mappings":";;;;AAIA,SAAgB,QAAQ,OAAyB,cAAc,MAAM;CACnE,IAAI,CAAC,SAAS,UAAU,GAAG,OAAO;CAClC,IAAIA,cAAAA,SAAS,KAAK,KAAKC,cAAAA,eAAe,KAAK,GACzC,OAAO,GAAG,QAAQ;MACb,KAAA,GAAA,YAAA,SAAA,CAAa,KAAK,GACvB,OAAO;AAGX"}
|
package/esm/core/utils/color.mjs
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { TinyColor } from "@ctrl/tinycolor";
|
|
3
|
-
//#region packages/@cck-ui/core/src/core/utils/color.ts
|
|
4
|
-
const SATURATIONS = [
|
|
5
|
-
8,
|
|
6
|
-
15,
|
|
7
|
-
30,
|
|
8
|
-
55,
|
|
9
|
-
78,
|
|
10
|
-
95,
|
|
11
|
-
95,
|
|
12
|
-
92,
|
|
13
|
-
88,
|
|
14
|
-
85
|
|
15
|
-
];
|
|
16
|
-
const LIGHTNESSES = [
|
|
17
|
-
95,
|
|
18
|
-
88,
|
|
19
|
-
75,
|
|
20
|
-
62,
|
|
21
|
-
50,
|
|
22
|
-
40,
|
|
23
|
-
32,
|
|
24
|
-
27,
|
|
25
|
-
22,
|
|
26
|
-
18
|
|
27
|
-
];
|
|
28
|
-
const shadeCache = /* @__PURE__ */ new Map();
|
|
29
|
-
function getNormalizedKey(colorStr) {
|
|
30
|
-
const tc = new TinyColor(colorStr);
|
|
31
|
-
if (!tc.isValid) return null;
|
|
32
|
-
return tc.toHexString();
|
|
33
|
-
}
|
|
34
|
-
function getFormat(colorStr) {
|
|
35
|
-
const fmt = new TinyColor(colorStr).format;
|
|
36
|
-
return fmt === "name" ? "hex" : fmt;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generates 10 shades (index 0~9, 0 lightest, 9 darkest) from a given color.
|
|
40
|
-
* The output format matches the input format (hex / rgb / rgba / hsl / hsla).
|
|
41
|
-
* Results are cached so repeated calls with the same color (even different formats) return instantly.
|
|
42
|
-
* @param originalColor - Any valid CSS color string
|
|
43
|
-
* @returns An array of 10 color strings representing the shades
|
|
44
|
-
* @throws If the input color is invalid
|
|
45
|
-
*/
|
|
46
|
-
function generateColorShades(originalColor) {
|
|
47
|
-
const normKey = getNormalizedKey(originalColor);
|
|
48
|
-
if (!normKey) throw new Error(`Invalid color: ${originalColor}`);
|
|
49
|
-
const targetFormat = getFormat(originalColor);
|
|
50
|
-
const cacheKey = `${normKey}|${targetFormat}`;
|
|
51
|
-
if (shadeCache.has(cacheKey)) return shadeCache.get(cacheKey);
|
|
52
|
-
const base = new TinyColor(originalColor);
|
|
53
|
-
if (!base.isValid) throw new Error(`Invalid color: ${originalColor}`);
|
|
54
|
-
const { h } = base.toHsl();
|
|
55
|
-
const shades = [];
|
|
56
|
-
for (let i = 0; i < 10; i++) {
|
|
57
|
-
const color = new TinyColor({
|
|
58
|
-
h,
|
|
59
|
-
s: SATURATIONS[i] / 100,
|
|
60
|
-
l: LIGHTNESSES[i] / 100
|
|
61
|
-
});
|
|
62
|
-
let output;
|
|
63
|
-
switch (targetFormat) {
|
|
64
|
-
case "hex":
|
|
65
|
-
output = color.toHexString();
|
|
66
|
-
break;
|
|
67
|
-
case "rgb":
|
|
68
|
-
output = color.toRgbString();
|
|
69
|
-
break;
|
|
70
|
-
case "hsl":
|
|
71
|
-
output = color.toHslString();
|
|
72
|
-
break;
|
|
73
|
-
case "hsv":
|
|
74
|
-
output = color.toHsvString();
|
|
75
|
-
break;
|
|
76
|
-
default: output = color.toHexString();
|
|
77
|
-
}
|
|
78
|
-
shades.push(output);
|
|
79
|
-
}
|
|
80
|
-
shadeCache.set(cacheKey, shades);
|
|
81
|
-
return shades;
|
|
82
|
-
}
|
|
83
|
-
function clearShadeCache() {
|
|
84
|
-
shadeCache.clear();
|
|
85
|
-
}
|
|
86
|
-
function setColorAlpha(originalColor, alpha) {
|
|
87
|
-
if (Number.isNaN(Number(alpha))) throw new TypeError(`Invalid alpha: ${alpha}`);
|
|
88
|
-
const tc = new TinyColor(originalColor);
|
|
89
|
-
if (!tc.isValid) throw new Error(`Invalid color: ${originalColor}`);
|
|
90
|
-
const targetFormat = getFormat(originalColor);
|
|
91
|
-
tc.setAlpha(alpha);
|
|
92
|
-
let output;
|
|
93
|
-
switch (targetFormat) {
|
|
94
|
-
case "rgb":
|
|
95
|
-
output = tc.toRgbString();
|
|
96
|
-
break;
|
|
97
|
-
case "hsl":
|
|
98
|
-
output = tc.toHslString();
|
|
99
|
-
break;
|
|
100
|
-
case "hsv":
|
|
101
|
-
output = tc.toHsvString();
|
|
102
|
-
break;
|
|
103
|
-
default: output = tc.toRgbString();
|
|
104
|
-
}
|
|
105
|
-
return output;
|
|
106
|
-
}
|
|
107
|
-
//#endregion
|
|
108
|
-
export { clearShadeCache, generateColorShades, setColorAlpha };
|
|
109
|
-
|
|
110
|
-
//# sourceMappingURL=color.mjs.map
|