@cck-ui/core 0.13.1 → 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 (56) 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.map +1 -1
  20. package/cjs/index.cjs +39 -28
  21. package/cjs/index.cjs.map +1 -1
  22. package/esm/components/empty-state/empty-state-actions/empty-state-actions.mjs +360 -0
  23. package/esm/components/empty-state/empty-state-actions/empty-state-actions.mjs.map +1 -0
  24. package/esm/components/empty-state/empty-state-description/empty-state-description.mjs +360 -0
  25. package/esm/components/empty-state/empty-state-description/empty-state-description.mjs.map +1 -0
  26. package/esm/components/empty-state/empty-state-indicator/empty-state-indicator.mjs +362 -0
  27. package/esm/components/empty-state/empty-state-indicator/empty-state-indicator.mjs.map +1 -0
  28. package/esm/components/empty-state/empty-state-title/empty-state-title.mjs +365 -0
  29. package/esm/components/empty-state/empty-state-title/empty-state-title.mjs.map +1 -0
  30. package/esm/components/empty-state/empty-state.context.mjs +16 -0
  31. package/esm/components/empty-state/empty-state.context.mjs.map +1 -0
  32. package/esm/components/empty-state/empty-state.mjs +453 -0
  33. package/esm/components/empty-state/empty-state.mjs.map +1 -0
  34. package/esm/components/empty-state/empty-state.module.mjs +14 -0
  35. package/esm/components/empty-state/empty-state.module.mjs.map +1 -0
  36. package/esm/components/empty-state/empty-state.utils.mjs +23 -0
  37. package/esm/components/empty-state/empty-state.utils.mjs.map +1 -0
  38. package/esm/components/empty-state/index.mjs +30 -0
  39. package/esm/components/empty-state/index.mjs.map +1 -0
  40. package/esm/core/box/box.mjs.map +1 -1
  41. package/esm/index.mjs +7 -1
  42. package/esm/index.mjs.map +1 -1
  43. package/lib/components/empty-state/empty-state-actions/empty-state-actions.types.d.ts +10 -0
  44. package/lib/components/empty-state/empty-state-description/empty-state-description.types.d.ts +10 -0
  45. package/lib/components/empty-state/empty-state-indicator/empty-state-indicator.types.d.ts +10 -0
  46. package/lib/components/empty-state/empty-state-title/empty-state-title.types.d.ts +14 -0
  47. package/lib/components/empty-state/empty-state.context.d.ts +10 -0
  48. package/lib/components/empty-state/empty-state.types.d.ts +44 -0
  49. package/lib/components/empty-state/empty-state.utils.d.ts +8 -0
  50. package/lib/components/empty-state/index.d.ts +23 -0
  51. package/lib/components/index.d.ts +1 -0
  52. package/package.json +1 -1
  53. package/styles/empty-state.css +121 -0
  54. package/styles/empty-state.layer.css +122 -0
  55. package/styles.css +122 -0
  56. package/styles.layer.css +122 -0
@@ -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.1",
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
  }