@fkui/design 5.36.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.
Files changed (133) hide show
  1. package/LICENSE.md +7 -0
  2. package/README.md +3 -0
  3. package/lib/fkui-exp.css +7818 -0
  4. package/lib/fkui-exp.min.css +1 -0
  5. package/lib/fkui-int.css +7818 -0
  6. package/lib/fkui-int.min.css +1 -0
  7. package/lib/fonts.css +3 -0
  8. package/lib/fonts.min.css +1 -0
  9. package/package.json +70 -0
  10. package/src/_core.scss +1 -0
  11. package/src/assets/images/fk-logo-default.svg +22 -0
  12. package/src/assets/images/fk-logo-primary-large.svg +161 -0
  13. package/src/assets/images/fk-logo-primary-small.svg +1 -0
  14. package/src/assets/images/fk-logo-primary.svg +23 -0
  15. package/src/assets/images/fk-logo-small.svg +5 -0
  16. package/src/components/_all.scss +60 -0
  17. package/src/components/_z-index.scss +6 -0
  18. package/src/components/anchor/_anchor.scss +27 -0
  19. package/src/components/badge/_badge.scss +72 -0
  20. package/src/components/button/_button.scss +497 -0
  21. package/src/components/calendar-day/_calendar-day.scss +86 -0
  22. package/src/components/calendar-deprecated/_calendar-deprecated.scss +628 -0
  23. package/src/components/card/_card.scss +51 -0
  24. package/src/components/checkbox/_all.scss +2 -0
  25. package/src/components/checkbox/_checkbox-group.scss +18 -0
  26. package/src/components/checkbox/_checkbox.scss +111 -0
  27. package/src/components/chip/_chip.scss +91 -0
  28. package/src/components/close-button/_close-button.scss +16 -0
  29. package/src/components/contextmenu/_contextmenu.scss +54 -0
  30. package/src/components/crud-dataset/_crud-dataset.scss +18 -0
  31. package/src/components/datepicker-field/_datepicker-field.scss +76 -0
  32. package/src/components/dialogue-tree/_dialogue-tree.scss +54 -0
  33. package/src/components/entrypoint/_entrypoint.scss +40 -0
  34. package/src/components/error-list/_error-list.scss +54 -0
  35. package/src/components/expandable-panel/_expandable-panel.scss +113 -0
  36. package/src/components/expandable-paragraph/_expandable-paragraph.scss +97 -0
  37. package/src/components/fieldset/_fieldset.scss +22 -0
  38. package/src/components/file-item/_file-item.scss +80 -0
  39. package/src/components/file-selector/_file-selector.scss +28 -0
  40. package/src/components/file-uploader/_file-uploader.scss +7 -0
  41. package/src/components/form/_all.scss +2 -0
  42. package/src/components/form/_form-step.scss +91 -0
  43. package/src/components/form/_form.scss +8 -0
  44. package/src/components/group/_group.scss +8 -0
  45. package/src/components/icon/_icon.scss +175 -0
  46. package/src/components/indent/_indent.scss +11 -0
  47. package/src/components/label/_label.scss +47 -0
  48. package/src/components/layout-application-template/_layout-application-template.scss +75 -0
  49. package/src/components/layout-navigation/_layout-navigation.scss +124 -0
  50. package/src/components/layout-secondary/_layout-secondary.scss +129 -0
  51. package/src/components/list/_list.scss +117 -0
  52. package/src/components/loader/_loader.scss +179 -0
  53. package/src/components/message-box/_message-box.scss +121 -0
  54. package/src/components/modal/_modal.scss +190 -0
  55. package/src/components/navbar/_navbar-header.scss +77 -0
  56. package/src/components/navbar/_navbar-nav.scss +30 -0
  57. package/src/components/navbar/_navbar.scss +71 -0
  58. package/src/components/offline/_offline.scss +40 -0
  59. package/src/components/output-field/_output-field.scss +23 -0
  60. package/src/components/page-header/_page-header.scss +96 -0
  61. package/src/components/progressbar/_progressbar.scss +34 -0
  62. package/src/components/radio-button/_all.scss +2 -0
  63. package/src/components/radio-button/_item.scss +54 -0
  64. package/src/components/radio-button/_radio-button-group.scss +38 -0
  65. package/src/components/radio-button/_radio-button.scss +106 -0
  66. package/src/components/select-field/_select-field.scss +88 -0
  67. package/src/components/sort-filter-dataset/_sort-filter-dataset.scss +70 -0
  68. package/src/components/static-panel/_static-panel.scss +31 -0
  69. package/src/components/table/_table.scss +415 -0
  70. package/src/components/text-field/_text-field.scss +127 -0
  71. package/src/components/textarea-field/_textarea-field.scss +55 -0
  72. package/src/components/tooltip/_tooltip.scss +87 -0
  73. package/src/components/wizard/_all.scss +2 -0
  74. package/src/components/wizard/_wizard-step.scss +318 -0
  75. package/src/components/wizard/_wizard.scss +5 -0
  76. package/src/core/_all.scss +6 -0
  77. package/src/core/_config-variables.scss +23 -0
  78. package/src/core/_density.scss +11 -0
  79. package/src/core/_global.scss +47 -0
  80. package/src/core/_mixins.scss +8 -0
  81. package/src/core/_reset.scss +60 -0
  82. package/src/core/_size.scss +23 -0
  83. package/src/core/helpers/_all.scss +2 -0
  84. package/src/core/helpers/_helpers.scss +19 -0
  85. package/src/core/helpers/accessibility/_all.scss +2 -0
  86. package/src/core/helpers/accessibility/_focus.scss +24 -0
  87. package/src/core/helpers/accessibility/_screenreader.scss +11 -0
  88. package/src/core/layout/_all.scss +2 -0
  89. package/src/core/layout/grid/_all.scss +1 -0
  90. package/src/core/layout/grid/_grid.scss +135 -0
  91. package/src/core/layout/positioning/_all.scss +1 -0
  92. package/src/core/layout/positioning/_positioning.scss +16 -0
  93. package/src/core/mixins/_all.scss +9 -0
  94. package/src/core/mixins/_anchor.scss +17 -0
  95. package/src/core/mixins/_arrow-creator.scss +51 -0
  96. package/src/core/mixins/_breakpoints.scss +42 -0
  97. package/src/core/mixins/_button.scss +78 -0
  98. package/src/core/mixins/_button_icon.scss +51 -0
  99. package/src/core/mixins/_circle.scss +21 -0
  100. package/src/core/mixins/_focus.scss +4 -0
  101. package/src/core/mixins/_label-inline.scss +19 -0
  102. package/src/core/mixins/_sr-only.scss +11 -0
  103. package/src/core/typography/_all.scss +1 -0
  104. package/src/core/typography/_headings.scss +88 -0
  105. package/src/core/utils/_all.scss +1 -0
  106. package/src/core/utils/_functions.scss +41 -0
  107. package/src/fkui-exp.scss +1 -0
  108. package/src/fkui-int.scss +1 -0
  109. package/src/fkui.scss +3 -0
  110. package/src/fonts.scss +3 -0
  111. package/src/internal-components/IFlex/_iflex.scss +98 -0
  112. package/src/internal-components/IMenu/_imenu.scss +106 -0
  113. package/src/internal-components/IPopupMenu/_ipopupmenu.scss +50 -0
  114. package/src/internal-components/ISkipLink/_iskiplink.scss +16 -0
  115. package/src/internal-components/_all.scss +11 -0
  116. package/src/internal-components/animate-expand/_animate-expand.scss +17 -0
  117. package/src/internal-components/calendar/_calendar.scss +7 -0
  118. package/src/internal-components/calendar-month/_month.scss +74 -0
  119. package/src/internal-components/calendar-navbar/_navbar.scss +55 -0
  120. package/src/internal-components/popup/_popup.scss +35 -0
  121. package/src/internal-components/popupError/_popuperror.scss +116 -0
  122. package/src/internal-components/popupError/arrows/_bottom-before.scss +22 -0
  123. package/src/internal-components/popupError/arrows/_bottom.scss +19 -0
  124. package/src/internal-components/popupError/arrows/_left-before.scss +22 -0
  125. package/src/internal-components/popupError/arrows/_left.scss +19 -0
  126. package/src/internal-components/popupError/arrows/_right-before.scss +22 -0
  127. package/src/internal-components/popupError/arrows/_right.scss +19 -0
  128. package/src/internal-components/popupError/arrows/_top-before.scss +22 -0
  129. package/src/internal-components/popupError/arrows/_top.scss +19 -0
  130. package/stylelint/index.js +3 -0
  131. package/stylelint/recommended.js +6 -0
  132. package/stylelint/rules/deprecatedVariable/index.js +93 -0
  133. package/stylelint/rules/index.js +3 -0
