@cck-ui/core 0.9.0 → 0.11.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 (59) hide show
  1. package/cjs/components/space/index.cjs +13 -0
  2. package/cjs/components/space/index.cjs.map +1 -0
  3. package/cjs/components/space/space.cjs +394 -0
  4. package/cjs/components/space/space.cjs.map +1 -0
  5. package/cjs/components/space/space.module.cjs +7 -0
  6. package/cjs/components/space/space.module.cjs.map +1 -0
  7. package/cjs/components/splitter/grip-icon.cjs +66 -0
  8. package/cjs/components/splitter/grip-icon.cjs.map +1 -0
  9. package/cjs/components/splitter/index.cjs +18 -0
  10. package/cjs/components/splitter/index.cjs.map +1 -0
  11. package/cjs/components/splitter/splitter-pane/splitter-pane.cjs +411 -0
  12. package/cjs/components/splitter/splitter-pane/splitter-pane.cjs.map +1 -0
  13. package/cjs/components/splitter/splitter.cjs +620 -0
  14. package/cjs/components/splitter/splitter.cjs.map +1 -0
  15. package/cjs/components/splitter/splitter.context.cjs +17 -0
  16. package/cjs/components/splitter/splitter.context.cjs.map +1 -0
  17. package/cjs/components/splitter/splitter.module.cjs +12 -0
  18. package/cjs/components/splitter/splitter.module.cjs.map +1 -0
  19. package/cjs/components/splitter/splitter.utils.cjs +12 -0
  20. package/cjs/components/splitter/splitter.utils.cjs.map +1 -0
  21. package/cjs/index.cjs +13 -6
  22. package/cjs/index.cjs.map +1 -1
  23. package/esm/components/space/index.mjs +10 -0
  24. package/esm/components/space/index.mjs.map +1 -0
  25. package/esm/components/space/space.mjs +394 -0
  26. package/esm/components/space/space.mjs.map +1 -0
  27. package/esm/components/space/space.module.mjs +7 -0
  28. package/esm/components/space/space.module.mjs.map +1 -0
  29. package/esm/components/splitter/grip-icon.mjs +66 -0
  30. package/esm/components/splitter/grip-icon.mjs.map +1 -0
  31. package/esm/components/splitter/index.mjs +16 -0
  32. package/esm/components/splitter/index.mjs.map +1 -0
  33. package/esm/components/splitter/splitter-pane/splitter-pane.mjs +411 -0
  34. package/esm/components/splitter/splitter-pane/splitter-pane.mjs.map +1 -0
  35. package/esm/components/splitter/splitter.context.mjs +16 -0
  36. package/esm/components/splitter/splitter.context.mjs.map +1 -0
  37. package/esm/components/splitter/splitter.mjs +620 -0
  38. package/esm/components/splitter/splitter.mjs.map +1 -0
  39. package/esm/components/splitter/splitter.module.mjs +12 -0
  40. package/esm/components/splitter/splitter.module.mjs.map +1 -0
  41. package/esm/components/splitter/splitter.utils.mjs +13 -0
  42. package/esm/components/splitter/splitter.utils.mjs.map +1 -0
  43. package/esm/index.mjs +5 -1
  44. package/esm/index.mjs.map +1 -1
  45. package/lib/components/index.d.ts +2 -0
  46. package/lib/components/space/index.d.ts +6 -0
  47. package/lib/components/space/space.types.d.ts +9 -0
  48. package/lib/components/splitter/index.d.ts +11 -0
  49. package/lib/components/splitter/splitter-pane/splitter-pane.types.d.ts +47 -0
  50. package/lib/components/splitter/splitter.context.d.ts +13 -0
  51. package/lib/components/splitter/splitter.types.d.ts +77 -0
  52. package/lib/components/splitter/splitter.utils.d.ts +6 -0
  53. package/package.json +1 -1
  54. package/styles/space.css +2 -0
  55. package/styles/space.layer.css +3 -0
  56. package/styles/splitter.css +76 -0
  57. package/styles/splitter.layer.css +77 -0
  58. package/styles.css +80 -0
  59. package/styles.layer.css +80 -0
