@ch-post-common/common-web-frontend 0.0.1-security → 1.0.933

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @ch-post-common/common-web-frontend might be problematic. Click here for more details.

Files changed (97) hide show
  1. package/components/accordion.scss +177 -0
  2. package/components/alert.scss +217 -0
  3. package/components/badge.scss +95 -0
  4. package/components/breadcrumb.scss +43 -0
  5. package/components/button.scss +168 -0
  6. package/components/card.scss +227 -0
  7. package/components/carousel.scss +161 -0
  8. package/components/custom-choice-control.scss +217 -0
  9. package/components/custom-range-input.scss +51 -0
  10. package/components/custom-select.scss +60 -0
  11. package/components/datatable.scss +147 -0
  12. package/components/datepicker.scss +220 -0
  13. package/components/detail-summary.scss +72 -0
  14. package/components/dropdown.scss +71 -0
  15. package/components/floating-label.scss +65 -0
  16. package/components/fonts.scss +35 -0
  17. package/components/form-feedback.scss +70 -0
  18. package/components/forms.scss +31 -0
  19. package/components/grid.scss +103 -0
  20. package/components/icons.scss +62 -0
  21. package/components/intranet-header/_icon.scss +6 -0
  22. package/components/intranet-header/_language-chooser.scss +40 -0
  23. package/components/intranet-header/_logo.scss +74 -0
  24. package/components/intranet-header/_nav-overflow.scss +56 -0
  25. package/components/intranet-header/_scaffolding.scss +96 -0
  26. package/components/intranet-header/_searchbox.scss +56 -0
  27. package/components/intranet-header/_settings.scss +23 -0
  28. package/components/intranet-header/_sidebar.scss +118 -0
  29. package/components/intranet-header/_top-navigation.scss +83 -0
  30. package/components/list-group.scss +156 -0
  31. package/components/modal.scss +87 -0
  32. package/components/pagination.scss +67 -0
  33. package/components/popover.scss +21 -0
  34. package/components/product-card.scss +74 -0
  35. package/components/progress.scss +15 -0
  36. package/components/reboot.scss +17 -0
  37. package/components/root.scss +10 -0
  38. package/components/sizing.scss +90 -0
  39. package/components/spinner.scss +58 -0
  40. package/components/stepper.scss +158 -0
  41. package/components/subnavigation.scss +131 -0
  42. package/components/switch.scss +132 -0
  43. package/components/tabs.scss +122 -0
  44. package/components/timepicker.scss +110 -0
  45. package/components/toast.scss +172 -0
  46. package/components/tooltip.scss +23 -0
  47. package/components/topic-teaser.scss +133 -0
  48. package/components/type.scss +106 -0
  49. package/components/utilities.scss +93 -0
  50. package/index.js +28 -0
  51. package/layouts/portal/_type.scss +83 -0
  52. package/lic/_bootstrap-license.scss +29 -0
  53. package/lic/_cwf-license.scss +7 -0
  54. package/mixins/_animation.scss +39 -0
  55. package/mixins/_button.scss +232 -0
  56. package/mixins/_forms.scss +188 -0
  57. package/mixins/_icons.scss +27 -0
  58. package/mixins/_scroll-shadows.scss +13 -0
  59. package/mixins/_size.scss +69 -0
  60. package/mixins/_type.scss +187 -0
  61. package/mixins/_utilities.scss +73 -0
  62. package/package.json +11 -3
  63. package/placeholders/_dropdown.scss +11 -0
  64. package/placeholders/_floating-label.scss +143 -0
  65. package/placeholders/_notifications.scss +160 -0
  66. package/placeholders/_text.scss +187 -0
  67. package/variables/_animation.scss +36 -0
  68. package/variables/_color.scss +240 -0
  69. package/variables/_commons.scss +57 -0
  70. package/variables/_icons.scss +2071 -0
  71. package/variables/_spacing.scss +180 -0
  72. package/variables/_type.scss +157 -0
  73. package/variables/components/_accordion.scss +22 -0
  74. package/variables/components/_alert.scss +50 -0
  75. package/variables/components/_badge.scss +29 -0
  76. package/variables/components/_breadcrumbs.scss +21 -0
  77. package/variables/components/_button.scss +152 -0
  78. package/variables/components/_card.scss +29 -0
  79. package/variables/components/_carousel.scss +27 -0
  80. package/variables/components/_close.scss +9 -0
  81. package/variables/components/_datatable.scss +49 -0
  82. package/variables/components/_datepicker.scss +14 -0
  83. package/variables/components/_dropdowns.scss +30 -0
  84. package/variables/components/_forms.scss +256 -0
  85. package/variables/components/_intranet-header.scss +9 -0
  86. package/variables/components/_modals.scss +68 -0
  87. package/variables/components/_nav.scss +82 -0
  88. package/variables/components/_pagination.scss +41 -0
  89. package/variables/components/_paragraph.scss +6 -0
  90. package/variables/components/_popovers.scss +28 -0
  91. package/variables/components/_progress-bars.scss +16 -0
  92. package/variables/components/_stepper.scss +26 -0
  93. package/variables/components/_subnavigation.scss +36 -0
  94. package/variables/components/_switch.scss +3 -0
  95. package/variables/components/_tables.scss +31 -0
  96. package/variables/components/_tooltips.scss +26 -0
  97. package/README.md +0 -5
