@fkui/design 6.21.0 → 6.22.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.21.0",
3
+ "version": "6.22.0",
4
4
  "description": "fkui design",
5
5
  "keywords": [
6
6
  "fkui",
@@ -39,8 +39,8 @@
39
39
  "unit:watch": "node --test --watch"
40
40
  },
41
41
  "devDependencies": {
42
- "@fkui/icon-lib-default": "6.21.0",
43
- "@fkui/theme-default": "6.21.0",
42
+ "@fkui/icon-lib-default": "6.22.0",
43
+ "@fkui/theme-default": "6.22.0",
44
44
  "autoprefixer": "10.4.21",
45
45
  "cssnano": "7.1.1",
46
46
  "glob": "11.0.3",
@@ -51,7 +51,7 @@
51
51
  "svgo": "4.0.0"
52
52
  },
53
53
  "peerDependencies": {
54
- "@fkui/theme-default": "^6.21.0",
54
+ "@fkui/theme-default": "^6.22.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": "300d22abdfd674d0d2aad5e710773cb83b38152a"
71
+ "gitHead": "ebc31640a950acc4a20ac6b07509aa12f78ee781"
72
72
  }
@@ -1,5 +1,6 @@
1
1
  @use "../../core/mixins/circle";
2
2
  @use "variables" as *;
3
+ @use "../../core/mixins/forcedcolors";
3
4
 
4
5
  $calendar-highlight-border: var(--f-border-width-small) solid $calendarday-highlight-color-border-default;
5
6
 
@@ -27,12 +28,20 @@ $calendar-highlight-border: var(--f-border-width-small) solid $calendarday-highl
27
28
  &.calendar-day--selected {
28
29
  &::before {
29
30
  border: var(--f-border-width-medium) solid $calendarday-highlight-color-border-selected;
31
+
32
+ @media (forced-colors: active) {
33
+ border-color: highlightText;
34
+ }
30
35
  }
31
36
  }
32
37
 
33
38
  &:active:not(&--disabled) {
34
39
  &::before {
35
40
  border: var(--f-border-width-medium) solid $calendarday-highlight-color-border-selected;
41
+
42
+ @media (forced-colors: active) {
43
+ border-color: highlightText;
44
+ }
36
45
  }
37
46
  }
38
47
 
@@ -60,6 +69,8 @@ $calendar-highlight-border: var(--f-border-width-small) solid $calendarday-highl
60
69
  &--selected {
61
70
  color: $calendarday-color-text-selected;
62
71
  background-color: $calendarday-color-background-selected;
72
+
73
+ @include forcedcolors.selected-indicator;
63
74
  }
64
75
 
65
76
  &--disabled {
@@ -77,11 +88,15 @@ $calendar-highlight-border: var(--f-border-width-small) solid $calendarday-highl
77
88
  &--hover:not(&--disabled, &--selected) {
78
89
  background-color: $calendarday-color-background-hover;
79
90
  color: $calendarday-color-text-hover;
91
+
92
+ @include forcedcolors.hover-indicator(border, 2px);
80
93
  }
81
94
 
82
95
  &:active:not(&--disabled),
83
96
  &--active:not(&--disabled) {
84
97
  color: $calendarday-color-text-selected;
85
98
  background-color: $calendarday-color-background-selected;
99
+
100
+ @include forcedcolors.selected-indicator;
86
101
  }
87
102
  }
@@ -1,8 +1,10 @@
1
1
  @use "../../core/size";
2
2
  @use "../../core/mixins/breakpoints" as bp;
3
+ @use "../../core/mixins/forcedcolors";
3
4
  @use "variables" as *;
4
5
 
5
6
  $chip-border-radius: 20px;
7
+ $chip-border-width: var(--f-border-width-medium);
6
8
 
7
9
  @mixin chip($group, $item, $type) {
8
10
  .#{$group}--chip {
@@ -24,6 +26,10 @@ $chip-border-radius: 20px;
24
26
  border-color: $chip-color-border-disabled;
25
27
  color: $chip-color-text-disabled;
26
28
  cursor: not-allowed;
29
+
30
+ @media (forced-colors: active) {
31
+ color: GrayText;
32
+ }
27
33
  }
28
34
  }
29
35
  }
@@ -35,7 +41,7 @@ $chip-border-radius: 20px;
35
41
  font-weight: var(--f-font-weight-medium);
36
42
  padding: size.$padding-050 size.$padding-100;
37
43
  border-radius: $chip-border-radius;
38
- border: var(--f-border-width-medium) solid $chip-color-border-default;
44
+ border: $chip-border-width solid $chip-color-border-default;
39
45
  background-color: $chip-color-background-default;
