@digiko-npm/designsystem 0.3.34 → 0.4.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.
@@ -39,8 +39,8 @@
39
39
 
40
40
  .ds-custom-select__trigger:focus-visible {
41
41
  border-color: var(--ds-color-border-active);
42
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
43
- outline-offset: -1px;
42
+ outline: none;
43
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
44
44
  }
45
45
 
46
46
  .ds-custom-select__trigger--open {
@@ -207,8 +207,8 @@
207
207
  color: var(--ds-color-text);
208
208
  }
209
209
  .ds-custom-select__option:focus-visible {
210
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
211
- outline-offset: calc(-1 * var(--ds-ring-offset));
210
+ outline: none;
211
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
212
212
  }
213
213
 
214
214
  .ds-custom-select__option--selected {
@@ -58,8 +58,8 @@
58
58
  }
59
59
 
60
60
  .ds-datepicker__trigger:focus-visible {
61
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
62
- outline-offset: var(--ds-ring-offset);
61
+ outline: none;
62
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
63
63
  }
64
64
 
65
65
  /* Calendar panel */
@@ -125,8 +125,8 @@
125
125
  color: var(--ds-color-text);
126
126
  }
127
127
  .ds-datepicker__nav:focus-visible {
128
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
129
- outline-offset: calc(-1 * var(--ds-ring-offset));
128
+ outline: none;
129
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
130
130
  }
131
131
 
132
132
  /* Weekday header row */
@@ -174,8 +174,8 @@
174
174
  background-color: var(--ds-color-bg-elevated);
175
175
  }
176
176
  .ds-datepicker__day:focus-visible {
177
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
178
- outline-offset: calc(-1 * var(--ds-ring-offset));
177
+ outline: none;
178
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
179
179
  }
180
180
 
181
181
  /* Today — subtle ring */
@@ -229,8 +229,8 @@
229
229
  border-color: var(--ds-color-border-hover);
230
230
  }
231
231
  .ds-datepicker__today:focus-visible {
232
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
233
- outline-offset: var(--ds-ring-offset);
232
+ outline: none;
233
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
234
234
  }
235
235
 
236
236
  /* Step arrows — prev/next day buttons beside the date text */
@@ -256,8 +256,8 @@
256
256
  color: var(--ds-color-text);
257
257
  }
258
258
  .ds-datepicker__step:focus-visible {
259
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
260
- outline-offset: calc(-1 * var(--ds-ring-offset));
259
+ outline: none;
260
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
261
261
  }
262
262
 
263
263
  /* Compact mode — for inline table cells */
@@ -186,8 +186,8 @@
186
186
  color: var(--ds-color-text);
187
187
  }
188
188
  .ds-drawer__close:focus-visible {
189
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
190
- outline-offset: var(--ds-ring-offset);
189
+ outline: none;
190
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
191
191
  }
192
192
 
193
193
  /* ==========================================================================
@@ -40,8 +40,8 @@
40
40
  background-color var(--ds-duration-fast) var(--ds-ease-default);
41
41
  }
42
42
  .ds-drop-zone:focus-visible {
43
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
44
- outline-offset: var(--ds-ring-offset);
43
+ outline: none;
44
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
45
45
  }
46
46
 
47
47
  :root:not(.dark) .ds-drop-zone {
@@ -63,6 +63,11 @@
63
63
  transform-origin: bottom right;
64
64
  }
65
65
 
66
+ /* --- Width variants --- */
67
+ .ds-dropdown__menu--sm { min-width: 8rem; }
68
+ .ds-dropdown__menu--lg { min-width: 20rem; }
69
+ .ds-dropdown__menu--auto { min-width: auto; }
70
+
66
71
  /* --- Menu item --- */
67
72
 
68
73
  .ds-dropdown__item {
@@ -86,8 +91,8 @@
86
91
  color: var(--ds-color-text);
87
92
  }
