@cck-ui/core 0.22.0 → 0.24.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.
Files changed (39) hide show
  1. package/cjs/components/divider/divider.cjs +434 -0
  2. package/cjs/components/divider/divider.cjs.map +1 -0
  3. package/cjs/components/divider/divider.module.cjs +10 -0
  4. package/cjs/components/divider/divider.module.cjs.map +1 -0
  5. package/cjs/components/divider/divider.utils.cjs +13 -0
  6. package/cjs/components/divider/divider.utils.cjs.map +1 -0
  7. package/cjs/components/divider/index.cjs +14 -0
  8. package/cjs/components/divider/index.cjs.map +1 -0
  9. package/cjs/components/focus-trap/focus-trap.cjs +41 -0
  10. package/cjs/components/focus-trap/focus-trap.cjs.map +1 -0
  11. package/cjs/components/focus-trap/index.cjs +12 -0
  12. package/cjs/components/focus-trap/index.cjs.map +1 -0
  13. package/cjs/index.cjs +66 -60
  14. package/cjs/index.cjs.map +1 -1
  15. package/esm/components/divider/divider.mjs +434 -0
  16. package/esm/components/divider/divider.mjs.map +1 -0
  17. package/esm/components/divider/divider.module.mjs +10 -0
  18. package/esm/components/divider/divider.module.mjs.map +1 -0
  19. package/esm/components/divider/divider.utils.mjs +14 -0
  20. package/esm/components/divider/divider.utils.mjs.map +1 -0
  21. package/esm/components/divider/index.mjs +11 -0
  22. package/esm/components/divider/index.mjs.map +1 -0
  23. package/esm/components/focus-trap/focus-trap.mjs +39 -0
  24. package/esm/components/focus-trap/focus-trap.mjs.map +1 -0
  25. package/esm/components/focus-trap/index.mjs +9 -0
  26. package/esm/components/focus-trap/index.mjs.map +1 -0
  27. package/esm/index.mjs +5 -1
  28. package/esm/index.mjs.map +1 -1
  29. package/lib/components/divider/divider.types.d.ts +28 -0
  30. package/lib/components/divider/divider.utils.d.ts +7 -0
  31. package/lib/components/divider/index.d.ts +6 -0
  32. package/lib/components/focus-trap/focus-trap.types.d.ts +6 -0
  33. package/lib/components/focus-trap/index.d.ts +5 -0
  34. package/lib/components/index.d.ts +2 -0
  35. package/package.json +1 -1
  36. package/styles/divider.css +62 -0
  37. package/styles/divider.layer.css +63 -0
  38. package/styles.css +63 -0
  39. package/styles.layer.css +63 -0
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import export_helper_default from "../../_virtual/_/plugin-vue/export-helper.mjs";
3
+ import { useComponentProps } from "../../core/config-provider/use-component-props/use-component-props.mjs";
4
+ import { Fragment, defineComponent, h, isVNode } from "vue";
5
+ import { useFocusTrap } from "@cck-ui/hooks";
6
+ var focus_trap_default = /*#__PURE__*/ export_helper_default(defineComponent({
7
+ name: "CFocusTrap",
8
+ props: { active: { type: Boolean } },
9
+ setup(props, { slots }) {
10
+ const computedProps = useComponentProps({
11
+ component: "CFocusTrap",
12
+ defaultProps: { active: true },
13
+ props
14
+ });
15
+ const trapRef = useFocusTrap(() => computedProps.value.active);
16
+ return () => {
17
+ const children = slots.default?.();
18
+ if (!children || children.length === 0) {
19
+ console.warn("[@cck-ui/core/focus-trap] No children provided, nothing to trap.");
20
+ return null;
21
+ }
22
+ if (children.length === 1) {
23
+ const child = children[0];
24
+ if (isVNode(child) && child.type === Fragment) {
25
+ console.warn("[@cck-ui/core/focus-trap] Fragment as single child is not supported; wrapping with div.");
26
+ const subChildren = Array.isArray(child.children) ? child.children : [];
27
+ return h("div", { ref: trapRef }, subChildren);
28
+ }
29
+ return h(child, { ref: trapRef });
30
+ }
31
+ console.warn("[@cck-ui/core/focus-trap] Multiple root elements found; wrapping with div.");
32
+ return h("div", { ref: trapRef }, children);
33
+ };
34
+ }
35
+ }), [["__file", "/home/runner/work/cck-ui/cck-ui/packages/@cck-ui/core/src/components/focus-trap/focus-trap.vue"]]);
36
+ //#endregion
37
+ export { focus_trap_default as default };
38
+
39
+ //# sourceMappingURL=focus-trap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-trap.mjs","names":[],"sources":["../../../src/components/focus-trap/focus-trap.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { useFocusTrap } from '@cck-ui/hooks'\nimport { defineComponent, Fragment, h, isVNode } from 'vue'\nimport { FocusTrapPrpos } from './focus-trap.types'\nimport { useComponentProps } from '../../core'\nexport default defineComponent({\n name: 'CFocusTrap',\n props: {\n active: {\n type: Boolean,\n },\n },\n setup(props, { slots }) {\n const defaultProps = { active: true } satisfies Partial<FocusTrapPrpos>\n const computedProps = useComponentProps({\n component: 'CFocusTrap',\n defaultProps,\n props,\n })\n\n const trapRef = useFocusTrap(() => computedProps.value.active)\n\n return () => {\n const children = slots.default?.()\n if (!children || children.length === 0) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[@cck-ui/core/focus-trap] No children provided, nothing to trap.')\n }\n return null\n }\n\n if (children.length === 1) {\n const child = children[0]\n if (isVNode(child) && child.type === Fragment) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n '[@cck-ui/core/focus-trap] Fragment as single child is not supported; wrapping with div.'\n )\n }\n const subChildren = Array.isArray(child.children) ? child.children : []\n return h('div', { ref: trapRef }, subChildren)\n }\n return h(child, { ref: trapRef })\n }\n\n if (process.env.NODE_ENV === 'development') {\n console.warn('[@cck-ui/core/focus-trap] Multiple root elements found; wrapping with div.')\n }\n return h('div', { ref: trapRef }, children)\n }\n },\n})\n</script>\n"],"mappings":";;;;;6DAKkB,gBAAa;CAC7B,MAAM;CACN,OAAO,EACL,QAAQ,EACN,MAAM,QACR,EACF;CACA,MAAM,OAAO,EAAE,SAAS;EAEtB,MAAM,gBAAgB,kBAAkB;GACtC,WAAW;GACX,cAAA,EAHqB,QAAQ,KAG7B;GACA;EACF,CAAC;EAED,MAAM,UAAU,mBAAmB,cAAc,MAAM,MAAM;EAE7D,aAAa;GACX,MAAM,WAAW,MAAM,UAAU;GACjC,IAAI,CAAC,YAAY,SAAS,WAAW,GAAG;IAEpC,QAAQ,KAAK,kEAAkE;IAEjF,OAAO;GACT;GAEA,IAAI,SAAS,WAAW,GAAG;IACzB,MAAM,QAAQ,SAAS;IACvB,IAAI,QAAQ,KAAK,KAAK,MAAM,SAAS,UAAU;KAE3C,QAAQ,KACN,yFACF;KAEF,MAAM,cAAc,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC;KACtE,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,GAAG,WAAW;IAC/C;IACA,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC;GAClC;GAGE,QAAQ,KAAK,4EAA4E;GAE3F,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,GAAG,QAAQ;EAC5C;CACF;AACF"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { withInstall } from "../../core/utils/vue/install.mjs";
3
+ import { withExtend, withPropsFactory } from "../../core/utils/vue/statics.mjs";
4
+ import focus_trap_default from "./focus-trap.mjs";
5
+ const CFocusTrap = withInstall(withPropsFactory(withExtend(focus_trap_default)));
6
+ //#endregion
7
+ export { CFocusTrap, CFocusTrap as default };
8
+
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["FocusTrap"],"sources":["../../../src/components/focus-trap/index.ts"],"sourcesContent":["import { SFCWithInstall, withExtend, withInstall, withPropsFactory } from '../../core'\nimport FocusTrap from './focus-trap.vue'\n\nconst FocusTrapWithStatic = withPropsFactory(withExtend(FocusTrap))\n\nexport const CFocusTrap: SFCWithInstall<typeof FocusTrap> = withInstall(FocusTrapWithStatic)\n\nexport default CFocusTrap\n\nexport * from './focus-trap.types'\n"],"mappings":";;;;AAKA,MAAa,aAA+C,YAFhC,iBAAiB,WAAWA,kBAAS,CAEO,CAAmB"}
package/esm/index.mjs CHANGED
@@ -63,9 +63,11 @@ import { CButton, CButtonGroup, CButtonGroupSection } from "./components/button/
63
63
  import { CCenter } from "./components/center/index.mjs";
