@cck-ui/core 0.13.0 → 0.14.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 (58) hide show
  1. package/cjs/components/empty-state/empty-state-actions/empty-state-actions.cjs +360 -0
  2. package/cjs/components/empty-state/empty-state-actions/empty-state-actions.cjs.map +1 -0
  3. package/cjs/components/empty-state/empty-state-description/empty-state-description.cjs +360 -0
  4. package/cjs/components/empty-state/empty-state-description/empty-state-description.cjs.map +1 -0
  5. package/cjs/components/empty-state/empty-state-indicator/empty-state-indicator.cjs +362 -0
  6. package/cjs/components/empty-state/empty-state-indicator/empty-state-indicator.cjs.map +1 -0
  7. package/cjs/components/empty-state/empty-state-title/empty-state-title.cjs +365 -0
  8. package/cjs/components/empty-state/empty-state-title/empty-state-title.cjs.map +1 -0
  9. package/cjs/components/empty-state/empty-state.cjs +453 -0
  10. package/cjs/components/empty-state/empty-state.cjs.map +1 -0
  11. package/cjs/components/empty-state/empty-state.context.cjs +17 -0
  12. package/cjs/components/empty-state/empty-state.context.cjs.map +1 -0
  13. package/cjs/components/empty-state/empty-state.module.cjs +14 -0
  14. package/cjs/components/empty-state/empty-state.module.cjs.map +1 -0
  15. package/cjs/components/empty-state/empty-state.utils.cjs +22 -0
  16. package/cjs/components/empty-state/empty-state.utils.cjs.map +1 -0
  17. package/cjs/components/empty-state/index.cjs +35 -0
  18. package/cjs/components/empty-state/index.cjs.map +1 -0
  19. package/cjs/core/box/box.cjs +1 -9
  20. package/cjs/core/box/box.cjs.map +1 -1
  21. package/cjs/index.cjs +39 -28
  22. package/cjs/index.cjs.map +1 -1
  23. package/esm/components/empty-state/empty-state-actions/empty-state-actions.mjs +360 -0
  24. package/esm/components/empty-state/empty-state-actions/empty-state-actions.mjs.map +1 -0
  25. package/esm/components/empty-state/empty-state-description/empty-state-description.mjs +360 -0
  26. package/esm/components/empty-state/empty-state-description/empty-state-description.mjs.map +1 -0
  27. package/esm/components/empty-state/empty-state-indicator/empty-state-indicator.mjs +362 -0
  28. package/esm/components/empty-state/empty-state-indicator/empty-state-indicator.mjs.map +1 -0
  29. package/esm/components/empty-state/empty-state-title/empty-state-title.mjs +365 -0
  30. package/esm/components/empty-state/empty-state-title/empty-state-title.mjs.map +1 -0
  31. package/esm/components/empty-state/empty-state.context.mjs +16 -0
  32. package/esm/components/empty-state/empty-state.context.mjs.map +1 -0
  33. package/esm/components/empty-state/empty-state.mjs +453 -0
  34. package/esm/components/empty-state/empty-state.mjs.map +1 -0
  35. package/esm/components/empty-state/empty-state.module.mjs +14 -0
  36. package/esm/components/empty-state/empty-state.module.mjs.map +1 -0
  37. package/esm/components/empty-state/empty-state.utils.mjs +23 -0
  38. package/esm/components/empty-state/empty-state.utils.mjs.map +1 -0
  39. package/esm/components/empty-state/index.mjs +30 -0
  40. package/esm/components/empty-state/index.mjs.map +1 -0
  41. package/esm/core/box/box.mjs +1 -9
  42. package/esm/core/box/box.mjs.map +1 -1
  43. package/esm/index.mjs +7 -1
  44. package/esm/index.mjs.map +1 -1
  45. package/lib/components/empty-state/empty-state-actions/empty-state-actions.types.d.ts +10 -0
  46. package/lib/components/empty-state/empty-state-description/empty-state-description.types.d.ts +10 -0
  47. package/lib/components/empty-state/empty-state-indicator/empty-state-indicator.types.d.ts +10 -0
  48. package/lib/components/empty-state/empty-state-title/empty-state-title.types.d.ts +14 -0
  49. package/lib/components/empty-state/empty-state.context.d.ts +10 -0
  50. package/lib/components/empty-state/empty-state.types.d.ts +44 -0
  51. package/lib/components/empty-state/empty-state.utils.d.ts +8 -0
  52. package/lib/components/empty-state/index.d.ts +23 -0
  53. package/lib/components/index.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/styles/empty-state.css +121 -0
  56. package/styles/empty-state.layer.css +122 -0
  57. package/styles.css +122 -0
  58. package/styles.layer.css +122 -0