88
93
  .ds-dropdown__item:focus-visible {
89
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
90
- outline-offset: calc(-1 * var(--ds-ring-offset));
94
+ outline: none;
95
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
91
96
  }
92
97
 
93
98
  .ds-dropdown__item--active {
@@ -67,3 +67,9 @@
67
67
  border: 1px solid var(--ds-color-border);
68
68
  border-radius: var(--ds-radius-xl);
69
69
  }
70
+
71
+ /* --- Left-aligned variant --- */
72
+ .ds-empty-state--left {
73
+ align-items: flex-start;
74
+ text-align: left;
75
+ }
@@ -11,10 +11,14 @@
11
11
  margin-bottom: var(--ds-space-1-5);
12
12
  }
13
13
 
14
+ .ds-input,
15
+ .ds-textarea {
16
+ width: 100%;
17
+ }
18
+
14
19
  .ds-input,
15
20
  .ds-textarea,
16
21
  .ds-select {
17
- width: 100%;
18
22
  padding: 0 var(--ds-space-4);
19
23
  font-family: var(--ds-font-sans);
20
24
  font-size: var(--ds-text-base); /* 16px — prevents iOS auto-zoom on focus */
@@ -130,6 +134,50 @@
130
134
  padding-right: var(--ds-space-8);
131
135
  }
132
136
 
137
+ /* --- Layout Modifiers ---
138
+ Override default width/display/chrome assumptions. */
139
+
140
+ /* Full width (opt-in for select, already default for input/textarea) */
141
+ .ds-select--full {
142
+ width: 100%;
143
+ }
144
+
145
+ /* Flush — naked input inside a styled container.
146
+ No border, no background, no padding, no focus ring.
147
+ The container handles visual chrome. */
148
+ .ds-input--flush {
149
+ background: transparent;
150
+ border: none;
151
+ padding: 0;
152
+ border-radius: 0;
153
+ box-shadow: none;
154
+ height: auto;
155
+ }
156
+ .ds-input--flush:hover {
157
+ border-color: transparent;
158
+ }
159
+ .ds-input--flush:focus-visible {
160
+ border-color: transparent;
161
+ box-shadow: none;
162
+ }
163
+
164
+ /* Inline — auto-width for use in flex rows */
165
+ .ds-input--inline {
166
+ width: auto;
167
+ display: inline-flex;
168
+ }
169
+
170
+ /* --- Input Group: icon-right ---
171
+ Move icon to the right side, flip input padding. */
172
+ .ds-input-group--icon-right .ds-input-group__icon {
173
+ left: auto;
174
+ right: var(--ds-space-3);
175
+ }
176
+ .ds-input-group--icon-right .ds-input {
177
+ padding-left: var(--ds-space-4);
178
+ padding-right: calc(var(--ds-space-3) + 1rem + var(--ds-space-2));
179
+ }
180
+
133
181
  /* Help text */
134
182
  .ds-help {
135
183
  font-size: var(--ds-text-xs);
@@ -83,8 +83,8 @@
83
83
  color: var(--ds-color-text);
84
84
  }
85
85
  .ds-modal__close:focus-visible {
86
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
87
- outline-offset: var(--ds-ring-offset);
86
+ outline: none;
87
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
88
88
  }
89
89
 
90
90
  .ds-modal__body {
@@ -60,8 +60,8 @@
60
60
  }
61
61
 
62
62
  .ds-nav__link:focus-visible {
63
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
64
- outline-offset: var(--ds-ring-offset);
63
+ outline: none;
64
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
65
65
  }
66
66
 
67
67
  .ds-nav__link--active {
@@ -94,8 +94,8 @@
94
94
  }
95
95
 
96
96
  .ds-nav__icon-btn:focus-visible {
97
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
98
- outline-offset: var(--ds-ring-offset);
97
+ outline: none;
98
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
99
99
  }
100
100
 
101
101
  /* --- Mobile nav overlay --- */
@@ -173,8 +173,8 @@
173
173
  }
174
174
 
