@digiko-npm/designsystem 0.1.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 (47) hide show
  1. package/README.md +89 -0
  2. package/dist/designsystem.css +4642 -0
  3. package/dist/designsystem.js +67 -0
  4. package/package.json +32 -0
  5. package/src/base/index.css +2 -0
  6. package/src/base/reset.css +120 -0
  7. package/src/base/typography.css +163 -0
  8. package/src/components/accordion.css +150 -0
  9. package/src/components/alert.css +150 -0
  10. package/src/components/avatar.css +109 -0
  11. package/src/components/badge.css +80 -0
  12. package/src/components/breadcrumb.css +95 -0
  13. package/src/components/button.css +168 -0
  14. package/src/components/card.css +121 -0
  15. package/src/components/command.css +185 -0
  16. package/src/components/divider.css +66 -0
  17. package/src/components/drawer.css +209 -0
  18. package/src/components/dropdown.css +139 -0
  19. package/src/components/empty-state.css +69 -0
  20. package/src/components/index.css +35 -0
  21. package/src/components/input.css +116 -0
  22. package/src/components/kbd.css +55 -0
  23. package/src/components/modal.css +103 -0
  24. package/src/components/nav.css +153 -0
  25. package/src/components/pagination.css +166 -0
  26. package/src/components/popover.css +112 -0
  27. package/src/components/progress.css +214 -0
  28. package/src/components/skeleton.css +96 -0
  29. package/src/components/slider.css +125 -0
  30. package/src/components/table.css +48 -0
  31. package/src/components/tabs.css +163 -0
  32. package/src/components/tag.css +159 -0
  33. package/src/components/timeline.css +131 -0
  34. package/src/components/toast.css +70 -0
  35. package/src/components/toggle.css +135 -0
  36. package/src/components/tooltip.css +161 -0
  37. package/src/index.css +19 -0
  38. package/src/js/theme.js +67 -0
  39. package/src/tokens/colors.css +180 -0
  40. package/src/tokens/index.css +11 -0
  41. package/src/tokens/shadows.css +26 -0
  42. package/src/tokens/spacing.css +53 -0
  43. package/src/tokens/typography.css +51 -0
  44. package/src/utilities/index.css +3 -0
  45. package/src/utilities/layout.css +134 -0
  46. package/src/utilities/spacing.css +75 -0
  47. package/src/utilities/text.css +221 -0
