@fkui/design 6.37.0 → 6.39.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.
@@ -1,18 +1,25 @@
1
1
  @use "../../core";
2
2
  @use "../../core/size";
3
+ @use "variables" as *;
3
4
 
4
5
  $vertical-padding: core.densify(size.$padding-025);
5
6
  $horizontal-padding: size.$padding-050;
7
+ $underline-thickness: 3px;
6
8
 
7
9
  .table-ng__cell {
8
10
  padding: $vertical-padding $horizontal-padding;
9
11
  text-wrap: nowrap;
10
- border: 2px solid transparent;
12
+ border: 1px solid transparent;
11
13
 
12
14
  &:focus,
13
15
  &:focus-within {
14
16
  box-shadow: none;
15
- border: 2px solid var(--f-color-focus);
17
+ outline: 3px solid $table-ng-cell-color-outline;
18
+ outline-offset: -3px;
19
+ }
20
+
21
+ &:not(&--menu-open):hover:has(button) {
22
+ background: $table-ng-cell-color-hover-background;
16
23
  }
17
24
 
18
25
  input,
@@ -42,67 +49,94 @@ $horizontal-padding: size.$padding-050;
42
49
  }
43
50
  }
44
51
 
45
- &--select {
46
- .table-ng__editable__icon--active {
47
- rotate: 180deg;
48
- }
49
- }
50
-
51
52
  &--select,
52
53
  &--text {
53
- padding: 0 0.25rem;
54
+ padding: 0;
54
55
 
55
- &:focus-visible {
56
- .table-ng__editable__icon {
57
- visibility: visible;
58
- }
56
+ &:hover {
57
+ background: $table-ng-cell-color-hover-background;
59
58
  }
60
59
 
61
- &:hover {
60
+ &:focus,
61
+ &:focus-within {
62
62
  .table-ng__editable {
63
- @extend %text-hover-state;
63
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
64
+ border-radius: 0;
64
65
  }
65
66
  }
66
67
  }
67
68
 
69
+ .table-ng__editable {
70
+ &:focus-within {
71
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
72
+ border-radius: 0;
73
+ }
74
+
75
+ &:hover {
76
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
77
+ border-radius: 0;
78
+ }
79
+ }
80
+
81
+ &--select {
82
+ .table-ng__editable {
83
+ border: 3px solid transparent;
84
+ box-sizing: border-box;
85
+ }
86
+ }
87
+
68
88
  &--text {
69
89
  &:focus-visible {
70
- outline: none !important;
71
90
  box-shadow: none !important;
72
91
  }
73
92
 
74
93
  &.table-ng__cell--error:not(:focus-within) {
75
94
  .table-ng__editable {
76
- @extend %text-error-state;
95
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
96
+ border-radius: 0;
77
97
  }
78
98
  }
79
99
 
80
100
  &.table-ng__cell--error:hover:not(:focus-within) {
81
101
  .table-ng__editable {
82
- @extend %text-error-state;
102
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
103
+ border-radius: 0;
83
104
  }
84
105
  }
85
106
 
86
107
  &.table-ng__cell--error:focus {
87
108
  .table-ng__editable {
88
- @extend %text-error-state;
109
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
110
+ border-radius: 0;
89
111
  }
90
112
  }
91
113
 
92
114
  .table-ng__editable {
93
- border-width: 2px;
94
- border-style: solid;
95
- border-color: transparent;
115
+ border: 3px solid transparent;
116
+ box-sizing: border-box;
117
+ position: relative;
96
118
 
97
119
  &:focus-within {
120
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
121
+ border-radius: 0;
122
+
98
123
  .table-ng__editable__text {
99
- display: none;
124
+ visibility: hidden;
100
125
  }
101
126
 
102
127
  .table-ng__textedit {
103
- flex: 1 0 auto;
128
+ position: absolute;
129
+ inset: 0;
130
+ width: 100%;
131
+ min-width: 0;
132
+ padding: $vertical-padding $horizontal-padding;
104
133
  }
105
134
  }
135
+
136
+ &:hover {
137
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
138
+ border-radius: 0;
139
+ }
106
140
  }
107
141
  }
108
142
 
@@ -115,6 +149,12 @@ $horizontal-padding: size.$padding-050;
115
149
  height: var(--f-icon-size-medium);
116
150
  width: var(--f-icon-size-medium);
117
151
  vertical-align: middle;
152
+ accent-color: $table-ng-button-primary-color-background-default;
153
+ }
154
+
155
+ &:hover {
156
+ background: $table-ng-cell-color-hover-background;
157
+ accent-color: $table-ng-button-primary-color-background-hover;
118
158
  }
119
159
  }
120
160
 
