@fkui/design 6.36.1 → 6.38.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.36.1",
3
+ "version": "6.38.0",
4
4
  "description": "fkui design",
5
5
  "keywords": [
6
6
  "fkui",
@@ -39,11 +39,11 @@
39
39
  "unit:watch": "node --test --watch"
40
40
  },
41
41
  "devDependencies": {
42
- "@fkui/icon-lib-default": "6.36.1",
43
- "@fkui/theme-default": "6.36.1",
44
- "autoprefixer": "10.4.24",
42
+ "@fkui/icon-lib-default": "6.38.0",
43
+ "@fkui/theme-default": "6.38.0",
44
+ "autoprefixer": "10.4.27",
45
45
  "cssnano": "7.1.2",
46
- "glob": "13.0.3",
46
+ "glob": "13.0.6",
47
47
  "picocolors": "1.1.1",
48
48
  "postcss": "8.5.6",
49
49
  "postcss-url": "10.1.3",
@@ -51,7 +51,7 @@
51
51
  "svgo": "4.0.0"
52
52
  },
53
53
  "peerDependencies": {
54
- "@fkui/theme-default": "^6.36.1",
54
+ "@fkui/theme-default": "^6.38.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": "f7a483a5b7d9d82393aa117e737ac75f8a6b3010"
71
+ "gitHead": "ea8e50d8567159581a628106e93ac0e7c1d43a1b"
72
72
  }
@@ -88,6 +88,7 @@ $checkbox_label_offset: 0.1rem;
88
88
  }
89
89
 