package/esm/index.mjs CHANGED
@@ -62,6 +62,8 @@ import { CContainer } from "./components/container/index.mjs";
62
62
  import { CCol, CGrid } from "./components/grid/index.mjs";
63
63
  import { CGroup } from "./components/group/index.mjs";
64
64
  import { CSimpleGrid } from "./components/simple-grid/index.mjs";
65
+ import { CSpace } from "./components/space/index.mjs";
66
+ import { CSplitter, CSplitterPane } from "./components/splitter/index.mjs";
65
67
  import { CStack } from "./components/stack/index.mjs";
66
68
  import { CText } from "./components/text/index.mjs";
67
69
  //#region packages/@cck-ui/core/src/index.ts
@@ -80,6 +82,8 @@ const components = [
80
82
  CGroup,
81
83
  CLoader,
82
84
  CSimpleGrid,
85
+ CSpace,
86
+ CSplitter,
83
87
  CStack,
84
88
  CText,
85
89
  CTransition,
@@ -93,6 +97,6 @@ const CckUI = { install(app) {
93
97
  });
94
98
  } };
95
99
  //#endregion
96
- export { CAspectRatio, CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCenter, CCol, CContainer, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CStack, CText, CTransition, CckConfigProvider, CckUI, CckUI as default, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, UnstyledButton, alpha, camelToKebabCase, colorsTuple, createTheme, createVarsResolver, darken, deepMerge, defaultCssVariablesResolver, defaultVariantColorsResolver, em, extractStyleProps, filterProps, getBaseValue, getBreakpointValue, getCSSColorVariables, getComponentName, getFontSize, getGradient, getLineHeight, getPrimaryShade, getRadius, getShadow, getSize, getSortedBreakpoints, getSpacing, getThemeColor, getTransitionProps, hashStyleProps, isLightColor, isNumber, isNumberLike, isString, isStringNumber, isUndefined, isVirtualColor, keys, luminance, mergeThemeOverrides, normalizeNumberLikeStringProp, numberLikeStringToNumber, parseStyleProps, parseThemeColor, px, rem, resolveClassNames, resolveStyles, responsiveStyleManager, rgb, rgba, stylesToString, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useComponentProps, useConfigContext, useProviderColorScheme, useRandomClassName, useStyles, virtualColor, withClasses, withExtend, withInstall, withPropsDefaultSetter, withPropsFactory, withVarsResolver };
100
+ export { CAspectRatio, CBox, CButton, CButtonGroup, CButtonGroupSection, transitions as CCK_TRANSITIONS, CCenter, CCol, CContainer, CDefaultLoaders, CGrid, CGroup, CLoader, CONFIG_KEY, CSimpleGrid, CSpace, CSplitter, CSplitterPane, CStack, CText, CTransition, CckConfigProvider, CckUI, CckUI as default, DEFAULT_THEME, FOCUS_CLASS_NAMES, STYLE_PROPS_DATA, THEME_KEY, UnstyledButton, alpha, camelToKebabCase, colorsTuple, createTheme, createVarsResolver, darken, deepMerge, defaultCssVariablesResolver, defaultVariantColorsResolver, em, extractStyleProps, filterProps, getBaseValue, getBreakpointValue, getCSSColorVariables, getComponentName, getFontSize, getGradient, getLineHeight, getPrimaryShade, getRadius, getShadow, getSize, getSortedBreakpoints, getSpacing, getThemeColor, getTransitionProps, hashStyleProps, isLightColor, isNumber, isNumberLike, isString, isStringNumber, isUndefined, isVirtualColor, keys, luminance, mergeThemeOverrides, normalizeNumberLikeStringProp, numberLikeStringToNumber, parseStyleProps, parseThemeColor, px, rem, resolveClassNames, resolveStyles, responsiveStyleManager, rgb, rgba, stylesToString, toRgba, useCckClassNamesPrefix, useCckColorScheme, useCckCssVariablesResolver, useCckEnv, useCckIsHeadless, useCckStyleNonce, useCckStylesTransform, useCckSxTransform, useCckTheme, useCckWithStaticClasses, useComponentProps, useConfigContext, useProviderColorScheme, useRandomClassName, useStyles, virtualColor, withClasses, withExtend, withInstall, withPropsDefaultSetter, withPropsFactory, withVarsResolver };
97
101
 