175
175
  .ds-sidebar__link:focus-visible {
176
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
177
- outline-offset: calc(-1 * var(--ds-ring-offset));
176
+ outline: none;
177
+ box-shadow: inset 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
178
178
  }
179
179
 
180
180
  .ds-sidebar__link--active {
@@ -57,8 +57,8 @@
57
57
  }
58
58
 
59
59
  .ds-pagination__item:focus-visible {
60
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
61
- outline-offset: var(--ds-ring-offset);
60
+ outline: none;
61
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
62
62
  }
63
63
 
64
64
  /* ---------------------------------------------------------------------------
@@ -116,8 +116,8 @@
116
116
 
117
117
  .ds-pagination__prev:focus-visible,
118
118
  .ds-pagination__next:focus-visible {
119
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
120
- outline-offset: var(--ds-ring-offset);
119
+ outline: none;
120
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
121
121
  }
122
122
 
123
123
  .ds-pagination__prev:disabled,
@@ -73,12 +73,12 @@
73
73
  /* Focus ring */
74
74
  .ds-slider input[type="range"]:focus-visible::-webkit-slider-thumb {
75
75
  outline: var(--ds-ring-width) solid var(--ds-ring-color);
76
- outline-offset: var(--ds-ring-offset);
76
+ outline-offset: 0;
77
77
  }
78
78
 
79
79
  .ds-slider input[type="range"]:focus-visible::-moz-range-thumb {
80
80
  outline: var(--ds-ring-width) solid var(--ds-ring-color);
81
- outline-offset: var(--ds-ring-offset);
81
+ outline-offset: 0;
82
82
  }
83
83
 
84
84
  /* Labels row */
@@ -31,6 +31,12 @@ tr:hover .ds-sortable__handle,
31
31
  opacity: 1;
32
32
  }
33
33
 
34
+ .ds-sortable__handle:focus-visible {
35
+ outline: none;
36
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
37
+ border-radius: var(--ds-radius-sm);
38
+ }
39
+
34
40
  tr:hover .ds-sortable__handle,
35
41
  .ds-sortable-row:hover .ds-sortable__handle {
36
42
  color: var(--ds-color-text-secondary);
@@ -106,8 +106,8 @@
106
106
  }
107
107
 
108
108
  .ds-tab:focus-visible {
109
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
110
- outline-offset: var(--ds-ring-offset);
109
+ outline: none;
110
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
111
111
  border-radius: var(--ds-radius-sm);
112
112
  }
113
113
 
@@ -42,6 +42,7 @@
42
42
  /* Tags used as <button> for selection — no focus ring on click */
43
43
  button.ds-tag:focus-visible {
44
44
  outline: none;
45
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
45
46
  }
46
47
 
47
48
  /* ---------------------------------------------------------------------------
@@ -124,8 +125,8 @@ button.ds-tag:focus-visible {
124
125
  }
125
126
 
126
127
  .ds-tag__remove:focus-visible {
127
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
128
- outline-offset: var(--ds-ring-offset);
128
+ outline: none;
129
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
129
130
  opacity: 1;
130
131
  }
131
132
 
@@ -56,8 +56,8 @@
56
56
  color: var(--ds-color-text);
57
57
  }
58
58
  .ds-toast__close:focus-visible {
59
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
60
- outline-offset: var(--ds-ring-offset);
59
+ outline: none;
60
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
61
61
  }
62
62
 
63
63
  @keyframes ds-toast-in {
@@ -83,8 +83,8 @@
83
83
  --------------------------------------------------------------------------- */
84
84
 
85
85
  .ds-toggle:focus-visible {
86
- outline: var(--ds-ring-width) solid var(--ds-ring-color);
87
- outline-offset: var(--ds-ring-offset);
86
+ outline: none;
87
+ box-shadow: 0 0 0 var(--ds-ring-width) var(--ds-ring-color);
88
88
  }
89
89
 
90
90
  /* ---------------------------------------------------------------------------