@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.
- package/LICENSE.md +7 -0
- package/README.md +3 -0
- package/lib/fkui-exp.css +7818 -0
- package/lib/fkui-exp.min.css +1 -0
- package/lib/fkui-int.css +7818 -0
- package/lib/fkui-int.min.css +1 -0
- package/lib/fonts.css +3 -0
- package/lib/fonts.min.css +1 -0
- package/package.json +70 -0
- package/src/_core.scss +1 -0
- package/src/assets/images/fk-logo-default.svg +22 -0
- package/src/assets/images/fk-logo-primary-large.svg +161 -0
- package/src/assets/images/fk-logo-primary-small.svg +1 -0
- package/src/assets/images/fk-logo-primary.svg +23 -0
- package/src/assets/images/fk-logo-small.svg +5 -0
- package/src/components/_all.scss +60 -0
- package/src/components/_z-index.scss +6 -0
- package/src/components/anchor/_anchor.scss +27 -0
- package/src/components/badge/_badge.scss +72 -0
- package/src/components/button/_button.scss +497 -0
- package/src/components/calendar-day/_calendar-day.scss +86 -0
- package/src/components/calendar-deprecated/_calendar-deprecated.scss +628 -0
- package/src/components/card/_card.scss +51 -0
- package/src/components/checkbox/_all.scss +2 -0
- package/src/components/checkbox/_checkbox-group.scss +18 -0
- package/src/components/checkbox/_checkbox.scss +111 -0
- package/src/components/chip/_chip.scss +91 -0
- package/src/components/close-button/_close-button.scss +16 -0
- package/src/components/contextmenu/_contextmenu.scss +54 -0
- package/src/components/crud-dataset/_crud-dataset.scss +18 -0
- package/src/components/datepicker-field/_datepicker-field.scss +76 -0
- package/src/components/dialogue-tree/_dialogue-tree.scss +54 -0
- package/src/components/entrypoint/_entrypoint.scss +40 -0
- package/src/components/error-list/_error-list.scss +54 -0
- package/src/components/expandable-panel/_expandable-panel.scss +113 -0
- package/src/components/expandable-paragraph/_expandable-paragraph.scss +97 -0
- package/src/components/fieldset/_fieldset.scss +22 -0
- package/src/components/file-item/_file-item.scss +80 -0
- package/src/components/file-selector/_file-selector.scss +28 -0
- package/src/components/file-uploader/_file-uploader.scss +7 -0
- package/src/components/form/_all.scss +2 -0
- package/src/components/form/_form-step.scss +91 -0
- package/src/components/form/_form.scss +8 -0
- package/src/components/group/_group.scss +8 -0
- package/src/components/icon/_icon.scss +175 -0
- package/src/components/indent/_indent.scss +11 -0
- package/src/components/label/_label.scss +47 -0
- package/src/components/layout-application-template/_layout-application-template.scss +75 -0
- package/src/components/layout-navigation/_layout-navigation.scss +124 -0
- package/src/components/layout-secondary/_layout-secondary.scss +129 -0
- package/src/components/list/_list.scss +117 -0
- package/src/components/loader/_loader.scss +179 -0
- package/src/components/message-box/_message-box.scss +121 -0
- package/src/components/modal/_modal.scss +190 -0
- package/src/components/navbar/_navbar-header.scss +77 -0
- package/src/components/navbar/_navbar-nav.scss +30 -0
- package/src/components/navbar/_navbar.scss +71 -0
- package/src/components/offline/_offline.scss +40 -0
- package/src/components/output-field/_output-field.scss +23 -0
- package/src/components/page-header/_page-header.scss +96 -0
- package/src/components/progressbar/_progressbar.scss +34 -0
- package/src/components/radio-button/_all.scss +2 -0
- package/src/components/radio-button/_item.scss +54 -0
- package/src/components/radio-button/_radio-button-group.scss +38 -0
- package/src/components/radio-button/_radio-button.scss +106 -0
- package/src/components/select-field/_select-field.scss +88 -0
- package/src/components/sort-filter-dataset/_sort-filter-dataset.scss +70 -0
- package/src/components/static-panel/_static-panel.scss +31 -0
- package/src/components/table/_table.scss +415 -0
- package/src/components/text-field/_text-field.scss +127 -0
- package/src/components/textarea-field/_textarea-field.scss +55 -0
- package/src/components/tooltip/_tooltip.scss +87 -0
- package/src/components/wizard/_all.scss +2 -0
- package/src/components/wizard/_wizard-step.scss +318 -0
- package/src/components/wizard/_wizard.scss +5 -0
- package/src/core/_all.scss +6 -0
- package/src/core/_config-variables.scss +23 -0
- package/src/core/_density.scss +11 -0
- package/src/core/_global.scss +47 -0
- package/src/core/_mixins.scss +8 -0
- package/src/core/_reset.scss +60 -0
- package/src/core/_size.scss +23 -0
- package/src/core/helpers/_all.scss +2 -0
- package/src/core/helpers/_helpers.scss +19 -0
- package/src/core/helpers/accessibility/_all.scss +2 -0
- package/src/core/helpers/accessibility/_focus.scss +24 -0
- package/src/core/helpers/accessibility/_screenreader.scss +11 -0
- package/src/core/layout/_all.scss +2 -0
- package/src/core/layout/grid/_all.scss +1 -0
- package/src/core/layout/grid/_grid.scss +135 -0
- package/src/core/layout/positioning/_all.scss +1 -0
- package/src/core/layout/positioning/_positioning.scss +16 -0
- package/src/core/mixins/_all.scss +9 -0
- package/src/core/mixins/_anchor.scss +17 -0
- package/src/core/mixins/_arrow-creator.scss +51 -0
- package/src/core/mixins/_breakpoints.scss +42 -0
- package/src/core/mixins/_button.scss +78 -0
- package/src/core/mixins/_button_icon.scss +51 -0
- package/src/core/mixins/_circle.scss +21 -0
- package/src/core/mixins/_focus.scss +4 -0
- package/src/core/mixins/_label-inline.scss +19 -0
- package/src/core/mixins/_sr-only.scss +11 -0
- package/src/core/typography/_all.scss +1 -0
- package/src/core/typography/_headings.scss +88 -0
- package/src/core/utils/_all.scss +1 -0
- package/src/core/utils/_functions.scss +41 -0
- package/src/fkui-exp.scss +1 -0
- package/src/fkui-int.scss +1 -0
- package/src/fkui.scss +3 -0
- package/src/fonts.scss +3 -0
- package/src/internal-components/IFlex/_iflex.scss +98 -0
- package/src/internal-components/IMenu/_imenu.scss +106 -0
- package/src/internal-components/IPopupMenu/_ipopupmenu.scss +50 -0
- package/src/internal-components/ISkipLink/_iskiplink.scss +16 -0
- package/src/internal-components/_all.scss +11 -0
- package/src/internal-components/animate-expand/_animate-expand.scss +17 -0
- package/src/internal-components/calendar/_calendar.scss +7 -0
- package/src/internal-components/calendar-month/_month.scss +74 -0
- package/src/internal-components/calendar-navbar/_navbar.scss +55 -0
- package/src/internal-components/popup/_popup.scss +35 -0
- package/src/internal-components/popupError/_popuperror.scss +116 -0
- package/src/internal-components/popupError/arrows/_bottom-before.scss +22 -0
- package/src/internal-components/popupError/arrows/_bottom.scss +19 -0
- package/src/internal-components/popupError/arrows/_left-before.scss +22 -0
- package/src/internal-components/popupError/arrows/_left.scss +19 -0
- package/src/internal-components/popupError/arrows/_right-before.scss +22 -0
- package/src/internal-components/popupError/arrows/_right.scss +19 -0
- package/src/internal-components/popupError/arrows/_top-before.scss +22 -0
- package/src/internal-components/popupError/arrows/_top.scss +19 -0
- package/stylelint/index.js +3 -0
- package/stylelint/recommended.js +6 -0
- package/stylelint/rules/deprecatedVariable/index.js +93 -0
- package/stylelint/rules/index.js +3 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
@use "../../core/size";
|
|
2
|
+
@use "../../core/mixins/focus" as *;
|
|
3
|
+
@use "../../core/mixins/sr-only" as *;
|
|
4
|
+
@use "../../core/utils/functions" as *;
|
|
5
|
+
|
|
6
|
+
$checkbox_label_offset: 0.1rem;
|
|
7
|
+
$CHECKBOX_SELECTOR: ".checkbox" !default;
|
|
8
|
+
|
|
9
|
+
%checkbox-icon-white {
|
|
10
|
+
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxhZ2VyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgMjAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cmVjdCB4PSIzLjQ3NCIgeT0iOS4xOTQiIGZpbGw9IiMzQzU1OTIiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiLz4KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTguMzc2LDE1LjAwNWMtMC40MTYsMC0wLjgzMi0wLjE1OC0xLjE0OS0wLjQ3NWwtMy4yNS0zLjI0M2MtMC42MzUtMC42MzQtMC42MzUtMS42NiwwLTIuMjkzCgljMC42MzUtMC42MzMsMS42NjMtMC42MzMsMi4yOTgsMGwyLjEwMSwyLjA5N2w1LjM1MS01LjM0YzAuNjM1LTAuNjM0LDEuNjYzLTAuNjM0LDIuMjk4LDBjMC42MzUsMC42MzMsMC42MzUsMS42NTksMCwyLjI5MwoJbC02LjUsNi40ODdDOS4yMDcsMTQuODQ3LDguNzkyLDE1LjAwNSw4LjM3NiwxNS4wMDV6Ii8+Cjwvc3ZnPgo=");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
#{$CHECKBOX_SELECTOR} {
|
|
14
|
+
min-height: var(--f-height-medium);
|
|
15
|
+
margin-bottom: densify(size.$margin-100);
|
|
16
|
+
|
|
17
|
+
&:last-child {
|
|
18
|
+
margin-bottom: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__input {
|
|
22
|
+
@include sr-only;
|
|
23
|
+
|
|
24
|
+
// Set height so that IE11 will scroll element into view when navigating (tab, arrow).
|
|
25
|
+
// Use 4 times the height of radio-button to ensure it is inside the view.
|
|
26
|
+
// This height will not be visible.
|
|
27
|
+
min-height: calc(4 * var(--f-height-medium));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__label {
|
|
31
|
+
// Set min-width to avoid being too small when little or no text is used.
|
|
32
|
+
min-width: 4.5rem;
|
|
33
|
+
display: inline-block;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
font-size: var(--f-font-size-standard);
|
|
36
|
+
line-height: var(--f-line-height-small);
|
|
37
|
+
padding-left: size.$padding-175;
|
|
38
|
+
padding-top: $checkbox_label_offset;
|
|
39
|
+
padding-bottom: $checkbox_label_offset;
|
|
40
|
+
position: relative;
|
|
41
|
+
|
|
42
|
+
// Safari: required to make label clickable
|
|
43
|
+
* {
|
|
44
|
+
pointer-events: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&::before,
|
|
48
|
+
&::after {
|
|
49
|
+
content: "";
|
|
50
|
+
height: var(--f-icon-size-medium);
|
|
51
|
+
left: 0;
|
|
52
|
+
margin: $checkbox_label_offset 0;
|
|
53
|
+
position: absolute;
|
|
54
|
+
top: 0;
|
|
55
|
+
width: var(--f-icon-size-medium);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&::before {
|
|
59
|
+
background: var(--f-background-input);
|
|
60
|
+
border: var(--f-border-width-medium) solid var(--f-border-color-input);
|
|
61
|
+
border-radius: var(--f-border-radius-small);
|
|
62
|
+
cursor: pointer;
|
|
63
|
+
display: block;
|
|
64
|
+
transition:
|
|
65
|
+
background-color ease var(--f-animation-duration-medium),
|
|
66
|
+
border-color ease var(--f-animation-duration-medium),
|
|
67
|
+
opacity ease var(--f-animation-duration-medium);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&::after {
|
|
71
|
+
@extend %checkbox-icon-white;
|
|
72
|
+
|
|
73
|
+
background-color: transparent;
|
|
74
|
+
opacity: 0;
|
|
75
|
+
transition: opacity ease var(--f-animation-duration-medium);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&.disabled {
|
|
80
|
+
color: var(--f-text-color-input-disabled);
|
|
81
|
+
|
|
82
|
+
#{$CHECKBOX_SELECTOR}__label {
|
|
83
|
+
cursor: default;
|
|
84
|
+
|
|
85
|
+
&::before {
|
|
86
|
+
border: var(--f-border-width-medium) solid var(--f-text-color-input-disabled);
|
|
87
|
+
cursor: inherit;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
input[type="checkbox"]:checked + label::before {
|
|
92
|
+
background: var(--f-background-input-selected-disabled);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
input[type="checkbox"]:checked + label::before {
|
|
97
|
+
background-color: var(--f-background-input-selected);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
input[type="checkbox"]:not(:checked) + #{$CHECKBOX_SELECTOR}__label::before {
|
|
101
|
+
box-shadow: var(--f-input-shadow-inset);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
input[type="checkbox"]:checked + #{$CHECKBOX_SELECTOR}__label::after {
|
|
105
|
+
opacity: 1;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
input[type="checkbox"]:focus + #{$CHECKBOX_SELECTOR}__label {
|
|
109
|
+
@include focus-indicator;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
@use "../../core/size";
|
|
2
|
+
@use "../../core/mixins/breakpoints" as bp;
|
|
3
|
+
|
|
4
|
+
$chip-border-radius: 20px;
|
|
5
|
+
|
|
6
|
+
@mixin chip($group, $item, $type) {
|
|
7
|
+
.#{$group}--chip {
|
|
8
|
+
.#{$group}__label {
|
|
9
|
+
margin-bottom: size.$margin-025;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.#{$group}__content {
|
|
13
|
+
margin: -0.25rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.#{$item} {
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: size.$padding-025;
|
|
19
|
+
|
|
20
|
+
&.disabled {
|
|
21
|
+
.#{$item}__label {
|
|
22
|
+
background: var(--f-background-button-disabled);
|
|
23
|
+
border-color: var(--f-border-color-button-disabled);
|
|
24
|
+
color: var(--f-text-color-button-disabled);
|
|
25
|
+
cursor: not-allowed;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.#{$item}__label {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
font-weight: var(--f-font-weight-medium);
|
|
35
|
+
padding: size.$padding-050 size.$padding-100;
|
|
36
|
+
border-radius: $chip-border-radius;
|
|
37
|
+
border: var(--f-border-width-medium) solid var(--f-border-color-input);
|
|
38
|
+
background-color: var(--f-background-chip);
|
|
39
|
+
color: var(--f-text-color-chip);
|
|
40
|
+
justify-content: center;
|
|
41
|
+
max-width: 400px;
|
|
42
|
+
user-select: none;
|
|
43
|
+
|
|
44
|
+
&::before,
|
|
45
|
+
&::after {
|
|
46
|
+
display: none;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
svg {
|
|
50
|
+
margin-right: size.$margin-050;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.#{$item}__label:hover {
|
|
55
|
+
border-color: var(--f-border-color-chip-hover);
|
|
56
|
+
background-color: var(--f-background-chip-hover);
|
|
57
|
+
color: var(--f-text-color-chip-hover);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
input[type="#{$type}"]:checked + .#{$item}__label {
|
|
61
|
+
background: var(--f-background-chip-active);
|
|
62
|
+
border-color: var(--f-border-color-chip-active);
|
|
63
|
+
color: var(--f-text-color-chip-active);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
input[type="#{$type}"]:focus + label.#{$item}__label {
|
|
67
|
+
border-radius: $chip-border-radius;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.#{$group}--chip.#{$group}--horizontal {
|
|
72
|
+
.#{$group}__content {
|
|
73
|
+
flex-flow: row wrap;
|
|
74
|
+
|
|
75
|
+
.#{$item} {
|
|
76
|
+
margin-bottom: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@include bp.breakpoint-down(sm) {
|
|
80
|
+
flex-flow: row wrap;
|
|
81
|
+
|
|
82
|
+
.#{$item} {
|
|
83
|
+
margin-bottom: 0;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@include chip("radio-button-group", "radio-button", "radio");
|
|
91
|
+
@include chip("checkbox-group", "checkbox", "checkbox");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.close-button {
|
|
2
|
+
align-items: center;
|
|
3
|
+
background: inherit;
|
|
4
|
+
border: none;
|
|
5
|
+
color: var(--f-text-color-close-button);
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
display: flex;
|
|
8
|
+
font-weight: 700;
|
|
9
|
+
gap: 0.5rem;
|
|
10
|
+
margin: 0.375rem;
|
|
11
|
+
padding: 0.125rem 0.625rem;
|
|
12
|
+
|
|
13
|
+
.icon {
|
|
14
|
+
min-width: var(--f-icon-size-small);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
@use "../../core/size";
|
|
2
|
+
@use "../../core/mixins/breakpoints";
|
|
3
|
+
@use "../../core/config-variables";
|
|
4
|
+
|
|
5
|
+
$CONTEXTMENU_SELECTOR: ".contextmenu" !default;
|
|
6
|
+
|
|
7
|
+
#{$CONTEXTMENU_SELECTOR} {
|
|
8
|
+
min-width: 260px;
|
|
9
|
+
background-color: var(--f-background-popupmenu);
|
|
10
|
+
|
|
11
|
+
&__list {
|
|
12
|
+
margin: 0;
|
|
13
|
+
border: 1px solid var(--f-border-color-popupmenu);
|
|
14
|
+
padding: size.$padding-050;
|
|
15
|
+
display: block;
|
|
16
|
+
list-style-type: none;
|
|
17
|
+
|
|
18
|
+
&__item {
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
white-space: normal;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
padding: size.$padding-075;
|
|
24
|
+
|
|
25
|
+
a,
|
|
26
|
+
a:visited,
|
|
27
|
+
a:active {
|
|
28
|
+
color: var(--f-text-color-popupmenu);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:hover {
|
|
32
|
+
color: var(--f-text-color-popupmenu-hover);
|
|
33
|
+
background-color: var(--f-background-popupmenu-vertical-hover);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// when desktop, long texts expands popup
|
|
37
|
+
@include breakpoints.breakpoint-up(md) {
|
|
38
|
+
white-space: nowrap;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&__separator {
|
|
44
|
+
margin: 0.75rem;
|
|
45
|
+
height: 1px;
|
|
46
|
+
border: none;
|
|
47
|
+
border-top: 1px solid var(--f-border-color-separator-contextmenu);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&__lefticon {
|
|
51
|
+
margin-right: 0.75rem;
|
|
52
|
+
min-width: var(--f-icon-size-small);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$CRUD_DATASET_SELECTOR: ".crud-dataset" !default;
|
|
2
|
+
$crud-dataset-add-button-margin-top: 0.5rem !default;
|
|
3
|
+
$crud-dataset-add-button-margin-left: 2px !default; // to line up with table or list that has 2px border
|
|
4
|
+
|
|
5
|
+
#{$CRUD_DATASET_SELECTOR} {
|
|
6
|
+
margin: 0 0 var(--f-margin-component-bottom);
|
|
7
|
+
|
|
8
|
+
&__add-button {
|
|
9
|
+
margin-bottom: 0 !important;
|
|
10
|
+
margin-top: $crud-dataset-add-button-margin-top !important;
|
|
11
|
+
margin-left: $crud-dataset-add-button-margin-left;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.list,
|
|
15
|
+
.table {
|
|
16
|
+
margin-bottom: 0;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
@use "../../core/size";
|
|
2
|
+
@use "../../core/config-variables";
|
|
3
|
+
@use "../../core/mixins/breakpoints";
|
|
4
|
+
@use "../../core/utils/functions" as *;
|
|
5
|
+
|
|
6
|
+
$DATEPICKER_FIELD_SELECTOR: ".datepicker-field" !default;
|
|
7
|
+
$POPUP_SELECTOR: ".popup" !default;
|
|
8
|
+
|
|
9
|
+
// 40px = popup spacing (20px) * 2
|
|
10
|
+
$popup-spacing: 40px;
|
|
11
|
+
$calendar-width: calc(100vw - #{$popup-spacing});
|
|
12
|
+
|
|
13
|
+
#{$DATEPICKER_FIELD_SELECTOR} {
|
|
14
|
+
&__button {
|
|
15
|
+
background: transparent;
|
|
16
|
+
border: 0;
|
|
17
|
+
flex: 0 0 auto;
|
|
18
|
+
padding: 0;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
|
|
21
|
+
.icon {
|
|
22
|
+
color: var(--f-icon-color-primary);
|
|
23
|
+
min-height: var(--f-icon-size-large);
|
|
24
|
+
min-width: var(--f-icon-size-large);
|
|
25
|
+
height: densify(var(--f-icon-size-x-large));
|
|
26
|
+
width: densify(var(--f-icon-size-x-large));
|
|
27
|
+
vertical-align: middle;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:disabled .icon {
|
|
31
|
+
color: var(--f-icon-color-discrete);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&__popup {
|
|
36
|
+
// 16px = popup spacing (20px) - 4px
|
|
37
|
+
margin-top: -16px;
|
|
38
|
+
border-radius: var(--f-border-radius-medium);
|
|
39
|
+
border: var(--f-border-width-small) solid var(--f-border-color-modal);
|
|
40
|
+
background-color: var(--f-background-content);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&__close {
|
|
44
|
+
display: flex;
|
|
45
|
+
justify-content: flex-end;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__close > &__close__button {
|
|
49
|
+
margin: 0;
|
|
50
|
+
padding: 1rem;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#{$POPUP_SELECTOR}--overlay #{$DATEPICKER_FIELD_SELECTOR} {
|
|
55
|
+
&__popup {
|
|
56
|
+
width: $calendar-width;
|
|
57
|
+
max-width: 28rem;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#{$POPUP_SELECTOR}--inline #{$DATEPICKER_FIELD_SELECTOR} {
|
|
62
|
+
&__popup {
|
|
63
|
+
width: 100%;
|
|
64
|
+
}
|
|
65
|
+
&__table {
|
|
66
|
+
margin-top: 0;
|
|
67
|
+
}
|
|
68
|
+
&__table .calendar-month__cell {
|
|
69
|
+
padding: 0;
|
|
70
|
+
border-bottom: unset;
|
|
71
|
+
}
|
|
72
|
+
&__table .calendar-month__header-cell {
|
|
73
|
+
background-color: unset;
|
|
74
|
+
border: unset;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.dialogue-tree {
|
|
2
|
+
margin: 0 0 var(--f-margin-component-bottom);
|
|
3
|
+
|
|
4
|
+
&__list {
|
|
5
|
+
margin-left: 0;
|
|
6
|
+
padding-left: 0;
|
|
7
|
+
list-style-type: none;
|
|
8
|
+
border-radius: 2px;
|
|
9
|
+
border: 1px solid var(--f-border-color-dialogue-tree);
|
|
10
|
+
|
|
11
|
+
&-item {
|
|
12
|
+
background-color: var(--f-background-dialogue-tree);
|
|
13
|
+
border-bottom: 1px solid var(--f-border-color-dialogue-tree);
|
|
14
|
+
padding: 0.25em;
|
|
15
|
+
height: 60px;
|
|
16
|
+
|
|
17
|
+
&:last-child {
|
|
18
|
+
border-bottom: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&:hover {
|
|
22
|
+
background-color: var(--f-background-dialogue-tree-hover);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
button {
|
|
26
|
+
padding: 0 0.75em;
|
|
27
|
+
border: 0;
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
background-color: inherit;
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: space-between;
|
|
34
|
+
|
|
35
|
+
span {
|
|
36
|
+
display: -webkit-box;
|
|
37
|
+
-webkit-line-clamp: 2;
|
|
38
|
+
-webkit-box-orient: vertical;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
font-weight: var(--f-font-weight-medium);
|
|
41
|
+
font-size: var(--f-font-size-standard);
|
|
42
|
+
color: var(--f-text-color-default);
|
|
43
|
+
text-align: left;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.icon {
|
|
48
|
+
flex-shrink: 0;
|
|
49
|
+
margin-left: 1.25rem;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@use "../button/button";
|
|
2
|
+
@use "../../core/mixins";
|
|
3
|
+
@use "../../core/size";
|
|
4
|
+
|
|
5
|
+
$ENTRYPOINT_SELECTOR: ".entrypoint" !default;
|
|
6
|
+
|
|
7
|
+
#{$ENTRYPOINT_SELECTOR} {
|
|
8
|
+
/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder -- technical debt */
|
|
9
|
+
@extend .button;
|
|
10
|
+
@include mixins.make-button-variant($ENTRYPOINT_SELECTOR, button.$button--primary...);
|
|
11
|
+
|
|
12
|
+
& {
|
|
13
|
+
text-align: left;
|
|
14
|
+
padding: size.$padding-100 calc(size.$padding-200 * 2) size.$padding-100 size.$padding-100;
|
|
15
|
+
line-height: var(--f-line-height-large);
|
|
16
|
+
width: 66.667%;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@include mixins.breakpoint-down(sm) {
|
|
20
|
+
min-width: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&--full-width {
|
|
24
|
+
min-width: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&__icon {
|
|
28
|
+
/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder -- technical debt */
|
|
29
|
+
@extend .button__icon--end;
|
|
30
|
+
|
|
31
|
+
color: var(--f-icon-color-white);
|
|
32
|
+
top: 50%;
|
|
33
|
+
transform: translate(0, -50%);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&:hover {
|
|
37
|
+
// override anchor's underline hover effect
|
|
38
|
+
padding-bottom: size.$padding-100;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
@use "../../core/config-variables";
|
|
2
|
+
@use "../../core/size";
|
|
3
|
+
@use "../../core/utils/functions" as *;
|
|
4
|
+
|
|
5
|
+
$ERROR_LIST_SELECTOR: ".error-list" !default;
|
|
6
|
+
|
|
7
|
+
#{$ERROR_LIST_SELECTOR} {
|
|
8
|
+
color: var(--f-text-color-error);
|
|
9
|
+
margin: 0 0 densify(var(--f-margin-component-bottom));
|
|
10
|
+
|
|
11
|
+
&--list-style-none {
|
|
12
|
+
list-style-type: none;
|
|
13
|
+
padding: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&--padding-left {
|
|
17
|
+
padding-left: size.$padding-100;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__list {
|
|
21
|
+
margin: 0;
|
|
22
|
+
line-height: max(1.5, densify(2));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__bullet::before {
|
|
26
|
+
color: var(--f-text-color-error);
|
|
27
|
+
content: "•";
|
|
28
|
+
display: inline;
|
|
29
|
+
font-size: var(--f-font-size-h4);
|
|
30
|
+
line-height: 0;
|
|
31
|
+
margin-right: size.$margin-075;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&__link {
|
|
35
|
+
color: var(--f-text-color-error);
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
list-style-position: inside;
|
|
38
|
+
text-decoration: underline;
|
|
39
|
+
|
|
40
|
+
a {
|
|
41
|
+
color: var(--f-text-color-error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&__icon {
|
|
46
|
+
max-width: none;
|
|
47
|
+
position: relative;
|
|
48
|
+
top: 3px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&--list-item {
|
|
52
|
+
display: list-item;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
@use "../../core/mixins/circle";
|
|
2
|
+
@use "../../core/typography/headings";
|
|
3
|
+
@use "../icon/icon";
|
|
4
|
+
@use "../../core/size";
|
|
5
|
+
@use "../../core/utils/functions" as *;
|
|
6
|
+
|
|
7
|
+
$EXPANDABLE_PANEL_SELECTOR: ".expandable-panel" !default;
|
|
8
|
+
$EXPANDABLE_PANEL_LINE_HEIGHT: var(--f-line-height-medium);
|
|
9
|
+
$ICON_MARGIN: 0.5rem;
|
|
10
|
+
$ICON_WIDTH: var(--f-icon-size-medium);
|
|
11
|
+
|
|
12
|
+
#{$EXPANDABLE_PANEL_SELECTOR} {
|
|
13
|
+
margin-bottom: densify(size.$margin-200);
|
|
14
|
+
|
|
15
|
+
&__icon {
|
|
16
|
+
@include circle.circle($background: var(--f-icon-color-expandable-panel), $size: $ICON_WIDTH);
|
|
17
|
+
|
|
18
|
+
margin-top: calc((#{$EXPANDABLE_PANEL_LINE_HEIGHT} * 1em - #{$ICON_WIDTH}) / 2); // Unit "em" intended here, align icon to header
|
|
19
|
+
display: flex;
|
|
20
|
+
color: var(--f-background-heading-expandable-panel);
|
|
21
|
+
padding: 3px; // cross icon size
|
|
22
|
+
flex-shrink: 0; // needed for IE11
|
|
23
|
+
margin-right: $ICON_MARGIN;
|
|
24
|
+
.icon {
|
|
25
|
+
transition: transform var(--f-animation-duration-long) ease;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.expandable-panel--expanded {
|
|
30
|
+
.expandable-panel__icon {
|
|
31
|
+
svg:nth-child(2) {
|
|
32
|
+
transform: rotate(0);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.expandable-panel__content {
|
|
37
|
+
height: auto;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.expandable-panel__heading button {
|
|
41
|
+
border: var(--f-expandable-panel-heading-border-open);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&.expandable-panel--collapsed {
|
|
46
|
+
.expandable-panel__icon {
|
|
47
|
+
svg:nth-child(2) {
|
|
48
|
+
transform: rotate(-90deg);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&__heading {
|
|
54
|
+
/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder -- technical debt */
|
|
55
|
+
@extend .heading--h3;
|
|
56
|
+
|
|
57
|
+
margin-bottom: 0 !important;
|
|
58
|
+
|
|
59
|
+
button {
|
|
60
|
+
background-color: var(--f-background-heading-expandable-panel);
|
|
61
|
+
border: var(--f-expandable-panel-heading-border-close);
|
|
62
|
+
border-radius: var(--f-expandable-panel-heading-border-radius);
|
|
63
|
+
color: var(--f-text-color-heading-expandable-panel);
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
display: flex;
|
|
66
|
+
margin: 0;
|
|
67
|
+
padding: densify(size.$padding-100) size.$padding-100;
|
|
68
|
+
position: relative;
|
|
69
|
+
text-align: left;
|
|
70
|
+
width: 100%;
|
|
71
|
+
|
|
72
|
+
&:focus,
|
|
73
|
+
&:hover {
|
|
74
|
+
background-color: var(--f-background-heading-expandable-panel-hover);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&__notification {
|
|
80
|
+
@include circle.circle(
|
|
81
|
+
$background: var(--f-icon-color-notice),
|
|
82
|
+
$border: var(--f-border-width-medium) solid var(--f-icon-color-white),
|
|
83
|
+
$size: var(--f-icon-size-x-large)
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
display: inline-block;
|
|
87
|
+
padding: 0.27rem;
|
|
88
|
+
position: absolute;
|
|
89
|
+
right: 1.5rem;
|
|
90
|
+
top: calc(-0.5 * size.$padding-150);
|
|
91
|
+
line-height: 0;
|
|
92
|
+
|
|
93
|
+
svg {
|
|
94
|
+
color: var(--f-icon-color-white);
|
|
95
|
+
height: auto;
|
|
96
|
+
width: auto;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&__content {
|
|
101
|
+
height: 0;
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
transition: height var(--f-animation-duration-medium) ease-in;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&__body {
|
|
107
|
+
background-color: var(--f-background-expandable-panel);
|
|
108
|
+
border: var(--f-border-width-medium) solid var(--f-border-color-panel);
|
|
109
|
+
border-top: 0;
|
|
110
|
+
line-height: inherit;
|
|
111
|
+
padding: densify(size.$padding-150) size.$padding-150;
|
|
112
|
+
}
|
|
113
|
+
}
|