98
102
  //# 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 CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCol,\n CContainer,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CStack,\n CText,\n CTransition,\n UnstyledButton,\n} from './components'\nimport { CckConfigProvider, CBox } from './core'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nconst components = [\n CckConfigProvider,\n CBox,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCol,\n CContainer,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CStack,\n CText,\n CTransition,\n UnstyledButton,\n]\n\nconst CckUI: Plugin = {\n install(app: App) {\n if ((app as any)[INSTALLED_KEY]) {\n return\n }\n ;(app as any)[INSTALLED_KEY] = true\n components.forEach((c) => {\n if (c.name) {\n app.component(c.name, c)\n }\n })\n },\n}\n\nexport default CckUI\nexport { CckUI }\n\nexport * from './components'\nexport * from './core'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,gBAAgB,OAAO,eAAe;AAE5C,MAAM,aAAa;CACjB;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 CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCol,\n CContainer,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CSpace,\n CSplitter,\n CStack,\n CText,\n CTransition,\n UnstyledButton,\n} from './components'\nimport { CckConfigProvider, CBox } from './core'\n\nconst INSTALLED_KEY = Symbol('INSTALLED_KEY')\n\nconst components = [\n CckConfigProvider,\n CBox,\n CAspectRatio,\n CButton,\n CButtonGroup,\n CButtonGroupSection,\n CCenter,\n CCol,\n CContainer,\n CGrid,\n CGroup,\n CLoader,\n CSimpleGrid,\n CSpace,\n CSplitter,\n CStack,\n CText,\n CTransition,\n UnstyledButton,\n]\n\nconst CckUI: Plugin = {\n install(app: App) {\n if ((app as any)[INSTALLED_KEY]) {\n return\n }\n ;(app as any)[INSTALLED_KEY] = true\n components.forEach((c) => {\n if (c.name) {\n app.component(c.name, c)\n }\n })\n },\n}\n\nexport default CckUI\nexport { CckUI }\n\nexport * from './components'\nexport * from './core'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,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;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"}
@@ -6,6 +6,8 @@ export * from './grid';
6
6
  export * from './group';
7
7
  export * from './loader';
8
8
  export * from './simple-grid';
9
+ export * from './space';
10
+ export * from './splitter';
9
11
  export * from './stack';
10
12
  export * from './transition';
11
13
  export * from './text';