@@ -0,0 +1,185 @@
1
+ /* ==========================================================================
2
+ * Command
3
+ * ==========================================================================
4
+ *
5
+ * Command palette / search overlay following the Cmd+K pattern. Provides a
6
+ * full-screen overlay with a centered search dialog, grouped results,
7
+ * keyboard-navigable items, and a footer with shortcut hints.
8
+ *
9
+ * Usage:
10
+ * <div class="ds-command ds-command--open">
11
+ * <div class="ds-command__content">
12
+ * <div class="ds-command__input-wrapper">
13
+ * <span class="ds-command__input-icon">...</span>
14
+ * <input class="ds-command__input" placeholder="Search..." />
15
+ * </div>
16
+ * <div class="ds-command__list">
17
+ * <div class="ds-command__group">
18
+ * <div class="ds-command__group-heading">Results</div>
19
+ * <div class="ds-command__item ds-command__item--active">
20
+ * <span class="ds-command__item-icon">...</span>
21
+ * <span class="ds-command__item-label">Item</span>
22
+ * <span class="ds-command__item-shortcut">Ctrl+N</span>
23
+ * </div>
24
+ * </div>
25
+ * <div class="ds-command__empty">No results found.</div>
26
+ * </div>
27
+ * <div class="ds-command__footer">...</div>
28
+ * </div>
29
+ * </div>
30
+ *
31
+ * Modifiers:
32
+ * .ds-command--open — Shows the command palette
33
+ * ========================================================================== */
34
+
35
+ /* Overlay */
36
+ .ds-command {
37
+ position: fixed;
38
+ inset: 0;
39
+ z-index: var(--ds-z-modal);
40
+ display: flex;
41
+ align-items: flex-start;
42
+ justify-content: center;
43
+ padding-top: 20vh;
44
+ background-color: var(--ds-color-overlay);
45
+ opacity: 0;
46
+ visibility: hidden;
47
+ transition:
48
+ opacity var(--ds-duration-fast) var(--ds-ease),
49
+ visibility var(--ds-duration-fast) var(--ds-ease);
50
+ }
51
+
52
+ /* Open state */
53
+ .ds-command--open {
54
+ opacity: 1;
55
+ visibility: visible;
56
+ }
57
+
58
+ /* Content panel */
59
+ .ds-command__content {
60
+ background-color: var(--ds-color-surface);
61
+ border: 1px solid var(--ds-color-border);
62
+ border-radius: var(--ds-radius-xl);
63
+ box-shadow: var(--ds-shadow-lg);
64
+ width: 100%;
65
+ max-width: 32rem;
66
+ overflow: hidden;
67
+ transform: scale(0.96) translateY(-8px);
68
+ transition:
69
+ transform var(--ds-duration-fast) var(--ds-ease-out-expo);
70
+ }
71
+
72
+ .ds-command--open .ds-command__content {
73
+ transform: scale(1) translateY(0);
74
+ }
75
+
76
+ /* Input wrapper */
77
+ .ds-command__input-wrapper {
78
+ display: flex;
79
+ align-items: center;
80
+ gap: var(--ds-space-3);
81
+ padding: var(--ds-space-3) var(--ds-space-4);
82
+ border-bottom: 1px solid var(--ds-color-border);
83
+ }
84
+
85
+ /* Search icon */
86
+ .ds-command__input-icon {
87
+ color: var(--ds-color-text-tertiary);
88
+ flex-shrink: 0;
89
+ }
90
+
91
+ /* Search input */
92
+ .ds-command__input {
93
+ flex: 1;
94
+ background-color: transparent;
95
+ border: none;
96
+ outline: none;
97
+ font-size: var(--ds-text-base);
98
+ color: var(--ds-color-text);
99
+ font-family: var(--ds-font-sans);
100
+ }
101
+
102
+ .ds-command__input::placeholder {
103
+ color: var(--ds-color-text-tertiary);
104
+ }
105
+
106
+ /* Results list */
107
+ .ds-command__list {
108
+ max-height: 20rem;
109
+ overflow-y: auto;
110
+ padding: var(--ds-space-2);
111
+ }
112
+
113
+ /* Group of results */
114
+ .ds-command__group {
115
+ /* structural grouping — no additional visual styles needed */
116
+ }
117
+
118
+ /* Group heading */
119
+ .ds-command__group-heading {
120
+ font-size: var(--ds-text-xs);
121
+ text-transform: uppercase;
122
+ letter-spacing: 0.05em;
123
+ color: var(--ds-color-text-tertiary);
124
+ padding: var(--ds-space-2) var(--ds-space-3);
125
+ font-weight: var(--ds-weight-medium);
126
+ }
127
+
128
+ /* Individual item */
129
+ .ds-command__item {
130
+ display: flex;
131
+ align-items: center;
132
+ gap: var(--ds-space-3);
133
+ padding: var(--ds-space-2-5) var(--ds-space-3);
134
+ border-radius: var(--ds-radius-lg);
135
+ cursor: pointer;
136
+ font-size: var(--ds-text-sm);
137
+ color: var(--ds-color-text-secondary);
138
+ transition:
139
+ background-color var(--ds-duration-fast) var(--ds-ease),
140
+ color var(--ds-duration-fast) var(--ds-ease);
141
+ }
142
+
143
+ /* Item hover & active states */
144
+ .ds-command__item:hover,
145
+ .ds-command__item--active {
146
+ background-color: var(--ds-color-bg-elevated);
147
+ color: var(--ds-color-text);
148
+ }
149
+
150
+ /* Item icon */
151
+ .ds-command__item-icon {
152
+ flex-shrink: 0;
153
+ color: var(--ds-color-text-tertiary);
154
+ }
155
+
156
+ /* Item label */
157
+ .ds-command__item-label {
158
+ flex: 1;
159
+ }
160
+
161
+ /* Item shortcut hint */
162
+ .ds-command__item-shortcut {
163
+ font-size: var(--ds-text-xs);
164
+ color: var(--ds-color-text-tertiary);
165
+ flex-shrink: 0;
166
+ }
167
+
168
+ /* Empty state */
169
+ .ds-command__empty {
170
+ padding: var(--ds-space-8);
171
+ text-align: center;
172
+ font-size: var(--ds-text-sm);
173
+ color: var(--ds-color-text-tertiary);
174
+ }
175
+
176
+ /* Footer */
177
+ .ds-command__footer {
178
+ display: flex;
179
+ align-items: center;
180
+ gap: var(--ds-space-4);
181
+ padding: var(--ds-space-2) var(--ds-space-3);
182
+ border-top: 1px solid var(--ds-color-border);
183
+ font-size: var(--ds-text-xs);
184
+ color: var(--ds-color-text-tertiary);
185
+ }
@@ -0,0 +1,66 @@
1
+ /* ==========================================================================
2
+ Component: Divider
3
+ Horizontal and vertical separators with optional centered label.
4
+ ========================================================================== */
5
+
6
+ .ds-divider {
7
+ border: none;
8
+ border-top: 1px solid var(--ds-color-border);
9
+ margin-block: var(--ds-space-4);
10
+ width: 100%;
11
+ }
12
+
13
+ /* --- Vertical --- */
14
+
15
+ .ds-divider--vertical {
16
+ border-top: none;
17
+ border-left: 1px solid var(--ds-color-border);
18
+ display: inline-block;
19
+ width: auto;
20
+ height: auto;
21
+ min-height: 1rem;
22
+ align-self: stretch;
23
+ margin-block: var(--ds-space-0);
24
+ margin-inline: var(--ds-space-3);
25
+ }
26
+
27
+ /* --- Subtle --- */
28
+
29
+ .ds-divider--subtle {
30
+ border-color: var(--ds-color-border-subtle);
31
+ }
32
+
33
+ /* --- Spacious --- */
34
+
35
+ .ds-divider--spacious {
36
+ margin-block: var(--ds-space-8);
37
+ }
38
+
39
+ .ds-divider--spacious.ds-divider--vertical {
40
+ margin-block: var(--ds-space-0);
41
+ margin-inline: var(--ds-space-6);
42
+ }
43
+
44
+ /* --- Label (centered text with lines on either side) --- */
45
+
46
+ .ds-divider--label {
47
+ border-top: none;
48
+ display: flex;
49
+ align-items: center;
50
+ gap: var(--ds-space-3);
51
+ font-family: var(--ds-font-sans);
52
+ font-size: var(--ds-text-xs);
53
+ font-weight: var(--ds-weight-medium);
54
+ color: var(--ds-color-text-tertiary);
55
+ text-transform: uppercase;
56
+ letter-spacing: var(--ds-tracking-wide);
57
+ white-space: nowrap;
58
+ }
59
+
60
+ .ds-divider--label::before,
61
+ .ds-divider--label::after {
62
+ content: '';
63
+ flex: 1;
64
+ height: 0;
65
+ border-top: 1px solid var(--ds-color-border);
66
+ }
@@ -0,0 +1,209 @@
1
+ /* ==========================================================================
2
+ * Drawer / Sheet
3
+ * ==========================================================================
4
+ *
5
+ * A sliding overlay panel anchored to the edge of the viewport.
6
+ * Default direction is right; use `--left` or `--bottom` modifiers
7
+ * to change the slide origin.
8
+ *
9
+ * Sizes:
10
+ * --sm 18 rem
11
+ * (default) 24 rem
12
+ * --lg 36 rem
13
+ *
14
+ * Markup:
15
+ * <div class="ds-drawer ds-drawer--right ds-drawer--open">
16
+ * <div class="ds-drawer__content">
17
+ * <div class="ds-drawer__header">
18
+ * <h3>Title</h3>
19
+ * <button class="ds-drawer__close" aria-label="Close">&times;</button>
20
+ * </div>
21
+ * <div class="ds-drawer__body">…</div>
22
+ * <div class="ds-drawer__footer">…</div>
23
+ * </div>
24
+ * </div>
25
+ * ========================================================================== */
26
+
27
+ /* Overlay backdrop
28
+ * -------------------------------------------------------------------------- */
29
+
30
+ .ds-drawer {
31
+ position: fixed;
32
+ inset: 0;
33
+ z-index: var(--ds-z-overlay);
34
+ background-color: var(--ds-color-overlay);
35
+ opacity: 0;
36
+ visibility: hidden;
37
+ transition:
38
+ opacity var(--ds-duration-normal) var(--ds-ease-default),
39
+ visibility var(--ds-duration-normal) var(--ds-ease-default);
40
+ }
41
+
42
+ .ds-drawer--open {
43
+ opacity: 1;
44
+ visibility: visible;
45
+ }
46
+
47
+ /* Sliding panel
48
+ * -------------------------------------------------------------------------- */
49
+
50
+ .ds-drawer__content {
51
+ position: fixed;
52
+ display: flex;
53
+ flex-direction: column;
54
+ background-color: var(--ds-color-surface);
55
+ box-shadow: var(--ds-shadow-lg);
56
+ overflow-y: auto;
57
+ transition: transform var(--ds-duration-normal) var(--ds-ease-out-expo);
58
+ }
59
+
60
+ /* ==========================================================================
61
+ * Direction: Right (default)
62
+ * ========================================================================== */
63
+
64
+ .ds-drawer__content,
65
+ .ds-drawer--right .ds-drawer__content {
66
+ top: 0;
67
+ right: 0;
68
+ bottom: 0;
69
+ width: 24rem;
70
+ max-width: 90vw;
71
+ border-left: 1px solid var(--ds-color-border);
72
+ transform: translateX(100%);
73
+ }
74
+
75
+ .ds-drawer--open .ds-drawer__content,
76
+ .ds-drawer--right.ds-drawer--open .ds-drawer__content {
77
+ transform: translateX(0);
78
+ }
79
+
80
+ /* ==========================================================================
81
+ * Direction: Left
82
+ * ========================================================================== */
83
+
84
+ .ds-drawer--left .ds-drawer__content {
85
+ left: 0;
86
+ top: 0;
87
+ bottom: 0;
88
+ right: auto;
89
+ width: 24rem;
90
+ max-width: 90vw;
91
+ border-left: 0;
92
+ border-right: 1px solid var(--ds-color-border);
93
+ transform: translateX(-100%);
94
+ }
95
+
96
+ .ds-drawer--left.ds-drawer--open .ds-drawer__content {
97
+ transform: translateX(0);
98
+ }
99
+
100
+ /* ==========================================================================
101
+ * Direction: Bottom
102
+ * ========================================================================== */
103
+
104
+ .ds-drawer--bottom .ds-drawer__content {
105
+ bottom: 0;
106
+ left: 0;
107
+ right: 0;
108
+ top: auto;
109
+ width: auto;
110
+ max-height: 90dvh;
111
+ border-left: 0;
112
+ border-top: 1px solid var(--ds-color-border);
113
+ border-radius: var(--ds-radius-xl) var(--ds-radius-xl) 0 0;
114
+ transform: translateY(100%);
115
+ }
116
+
117
+ .ds-drawer--bottom.ds-drawer--open .ds-drawer__content {
118
+ transform: translateY(0);
119
+ }
120
+
121
+ /* ==========================================================================
122
+ * Sizes
123
+ * ========================================================================== */
124
+
125
+ .ds-drawer--sm .ds-drawer__content {
126
+ width: 18rem;
127
+ }
128
+
129
+ .ds-drawer--lg .ds-drawer__content {
130
+ width: 36rem;
131
+ }
132
+
133
+ /* Bottom drawers should not have a fixed width */
134
+ .ds-drawer--bottom.ds-drawer--sm .ds-drawer__content,
135
+ .ds-drawer--bottom.ds-drawer--lg .ds-drawer__content {
136
+ width: auto;
137
+ }
138
+
139
+ /* ==========================================================================
140
+ * Header
141
+ * ========================================================================== */
142
+
143
+ .ds-drawer__header {
144
+ display: flex;
145
+ justify-content: space-between;
146
+ align-items: flex-start;
147
+ padding: var(--ds-space-4) var(--ds-space-5);
148
+ border-bottom: 1px solid var(--ds-color-border);
149
+ }
150
+
151
+ .ds-drawer__header h3 {
152
+ font-family: var(--ds-font-display);
153
+ font-weight: var(--ds-font-display-weight);
154
+ font-size: var(--ds-text-lg);
155
+ color: var(--ds-color-text);
156
+ margin: 0;
157
+ }
158
+
159
+ /* ==========================================================================
160
+ * Close button
161
+ * ========================================================================== */
162
+
163
+ .ds-drawer__close {
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ width: 2rem;
168
+ height: 2rem;
169
+ padding: 0;
170
+ border: 0;
171
+ border-radius: var(--ds-radius-md);
172
+ background-color: transparent;
173
+ color: var(--ds-color-text-tertiary);
174
+ font-size: var(--ds-text-lg);
175
+ line-height: 1;
176
+ cursor: pointer;
177
+ flex-shrink: 0;
178
+ transition:
179
+ background-color var(--ds-duration-fast) var(--ds-ease-default),
180
+ color var(--ds-duration-fast) var(--ds-ease-default);
181
+ }
182
+
183
+ .ds-drawer__close:hover {
184
+ background-color: var(--ds-color-overlay);
185
+ color: var(--ds-color-text);
186
+ }
187
+
188
+ /* ==========================================================================
189
+ * Body
190
+ * ========================================================================== */
191
+
192
+ .ds-drawer__body {
193
+ padding: var(--ds-space-5);
194
+ flex: 1;
195
+ overflow-y: auto;
196
+ }
197
+
198
+ /* ==========================================================================
199
+ * Footer
200
+ * ========================================================================== */
201
+
202
+ .ds-drawer__footer {
203
+ padding: var(--ds-space-4) var(--ds-space-5);
204
+ border-top: 1px solid var(--ds-color-border);
205
+ display: flex;
206
+ align-items: center;
207
+ justify-content: flex-end;
208
+ gap: var(--ds-space-2);
209
+ }
@@ -0,0 +1,139 @@
1
+ /* ==========================================================================
2
+ Component: Dropdown
3
+ Floating menu with surface bg, scale transition, keyboard-friendly items.
4
+ ========================================================================== */
5
+
6
+ .ds-dropdown {
7
+ position: relative;
8
+ }
9
+
10
+ .ds-dropdown__trigger {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ cursor: pointer;
14
+ }
15
+
16
+ /* --- Menu panel --- */
17
+
18
+ .ds-dropdown__menu {
19
+ position: absolute;
20
+ top: calc(100% + var(--ds-space-1));
21
+ left: 0;
22
+ z-index: var(--ds-z-dropdown);
23
+ min-width: 12rem;
24
+ padding-block: var(--ds-space-1);
25
+ background-color: var(--ds-color-surface);
26
+ border: 1px solid var(--ds-color-border);
27
+ border-radius: var(--ds-radius-xl);
28
+ box-shadow: var(--ds-shadow-lg);
29
+ opacity: 0;
30
+ visibility: hidden;
31
+ transform: scale(0.96);
32
+ transform-origin: top left;
33
+ transition:
34
+ opacity var(--ds-duration-normal) var(--ds-ease-default),
35
+ visibility var(--ds-duration-normal) var(--ds-ease-default),
36
+ transform var(--ds-duration-normal) var(--ds-ease-out-expo);
37
+ }
38
+
39
+ /* Open state — modifier on menu or parent */
40
+
41
+ .ds-dropdown__menu--open,
42
+ .ds-dropdown--open .ds-dropdown__menu {
43
+ opacity: 1;
44
+ visibility: visible;
45
+ transform: scale(1);
46
+ }
47
+
48
+ /* --- Alignment variants --- */
49
+
50
+ .ds-dropdown__menu--right {
51
+ left: auto;
52
+ right: 0;
53
+ transform-origin: top right;
54
+ }
55
+
56
+ .ds-dropdown__menu--up {
57
+ top: auto;
58
+ bottom: calc(100% + var(--ds-space-1));
59
+ transform-origin: bottom left;
60
+ }
61
+
62
+ .ds-dropdown__menu--up.ds-dropdown__menu--right {
63
+ transform-origin: bottom right;
64
+ }
65
+
66
+ /* --- Menu item --- */
67
+
68
+ .ds-dropdown__item {
69
+ display: flex;
70
+ flex-direction: row;
71
+ align-items: center;
72
+ gap: var(--ds-space-2);
73
+ padding: var(--ds-space-1-5) var(--ds-space-3);
74
+ margin-inline: var(--ds-space-1);
75
+ font-size: var(--ds-text-sm);
76
+ color: var(--ds-color-text-secondary);
77
+ cursor: pointer;
78
+ border-radius: var(--ds-radius-md);
79
+ transition:
80
+ color var(--ds-duration-fast) var(--ds-ease-default),
81
+ background-color var(--ds-duration-fast) var(--ds-ease-default);
82
+ }
83
+
84
+ .ds-dropdown__item:hover {
85
+ background-color: var(--ds-color-bg-elevated);
86
+ color: var(--ds-color-text);
87
+ }
88
+
89
+ .ds-dropdown__item--active {
90
+ background-color: var(--ds-color-bg-elevated);
91
+ color: var(--ds-color-text);
92
+ }
93
+
94
+ .ds-dropdown__item--danger:hover {
95
+ color: var(--ds-color-error);
96
+ }
97
+
98
+ .ds-dropdown__item--disabled {
99
+ opacity: var(--ds-opacity-disabled);
100
+ pointer-events: none;
101
+ }
102
+
103
+ /* --- Item slots --- */
104
+
105
+ .ds-dropdown__item-icon {
106
+ width: 1rem;
107
+ height: 1rem;
108
+ flex-shrink: 0;
109
+ }
110
+
111
+ .ds-dropdown__item-label {
112
+ flex: 1;
113
+ }
114
+
115
+ .ds-dropdown__item-shortcut {
116
+ margin-left: auto;
117
+ font-size: var(--ds-text-xs);
118
+ color: var(--ds-color-text-tertiary);
119
+ }
120
+
121
+ /* --- Divider --- */
122
+
123
+ .ds-dropdown__divider {
124
+ margin-block: var(--ds-space-1);
125
+ border: 0;
126
+ border-top: 1px solid var(--ds-color-border);
127
+ }
128
+
129
+ /* --- Section header --- */
130
+
131
+ .ds-dropdown__header {
132
+ padding: var(--ds-space-2) var(--ds-space-3);
133
+ margin-inline: var(--ds-space-1);
134
+ font-size: var(--ds-text-xs);
135
+ font-weight: var(--ds-weight-medium);
136
+ text-transform: uppercase;
137
+ letter-spacing: var(--ds-tracking-wide);
138
+ color: var(--ds-color-text-tertiary);
139
+ }
@@ -0,0 +1,69 @@
1
+ /* ==========================================================================
2
+ Component: Empty State
3
+ Centered message for when there's no data to display.
4
+ ========================================================================== */
5
+
6
+ .ds-empty-state {
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ justify-content: center;
11
+ text-align: center;
12
+ padding: var(--ds-space-12);
13
+ gap: var(--ds-space-4);
14
+ }
15
+
16
+ .ds-empty-state__icon {
17
+ width: 3rem;
18
+ height: 3rem;
19
+ color: var(--ds-color-text-tertiary);
20
+ margin-bottom: var(--ds-space-2);
21
+ }
22
+
23
+ .ds-empty-state__title {
24
+ font-family: var(--ds-font-display);
25
+ font-weight: var(--ds-font-display-weight);
26
+ font-size: var(--ds-text-lg);
27
+ color: var(--ds-color-text);
28
+ letter-spacing: var(--ds-tracking-tight);
29
+ line-height: var(--ds-leading-tight);
30
+ }
31
+
32
+ .ds-empty-state__description {
33
+ font-size: var(--ds-text-sm);
34
+ color: var(--ds-color-text-secondary);
35
+ max-width: 20rem;
36
+ line-height: var(--ds-leading-relaxed);
37
+ }
38
+
39
+ .ds-empty-state__actions {
40
+ display: flex;
41
+ flex-direction: row;
42
+ align-items: center;
43
+ justify-content: center;
44
+ gap: var(--ds-space-3);
45
+ margin-top: var(--ds-space-2);
46
+ }
47
+
48
+ /* --- Compact variant --- */
49
+
50
+ .ds-empty-state--compact {
51
+ padding: var(--ds-space-8);
52
+ }
53
+
54
+ .ds-empty-state--compact .ds-empty-state__icon {
55
+ width: 2rem;
56
+ height: 2rem;
57
+ }
58
+
59
+ .ds-empty-state--compact .ds-empty-state__title {
60
+ font-size: var(--ds-text-base);
61
+ }
62
+
63
+ /* --- Card variant --- */
64
+
65
+ .ds-empty-state--card {
66
+ background-color: var(--ds-color-surface);
67
+ border: 1px solid var(--ds-color-border);
68
+ border-radius: var(--ds-radius-xl);
69
+ }
@@ -0,0 +1,35 @@
1
+ /* === Core === */
2
+ @import './button.css';
3
+ @import './card.css';
4
+ @import './input.css';
5
+ @import './badge.css';
6
+ @import './nav.css';
7
+ @import './modal.css';
8
+ @import './toast.css';
9
+ @import './table.css';
10
+
11
+ /* === Tier 1 — Essential === */
12
+ @import './tabs.css';
13
+ @import './alert.css';
14
+ @import './divider.css';
15
+ @import './dropdown.css';
16
+ @import './tooltip.css';
17
+ @import './avatar.css';
18
+ @import './skeleton.css';
19
+ @import './empty-state.css';
20
+
21
+ /* === Tier 2 — Common === */
22
+ @import './toggle.css';
23
+ @import './breadcrumb.css';
24
+ @import './pagination.css';
25
+ @import './tag.css';
26
+ @import './accordion.css';
27
+ @import './drawer.css';
28
+ @import './progress.css';
29
+
30
+ /* === Tier 3 — Advanced === */
31
+ @import './popover.css';
32
+ @import './slider.css';
33
+ @import './timeline.css';
34
+ @import './kbd.css';
35
+ @import './command.css';