90
90
  .checkbox__label {
91
+ color: $checkbox-color-text-disabled;
91
92
  cursor: default;
92
93
 
93
94
  &::before {
@@ -33,6 +33,7 @@ $EXPANDABLE_PARAGRAPH_LINE_HEIGHT: var(--f-line-height-medium);
33
33
 
34
34
  margin-top: calc((#{$EXPANDABLE_PARAGRAPH_LINE_HEIGHT} * 1em - #{$ICON_WIDTH}) / 2); // Unit "em" intended here, align icon to header
35
35
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
36
+ outline: 2px solid transparent;
36
37
  display: flex;
37
38
  color: $expandable-paragraph-icon-color-content;
38
39
  padding: 3px; // cross icon size
@@ -0,0 +1,170 @@
1
+ @use "./icon";
2
+ @use "variables" as *;
3
+
4
+ @at-root {
5
+ %icon-stack {
6
+ @extend %icon--base;
7
+
8
+ position: relative;
9
+
10
+ .icon {
11
+ position: absolute;
12
+ }
13
+ }
14
+ }
15
+
16
+ .icon-stack,
17
+ .icon--stack {
18
+ @extend %icon-stack;
19
+
20
+ &--new-window {
21
+ // anchor icons to top-right and bottom-left
22
+ .icon {
23
+ &.f-icon-new-window {
24
+ width: 55%;
25
+ height: 55%;
26
+ top: 0;
27
+ right: 0;
28
+ }
29
+
30
+ &:not(.f-icon-new-window) {
31
+ width: 83%;
32
+ height: 83%;
33
+ bottom: 0;
34
+ left: 5%;
35
+ }
36
+ }
37
+ }
38
+
39
+ &--tooltip {
40
+ .f-icon-circle {
41
+ fill: $icon-tooltip-color-background;
42
+ color: $icon-tooltip-color-border;
43
+ }
44
+
45
+ .f-icon-i {
46
+ color: $icon-tooltip-color-content;
47
+ }
48
+ }
49
+
50
+ &--info {
51
+ .f-icon-circle {
52
+ color: $icon-info-color-background;
53
+ fill: $icon-info-color-border;
54
+ }
55
+
56
+ .f-icon-i {
57
+ color: $icon-info-color-content;
58
+ }
59
+ }
60
+
61
+ &--warning {
62
+ .f-icon-circle {
63
+ color: $icon-warning-color-background;
64
+ fill: $icon-warning-color-border;
65
+ }
66
+
67
+ .f-icon-alert {
68
+ color: $icon-warning-color-content;
69
+ }
70
+ }
71
+
72
+ &--error {
73
+ .f-icon-triangle {
74
+ color: $icon-error-color-background;
75
+ fill: $icon-error-color-border;
76
+ }
77
+
78
+ .f-icon-alert {
79
+ color: $icon-error-color-content;
80
+ }
81
+ }
82
+
83
+ &--success {
84
+ .f-icon-circle {
85
+ color: $icon-success-color-background;
86
+ fill: $icon-success-color-border;
87
+ }
88
+ .f-icon-success {
89
+ color: $icon-success-color-content;
90
+ transform: scale(0.6);
91
+ }
92
+ }
93
+
94
+ @media (forced-colors: active) {
95
+ &--info,
96
+ &--warning,
97
+ &--error,
98
+ &--success {
99
+ .f-icon-circle,
100
+ .f-icon-triangle {
101
+ color: Canvas;
102
+ fill: CanvasText;
103
+ }
104
+
105
+ .f-icon-alert,
106
+ .f-icon-i,
107
+ .f-icon-success {
108
+ color: CanvasText;
109
+ }
110
+ }
111
+
112
+ &--tooltip {
113
+ .f-icon-circle {
114
+ color: Canvas;
115
+ fill: ButtonBorder;
116
+ }
117
+
118
+ .f-icon-i {
119
+ color: ButtonText;
120
+ }
121
+ }
122
+ }
123
+
124
+ &--large {
125
+ width: 2.5rem;
126
+ height: 2.5rem;
127
+
128
+ svg {
129
+ width: 100%;
130
+ height: 100%;
131
+ }
132
+ }
133
+
134
+ &--circle,
135
+ &--circle-bottom {
136
+ width: 4rem;
137
+ height: 4rem;
138
+ border-radius: 100%;
139
+ overflow: hidden;
140
+ .f-icon-circle {
141
+ color: var(--f-icon-color-success-background);
142
+ fill: var(--f-icon-color-success-background);
143
+ width: 100%;
144
+ height: 100%;
145
+ }
146
+ .icon:not(.f-icon-circle) {
147
+ color: var(--f-icon-color-success);
148
+ position: absolute;
149
+ }
150
+ }
151
+ &--circle {
152
+ .icon:not(.f-icon-circle) {
153
+ width: 100 * 0.7%;
154
+ height: 100 * 0.7%;
155
+ inset: 0;
156
+ margin: auto;
157
+ }
158
+ }
159
+
160
+ &--circle-bottom {
161
+ .icon:not(.f-icon-circle) {
162
+ width: 100 * 0.8%;
163
+ height: 100 * 0.8%;
164
+ left: 0;
165
+ right: 0;
166
+ margin: 0 auto;
167
+ bottom: 0%;
168
+ }
169
+ }
170
+ }
@@ -21,16 +21,6 @@
21
21
  transition: opacity var(--f-animation-duration-medium) ease-in-out;
22
22
  width: var(--f-icon-size-large);
23
23
  }
24
-
25
- %icon-stack {
26
- @extend %icon--base;
27
-
28
- position: relative;
29
-
30
- .icon {
31
- position: absolute;
32
- }
33
- }
34
24
  }
35
25
 
36
26
  .icon {
@@ -57,7 +47,6 @@
57
47
  }
58
48
  }
59
49
 
60
- .icon-stack,
61
50
  .icon {
62
51
  &--new-window {
63
52
  // anchor icons to top-right and bottom-left
@@ -78,110 +67,3 @@
78
67
  }
79
68
  }
80
69
  }