40
46
  color: $chip-color-text-default;
41
47
  justify-content: center;
@@ -56,12 +62,16 @@ $chip-border-radius: 20px;
56
62
  border-color: $chip-color-border-hover;
57
63
  background-color: $chip-color-background-hover;
58
64
  color: $chip-color-text-hover;
65
+
66
+ @include forcedcolors.hover-indicator(border, $chip-border-width);
59
67
  }
60
68
 
61
69
  input[type="#{$type}"]:checked + .#{$item}__label {
62
70
  background: $chip-color-background-selected;
63
71
  border-color: $chip-color-border-selected;
64
72
  color: $chip-color-text-selected;
73
+
74
+ @include forcedcolors.selected-indicator;
65
75
  }
66
76
 
67
77
  input[type="#{$type}"]:focus + label.#{$item}__label {
@@ -1,4 +1,5 @@
1
1
  @use "variables" as *;
2
+ @use "../../core/mixins/forcedcolors";
2
3
 
3
4
  .popup .popup__wrapper.combobox__listbox {
4
5
  background-color: $combobox-color-background;
@@ -26,15 +27,19 @@
26
27
  padding: 0.75rem;
27
28
  white-space: nowrap;
28
29
 
29
- &:hover {
30
+ &:hover:not(&--highlight) {
30
31
  background-color: $combobox-color-background-hover;
31
32
  color: $combobox-color-text-hover;
33
+
34
+ @include forcedcolors.hover-indicator(outline, 2px);
32
35
  }
33
36
 
34
37
  &--highlight {
35
38
  background-color: $combobox-color-background-selected;
36
39
  color: $combobox-color-text-selected;
37
40
  font-weight: var(--f-font-weight-medium);
41
+
42
+ @include forcedcolors.selected-indicator;
38
43
  }
39
44
  }
40
45
 
@@ -1,6 +1,7 @@
1
1
  @use "../../core/size";
2
2
  @use "../../core/mixins/breakpoints";
3
3
  @use "../../core/config-variables";
4
+ @use "../../core/mixins/forcedcolors";
4
5
  @use "variables" as *;
5
6
 
6
7
  .contextmenu {
@@ -31,6 +32,7 @@
31
32
  &:hover {
32
33
  color: $contextmenu-color-text-hover;
33
34
  background-color: $contextmenu-color-item-background-hover;
35
+ @include forcedcolors.hover-indicator(outline, 2px);
34
36
  }
35
37
 
36
38
  // when desktop, long texts expands popup
@@ -49,7 +49,6 @@
49
49
  .icon {
50
50
  flex-shrink: 0;
51
51
  margin-left: 1.25rem;
52
- color: currentcolor;
53
52
  }
54
53
  }
55
54
  }
@@ -8,13 +8,13 @@ $table-focus-size: 2px !default;
8
8
  $table-margin: 0 0 core.densify(var(--f-margin-component-bottom)) !default;
9
9
 
10
10
  // Header
11
- $table-header-separator: 1px solid var(--f-border-color-grid) !default;
11
+ $table-header-separator: 1px solid var(--fkds-color-border-primary) !default;
12
12
  $table-header-padding: core.densify(size.$padding-025) size.$padding-050 !default;
13
13
  $table-header-font-weight: var(--f-font-weight-medium) !default;
14
14
 
15
15
  // Column description
16
- $table-description-foreground: var(--f-text-color-discrete) !default;
17
- $table-description-background: transparent !default;
16
+ $table-color-description-text: var(--fkds-color-text-secondary) !default;
17
+ $table-color-description-background: transparent !default;
18
18
  $table-description-font-weight: var(--f-font-weight-normal) !default;
19
19
 
20
20
  // Rows
@@ -37,42 +37,42 @@ $table-input-offset-horizontal: 0.25rem;
37
37
  }
38
38
 
39
39
  %table-row-normal {
40
- background: $table-row-background;
41
- color: $table-row-foreground;
40
+ background: $table-color-row-background;
41
+ color: $table-color-row-text;
42
42
  }
43
43
 
44
44
  %table-row-striped {
45
- background: $table-row-background-alt;
46
- color: $table-row-foreground;
45
+ background: $table-color-row-background-alt;
46
+ color: $table-color-row-text;
47
47
  }
48
48
 
49
49
  %table-row-hover {
50
- background: var(--f-background-grid-hover);
51
- color: $table-row-foreground;
52
- outline: 1px solid var(--f-border-color-grid-hover);
50
+ background: var(--fkds-color-select-background-primary-hover);
51
+ color: $table-color-row-text;
52
+ outline: 1px solid var(--fkds-color-border-primary);
53
53
  }