@@ -0,0 +1,10 @@
1
+ import { BoxProps, CompoundStylesApiProps, ElementProps, Factory } from '../../../core';
2
+ export type EmptyStateActionsStylesNames = 'actions';
3
+ export interface EmptyStateActionsProps extends BoxProps, CompoundStylesApiProps<EmptyStateActionsFactory>, ElementProps<'div'> {
4
+ }
5
+ export type EmptyStateActionsFactory = Factory<{
6
+ props: EmptyStateActionsProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: EmptyStateActionsStylesNames;
9
+ compound: true;
10
+ }>;
@@ -0,0 +1,10 @@
1
+ import { BoxProps, CompoundStylesApiProps, ElementProps, Factory } from '../../../core';
2
+ export type EmptyStateDescriptionStylesNames = 'description';
3
+ export interface EmptyStateDescriptionProps extends BoxProps, CompoundStylesApiProps<EmptyStateDescriptionFactory>, ElementProps<'div'> {
4
+ }
5
+ export type EmptyStateDescriptionFactory = Factory<{
6
+ props: EmptyStateDescriptionProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: EmptyStateDescriptionStylesNames;
9
+ compound: true;
10
+ }>;
@@ -0,0 +1,10 @@
1
+ import { BoxProps, CompoundStylesApiProps, ElementProps, Factory } from '../../../core';
2
+ export type EmptyStateIndicatorStylesNames = 'indicator';
3
+ export interface EmptyStateIndicatorProps extends BoxProps, CompoundStylesApiProps<EmptyStateIndicatorFactory>, ElementProps<'div'> {
4
+ }
5
+ export type EmptyStateIndicatorFactory = Factory<{
6
+ props: EmptyStateIndicatorProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: EmptyStateIndicatorStylesNames;
9
+ compound: true;
10
+ }>;
@@ -0,0 +1,14 @@
1
+ import { BoxProps, CompoundStylesApiProps, ElementProps, Factory } from '../../../core';
2
+ export type EmptyStateTitleStylesNames = 'title';
3
+ export interface EmptyStateTitleProps extends BoxProps, CompoundStylesApiProps<EmptyStateTitleFactory>, ElementProps<'div'> {
4
+ /**
5
+ * @description Heading order, renders the title as `h1`-`h6` element. By default, the title is rendered as a `div` without semantic heading level
6
+ */
7
+ order?: 1 | 2 | 3 | 4 | 5 | 6;
8
+ }
9
+ export type EmptyStateTitleFactory = Factory<{
10
+ props: EmptyStateTitleProps;
11
+ ref: HTMLDivElement;
12
+ stylesNames: EmptyStateTitleStylesNames;
13
+ compound: true;
14
+ }>;
@@ -0,0 +1,10 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { GetStylesApi } from '../../core';
3
+ import { EmptyStateFactory } from './empty-state.types';
4
+ interface EmptyStateContextValue {
5
+ getStyles: GetStylesApi<EmptyStateFactory>;
6
+ withIndicatorBackground: ComputedRef<boolean>;
7
+ }
8
+ export declare function provideEmptyStateContext(value: EmptyStateContextValue): void;
9
+ export declare function useEmptyStateContext(): EmptyStateContextValue;
10
+ export {};
@@ -0,0 +1,44 @@
1
+ import { BoxProps, CColor, CSize, ElementProps, Factory, StylesApiProps } from '../../core';
2
+ import { EmptyStateActionsStylesNames } from './empty-state-actions/empty-state-actions.types';
3
+ import { EmptyStateDescriptionStylesNames } from './empty-state-description/empty-state-description.types';
4
+ import { EmptyStateIndicatorStylesNames } from './empty-state-indicator/empty-state-indicator.types';
5
+ import { EmptyStateTitleStylesNames } from './empty-state-title/empty-state-title.types';
6
+ export type EmptyStateStylesNames = 'root' | 'body' | EmptyStateActionsStylesNames | EmptyStateDescriptionStylesNames | EmptyStateIndicatorStylesNames | EmptyStateTitleStylesNames;
7
+ export type EmptyStateVariant = 'filled' | 'light';
8
+ export type EmptyStateCssVariables = {
9
+ root: '--empty-state-indicator-size' | '--empty-state-gap' | '--empty-state-title-fz' | '--empty-state-description-fz' | '--empty-state-indicator-bg' | '--empty-state-indicator-color';
10
+ };
11
+ export interface EmptyStateProps extends BoxProps, StylesApiProps<EmptyStateFactory>, ElementProps<'div', 'title'> {
12
+ /**
13
+ * @description Controls indicator size, gap between elements and font sizes of title and description
14
+ * @default 'md'
15
+ */
16
+ size?: CSize;
17
+ /**
18
+ * @description Content alignment, `center` stacks the content in a centered column, `left`/`right` place the indicator on the side with the content next to it
19
+ * @default 'center'
20
+ */
21
+ align?: 'left' | 'center' | 'right';
22
+ /**
23
+ * @description Controls the indicator appearance. `filled` and `light` display a colored circular background behind the icon. If not set, the icon is displayed with dimmed color
24
+ */
25
+ variant?: EmptyStateVariant;
26
+ /**
27
+ * @description Key of `theme.colors` or any valid CSS color, used by `filled` and `light` variants
28
+ * @default theme.primaryColor
29
+ */
30
+ color?: CColor;
31
+ /**
32
+ * @description If set, a neutral circular background is displayed behind the indicator. Setting `variant` always displays a colored background regardless of this prop
33
+ * @default false
34
+ */
35
+ withIndicatorBackground?: boolean;
36
+ }
37
+ export type EmptyStateFactory = Factory<{
38
+ props: EmptyStateProps;
39
+ ref: HTMLDivElement;
40
+ stylesNames: EmptyStateStylesNames;
41
+ vars: EmptyStateCssVariables;
42
+ variant: EmptyStateVariant;
43
+ staticComponents: {};
44
+ }>;
@@ -0,0 +1,8 @@
1
+ export declare const varsResolver: import("../..").VarsResolver<{
2
+ props: import("./empty-state.types").EmptyStateProps;
3
+ ref: HTMLDivElement;
4
+ stylesNames: import("./empty-state.types").EmptyStateStylesNames;
5
+ vars: import("./empty-state.types").EmptyStateCssVariables;
6
+ variant: import("./empty-state.types").EmptyStateVariant;
7
+ staticComponents: {};
8
+ }>;
@@ -0,0 +1,23 @@
1
+ import EmptyStateActions from './empty-state-actions/empty-state-actions.vue';
2
+ import EmptyStateDescription from './empty-state-description/empty-state-description.vue';
3
+ import EmptyStateIndicator from './empty-state-indicator/empty-state-indicator.vue';
4
+ import EmptyStateTitle from './empty-state-title/empty-state-title.vue';
5
+ import EmptyState from './empty-state.vue';
6
+ import classes from './empty-state.module.css';
7
+ import { SFCWithInstallAndClasses } from '../../core';
8
+ export declare const CEmptyStateActions: SFCWithInstallAndClasses<typeof EmptyStateActions, typeof classes>;
9
+ export declare const CEmptyStateDescription: SFCWithInstallAndClasses<typeof EmptyStateDescription, typeof classes>;
10
+ export declare const CEmptyStateIndicator: SFCWithInstallAndClasses<typeof EmptyStateIndicator, typeof classes>;
11
+ export declare const CEmptyStateTitle: SFCWithInstallAndClasses<typeof EmptyStateTitle, typeof classes>;
12
+ export declare const CEmptyState: SFCWithInstallAndClasses<typeof EmptyState, typeof classes> & {
13
+ Actions: typeof CEmptyStateActions;
14
+ Description: typeof CEmptyStateDescription;
15
+ Indicator: typeof CEmptyStateIndicator;
16
+ Title: typeof CEmptyStateTitle;
17
+ };
18
+ export default CEmptyState;
19
+ export * from './empty-state-actions/empty-state-actions.types';
20
+ export * from './empty-state-description/empty-state-description.types';
21
+ export * from './empty-state-indicator/empty-state-indicator.types';
22
+ export * from './empty-state-title/empty-state-title.types';
23
+ export * from './empty-state.types';
@@ -4,6 +4,7 @@ export * from './button';
4
4
  export * from './center';
