@cck-ui/core 0.2.0 → 0.4.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-group/button-group.cjs +1 -1
- package/cjs/components/button/button-group/button-group.cjs.map +1 -1
- package/cjs/components/button/button-group/use-button-group.cjs +2 -1
- package/cjs/components/button/button-group/use-button-group.cjs.map +1 -1
- package/cjs/components/button/button-group-section/button-group-section.cjs +1 -1
- package/cjs/components/button/button-group-section/button-group-section.cjs.map +1 -1
- package/cjs/components/button/button.cjs +99 -68
- package/cjs/components/button/button.cjs.map +1 -1
- package/cjs/components/button/button.module.cjs.map +1 -1
- package/cjs/components/grid/col/col-custom.cjs +2 -3
- package/cjs/components/grid/col/col-custom.cjs.map +1 -1
- package/cjs/components/grid/col/col.cjs +31 -23
- package/cjs/components/grid/col/col.cjs.map +1 -1
- package/cjs/components/grid/grid-custom.cjs +2 -3
- package/cjs/components/grid/grid-custom.cjs.map +1 -1
- package/cjs/components/grid/grid.cjs +50 -38
- package/cjs/components/grid/grid.cjs.map +1 -1
- package/cjs/components/group/group.cjs +1 -1
- package/cjs/components/group/group.cjs.map +1 -1
- package/cjs/components/loader/loader.cjs +44 -36
- package/cjs/components/loader/loader.cjs.map +1 -1
- package/cjs/components/loader/loaders/bars.cjs +1 -1
- package/cjs/components/loader/loaders/bars.cjs.map +1 -1
- package/cjs/components/loader/loaders/dots.cjs +1 -1
- package/cjs/components/loader/loaders/dots.cjs.map +1 -1
- package/cjs/components/loader/loaders/oval.cjs +1 -1
- package/cjs/components/loader/loaders/oval.cjs.map +1 -1
- package/cjs/components/simple-grid/simple-grid-custom.cjs +2 -3
- package/cjs/components/simple-grid/simple-grid-custom.cjs.map +1 -1
- package/cjs/components/simple-grid/simple-grid.cjs +35 -30
- package/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
- package/cjs/components/text/text.cjs +50 -43
- package/cjs/components/text/text.cjs.map +1 -1
- package/cjs/components/text/text.module.cjs.map +1 -1
- package/cjs/components/transition/get-transition-props/get-transition-props.cjs +17 -0
- package/cjs/components/transition/get-transition-props/get-transition-props.cjs.map +1 -0
- package/cjs/components/transition/get-transition-styles/get-transition-styles.cjs +37 -0
- package/cjs/components/transition/get-transition-styles/get-transition-styles.cjs.map +1 -0
- package/cjs/components/transition/index.cjs +14 -0
- package/cjs/components/transition/index.cjs.map +1 -0
- package/cjs/components/transition/transition.cjs +140 -0
- package/cjs/components/transition/transition.cjs.map +1 -0
- package/cjs/components/transition/transitions.cjs +220 -0
- package/cjs/components/transition/transitions.cjs.map +1 -0
- package/cjs/components/transition/use-transition.cjs +84 -0
- package/cjs/components/transition/use-transition.cjs.map +1 -0
- package/cjs/components/unstyled-button/unstyled-button.cjs +32 -22
- package/cjs/components/unstyled-button/unstyled-button.cjs.map +1 -1
- package/cjs/core/box/box.cjs +40 -46
- package/cjs/core/box/box.cjs.map +1 -1
- package/cjs/core/box/get-box-mod/get-box-mod.cjs.map +1 -1
- package/cjs/core/box/style-props/parse-style-props/parse-style-props.cjs +1 -1
- package/cjs/core/box/style-props/parse-style-props/parse-style-props.cjs.map +1 -1
- package/cjs/core/config-provider/baseline.cjs +1 -0
- package/cjs/core/config-provider/cck-css-variables/default-css-variables-resolver.cjs +138 -0
- package/cjs/core/config-provider/cck-css-variables/default-css-variables-resolver.cjs.map +1 -0
- package/cjs/core/config-provider/cck-css-variables/get-css-color-variables.cjs +64 -0
- package/cjs/core/config-provider/cck-css-variables/get-css-color-variables.cjs.map +1 -0
- package/cjs/core/config-provider/cck-css-variables/virtual-color/virtual-color.cjs +39 -0
- package/cjs/core/config-provider/cck-css-variables/virtual-color/virtual-color.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/colors-tuple/colors-tuple.cjs +10 -0
- package/cjs/core/config-provider/color-functions/colors-tuple/colors-tuple.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs +22 -0
- package/cjs/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.cjs.map +1 -1
- package/cjs/core/config-provider/color-functions/get-contrast-color/get-contrast-color.cjs +39 -0
- package/cjs/core/config-provider/color-functions/get-contrast-color/get-contrast-color.cjs.map +1 -0
- package/cjs/core/config-provider/color-functions/parse-theme-color/parse-theme-color.cjs.map +1 -1
- package/cjs/core/config-provider/color-scheme-managers/is-cck-color-scheme.cjs +9 -0
- package/cjs/core/config-provider/color-scheme-managers/is-cck-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/color-scheme-managers/local-storage-manager.cjs +40 -0
- package/cjs/core/config-provider/color-scheme-managers/local-storage-manager.cjs.map +1 -0
- package/cjs/core/config-provider/config-provider.cjs +65 -11
- package/cjs/core/config-provider/config-provider.cjs.map +1 -1
- package/cjs/core/config-provider/config-provider.context.cjs +5 -0
- package/cjs/core/config-provider/config-provider.context.cjs.map +1 -1
- package/cjs/core/config-provider/config-provider.types.cjs +1 -1
- package/cjs/core/config-provider/config-provider.types.cjs.map +1 -1
- package/cjs/core/config-provider/create-theme/create-theme.cjs +8 -0
- package/cjs/core/config-provider/create-theme/create-theme.cjs.map +1 -0
- package/cjs/core/config-provider/default-css-variables.cjs +1 -0
- package/cjs/core/config-provider/global.cjs +1 -0
- package/cjs/core/config-provider/index.cjs +18 -2
- package/cjs/core/config-provider/index.cjs.map +1 -1
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs +35 -0
- package/cjs/core/config-provider/merge-cck-theme/merge-cck-theme.cjs.map +1 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.cjs +84 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.cjs +59 -0
- package/cjs/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.cjs.map +1 -0
- package/cjs/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.cjs +14 -0
- package/cjs/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.cjs.map +1 -0
- package/cjs/core/styles-api/use-styles/use-styles.cjs +1 -4
- package/cjs/core/styles-api/use-styles/use-styles.cjs.map +1 -1
- package/cjs/index.cjs +62 -18
- package/cjs/index.cjs.map +1 -0
- package/esm/components/button/button-group/button-group.mjs +1 -1
- package/esm/components/button/button-group/button-group.mjs.map +1 -1
- package/esm/components/button/button-group/use-button-group.mjs +2 -1
- package/esm/components/button/button-group/use-button-group.mjs.map +1 -1
- package/esm/components/button/button-group-section/button-group-section.mjs +1 -1
- package/esm/components/button/button-group-section/button-group-section.mjs.map +1 -1
- package/esm/components/button/button.mjs +100 -69
- package/esm/components/button/button.mjs.map +1 -1
- package/esm/components/button/button.module.mjs.map +1 -1
- package/esm/components/grid/col/col-custom.mjs +3 -4
- package/esm/components/grid/col/col-custom.mjs.map +1 -1
- package/esm/components/grid/col/col.mjs +32 -24
- package/esm/components/grid/col/col.mjs.map +1 -1
- package/esm/components/grid/grid-custom.mjs +3 -4
- package/esm/components/grid/grid-custom.mjs.map +1 -1
- package/esm/components/grid/grid.mjs +51 -39
- package/esm/components/grid/grid.mjs.map +1 -1
- package/esm/components/group/group.mjs +1 -1
- package/esm/components/group/group.mjs.map +1 -1
- package/esm/components/loader/loader.mjs +43 -35
- package/esm/components/loader/loader.mjs.map +1 -1
- package/esm/components/loader/loaders/bars.mjs +1 -1
- package/esm/components/loader/loaders/bars.mjs.map +1 -1
- package/esm/components/loader/loaders/dots.mjs +1 -1
- package/esm/components/loader/loaders/dots.mjs.map +1 -1
- package/esm/components/loader/loaders/oval.mjs +1 -1
- package/esm/components/loader/loaders/oval.mjs.map +1 -1
- package/esm/components/simple-grid/simple-grid-custom.mjs +3 -4
- package/esm/components/simple-grid/simple-grid-custom.mjs.map +1 -1
- package/esm/components/simple-grid/simple-grid.mjs +35 -30
- package/esm/components/simple-grid/simple-grid.mjs.map +1 -1
- package/esm/components/text/text.mjs +50 -43
- package/esm/components/text/text.mjs.map +1 -1
- package/esm/components/text/text.module.mjs.map +1 -1
- package/esm/components/transition/get-transition-props/get-transition-props.mjs +17 -0
- package/esm/components/transition/get-transition-props/get-transition-props.mjs.map +1 -0
- package/esm/components/transition/get-transition-styles/get-transition-styles.mjs +37 -0
- package/esm/components/transition/get-transition-styles/get-transition-styles.mjs.map +1 -0
- package/esm/components/transition/index.mjs +11 -0
- package/esm/components/transition/index.mjs.map +1 -0
- package/esm/components/transition/transition.mjs +140 -0
- package/esm/components/transition/transition.mjs.map +1 -0
- package/esm/components/transition/transitions.mjs +220 -0
- package/esm/components/transition/transitions.mjs.map +1 -0
- package/esm/components/transition/use-transition.mjs +84 -0
- package/esm/components/transition/use-transition.mjs.map +1 -0
- package/esm/components/unstyled-button/unstyled-button.mjs +33 -23
- package/esm/components/unstyled-button/unstyled-button.mjs.map +1 -1
- package/esm/core/box/box.mjs +41 -47
- package/esm/core/box/box.mjs.map +1 -1
- package/esm/core/box/get-box-mod/get-box-mod.mjs.map +1 -1
- package/esm/core/box/style-props/parse-style-props/parse-style-props.mjs +1 -1
- package/esm/core/box/style-props/parse-style-props/parse-style-props.mjs.map +1 -1
- package/esm/core/config-provider/baseline.mjs +1 -0
- package/esm/core/config-provider/cck-css-variables/default-css-variables-resolver.mjs +138 -0
- package/esm/core/config-provider/cck-css-variables/default-css-variables-resolver.mjs.map +1 -0
- package/esm/core/config-provider/cck-css-variables/get-css-color-variables.mjs +64 -0
- package/esm/core/config-provider/cck-css-variables/get-css-color-variables.mjs.map +1 -0
- package/esm/core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs +38 -0
- package/esm/core/config-provider/cck-css-variables/virtual-color/virtual-color.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/colors-tuple/colors-tuple.mjs +10 -0
- package/esm/core/config-provider/color-functions/colors-tuple/colors-tuple.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs +22 -0
- package/esm/core/config-provider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs.map +1 -1
- package/esm/core/config-provider/color-functions/get-contrast-color/get-contrast-color.mjs +37 -0
- package/esm/core/config-provider/color-functions/get-contrast-color/get-contrast-color.mjs.map +1 -0
- package/esm/core/config-provider/color-functions/parse-theme-color/parse-theme-color.mjs.map +1 -1
- package/esm/core/config-provider/color-scheme-managers/is-cck-color-scheme.mjs +9 -0
- package/esm/core/config-provider/color-scheme-managers/is-cck-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/color-scheme-managers/local-storage-manager.mjs +40 -0
- package/esm/core/config-provider/color-scheme-managers/local-storage-manager.mjs.map +1 -0
- package/esm/core/config-provider/config-provider.context.mjs +7 -3
- package/esm/core/config-provider/config-provider.context.mjs.map +1 -1
- package/esm/core/config-provider/config-provider.mjs +66 -12
- package/esm/core/config-provider/config-provider.mjs.map +1 -1
- package/esm/core/config-provider/config-provider.types.mjs +1 -1
- package/esm/core/config-provider/config-provider.types.mjs.map +1 -1
- package/esm/core/config-provider/create-theme/create-theme.mjs +8 -0
- package/esm/core/config-provider/create-theme/create-theme.mjs.map +1 -0
- package/esm/core/config-provider/default-css-variables.mjs +1 -0
- package/esm/core/config-provider/global.mjs +1 -0
- package/esm/core/config-provider/index.mjs +10 -3
- package/esm/core/config-provider/index.mjs.map +1 -1
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs +32 -0
- package/esm/core/config-provider/merge-cck-theme/merge-cck-theme.mjs.map +1 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs +84 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs +59 -0
- package/esm/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.mjs.map +1 -0
- package/esm/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.mjs +14 -0
- package/esm/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.mjs.map +1 -0
- package/esm/core/styles-api/use-styles/use-styles.mjs +2 -5
- package/esm/core/styles-api/use-styles/use-styles.mjs.map +1 -1
- package/esm/index.mjs +30 -3
- package/esm/index.mjs.map +1 -0
- package/lib/components/button/button.types.d.ts +1 -11
- package/lib/components/index.d.ts +1 -0
- package/lib/components/text/text.types.d.ts +1 -1
- package/lib/components/transition/get-transition-props/get-transition-props.d.ts +5 -0
- package/lib/components/transition/get-transition-styles/get-transition-styles.d.ts +17 -0
- package/lib/components/transition/index.d.ts +8 -0
- package/lib/components/transition/transition.types.d.ts +66 -0
- package/lib/components/transition/transitions.d.ts +10 -0
- package/lib/components/transition/use-transition.d.ts +20 -0
- package/lib/core/box/style-props/parse-style-props/parse-style-props.d.ts +1 -1
- package/lib/core/config-provider/cck-css-variables/index.d.ts +3 -0
- package/lib/core/config-provider/cck-css-variables/virtual-color/virtual-color.d.ts +1 -1
- package/lib/core/config-provider/color-functions/index.d.ts +2 -1
- package/lib/core/config-provider/color-functions/parse-theme-color/parse-theme-color.d.ts +1 -1
- package/lib/core/config-provider/color-scheme-managers/index.d.ts +4 -0
- package/lib/core/config-provider/color-scheme-managers/is-cck-color-scheme.d.ts +2 -0
- package/lib/core/config-provider/color-scheme-managers/local-storage-manager.d.ts +5 -0
- package/lib/core/config-provider/color-scheme-managers/types.d.ts +30 -0
- package/lib/core/config-provider/config-provider.context.d.ts +4 -3
- package/lib/core/config-provider/config-provider.types.d.ts +10 -4
- package/lib/core/config-provider/create-theme/create-theme.d.ts +2 -0
- package/lib/core/config-provider/index.d.ts +3 -0
- package/lib/core/config-provider/merge-cck-theme/index.d.ts +1 -0
- package/lib/core/config-provider/merge-cck-theme/merge-cck-theme.d.ts +5 -0
- package/lib/core/config-provider/use-cck-color-scheme/index.d.ts +2 -0
- package/lib/core/config-provider/use-cck-color-scheme/use-cck-color-scheme.d.ts +10 -0
- package/lib/core/config-provider/use-cck-color-scheme/use-provider-color-scheme.d.ts +15 -0
- package/lib/core/config-provider/use-respect-reduce-motion/use-respect-reduce-motion.d.ts +7 -0
- package/lib/index.d.mts +4 -0
- package/lib/index.d.ts +4 -0
- package/package.json +3 -1
- package/styles/button.css +5 -9
- package/styles/button.layer.css +5 -9
- package/styles/default-css-variables.css +30 -30
- package/styles/default-css-variables.layer.css +30 -30
- package/styles/text.css +10 -0
- package/styles/text.layer.css +10 -0
- package/styles.css +1488 -238
- package/styles.layer.css +1488 -238
|
@@ -375,7 +375,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
375
375
|
_: 1
|
|
376
376
|
}, 16, ["mod"]);
|
|
377
377
|
}
|
|
378
|
-
var button_group_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
378
|
+
var button_group_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/components/button/button-group/button-group.vue"]]);
|
|
379
379
|
//#endregion
|
|
380
380
|
exports.default = button_group_default;
|
|
381
381
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.cjs","names":[],"sources":["../../../../src/components/button/button-group/button-group.vue"
|
|
1
|
+
{"version":3,"file":"button-group.cjs","names":[],"sources":["../../../../src/components/button/button-group/button-group.vue"],"sourcesContent":["<template>\n <c-box rol=\"group\" v-bind=\"mergedAttrs\" :mod=\"[{ 'data-orientation': orientation }, mod]\">\n <template v-for=\"(child, index) in validChildren\" :key=\"child.key ?? index\">\n <component :is=\"child\" />\n </template>\n </c-box>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, useSlots } from 'vue'\nimport { CBox, createVarsResolver, rem, useStyles } from '../../../core'\nimport classes from '../button.module.css'\nimport { ButtonGroupFactory, type ButtonGroupProps } from './button-group.types'\nimport { useButtonGroup } from './use-button-group'\n\ndefineOptions({\n name: 'CButtonGroup',\n})\n\nconst slots = useSlots()\n\nconst varsResolver = createVarsResolver<ButtonGroupFactory>((_, { borderWidth }) => ({\n group: { '--button-border-width': rem(borderWidth) },\n}))\n\nconst props = withDefaults(defineProps<ButtonGroupProps>(), {\n orientation: 'horizontal',\n})\n\nconst {\n className,\n style,\n classNames,\n styles,\n unstyled,\n orientation,\n vars,\n borderWidth,\n mod,\n attributes,\n ...others\n} = props\n\nconst getStyles = useStyles<ButtonGroupFactory>({\n name: 'ButtonGroup',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'group',\n})\n\nconst groupAttrs = computed(() => getStyles('group'))\nconst mergedAttrs = computed(() => ({ ...others, ...groupAttrs.value }))\n\nconst { validChildren } = useButtonGroup(slots)\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,SAAA,GAAA,IAAA,SAAA,CAAiB;EAEvB,MAAM,eAAe,6BAAA,oBAAwC,GAAG,EAAE,mBAAmB,EACnF,OAAO,EAAE,yBAAyB,YAAA,IAAI,WAAW,EAAE,EACrD,EAAE;EAEF,MAAM,QAAQ;EAId,MAAM,EACJ,WACA,OACA,YACA,QACA,UACA,aACA,MACA,aACA,KACA,YACA,GAAG,WACD;EAEJ,MAAM,YAAY,mBAAA,UAA8B;GAC9C,MAAM;GACN;GACA,SAAA,sBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;EAChB,CAAC;EAED,MAAM,cAAA,GAAA,IAAA,SAAA,OAA4B,UAAU,OAAO,CAAC;EACpD,MAAM,eAAA,GAAA,IAAA,SAAA,QAA8B;GAAE,GAAG;GAAQ,GAAG,WAAW;EAAM,EAAE;EAEvE,MAAM,EAAE,kBAAkB,yBAAA,eAAe,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAxDpC,OAAA,UAAA,GAAA,IAAA,WAAA,CAAA,EAJD,KAAI,QAAO,GAAS,OAAA,aAAW,EAAG,KAAG,CAAA,EAAA,oBAAyB,OAAA,YAAW,GAAI,OAAA,GAAG,EAAA,CAAA,GAAA;kCACpC,GAAA,GAAA,IAAA,UAAA,CAAA,IAAA,IAAA,GAAA,IAAA,mBAAA,CAEtC,IAAA,UAAA,OAAA,GAAA,IAAA,WAAA,CAFwB,OAAA,gBAAjB,OAAO,UAAK;sFACZ,KAAK,GAAA,EAAA,KADiC,MAAM,OAAO,MAAA,CAAA"}
|
|
@@ -24,7 +24,8 @@ const getValidButtons = (children) => {
|
|
|
24
24
|
};
|
|
25
25
|
const useButtonGroup = (slots) => {
|
|
26
26
|
return { validChildren: (0, vue.computed)(() => {
|
|
27
|
-
|
|
27
|
+
const defaultSlot = slots.default?.() ?? [];
|
|
28
|
+
return getValidButtons(defaultSlot);
|
|
28
29
|
}) };
|
|
29
30
|
};
|
|
30
31
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-button-group.cjs","names":["Comment","Text","Fragment","CButton","CButtonGroupSection","getComponentName"],"sources":["../../../../src/components/button/button-group/use-button-group.ts"],"sourcesContent":["import { Comment, Fragment, Slots, Text, VNode, computed, isVNode } from 'vue'\nimport { getComponentName } from '../../../core/utils'\nimport CButton from '../button.vue'\nimport CButtonGroupSection from '../button-group-section/button-group-section.vue'\n\nexport const getValidButtons = (children: VNode[]): VNode[] => {\n const result: VNode[] = []\n\n for (const child of children) {\n if (!isVNode(child)) {\n continue\n }\n\n if (child.type === Comment || child.type === Text) {\n continue\n }\n\n if (child.type === Fragment) {\n const fragmentChildren = Array.isArray(child.children) ? child.children : [child.children]\n result.push(...getValidButtons(fragmentChildren as VNode[]))\n continue\n }\n\n if (child.type !== CButton && child.type !== CButtonGroupSection) {\n console.error(\n '[CButtonGroup] invalid child component: only CButton or CButtonGroupSection components are allowed as direct children.',\n `Received: <${getComponentName(child.type)}>.`,\n 'Please ensure all direct children are <c-button> or <c-button-group-section> components.'\n )\n continue\n }\n\n result.push(child)\n }\n\n return result\n}\n\nexport const useButtonGroup = (slots: Slots) => {\n const validChildren = computed(() => {\n const defaultSlot = slots.default?.() ?? []\n return getValidButtons(defaultSlot)\n })\n\n return { validChildren }\n}\n"],"mappings":";;;;;;AAKA,MAAa,mBAAmB,aAA+B;CAC7D,MAAM,SAAkB,CAAC;CAEzB,KAAK,MAAM,SAAS,UAAU;EAC5B,IAAI,EAAA,GAAA,IAAA,QAAA,CAAS,KAAK,GAChB;EAGF,IAAI,MAAM,SAASA,IAAAA,WAAW,MAAM,SAASC,IAAAA,MAC3C;EAGF,IAAI,MAAM,SAASC,IAAAA,UAAU;GAC3B,MAAM,mBAAmB,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ;GACzF,OAAO,KAAK,GAAG,gBAAgB,gBAA2B,CAAC;GAC3D;EACF;EAEA,IAAI,MAAM,SAASC,eAAAA,WAAW,MAAM,SAASC,6BAAAA,SAAqB;GAChE,QAAQ,MACN,0HACA,cAAcC,kBAAAA,iBAAiB,MAAM,IAAI,EAAE,KAC3C,0FACF;GACA;EACF;EAEA,OAAO,KAAK,KAAK;CACnB;CAEA,OAAO;AACT;AAEA,MAAa,kBAAkB,UAAiB;CAM9C,OAAO,EAAE,gBAAA,GAAA,IAAA,SAAA,OAL4B;
|
|
1
|
+
{"version":3,"file":"use-button-group.cjs","names":["Comment","Text","Fragment","CButton","CButtonGroupSection","getComponentName"],"sources":["../../../../src/components/button/button-group/use-button-group.ts"],"sourcesContent":["import { Comment, Fragment, Slots, Text, VNode, computed, isVNode } from 'vue'\nimport { getComponentName } from '../../../core/utils'\nimport CButton from '../button.vue'\nimport CButtonGroupSection from '../button-group-section/button-group-section.vue'\n\nexport const getValidButtons = (children: VNode[]): VNode[] => {\n const result: VNode[] = []\n\n for (const child of children) {\n if (!isVNode(child)) {\n continue\n }\n\n if (child.type === Comment || child.type === Text) {\n continue\n }\n\n if (child.type === Fragment) {\n const fragmentChildren = Array.isArray(child.children) ? child.children : [child.children]\n result.push(...getValidButtons(fragmentChildren as VNode[]))\n continue\n }\n\n if (child.type !== CButton && child.type !== CButtonGroupSection) {\n console.error(\n '[CButtonGroup] invalid child component: only CButton or CButtonGroupSection components are allowed as direct children.',\n `Received: <${getComponentName(child.type)}>.`,\n 'Please ensure all direct children are <c-button> or <c-button-group-section> components.'\n )\n continue\n }\n\n result.push(child)\n }\n\n return result\n}\n\nexport const useButtonGroup = (slots: Slots) => {\n const validChildren = computed(() => {\n const defaultSlot = slots.default?.() ?? []\n return getValidButtons(defaultSlot)\n })\n\n return { validChildren }\n}\n"],"mappings":";;;;;;AAKA,MAAa,mBAAmB,aAA+B;CAC7D,MAAM,SAAkB,CAAC;CAEzB,KAAK,MAAM,SAAS,UAAU;EAC5B,IAAI,EAAA,GAAA,IAAA,QAAA,CAAS,KAAK,GAChB;EAGF,IAAI,MAAM,SAASA,IAAAA,WAAW,MAAM,SAASC,IAAAA,MAC3C;EAGF,IAAI,MAAM,SAASC,IAAAA,UAAU;GAC3B,MAAM,mBAAmB,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ;GACzF,OAAO,KAAK,GAAG,gBAAgB,gBAA2B,CAAC;GAC3D;EACF;EAEA,IAAI,MAAM,SAASC,eAAAA,WAAW,MAAM,SAASC,6BAAAA,SAAqB;GAChE,QAAQ,MACN,0HACA,cAAcC,kBAAAA,iBAAiB,MAAM,IAAI,EAAE,KAC3C,0FACF;GACA;EACF;EAEA,OAAO,KAAK,KAAK;CACnB;CAEA,OAAO;AACT;AAEA,MAAa,kBAAkB,UAAiB;CAM9C,OAAO,EAAE,gBAAA,GAAA,IAAA,SAAA,OAL4B;EACnC,MAAM,cAAc,MAAM,UAAU,KAAK,CAAC;EAC1C,OAAO,gBAAgB,WAAW;CACpC,CAEqB,EAAE;AACzB"}
|
|
@@ -392,7 +392,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
392
392
|
_: 3
|
|
393
393
|
}, 16);
|
|
394
394
|
}
|
|
395
|
-
var button_group_section_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
395
|
+
var button_group_section_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/components/button/button-group-section/button-group-section.vue"]]);
|
|
396
396
|
//#endregion
|
|
397
397
|
exports.default = button_group_section_default;
|
|
398
398
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group-section.cjs","names":[],"sources":["../../../../src/components/button/button-group-section/button-group-section.vue"
|
|
1
|
+
{"version":3,"file":"button-group-section.cjs","names":[],"sources":["../../../../src/components/button/button-group-section/button-group-section.vue"],"sourcesContent":["<template>\n <c-box v-bind=\"mergedAttrs\">\n <slot />\n </c-box>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { CBox, createVarsResolver, getFontSize, getRadius, getSize, useStyles } from '../../../core'\nimport type {\n ButtonGroupSectionFactory,\n ButtonGroupSectionProps,\n} from './button-group-section.types'\nimport classes from '../button.module.css'\n\ndefineOptions({\n name: 'CButtonGroupSection',\n})\n\nconst varsResolver = createVarsResolver<ButtonGroupSectionFactory>(\n (theme, { radius, color, gradient, variant, autoContrast, size }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n gradient,\n variant: variant || 'default',\n autoContrast,\n })\n\n return {\n groupSection: {\n '--section-height': getSize(size, 'section-height'),\n '--section-padding-x': getSize(size, 'section-padding-x'),\n '--section-fz': size?.includes('compact')\n ? getFontSize(size.replace('compact-', ''))\n : getFontSize(size),\n '--section-radius': radius === undefined ? undefined : getRadius(radius),\n '--section-bg': color || variant ? colors.background : undefined,\n '--section-color': colors.color,\n '--section-bd': color || variant ? colors.border : undefined,\n },\n }\n }\n)\n\nconst props = withDefaults(defineProps<ButtonGroupSectionProps>(), {\n variant: 'default',\n})\n\nconst {\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n gradient,\n radius,\n autoContrast,\n attributes,\n ...others\n} = props\n\nconst getStyles = useStyles<ButtonGroupSectionFactory>({\n name: 'ButtonGroupSection',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'groupSection',\n})\n\nconst sectionAttrs = computed(() => getStyles('groupSection'))\nconst mergedAttrs = computed(() => ({ ...others, ...sectionAttrs.value }))\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,eAAe,6BAAA,oBAClB,OAAO,EAAE,QAAQ,OAAO,UAAU,SAAS,cAAc,WAAW;GACnE,MAAM,SAAS,MAAM,qBAAqB;IACxC,OAAO,SAAS,MAAM;IACtB;IACA;IACA,SAAS,WAAW;IACpB;GACF,CAAC;GAED,OAAO,EACL,cAAc;IACZ,oBAAoB,iBAAA,QAAQ,MAAM,gBAAgB;IAClD,uBAAuB,iBAAA,QAAQ,MAAM,mBAAmB;IACxD,gBAAgB,MAAM,SAAS,SAAS,IACpC,iBAAA,YAAY,KAAK,QAAQ,YAAY,EAAE,CAAC,IACxC,iBAAA,YAAY,IAAI;IACpB,oBAAoB,WAAW,KAAA,IAAY,KAAA,IAAY,iBAAA,UAAU,MAAM;IACvE,gBAAgB,SAAS,UAAU,OAAO,aAAa,KAAA;IACvD,mBAAmB,OAAO;IAC1B,gBAAgB,SAAS,UAAU,OAAO,SAAS,KAAA;GACrD,EACF;EACF,CACF;EAEA,MAAM,QAAQ;EAId,MAAM,EACJ,WACA,OACA,YACA,QACA,UACA,MACA,UACA,QACA,cACA,YACA,GAAG,WACD;EAEJ,MAAM,YAAY,mBAAA,UAAqC;GACrD,MAAM;GACN;GACA,SAAA,sBAAA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;EAChB,CAAC;EAED,MAAM,gBAAA,GAAA,IAAA,SAAA,OAA8B,UAAU,cAAc,CAAC;;;;;;;;;;;;;;;;;yCACzB;IAAE,GAAG;IAAQ,GAAG,aAAa;GAAM,EAAA;;;;;;;;;;;;;mDA5E7D,OAAA,UAAA,GAAA,IAAA,eAAA,EAAA,GAAA,IAAA,mBAAA,CAFO,OAAA,WAAW,CAAA,GAAA;kCAChB,EAAA,GAAA,IAAA,WAAA,CAAA,KAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
const require_rem = require("../../core/utils/units-converters/rem.cjs");
|
|
2
3
|
const require_get_size = require("../../core/utils/get-size/get-size.cjs");
|
|
3
4
|
const require_export_helper = require("../../_virtual/_/plugin-vue/export-helper.cjs");
|
|
4
5
|
const require_index = require("../../core/box/index.cjs");
|
|
@@ -6,13 +7,15 @@ const require_create_vars_resolver = require("../../core/styles-api/create-vars-
|
|
|
6
7
|
const require_use_styles = require("../../core/styles-api/use-styles/use-styles.cjs");
|
|
7
8
|
const require_button_module = require("./button.module.cjs");
|
|
8
9
|
const require_index$1 = require("../unstyled-button/index.cjs");
|
|
10
|
+
const require_index$2 = require("../loader/index.cjs");
|
|
11
|
+
const require_index$3 = require("../transition/index.cjs");
|
|
9
12
|
let vue = require("vue");
|
|
10
13
|
//#region packages/@cck-ui/core/src/components/button/button.vue
|
|
11
14
|
const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
12
15
|
name: "CButton",
|
|
13
16
|
__name: "button",
|
|
14
17
|
props: {
|
|
15
|
-
|
|
18
|
+
dataDisabled: {
|
|
16
19
|
type: Boolean,
|
|
17
20
|
required: false
|
|
18
21
|
},
|
|
@@ -54,8 +57,7 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
54
57
|
},
|
|
55
58
|
radius: {
|
|
56
59
|
type: null,
|
|
57
|
-
required: false
|
|
58
|
-
default: "4px"
|
|
60
|
+
required: false
|
|
59
61
|
},
|
|
60
62
|
rightSection: {
|
|
61
63
|
type: null,
|
|
@@ -63,18 +65,7 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
63
65
|
},
|
|
64
66
|
size: {
|
|
65
67
|
type: null,
|
|
66
|
-
required: false
|
|
67
|
-
default: "sm"
|
|
68
|
-
},
|
|
69
|
-
tag: {
|
|
70
|
-
type: null,
|
|
71
|
-
required: false,
|
|
72
|
-
default: "button"
|
|
73
|
-
},
|
|
74
|
-
variant: {
|
|
75
|
-
type: String,
|
|
76
|
-
required: false,
|
|
77
|
-
default: "default"
|
|
68
|
+
required: false
|
|
78
69
|
},
|
|
79
70
|
className: {
|
|
80
71
|
type: String,
|
|
@@ -345,6 +336,10 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
345
336
|
type: Boolean,
|
|
346
337
|
required: false
|
|
347
338
|
},
|
|
339
|
+
variant: {
|
|
340
|
+
type: null,
|
|
341
|
+
required: false
|
|
342
|
+
},
|
|
348
343
|
classNames: {
|
|
349
344
|
type: null,
|
|
350
345
|
required: false
|
|
@@ -367,6 +362,18 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
367
362
|
const slots = (0, vue.useSlots)();
|
|
368
363
|
const hasLeftSlot = (0, vue.computed)(() => !!slots["left-section"]);
|
|
369
364
|
const hasRightSlot = (0, vue.computed)(() => !!slots["right-section"]);
|
|
365
|
+
const loaderTransition = {
|
|
366
|
+
in: {
|
|
367
|
+
opacity: 1,
|
|
368
|
+
transform: `translate(-50%, calc(-50% + ${require_rem.rem(1)}))`
|
|
369
|
+
},
|
|
370
|
+
out: {
|
|
371
|
+
opacity: 0,
|
|
372
|
+
transform: "translate(-50%, -200%)"
|
|
373
|
+
},
|
|
374
|
+
common: { transformOrigin: "center" },
|
|
375
|
+
transitionProperty: "transform, opacity"
|
|
376
|
+
};
|
|
370
377
|
const varsResolver = require_create_vars_resolver.createVarsResolver((theme, { radius, color, gradient, variant, size, justify, autoContrast }) => {
|
|
371
378
|
const colors = theme.variantColorResolver({
|
|
372
379
|
color: color || theme.primaryColor,
|
|
@@ -384,67 +391,85 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
384
391
|
"--button-bg": color || variant ? colors.background : void 0,
|
|
385
392
|
"--button-hover": color || variant ? colors.hover : void 0,
|
|
386
393
|
"--button-color": colors.color,
|
|
387
|
-
"--button-bd": color || variant ? colors.
|
|
394
|
+
"--button-bd": color || variant ? colors.border : void 0,
|
|
388
395
|
"--button-hover-color": color || variant ? colors.hoverColor : void 0
|
|
389
396
|
} };
|
|
390
397
|
});
|
|
391
398
|
const props = __props;
|
|
392
|
-
const
|
|
399
|
+
const knownProps = [
|
|
400
|
+
"style",
|
|
401
|
+
"vars",
|
|
402
|
+
"className",
|
|
403
|
+
"color",
|
|
404
|
+
"disabled",
|
|
405
|
+
"leftSection",
|
|
406
|
+
"rightSection",
|
|
407
|
+
"fullWidth",
|
|
408
|
+
"radius",
|
|
409
|
+
"loading",
|
|
410
|
+
"loaderProps",
|
|
411
|
+
"gradient",
|
|
412
|
+
"classNames",
|
|
413
|
+
"styles",
|
|
414
|
+
"unstyled",
|
|
415
|
+
"dataDisabled",
|
|
416
|
+
"autoContrast",
|
|
417
|
+
"mod",
|
|
418
|
+
"attributes"
|
|
419
|
+
];
|
|
393
420
|
const getStyles = require_use_styles.useStyles({
|
|
394
421
|
name: "Button",
|
|
395
422
|
props,
|
|
396
423
|
classes: require_button_module.default,
|
|
397
|
-
className,
|
|
398
|
-
style,
|
|
399
|
-
classNames,
|
|
400
|
-
styles,
|
|
401
|
-
unstyled,
|
|
402
|
-
attributes,
|
|
403
|
-
vars,
|
|
424
|
+
className: props.className,
|
|
425
|
+
style: props.style,
|
|
426
|
+
classNames: props.classNames,
|
|
427
|
+
styles: props.styles,
|
|
428
|
+
unstyled: props.unstyled,
|
|
429
|
+
attributes: props.attributes,
|
|
430
|
+
vars: props.vars,
|
|
404
431
|
varsResolver
|
|
405
432
|
});
|
|
406
|
-
const rootAttrs = (0, vue.computed)(() => getStyles("root"));
|
|
433
|
+
const rootAttrs = (0, vue.computed)(() => getStyles("root", { active: !props.disabled && !props.loading && !props.dataDisabled }));
|
|
407
434
|
const __returned__ = {
|
|
408
435
|
slots,
|
|
409
436
|
hasLeftSlot,
|
|
410
437
|
hasRightSlot,
|
|
438
|
+
loaderTransition,
|
|
411
439
|
varsResolver,
|
|
412
440
|
props,
|
|
413
|
-
|
|
414
|
-
vars,
|
|
415
|
-
className,
|
|
416
|
-
color,
|
|
417
|
-
disabled,
|
|
418
|
-
leftSection,
|
|
419
|
-
rightSection,
|
|
420
|
-
fullWidth,
|
|
421
|
-
variant,
|
|
422
|
-
radius,
|
|
423
|
-
loading,
|
|
424
|
-
loaderProps,
|
|
425
|
-
gradient,
|
|
426
|
-
classNames,
|
|
427
|
-
styles,
|
|
428
|
-
unstyled,
|
|
429
|
-
dataDisabled,
|
|
430
|
-
autoContrast,
|
|
431
|
-
mod,
|
|
432
|
-
attributes,
|
|
433
|
-
others,
|
|
441
|
+
knownProps,
|
|
434
442
|
getStyles,
|
|
435
443
|
rootAttrs,
|
|
436
|
-
mergedRootAttrs: (0, vue.computed)(() =>
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
444
|
+
mergedRootAttrs: (0, vue.computed)(() => {
|
|
445
|
+
const others = {};
|
|
446
|
+
for (const key in props) if (!knownProps.includes(key)) others[key] = props[key];
|
|
447
|
+
return {
|
|
448
|
+
...others,
|
|
449
|
+
...rootAttrs.value
|
|
450
|
+
};
|
|
451
|
+
}),
|
|
440
452
|
innerAttrs: (0, vue.computed)(() => getStyles("inner")),
|
|
441
453
|
sectionAttrs: (0, vue.computed)(() => getStyles("section")),
|
|
442
454
|
labelAttrs: (0, vue.computed)(() => getStyles("label")),
|
|
455
|
+
modList: (0, vue.computed)(() => [{
|
|
456
|
+
disabled: props.disabled || props.dataDisabled,
|
|
457
|
+
loading: props.loading,
|
|
458
|
+
block: props.fullWidth,
|
|
459
|
+
"with-left-section": hasLeftSlot.value || !!props.leftSection,
|
|
460
|
+
"with-right-section": hasRightSlot.value || !!props.rightSection
|
|
461
|
+
}]),
|
|
443
462
|
get CBox() {
|
|
444
463
|
return require_index.CBox;
|
|
445
464
|
},
|
|
446
465
|
get UnstyledButton() {
|
|
447
466
|
return require_index$1.UnstyledButton;
|
|
467
|
+
},
|
|
468
|
+
get CLoader() {
|
|
469
|
+
return require_index$2.CLoader;
|
|
470
|
+
},
|
|
471
|
+
get CTransition() {
|
|
472
|
+
return require_index$3.CTransition;
|
|
448
473
|
}
|
|
449
474
|
};
|
|
450
475
|
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
@@ -456,18 +481,25 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
456
481
|
});
|
|
457
482
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
458
483
|
return (0, vue.openBlock)(), (0, vue.createBlock)($setup["UnstyledButton"], (0, vue.mergeProps)($setup.mergedRootAttrs, {
|
|
459
|
-
disabled: $
|
|
460
|
-
unstyled: $
|
|
461
|
-
|
|
462
|
-
mod: [{
|
|
463
|
-
disabled: $setup.disabled || $setup.dataDisabled,
|
|
464
|
-
loading: $setup.loading,
|
|
465
|
-
block: $setup.fullWidth,
|
|
466
|
-
"with-left-section": $setup.hasLeftSlot || $setup.leftSection,
|
|
467
|
-
"with-right-section": $setup.hasRightSlot || $setup.rightSection
|
|
468
|
-
}]
|
|
484
|
+
disabled: $props.disabled || $props.loading,
|
|
485
|
+
unstyled: $props.unstyled,
|
|
486
|
+
mod: $setup.modList
|
|
469
487
|
}), {
|
|
470
|
-
default: (0, vue.withCtx)(() => [
|
|
488
|
+
default: (0, vue.withCtx)(() => [typeof $setup.props.loading === "boolean" ? ((0, vue.openBlock)(), (0, vue.createBlock)($setup["CTransition"], {
|
|
489
|
+
key: 0,
|
|
490
|
+
mounted: $setup.props.loading,
|
|
491
|
+
transition: $setup.loaderTransition,
|
|
492
|
+
duration: 150
|
|
493
|
+
}, {
|
|
494
|
+
default: (0, vue.withCtx)(({ styles }) => [(0, vue.createVNode)($setup["CBox"], (0, vue.mergeProps)({ tag: "span" }, $setup.getStyles("loader", { style: styles }), { "aria-hidden": "true" }), {
|
|
495
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)($setup["CLoader"], (0, vue.mergeProps)({
|
|
496
|
+
color: "var(--button-color)",
|
|
497
|
+
size: "calc(var(--button-height) / 1.8)"
|
|
498
|
+
}, $setup.props.loaderProps), null, 16)]),
|
|
499
|
+
_: 1
|
|
500
|
+
}, 16)]),
|
|
501
|
+
_: 1
|
|
502
|
+
}, 8, ["mounted"])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createVNode)($setup["CBox"], (0, vue.mergeProps)({ tag: "span" }, $setup.innerAttrs), {
|
|
471
503
|
default: (0, vue.withCtx)(() => [
|
|
472
504
|
_ctx.$slots["left-section"] ? ((0, vue.openBlock)(), (0, vue.createBlock)($setup["CBox"], (0, vue.mergeProps)({ key: 0 }, $setup.sectionAttrs, {
|
|
473
505
|
tag: "span",
|
|
@@ -475,16 +507,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
475
507
|
}), {
|
|
476
508
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "left-section")]),
|
|
477
509
|
_: 3
|
|
478
|
-
}, 16)) : $
|
|
510
|
+
}, 16)) : $props.leftSection ? ((0, vue.openBlock)(), (0, vue.createBlock)($setup["CBox"], (0, vue.mergeProps)({ key: 1 }, $setup.sectionAttrs, {
|
|
479
511
|
tag: "span",
|
|
480
512
|
mod: { position: "left" }
|
|
481
513
|
}), {
|
|
482
|
-
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)($
|
|
514
|
+
default: (0, vue.withCtx)(() => [(0, vue.createCommentVNode)(" TODO "), ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)($props.leftSection)))]),
|
|
483
515
|
_: 1
|
|
484
516
|
}, 16)) : (0, vue.createCommentVNode)("v-if", true),
|
|
485
517
|
(0, vue.createVNode)($setup["CBox"], (0, vue.mergeProps)($setup.labelAttrs, {
|
|
486
518
|
tag: "span",
|
|
487
|
-
mod: { loading: $
|
|
519
|
+
mod: { loading: $props.loading }
|
|
488
520
|
}), {
|
|
489
521
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
|
|
490
522
|
_: 3
|
|
@@ -495,11 +527,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
495
527
|
}), {
|
|
496
528
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "right-section")]),
|
|
497
529
|
_: 3
|
|
498
|
-
}, 16)) : $
|
|
530
|
+
}, 16)) : $props.rightSection ? ((0, vue.openBlock)(), (0, vue.createBlock)($setup["CBox"], (0, vue.mergeProps)({ key: 3 }, $setup.sectionAttrs, {
|
|
499
531
|
tag: "span",
|
|
500
532
|
mod: { position: "right" }
|
|
501
533
|
}), {
|
|
502
|
-
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)($
|
|
534
|
+
default: (0, vue.withCtx)(() => [(0, vue.createCommentVNode)(" TODO "), ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)($props.rightSection)))]),
|
|
503
535
|
_: 1
|
|
504
536
|
}, 16)) : (0, vue.createCommentVNode)("v-if", true)
|
|
505
537
|
]),
|
|
@@ -509,11 +541,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
509
541
|
}, 16, [
|
|
510
542
|
"disabled",
|
|
511
543
|
"unstyled",
|
|
512
|
-
"variant",
|
|
513
544
|
"mod"
|
|
514
545
|
]);
|
|
515
546
|
}
|
|
516
|
-
var button_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
547
|
+
var button_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/components/button/button.vue"]]);
|
|
517
548
|
//#endregion
|
|
518
549
|
exports.default = button_default;
|
|
519
550
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.cjs","names":[],"sources":["../../../src/components/button/button.vue"
|
|
1
|
+
{"version":3,"file":"button.cjs","names":[],"sources":["../../../src/components/button/button.vue"],"sourcesContent":["<template>\n <unstyled-button\n v-bind=\"mergedRootAttrs\"\n :disabled=\"disabled || loading\"\n :unstyled=\"unstyled\"\n :mod=\"modList\"\n >\n <c-transition\n v-if=\"typeof props.loading === 'boolean'\"\n :mounted=\"props.loading\"\n :transition=\"loaderTransition\"\n :duration=\"150\"\n >\n <template #default=\"{ styles }\">\n <c-box tag=\"span\" v-bind=\"getStyles('loader', { style: styles })\" aria-hidden=\"true\">\n <c-loader\n color=\"var(--button-color)\"\n size=\"calc(var(--button-height) / 1.8)\"\n v-bind=\"props.loaderProps\"\n ></c-loader>\n </c-box>\n </template>\n </c-transition>\n\n <c-box tag=\"span\" v-bind=\"innerAttrs\">\n <c-box\n v-if=\"$slots['left-section']\"\n v-bind=\"sectionAttrs\"\n tag=\"span\"\n :mod=\"{ position: 'left' }\"\n >\n <slot name=\"left-section\"></slot>\n </c-box>\n <c-box v-else-if=\"leftSection\" v-bind=\"sectionAttrs\" tag=\"span\" :mod=\"{ position: 'left' }\">\n <!-- TODO -->\n <component :is=\"leftSection\" />\n </c-box>\n <c-box v-bind=\"labelAttrs\" tag=\"span\" :mod=\"{ loading }\">\n <slot />\n </c-box>\n <c-box\n v-if=\"$slots['right-section']\"\n v-bind=\"sectionAttrs\"\n tag=\"span\"\n :mod=\"{ position: 'right' }\"\n >\n <slot name=\"right-section\"></slot>\n </c-box>\n <c-box v-else-if=\"rightSection\" v-bind=\"sectionAttrs\" tag=\"span\" :mod=\"{ position: 'right' }\">\n <!-- TODO -->\n <component :is=\"rightSection\" />\n </c-box>\n </c-box>\n </unstyled-button>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, useSlots } from 'vue'\nimport {\n CBox,\n createVarsResolver,\n getFontSize,\n getRadius,\n getSize,\n rem,\n useStyles,\n} from '../../core'\nimport { UnstyledButton } from '../unstyled-button'\nimport { ButtonFactory, type ButtonProps } from './button.types'\nimport classes from './button.module.css'\nimport { CLoader } from '../loader'\nimport { CTransition, CckTransition } from '../transition'\n\ndefineOptions({\n name: 'CButton',\n})\n\ndefineSlots<{\n 'left-section': any\n 'right-section': any\n default: any\n}>()\n\nconst slots = useSlots()\n\nconst hasLeftSlot = computed(() => !!slots['left-section'])\nconst hasRightSlot = computed(() => !!slots['right-section'])\n\nconst loaderTransition: CckTransition = {\n in: { opacity: 1, transform: `translate(-50%, calc(-50% + ${rem(1)}))` },\n out: { opacity: 0, transform: 'translate(-50%, -200%)' },\n common: { transformOrigin: 'center' },\n transitionProperty: 'transform, opacity',\n}\n\nconst varsResolver = createVarsResolver<ButtonFactory>(\n (theme, { radius, color, gradient, variant, size, justify, autoContrast }) => {\n const colors = theme.variantColorResolver({\n color: color || theme.primaryColor,\n theme,\n gradient,\n variant: variant || 'default',\n autoContrast,\n })\n\n return {\n root: {\n '--button-justify': justify,\n '--button-height': getSize(size, 'button-height'),\n '--button-padding-x': getSize(size, 'button-padding-x'),\n '--button-fz': size?.includes('compact')\n ? getFontSize(size.replace('compact-', ''))\n : getFontSize(size),\n '--button-radius': radius === undefined ? undefined : getRadius(radius),\n '--button-bg': color || variant ? colors.background : undefined,\n '--button-hover': color || variant ? colors.hover : undefined,\n '--button-color': colors.color,\n '--button-bd': color || variant ? colors.border : undefined,\n '--button-hover-color': color || variant ? colors.hoverColor : undefined,\n },\n }\n }\n)\n\nconst props = defineProps<ButtonProps>()\n\nconst knownProps = [\n 'style',\n 'vars',\n 'className',\n 'color',\n 'disabled',\n 'leftSection',\n 'rightSection',\n 'fullWidth',\n 'radius',\n 'loading',\n 'loaderProps',\n 'gradient',\n 'classNames',\n 'styles',\n 'unstyled',\n 'dataDisabled',\n 'autoContrast',\n 'mod',\n 'attributes',\n]\n\nconst getStyles = useStyles<ButtonFactory>({\n name: 'Button',\n props,\n classes,\n className: props.className,\n style: props.style,\n classNames: props.classNames,\n styles: props.styles,\n unstyled: props.unstyled,\n attributes: props.attributes,\n vars: props.vars,\n varsResolver,\n})\n\nconst rootAttrs = computed(() =>\n getStyles('root', { active: !props.disabled && !props.loading && !props.dataDisabled })\n)\nconst mergedRootAttrs = computed(() => {\n const others: Record<string, any> = {}\n for (const key in props) {\n if (!knownProps.includes(key)) {\n others[key] = props[key as keyof typeof props]\n }\n }\n return { ...others, ...rootAttrs.value }\n})\n\nconst innerAttrs = computed(() => getStyles('inner'))\nconst sectionAttrs = computed(() => getStyles('section'))\nconst labelAttrs = computed(() => getStyles('label'))\n\nconst modList = computed(() => [\n {\n disabled: props.disabled || props.dataDisabled,\n loading: props.loading,\n block: props.fullWidth,\n 'with-left-section': hasLeftSlot.value || !!props.leftSection,\n 'with-right-section': hasRightSlot.value || !!props.rightSection,\n },\n])\n</script>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.module.cjs","names":[],"sources":["../../../src/components/button/button.module.css"],"sourcesContent":[".root {\n --button-height-xs: 30px;\n --button-height-sm: 36px;\n --button-height-md: 42px;\n --button-height-lg: 50px;\n --button-height-xl: 60px;\n\n --button-height-compact-xs: 22px;\n --button-height-compact-sm: 26px;\n --button-height-compact-md: 30px;\n --button-height-compact-lg: 34px;\n --button-height-compact-xl: 40px;\n\n --button-padding-x-xs: 14px;\n --button-padding-x-sm: 18px;\n --button-padding-x-md: 22px;\n --button-padding-x-lg: 26px;\n --button-padding-x-xl: 32px;\n\n --button-padding-x-compact-xs: 7px;\n --button-padding-x-compact-sm: 8px;\n --button-padding-x-compact-md: 10px;\n --button-padding-x-compact-lg: 12px;\n --button-padding-x-compact-xl: 14px;\n\n --button-height: var(--button-height-sm);\n --button-padding-x: var(--button-padding-x-sm);\n --button-color: var(--c-color-white);\n\n user-select: none;\n font-weight: var(--c-font-weight-medium);\n position: relative;\n line-height: 1;\n text-align: center;\n overflow: hidden;\n\n width: auto;\n cursor: pointer;\n display: inline-block;\n border-radius: var(--button-radius, var(--c-radius-default));\n font-size: var(--button-fz, var(--c-font-size-sm));\n background: var(--button-bg, var(--c-
|
|
1
|
+
{"version":3,"file":"button.module.cjs","names":[],"sources":["../../../src/components/button/button.module.css"],"sourcesContent":[".root {\n --button-height-xs: 30px;\n --button-height-sm: 36px;\n --button-height-md: 42px;\n --button-height-lg: 50px;\n --button-height-xl: 60px;\n\n --button-height-compact-xs: 22px;\n --button-height-compact-sm: 26px;\n --button-height-compact-md: 30px;\n --button-height-compact-lg: 34px;\n --button-height-compact-xl: 40px;\n\n --button-padding-x-xs: 14px;\n --button-padding-x-sm: 18px;\n --button-padding-x-md: 22px;\n --button-padding-x-lg: 26px;\n --button-padding-x-xl: 32px;\n\n --button-padding-x-compact-xs: 7px;\n --button-padding-x-compact-sm: 8px;\n --button-padding-x-compact-md: 10px;\n --button-padding-x-compact-lg: 12px;\n --button-padding-x-compact-xl: 14px;\n\n --button-height: var(--button-height-sm);\n --button-padding-x: var(--button-padding-x-sm);\n --button-color: var(--c-color-white);\n\n user-select: none;\n font-weight: var(--c-font-weight-medium);\n position: relative;\n line-height: 1;\n text-align: center;\n overflow: hidden;\n\n width: auto;\n cursor: pointer;\n display: inline-block;\n border-radius: var(--button-radius, var(--c-radius-default));\n font-size: var(--button-fz, var(--c-font-size-sm));\n background: var(--button-bg, var(--c-color-default));\n border: var(--button-bd, rem(1px) solid var(--c-color-default-border));\n color: var(--button-color, var(--c-color-default-color));\n height: var(--button-height, var(--button-height-sm));\n padding-inline: var(--button-padding-x, var(--button-padding-x-sm));\n vertical-align: middle;\n\n &:where([data-block]) {\n display: block;\n width: 100%;\n }\n\n &:where([data-with-left-section]) {\n padding-inline-start: calc(var(--button-padding-x) / 1.5);\n }\n\n &:where([data-with-right-section]) {\n padding-inline-end: calc(var(--button-padding-x) / 1.5);\n }\n\n &:where(:disabled:not([data-loading]), [data-disabled]:not([data-loading])) {\n cursor: not-allowed;\n border-color: transparent;\n transform: none;\n color: var(--c-color-disabled-color);\n background: var(--c-color-disabled);\n }\n\n &::before {\n content: '';\n pointer-events: none;\n position: absolute;\n inset: -1px;\n border-radius: var(--button-radius, var(--c-radius-default));\n transform: translateY(-100%);\n opacity: 0;\n filter: blur(12px);\n transition:\n transform 150ms ease,\n opacity 100ms ease;\n\n @mixin where-light {\n background-color: rgba(255, 255, 255, 0.15);\n }\n\n @mixin where-dark {\n background-color: rgba(0, 0, 0, 0.15);\n }\n }\n\n &:where([data-loading]) {\n cursor: not-allowed;\n transform: none;\n\n &::before {\n transform: translateY(0);\n opacity: 1;\n }\n\n & .inner {\n opacity: 0;\n transform: translateY(100%);\n }\n }\n\n @mixin hover {\n &:where(:not([data-loading], :disabled, [data-disabled])) {\n background-color: var(--button-hover, var(--c-color-default-hover));\n color: var(--button-hover-color, var(--button-color));\n }\n }\n}\n\n.inner {\n display: flex;\n align-items: center;\n justify-content: var(--button-justify, center);\n height: 100%;\n overflow: visible;\n transition:\n transform 150ms ease,\n opacity 100ms ease;\n}\n\n.label {\n white-space: nowrap;\n height: 100%;\n overflow: hidden;\n display: flex;\n align-items: center;\n opacity: 1;\n text-box-trim: trim-both;\n text-box-edge: cap alphabetic;\n\n &:where([data-loading]) {\n opacity: 0.2;\n }\n}\n\n.section {\n display: flex;\n align-items: center;\n\n &:where([data-position='left']) {\n margin-inline-end: var(--c-spacing-xs);\n }\n\n &:where([data-position='right']) {\n margin-inline-start: var(--c-spacing-xs);\n }\n}\n\n.loader {\n position: absolute;\n left: 50%;\n top: 50%;\n}\n\n.group {\n --button-border-width: 1px;\n display: flex;\n\n & :where(.root) {\n &:focus {\n position: relative;\n z-index: 1;\n }\n }\n\n &[data-orientation='horizontal'] {\n flex-direction: row;\n\n & .root,\n & .groupSection {\n &:not(:only-child):first-child {\n border-end-end-radius: 0;\n border-start-end-radius: 0;\n border-inline-end-width: calc(var(--button-border-width) / 2);\n }\n\n &:not(:only-child):last-child {\n border-end-start-radius: 0;\n border-start-start-radius: 0;\n border-inline-start-width: calc(var(--button-border-width) / 2);\n }\n\n &:not(:only-child):not(:first-child):not(:last-child) {\n border-radius: 0;\n border-inline-width: calc(var(--button-border-width) / 2);\n }\n }\n }\n\n &[data-orientation='vertical'] {\n flex-direction: column;\n\n & .root,\n & .groupSection {\n &:not(:only-child):first-child {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n border-bottom-width: calc(var(--button-border-width) / 2);\n }\n\n &:not(:only-child):last-child {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n border-top-width: calc(var(--button-border-width) / 2);\n }\n\n &:not(:only-child):not(:first-child):not(:last-child) {\n border-radius: 0;\n border-bottom-width: calc(var(--button-border-width) / 2);\n border-top-width: calc(var(--button-border-width) / 2);\n }\n }\n }\n}\n\n.groupSection {\n --section-height-xs: 30px;\n --section-height-sm: 36px;\n --section-height-md: 42px;\n --section-height-lg: 50px;\n --section-height-xl: 60px;\n\n --section-height-compact-xs: 22px;\n --section-height-compact-sm: 26px;\n --section-height-compact-md: 30px;\n --section-height-compact-lg: 34px;\n --section-height-compact-xl: 40px;\n\n --section-padding-x-xs: 14px;\n --section-padding-x-sm: 18px;\n --section-padding-x-md: 22px;\n --section-padding-x-lg: 26px;\n --section-padding-x-xl: 32px;\n\n --section-padding-x-compact-xs: 7px;\n --section-padding-x-compact-sm: 8px;\n --section-padding-x-compact-md: 10px;\n --section-padding-x-compact-lg: 12px;\n --section-padding-x-compact-xl: 14px;\n\n --section-height: var(--section-height-sm);\n --section-padding-x: var(--section-padding-x-sm);\n --section-color: var(--c-color-white);\n\n font-weight: var(--c-font-weight-medium);\n width: auto;\n border-radius: var(--section-radius, var(--c-radius-default));\n font-size: var(--section-fz, var(--c-font-size-sm));\n background: var(--section-bg, var(--c-primary-color-filled));\n border: var(--section-bd, rem(1px) solid transparent);\n height: var(--section-height, var(--section-height-sm));\n padding-inline: var(--section-padding-x, var(--section-padding-x-sm));\n vertical-align: middle;\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n"],"mappings":";;AAAA,IAAA,wBAAe;CAAC,QAAO;CAAa,SAAQ;CAAa,SAAQ;CAAa,WAAU;CAAa,UAAS;CAAa,SAAQ;CAAa,gBAAe;AAAY"}
|
|
@@ -3,8 +3,7 @@ const require_filter_props = require("../../../core/utils/filter-props/filter-pr
|
|
|
3
3
|
const require_get_base_value = require("../../../core/utils/get-base-value/get-base-value.cjs");
|
|
4
4
|
const require_get_sorted_breakpoints = require("../../../core/utils/get-sorted-breakpoints/get-sorted-breakpoints.cjs");
|
|
5
5
|
const require_keys = require("../../../core/utils/keys/keys.cjs");
|
|
6
|
-
const
|
|
7
|
-
const require_default_theme = require("../../../core/config-provider/default-theme.cjs");
|
|
6
|
+
const require_config_provider_context = require("../../../core/config-provider/config-provider.context.cjs");
|
|
8
7
|
const require_styles_to_string = require("../../../core/responsive-style-manager/styles-to-string/styles-to-string.cjs");
|
|
9
8
|
let vue = require("vue");
|
|
10
9
|
//#region packages/@cck-ui/core/src/components/grid/col/col-custom.ts
|
|
@@ -31,7 +30,7 @@ const getColumnOffset = (offset, columns) => {
|
|
|
31
30
|
};
|
|
32
31
|
function useColCustomStyle({ align, offset, order, selector, span }, gridContext) {
|
|
33
32
|
return (0, vue.computed)(() => {
|
|
34
|
-
const theme = (
|
|
33
|
+
const theme = require_config_provider_context.useCckTheme().value;
|
|
35
34
|
const _breakpoints = gridContext.breakpoints || theme.breakpoints;
|
|
36
35
|
const baseValue = require_get_base_value.getBaseValue(span);
|
|
37
36
|
const baseSpan = baseValue === void 0 ? 12 : baseValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"col-custom.cjs","names":["
|
|
1
|
+
{"version":3,"file":"col-custom.cjs","names":["useCckTheme","getBaseValue","filterProps","keys","getSortedBreakpoints","stylesToString"],"sources":["../../../../src/components/grid/col/col-custom.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { ColProps, ColSpan } from './col.types'\nimport {\n filterProps,\n getBaseValue,\n getSortedBreakpoints,\n keys,\n StyleProp,\n stylesToString,\n useCckTheme,\n} from '../../../core'\nimport { GridContextValue } from '../grid.context'\nimport type { GridBreakpoints } from '../grid.types'\n\ninterface ColVariablesProps {\n selector: string\n align?: ColProps['align'] | undefined\n offset?: StyleProp<number> | undefined\n order?: ColProps['order'] | undefined\n span: ColProps['span'] | undefined\n}\n\nconst getColumnFlexBasis = (colSpan: ColSpan | undefined, columns: number) => {\n if (colSpan === 'content') {\n return 'auto'\n }\n\n if (colSpan === 'auto') {\n return '0rem'\n }\n\n if (!colSpan) {\n return undefined\n }\n\n if (colSpan === columns) {\n return '100%'\n }\n\n const percentage = (100 * colSpan) / columns\n const gapFactor = (columns - colSpan) / columns\n return `calc(${percentage}% - ${gapFactor} * var(--grid-column-gap))`\n}\n\nconst getColumnMaxWidth = (\n colSpan: ColSpan | undefined,\n columns: number,\n grow: boolean | undefined\n) => {\n if (grow || colSpan === 'auto') {\n return '100%'\n }\n\n if (colSpan === 'content') {\n return 'unset'\n }\n\n return getColumnFlexBasis(colSpan, columns)\n}\n\nconst getColumnFlexGrow = (colSpan: ColSpan | undefined, grow: boolean | undefined) => {\n if (!colSpan) {\n return undefined\n }\n return colSpan === 'auto' || grow ? '1' : 'auto'\n}\n\nconst getColumnOffset = (offset: number | undefined, columns: number) => {\n if (offset === 0) {\n return '0'\n }\n\n if (!offset) {\n return undefined\n }\n\n const percentage = (100 * offset) / columns\n const gapFactor = offset / columns\n return `calc(${percentage}% + ${gapFactor} * var(--grid-column-gap))`\n}\n\nexport function useColCustomStyle(\n { align, offset, order, selector, span }: ColVariablesProps,\n gridContext: GridContextValue\n) {\n return computed(() => {\n const _theme = useCckTheme()\n const theme = _theme.value\n\n const _breakpoints = gridContext.breakpoints || theme.breakpoints\n const baseValue = getBaseValue(span)\n const baseSpan = baseValue === undefined ? 12 : baseValue\n\n const styles: Record<string, string | undefined> = filterProps({\n '--col-order': getBaseValue(order)?.toString(),\n '--col-flex-grow': getColumnFlexGrow(baseSpan, gridContext.grow),\n '--col-flex-basis': getColumnFlexBasis(baseSpan, gridContext.columns),\n '--col-width': baseSpan === 'content' ? 'auto' : undefined,\n '--col-max-width': getColumnMaxWidth(baseSpan, gridContext.columns, gridContext.grow),\n '--col-offset': getColumnOffset(getBaseValue(offset), gridContext.columns),\n '--col-align-self': getBaseValue(align),\n })\n\n const queries = keys(_breakpoints).reduce<Record<string, Record<string, any>>>(\n (acc, breakpoint) => {\n if (!acc[breakpoint as string]) {\n acc[breakpoint as string] = {}\n }\n\n if (typeof order === 'object' && order[breakpoint as string] !== undefined) {\n acc[breakpoint as string]['--col-order'] = order[breakpoint as string]?.toString()\n }\n\n if (typeof span === 'object' && span[breakpoint as string] !== undefined) {\n acc[breakpoint as string]['--col-flex-grow'] = getColumnFlexGrow(\n span[breakpoint as string],\n gridContext.grow\n )\n acc[breakpoint as string]['--col-flex-basis'] = getColumnFlexBasis(\n span[breakpoint as string],\n gridContext.columns\n )\n acc[breakpoint as string]['--col-width'] =\n span[breakpoint as string] === 'content' ? 'auto' : undefined\n acc[breakpoint as string]['--col-max-width'] = getColumnMaxWidth(\n span[breakpoint as string],\n gridContext.columns,\n gridContext.grow\n )\n }\n\n if (typeof offset === 'object' && offset[breakpoint as string] !== undefined) {\n acc[breakpoint as string]['--col-offset'] = getColumnOffset(\n offset[breakpoint as string],\n gridContext.columns\n )\n }\n\n if (typeof align === 'object' && align[breakpoint] !== undefined) {\n acc[breakpoint as string]['--col-align-self'] = align[breakpoint]\n }\n\n return acc\n },\n {}\n )\n\n const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(\n (breakpoint) => keys(queries[breakpoint.value]).length > 0\n )\n\n const values = sortedBreakpoints.map((breakpoint) => ({\n query:\n gridContext.type === 'container'\n ? `c-grid (min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`\n : `(min-width: ${_breakpoints[breakpoint.value as keyof GridBreakpoints]})`,\n styles: queries[breakpoint.value],\n }))\n\n const queryStyles = {\n styles,\n media: gridContext.type === 'container' ? undefined : values,\n container: gridContext.type === 'container' ? values : undefined,\n selector,\n }\n\n const queryStylesString = stylesToString(queryStyles)\n\n return { queryStylesString }\n })\n}\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ const require_export_helper = require("../../../_virtual/_/plugin-vue/export-hel
|
|
|
4
4
|
const require_responsive_style_manager = require("../../../core/responsive-style-manager/responsive-style-manager.cjs");
|
|
5
5
|
const require_normalize_number_like_string_prop = require("../../../core/responsive-style-manager/normalize-number-like-string-prop/normalize-number-like-string-prop.cjs");
|
|
6
6
|
const require_use_random_classname = require("../../../core/box/use-random-classname/use-random-classname.cjs");
|
|
7
|
+
const require_index = require("../../../core/box/index.cjs");
|
|
7
8
|
const require_grid_constants = require("../grid.constants.cjs");
|
|
8
9
|
const require_col_custom = require("./col-custom.cjs");
|
|
9
10
|
let vue = require("vue");
|
|
@@ -316,19 +317,33 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
316
317
|
setup(__props, { expose: __expose }) {
|
|
317
318
|
__expose();
|
|
318
319
|
const props = __props;
|
|
319
|
-
const
|
|
320
|
+
const knownProps = [
|
|
321
|
+
"classNames",
|
|
322
|
+
"className",
|
|
323
|
+
"style",
|
|
324
|
+
"styles",
|
|
325
|
+
"vars",
|
|
326
|
+
"span",
|
|
327
|
+
"order",
|
|
328
|
+
"offset",
|
|
329
|
+
"align"
|
|
330
|
+
];
|
|
320
331
|
const gridContext = (0, vue.inject)(require_grid_constants.GRID_CONTEXT_KEY);
|
|
321
332
|
const responsiveClassname = require_use_random_classname.useRandomClassName();
|
|
322
333
|
const rootAttrs = (0, vue.computed)(() => gridContext.getStyles("col", {
|
|
323
|
-
className: (0, clsx.default)(className, responsiveClassname),
|
|
324
|
-
style,
|
|
325
|
-
classNames,
|
|
326
|
-
styles
|
|
327
|
-
}));
|
|
328
|
-
const mergedAttrs = (0, vue.computed)(() => ({
|
|
329
|
-
...others,
|
|
330
|
-
...rootAttrs.value
|
|
334
|
+
className: (0, clsx.default)(props.className, responsiveClassname),
|
|
335
|
+
style: props.style,
|
|
336
|
+
classNames: props.classNames,
|
|
337
|
+
styles: props.styles
|
|
331
338
|
}));
|
|
339
|
+
const mergedAttrs = (0, vue.computed)(() => {
|
|
340
|
+
const others = {};
|
|
341
|
+
for (const key in props) if (!knownProps.includes(key)) others[key] = props[key];
|
|
342
|
+
return {
|
|
343
|
+
...others,
|
|
344
|
+
...rootAttrs.value
|
|
345
|
+
};
|
|
346
|
+
});
|
|
332
347
|
const _offset = require_normalize_number_like_string_prop.normalizeNumberLikeStringProp(props.offset);
|
|
333
348
|
const _order = require_normalize_number_like_string_prop.normalizeNumberLikeStringProp(props.order);
|
|
334
349
|
const colStyle = require_col_custom.useColCustomStyle({
|
|
@@ -355,16 +370,7 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
355
370
|
});
|
|
356
371
|
const __returned__ = {
|
|
357
372
|
props,
|
|
358
|
-
|
|
359
|
-
className,
|
|
360
|
-
style,
|
|
361
|
-
styles,
|
|
362
|
-
vars,
|
|
363
|
-
span,
|
|
364
|
-
order,
|
|
365
|
-
offset,
|
|
366
|
-
align,
|
|
367
|
-
others,
|
|
373
|
+
knownProps,
|
|
368
374
|
gridContext,
|
|
369
375
|
responsiveClassname,
|
|
370
376
|
rootAttrs,
|
|
@@ -372,7 +378,10 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
372
378
|
_offset,
|
|
373
379
|
_order,
|
|
374
380
|
colStyle,
|
|
375
|
-
currentStyleKey
|
|
381
|
+
currentStyleKey,
|
|
382
|
+
get CBox() {
|
|
383
|
+
return require_index.CBox;
|
|
384
|
+
}
|
|
376
385
|
};
|
|
377
386
|
Object.defineProperty(__returned__, "__isScriptSetup", {
|
|
378
387
|
enumerable: false,
|
|
@@ -382,13 +391,12 @@ const _sfc_main = /*@__PURE__*/ (0, vue.defineComponent)({
|
|
|
382
391
|
}
|
|
383
392
|
});
|
|
384
393
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
385
|
-
|
|
386
|
-
return (0, vue.openBlock)(), (0, vue.createBlock)(_component_c_box, (0, vue.normalizeProps)((0, vue.guardReactiveProps)($setup.mergedAttrs)), {
|
|
394
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)($setup["CBox"], (0, vue.normalizeProps)((0, vue.guardReactiveProps)($setup.mergedAttrs)), {
|
|
387
395
|
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
|
|
388
396
|
_: 3
|
|
389
397
|
}, 16);
|
|
390
398
|
}
|
|
391
|
-
var col_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
399
|
+
var col_default = /*#__PURE__*/ require_export_helper.default(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/components/grid/col/col.vue"]]);
|
|
392
400
|
//#endregion
|
|
393
401
|
exports.default = col_default;
|
|
394
402
|
|