@fkui/design 6.38.0 → 6.40.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fkui/design",
3
- "version": "6.38.0",
3
+ "version": "6.40.0",
4
4
  "description": "fkui design",
5
5
  "keywords": [
6
6
  "fkui",
@@ -39,19 +39,19 @@
39
39
  "unit:watch": "node --test --watch"
40
40
  },
41
41
  "devDependencies": {
42
- "@fkui/icon-lib-default": "6.38.0",
43
- "@fkui/theme-default": "6.38.0",
42
+ "@fkui/icon-lib-default": "6.40.0",
43
+ "@fkui/theme-default": "6.40.0",
44
44
  "autoprefixer": "10.4.27",
45
- "cssnano": "7.1.2",
45
+ "cssnano": "7.1.3",
46
46
  "glob": "13.0.6",
47
47
  "picocolors": "1.1.1",
48
- "postcss": "8.5.6",
48
+ "postcss": "8.5.8",
49
49
  "postcss-url": "10.1.3",
50
50
  "postcss-var-func-fallback": "3.0.1",
51
- "svgo": "4.0.0"
51
+ "svgo": "4.0.1"
52
52
  },
53
53
  "peerDependencies": {
54
- "@fkui/theme-default": "^6.38.0",
54
+ "@fkui/theme-default": "^6.40.0",
55
55
  "sass": "^1.40.0",
56
56
  "stylelint": ">= 14"
57
57
  },
@@ -68,5 +68,5 @@
68
68
  "npm": ">= 7"
69
69
  },
70
70
  "sass": "./src/fkui.scss",
71
- "gitHead": "ea8e50d8567159581a628106e93ac0e7c1d43a1b"
71
+ "gitHead": "fffdc47340a925f20f586117a1a5bbb2e2ec8a48"
72
72
  }
@@ -10,6 +10,7 @@
10
10
  @forward "contextmenu/variables";
11
11
  @forward "crud-dataset/variables";
12
12
  @forward "datepicker-field/variables";
13
+ @forward "definition-list/variables";
13
14
  @forward "dialogue-tree/variables";
14
15
  @forward "entrypoint/variables";
15
16
  @forward "error-list/variables";
@@ -61,6 +62,7 @@
61
62
  @use "contextmenu";
62
63
  @use "crud-dataset";
63
64
  @use "datepicker-field";
65
+ @use "definition-list";
64
66
  @use "dialogue-tree";
65
67
  @use "entrypoint";
66
68
  @use "error-list";