@@ -0,0 +1,147 @@
1
+ /*!
2
+ * Copyright 2021 by Swiss Post, Information Technology
3
+ */
4
+
5
+ @use "../variables/spacing";
6
+ @use "../variables/components/pagination";
7
+ @use "../variables/components/datatable";
8
+ @use "../variables/components/forms";
9
+
10
+ @use "../mixins/button" as button-mixins;
11
+
12
+
13
+ .datatable-header-cell {
14
+ font-weight: datatable.$datatable-header-font-weight;
15
+ padding: datatable.$datatable-cell-padding;
16
+
17
+ .datatable-header[ng-reflect-sorts*="object"] &:not(.sort-active) {
18
+ color: datatable.$datatable-header-unsorted-color;
19
+ }
20
+
21
+ &-template-wrap {
22
+ display: flex;
23
+ align-items: center;
24
+ }
25
+
26
+ &-wrapper {
27
+ overflow: hidden;
28
+ text-overflow: ellipsis;
29
+ white-space: nowrap;
30
+ }
31
+
32
+ .datatable-flush & {
33
+ border-bottom: datatable.$datatable-flush-border;
34
+ }
35
+ }
36
+
37
+ .datatable-body-cell {
38
+ padding: datatable.$datatable-cell-padding;
39
+ display: flex !important;
40
+ align-items: center;
41
+ background-color: datatable.$datatable-cell-bg;
42
+ margin-bottom: datatable.$datatable-cell-margin;
43
+
44
+ .datatable-spaced-cells & {
45
+ margin-right: datatable.$datatable-cell-margin;
46
+ }
47
+
48
+ .datatable-inverted & {
49
+ background-color: datatable.$datatable-inverted-cell-bg;
50
+ }
51
+
52
+ .datatable-flush &,
53
+ .datatable-striped-rows .datatable-row-odd & {
54
+ margin: 0;
55
+ background-color: transparent;
56
+ }
57
+
58
+ .datatable-flush & {
59
+ border-bottom: datatable.$datatable-flush-border;
60
+ }
61
+ }
62
+
63
+ .ngx-datatable .sort-btn {
64
+ flex: 0 0 auto;
65
+ background-size: contain;
66
+ background-repeat: no-repeat;
67
+ margin-left: spacing.$size-mini;
68
+ height: spacing.$size-small-large;
69
+ width: spacing.$size-small-regular;
70
+
71
+ &.datatable-icon-sort-unset {
72
+ background-image: datatable.$datatable-sort-asc-icon, datatable.$datatable-sort-desc-icon;
73
+ background-position: center top, center bottom;
74
+ }
75
+
76
+ &.datatable-icon-up {
77
+ background-image: datatable.$datatable-sort-asc-icon;
78
+ background-position: center center;
79
+ }
80
+
81
+ &.datatable-icon-down {
82
+ background-image: datatable.$datatable-sort-desc-icon;
83
+ background-position: center center;
84
+ }
85
+ }
86
+
87
+ .datatable-button-cell {
88
+ padding: 0;
89
+ align-items: stretch;
90
+
91
+ .datatable-body-cell-label {
92
+ flex-grow: 1;
93
+ display: flex;
94
+ align-items: stretch;
95
+ }
96
+
97
+ .datatable-button {
98
+ @include button-mixins.reset-button;
99
+ padding: datatable.$datatable-cell-padding;
100
+ margin: datatable.$datatable-button-margin;
101
+ width: datatable.$datatable-button-width;
102
+ height: datatable.$datatable-button-height;
103
+ border-radius: 0;
104
+
105
+ &:focus {
106
+ outline: 0;
107
+ box-shadow: datatable.$datatable-button-focus-shadow;
108
+ }
109
+ }
110
+ }
111
+
112
+ .datatable-paginated-footer {
113
+ padding: datatable.$datatable-footer-padding;
114
+ flex: 1 0 auto;
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: flex-end;
118
+
119
+ .datatable-row-count-label {
120
+ flex: 0 0 auto;
121
+ margin: 0 spacing.$size-mini 0 0;
122
+ }
123
+
124
+ .datatable-row-count-input {
125
+ flex: 0 0 datatable.$datatable-row-count-input-width;
126
+ border: none;
127
+ font-size: datatable.$datatable-row-count-font-size;
128
+ height: pagination.$pagination-height;
129
+
130
+ & + .datatable-pagination {
131
+ border-left: datatable.$datatable-footer-separator;
132
+ padding-left: spacing.$size-mini;
133
+ }
134
+ }
135
+
136
+ .datatable-pagination {
137
+ flex: 0 0 auto;
138
+
139
+ .pagination {
140
+ margin-bottom: 0;
141
+ }
142
+ }
143
+
144
+ .datatable-loader {
145
+ margin: auto;
146
+ }
147
+ }
@@ -0,0 +1,220 @@
1
+
2
+ @forward "../variables/options";
3
+
4
+ @use "../variables/color";
5
+ @use "../variables/components/datepicker";
6
+ @use "../variables/components/forms";
7
+ @use "../variables/commons";
8
+
9
+ @import "../placeholders/floating-label";
10
+
11
+ ngb-datepicker.dropdown-menu {
12
+ box-shadow: 0 0 8px 0 color.$gray-800;
13
+ }
14
+
15
+ .ngb-dp-weekday {
16
+ font-size: 1rem;
17
+ font-style: normal !important;
18
+ line-height: 1.47 !important;
19
+ color: color.$black-alpha-60 !important;
20
+ }
21
+
22
+ ngb-datepicker-navigation {
23
+ justify-content: space-between;
24
+ }
25
+
26
+ ngb-datepicker-navigation-select.ngb-dp-navigation-select {
27
+ flex: 0 1 auto;
28
+
29
+ select {
30
+ border: none;
31
+ background-position: right;
32
+ padding-right: 1rem;
33
+
34
+ &:focus {
35
+ background-color: transparent;
36
+ box-shadow: inset 0 0 0 commons.$border-thick color.$black;
37
+ border-radius: commons.$border-radius;
38
+ }
39
+
40
+ & + select {
41
+ margin-left: .5rem;
42
+ }
43
+ }
44
+ }
45
+
46
+ ngb-datepicker .ngb-dp-arrow {
47
+ flex-grow: 0;
48
+ }
49
+
50
+ .ngb-dp-header {
51
+ font-size: 1.25rem;
52
+ font-weight: 700;
53
+
54
+ .ngb-dp-month-name {
55
+ font: inherit;
56
+ color: color.$black !important;
57
+ padding-top: .3rem;
58
+ }
59
+ }
60
+
61
+ .ngb-dp-navigation-select {
62
+ .custom-select {
63
+ background-color: transparent;
64
+ font: inherit;
65
+ }
66
+ }
67
+
68
+ span.ngb-dp-navigation-chevron {
69
+ border-width: .09em .09em 0 0;
70
+ }
71
+
72
+ .ngb-dp-weekday {
73
+ width: 40px !important;
74
+ height: auto !important;
75
+ font-weight: normal;
76
+ }
77
+
78
+ .ngb-dp-weekdays {
79
+ border-bottom: none !important;
80
+ }
81
+
82
+ .ngb-dp-day {
83
+ width: auto !important;
84
+ height: auto !important;
85
+ }
86
+
87
+ .ngb-dp-day > .btn-light {
88
+ width: 40px !important;
89
+ height: 40px !important;
90
+ line-height: 40px;
91
+ }
92
+
93
+ .ngb-dp-day > .text-white {
94
+ color: color.$black !important;
95
+ }
96
+
97
+ .ngb-dp-day > .btn-light,
98
+ .ngb-dp-day > .btn-light:hover {
99
+ background: none;
100
+ }
101
+
102
+ .ngb-dp-day > .btn-light:hover {
103
+ background-color: color.$light;
104
+ }
105
+
106
+ .ngb-dp-day > .btn-light:not(:disabled):not(.disabled):active,
107
+ .ngb-dp-day > .btn-light:not(:disabled):not(.disabled).active {
108
+ background-color: transparent;
109
+ }
110
+
111
+ .ngb-dp-day > .btn-light.bg-primary.text-white {
112
+ background-color: color.$yellow !important;
113
+ }
114
+
115
+ .ngb-dp-open {
116
+ position: absolute;
117
+ top: 0;
118
+ right: 0;
119
+ z-index: 5;
120
+ padding: datepicker.$ngb-dp-icon-padding;
121
+
122
+ i {
123
+ width: datepicker.$ngb-dp-icon-size;
124
+ height: datepicker.$ngb-dp-icon-size;
125
+ }
126
+ }
127
+
128
+ .form-control-sm ~ .ngb-dp-open {
129
+ padding: datepicker.$ngb-dp-icon-padding-sm;
130
+
131
+ i {
132
+ width: datepicker.$ngb-dp-icon-size-sm;
133
+ height: datepicker.$ngb-dp-icon-size-sm;
134
+ }
135
+ }
136
+
137
+ .form-control-rg ~ .ngb-dp-open {
138
+ padding: datepicker.$ngb-dp-icon-padding-rg;
139
+ }
140
+
141
+ .form-control-lg ~ .ngb-dp-open {
142
+ padding: datepicker.$ngb-dp-icon-padding-lg;
143
+
144
+ i {
145
+ width: datepicker.$ngb-dp-icon-size-lg;
146
+ height: datepicker.$ngb-dp-icon-size-lg;
147
+ }
148
+ }
149
+
150
+ input[ngbDatepicker] {
151
+ // Hide the x on IE/Edge input fields
152
+ &::-ms-clear {
153
+ display: none;
154
+ }
155
+
156
+ & ~ .btn {
157
+ border: none;
158
+ }
159
+
160
+ &.form-control-lg ~ label:first-of-type {
161
+ left: 0 !important;
162
+ }
163
+
164
+ & + ngb-datepicker {
165
+ .ngb-dp-header {
166
+ padding: 1rem;
167
+ }
168
+
169
+ .ngb-dp-weekdays {
170
+ padding: 0 1rem 1rem 1rem;
171
+ margin-bottom: 1rem;
172
+ }
173
+
174
+ .ngb-dp-week {
175
+ padding-right: 1rem !important;
176
+ padding-left: 1rem !important;
177
+
178
+ &:last-child {
179
+ padding-bottom: 1rem;
180
+ }
181
+ }
182
+ }
183
+ }
184
+
185
+ .form-control[ngbDatepicker] {
186
+ &.is-invalid,
187
+ &.is-valid,
188
+ &.show-ng-validation.ng-touched.ng-invalid,
189
+ &.show-ng-validation.ng-touched.ng-valid {
190
+ padding-right: 1rem;
191
+ background-position: calc(100% - #{forms.$input-height-inner}) center;
192
+ }
193
+
194
+ &.form-control-lg {
195
+ &.is-invalid,
196
+ &.is-valid,
197
+ &.show-ng-validation.ng-touched.ng-invalid,
198
+ &.show-ng-validation.ng-touched.ng-valid {
199
+ background-position: calc(100% - #{forms.$input-height-inner-lg}) center !important;
200
+ }
201
+ }
202
+
203
+ &.form-control-rg {
204
+ &.is-invalid,
205
+ &.is-valid,
206
+ &.show-ng-validation.ng-touched.ng-invalid,
207
+ &.show-ng-validation.ng-touched.ng-valid {
208
+ background-position: calc(100% - #{forms.$input-height-inner-rg}) center;
209
+ }
210
+ }
211
+
212
+ &.form-control-sm {
213
+ &.is-invalid,
214
+ &.is-valid,
215
+ &.show-ng-validation.ng-touched.ng-invalid,
216
+ &.show-ng-validation.ng-touched.ng-valid {
217
+ background-position: calc(100% - #{forms.$input-height-inner-sm}) center;
218
+ }
219
+ }
220
+ }
@@ -0,0 +1,72 @@
1
+ @use "../variables/components/detail-summary";
2
+ @use "../variables/components/accordion";
3
+ @use "../mixins/icons" as icon-mixin;
4
+ @use "../themes/bootstrap/overrides" as *;
5
+ @use "./icons.scss";
6
+
7
+ details.accordion-item {
8
+ border-top: solid accordion.$accordion-border-width accordion.$accordion-border-color ;
9
+
10
+ &[open] {
11
+ summary {
12
+ color: accordion.$accordion-btn-text-color;
13
+
14
+ &::after {
15
+ transform: rotateZ(180deg);
16
+ }
17
+ }
18
+ }
19
+
20
+ summary {
21
+ font-size: detail-summary.$detail-summary-summary-font-size;
22
+ font-weight: detail-summary.$detail-summary-summary-font-weight;
23
+ color: accordion.$accordion-btn-text-color-expanded;
24
+ list-style-type: none;
25
+ position: relative;
26
+ padding: accordion.$accordion-trigger-padding-vertical accordion.$accordion-padding-horizontal-xs;
27
+ display: flex;
28
+ box-shadow: none;
29
+
30
+ @include media-breakpoint-up(sm) {
31
+ padding-right: accordion.$accordion-padding-horizontal-sm;
32
+ padding-left: accordion.$accordion-padding-horizontal-sm;
33
+ }
34
+
35
+ &:focus {
36
+ color: accordion.$accordion-btn-text-color;
37
+ outline: transparent;
38
+ box-shadow: $input-focus-box-shadow;
39
+ transform: translateZ(0);
40
+ }
41
+
42
+ &:hover {
43
+ color: accordion.$accordion-btn-text-color;
44
+ }
45
+
46
+ &::after {
47
+ transition: transform detail-summary.$detail-summary-icon-transition-speed;
48
+ @include icon-mixin.pi(detail-summary.$detail-summary-icon, detail-summary.$detail-summary-icon-color);
49
+ content: "";
50
+ width: 1.5rem;
51
+ height: 1.5rem;
52
+ background-size: contain;
53
+ background-repeat: no-repeat;
54
+ background-position: center right;
55
+ margin-left: auto;
56
+ flex: 0 0 auto;
57
+ }
58
+ }
59
+
60
+ .accordion-body {
61
+ padding: accordion.$accordion-content-space-top accordion.$accordion-padding-horizontal-xs accordion.$accordion-content-space-bottom-xs;
62
+
63
+ @include media-breakpoint-up(sm) {
64
+ padding-right: accordion.$accordion-padding-horizontal-sm;
65
+ padding-left: accordion.$accordion-padding-horizontal-sm;
66
+ }
67
+
68
+ @include media-breakpoint-up(rg) {
69
+ padding-bottom: accordion.$accordion-content-space-bottom-rg;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,71 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/dropdown" as bd;
5
+
6
+ @use "../functions/icons";
7
+ @use "../variables/color";
8
+ @use "../variables/commons";
9
+ @use "../variables/spacing";
10
+ @use "../placeholders/dropdown";
11
+
12
+
13
+ .dropdown,
14
+ .dropup {
15
+ .dropdown-menu {
16
+ min-width: 200px;
17
+ max-width: 25vw;
18
+ max-height: 50vh;
19
+ }
20
+ }
21
+
22
+ .dropdown-menu {
23
+ font-size: 1rem;
24
+ margin-top: 0;
25
+ border: none;
26
+ border-radius: 0;
27
+ box-shadow: commons.$box-shadow;
28
+ overflow-y: auto;
29
+ z-index: commons.$zindex-fixed;
30
+
31
+ hr {
32
+ margin: .25rem 0;
33
+ }
34
+ }
35
+
36
+ .dropdown-toggle {
37
+ &::after {
38
+ @extend %toggler-icon;
39
+ background-image: url(icons.get-colored-svg-url("2052", color.$gray-800));
40
+ }
41
+
42
+ &[aria-expanded="true"] {
43
+ &::after {
44
+ background-image: url(icons.get-colored-svg-url("2051", color.$gray-800));
45
+ }
46
+ }
47
+
48
+ .dropup & {
49
+ &::after {
50
+ @extend %toggler-icon;
51
+ background-image: url(icons.get-colored-svg-url("2051", color.$gray-800));
52
+ }
53
+
54
+ &[aria-expanded="true"] {
55
+ &::after {
56
+ background-image: url(icons.get-colored-svg-url("2052", color.$gray-800));
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ .dropdown-item {
63
+ padding: .5rem .75rem;
64
+ max-width: 100%;
65
+ overflow: hidden;
66
+ text-overflow: ellipsis;
67
+
68
+ &:focus {
69
+ outline: 0;
70
+ }
71
+ }
@@ -0,0 +1,65 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../variables";
4
+ @use "../variables/components/forms";
5
+ @use "../mixins/forms" as forms-mixins;
6
+ @use "../mixins/utilities";
7
+ @use "../placeholders/floating-label";
8
+
9
+ .form-control-lg {
10
+ @extend %floating-label;
11
+ }
12
+
13
+ .form-control-lg {
14
+ @at-root {
15
+ textarea#{&} {
16
+ padding-top: forms.$floating-label-spacing-y + forms.$floating-label-font-size-small;
17
+
18
+ &:not([rows]) {
19
+ // = If no height is defined.
20
+ height: forms.$input-height-lg;
21
+ }
22
+
23
+ &+label {
24
+ z-index: 2;
25
+
26
+ //stylelint-disable-next-line max-nesting-depth
27
+ &::before {
28
+ content: "";
29
+ background-color: forms.$input-bg;
30
+ height: 100%;
31
+ position: absolute;
32
+ top: calc(#{forms.$floating-label-transition-distance} + #{forms.$input-border-width});
33
+ left: 0;
34
+ right: 0;
35
+ z-index: -1;
36
+ }
37
+ }
38
+ }
39
+
40
+ // IE applies different padding in Selects
41
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
42
+ select#{&} {
43
+ padding-left: forms.$floating-label-select-spacing-x-ie;
44
+ }
45
+ }
46
+
47
+ }
48
+ }
49
+
50
+ // Adjustment Firefox padding
51
+ @-moz-document url-prefix() {
52
+ select.form-control-lg {
53
+ padding-left: forms.$floating-label-select-spacing-x-moz;
54
+ }
55
+ }
56
+
57
+ .show-ng-validation.ng-touched {
58
+ &.ng-valid {
59
+ @extend .is-valid;
60
+ }
61
+
62
+ &.ng-invalid {
63
+ @extend .is-invalid;
64
+ }
65
+ }
@@ -0,0 +1,35 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../variables/options";
4
+
5
+ @font-face {
6
+ font-family: "Frutiger Neue For Post";
7
+ font-weight: 700;
8
+ src: url("#{options.$font-base-path}/FrutigerNeueforPostW05-Bold.woff2") format("woff2"),
9
+ url("#{options.$font-base-path}/FrutigerNeueforPostW05-Bold.woff") format("woff");
10
+ font-display: swap;
11
+ }
12
+
13
+ @font-face {
14
+ font-family: "Frutiger Neue For Post";
15
+ font-weight: 400;
16
+ src: url("#{options.$font-base-path}/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),
17
+ url("#{options.$font-base-path}/FrutigerNeueforPostW05-Rg.woff") format("woff");
18
+ font-display: swap;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: "Frutiger Neue For Post";
23
+ font-weight: 300;
24
+ src: url("#{options.$font-base-path}/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),
25
+ url("#{options.$font-base-path}/FrutigerNeueforPostW05-Lt.woff") format("woff");
26
+ font-display: swap;
27
+ }
28
+
29
+ @font-face {
30
+ font-family: "Frutiger Neue For Post";
31
+ font-weight: 200;
32
+ src: url("#{options.$font-base-path}/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),
33
+ url("#{options.$font-base-path}/FrutigerNeueforPostW05-Lt.woff") format("woff");
34
+ font-display: swap;
35
+ }
@@ -0,0 +1,70 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../variables";
4
+ @use "../variables/components/forms";
5
+ @use "../variables/components/button";
6
+ @use "../mixins/forms" as forms-mixins;
7
+
8
+ .invalid-feedback {
9
+ background: forms.$form-feedback-invalid-bg;
10
+ color: forms.$form-feedback-invalid-text;
11
+ padding: button.$input-btn-padding-x / 2 button.$input-btn-padding-x;
12
+ }
13
+
14
+ .valid-feedback {
15
+ background: forms.$form-feedback-valid-bg;
16
+ color: forms.$form-feedback-valid-text;
17
+ padding: button.$input-btn-padding-x / 2 button.$input-btn-padding-x;
18
+ }
19
+
20
+ .valid-feedback.custom-feedback {
21
+ background: forms.$form-feedback-custom-bg;
22
+ color: forms.$form-feedback-custom-text;
23
+ }
24
+
25
+ .form-control {
26
+ .input-group & ~ .invalid-tooltip {
27
+ // This fix is necessary for IE, so the tooltip is displayed correctly in an input group.
28
+ left: 0;
29
+ }
30
+
31
+ &.is-valid {
32
+ @include forms-mixins.icon-placement();
33
+ background-image: forms.$form-feedback-valid-icon;
34
+
35
+ &:focus {
36
+ border-color: forms.$input-focus-border-color;
37
+ }
38
+
39
+ &.custom-feedback {
40
+ border-color: forms.$form-feedback-custom-color;
41
+
42
+ &:focus {
43
+ box-shadow: forms.$form-feedback-custom-box-shadow;
44
+ }
45
+ }
46
+ }
47
+
48
+ &.is-invalid {
49
+ @include forms-mixins.icon-placement();
50
+ background-image: forms.$form-feedback-invalid-icon;
51
+ }
52
+
53
+ @at-root select#{&},
54
+ &.custom-select {
55
+ &.is-invalid,
56
+ &.is-valid {
57
+ background-size: forms.$form-feedback-icon-size, forms.$custom-select-bg-size;
58
+ background-position: calc(100% - #{forms.$form-feedback-icon-offset}) center, calc(100% - #{variables.$spacer} - #{forms.$form-feedback-icon-size}) center !important;
59
+ padding-right: forms.$form-feedback-icon-size + variables.$spacer * 2 + forms.$form-feedback-icon-offset !important;
60
+ }
61
+
62
+ &.is-invalid {
63
+ background-image: forms.$form-feedback-invalid-icon, forms.$custom-select-indicator !important;
64
+ }
65
+
66
+ &.is-valid {
67
+ background-image: forms.$form-feedback-valid-icon, forms.$custom-select-indicator !important;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,31 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/cwf-license";
4
+ @use "../lic/bootstrap-license";
5
+
6
+ @use "../variables/components/forms";
7
+
8
+ @use "../mixins/forms" as form-mixins;
9
+
10
+ @use "../themes/bootstrap/forms" as bs-forms;
11
+ @use "../themes/bootstrap/input-group";
12
+
13
+ // TODO MIXINS
14
+
15
+ .form-group {
16
+ // To contain floating labels
17
+ position: relative;
18
+ }
19
+
20
+ .form-control-rg {
21
+ @include form-mixins.form-control-rg;
22
+ }
23
+
24
+ select.form-control-rg:not([size]):not([multiple]) {
25
+ height: forms.$input-height-rg;
26
+ }
27
+
28
+ .form-control:disabled {
29
+ border-color: forms.$input-disabled-border-color;
30
+ color: forms.$input-disabled-color;
31
+ }