81
-
82
- .icon-stack,
83
- .icon--stack {
84
- @extend %icon-stack;
85
-
86
- &--tooltip {
87
- .f-icon-circle {
88
- fill: $icon-tooltip-color-background;
89
- color: $icon-tooltip-color-border;
90
- }
91
-
92
- .f-icon-i {
93
- color: $icon-tooltip-color-content;
94
- }
95
- }
96
-
97
- &--info {
98
- .f-icon-circle {
99
- color: $icon-info-color-background;
100
- fill: $icon-info-color-border;
101
- }
102
-
103
- .f-icon-i {
104
- color: $icon-info-color-content;
105
- }
106
- }
107
-
108
- &--warning {
109
- .f-icon-circle {
110
- color: $icon-warning-color-background;
111
- fill: $icon-warning-color-border;
112
- }
113
-
114
- .f-icon-alert {
115
- color: $icon-warning-color-content;
116
- }
117
- }
118
-
119
- &--error {
120
- .f-icon-triangle {
121
- color: $icon-error-color-background;
122
- fill: $icon-error-color-border;
123
- }
124
-
125
- .f-icon-alert {
126
- color: $icon-error-color-content;
127
- }
128
- }
129
-
130
- &--success {
131
- .f-icon-circle {
132
- color: $icon-success-color-background;
133
- fill: $icon-success-color-border;
134
- }
135
- .f-icon-success {
136
- color: $icon-success-color-content;
137
- transform: scale(0.6);
138
- }
139
- }
140
-
141
- &--large {
142
- width: 2.5rem;
143
- height: 2.5rem;
144
-
145
- svg {
146
- width: 100%;
147
- height: 100%;
148
- }
149
- }
150
-
151
- &--circle,
152
- &--circle-bottom {
153
- width: 4rem;
154
- height: 4rem;
155
- border-radius: 100%;
156
- overflow: hidden;
157
- .f-icon-circle {
158
- color: var(--f-icon-color-success-background);
159
- fill: var(--f-icon-color-success-background);
160
- width: 100%;
161
- height: 100%;
162
- }
163
- .icon:not(.f-icon-circle) {
164
- color: var(--f-icon-color-success);
165
- position: absolute;
166
- }
167
- }
168
- &--circle {
169
- .icon:not(.f-icon-circle) {
170
- width: 100 * 0.7%;
171
- height: 100 * 0.7%;
172
- inset: 0;
173
- margin: auto;
174
- }
175
- }
176
-
177
- &--circle-bottom {
178
- .icon:not(.f-icon-circle) {
179
- width: 100 * 0.8%;
180
- height: 100 * 0.8%;
181
- left: 0;
182
- right: 0;
183
- margin: 0 auto;
184
- bottom: 0%;
185
- }
186
- }
187
- }
@@ -1 +1,2 @@
1
1
  @use "icon";
2
+ @use "icon-stack";
@@ -2,6 +2,7 @@
2
2
  @use "../message-box/message-box";
3
3
  @use "../z-index";
4
4
  @use "../icon/icon";
5
+ @use "../icon/icon-stack";
5
6
 
6
7
  // @at-root is used to set these classes globally due to styling scope issue where the component is used out of the styling scope
7
8
  @at-root {
@@ -7,7 +7,7 @@ $page-header-separator-width: 1px !default;
7
7
  display: flex;
8
8
  flex-direction: row;
9
9
  width: 100%;
10
- color: $pageheader-color-text-inverted;
10
+ color: $pageheader-color-text;
11
11
  background-color: $pageheader-color-background;
12
12
  padding: size.$padding-100 0 size.$padding-100 size.$padding-100;
13
13
  align-items: center;
@@ -25,7 +25,6 @@ $page-header-separator-width: 1px !default;
25
25
  }
26
26
  &::after {
27
27
  content: " ";
28
- background-color: $pageheader-color-separator-inverted;
29
28
  height: 1.38rem;
30
29
  padding: calc($page-header-separator-width / 2);
31
30
  margin: 0 size.$padding-100 0.155rem;
@@ -37,7 +36,7 @@ $page-header-separator-width: 1px !default;
37
36
  margin: 0;
38
37
  font-size: var(--f-font-size-h3);
39
38
  font-weight: var(--f-font-weight-medium);
40
- color: $pageheader-appname-color-text-inverted;
39
+ color: $pageheader-appname-color-text;
41
40
  white-space: nowrap;
42
41
  overflow: hidden;
43
42
  text-overflow: ellipsis;
@@ -1,4 +1,3 @@
1
- $pageheader-color-text-inverted: var(--fkds-color-text-inverted) !default;
2
- $pageheader-appname-color-text-inverted: var(--fkds-color-text-inverted) !default;
3
- $pageheader-color-separator-inverted: var(--fkds-color-border-inverted) !default;
1
+ $pageheader-color-text: var(--fkds-color-header-text-primary) !default;
2
+ $pageheader-appname-color-text: var(--fkds-color-header-text-primary) !default;
4
3
  $pageheader-color-background: var(--fkds-color-header-background-primary) !default;
@@ -1,4 +1,5 @@
1
1
  @use "../../core";
2
+ @use "../../core/mixins/forcedcolors";
2
3
  @use "../../core/size";
3
4
  @use "variables" as *;
4
5
 
@@ -27,7 +28,7 @@ $paginator-width-full: $button-width + $gap-size + $page-width * $number-of-page
27
28
  &__page,
28
29
  &__previous,
29
30
  &__next {
30
- border: none;
31
+ border: 2px solid transparent;
31
32
  color: var(--fkds-color-text-primary);
32
33
  height: $button-height;
33
34
  background-color: transparent;
@@ -38,10 +39,12 @@ $paginator-width-full: $button-width + $gap-size + $page-width * $number-of-page
38
39
  &--active {
39
40
  color: var(--fkds-color-action-text-inverted-default);
40
41
  background-color: var(--fkds-color-action-background-primary-default);
42
+ @include forcedcolors.selected-indicator;
41
43
  }
42
44
 
43
45
  &:hover:enabled:not(&--active) {
44
46
  background-color: var(--fkds-color-action-background-secondary-hover);
47
+ @include forcedcolors.hover-indicator(border, 2px);
45
48
  }
46
49
  }
47
50
 
@@ -83,7 +83,9 @@ $radio_button_label_offset: 0.1rem;
83
83
  }
