@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,124 @@
1
+ @use "../z-index";
2
+
3
+ $LAYOUT_NAVIGATION_SELECTOR: ".layout-navigation" !default;
4
+ $ZINDEX: z-index.$MODAL_ZINDEX - 1 !default;
5
+
6
+ // parameters
7
+ $layout-navigation-scroll-width: 6px !default;
8
+ $layout-navigation-border-width: 4px !default;
9
+ $layout-navigation-inner-margin: 20px !default;
10
+ $layout-navigation-content-padding: 4px !default;
11
+ $layout-navigation-dot-diameter: 4px !default;
12
+ $layout-navigation-dot-spacing: 4px !default;
13
+
14
+ // Colors
15
+ $palette-color-fk-black-5: #f4f4f4 !default;
16
+ $palette-color-fk-black-50: #8d8e91 !default;
17
+ $palette-color-bluebell-15: #e5e5f5 !default;
18
+ $background-navigation: #{$palette-color-fk-black-5};
19
+ $border-hover-navigation: #{$palette-color-bluebell-15};
20
+ $border-dots-navigation: #{$palette-color-fk-black-50};
21
+ $scrollbar-navigation: #{$palette-color-fk-black-50};
22
+
23
+ #{$LAYOUT_NAVIGATION_SELECTOR} {
24
+ min-height: 100%;
25
+ width: 100%;
26
+
27
+ &__primary {
28
+ flex: auto;
29
+
30
+ > .container-fluid {
31
+ width: initial;
32
+ max-width: 1440px;
33
+ padding: 1.5rem;
34
+ margin-left: 0;
35
+ margin-right: 0;
36
+ }
37
+ }
38
+
39
+ &__navigation {
40
+ background-color: #{$background-navigation};
41
+ display: flex;
42
+ position: fixed;
43
+ z-index: $ZINDEX;
44
+ left: 0;
45
+ bottom: 0;
46
+ }
47
+
48
+ &__navigation .button.button--tertiary:hover {
49
+ background-color: var(--f-background-sidepanel-button-tertiary-hover);
50
+ }
51
+
52
+ &__navigation__border {
53
+ width: #{$layout-navigation-border-width};
54
+ background-color: #{$background-navigation};
55
+ cursor: w-resize;
56
+ flex-shrink: 0;
57
+ display: flex;
58
+ justify-content: center;
59
+ align-items: center;
60
+ flex-direction: column;
61
+
62
+ &__dot {
63
+ background-color: #{$border-dots-navigation};
64
+ width: #{$layout-navigation-dot-diameter};
65
+ height: #{$layout-navigation-dot-diameter};
66
+ border-radius: 2px;
67
+ margin-top: #{$layout-navigation-dot-spacing};
68
+ }
69
+ }
70
+
71
+ &__navigation__border:hover {
72
+ background-color: #{$border-hover-navigation};
73
+ }
74
+
75
+ &__navigation__inner {
76
+ flex-grow: 1;
77
+ display: flex;
78
+ flex-direction: column;
79
+ margin-right: #{$layout-navigation-inner-margin - $layout-navigation-content-padding - $layout-navigation-border-width};
80
+ word-wrap: break-word;
81
+ padding: 1rem;
82
+
83
+ &__title {
84
+ display: flex;
85
+ align-items: center;
86
+ padding: #{$layout-navigation-content-padding};
87
+ }
88
+
89
+ &__title h3 {
90
+ flex: auto;
91
+ margin: 0;
92
+ min-width: 40%;
93
+ }
94
+
95
+ &__title button {
96
+ margin: 0;
97
+ position: absolute;
98
+ right: 0.5rem;
99
+ }
100
+
101
+ &__content {
102
+ flex-grow: 1;
103
+ overflow-y: auto;
104
+ padding: #{$layout-navigation-content-padding};
105
+
106
+ &::-webkit-scrollbar {
107
+ width: #{$layout-navigation-scroll-width};
108
+ }
109
+
110
+ &::-webkit-scrollbar-thumb {
111
+ background: #{$scrollbar-navigation};
112
+ border: 1px solid #{$scrollbar-navigation};
113
+ box-sizing: border-box;
114
+ border-radius: 33px;
115
+ }
116
+ }
117
+
118
+ &--minimized {
119
+ margin-left: -0.6rem;
120
+ margin-right: -0.8rem;
121
+ padding: 0;
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,129 @@
1
+ @use "../z-index";
2
+
3
+ $LAYOUT_SECONDARY_SELECTOR: ".layout-secondary" !default;
4
+ $ZINDEX: z-index.$MODAL_ZINDEX - 1 !default;
5
+
6
+ // parameters
7
+ $layout-secondary-scroll-width: 6px !default;
8
+ $layout-secondary-border-width: 5px !default;
9
+ $layout-secondary-inner-margin: 20px !default;
10
+ $layout-secondary-content-padding: 4px !default;
11
+ $layout-secondary-dot-diameter: 4px !default;
12
+ $layout-secondary-dot-spacing: 4px !default;
13
+
14
+ // Colors
15
+ $palette-color-fk-black-5: #f4f4f4 !default;
16
+ $palette-color-fk-black-50: #8d8e91 !default;
17
+ $palette-color-bluebell-15: #e5e5f5 !default;
18
+ $background-secondary: #{$palette-color-fk-black-5};
19
+ $border-hover-secondary: #{$palette-color-bluebell-15};
20
+ $border-dots-secondary: #{$palette-color-fk-black-50};
21
+ $scrollbar-secondary: #{$palette-color-fk-black-50};
22
+
23
+ #{$LAYOUT_SECONDARY_SELECTOR} {
24
+ width: 100%;
25
+ min-height: 100%;
26
+
27
+ &__primary {
28
+ flex: auto;
29
+
30
+ > .container-fluid {
31
+ width: initial;
32
+ max-width: 1440px;
33
+ padding: 1.5rem;
34
+ margin-left: 0;
35
+ margin-right: 0;
36
+ }
37
+ }
38
+
39
+ &__secondary {
40
+ background-color: #{$background-secondary};
41
+ position: fixed;
42
+ display: flex;
43
+ right: 0;
44
+ bottom: 0;
45
+ z-index: $ZINDEX;
46
+
47
+ .button.button--tertiary:hover {
48
+ background-color: var(--f-background-sidepanel-button-tertiary-hover);
49
+ }
50
+
51
+ &__border {
52
+ width: #{$layout-secondary-border-width};
53
+ background-color: #{$background-secondary};
54
+ cursor: w-resize;
55
+ flex-shrink: 0;
56
+ display: flex;
57
+ justify-content: center;
58
+ align-items: center;
59
+ flex-direction: column;
60
+
61
+ &__dot {
62
+ background-color: #{$border-dots-secondary};
63
+ width: #{$layout-secondary-dot-diameter};
64
+ height: #{$layout-secondary-dot-diameter};
65
+ border-radius: 2px;
66
+ margin-top: #{$layout-secondary-dot-spacing};
67
+ }
68
+ }
69
+
70
+ &__border:hover {
71
+ background-color: #{$border-hover-secondary};
72
+ }
73
+
74
+ &__inner {
75
+ position: relative;
76
+ flex-grow: 1;
77
+ display: flex;
78
+ flex-direction: column;
79
+ word-wrap: break-word;
80
+ margin: #{$layout-secondary-inner-margin - $layout-secondary-content-padding};
81
+ margin-left: #{$layout-secondary-inner-margin - $layout-secondary-content-padding - $layout-secondary-border-width};
82
+
83
+ &__title {
84
+ display: flex;
85
+ align-items: center;
86
+ padding: #{$layout-secondary-content-padding};
87
+ }
88
+
89
+ &__title h3 {
90
+ flex: auto;
91
+ margin: 0;
92
+ min-width: 40%;
93
+ }
94
+
95
+ &__close.button {
96
+ position: absolute;
97
+ top: 0;
98
+ right: 0;
99
+ margin-bottom: 0;
100
+ }
101
+
102
+ &__content {
103
+ flex-grow: 1;
104
+ overflow-y: auto;
105
+ padding: #{$layout-secondary-content-padding};
106
+
107
+ &::-webkit-scrollbar {
108
+ width: #{$layout-secondary-scroll-width};
109
+ }
110
+
111
+ &::-webkit-scrollbar-thumb {
112
+ background: #{$scrollbar-secondary};
113
+ border: 1px solid #{$scrollbar-secondary};
114
+ box-sizing: border-box;
115
+ border-radius: 33px;
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ @media (width <=1280px) {
122
+ &__secondary {
123
+ /* stylelint-disable-next-line color-function-notation, alpha-value-notation -- technical debt */
124
+ box-shadow:
125
+ 4px 0 2px rgb(0, 0, 0, 0.5),
126
+ -4px 0 2px rgb(0, 0, 0, 0.5);
127
+ }
128
+ }
129
+ }
@@ -0,0 +1,117 @@
1
+ @use "../../core/config-variables";
2
+ @use "../../core/size";
3
+ @use "../../core/utils/functions" as *;
4
+
5
+ $LIST_SELECTOR: ".list" !default;
6
+
7
+ // list item specific variables
8
+ $list-border: var(--f-border-width-medium) solid var(--f-border-color-grid);
9
+ $list-padding: size.$padding-075;
10
+ $list-margin: 0 0 densify(var(--f-margin-component-bottom));
11
+ $list-input-margin-top: 0.1rem;
12
+ $list-input-min-width: size.$padding-175;
13
+ $list-input-height: size.$padding-175;
14
+ $list-selectpane-padding: calc(var(--f-list-item-itempane-padding) - 0.2rem);
15
+
16
+ %list-item {
17
+ display: flex;
18
+ border: $list-border;
19
+ background: var(--f-background-grid-default);
20
+ }
21
+
22
+ %list-item-hover {
23
+ background: var(--f-background-grid-hover);
24
+ }
25
+
26
+ %list-item-selected {
27
+ background: var(--f-background-grid-selected);
28
+ }
29
+
30
+ %list-item-active {
31
+ background: var(--f-background-grid-active);
32
+ }
33
+
34
+ #{$LIST_SELECTOR} {
35
+ margin: $list-margin;
36
+ padding-left: 0;
37
+
38
+ &__item:not(:last-child) {
39
+ border-bottom: none;
40
+ }
41
+
42
+ &__item {
43
+ @extend %list-item;
44
+
45
+ &--hover {
46
+ @extend %list-item-hover;
47
+ }
48
+
49
+ &--selected {
50
+ @extend %list-item-selected;
51
+ }
52
+
53
+ &--active {
54
+ @extend %list-item-active;
55
+ }
56
+
57
+ &__itempane {
58
+ width: 100%;
59
+ padding: densify(var(--f-list-item-itempane-padding)) var(--f-list-item-itempane-padding);
60
+ color: inherit;
61
+
62
+ --f-margin-component-bottom: 0.5rem;
63
+
64
+ .button {
65
+ margin-bottom: 0;
66
+ }
67
+
68
+ ul {
69
+ list-style-type: disc;
70
+
71
+ ul {
72
+ list-style-type: circle;
73
+ }
74
+ }
75
+ }
76
+
77
+ &__selectpane {
78
+ padding: densify($list-selectpane-padding) 0 densify($list-selectpane-padding) $list-selectpane-padding;
79
+
80
+ &__input {
81
+ margin-top: $list-input-margin-top;
82
+
83
+ .checkbox__label,
84
+ .radio-button__label {
85
+ min-width: $list-input-min-width;
86
+ height: $list-input-height;
87
+ padding: 0;
88
+ }
89
+ .checkbox__label::after,
90
+ .checkbox__label::before,
91
+ .radio-button__label::after,
92
+ .radio-button__label::before {
93
+ top: densify(0.2rem);
94
+ left: 0.2rem;
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ &--hover {
101
+ #{$LIST_SELECTOR}__item:focus-within,
102
+ #{$LIST_SELECTOR}__item:hover {
103
+ cursor: pointer;
104
+ @extend %list-item-hover;
105
+
106
+ &#{$LIST_SELECTOR}__item {
107
+ &--active {
108
+ @extend %list-item-active;
109
+ }
110
+
111
+ &--selected {
112
+ @extend %list-item-selected;
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
@@ -0,0 +1,179 @@
1
+ @use "../../core/size";
2
+ @use "../z-index";
3
+
4
+ $LOADER_SELECTOR: ".loader" !default;
5
+
6
+ @keyframes bouncedelay {
7
+ 0%,
8
+ 80%,
9
+ 100% {
10
+ transform: scale(0);
11
+ }
12
+
13
+ 40% {
14
+ transform: scale(1);
15
+ }
16
+ }
17
+
18
+ @keyframes spinner-delay {
19
+ from {
20
+ opacity: 0;
21
+ }
22
+
23
+ to {
24
+ opacity: 1;
25
+ }
26
+ }
27
+
28
+ #{$LOADER_SELECTOR} {
29
+ div[tabindex] {
30
+ outline: none;
31
+ }
32
+
33
+ &__wrapper {
34
+ height: var(--f-loader-size);
35
+ margin: var(--f-loader-margin);
36
+ position: relative;
37
+ width: var(--f-loader-size);
38
+ }
39
+ &--delay {
40
+ animation: spinner-delay var(--f-animation-duration-short) forwards;
41
+ animation-delay: 1s;
42
+ opacity: 0;
43
+ }
44
+
45
+ &__spinner {
46
+ height: 100%;
47
+ position: absolute;
48
+ width: 100%;
49
+ }
50
+
51
+ &__circle {
52
+ animation: bouncedelay 1.2s infinite ease-in-out; // prevent first frame from flickering when animation starts
53
+ animation-fill-mode: both;
54
+ background-color: var(--f-icon-color-loader);
55
+ border-radius: 100%;
56
+ height: size.$padding-100;
57
+ position: absolute;
58
+ width: size.$padding-100;
59
+ }
60
+
61
+ &__wait-text {
62
+ align-items: center;
63
+ display: flex;
64
+ justify-content: center;
65
+ white-space: pre-wrap;
66
+ }
67
+
68
+ &--overlay {
69
+ #{$LOADER_SELECTOR}__backdrop {
70
+ align-items: center;
71
+ background: var(--f-background-overlay);
72
+ display: flex;
73
+ flex-direction: column;
74
+ height: 100%;
75
+ justify-content: center;
76
+ left: 0;
77
+ position: fixed;
78
+ top: 0;
79
+ width: 100%;
80
+ z-index: z-index.$LOADER_OVERLAY_ZINDEX;
81
+ }
82
+
83
+ #{$LOADER_SELECTOR}__wait-text {
84
+ color: var(--f-text-color-default-inverted);
85
+ }
86
+
87
+ #{$LOADER_SELECTOR}__circle {
88
+ background-color: var(--f-icon-color-white);
89
+ }
90
+ }
91
+
92
+ .loader__spinner-1 {
93
+ &-circle2 {
94
+ animation-delay: -0.9s;
95
+ }
96
+
97
+ &-circle3 {
98
+ animation-delay: -0.6s;
99
+ }
100
+
101
+ &-circle4 {
102
+ animation-delay: -0.3s;
103
+ }
104
+ }
105
+
106
+ .loader__spinner-2 {
107
+ height: 100%;
108
+ position: absolute;
109
+ width: 100%;
110
+ transform: rotateZ(45deg);
111
+
112
+ &-circle1 {
113
+ animation-delay: -1.1s;
114
+ }
115
+
116
+ &-circle2 {
117
+ animation-delay: -0.8s;
118
+ }
119
+
120
+ &-circle3 {
121
+ animation-delay: -0.5s;
122
+ }
123
+
124
+ &-circle4 {
125
+ animation-delay: -0.2s;
126
+ }
127
+ }
128
+
129
+ .loader__spinner-3 {
130
+ height: 100%;
131
+ position: absolute;
132
+ width: 100%;
133
+ transform: rotateZ(90deg);
134
+
135
+ &-circle1 {
136
+ animation-delay: -1s;
137
+ }
138
+
139
+ &-circle2 {
140
+ animation-delay: -0.7s;
141
+ }
142
+
143
+ &-circle3 {
144
+ animation-delay: -0.4s;
145
+ }
146
+
147
+ &-circle4 {
148
+ animation-delay: -0.1s;
149
+ }
150
+ }
151
+
152
+ &__circle--1 {
153
+ left: 0;
154
+ top: 0;
155
+ }
156
+
157
+ &__circle--2 {
158
+ right: 0;
159
+ top: 0;
160
+ }
161
+
162
+ &__circle--3 {
163
+ bottom: 0;
164
+ right: 0;
165
+ }
166
+
167
+ &__circle--4 {
168
+ bottom: 0;
169
+ left: 0;
170
+ }
171
+
172
+ &__delay {
173
+ &__spinner {
174
+ animation: spinner-delay var(--f-animation-duration-short) forwards;
175
+ animation-delay: 1s;
176
+ opacity: 0;
177
+ }
178
+ }
179
+ }
@@ -0,0 +1,121 @@
1
+ @use "../../core/size";
2
+ @use "../../core/mixins/breakpoints";
3
+ @use "../../core/utils/functions" as *;
4
+
5
+ $MESSAGE_BOX_SELECTOR: ".message-box" !default;
6
+
7
+ @mixin make-box-variant($MESSAGE_BOX_SELECTOR, $background-color, $border-color, $short-layout: false) {
8
+ border: var(--f-border-width-medium) solid;
9
+ border-color: $border-color;
10
+ background-color: $background-color;
11
+ border-radius: var(--f-border-radius-small);
12
+
13
+ @if $short-layout {
14
+ border-left: size.$padding-100 solid $border-color;
15
+
16
+ #{$MESSAGE_BOX_SELECTOR} {
17
+ &__icon {
18
+ font-size: 0; // ignore any whitespaces in template affecting height
19
+
20
+ .icon {
21
+ height: var(--f-icon-size-large);
22
+ width: var(--f-icon-size-large);
23
+ &-stack {
24
+ height: var(--f-icon-size-large);
25
+ width: var(--f-icon-size-large);
26
+ }
27
+ &__exclamation {
28
+ transform: translateY(-0.05rem);
29
+ }
30
+ &__banner {
31
+ fill: var(--f-icon-color-error);
32
+ color: white;
33
+ }
34
+ }
35
+ }
36
+ &__icon__banner {
37
+ margin-top: 0;
38
+ }
39
+ }
40
+ } @else {
41
+ border-top: size.$padding-100 solid $border-color;
42
+ }
43
+
44
+ .iflex__item > p {
45
+ margin-bottom: 0;
46
+ }
47
+ }
48
+
49
+ @mixin messagebox-banner-variant($selector) {
50
+ width: var(--f-width-full);
51
+ box-shadow: var(--f-box-modal-shadow);
52
+ border-collapse: separate;
53
+ padding: densify(size.$padding-100) size.$padding-100;
54
+
55
+ @include make-box-variant($selector, var(--f-background-error), var(--f-border-color-error));
56
+
57
+ .iflex__item > p {
58
+ margin-bottom: 0;
59
+ }
60
+ }
61
+
62
+ #{$MESSAGE_BOX_SELECTOR} {
63
+ padding: densify(size.$padding-150) size.$padding-150;
64
+ margin: size.$margin-050 0 densify(size.$margin-200) 0;
65
+
66
+ &__heading {
67
+ font-size: var(--f-font-size-h3);
68
+ font-weight: var(--f-font-weight-medium);
69
+ color: var(--f-text-color-default);
70
+ line-height: var(--f-line-height-medium);
71
+ align-items: flex-start;
72
+ margin-bottom: densify(size.$margin-050);
73
+ margin-top: 0;
74
+
75
+ @include breakpoints.breakpoint-only(sm) {
76
+ font-size: var(--f-font-size-large);
77
+ }
78
+ }
79
+
80
+ &--info {
81
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-info), var(--f-border-color-info));
82
+ }
83
+
84
+ &--info-short {
85
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-info), var(--f-border-color-info), $short-layout: true);
86
+ }
87
+
88
+ &--error {
89
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-error), var(--f-border-color-error));
90
+ }
91
+
92
+ &--error-short {
93
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-error), var(--f-border-color-error), $short-layout: true);
94
+ }
95
+
96
+ &--warning {
97
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-warning), var(--f-border-color-warning));
98
+ }
99
+
100
+ &--warning-short {
101
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-warning), var(--f-border-color-warning), $short-layout: true);
102
+ }
103
+
104
+ &--success {
105
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-success), var(--f-border-color-success));
106
+ }
107
+
108
+ &--success-short {
109
+ @include make-box-variant($MESSAGE_BOX_SELECTOR, var(--f-background-success), var(--f-border-color-success), $short-layout: true);
110
+ }
111
+
112
+ &--banner {
113
+ @include messagebox-banner-variant($MESSAGE_BOX_SELECTOR);
114
+ }
115
+
116
+ @include breakpoints.breakpoint-down(sm) {
117
+ margin-bottom: densify(size.$margin-150);
118
+ margin-top: densify(size.$margin-150);
119
+ padding: densify(size.$padding-100) size.$padding-100;
120
+ }
121
+ }