@@ -0,0 +1,190 @@
1
+ @use "sass:map";
2
+ @use "../../core/size";
3
+ @use "../z-index";
4
+ @use "../../core/mixins/breakpoints";
5
+
6
+ $MODAL_SELECTOR: ".modal" !default;
7
+ $modal-sizes: (
8
+ "small": var(--f-modal-size-small),
9
+ "medium": var(--f-modal-size-medium),
10
+ "large": var(--f-modal-size-large),
11
+ "fullwidth": var(--f-modal-size-fullwidth),
12
+ ) !default;
13
+ $modal-width: calc(100vw - 40px) !default; // 100% - 20px each side;
14
+
15
+ // @at-root is used to set these classes globally due to styling scope issue where the component is used out of the styling scope
16
+ @at-root {
17
+ #{$MODAL_SELECTOR} {
18
+ &__open {
19
+ // both of these properties is used to prevent scrolling in the background
20
+ overflow: hidden;
21
+ position: fixed;
22
+ left: 0;
23
+ right: 0;
24
+ }
25
+ }
26
+ }
27
+
28
+ #{$MODAL_SELECTOR} {
29
+ &__backdrop {
30
+ background: var(--f-background-overlay);
31
+ display: flex;
32
+ height: 100%;
33
+ inset: 0;
34
+ position: fixed;
35
+ width: 100%;
36
+ z-index: z-index.$MODAL_BACKDROP_ZINDEX;
37
+ }
38
+
39
+ &__outer-container {
40
+ align-items: center;
41
+ display: flex;
42
+ height: 100%;
43
+ justify-content: center;
44
+ overflow: auto;
45
+ width: 100%;
46
+ }
47
+
48
+ &__inner-container {
49
+ align-items: center;
50
+ justify-content: center;
51
+ max-height: 100%;
52
+ width: 100%;
53
+ }
54
+
55
+ &__shelf {
56
+ justify-content: flex-end;
57
+ display: flex;
58
+ background-color: var(--f-background-modal-shelf);
59
+ border-top-left-radius: var(--f-border-radius-medium);
60
+ border-top-right-radius: var(--f-border-radius-medium);
61
+ margin-bottom: size.$margin-100;
62
+ }
63
+
64
+ &__header {
65
+ display: flex;
66
+ font-size: var(--f-font-size-h4);
67
+ margin-bottom: size.$margin-050;
68
+ width: 100%;
69
+
70
+ #{$MODAL_SELECTOR}__title {
71
+ font-size: var(--f-modal-title-font-size);
72
+ margin-bottom: 0;
73
+ margin-top: 0;
74
+ color: var(--f-text-color-default);
75
+ }
76
+ }
77
+
78
+ &__dialog-container {
79
+ background: transparent;
80
+ display: flex;
81
+ margin: auto;
82
+ width: $modal-width;
83
+
84
+ // desktop sizes
85
+ @include breakpoints.breakpoint-up(md) {
86
+ max-width: map.get($modal-sizes, "small");
87
+
88
+ @each $key, $size in $modal-sizes {
89
+ &--#{$key} {
90
+ max-width: $size;
91
+ }
92
+ }
93
+
94
+ // @deprecated alias, use --large (to be removed in fkui 4.x)
95
+ &-large {
96
+ max-width: map.get($modal-sizes, "large");
97
+ }
98
+
99
+ // @deprecated alias, use --fullwidth (to be removed in fkui 4.x)
100
+ &-fullscreen {
101
+ max-width: map.get($modal-sizes, "fullwidth");
102
+ }
103
+ }
104
+
105
+ // mobile sizes
106
+ @include breakpoints.breakpoint-down(sm) {
107
+ &--fullscreen {
108
+ width: 100%;
109
+ max-width: none;
110
+
111
+ #{$MODAL_SELECTOR}__dialog {
112
+ min-height: 100vh;
113
+ }
114
+
115
+ #{$MODAL_SELECTOR}__dialog-inner {
116
+ flex: 1 1 auto;
117
+ display: flex;
118
+ flex-direction: column;
119
+ }
120
+
121
+ #{$MODAL_SELECTOR}__content {
122
+ flex: 1 1 auto;
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ &__dialog {
129
+ background: var(--f-background-content);
130
+ border-radius: var(--f-border-radius-medium);
131
+ display: flex;
132
+ flex-direction: column-reverse;
133
+ height: auto;
134
+ margin: auto;
135
+ width: 100%;
136
+ position: relative;
137
+ z-index: z-index.$MODAL_ZINDEX;
138
+
139
+ #{$MODAL_SELECTOR}__dialog-inner {
140
+ height: auto;
141
+ margin: 0 size.$margin-150 size.$margin-150;
142
+
143
+ @include breakpoints.breakpoint-down(sm) {
144
+ margin: 0 size.$margin-100 size.$margin-100;
145
+ }
146
+ }
147
+
148
+ #{$MODAL_SELECTOR}__footer {
149
+ margin-top: size.$margin-200;
150
+
151
+ > .button-group {
152
+ margin-bottom: 0;
153
+
154
+ .button-group__item:last-child:not(.button--small, .button--medium) {
155
+ margin-bottom: 0;
156
+ }
157
+
158
+ @include breakpoints.breakpoint-up(md) {
159
+ .button-group__item {
160
+ margin-bottom: 0;
161
+ }
162
+ }
163
+ }
164
+ }
165
+
166
+ /// Upper close button-group
167
+ > .button-group {
168
+ margin: 0;
169
+
170
+ .button-group__item:last-child {
171
+ margin: var(--f-modal-close-button-margin);
172
+ padding: var(--f-modal-close-button-padding);
173
+ }
174
+ }
175
+ }
176
+
177
+ &--information {
178
+ --f-background-modal-shelf: var(--f-border-color-info);
179
+ --f-text-color-close-button: var(--f-text-color-default-inverted);
180
+ }
181
+
182
+ &--warning {
183
+ --f-background-modal-shelf: var(--f-border-color-warning);
184
+ }
185
+
186
+ &--error {
187
+ --f-background-modal-shelf: var(--f-border-color-error);
188
+ --f-text-color-close-button: var(--f-text-color-default-inverted);
189
+ }
190
+ }
@@ -0,0 +1,77 @@
1
+ @use "../../core/size";
2
+ @use "../../core/config-variables" as config;
3
+ @use "../../core/mixins/breakpoints" as bp;
4
+
5
+ $navbar-header-separator-width: 2px !default;
6
+
7
+ .navbar__header {
8
+ color: var(--f-text-color-pageheader);
9
+ background-color: var(--f-background-pageheader-standard);
10
+ padding: size.$padding-025;
11
+ height: calc(4 * size.$padding-125);
12
+ display: flex;
13
+
14
+ &-logo,
15
+ &-logo--small {
16
+ min-width: size.$padding-125;
17
+ justify-content: flex-start;
18
+ margin: size.$margin-075 size.$margin-175;
19
+ background-repeat: no-repeat;
20
+ background-size: contain;
21
+ background-position: center;
22
+ }
23
+
24
+ &-logo {
25
+ background-image: url("#{config.$asset-path-images}/fk-logo-primary.svg");
26
+ flex-grow: 0.3;
27
+
28
+ @include bp.breakpoint-down(lg) {
29
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
30
+ flex-grow: 0.03;
31
+ min-width: size.$padding-175;
32
+ }
33
+
34
+ &--small {
35
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
36
+ flex-grow: 0.03;
37
+ }
38
+ }
39
+
40
+ &-logo,
41
+ &-start,
42
+ &-end {
43
+ display: flex;
44
+ align-items: center;
45
+ }
46
+
47
+ &-start {
48
+ justify-content: flex-start;
49
+ flex-grow: 0;
50
+
51
+ &::before {
52
+ content: " ";
53
+ background-color: var(--f-border-color-separator-pageheader-standard);
54
+ position: relative;
55
+ height: 80%;
56
+ width: $navbar-header-separator-width;
57
+ }
58
+ }
59
+
60
+ &-end {
61
+ justify-content: flex-end;
62
+ flex-grow: 1;
63
+ }
64
+
65
+ &-item {
66
+ padding: size.$padding-075 size.$padding-175;
67
+ }
68
+
69
+ &-app-name {
70
+ margin: 0;
71
+ font-size: var(--f-font-size-h4);
72
+ }
73
+
74
+ &--separator {
75
+ border-bottom: $navbar-header-separator-width solid var(--f-border-color-separator-pageheader-standard);
76
+ }
77
+ }
@@ -0,0 +1,30 @@
1
+ @use "../../core/size";
2
+
3
+ $navbar-item-border-bottom-width: 2px !default;
4
+
5
+ .navbar__nav {
6
+ color: var(--f-text-color-navbar);
7
+ background-color: var(--f-background-navbar);
8
+ display: flex;
9
+ align-items: center;
10
+
11
+ &-item {
12
+ height: inherit;
13
+ padding: 0 size.$padding-200 size.$padding-025;
14
+ cursor: pointer;
15
+ display: flex;
16
+ align-items: center;
17
+
18
+ &:hover {
19
+ background-color: var(--f-background-navbar-hover);
20
+ border-bottom: $navbar-item-border-bottom-width solid var(--f-border-color-navbar-hover);
21
+ color: var(--f-text-color-navbar-active);
22
+ }
23
+
24
+ &--active {
25
+ border-bottom: $navbar-item-border-bottom-width solid var(--f-border-color-navbar-active);
26
+ color: var(--f-text-color-navbar-active);
27
+ font-weight: bold;
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,71 @@
1
+ @use "../../core/size";
2
+ @use "../../core/config-variables" as config;
3
+ @use "../../core/mixins/breakpoints" as bp;
4
+
5
+ @import "navbar-header";
6
+ @import "navbar-nav";
7
+
8
+ $NAVBAR_SELECTOR: ".navbar" !default;
9
+
10
+ #{$NAVBAR_SELECTOR} {
11
+ &--primary {
12
+ .navbar__header {
13
+ color: var(--f-text-color-default-inverted);
14
+ background-color: var(--f-background-pageheader-primary);
15
+ }
16
+
17
+ .navbar__header-app-name {
18
+ color: var(--f-text-color-default-inverted);
19
+ }
20
+
21
+ .navbar__header-logo {
22
+ background-image: url("#{config.$asset-path-images}/fk-logo-default.svg");
23
+
24
+ @include bp.breakpoint-down(lg) {
25
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
26
+ flex-grow: 0.03;
27
+ min-width: size.$padding-175;
28
+ }
29
+ }
30
+
31
+ .navbar__header-logo--small {
32
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
33
+ }
34
+
35
+ .navbar__header-start::before {
36
+ background-color: var(--f-border-color-separator-pageheader-primary);
37
+ }
38
+
39
+ .navbar__header--separator {
40
+ border-color: var(--f-border-color-separator-pageheader-primary);
41
+ }
42
+ }
43
+
44
+ &--secondary {
45
+ .navbar__header {
46
+ background-color: var(--f-background-pageheader-secondary);
47
+ }
48
+
49
+ .navbar__header-logo {
50
+ background-image: url("#{config.$asset-path-images}/fk-logo-primary.svg");
51
+
52
+ @include bp.breakpoint-down(lg) {
53
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
54
+ flex-grow: 0.03;
55
+ min-width: size.$padding-175;
56
+ }
57
+ }
58
+
59
+ .navbar__header-logo--small {
60
+ background-image: url("#{config.$asset-path-images}/fk-logo-small.svg");
61
+ }
62
+
63
+ .navbar__header-start::before {
64
+ background-color: var(--f-border-color-separator-pageheader-secondary);
65
+ }
66
+
67
+ .navbar__header--separator {
68
+ border-color: var(--f-border-color-separator-pageheader-secondary);
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,40 @@
1
+ @use "../../core/size";
2
+ @use "../message-box/message-box";
3
+ @use "../z-index";
4
+ @use "../icon/icon";
5
+
6
+ $OFFLINE_SELECTOR: ".offline" !default;
7
+
8
+ // @at-root is used to set these classes globally due to styling scope issue where the component is used out of the styling scope
9
+ @at-root {
10
+ #{$OFFLINE_SELECTOR} {
11
+ @include message-box.messagebox-banner-variant($selector: $OFFLINE_SELECTOR);
12
+
13
+ & {
14
+ padding: size.$padding-150;
15
+ }
16
+
17
+ #{$OFFLINE_SELECTOR}__icon {
18
+ margin-top: 0;
19
+ }
20
+
21
+ // Since @at-root is used also icon classes being used by the component must be redefined,
22
+ // because they might not exist at the global scope.
23
+ .icon {
24
+ @extend %icon--base;
25
+ }
26
+
27
+ .icon-stack {
28
+ @extend %icon-stack;
29
+ }
30
+
31
+ &__wrapper {
32
+ position: fixed;
33
+ position: sticky;
34
+ z-index: z-index.$OFFLINE_ZINDEX;
35
+ right: 0;
36
+ top: 0;
37
+ left: 0;
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,23 @@
1
+ @use "../../core/config-variables";
2
+ @use "../../core/utils/functions" as *;
3
+
4
+ $OUTPUT_FIELD_SELECTOR: ".output-field" !default;
5
+
6
+ #{$OUTPUT_FIELD_SELECTOR} {
7
+ display: flex;
8
+ flex-direction: column;
9
+ justify-content: flex-end;
10
+ line-height: max(1, densify(var(--f-line-height-large)));
11
+ margin: 0 0 densify(var(--f-margin-component-bottom));
12
+ position: relative;
13
+ width: var(--f-width-full);
14
+
15
+ &__output {
16
+ line-height: max(1, densify(var(--f-line-height-large)));
17
+ font-size: var(--f-font-size-standard);
18
+ min-height: var(--f-height-medium);
19
+ position: relative;
20
+ width: var(--f-width-full);
21
+ margin-bottom: 0;
22
+ }
23
+ }
@@ -0,0 +1,96 @@
1
+ @use "../../core/size";
2
+ @use "../../core/mixins/breakpoints";
3
+ @use "../../core/config-variables";
4
+
5
+ $assets-primary-logo-path: "#{config-variables.$asset-path}/infrastructure/web/assets/images" !default;
6
+ $PAGE_HEADER_SELECTOR: ".page-header" !default;
7
+ $page-header-separator-width: 1px !default;
8
+ $page-header-logo-small-size: 0.8rem;
9
+ $page-header-logo-large-size: 12.39rem;
10
+ $fk-logo-small: "fk-logo-primary-small.svg";
11
+ $fk-logo-large: "fk-logo-primary-large.svg";
12
+
13
+ #{$PAGE_HEADER_SELECTOR} {
14
+ display: flex;
15
+ flex-direction: row;
16
+ width: 100%;
17
+ color: var(--f-text-color-default-inverted);
18
+ background-color: var(--f-background-pageheader-primary);
19
+ padding: size.$padding-100 0 size.$padding-100 size.$padding-100;
20
+ align-items: center;
21
+ overflow: hidden;
22
+
23
+ &__logo {
24
+ display: flex;
25
+ margin: 0;
26
+ padding: 0;
27
+ align-items: center;
28
+ box-sizing: border-box;
29
+ &--small {
30
+ display: inline-block;
31
+ background-repeat: no-repeat;
32
+ background-position: center;
33
+ padding: $page-header-logo-small-size;
34
+ background-image: url("#{config-variables.$asset-path-images}/#{$fk-logo-small}");
35
+ }
36
+ &--large {
37
+ display: inline-block;
38
+ background-repeat: no-repeat;
39
+ background-position: center;
40
+ background-color: var(--f-background-pageheader-primary);
41
+ padding: $page-header-logo-small-size calc($page-header-logo-large-size / 2);
42
+ background-image: url("#{config-variables.$asset-path-images}/#{$fk-logo-large}");
43
+ }
44
+ &--responsive {
45
+ display: inline-block;
46
+ background-repeat: no-repeat;
47
+ background-position: center;
48
+ background-color: var(--f-background-pageheader-primary);
49
+ padding: $page-header-logo-small-size calc($page-header-logo-large-size / 2);
50
+ background-image: url("#{config-variables.$asset-path-images}/#{$fk-logo-large}");
51
+
52
+ @include breakpoints.breakpoint-only(sm) {
53
+ min-width: $page-header-logo-small-size;
54
+ padding: $page-header-logo-small-size;
55
+ background-image: url("#{config-variables.$asset-path-images}/#{$fk-logo-small}");
56
+ }
57
+ }
58
+ & > a {
59
+ display: inline-flex;
60
+ }
61
+ &::after {
62
+ content: " ";
63
+ background-color: var(--f-border-color-separator-pageheader-primary);
64
+ height: 1.38rem;
65
+ padding: calc($page-header-separator-width / 2);
66
+ margin: 0 size.$padding-100 0.155rem;
67
+ }
68
+ }
69
+
70
+ &__app-name {
71
+ padding-top: 0.22rem;
72
+ margin: 0;
73
+ font-size: var(--f-font-size-h3);
74
+ font-weight: var(--f-font-weight-medium);
75
+ color: var(--f-text-color-default-inverted);
76
+ white-space: nowrap;
77
+ overflow: hidden;
78
+ text-overflow: ellipsis;
79
+ min-width: 9rem;
80
+ }
81
+
82
+ &__right {
83
+ display: flex;
84
+ justify-content: flex-end;
85
+ align-items: center;
86
+ flex-grow: 1;
87
+ white-space: nowrap;
88
+ padding-top: 0.4rem;
89
+ font-size: var(--f-font-size-standard);
90
+
91
+ &-slot {
92
+ padding-left: size.$padding-100;
93
+ padding-right: size.$padding-100;
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,34 @@
1
+ @use "../../core/size";
2
+
3
+ $PROGRESS_BAR_SELECTOR: ".progress" !default;
4
+
5
+ #{$PROGRESS_BAR_SELECTOR} {
6
+ background-color: var(--f-background-progress);
7
+ border-radius: var(--f-height-medium);
8
+ box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.1);
9
+ height: var(--f-height-small);
10
+ margin-bottom: size.$margin-150;
11
+ padding: 0;
12
+
13
+ &__meter {
14
+ border-radius: var(--f-height-medium);
15
+ display: block;
16
+ float: left;
17
+ height: var(--f-height-small);
18
+ margin: calc(-1 * var(--f-border-width-small));
19
+ transition:
20
+ width var(--f-animation-duration-medium) ease-out,
21
+ background-color var(--f-animation-duration-medium) ease-out;
22
+
23
+ &--inprogress {
24
+ background: var(--f-background-progress-ongoing);
25
+ border: var(--f-border-width-small) solid var(--f-border-color-progress-ongoing);
26
+ }
27
+
28
+ &--finished {
29
+ background: var(--f-background-progress-finished);
30
+ border: var(--f-border-width-small) solid var(--f-border-color-progress-finished);
31
+ width: calc(100% + 2 * var(--f-border-width-small));
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,2 @@
1
+ @import "radio-button";
2
+ @import "radio-button-group";
@@ -0,0 +1,54 @@
1
+ @import ".././list/list";
2
+
3
+ $RADIO_BUTTON_SELECTOR: ".radio-button" !default;
4
+ $CHECKBOX_SELECTOR: ".checkbox" !default;
5
+
6
+ %selectable-item {
7
+ border: $list-border;
8
+ margin-bottom: 0;
9
+ width: 100%;
10
+ cursor: pointer;
11
+ border-bottom: none;
12
+ &:last-child {
13
+ border-bottom: $list-border;
14
+ }
15
+
16
+ input:focus + label {
17
+ outline: 2px solid var(--f-border-color-grid);
18
+ outline-offset: -2px;
19
+ }
20
+ input + label::after {
21
+ top: 0.9rem;
22
+ left: 1rem;
23
+ }
24
+ input:checked + label::after {
25
+ top: 0.9rem;
26
+ left: 1rem;
27
+ }
28
+ &:hover {
29
+ @extend %list-item-hover;
30
+ }
31
+ &:has(input:checked) {
32
+ @extend %list-item-selected;
33
+ }
34
+ label::before {
35
+ top: 0.9rem;
36
+ left: 1rem;
37
+ }
38
+ label {
39
+ padding: 1rem;
40
+ padding-left: 3rem;
41
+ width: 100%;
42
+ }
43
+ }
44
+
45
+ #{$RADIO_BUTTON_SELECTOR,
46
+ $CHECKBOX_SELECTOR} {
47
+ &__details {
48
+ display: block;
49
+ }
50
+
51
+ &__width {
52
+ width: 100%;
53
+ }
54
+ }
@@ -0,0 +1,38 @@
1
+ @use "../../core/size";
2
+ @use "../../core/mixins/breakpoints" as bp;
3
+ @import "./radio-button";
4
+ @import "./item";
5
+
6
+ $RADIO_BUTTON_GROUP_SELECTOR: ".radio-button-group" !default;
7
+
8
+ #{$RADIO_BUTTON_GROUP_SELECTOR} {
9
+ &__content {
10
+ display: flex;
11
+ flex-direction: column;
12
+ }
13
+
14
+ &--horizontal {
15
+ #{$RADIO_BUTTON_GROUP_SELECTOR}__content {
16
+ flex-direction: row;
17
+
18
+ #{$RADIO_BUTTON_SELECTOR} {
19
+ margin-bottom: 0;
20
+ }
21
+
22
+ @include bp.breakpoint-down(sm) {
23
+ flex-direction: column;
24
+
25
+ #{$RADIO_BUTTON_SELECTOR} {
26
+ margin-bottom: size.$margin-100;
27
+ }
28
+ }
29
+ }
30
+ }
31
+ &--border {
32
+ #{$RADIO_BUTTON_GROUP_SELECTOR}__content {
33
+ .radio-button {
34
+ @extend %selectable-item;
35
+ }
36
+ }
37
+ }
38
+ }