84
84
 
85
85
  .radio-button__label {
86
+ color: $radio-button-color-text-disabled;
86
87
  cursor: default;
88
+
87
89
  &::before,
88
90
  &::after {
89
91
  background: $radio-button-color-background-disabled;
@@ -1,18 +1,24 @@
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
+ }
19
+
20
+ &:not(&--menu-open):hover:has(button) {
21
+ background: $table-ng-cell-color-hover-background;
16
22
  }
17
23
 
18
24
  input,
@@ -42,67 +48,87 @@ $horizontal-padding: size.$padding-050;
42
48
  }
43
49
  }
44
50
 
45
- &--select {
46
- .table-ng__editable__icon--active {
47
- rotate: 180deg;
48
- }
49
- }
50
-
51
51
  &--select,
52
52
  &--text {
53
- padding: 0 0.25rem;
53
+ padding: 0;
54
54
 
55
- &:focus-visible {
56
- .table-ng__editable__icon {
57
- visibility: visible;
58
- }
55
+ &:hover {
56
+ background: $table-ng-cell-color-hover-background;
59
57
  }
60
58
 
61
- &:hover {
59
+ &:focus,
60
+ &:focus-within {
62
61
  .table-ng__editable {
63
- @extend %text-hover-state;
62
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
63
+ border-radius: 0;
64
64
  }
65
65
  }
66
66
  }
67
67
 
68
+ .table-ng__editable {
69
+ &:focus-within {
70
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
71
+ border-radius: 0;
72
+ }
73
+
74
+ &:hover {
75
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
76
+ border-radius: 0;
77
+ }
78
+ }
79
+
68
80
  &--text {
69
81
  &:focus-visible {
70
- outline: none !important;
71
82
  box-shadow: none !important;
72
83
  }
73
84
 
74
85
  &.table-ng__cell--error:not(:focus-within) {
75
86
  .table-ng__editable {
76
- @extend %text-error-state;
87
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
88
+ border-radius: 0;
77
89
  }
78
90
  }
79
91
 
80
92
  &.table-ng__cell--error:hover:not(:focus-within) {
81
93
  .table-ng__editable {
82
- @extend %text-error-state;
94
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
95
+ border-radius: 0;
83
96
  }
84
97
  }
85
98
 
86
99
  &.table-ng__cell--error:focus {
87
100
  .table-ng__editable {
88
- @extend %text-error-state;
101
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-error;
102
+ border-radius: 0;
89
103
  }
90
104
  }
91
105
 
92
106
  .table-ng__editable {
93
- border-width: 2px;
94
- border-style: solid;
95
- border-color: transparent;
107
+ border: 3px solid transparent;
108
+ box-sizing: border-box;
109
+ position: relative;
96
110
 
97
111
  &:focus-within {
112
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
113
+ border-radius: 0;
114
+
98
115
  .table-ng__editable__text {
99
- display: none;
116
+ visibility: hidden;
100
117
  }
101
118
 
102
119
  .table-ng__textedit {
103
- flex: 1 0 auto;
120
+ position: absolute;
121
+ inset: 0;
122
+ width: 100%;
123
+ min-width: 0;
124
+ padding: $vertical-padding $horizontal-padding;
104
125
  }
105
126
  }
127
+
128
+ &:hover {
129
+ box-shadow: inset 0 (-$underline-thickness) 0 0 $table-ng-cell-color-underline;
130
+ border-radius: 0;
131
+ }
106
132
  }
107
133
  }
108
134
 
@@ -115,6 +141,12 @@ $horizontal-padding: size.$padding-050;
115
141
  height: var(--f-icon-size-medium);
116
142
  width: var(--f-icon-size-medium);
117
143
  vertical-align: middle;
144
+ accent-color: $table-ng-button-primary-color-background-default;
145
+ }
146
+
147
+ &:hover {
148
+ background: $table-ng-cell-color-hover-background;
149
+ accent-color: $table-ng-button-primary-color-background-hover;
118
150
  }
119
151
  }