5
5
  export * from './close-button';
6
6
  export * from './container';
7
+ export * from './empty-state';
7
8
  export * from './flex';
8
9
  export * from './grid';
9
10
  export * from './group';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cck-ui/core",
3
- "version": "0.13.0",
3
+ "version": "0.14.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,121 @@
1
+ .m_6438951e {
2
+ --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
3
+ --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));
4
+ --empty-state-indicator-size-md: calc(3rem * var(--c-scale));
5
+ --empty-state-indicator-size-lg: calc(3.75rem * var(--c-scale));
6
+ --empty-state-indicator-size-xl: calc(4.5rem * var(--c-scale));
7
+
8
+ --empty-state-gap-xs: calc(0.375rem * var(--c-scale));
9
+ --empty-state-gap-sm: calc(0.5rem * var(--c-scale));
10
+ --empty-state-gap-md: calc(0.625rem * var(--c-scale));
11
+ --empty-state-gap-lg: calc(0.75rem * var(--c-scale));
12
+ --empty-state-gap-xl: calc(1rem * var(--c-scale));
13
+
14
+ --empty-state-title-fz-xs: var(--c-font-size-sm);
15
+ --empty-state-title-fz-sm: var(--c-font-size-md);
16
+ --empty-state-title-fz-md: var(--c-font-size-lg);
17
+ --empty-state-title-fz-lg: var(--c-font-size-xl);
18
+ --empty-state-title-fz-xl: calc(var(--c-font-size-xl) * 1.2);
19
+
20
+ --empty-state-description-fz-xs: var(--c-font-size-xs);
21
+ --empty-state-description-fz-sm: var(--c-font-size-sm);
22
+ --empty-state-description-fz-md: var(--c-font-size-sm);
23
+ --empty-state-description-fz-lg: var(--c-font-size-md);
24
+ --empty-state-description-fz-xl: var(--c-font-size-lg);
25
+
26
+ display: flex;
27
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
28
+ }
29
+
30
+ .m_6438951e[data-align='center'] {
31
+ flex-direction: column;
32
+ align-items: center;
33
+ }
34
+
35
+ .m_6438951e[data-align='left'] {
36
+ flex-direction: row;
37
+ align-items: flex-start;
38
+ }
39
+
40
+ .m_6438951e[data-align='right'] {
41
+ flex-direction: row-reverse;
42
+ align-items: flex-start;
43
+ }
44
+
45
+ .m_64314dde {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
49
+ min-width: 0;
50
+ }
51
+
52
+ [data-align='center'] > .m_64314dde {
53
+ align-items: center;
54
+ text-align: center;
55
+ }
56
+
57
+ [data-align='left'] > .m_64314dde {
58
+ align-items: flex-start;
59
+ text-align: left;
60
+ }
61
+
62
+ [data-align='right'] > .m_64314dde {
63
+ align-items: flex-end;
64
+ text-align: right;
65
+ }
66
+
67
+ .m_2bbef53 {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ flex-shrink: 0;
72
+ color: var(--emtpy-state-indicator-color, var(--c-color-dimmed));
73
+ font-size: var(--empty-state-indicator-size, var(--empty-state-indicator-size-md));
74
+ line-height: 1;
75
+ }
76
+
77
+ .m_2bbef53 > svg {
78
+ width: 1em;
79
+ height: 1em;
80
+ }
81
+
82
+ [data-c-color-scheme='light'] .m_2bbef53[data-with-background] {
83
+ --empty-state-indicator-default-bg: var(--c-color-gray-1);
84
+ }
85
+
86
+ [data-c-color-scheme='dark'] .m_2bbef53[data-with-background] {
87
+ --empty-state-indicator-default-bg: var(--c-color-dark-6);
88
+ }
89
+
90
+ .m_2bbef53[data-with-background] {
91
+
92
+ width: 2em;
93
+ height: 2em;
94
+ border-radius: calc(62.5rem * var(--c-scale));
95
+ background-color: var(--empty-state-indicator-bg, var(--empty-state-indicator-default-bg));
96
+ }
97
+
98
+ .m_22f3959c {
99
+ font-size: var(--empty-state-title-fz, var(--empty-state-title-fz-md));
100
+ font-weight: 600;
101
+ line-height: 1.3;
102
+ color: var(--c-color-bright);
103
+ margin: 0;
104
+ text-wrap: balance;
105
+ }
106
+
107
+ .m_2c1a7440 {
108
+ font-size: var(--empty-state-description-fz, var(--empty-state-description-fz-md));
109
+ line-height: 1.55;
110
+ color: var(--c-color-dimmed);
111
+ margin: 0;
112
+ max-width: 32rem;
113
+ text-wrap: pretty;
114
+ }
115
+
116
+ .m_3d0ffb41 {
117
+ display: flex;
118
+ align-items: center;
119
+ flex-wrap: wrap;
120
+ gap: var(--c-spacing-sm);
121
+ }
@@ -0,0 +1,122 @@
1
+ @layer cck {.m_6438951e {
2
+ --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
3
+ --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));
4
+ --empty-state-indicator-size-md: calc(3rem * var(--c-scale));
5
+ --empty-state-indicator-size-lg: calc(3.75rem * var(--c-scale));
6
+ --empty-state-indicator-size-xl: calc(4.5rem * var(--c-scale));
7
+
8
+ --empty-state-gap-xs: calc(0.375rem * var(--c-scale));
9
+ --empty-state-gap-sm: calc(0.5rem * var(--c-scale));
10
+ --empty-state-gap-md: calc(0.625rem * var(--c-scale));
11
+ --empty-state-gap-lg: calc(0.75rem * var(--c-scale));
12
+ --empty-state-gap-xl: calc(1rem * var(--c-scale));
13
+
14
+ --empty-state-title-fz-xs: var(--c-font-size-sm);
15
+ --empty-state-title-fz-sm: var(--c-font-size-md);
16
+ --empty-state-title-fz-md: var(--c-font-size-lg);
17
+ --empty-state-title-fz-lg: var(--c-font-size-xl);
18
+ --empty-state-title-fz-xl: calc(var(--c-font-size-xl) * 1.2);
19
+
20
+ --empty-state-description-fz-xs: var(--c-font-size-xs);
21
+ --empty-state-description-fz-sm: var(--c-font-size-sm);
22
+ --empty-state-description-fz-md: var(--c-font-size-sm);
23
+ --empty-state-description-fz-lg: var(--c-font-size-md);
24
+ --empty-state-description-fz-xl: var(--c-font-size-lg);
25
+
26
+ display: flex;
27
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
28
+ }
29
+
30
+ .m_6438951e[data-align='center'] {
31
+ flex-direction: column;
32
+ align-items: center;
33
+ }
34
+
35
+ .m_6438951e[data-align='left'] {
36
+ flex-direction: row;
37
+ align-items: flex-start;
38
+ }
39
+
40
+ .m_6438951e[data-align='right'] {
41
+ flex-direction: row-reverse;
42
+ align-items: flex-start;
43
+ }
44
+
45
+ .m_64314dde {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
49
+ min-width: 0;
50
+ }
51
+
52
+ [data-align='center'] > .m_64314dde {
53
+ align-items: center;
54
+ text-align: center;
55
+ }
56
+
57
+ [data-align='left'] > .m_64314dde {
58
+ align-items: flex-start;
59
+ text-align: left;
60
+ }
61
+
62
+ [data-align='right'] > .m_64314dde {
63
+ align-items: flex-end;
64
+ text-align: right;
65
+ }
66
+
67
+ .m_2bbef53 {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ flex-shrink: 0;
72
+ color: var(--emtpy-state-indicator-color, var(--c-color-dimmed));
73
+ font-size: var(--empty-state-indicator-size, var(--empty-state-indicator-size-md));
74
+ line-height: 1;
75
+ }
76
+
77
+ .m_2bbef53 > svg {
78
+ width: 1em;
79
+ height: 1em;
80
+ }
81
+
82
+ [data-c-color-scheme='light'] .m_2bbef53[data-with-background] {
83
+ --empty-state-indicator-default-bg: var(--c-color-gray-1);
84
+ }
85
+
86
+ [data-c-color-scheme='dark'] .m_2bbef53[data-with-background] {
87
+ --empty-state-indicator-default-bg: var(--c-color-dark-6);
88
+ }
89
+
90
+ .m_2bbef53[data-with-background] {
91
+
92
+ width: 2em;
93
+ height: 2em;
94
+ border-radius: calc(62.5rem * var(--c-scale));
95
+ background-color: var(--empty-state-indicator-bg, var(--empty-state-indicator-default-bg));
96
+ }
97
+
98
+ .m_22f3959c {
99
+ font-size: var(--empty-state-title-fz, var(--empty-state-title-fz-md));
100
+ font-weight: 600;
101
+ line-height: 1.3;
102
+ color: var(--c-color-bright);
103
+ margin: 0;
104
+ text-wrap: balance;
105
+ }
106
+
107
+ .m_2c1a7440 {
108
+ font-size: var(--empty-state-description-fz, var(--empty-state-description-fz-md));
109
+ line-height: 1.55;
110
+ color: var(--c-color-dimmed);
111
+ margin: 0;
112
+ max-width: 32rem;
113
+ text-wrap: pretty;
114
+ }
115
+
116
+ .m_3d0ffb41 {
117
+ display: flex;
118
+ align-items: center;
119
+ flex-wrap: wrap;
120
+ gap: var(--c-spacing-sm);
121
+ }
122
+ }
package/styles.css CHANGED
@@ -1086,6 +1086,128 @@ fieldset:disabled .c-active:active {
1086
1086
  margin-inline: auto;
1087
1087
  }