@@ -127,7 +167,11 @@ $horizontal-padding: size.$padding-050;
127
167
  min-width: var(--f-icon-size-medium);
128
168
  width: 100%;
129
169
  background: inherit;
170
+ color: $table-ng-button-primary-color-background-default;
130
171
  cursor: pointer;
172
+ &:hover {
173
+ color: $table-ng-button-primary-color-background-hover;
174
+ }
131
175
 
132
176
  svg {
133
177
  vertical-align: middle;
@@ -142,6 +186,10 @@ $horizontal-padding: size.$padding-050;
142
186
 
143
187
  &--selectable {
144
188
  width: var(--f-icon-size-medium);
189
+
190
+ &:hover {
191
+ background: $table-ng-cell-color-hover-background;
192
+ }
145
193
  }
146
194
 
147
195
  &--rowheader {
@@ -151,11 +199,25 @@ $horizontal-padding: size.$padding-050;
151
199
 
152
200
  &--custom {
153
201
  padding: $vertical-padding $horizontal-padding;
154
- border: 2px solid transparent;
202
+ border: 1px solid transparent;
155
203
 
156
204
  &:focus {
157
205
  box-shadow: none;
158
- border: 2px solid var(--f-color-focus);
206
+ outline: 3px solid $table-ng-cell-color-outline;
207
+ outline-offset: -3px;
208
+ }
209
+ }
210
+
211
+ &--menu-open,
212
+ &--menu-open:hover {
213
+ background: $table-ng-cell-color-active-menu;
214
+
215
+ .icon-button {
216
+ color: $table-ng-cell-color-active-menu-text;
217
+ }
218
+
219
+ .table-ng__editable:hover {
220
+ background: transparent;
159
221
  }
160
222
  }
161
223
  }
@@ -169,7 +231,6 @@ $horizontal-padding: size.$padding-050;
169
231
 
170
232
  &:focus {
171
233
  box-shadow: none !important;
172
- outline: none !important;
173
234
  }
174
235
  }
175
236
 
@@ -177,10 +238,7 @@ $horizontal-padding: size.$padding-050;
177
238
  padding: $vertical-padding $horizontal-padding;
178
239
  display: flex;
179
240
  align-items: center;
180
-
181
- &:hover:not(:focus-within) &__icon {
182
- visibility: visible;
183
- }
241
+ margin-block: 2px;
184
242
 
185
243
  &__text {
186
244
  flex: 1 1 auto;
@@ -192,19 +250,31 @@ $horizontal-padding: size.$padding-050;
192
250
  font-feature-settings: "tnum" 1;
193
251
  }
194
252
  }
253
+ }
195
254
 
196
- &__icon {
197
- visibility: hidden;
198
- margin-left: 1rem;
199
- flex: none;
200
- color: var(--fkds-color-action-text-primary-default);
255
+ @media (forced-colors: active) {
256
+ .table-ng__editable {
257
+ forced-color-adjust: none;
258
+ color: CanvasText;
201
259
  }
202
- }
203
260
 
204
- %text-hover-state {
205
- background: var(--fkds-color-action-background-secondary-hover);
206
- }
261
+ .table-ng__cell--text:hover .table-ng__editable,
262
+ .table-ng__cell--select:hover .table-ng__editable,
263
+ .table-ng__cell--text:focus-within .table-ng__editable,
264
+ .table-ng__cell--select:focus-within .table-ng__editable {
265
+ box-shadow: inset 0 (-$underline-thickness) 0 0 Highlight;
266
+ border-radius: 0;
267
+ }
207
268
 
208
- %text-error-state {
209
- border-bottom-color: var(--fkds-color-feedback-text-negative);
269
+ .table-ng [tabindex="0"]:focus,
270
+ .table-ng [tabindex="0"]:focus-visible {
271
+ outline: 3px solid CanvasText;
272
+ outline-offset: -3px;
273
+ background: transparent;
274
+ }
275
+
276
+ .table-ng__cell :is(button, a, input, select, [role="combobox"]):focus,
277
+ .table-ng__cell :is(button, a, input, select, [role="combobox"]):focus-visible {
278
+ outline: none;
279
+ }
210
280
  }
@@ -25,6 +25,7 @@ $horizontal-padding: size.$padding-050;
25
25
  height: var(--f-icon-size-medium);
26
26
  width: var(--f-icon-size-medium);
27
27
  vertical-align: middle;
28
+ accent-color: $table-ng-button-primary-color-background-default;
28
29
  }
29
30
  }
30
31
 
@@ -18,7 +18,7 @@ $table-ng-description-background: transparent !default;
18
18
  $table-ng-description-font-weight: var(--f-font-weight-normal) !default;
19
19
 