64
64
  import { CContainer } from "./components/container/index.mjs";
65
65
  import { CCopyButton } from "./components/copy-button/index.mjs";
66
+ import { CDivider } from "./components/divider/index.mjs";
66
67
  import { CEmptyState, CEmptyStateActions, CEmptyStateDescription, CEmptyStateIndicator, CEmptyStateTitle } from "./components/empty-state/index.mjs";
67
68
  import { CFileButton } from "./components/file-button/index.mjs";
68
69
  import { CFlex } from "./components/flex/index.mjs";
70
+ import { CFocusTrap } from "./components/focus-trap/index.mjs";
69
71
  import { CCol, CGrid } from "./components/grid/index.mjs";
70
72
  import { CGroup } from "./components/group/index.mjs";
71
73
  import { CImage } from "./components/image/index.mjs";
@@ -97,6 +99,7 @@ const components = [
97
99
  CCol,
98
100
  CContainer,
99
101
  CCopyButton,
102
+ CDivider,
100
103
  CEmptyState,
101
104
  CEmptyStateActions,
102
105
  CEmptyStateDescription,
@@ -104,6 +107,7 @@ const components = [
104
107
  CEmptyStateTitle,
105
108
  CFileButton,
106
109
  CFlex,
110
+ CFocusTrap,
107
111
  CGrid,
108
112
  CGroup,
109
113
  CImage,
@@ -130,6 +134,6 @@ const CckUI = { install(app) {
130
134
  });
131
135
  } };