1088
1088
 
1089
+ .m_6438951e {
1090
+ --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
1091
+ --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));
1092
+ --empty-state-indicator-size-md: calc(3rem * var(--c-scale));
1093
+ --empty-state-indicator-size-lg: calc(3.75rem * var(--c-scale));
1094
+ --empty-state-indicator-size-xl: calc(4.5rem * var(--c-scale));
1095
+
1096
+ --empty-state-gap-xs: calc(0.375rem * var(--c-scale));
1097
+ --empty-state-gap-sm: calc(0.5rem * var(--c-scale));
1098
+ --empty-state-gap-md: calc(0.625rem * var(--c-scale));
1099
+ --empty-state-gap-lg: calc(0.75rem * var(--c-scale));
1100
+ --empty-state-gap-xl: calc(1rem * var(--c-scale));
1101
+
1102
+ --empty-state-title-fz-xs: var(--c-font-size-sm);
1103
+ --empty-state-title-fz-sm: var(--c-font-size-md);
1104
+ --empty-state-title-fz-md: var(--c-font-size-lg);
1105
+ --empty-state-title-fz-lg: var(--c-font-size-xl);
1106
+ --empty-state-title-fz-xl: calc(var(--c-font-size-xl) * 1.2);
1107
+
1108
+ --empty-state-description-fz-xs: var(--c-font-size-xs);
1109
+ --empty-state-description-fz-sm: var(--c-font-size-sm);
1110
+ --empty-state-description-fz-md: var(--c-font-size-sm);
1111
+ --empty-state-description-fz-lg: var(--c-font-size-md);
1112
+ --empty-state-description-fz-xl: var(--c-font-size-lg);
1113
+
1114
+ display: flex;
1115
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
1116
+ }
1117
+
1118
+ .m_6438951e[data-align='center'] {
1119
+ flex-direction: column;
1120
+ align-items: center;
1121
+ }
1122
+
1123
+ .m_6438951e[data-align='left'] {
1124
+ flex-direction: row;
1125
+ align-items: flex-start;
1126
+ }
1127
+
1128
+ .m_6438951e[data-align='right'] {
1129
+ flex-direction: row-reverse;
1130
+ align-items: flex-start;
1131
+ }
1132
+
1133
+ .m_64314dde {
1134
+ display: flex;
1135
+ flex-direction: column;
1136
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
1137
+ min-width: 0;
1138
+ }
1139
+
1140
+ [data-align='center'] > .m_64314dde {
1141
+ align-items: center;
1142
+ text-align: center;
1143
+ }
1144
+
1145
+ [data-align='left'] > .m_64314dde {
1146
+ align-items: flex-start;
1147
+ text-align: left;
1148
+ }
1149
+
1150
+ [data-align='right'] > .m_64314dde {
1151
+ align-items: flex-end;
1152
+ text-align: right;
1153
+ }
1154
+
1155
+ .m_2bbef53 {
1156
+ display: flex;
1157
+ align-items: center;
1158
+ justify-content: center;
1159
+ flex-shrink: 0;
1160
+ color: var(--emtpy-state-indicator-color, var(--c-color-dimmed));
1161
+ font-size: var(--empty-state-indicator-size, var(--empty-state-indicator-size-md));
1162
+ line-height: 1;
1163
+ }
1164
+
1165
+ .m_2bbef53 > svg {
1166
+ width: 1em;
1167
+ height: 1em;
1168
+ }
1169
+
1170
+ [data-c-color-scheme='light'] .m_2bbef53[data-with-background] {
1171
+ --empty-state-indicator-default-bg: var(--c-color-gray-1);
1172
+ }
1173
+
1174
+ [data-c-color-scheme='dark'] .m_2bbef53[data-with-background] {
1175
+ --empty-state-indicator-default-bg: var(--c-color-dark-6);
1176
+ }
1177
+
1178
+ .m_2bbef53[data-with-background] {
1179
+
1180
+ width: 2em;
1181
+ height: 2em;
1182
+ border-radius: calc(62.5rem * var(--c-scale));
1183
+ background-color: var(--empty-state-indicator-bg, var(--empty-state-indicator-default-bg));
1184
+ }
1185
+
1186
+ .m_22f3959c {
1187
+ font-size: var(--empty-state-title-fz, var(--empty-state-title-fz-md));
1188
+ font-weight: 600;
1189
+ line-height: 1.3;
1190
+ color: var(--c-color-bright);
1191
+ margin: 0;
1192
+ text-wrap: balance;
1193
+ }
1194
+
1195
+ .m_2c1a7440 {
1196
+ font-size: var(--empty-state-description-fz, var(--empty-state-description-fz-md));
1197
+ line-height: 1.55;
1198
+ color: var(--c-color-dimmed);
1199
+ margin: 0;
1200
+ max-width: 32rem;
1201
+ text-wrap: pretty;
1202
+ }
1203
+
1204
+ .m_3d0ffb41 {
1205
+ display: flex;
1206
+ align-items: center;
1207
+ flex-wrap: wrap;
1208
+ gap: var(--c-spacing-sm);
1209
+ }
1210
+
1089
1211
  .m_148db636 {
1090
1212
  display: flex;
1091
1213
  }