@@ -0,0 +1,6 @@
1
+ import { SFCWithInstallAndClasses } from '../../core';
2
+ import Space from './space.vue';
3
+ import classes from './space.module.css';
4
+ export declare const CSpace: SFCWithInstallAndClasses<typeof Space, typeof classes>;
5
+ export default CSpace;
6
+ export * from './space.types';
@@ -0,0 +1,9 @@
1
+ import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
+ export type SpaceStylesNames = 'root';
3
+ export interface SpaceProps extends BoxProps, StylesApiProps<SpaceFactory>, /* @vue-ignore */ ElementProps<'div'> {
4
+ }
5
+ export type SpaceFactory = Factory<{
6
+ props: SpaceProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: SpaceStylesNames;
9
+ }>;
@@ -0,0 +1,11 @@
1
+ import { SFCWithInstallAndClasses } from '../../core';
2
+ import Splitter from './splitter.vue';
3
+ import SplitterPane from './splitter-pane/splitter-pane.vue';
4
+ import classes from './splitter.module.css';
5
+ export declare const CSplitterPane: SFCWithInstallAndClasses<typeof SplitterPane, typeof classes>;
6
+ export declare const CSplitter: SFCWithInstallAndClasses<typeof Splitter, typeof classes> & {
7
+ CSplitterPane: typeof CSplitterPane;
8
+ };
9
+ export default CSplitter;
10
+ export * from './splitter-pane/splitter-pane.types';
11
+ export * from './splitter.types';
@@ -0,0 +1,47 @@
1
+ import { SplitterPaneSize } from '@cck-ui/hooks';
2
+ import { BoxProps, CompoundStylesApiProps, ElementProps, Factory } from '../../../core';
3
+ import { VNode } from 'vue';
4
+ export type SplitterPaneStylesNames = 'pane';
5
+ export interface SplitterPaneConfig {
6
+ uid: number;
7
+ getVNode: () => VNode;
8
+ setIndex: (index: number) => void;
9
+ defaultSize: SplitterPaneSize;
10
+ min?: SplitterPaneSize;
11
+ max?: SplitterPaneSize;
12
+ collapsible?: boolean;
13
+ collapseThreshold?: SplitterPaneSize;
14
+ size?: SplitterPaneSize;
15
+ }
16
+ export interface SplitterPaneProps extends BoxProps, CompoundStylesApiProps<SplitterPaneFactory>, ElementProps<'div'> {
17
+ /**
18
+ * @description Initial size, a `number`/`%` is a flexible size (shares leftover space), `px`/`rem` is a fixed size. A bare number is treated as a percentage.
19
+ */
20
+ defaultSize: SplitterPaneSize;
21
+ /**
22
+ * @description Minimum size in the same units as `defaultSize`
23
+ * @default 0
24
+ */
25
+ min?: SplitterPaneSize;
26
+ /**
27
+ * @description Maximum size in the same units as `defaultSize`, no limit by default
28
+ */
29
+ max?: SplitterPaneSize;
30
+ /**
31
+ * @description Whether this pane can be collapsed
32
+ * @default false
33
+ */
34
+ collapsible?: boolean;
35
+ /**
36
+ * @description Size below which the pane snaps to collapsed, defaults to `min`
37
+ */
38
+ collapseThreshold?: SplitterPaneSize;
39
+ /** @internal Index set by parent */
40
+ __index?: number;
41
+ }
42
+ export type SplitterPaneFactory = Factory<{
43
+ props: SplitterPaneProps;
44
+ ref: HTMLDivElement;
45
+ stylesNames: SplitterPaneStylesNames;
46
+ compound: true;
47
+ }>;
@@ -0,0 +1,13 @@
1
+ import type { SplitterPaneSize } from '@cck-ui/hooks';
2
+ import type { GetStylesApi } from '../../core';
3
+ import type { SplitterFactory } from './splitter.types';
4
+ import { ComputedRef } from 'vue';
5
+ export interface SplitterContextValue {
6
+ getStyles: GetStylesApi<SplitterFactory>;
7
+ sizes: ComputedRef<SplitterPaneSize[]>;
8
+ collapsed: ComputedRef<boolean[]>;
9
+ orientation: ComputedRef<'horizontal' | 'vertical'>;
10
+ getPaneStyle: (index: number) => Record<string, any>;
11
+ }
12
+ export declare function provideSplitterContext(value: SplitterContextValue): void;
13
+ export declare function useSplitterContext(): SplitterContextValue;
@@ -0,0 +1,77 @@
1
+ import { SplitterPaneSize, SplitterStep, UseSplitterRedistributeFn } from '@cck-ui/hooks';
2
+ import { BoxProps, CColor, ElementProps, Factory, StylesApiProps } from '../../core';
3
+ import { SplitterPaneStylesNames } from './splitter-pane/splitter-pane.types';
4
+ export type SplitterStylesNames = 'root' | 'handle' | 'thumb' | SplitterPaneStylesNames;
5
+ export type SplitterCssVariables = {
6
+ root: '--splitter-line-size' | '--splitter-handle-color';
7
+ };
8
+ export interface SplitterProps extends BoxProps, StylesApiProps<SplitterFactory>, /* @vue-ignore */ ElementProps<'div'> {
9
+ /**
10
+ * @description Layout direction
11
+ * @default 'horizontal'
12
+ */
13
+ orientation?: 'horizontal' | 'vertical';
14
+ /**
15
+ * @description Controlled sizes, each value keeps the unit it was declared in (number/`%` flexible, `px`/`rem` fixed)
16
+ */
17
+ sizes?: SplitterPaneSize[];
18
+ /**
19
+ * @description Called during resize with updated sizes, each value keeps its declared unit
20
+ */
21
+ onSizeChange?: (sizes: SplitterPaneSize[]) => void;
22
+ /**
23
+ * @description Called when drag starts
24
+ */
25
+ onResizeStart?: (handleIndex: number) => void;
26
+ /**
27
+ * @description Called when drag ends
28
+ */
29
+ onResizeEnd?: (handleIndex: number, sizes: SplitterPaneSize[]) => void;
30
+ /**
31
+ * @description Called when a panel collapses or expands
32
+ */
33
+ onCollapseChange?: (panelIndex: number, collapsed: boolean) => void;
34
+ /**
35
+ * @description How to redistribute space when immediate neighbor is at its min/max
36
+ */
37
+ redistribute?: 'nearest' | 'equal' | UseSplitterRedistributeFn;
38
+ /**
39
+ * @description Keyboard step size, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels
40
+ * @default 1
41
+ */
42
+ step?: SplitterStep;
43
+ /**
44
+ * @description Shift + arrow step size, a `number`/`%` is a percentage, `px`/`rem` is resolved to pixels
45
+ * @default 10
46
+ */
47
+ shiftStep?: SplitterStep;
48
+ /**
49
+ * @description CSS value for separator line thickness between panes
50
+ * @default 2
51
+ */
52
+ lineSize?: number | string;
53
+ /**
54
+ * @description Key of `theme.colors` or any valid CSS color for the separator line
55
+ */
56
+ handleColor?: CColor;
57
+ /**
58
+ * @description Custom icon displayed in the handle thumb, by default uses grip icon based on orientation
59
+ */
60
+ handleIcon?: any;
61
+ /**
62
+ * @description Determines whether the thumb with grip icon is displayed on the handle
63
+ * @default true
64
+ */
65
+ withHandle?: boolean;
66
+ /**
67
+ * @description Restore the two panes adjacent to a handle to their default ratio (preserving their combined size) when the handle is double-clicked
68
+ * @default true
69
+ */
70
+ resetOnDoubleClick?: boolean;
71
+ }
72
+ export type SplitterFactory = Factory<{
73
+ props: SplitterProps;
74
+ ref: HTMLDivElement;
75
+ stylesNames: SplitterStylesNames;
76
+ vars: SplitterCssVariables;
77
+ }>;
@@ -0,0 +1,6 @@
1
+ export declare const varsResolver: import("../..").VarsResolver<{
2
+ props: import("./splitter.types").SplitterProps;
3
+ ref: HTMLDivElement;
4
+ stylesNames: import("./splitter.types").SplitterStylesNames;
5
+ vars: import("./splitter.types").SplitterCssVariables;
6
+ }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cck-ui/core",
3
- "version": "0.9.0",
3
+ "version": "0.11.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,2 @@
1
+ .m_9b526549 {
2
+ }
@@ -0,0 +1,3 @@
1
+ @layer cck {.m_9b526549 {
2
+ }
3
+ }
@@ -0,0 +1,76 @@
1
+ .m_ea473028 {
2
+ display: flex;
3
+ }
4
+
5
+ .m_ea473028:where([data-orientation='horizontal']) {
6
+ flex-direction: row;
7
+ }
8
+
9
+ .m_ea473028:where([data-orientation='vertical']) {
10
+ flex-direction: column;
11
+ }
12
+
13
+ .m_ea4612ae {
14
+ flex-grow: 0;
15
+ flex-shrink: 1;
16
+ overflow: auto;
17
+ }
18
+
19
+ .m_636563ee {
20
+ flex: 0 0 var(--splitter-line-size, calc(0.125rem * var(--c-scale)));
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ position: relative;
25
+ touch-action: none;
26
+ outline: none;
27
+ background-color: var(--splitter-handle-color, var(--c-color-body));
28
+ }
29
+
30
+ .m_636563ee:where([data-orientation='horizontal']) {
31
+ cursor: col-resize;
32
+ }
33
+
34
+ .m_636563ee:where([data-orientation='vertical']) {
35
+ cursor: row-resize;
36
+ }
37
+
38
+ .m_5eb7eb50 {
39
+ position: absolute;
40
+ z-index: 1;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ border-radius: calc(62.5rem * var(--c-scale));
45
+ color: var(--c-color-dimmed);
46
+ transition: color 100ms ease;
47
+ }
48
+
49
+ :where([data-c-color-scheme='light']) .m_5eb7eb50 {
50
+ background-color: var(--c-color-white);
51
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-gray-3);
52
+ }
53
+
54
+ :where([data-c-color-scheme='dark']) .m_5eb7eb50 {
55
+ background-color: var(--c-color-dark-6);
56
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-dark-4);
57
+ }
58
+
59
+ .m_5eb7eb50:where([data-orientation='horizontal']) {
60
+ width: calc(0.75rem * var(--c-scale));
61
+ height: calc(3.75rem * var(--c-scale));
62
+ }
63
+
64
+ .m_5eb7eb50:where([data-orientation='vertical']) {
65
+ width: calc(3.75rem * var(--c-scale));
66
+ height: calc(0.75rem * var(--c-scale));
67
+ }
68
+
69
+ .m_5eb7eb50 > svg {
70
+ width: 100%;
71
+ height: 100%;
72
+ }
73
+
74
+ .m_636563ee:focus-visible .m_5eb7eb50 {
75
+ box-shadow: 0 0 0 calc(0.125rem * var(--c-scale)) var(--c-primary-color-filled);
76
+ }
@@ -0,0 +1,77 @@
1
+ @layer cck {.m_ea473028 {
2
+ display: flex;
3
+ }
4
+
5
+ .m_ea473028:where([data-orientation='horizontal']) {
6
+ flex-direction: row;
7
+ }
8
+
9
+ .m_ea473028:where([data-orientation='vertical']) {
10
+ flex-direction: column;
11
+ }
12
+
13
+ .m_ea4612ae {
14
+ flex-grow: 0;
15
+ flex-shrink: 1;
16
+ overflow: auto;
17
+ }
18
+
19
+ .m_636563ee {
20
+ flex: 0 0 var(--splitter-line-size, calc(0.125rem * var(--c-scale)));
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ position: relative;
25
+ touch-action: none;
26
+ outline: none;
27
+ background-color: var(--splitter-handle-color, var(--c-color-body));
28
+ }
29
+
30
+ .m_636563ee:where([data-orientation='horizontal']) {
31
+ cursor: col-resize;
32
+ }
33
+
34
+ .m_636563ee:where([data-orientation='vertical']) {
35
+ cursor: row-resize;
36
+ }
37
+
38
+ .m_5eb7eb50 {
39
+ position: absolute;
40
+ z-index: 1;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ border-radius: calc(62.5rem * var(--c-scale));
45
+ color: var(--c-color-dimmed);
46
+ transition: color 100ms ease;
47
+ }
48
+
49
+ :where([data-c-color-scheme='light']) .m_5eb7eb50 {
50
+ background-color: var(--c-color-white);
51
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-gray-3);
52
+ }
53
+
54
+ :where([data-c-color-scheme='dark']) .m_5eb7eb50 {
55
+ background-color: var(--c-color-dark-6);
56
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-dark-4);
57
+ }
58
+
59
+ .m_5eb7eb50:where([data-orientation='horizontal']) {
60
+ width: calc(0.75rem * var(--c-scale));
61
+ height: calc(3.75rem * var(--c-scale));
62
+ }
63
+
64
+ .m_5eb7eb50:where([data-orientation='vertical']) {
65
+ width: calc(3.75rem * var(--c-scale));
66
+ height: calc(0.75rem * var(--c-scale));
67
+ }
68
+
69
+ .m_5eb7eb50 > svg {
70
+ width: 100%;
71
+ height: 100%;
72
+ }
73
+
74
+ .m_636563ee:focus-visible .m_5eb7eb50 {
75
+ box-shadow: 0 0 0 calc(0.125rem * var(--c-scale)) var(--c-primary-color-filled);
76
+ }
77
+ }
package/styles.css CHANGED
@@ -1130,6 +1130,86 @@ fieldset:disabled .c-active:active {
1130
1130
  grid-template-columns: repeat(auto-fit, minmax(var(--sg-min-col-width), 1fr));
1131
1131
  }