@@ -241,6 +241,7 @@ $button--tertiary: (
241
241
  font-weight: var(--f-font-weight-bold);
242
242
  outline-offset: size.$padding-025;
243
243
  line-height: calc(1.25 * var(--f-font-size-standard));
244
+ align-items: flex-start;
244
245
 
245
246
  @include core.make-button-variant(".button", $button--discrete...);
246
247
 
@@ -268,6 +269,9 @@ $button--tertiary: (
268
269
  &:hover {
269
270
  border-radius: var(--f-button-discrete-radius-hover);
270
271
  }
272
+ & > .button__icon {
273
+ flex-shrink: 0;
274
+ }
271
275
  }
272
276
 
273
277
  &.button--discrete-inverted {
@@ -319,7 +323,8 @@ $button--tertiary: (
319
323
  }
320
324
  }
321
325
 
322
- &:disabled {
326
+ &:disabled,
327
+ &[aria-disabled="true"] {
323
328
  border: none;
324
329
  }
325
330
 
@@ -333,7 +338,8 @@ $button--tertiary: (
333
338
  background-color: $button-tertiary-inverted-color-background-focus;
334
339
  }
335
340
 
336
- &:disabled {
341
+ &:disabled,
342
+ &[aria-disabled="true"] {
337
343
  color: $button-tertiary-inverted-color-text-disabled;
338
344
  border: none;
339
345
  border-width: 0;
@@ -346,7 +352,8 @@ $button--tertiary: (
346
352
  text-decoration-thickness: 2px;
347
353
  text-underline-offset: 4px;
348
354
 
349
- &:disabled {
355
+ &:disabled,
356
+ &[aria-disabled="true"] {
350
357
  text-decoration: none;
351
358
  }
352
359
  }
@@ -460,6 +467,8 @@ $button--tertiary: (
460
467
  &.disabled:hover,
461
468
  &:disabled,
462
469
  &:disabled:hover,
470
+ &[aria-disabled="true"],
471
+ &[aria-disabled="true"]:hover,
463
472
  &.button--disabled {
464
473
  border-width: var(--f-border-width-medium);
465
474
  box-shadow: none;
@@ -22,6 +22,7 @@
22
22
  display: flex;
23
23
  align-items: center;
24
24
  padding: size.$padding-075;
25
+ margin: size.$margin-050 0;
25
26
 
26
27
  a,
27
28
  a:visited,
@@ -52,6 +52,7 @@ $calendar-width: calc(100vw - #{$popup-spacing});
52
52
  &__close > &__close__button {
53
53
  margin: 0;
54
54
  padding: 1rem;
55
+ align-items: center;
55
56
  }
56
57
  }
57
58
 
@@ -0,0 +1,23 @@
1
+ @use "../../core/size";
2
+ @use "variables" as *;
3
+
4
+ .definition-list {
5
+ margin: 0;
6
+ color: $definitionlist-text-color-default;
7
+
8
+ &__term {
9
+ float: left;
10
+ clear: left;
11
+ margin-right: size.$margin-025;
12
+ font-weight: var(--f-font-weight-medium);
13
+ }
14
+
15
+ &__term::after {
16
+ content: ":";
17
+ }
18
+
19
+ &__definition {
20
+ margin-left: 0;
21
+ margin-bottom: 0.25rem;
22
+ }
23
+ }
@@ -0,0 +1 @@
1
+ @use "definition-list";
@@ -0,0 +1 @@
1
+ $definitionlist-text-color-default: var(--fkds-color-text-primary) !default;
@@ -34,6 +34,7 @@
34
34
  display: flex;
35
35
  align-items: center;
36
36
  justify-content: space-between;
37
+ cursor: pointer;
37
38
 
38
39
  span {
39
40
  display: -webkit-box;
@@ -43,7 +44,6 @@
43
44
  font-weight: var(--f-font-weight-medium);
44
45
  font-size: var(--f-font-size-standard);
45
46
  text-align: left;
46
- cursor: pointer;
47
47
  }
48
48
 
49
49
  .icon {
@@ -1,6 +1,6 @@
1
1
  // HEADING
2
- $expandablepanel-heading-color-background-default: var(--fkds-color-background-secondary) !default;
3
- $expandablepanel-heading-color-background-hover: var(--fkds-color-action-background-secondary-hover) !default;
2
+ $expandablepanel-heading-color-background-default: var(--fkds-color-interactive-surface-background-primary-default) !default;
3
+ $expandablepanel-heading-color-background-hover: var(--fkds-color-interactive-surface-background-primary-hover) !default;
4
4
  $expandablepanel-heading-color-text-default: var(--fkds-color-text-primary) !default;
5
5
  $expandablepanel-heading-color-border: var(--fkds-color-border-primary) !default;
6
6
  $expandablepanel-heading-notification-color-background: var(--fkds-color-feedback-background-negative-strong) !default;
@@ -57,7 +57,8 @@
57
57
  &__file-name {
58
58
  margin-left: size.$margin-025;
59
59
  min-width: 0;
60
- overflow-wrap: break-word;
60
+ overflow-wrap: anywhere;
61
+ hyphens: auto;
61
62
  white-space: normal;
62
63
  }
63
64
 
@@ -9,14 +9,19 @@
9
9
  @include focus-indicator;
10
10
  }
11
11
  }
12
+ label.button.button--tertiary {
13
+ @media (forced-colors: active) {
14
+ border-color: ButtonBorder;
15
+ color: ButtonText;
16
+ }
12
17
 
13
- label {
14
18
  cursor: pointer;
15
19
  }
16
-
17
- input:disabled + label {
18
- background-color: transparent;
19
- border-color: transparent;
20
+ input[aria-disabled="true"] + label.button.button--tertiary {
20
21
  cursor: default;
22
+ @media (forced-colors: active) {
23
+ color: GrayText;
24
+ border-color: GrayText;
25
+ }
21
26
  }
22
27
  }
@@ -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
 
@@ -18,10 +19,18 @@
18
19
  a:visited,
19
20
  a:active {
20
21
  color: $navigationmenu-menuitem-color-text-active;
22
+
23
+ @media (forced-colors: active) {
24
+ color: LinkText;
25
+ }
21
26
  }
22
27
 
23
28
  a:hover {
24
29
  color: $navigationmenu-menuitem-color-text-hover;
30
+
31
+ @media (forced-colors: active) {
32
+ color: LinkText;
33
+ }
25
34
  }
26
35
  }
27
36
  }
@@ -53,14 +62,20 @@
53
62
  &:hover {
54
63
  font-weight: var(--f-font-weight-normal);
55
64
  background-color: $navigationmenu-vertical-color-background-hover;
65
+ @include forcedcolors.hover-indicator(outline, 2px);
56
66
  }
57
67
 
58
68
  &--highlight {
59
69
  font-weight: var(--f-font-weight-medium);
60
70
  background-color: $navigationmenu-vertical-color-background-selected;
71
+ @include forcedcolors.selected-indicator;
61
72
 
62
73
  .imenu__list__anchor {
63
74
  color: $navigationmenu-vertical-menuitem-color-text-selected;
75
+
76
+ @media (forced-colors: active) {
77
+ color: HighlightText;
78
+ }
64
79
  }
65
80
  }
66
81
 
@@ -68,6 +83,7 @@
68
83
  background-color: $navigationmenu-vertical-color-background-selected;
69
84
  font-weight: var(--f-font-weight-medium);
70
85
  color: $navigationmenu-vertical-menuitem-color-text-selected;
86
+ @include forcedcolors.selected-indicator;
71
87
  }
72
88
  }
73
89
  }
@@ -90,6 +106,7 @@
90
106
 
91
107
  .imenu__list__anchor-container {
92
108
  border-bottom: 5px solid $navigationmenu-horizontal-color-border-selected;
109
+ @include forcedcolors.hover-indicator(border-bottom, 5px);
93
110
  }
94
111
 
95
112
  .imenu__list__anchor:hover {
@@ -104,11 +121,16 @@
104
121
 
105
122
  &__item:not(.imenu__list__item--highlight) .imenu__list__anchor-container:hover {
106
123
  border-bottom: 5px solid $navigationmenu-horizontal-color-border-hover;
124
+ @include forcedcolors.hover-indicator(border-bottom, 5px);
107
125
  }
108
126
 
109
127
  &__anchor-container {
110
128
  padding-bottom: size.$padding-050;
111
129
  border-bottom: 5px solid transparent;
130
+
131
+ @media (forced-colors: active) {
132
+ border-bottom: none;
133
+ }
112
134
  }
113
135
 
114
136
  &__anchor {
@@ -38,7 +38,7 @@ $paginator-width-full: $button-width + $gap-size + $page-width * $number-of-page
38
38
 
39
39
  &--active {
40
40
  color: var(--fkds-color-action-text-inverted-default);
41
- background-color: var(--fkds-color-action-background-primary-default);
41
+ background-color: var(--fkds-color-select-background-primary-default);
42
42
  @include forcedcolors.selected-indicator;
43
43
  }
44
44
 
@@ -1,69 +1,15 @@
1
1
  @use "../../core";
2
2
  @use "../../core/size";
3
- @use "variables" as *;
4
-
5
- // Selectfield
6
- $sortfilter-field-margin-bottom: 0.85rem !default;
7
-
8
- // Selectfield label
9
- $sortfilter-field-label-margin-right: size.$margin-100 !default;
10
- $sortfilter-field-label-padding-top: size.$padding-050 !default;
11
-
12
- // Header
13
- $sortfilter-header-font-size: var(--f-font-size-h2) !default;
14
- $sortfilter-header-padding-top: size.$padding-025 !default;
15
3
 
16
4
  .sort-filter-dataset {
17
5
  &__sort {
18
6
  min-width: 80px;
19
7
  }
20
8
 
21
- &__search {
22
- position: relative;
23
-
24
- input {
25
- padding-left: 2.1rem;
26
- padding-right: 2.1rem;
27
-
28
- @include core.breakpoint-up(md) {
29
- width: 160px;
30
- }
31
- }
32
-
33
- &__magnify-icon {
34
- position: absolute;
35
- left: size.$margin-175;
36
- height: var(--f-height-large);
37
-
38
- /* same as textfield */
39
- z-index: 1;
40
-
41
- /* In front of input field */
42
- width: 1.2rem;
43
- color: $sort-filter-dateset-color-icon-search;
44
-
45
- @include core.breakpoint-down(sm) {
46
- top: size.$margin-150;
47
- left: size.$margin-075;
48
- }
49
- }
50
-
51
- &__close-icon.button--discrete {
52
- position: absolute;
53
- top: calc(-1 * size.$margin-075);
54
- right: 0;
55
- color: $sort-filter-dateset-color-icon-clear;
56
- cursor: pointer;
57
- padding: 1rem;
58
-
59
- @include core.breakpoint-down(sm) {
60
- top: size.$margin-100;
61
- }
62
- }
63
-
64
- &__close-icon.button--discrete:hover {
65
- box-shadow: none;
66
- background-color: transparent;
9
+ &__search input {
10
+ @include core.breakpoint-up(md) {
11
+ // technical debt: should use `FTextField` `input-width` prop but is not compatible with `inline`.
12
+ width: 160px;
67
13
  }
68
14
  }
69
15
  }
@@ -1,2 +1 @@
1
- $sort-filter-dateset-color-icon-clear: var(--fkds-color-text-secondary) !default;
2
- $sort-filter-dateset-color-icon-search: var(--fkds-color-text-secondary) !default;
1
+ // stylelint-disable no-empty-source -- placeholder file
@@ -5,6 +5,7 @@
5
5
  $vertical-padding: core.densify(size.$padding-025);
6
6
  $horizontal-padding: size.$padding-050;
7
7
  $underline-thickness: 3px;
8
+ $editable-min-height: calc(var(--f-font-size-standard) * var(--f-line-height-large) + ($vertical-padding * 2) + ($table-ng-selection-outline * 2));
8
9
 
9
10
  .table-ng__cell {
10
11
  padding: $vertical-padding $horizontal-padding;
@@ -14,7 +15,8 @@ $underline-thickness: 3px;
14
15
  &:focus,
15
16
  &:focus-within {
16
17
  box-shadow: none;
17
- outline: 3px solid $table-ng-cell-color-outline;
18
+ outline: $table-ng-selection-outline solid $table-ng-cell-color-outline;
19
+ outline-offset: -$table-ng-selection-outline;
18
20
  }
19
21
 
20
22
  &:not(&--menu-open):hover:has(button) {
@@ -66,6 +68,8 @@ $underline-thickness: 3px;
66
68
  }
67
69
 
68
70
  .table-ng__editable {
71
+ min-block-size: $editable-min-height;
72
+
69
73
  &:focus-within {
70
74
  box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
71
75
  border-radius: 0;
@@ -77,6 +81,13 @@ $underline-thickness: 3px;
77
81
  }
78
82
  }
79
83
 
84
+ &--select {
85
+ .table-ng__editable {
86
+ border: 3px solid transparent;
87
+ box-sizing: border-box;
88
+ }
89
+ }
90
+
80
91
  &--text {
81
92
  &:focus-visible {
82
93
  box-shadow: none !important;
@@ -195,7 +206,8 @@ $underline-thickness: 3px;
195
206
 
196
207
  &:focus {
197
208
  box-shadow: none;
198
- outline: 3px solid $table-ng-cell-color-outline;
209
+ outline: $table-ng-selection-outline solid $table-ng-cell-color-outline;
210
+ outline-offset: -$table-ng-selection-outline;
199
211
  }
200
212
  }
201
213
 
@@ -229,6 +241,7 @@ $underline-thickness: 3px;
229
241
  padding: $vertical-padding $horizontal-padding;
230
242
  display: flex;
231
243
  align-items: center;
244
+ margin-block: 2px;
232
245
 
233
246
  &__text {
234
247
  flex: 1 1 auto;
@@ -245,8 +258,7 @@ $underline-thickness: 3px;
245
258
  @media (forced-colors: active) {
246
259
  .table-ng__editable {
247
260
  forced-color-adjust: none;
248
- border-bottom-color: transparent;
249
- border-bottom-width: 0;
261
+ color: CanvasText;
250
262
  }
251
263
 
252
264
  .table-ng__cell--text:hover .table-ng__editable,
@@ -256,4 +268,16 @@ $underline-thickness: 3px;
256
268
  box-shadow: inset 0 (-$underline-thickness) 0 0 Highlight;
257
269
  border-radius: 0;
258
270
  }
271
+
272
+ .table-ng [tabindex="0"]:focus,
273
+ .table-ng [tabindex="0"]:focus-visible {
274
+ outline: $table-ng-selection-outline solid CanvasText;
275
+ outline-offset: -$table-ng-selection-outline;
276
+ background: transparent;
277
+ }
278
+
279
+ .table-ng__cell :is(button, a, input, select, [role="combobox"]):focus,
280
+ .table-ng__cell :is(button, a, input, select, [role="combobox"]):focus-visible {
281
+ outline: none;
282
+ }
259
283
  }
@@ -13,8 +13,8 @@ $horizontal-padding: size.$padding-050;
13
13
  &:focus,
14
14
  &:focus-within {
15
15
  box-shadow: none;
16
- border-bottom: 2px solid var(--f-color-focus);
17
- border-right: 1px solid var(--f-color-focus);
16
+ outline: $table-ng-selection-outline solid $table-ng-cell-color-outline;
17
+ outline-offset: -$table-ng-selection-outline;
18
18
  }
19
19
 
20
20
  &--selectable {
@@ -27,6 +27,11 @@ $horizontal-padding: size.$padding-050;
27
27
  vertical-align: middle;
28
28
  accent-color: $table-ng-button-primary-color-background-default;
29
29
  }
30
+
31
+ input[type="checkbox"]:focus,
32
+ input[type="checkbox"]:focus-visible {
33
+ box-shadow: none;
34
+ }
30
35
  }
31
36
 
32
37
  &--rowheader {
@@ -1,3 +1,6 @@
1
+ // Selection
2
+ $table-ng-selection-outline: 3px;
3
+
1
4
  // Caption
2
5
  $table-ng-caption-background: transparent !default;
3
6
  $table-ng-caption-foreground: var(--fkds-color-text-primary) !default;
@@ -50,10 +50,21 @@
50
50
  &.disabled:hover,
51
51
  &:disabled,
52
52
  &:disabled:hover,
53
+ &[aria-disabled="true"],
54
+ &[aria-disabled="true"]:hover,
53
55
  &#{$name}--disabled,
54
56
  &#{$name}--disabled:hover {
55
57
  background-color: $background-color--disabled;
56
58
  border-color: $border-color--disabled;
57
59
  color: $color--disabled;
60
+ pointer-events: none;
61
+ }
62
+
63
+ &[aria-disabled="true"] {
64
+ pointer-events: none;
65
+ @media (forced-colors: active) {
66
+ color: GrayText;
67
+ border-color: GrayText;
68
+ }
58
69
  }
59
70
  }
@@ -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
  }