54
54
 
55
55
  %table-row-focus-within {
56
- background: var(--f-background-grid-focus-inner);
57
- color: $table-row-foreground;
56
+ background: var(--fkds-color-select-background-primary-hover);
57
+ color: $table-color-row-text;
58
58
  }
59
59
 
60
60
  %table-row-focus {
61
- background: var(--f-background-grid-hover);
62
- color: $table-row-foreground;
63
- outline: $table-focus-size solid var(--f-color-focus);
61
+ background: var(--fkds-color-select-background-primary-hover);
62
+ color: $table-color-row-text;
63
+ outline: $table-focus-size solid var(--fkds-color-border-strong);
64
64
 
65
65
  // override shadow set by [tabindex]
66
66
  box-shadow: none;
67
67
  }
68
68
 
69
69
  %table-row-active {
70
- background: var(--f-background-grid-active);
71
- color: $table-row-foreground;
70
+ background: var(--fkds-color-select-background-primary-hover);
71
+ color: $table-color-row-text;
72
72
  }
73
73
 
74
74
  %table-row-expanded-border {
75
- border-bottom-color: var(--f-border-color-grid-expanded);
75
+ border-bottom-color: var(--fkds-color-border-weak);
76
76
  }
77
77
 
78
78
  %table-row-expandable {
@@ -98,15 +98,15 @@ $table-input-offset-horizontal: 0.25rem;
98
98
  // border color is used instead of dual-color shadow because when
99
99
  // combined with scroll the edges are cut by overflow of the container
100
100
  // element, especially on the right side.
101
- border-color: var(--f-color-focus);
101
+ border-color: var(--fkds-color-border-strong);
102
102
 
103
103
  // override shadow set by [tabindex]
104
104
  box-shadow: none;
105
105
  }
106
106
 
107
107
  caption {
108
- background: $table-caption-background;
109
- color: $table-caption-foreground;
108
+ background: $table-color-caption-background;
109
+ color: $table-color-caption-text;
110
110
  font-size: var(--f-font-size-standard);
111
111
  font-weight: var(--f-font-weight-medium);
112
112
  line-height: var(--f-line-height-large);
@@ -117,10 +117,10 @@ $table-input-offset-horizontal: 0.25rem;
117
117
 
118
118
  thead {
119
119
  th {
120
- background: $table-header-background;
120
+ background: $table-color-header-background;
121
121
  border-bottom: $table-header-border;
122
122
  border-right: $table-header-separator;
123
- color: $table-header-foreground;
123
+ color: $table-color-header-text;
124
124
  font-weight: $table-header-font-weight;
125
125
  line-height: var(--f-line-height-large);
126
126
  padding: $table-header-padding;
@@ -132,13 +132,12 @@ $table-input-offset-horizontal: 0.25rem;
132
132
  }
133
133
 
134
134
  .table__column__header__icon {
135
- color: var(--f-icon-color-table-header);
136
135
  height: var(--f-icon-size-x-small);
137
136
  width: var(--f-icon-size-x-small);
138
137
  min-width: var(--f-icon-size-x-small);
139
138
 
140
139
  &--discrete {
141
- color: var(--f-icon-color-table-header-discrete);
140
+ color: var(--fkds-color-text-disabled);
142
141
  }
143
142
  }
144
143
  }
@@ -292,8 +291,8 @@ $table-input-offset-horizontal: 0.25rem;
292
291
 
293
292
  &__description {
294
293
  display: block;
295
- background: $table-description-background;
296
- color: $table-description-foreground;
294
+ background: $table-color-description-background;
295
+ color: $table-color-description-text;
297
296
  font-weight: $table-description-font-weight;
298
297
  }
299
298
  }
@@ -374,7 +373,7 @@ $table-input-offset-horizontal: 0.25rem;
374
373
  }
375
374
 
376
375
  &__expand-icon {
377
- color: var(--f-icon-color-primary);
376
+ color: var(--fkds-color-action-text-primary-default);
378
377
  background: transparent;
379
378
  border: 0;
380
379
  flex: 0 0 auto;
@@ -385,5 +384,9 @@ $table-input-offset-horizontal: 0.25rem;
385
384
  display: flex;
386
385
  align-items: center;
387
386
  justify-content: center;
387
+
388
+ @media (forced-colors: active) {
389
+ color: ButtonText;
390
+ }
388
391
  }
389
392
  }
@@ -14,6 +14,7 @@
14
14
  text-underline-offset: 3.5px;
15
15
  margin: var(--f-button-tertiary-table-column-action-margin);