120
152
 
@@ -127,7 +159,11 @@ $horizontal-padding: size.$padding-050;
127
159
  min-width: var(--f-icon-size-medium);
128
160
  width: 100%;
129
161
  background: inherit;
162
+ color: $table-ng-button-primary-color-background-default;
130
163
  cursor: pointer;
164
+ &:hover {
165
+ color: $table-ng-button-primary-color-background-hover;
166
+ }
131
167
 
132
168
  svg {
133
169
  vertical-align: middle;
@@ -142,6 +178,10 @@ $horizontal-padding: size.$padding-050;
142
178
 
143
179
  &--selectable {
144
180
  width: var(--f-icon-size-medium);
181
+
182
+ &:hover {
183
+ background: $table-ng-cell-color-hover-background;
184
+ }
145
185
  }
146
186
 
147
187
  &--rowheader {
@@ -151,11 +191,24 @@ $horizontal-padding: size.$padding-050;
151
191
 
152
192
  &--custom {
153
193
  padding: $vertical-padding $horizontal-padding;
154
- border: 2px solid transparent;
194
+ border: 1px solid transparent;
155
195
 
156
196
  &:focus {
157
197
  box-shadow: none;
158
- border: 2px solid var(--f-color-focus);
198
+ outline: 3px solid $table-ng-cell-color-outline;
199
+ }
200
+ }
201
+
202
+ &--menu-open,
203
+ &--menu-open:hover {
204
+ background: $table-ng-cell-color-active-menu;
205
+
206
+ .icon-button {
207
+ color: $table-ng-cell-color-active-menu-text;
208
+ }
209
+
210
+ .table-ng__editable:hover {
211
+ background: transparent;
159
212
  }
160
213
  }
161
214
  }
@@ -169,7 +222,6 @@ $horizontal-padding: size.$padding-050;
169
222
 
170
223
  &:focus {
171
224
  box-shadow: none !important;
172
- outline: none !important;
173
225
  }
174
226
  }
175
227
 
@@ -178,10 +230,6 @@ $horizontal-padding: size.$padding-050;
178
230
  display: flex;
179
231
  align-items: center;
180
232
 
181
- &:hover:not(:focus-within) &__icon {
182
- visibility: visible;
183
- }
184
-
185
233
  &__text {
186
234
  flex: 1 1 auto;
187
235
  }
@@ -192,19 +240,20 @@ $horizontal-padding: size.$padding-050;
192
240
  font-feature-settings: "tnum" 1;
193
241
  }
194
242
  }
195
-
196
- &__icon {
197
- visibility: hidden;
198
- margin-left: 1rem;
199
- flex: none;
200
- color: var(--fkds-color-action-text-primary-default);
201
- }
202
243
  }
203
244
 
204
- %text-hover-state {
205
- background: var(--fkds-color-action-background-secondary-hover);
206
- }
245
+ @media (forced-colors: active) {
246
+ .table-ng__editable {
247
+ forced-color-adjust: none;
248
+ border-bottom-color: transparent;
249
+ border-bottom-width: 0;
250
+ }
207
251
 
208
- %text-error-state {
209
- border-bottom-color: var(--fkds-color-feedback-text-negative);
252
+ .table-ng__cell--text:hover .table-ng__editable,
253
+ .table-ng__cell--select:hover .table-ng__editable,
254
+ .table-ng__cell--text:focus-within .table-ng__editable,
255
+ .table-ng__cell--select:focus-within .table-ng__editable {
256
+ box-shadow: inset 0 (-$underline-thickness) 0 0 Highlight;
257
+ border-radius: 0;
258
+ }
210
259
  }