132
136
  //#endregion
133
- export { CActionIcon, CActionIconGroup, CActionIconGroupSection, CAlert, CAspectRatio, CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCenter, CCloseButton, CCol, CContainer, CCopyButton, CDefaultLoaders, CEmptyState, CEmptyStateActions, CEmptyStateDescription, CEmptyStateIndicator, CEmptyStateTitle, CFileButton, CFlex, CGrid, CGroup, CImage, CLoader, CONFIG_KEY, CPaper, CSemiCircleProgress, CSimpleGrid, CSkeleton, CSpace, CSplitter, CSplitterPane, CStack, CText, CTransition, CTypography, CVisuallyHidden, 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 };
137
+ export { CActionIcon, CActionIconGroup, CActionIconGroupSection, CAlert, CAspectRatio, CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCenter, CCloseButton, CCol, CContainer, CCopyButton, CDefaultLoaders, CDivider, CEmptyState, CEmptyStateActions, CEmptyStateDescription, CEmptyStateIndicator, CEmptyStateTitle, CFileButton, CFlex, CFocusTrap, CGrid, CGroup, CImage, CLoader, CONFIG_KEY, CPaper, CSemiCircleProgress, CSimpleGrid, CSkeleton, CSpace, CSplitter, CSplitterPane, CStack, CText, CTransition, CTypography, CVisuallyHidden, 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 };
134
138
 