16
16
  width: max-content;
17
+ border: none;
17
18
 
18
19
  .button__icon {
19
20
  margin: var(--f-button-tertiary-table-column-action-icon-margin);
@@ -1,14 +1,14 @@
1
1
  // Caption
2
- $table-caption-background: transparent !default;
3
- $table-caption-foreground: var(--f-text-color-default) !default;
2
+ $table-color-caption-background: transparent !default;
3
+ $table-color-caption-text: var(--fkds-color-text-primary) !default;
4
4
 
5
5
  // Header
6
- $table-header-background: var(--f-background-grid-header) !default;
7
- $table-header-foreground: var(--f-text-color-default) !default;
8
- $table-header-border: 2px solid var(--f-border-color-grid-header) !default;
6
+ $table-color-header-background: var(--fkds-color-background-secondary) !default;
7
+ $table-color-header-text: var(--fkds-color-text-primary) !default;
8
+ $table-header-border: 2px solid var(--fkds-color-border-primary) !default;
9
9
 
10
10
  // Rows
11
- $table-row-background: var(--f-background-grid-default) !default;
12
- $table-row-background-alt: var(--f-background-grid-striped) !default;
13
- $table-row-foreground: var(--f-text-color-default) !default;
14
- $table-row-separator: 1px solid var(--f-border-color-grid) !default;
11
+ $table-color-row-background: var(--fkds-color-background-primary) !default;
12
+ $table-color-row-background-alt: var(--fkds-color-background-secondary) !default;
13
+ $table-color-row-text: var(--fkds-color-text-primary) !default;
14
+ $table-row-separator: 1px solid var(--fkds-color-border-primary) !default;
@@ -12,6 +12,11 @@ $table-ng-header-separator: 1px solid var(--f-border-color-grid) !default;
12
12
  $table-ng-header-padding: core.densify(size.$padding-025) size.$padding-050 !default;
13
13
  $table-ng-header-font-weight: var(--f-font-weight-medium) !default;
14
14
 
15
+ // Column description
16
+ $table-ng-description-foreground: var(--f-text-color-discrete) !default;
17
+ $table-ng-description-background: transparent !default;
18
+ $table-ng-description-font-weight: var(--f-font-weight-normal) !default;
19
+
15
20
  .table-ng {
16
21
  border-collapse: separate;
17
22
  border-spacing: 0;
@@ -59,6 +64,14 @@ $table-ng-header-font-weight: var(--f-font-weight-medium) !default;
59
64
  }
60
65
  }
61
66
 
67
+ &__column {
68
+ &__description {
69
+ background: $table-ng-description-background;
70
+ color: $table-ng-description-foreground;
71
+ font-weight: $table-ng-description-font-weight;
72
+ }
73
+ }
74
+
62
75
  &--striped tbody {
63
76
  .table-ng__row:nth-child(even) {
64
77
  background: $table-ng-row-background-alt;
@@ -1,5 +1,5 @@
1
1
  @mixin focus-indicator() {
2
2
  border-radius: 0;
3
3
  box-shadow: var(--f-focus-box-shadow);
4
- outline: 2px solid transparent; // Windows high contrast
4
+ outline: 3px solid transparent; // Windows high contrast
5
5
  }
@@ -0,0 +1,16 @@
1
+ /* stylelint-disable no-invalid-position-declaration -- the selector is set when the mixin is included */
2
+
3
+ @mixin selected-indicator() {
4
+ @media (forced-colors: active) {
5
+ background-color: highlight;
6
+ color: highlightText;
7
+ forced-color-adjust: none;
8
+ }
9
+ }
10
+
11
+ // @param {"outline" | "border"} $stroke-type - set a hover-effect for forcedcolors-mode using a border or outline with the system color highlight.
12
+ @mixin hover-indicator($stroke-type, $stroke-width) {
13
+ @media (forced-colors: active) {
14
+ #{$stroke-type}: $stroke-width solid highlight;
15
+ }
16
+ }
@@ -1,5 +1,5 @@
1
- const stylelint = require("stylelint");
2
1
  const deprecatedVariables = require("@fkui/theme-default/dist/deprecated-variables.json");
2
+ const stylelint = require("stylelint");
3
3
 
4
4
  /**
5
5
  * @typedef { import("postcss").Root } Root
@@ -89,5 +89,5 @@ function rule(actual) {
89
89
  }
90
90
 
91
91
  module.exports = stylelint.createPlugin(ruleName, rule);
92
- module.exports.ruleName = ruleName;
93
92
  module.exports.messages = messages;
93
+ module.exports.ruleName = ruleName;