package/styles.layer.css CHANGED
@@ -1086,6 +1086,128 @@ fieldset:disabled .c-active:active {
1086
1086
  margin-inline: auto;
1087
1087
  }
1088
1088
 
1089
+ .m_6438951e {
1090
+ --empty-state-indicator-size-xs: calc(2rem * var(--c-scale));
1091
+ --empty-state-indicator-size-sm: calc(2.5rem * var(--c-scale));
1092
+ --empty-state-indicator-size-md: calc(3rem * var(--c-scale));
1093
+ --empty-state-indicator-size-lg: calc(3.75rem * var(--c-scale));
1094
+ --empty-state-indicator-size-xl: calc(4.5rem * var(--c-scale));
1095
+
1096
+ --empty-state-gap-xs: calc(0.375rem * var(--c-scale));
1097
+ --empty-state-gap-sm: calc(0.5rem * var(--c-scale));
1098
+ --empty-state-gap-md: calc(0.625rem * var(--c-scale));
1099
+ --empty-state-gap-lg: calc(0.75rem * var(--c-scale));
1100
+ --empty-state-gap-xl: calc(1rem * var(--c-scale));
1101
+
1102
+ --empty-state-title-fz-xs: var(--c-font-size-sm);
1103
+ --empty-state-title-fz-sm: var(--c-font-size-md);
1104
+ --empty-state-title-fz-md: var(--c-font-size-lg);
1105
+ --empty-state-title-fz-lg: var(--c-font-size-xl);
1106
+ --empty-state-title-fz-xl: calc(var(--c-font-size-xl) * 1.2);
1107
+
1108
+ --empty-state-description-fz-xs: var(--c-font-size-xs);
1109
+ --empty-state-description-fz-sm: var(--c-font-size-sm);
1110
+ --empty-state-description-fz-md: var(--c-font-size-sm);
1111
+ --empty-state-description-fz-lg: var(--c-font-size-md);
1112
+ --empty-state-description-fz-xl: var(--c-font-size-lg);
1113
+
1114
+ display: flex;
1115
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
1116
+ }
1117
+
1118
+ .m_6438951e[data-align='center'] {
1119
+ flex-direction: column;
1120
+ align-items: center;
1121
+ }
1122
+
1123
+ .m_6438951e[data-align='left'] {
1124
+ flex-direction: row;
1125
+ align-items: flex-start;
1126
+ }
1127
+
1128
+ .m_6438951e[data-align='right'] {
1129
+ flex-direction: row-reverse;
1130
+ align-items: flex-start;
1131
+ }
1132
+
1133
+ .m_64314dde {
1134
+ display: flex;
1135
+ flex-direction: column;
1136
+ gap: var(--empty-state-gap, var(--empty-state-gap-md));
1137
+ min-width: 0;
1138
+ }
1139
+
1140
+ [data-align='center'] > .m_64314dde {
1141
+ align-items: center;
1142
+ text-align: center;
1143
+ }
1144
+
1145
+ [data-align='left'] > .m_64314dde {
1146
+ align-items: flex-start;
1147
+ text-align: left;
1148
+ }
1149
+
1150
+ [data-align='right'] > .m_64314dde {
1151
+ align-items: flex-end;
1152
+ text-align: right;
1153
+ }
1154
+
1155
+ .m_2bbef53 {
1156
+ display: flex;
1157
+ align-items: center;
1158
+ justify-content: center;
1159
+ flex-shrink: 0;
1160
+ color: var(--emtpy-state-indicator-color, var(--c-color-dimmed));
1161
+ font-size: var(--empty-state-indicator-size, var(--empty-state-indicator-size-md));
1162
+ line-height: 1;
1163
+ }
1164
+
1165
+ .m_2bbef53 > svg {
1166
+ width: 1em;
1167
+ height: 1em;
1168
+ }
1169
+
1170
+ [data-c-color-scheme='light'] .m_2bbef53[data-with-background] {
1171
+ --empty-state-indicator-default-bg: var(--c-color-gray-1);
1172
+ }
1173
+
1174
+ [data-c-color-scheme='dark'] .m_2bbef53[data-with-background] {
1175
+ --empty-state-indicator-default-bg: var(--c-color-dark-6);
1176
+ }
1177
+
1178
+ .m_2bbef53[data-with-background] {
1179
+
1180
+ width: 2em;
1181
+ height: 2em;
1182
+ border-radius: calc(62.5rem * var(--c-scale));
1183
+ background-color: var(--empty-state-indicator-bg, var(--empty-state-indicator-default-bg));
1184
+ }
1185
+
1186
+ .m_22f3959c {
1187
+ font-size: var(--empty-state-title-fz, var(--empty-state-title-fz-md));
1188
+ font-weight: 600;
1189
+ line-height: 1.3;
1190
+ color: var(--c-color-bright);
1191
+ margin: 0;
1192
+ text-wrap: balance;
1193
+ }
1194
+
1195
+ .m_2c1a7440 {
1196
+ font-size: var(--empty-state-description-fz, var(--empty-state-description-fz-md));
1197
+ line-height: 1.55;
1198
+ color: var(--c-color-dimmed);
1199
+ margin: 0;
1200
+ max-width: 32rem;
1201
+ text-wrap: pretty;
1202
+ }
1203
+
1204
+ .m_3d0ffb41 {
1205
+ display: flex;
1206
+ align-items: center;
1207
+ flex-wrap: wrap;
1208
+ gap: var(--c-spacing-sm);
1209
+ }
1210
+
1089
1211
  .m_148db636 {
1090
1212
  display: flex;
1091
1213
  }