135
139
  //# 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 CActionIcon,\n CActionIconGroup,\n CActionIconGroupSection,\n CAlert,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCloseButton,\n CCol,\n CContainer,\n CCopyButton,\n CEmptyState,\n CEmptyStateActions,\n CEmptyStateDescription,\n CEmptyStateIndicator,\n CEmptyStateTitle,\n CFileButton,\n CFlex,\n CGrid,\n CGroup,\n CImage,\n CLoader,\n CPaper,\n CSemiCircleProgress,\n CSimpleGrid,\n CSkeleton,\n CSpace,\n CSplitter,\n CSplitterPane,\n CStack,\n CText,\n CTransition,\n CTypography,\n CVisuallyHidden,\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 CActionIcon,\n CActionIconGroup,\n CActionIconGroupSection,\n CAlert,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCloseButton,\n CCol,\n CContainer,\n CCopyButton,\n CEmptyState,\n CEmptyStateActions,\n CEmptyStateDescription,\n CEmptyStateIndicator,\n CEmptyStateTitle,\n CFileButton,\n CFlex,\n CGrid,\n CGroup,\n CImage,\n CLoader,\n CPaper,\n CSemiCircleProgress,\n CSimpleGrid,\n CSkeleton,\n CSpace,\n CSplitter,\n CSplitterPane,\n CStack,\n CText,\n CTransition,\n CTypography,\n CVisuallyHidden,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport {\n CActionIcon,\n CActionIconGroup,\n CActionIconGroupSection,\n CAlert,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCloseButton,\n CCol,\n CContainer,\n CCopyButton,\n CDivider,\n CEmptyState,\n CEmptyStateActions,\n CEmptyStateDescription,\n CEmptyStateIndicator,\n CEmptyStateTitle,\n CFileButton,\n CFlex,\n CFocusTrap,\n CGrid,\n CGroup,\n CImage,\n CLoader,\n CPaper,\n CSemiCircleProgress,\n CSimpleGrid,\n CSkeleton,\n CSpace,\n CSplitter,\n CSplitterPane,\n CStack,\n CText,\n CTransition,\n CTypography,\n CVisuallyHidden,\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 CActionIcon,\n CActionIconGroup,\n CActionIconGroupSection,\n CAlert,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCloseButton,\n CCol,\n CContainer,\n CCopyButton,\n CDivider,\n CEmptyState,\n CEmptyStateActions,\n CEmptyStateDescription,\n CEmptyStateIndicator,\n CEmptyStateTitle,\n CFileButton,\n CFlex,\n CFocusTrap,\n CGrid,\n CGroup,\n CImage,\n CLoader,\n CPaper,\n CSemiCircleProgress,\n CSimpleGrid,\n CSkeleton,\n CSpace,\n CSplitter,\n CSplitterPane,\n CStack,\n CText,\n CTransition,\n CTypography,\n CVisuallyHidden,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;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,28 @@