1132
1132
 
1133
+ .m_9b526549 {
1134
+ }
1135
+
1136
+ .m_ea473028 {
1137
+ display: flex;
1138
+ }
1139
+
1140
+ .m_ea473028:where([data-orientation='horizontal']) {
1141
+ flex-direction: row;
1142
+ }
1143
+
1144
+ .m_ea473028:where([data-orientation='vertical']) {
1145
+ flex-direction: column;
1146
+ }
1147
+
1148
+ .m_ea4612ae {
1149
+ flex-grow: 0;
1150
+ flex-shrink: 1;
1151
+ overflow: auto;
1152
+ }
1153
+
1154
+ .m_636563ee {
1155
+ flex: 0 0 var(--splitter-line-size, calc(0.125rem * var(--c-scale)));
1156
+ display: flex;
1157
+ align-items: center;
1158
+ justify-content: center;
1159
+ position: relative;
1160
+ touch-action: none;
1161
+ outline: none;
1162
+ background-color: var(--splitter-handle-color, var(--c-color-body));
1163
+ }
1164
+
1165
+ .m_636563ee:where([data-orientation='horizontal']) {
1166
+ cursor: col-resize;
1167
+ }
1168
+
1169
+ .m_636563ee:where([data-orientation='vertical']) {
1170
+ cursor: row-resize;
1171
+ }
1172
+
1173
+ .m_5eb7eb50 {
1174
+ position: absolute;
1175
+ z-index: 1;
1176
+ display: flex;
1177
+ align-items: center;
1178
+ justify-content: center;
1179
+ border-radius: calc(62.5rem * var(--c-scale));
1180
+ color: var(--c-color-dimmed);
1181
+ transition: color 100ms ease;
1182
+ }
1183
+
1184
+ :where([data-c-color-scheme='light']) .m_5eb7eb50 {
1185
+ background-color: var(--c-color-white);
1186
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-gray-3);
1187
+ }
1188
+
1189
+ :where([data-c-color-scheme='dark']) .m_5eb7eb50 {
1190
+ background-color: var(--c-color-dark-6);
1191
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-dark-4);
1192
+ }
1193
+
1194
+ .m_5eb7eb50:where([data-orientation='horizontal']) {
1195
+ width: calc(0.75rem * var(--c-scale));
1196
+ height: calc(3.75rem * var(--c-scale));
1197
+ }
1198
+
1199
+ .m_5eb7eb50:where([data-orientation='vertical']) {
1200
+ width: calc(3.75rem * var(--c-scale));
1201
+ height: calc(0.75rem * var(--c-scale));
1202
+ }
1203
+
1204
+ .m_5eb7eb50 > svg {
1205
+ width: 100%;
1206
+ height: 100%;
1207
+ }
1208
+
1209
+ .m_636563ee:focus-visible .m_5eb7eb50 {
1210
+ box-shadow: 0 0 0 calc(0.125rem * var(--c-scale)) var(--c-primary-color-filled);
1211
+ }
1212
+
1133
1213
  .m_f6a13507 {
1134
1214
  display: flex;
1135
1215
  flex-direction: column;
package/styles.layer.css CHANGED
@@ -1130,6 +1130,86 @@ fieldset:disabled .c-active:active {
1130
1130
  grid-template-columns: repeat(auto-fit, minmax(var(--sg-min-col-width), 1fr));
1131
1131
  }
1132
1132
 
1133
+ .m_9b526549 {
1134
+ }
1135
+
1136
+ .m_ea473028 {
1137
+ display: flex;
1138
+ }
1139
+
1140
+ .m_ea473028:where([data-orientation='horizontal']) {
1141
+ flex-direction: row;
1142
+ }
1143
+
1144
+ .m_ea473028:where([data-orientation='vertical']) {
1145
+ flex-direction: column;
1146
+ }
1147
+
1148
+ .m_ea4612ae {
1149
+ flex-grow: 0;
1150
+ flex-shrink: 1;
1151
+ overflow: auto;
1152
+ }
1153
+
1154
+ .m_636563ee {
1155
+ flex: 0 0 var(--splitter-line-size, calc(0.125rem * var(--c-scale)));
1156
+ display: flex;
1157
+ align-items: center;
1158
+ justify-content: center;
1159
+ position: relative;
1160
+ touch-action: none;
1161
+ outline: none;
1162
+ background-color: var(--splitter-handle-color, var(--c-color-body));
1163
+ }
1164
+
1165
+ .m_636563ee:where([data-orientation='horizontal']) {
1166
+ cursor: col-resize;
1167
+ }
1168
+
1169
+ .m_636563ee:where([data-orientation='vertical']) {
1170
+ cursor: row-resize;
1171
+ }
1172
+
1173
+ .m_5eb7eb50 {
1174
+ position: absolute;
1175
+ z-index: 1;
1176
+ display: flex;
1177
+ align-items: center;
1178
+ justify-content: center;
1179
+ border-radius: calc(62.5rem * var(--c-scale));
1180
+ color: var(--c-color-dimmed);
1181
+ transition: color 100ms ease;
1182
+ }
1183
+
1184
+ :where([data-c-color-scheme='light']) .m_5eb7eb50 {
1185
+ background-color: var(--c-color-white);
1186
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-gray-3);
1187
+ }
1188
+
1189
+ :where([data-c-color-scheme='dark']) .m_5eb7eb50 {
1190
+ background-color: var(--c-color-dark-6);
1191
+ border: calc(0.0625rem * var(--c-scale)) solid var(--c-color-dark-4);
1192
+ }
1193
+
1194
+ .m_5eb7eb50:where([data-orientation='horizontal']) {
1195
+ width: calc(0.75rem * var(--c-scale));
1196
+ height: calc(3.75rem * var(--c-scale));
1197
+ }
1198
+
1199
+ .m_5eb7eb50:where([data-orientation='vertical']) {
1200
+ width: calc(3.75rem * var(--c-scale));
1201
+ height: calc(0.75rem * var(--c-scale));
1202
+ }
1203
+
1204
+ .m_5eb7eb50 > svg {
1205
+ width: 100%;
1206
+ height: 100%;
1207
+ }
1208
+
1209
+ .m_636563ee:focus-visible .m_5eb7eb50 {
1210
+ box-shadow: 0 0 0 calc(0.125rem * var(--c-scale)) var(--c-primary-color-filled);
1211
+ }
1212
+
1133
1213
  .m_f6a13507 {
1134
1214
  display: flex;
1135
1215
  flex-direction: column;