20
20
  .table-ng {
21
- border-collapse: separate;
21
+ border-collapse: collapse;
22
22
  border-spacing: 0;
23
23
  font-size: $table-ng-font-size;
24
24
  margin: $table-ng-margin;
@@ -79,4 +79,11 @@ $table-ng-description-font-weight: var(--f-font-weight-normal) !default;
79
79
  color: $table-ng-row-foreground;
80
80
  }
81
81
  }
82
+
83
+ &--divided {
84
+ tbody > tr > td,
85
+ tbody > tr > th {
86
+ border-bottom: 1px solid $table-ng-cell-color-border;
87
+ }
88
+ }
82
89
  }
@@ -16,3 +16,14 @@ $table-ng-row-separator: 1px solid var(--fkds-color-border-primary) !default;
16
16
  // Column
17
17
  $table-ng-color-icon-sort-selected: var(--fkds-color-text-primary) !default;
18
18
  $table-ng-color-icon-sort-default: var(--fkds-color-text-secondary) !default;
19
+
20
+ // Cell
21
+ $table-ng-cell-color-hover-background: var(--fkds-color-action-background-secondary-hover) !default;
22
+ $table-ng-button-primary-color-background-default: var(--fkds-color-action-background-primary-default) !default;
23
+ $table-ng-button-primary-color-background-hover: var(--fkds-color-action-background-primary-hover) !default;
24
+ $table-ng-cell-color-error: var(--fkds-color-feedback-text-negative) !default;
25
+ $table-ng-cell-color-outline: var(--fkds-color-text-primary) !default;
26
+ $table-ng-cell-color-underline: var(--fkds-color-border-strong) !default;
27
+ $table-ng-cell-color-border: var(--fkds-color-border-primary) !default;
28
+ $table-ng-cell-color-active-menu: var(--fkds-color-action-background-primary-active) !default;
29
+ $table-ng-cell-color-active-menu-text: var(--fkds-color-text-inverted) !default;
@@ -27,6 +27,10 @@
27
27
  &__error-popup-icon {
28
28
  color: $textfield-color-icon-error;
29
29
  height: 16px;
30
+
31
+ @media (forced-colors: active) {
32
+ color: CanvasText;
33
+ }
30
34
  }
31
35
 
32
36
  &__input-wrapper {
@@ -71,14 +71,28 @@
71
71
  color: var(--fkds-color-feedback-text-negative);
72
72
  min-height: var(--f-icon-size-medium);
73
73
  min-width: var(--f-icon-size-medium);
74
+
75
+ @media (forced-colors: active) {
76
+ color: CanvasText;
77
+ }
74
78
  }
75
79
 
76
80
  .popup-error__button {
77
- margin: 0;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
78
84
  min-height: 24px;
79
85
  min-width: 24px;
80
86
  padding: 0;
81
- padding-left: 5px;
87
+ border: 1px solid transparent;
88
+ background-color: transparent;
89
+ }
90
+
91
+ @media (forced-colors: active) {
92
+ background: CanvasText;
93
+
94
+ --fkds-color-feedback-border-negative: CanvasText;
95
+ --fkds-color-feedback-background-negative: Canvas;
82
96
  }
83
97
  }
84
98
 
@@ -1,5 +1,6 @@
1
1
  @use "../../core/size";
2
2
  @use "../../core/mixins/breakpoints";
3
+ @use "../../core/mixins/forcedcolors";
3
4
  @use "../../core/config-variables";
4
5
  @use "variables" as *;
5
6
 
@@ -20,10 +21,18 @@
20
21
  a:visited,
21
22
  a:active {
22
23
  color: $popupmenu-color-text-active;
24
+
25
+ @media (forced-colors: active) {
26
+ color: LinkText;
27
+ }
23
28
  }
24
29
 
25
30
  a:hover {
26
31
  color: $popupmenu-color-text-hover;
32
+
33
+ @media (forced-colors: active) {
34
+ color: LinkText;
35
+ }
27
36
  }
28
37
  }
29
38
  }
@@ -39,14 +48,20 @@
39
48
 
40
49
  &:hover:not(.ipopupmenu__list__item--highlight) {
41
50
  background-color: $popupmenu-color-background-hover;
51
+ @include forcedcolors.hover-indicator(outline, 2px);
42
52
  }
43
53
 
44
54
  &--highlight {
45
55
  background-color: $popupmenu-color-background-selected;
46
56
  font-weight: var(--f-font-weight-medium);
57
+ @include forcedcolors.selected-indicator;
47
58
 
48
59
  & a {
49
60
  color: $popupmenu-color-text-selected;
61
+
62
+ @media (forced-colors: active) {
63
+ color: HighlightText;
64
+ }
50
65
  }
51
66
  }
52
67
  }