1
+ import { BoxProps, CColor, CSize, ElementProps, Factory, StylesApiProps } from '../../core';
2
+ export type DividerStylesNames = 'root' | 'label';
3
+ export type DividerVariant = 'solid' | 'dashed' | 'dotted';
4
+ export type DividerCssVariables = {
5
+ root: '--divider-color' | '--divider-border-style' | '--divider-size';
6
+ };
7
+ export interface DividerProps extends BoxProps, StylesApiProps<DividerFactory>, /* @vue-ignore */ ElementProps<'div'> {
8
+ /** Key of `theme.colors` or any valid CSS color value */
9
+ color?: CColor;
10
+ /**
11
+ * Controls width/height (depends on orientation)
12
+ * @default 'xs'
13
+ */
14
+ size?: CSize | number | (string & {});
15
+ /**
16
+ * label position
17
+ * @default 'center'
18
+ */
19
+ labelPosition?: 'left' | 'center' | 'right';
20
+ orientation?: 'horizontal' | 'vertical';
21
+ }
22
+ export type DividerFactory = Factory<{
23
+ props: DividerProps;
24
+ ref: HTMLDivElement;
25
+ stylesNames: DividerStylesNames;
26
+ vars: DividerCssVariables;
27
+ variant: DividerVariant;
28
+ }>;
@@ -0,0 +1,7 @@
1
+ export declare const varsResolver: import("../..").VarsResolver<{
2
+ props: import("./divider.types").DividerProps;
3
+ ref: HTMLDivElement;
4
+ stylesNames: import("./divider.types").DividerStylesNames;
5
+ vars: import("./divider.types").DividerCssVariables;
6
+ variant: import("./divider.types").DividerVariant;
7
+ }>;
@@ -0,0 +1,6 @@
1
+ import { SFCWithInstallAndClasses } from '../../core';
2
+ import classes from './divider.module.css';
3
+ import Divider from './divider.vue';
4
+ export declare const CDivider: SFCWithInstallAndClasses<typeof Divider, typeof classes>;
5
+ export default CDivider;
6
+ export * from './divider.types';
@@ -0,0 +1,6 @@
1
+ export interface FocusTrapPrpos {
2
+ /**
3
+ * @description If set to `false`, disables focus trap
4
+ */
5
+ active?: boolean;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { SFCWithInstall } from '../../core';
2
+ import FocusTrap from './focus-trap.vue';
3
+ export declare const CFocusTrap: SFCWithInstall<typeof FocusTrap>;
4
+ export default CFocusTrap;
5
+ export * from './focus-trap.types';
@@ -6,9 +6,11 @@ export * from './center';
6
6
  export * from './close-button';
7
7
  export * from './container';
8
8
  export * from './copy-button';
9
+ export * from './divider';
9
10
  export * from './empty-state';
10
11
  export * from './file-button';
11
12
  export * from './flex';
13
+ export * from './focus-trap';
12
14
  export * from './grid';
13
15
  export * from './group';
14
16
  export * from './image';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cck-ui/core",
3
- "version": "0.22.0",
3
+ "version": "0.24.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",
@@ -0,0 +1,62 @@
1
+ .m_35209716 {
2
+ --divider-size-xs: calc(0.0625rem * var(--c-scale));
3
+ --divider-size-sm: calc(0.125rem * var(--c-scale));
4
+ --divider-size-md: calc(0.1875rem * var(--c-scale));
5
+ --divider-size-lg: calc(0.25rem * var(--c-scale));
6
+ --divider-size-xl: calc(0.3125rem * var(--c-scale));
7
+ --divider-size: var(--divider-size-xs);
8
+ }
9
+
10
+ :where([data-c-color-scheme='light']) .m_35209716 {
11
+ --divider-color: var(--c-color-gray-3);
12
+ }
13
+
14
+ :where([data-c-color-scheme='dark']) .m_35209716 {
15
+ --divider-color: var(--c-color-dark-4);
16
+ }
17
+
18
+ .m_35209716:where([data-orientation='horizontal']) {
19
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
20
+ }
21
+
22
+ .m_35209716:where([data-orientation='vertical']) {
23
+ border-inline-start: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
24
+ height: auto;
25
+ align-self: stretch;
26
+ }
27
+
28
+ .m_35209716:where([data-with-label]) {
29
+ border: 0;
30
+ }
31
+
32
+ .m_6e972f40 {
33
+ display: flex;
34
+ align-items: center;
35
+ font-size: var(--c-font-size-xs);
36
+ color: var(--c-color-dimmed);
37
+ white-space: nowrap;
38
+ }
39
+
40
+ .m_6e972f40:where([data-position='left'])::before {
41
+ display: none;
42
+ }
43
+
44
+ .m_6e972f40:where([data-position='right'])::after {
45
+ display: none;
46
+ }
47
+
48
+ .m_6e972f40::before {
49
+ content: '';
50
+ flex: 1;
51
+ height: calc(0.0625rem * var(--c-scale));
52
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
53
+ margin-inline-end: var(--c-spacing-xs);
54
+ }
55
+
56
+ .m_6e972f40::after {
57
+ content: '';
58
+ flex: 1;
59
+ height: calc(0.0625rem * var(--c-scale));
60
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
61
+ margin-inline-start: var(--c-spacing-xs);
62
+ }
@@ -0,0 +1,63 @@
1
+ @layer cck {.m_35209716 {
2
+ --divider-size-xs: calc(0.0625rem * var(--c-scale));
3
+ --divider-size-sm: calc(0.125rem * var(--c-scale));
4
+ --divider-size-md: calc(0.1875rem * var(--c-scale));
5
+ --divider-size-lg: calc(0.25rem * var(--c-scale));
6
+ --divider-size-xl: calc(0.3125rem * var(--c-scale));
7
+ --divider-size: var(--divider-size-xs);
8
+ }
9
+
10
+ :where([data-c-color-scheme='light']) .m_35209716 {
11
+ --divider-color: var(--c-color-gray-3);
12
+ }
13
+
14
+ :where([data-c-color-scheme='dark']) .m_35209716 {
15
+ --divider-color: var(--c-color-dark-4);
16
+ }
17
+
18
+ .m_35209716:where([data-orientation='horizontal']) {
19
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
20
+ }
21
+
22
+ .m_35209716:where([data-orientation='vertical']) {
23
+ border-inline-start: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
24
+ height: auto;
25
+ align-self: stretch;
26
+ }
27
+
28
+ .m_35209716:where([data-with-label]) {
29
+ border: 0;
30
+ }
31
+
32
+ .m_6e972f40 {
33
+ display: flex;
34
+ align-items: center;
35
+ font-size: var(--c-font-size-xs);
36
+ color: var(--c-color-dimmed);
37
+ white-space: nowrap;
38
+ }
39
+
40
+ .m_6e972f40:where([data-position='left'])::before {
41
+ display: none;
42
+ }
43
+
44
+ .m_6e972f40:where([data-position='right'])::after {
45
+ display: none;
46
+ }
47
+
48
+ .m_6e972f40::before {
49
+ content: '';
50
+ flex: 1;
51
+ height: calc(0.0625rem * var(--c-scale));
52
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
53
+ margin-inline-end: var(--c-spacing-xs);
54
+ }
55
+
56
+ .m_6e972f40::after {
57
+ content: '';
58
+ flex: 1;
59
+ height: calc(0.0625rem * var(--c-scale));
60
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
61
+ margin-inline-start: var(--c-spacing-xs);
62
+ }
63
+ }
package/styles.css CHANGED
@@ -1276,6 +1276,69 @@ fieldset:disabled .c-active:active {
1276
1276
  margin-inline: auto;
1277
1277
  }
1278
1278
 
1279
+ .m_35209716 {
1280
+ --divider-size-xs: calc(0.0625rem * var(--c-scale));
1281
+ --divider-size-sm: calc(0.125rem * var(--c-scale));
1282
+ --divider-size-md: calc(0.1875rem * var(--c-scale));
1283
+ --divider-size-lg: calc(0.25rem * var(--c-scale));
1284
+ --divider-size-xl: calc(0.3125rem * var(--c-scale));
1285
+ --divider-size: var(--divider-size-xs);
1286
+ }
1287
+
1288
+ :where([data-c-color-scheme='light']) .m_35209716 {
1289
+ --divider-color: var(--c-color-gray-3);
1290
+ }
1291
+
1292
+ :where([data-c-color-scheme='dark']) .m_35209716 {
1293
+ --divider-color: var(--c-color-dark-4);
1294
+ }
1295
+
1296
+ .m_35209716:where([data-orientation='horizontal']) {
1297
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1298
+ }
1299
+
1300
+ .m_35209716:where([data-orientation='vertical']) {
1301
+ border-inline-start: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1302
+ height: auto;
1303
+ align-self: stretch;
1304
+ }
1305
+
1306
+ .m_35209716:where([data-with-label]) {
1307
+ border: 0;
1308
+ }
1309
+
1310
+ .m_6e972f40 {
1311
+ display: flex;
1312
+ align-items: center;
1313
+ font-size: var(--c-font-size-xs);
1314
+ color: var(--c-color-dimmed);
1315
+ white-space: nowrap;
1316
+ }
1317
+
1318
+ .m_6e972f40:where([data-position='left'])::before {
1319
+ display: none;
1320
+ }
1321
+
1322
+ .m_6e972f40:where([data-position='right'])::after {
1323
+ display: none;
1324
+ }
1325
+
1326
+ .m_6e972f40::before {
1327
+ content: '';
1328
+ flex: 1;
1329
+ height: calc(0.0625rem * var(--c-scale));
1330
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1331
+ margin-inline-end: var(--c-spacing-xs);
1332
+ }
1333
+
1334
+ .m_6e972f40::after {
1335
+ content: '';
1336
+ flex: 1;
1337
+ height: calc(0.0625rem * var(--c-scale));
1338
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1339
+ margin-inline-start: var(--c-spacing-xs);
1340
+ }
1341
+
1279
1342
  .m_6438951e {
1280
1343
  --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
1281
1344
  --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));
package/styles.layer.css CHANGED
@@ -1276,6 +1276,69 @@ fieldset:disabled .c-active:active {
1276
1276
  margin-inline: auto;
1277
1277
  }
1278
1278
 
1279
+ .m_35209716 {
1280
+ --divider-size-xs: calc(0.0625rem * var(--c-scale));
1281
+ --divider-size-sm: calc(0.125rem * var(--c-scale));
1282
+ --divider-size-md: calc(0.1875rem * var(--c-scale));
1283
+ --divider-size-lg: calc(0.25rem * var(--c-scale));
1284
+ --divider-size-xl: calc(0.3125rem * var(--c-scale));
1285
+ --divider-size: var(--divider-size-xs);
1286
+ }
1287
+
1288
+ :where([data-c-color-scheme='light']) .m_35209716 {
1289
+ --divider-color: var(--c-color-gray-3);
1290
+ }
1291
+
1292
+ :where([data-c-color-scheme='dark']) .m_35209716 {
1293
+ --divider-color: var(--c-color-dark-4);
1294
+ }
1295
+
1296
+ .m_35209716:where([data-orientation='horizontal']) {
1297
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1298
+ }
1299
+
1300
+ .m_35209716:where([data-orientation='vertical']) {
1301
+ border-inline-start: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1302
+ height: auto;
1303
+ align-self: stretch;
1304
+ }
1305
+
1306
+ .m_35209716:where([data-with-label]) {
1307
+ border: 0;
1308
+ }
1309
+
1310
+ .m_6e972f40 {
1311
+ display: flex;
1312
+ align-items: center;
1313
+ font-size: var(--c-font-size-xs);
1314
+ color: var(--c-color-dimmed);
1315
+ white-space: nowrap;
1316
+ }
1317
+
1318
+ .m_6e972f40:where([data-position='left'])::before {
1319
+ display: none;
1320
+ }
1321
+
1322
+ .m_6e972f40:where([data-position='right'])::after {
1323
+ display: none;
1324
+ }
1325
+
1326
+ .m_6e972f40::before {
1327
+ content: '';
1328
+ flex: 1;
1329
+ height: calc(0.0625rem * var(--c-scale));
1330
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1331
+ margin-inline-end: var(--c-spacing-xs);
1332
+ }
1333
+
1334
+ .m_6e972f40::after {
1335
+ content: '';
1336
+ flex: 1;
1337
+ height: calc(0.0625rem * var(--c-scale));
1338
+ border-top: var(--divider-size) var(--divider-border-style, solid) var(--divider-color);
1339
+ margin-inline-start: var(--c-spacing-xs);
1340
+ }
1341
+
1279
1342
  .m_6438951e {
1280
1343
  --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
1281
1344
  --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));