@swisspost/design-system-styles 9.0.0-next.2 → 9.0.0-next.21

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 (321) hide show
  1. package/_svg-icon-map.scss +85 -23
  2. package/basics.css +1 -1
  3. package/basics.scss +2 -6
  4. package/cargo-external.css +7 -0
  5. package/cargo-external.scss +10 -0
  6. package/cargo-internal.css +7 -0
  7. package/cargo-internal.scss +10 -0
  8. package/cargo-tokens-external.css +1 -0
  9. package/cargo-tokens-external.scss +8 -0
  10. package/cargo-tokens-internal.css +1 -0
  11. package/cargo-tokens-internal.scss +8 -0
  12. package/components/_form-check.scss +166 -0
  13. package/components/_index.scss +21 -13
  14. package/components/appstore-badge.css +1 -0
  15. package/components/appstore-badge.scss +18 -0
  16. package/components/avatar.css +1 -0
  17. package/components/avatar.scss +41 -0
  18. package/components/badge.css +1 -1
  19. package/components/badge.scss +8 -2
  20. package/components/banner.css +1 -0
  21. package/components/banner.scss +105 -0
  22. package/components/blockquote.css +1 -0
  23. package/components/blockquote.scss +46 -0
  24. package/components/breadcrumb.css +1 -1
  25. package/components/breadcrumb.scss +4 -24
  26. package/components/breakpoints.css +1 -0
  27. package/components/breakpoints.scss +17 -0
  28. package/components/button-group.css +1 -1
  29. package/components/button-group.scss +7 -6
  30. package/components/button.css +1 -1
  31. package/components/button.scss +41 -228
  32. package/components/card-control.css +1 -1
  33. package/components/card-control.scss +33 -24
  34. package/components/card.css +1 -1
  35. package/components/card.scss +72 -68
  36. package/components/checkbox.css +1 -0
  37. package/components/checkbox.scss +127 -0
  38. package/components/chip.css +1 -1
  39. package/components/chip.scss +9 -8
  40. package/components/close.css +1 -1
  41. package/components/close.scss +0 -2
  42. package/components/datatable.css +1 -3
  43. package/components/datatable.scss +22 -17
  44. package/components/datepicker.css +1 -1
  45. package/components/datepicker.scss +6 -22
  46. package/components/dialog.css +1 -1
  47. package/components/dialog.scss +26 -38
  48. package/components/dropdown.css +1 -1
  49. package/components/dropdown.scss +9 -6
  50. package/components/fonts.css +1 -1
  51. package/components/fonts.scss +7 -45
  52. package/components/form-footer.css +1 -0
  53. package/components/form-footer.scss +18 -0
  54. package/components/form-hint.css +1 -0
  55. package/components/form-hint.scss +15 -0
  56. package/components/form-input.css +1 -0
  57. package/components/form-input.scss +301 -0
  58. package/components/form-range.css +1 -1
  59. package/components/form-range.scss +9 -9
  60. package/components/form-search-input.css +1 -0
  61. package/components/form-search-input.scss +97 -0
  62. package/components/form-select.css +1 -1
  63. package/components/form-select.scss +266 -55
  64. package/components/form-textarea.css +1 -1
  65. package/components/form-textarea.scss +172 -9
  66. package/components/globals/_index.scss +1 -0
  67. package/components/globals/post-footer.css +1 -0
  68. package/components/globals/post-footer.scss +113 -0
  69. package/components/header/_mixins.scss +48 -0
  70. package/components/header/index.css +1 -0
  71. package/components/header/index.scss +131 -0
  72. package/components/icon-button.css +1 -0
  73. package/components/icon-button.scss +19 -0
  74. package/components/icon-close-button.css +1 -0
  75. package/components/icon-close-button.scss +29 -0
  76. package/components/intranet-header/_icon.scss +1 -1
  77. package/components/intranet-header/_index.scss +0 -2
  78. package/components/intranet-header/_language-chooser.scss +3 -2
  79. package/components/intranet-header/_nav-overflow.scss +2 -2
  80. package/components/intranet-header/_scaffolding.scss +1 -1
  81. package/components/intranet-header/_searchbox.scss +1 -1
  82. package/components/intranet-header/_sidebar.scss +11 -11
  83. package/components/intranet-header/_top-navigation.scss +1 -1
  84. package/components/list-check.css +1 -0
  85. package/components/list-check.scss +79 -0
  86. package/components/list-group.css +1 -1
  87. package/components/list-group.scss +72 -127
  88. package/components/modal.css +2 -2
  89. package/components/modal.scss +2 -4
  90. package/components/offcanvas.css +1 -1
  91. package/components/offcanvas.scss +0 -2
  92. package/components/pagination.css +1 -1
  93. package/components/pagination.scss +10 -9
  94. package/components/popover.css +1 -1
  95. package/components/popover.scss +0 -2
  96. package/components/product-card.css +1 -1
  97. package/components/product-card.scss +11 -5
  98. package/components/progress.scss +0 -2
  99. package/components/radio-button.css +1 -0
  100. package/components/radio-button.scss +125 -0
  101. package/components/segmented-button.css +3 -0
  102. package/components/segmented-button.scss +207 -0
  103. package/components/skiplinks.css +1 -0
  104. package/components/skiplinks.scss +20 -0
  105. package/components/spinner.scss +0 -1
  106. package/components/stepper.css +1 -1
  107. package/components/stepper.scss +40 -33
  108. package/components/subnavigation.css +1 -1
  109. package/components/subnavigation.scss +17 -14
  110. package/components/switch.css +1 -0
  111. package/components/switch.scss +212 -0
  112. package/components/tables.css +1 -1
  113. package/components/tables.scss +0 -1
  114. package/components/tabs/_tab-title.scss +16 -55
  115. package/components/tabs/_tabs-wrapper.scss +3 -13
  116. package/components/tabs/index.css +1 -1
  117. package/components/tabs/index.scss +0 -2
  118. package/components/tag.css +1 -1
  119. package/components/tag.scss +1 -2
  120. package/components/teaser.css +1 -0
  121. package/components/teaser.scss +83 -0
  122. package/components/text-highlight.css +1 -1
  123. package/components/timepicker.css +1 -1
  124. package/components/timepicker.scss +13 -16
  125. package/components/toast.css +1 -1
  126. package/components/toast.scss +19 -16
  127. package/components/tooltip.css +1 -1
  128. package/components/tooltip.scss +0 -2
  129. package/components/transitions.scss +0 -2
  130. package/components/validation.css +1 -0
  131. package/components/validation.scss +120 -0
  132. package/elements/_index.scss +7 -1
  133. package/elements/anchor.css +1 -0
  134. package/elements/anchor.scss +33 -0
  135. package/elements/body.css +1 -1
  136. package/elements/body.scss +5 -1
  137. package/elements/fieldset-legend.css +1 -1
  138. package/elements/fieldset-legend.scss +7 -3
  139. package/elements/heading.css +1 -1
  140. package/elements/heading.scss +10 -12
  141. package/elements/list-bullet.css +1 -0
  142. package/elements/list-bullet.scss +43 -0
  143. package/elements/list-description.css +1 -0
  144. package/elements/list-description.scss +5 -0
  145. package/elements/list-number.css +1 -0
  146. package/elements/list-number.scss +33 -0
  147. package/elements/paragraph.css +1 -0
  148. package/elements/paragraph.scss +17 -0
  149. package/elements/reset.css +1 -1
  150. package/elements/reset.scss +16 -7
  151. package/elements.css +1 -0
  152. package/elements.scss +1 -0
  153. package/fonts.css +1 -1
  154. package/functions/_breakpoint.scss +26 -0
  155. package/functions/_forms.scss +46 -3
  156. package/functions/_icons.scss +2 -14
  157. package/helpers/_index.scss +4 -0
  158. package/helpers/clearfix.css +1 -0
  159. package/helpers/clearfix.scss +5 -0
  160. package/helpers/focus-ring.css +1 -0
  161. package/helpers/focus-ring.scss +5 -0
  162. package/helpers/text-truncation.css +1 -0
  163. package/helpers/text-truncation.scss +5 -0
  164. package/helpers/visually-hidden.css +1 -0
  165. package/helpers/visually-hidden.scss +5 -0
  166. package/index.css +3 -3
  167. package/index.scss +2 -5
  168. package/intranet.css +3 -3
  169. package/intranet.scss +2 -2
  170. package/layout/_containers.scss +32 -0
  171. package/layout/_section.scss +133 -0
  172. package/layout/grid/_index.scss +11 -0
  173. package/layout/grid/_mixins.scss +104 -0
  174. package/layout/grid/_variables.scss +2 -0
  175. package/layout/index.css +1 -0
  176. package/layout/index.scss +3 -0
  177. package/mixins/_button.scss +19 -15
  178. package/mixins/_form-checks.scss +1 -1
  179. package/mixins/_forms.scss +42 -33
  180. package/mixins/_icon-button.scss +27 -0
  181. package/mixins/_icons.scss +22 -32
  182. package/mixins/_index.scss +3 -2
  183. package/mixins/_layout.scss +26 -0
  184. package/mixins/_list.scss +112 -0
  185. package/mixins/_media.scss +58 -2
  186. package/mixins/_notification.scss +59 -53
  187. package/mixins/_utilities.scss +46 -25
  188. package/package.json +16 -16
  189. package/palettes/_mixins.scss +74 -0
  190. package/palettes/_utilities.scss +3 -0
  191. package/palettes/_variables.scss +2 -0
  192. package/palettes/cargo-palettes.css +1 -0
  193. package/palettes/cargo-palettes.scss +3 -0
  194. package/palettes/post-palettes.css +1 -0
  195. package/palettes/post-palettes.scss +3 -0
  196. package/placeholders/_button.scss +3 -6
  197. package/placeholders/_close.scss +2 -5
  198. package/placeholders/_schemes.scss +10 -0
  199. package/post-external.css +3 -3
  200. package/post-external.scss +7 -1
  201. package/post-internal.css +3 -3
  202. package/post-internal.scss +7 -1
  203. package/post-tokens-external.css +1 -1
  204. package/post-tokens-external.scss +1 -1
  205. package/post-tokens-internal.css +1 -1
  206. package/post-tokens-internal.scss +1 -1
  207. package/themes/bootstrap/_core.scss +0 -2
  208. package/themes/bootstrap/_forms.scss +0 -4
  209. package/themes/bootstrap/_overrides-variables.scss +0 -6
  210. package/themes/bootstrap/_utilities.scss +45 -1
  211. package/tokens/_cargo-theme.scss +8 -0
  212. package/tokens/_helpers.scss +1 -0
  213. package/tokens/_palettes.scss +9 -0
  214. package/tokens/_schemes.scss +11 -0
  215. package/tokens/_utilities_formatted.scss +1 -0
  216. package/tokens/temp/_channel.scss +4 -3
  217. package/tokens/temp/_components.scss +594 -503
  218. package/tokens/temp/_core.scss +49 -37
  219. package/tokens/temp/_device.scss +210 -239
  220. package/tokens/temp/_elements.scss +11 -11
  221. package/tokens/temp/_helpers.scss +13 -0
  222. package/tokens/temp/_index.scss +6 -4
  223. package/tokens/temp/_palettes.scss +19 -0
  224. package/tokens/temp/_scheme.scss +334 -0
  225. package/tokens/temp/_theme.scss +28 -9
  226. package/tokens/temp/_utilities-formatted.scss +128 -0
  227. package/tokens/temp/_utilities.scss +34 -58
  228. package/tokens/temp/palettes/_cargo-dark.scss +19 -0
  229. package/tokens/temp/palettes/_cargo-light.scss +19 -0
  230. package/tokens/temp/palettes/_post-dark.scss +19 -0
  231. package/tokens/temp/palettes/_post-light.scss +19 -0
  232. package/utilities/_not-defined.scss +44 -0
  233. package/utilities/_variables.scss +304 -22
  234. package/utilities/index.css +1 -0
  235. package/utilities/{_index.scss → index.scss} +1 -2
  236. package/variables/_animation.scss +10 -6
  237. package/variables/_breakpoints.scss +9 -5
  238. package/variables/_color.scss +0 -61
  239. package/variables/_commons.scss +1 -0
  240. package/variables/_elevation.scss +16 -22
  241. package/variables/_grid.scss +2 -12
  242. package/variables/_icons.scss +19 -696
  243. package/variables/_index.scss +1 -1
  244. package/variables/_sizing.scss +17 -0
  245. package/variables/_spacing.scss +0 -152
  246. package/variables/_type.scss +17 -27
  247. package/variables/components/_accordion.scss +0 -47
  248. package/variables/components/_badge.scss +9 -5
  249. package/variables/components/_button.scss +61 -113
  250. package/variables/components/_card.scss +7 -4
  251. package/variables/components/_chip.scss +13 -7
  252. package/variables/components/_close.scss +14 -8
  253. package/variables/components/_code.scss +1 -1
  254. package/variables/components/_datatable.scss +12 -8
  255. package/variables/components/_dropdowns.scss +1 -1
  256. package/variables/components/_form-check.scss +9 -46
  257. package/variables/components/_forms.scss +8 -101
  258. package/variables/components/_index.scss +0 -5
  259. package/variables/components/_modal.scss +17 -12
  260. package/variables/components/_nav.scss +3 -3
  261. package/variables/components/_navbar.scss +7 -4
  262. package/variables/components/_notification.scss +48 -37
  263. package/variables/components/_pagination.scss +14 -6
  264. package/variables/components/_spinners.scss +7 -2
  265. package/variables/components/_stepper.scss +15 -10
  266. package/variables/components/_subnavigation.scss +11 -9
  267. package/variables/components/_tables.scss +11 -6
  268. package/variables/components/_tag.scss +10 -7
  269. package/components/accordion.css +0 -1
  270. package/components/accordion.scss +0 -100
  271. package/components/alert.css +0 -1
  272. package/components/alert.scss +0 -137
  273. package/components/carousel.css +0 -1
  274. package/components/carousel.scss +0 -178
  275. package/components/elevation.css +0 -1
  276. package/components/elevation.scss +0 -8
  277. package/components/floating-label.css +0 -1
  278. package/components/floating-label.scss +0 -353
  279. package/components/form-check.css +0 -1
  280. package/components/form-check.scss +0 -297
  281. package/components/form-validation.css +0 -1
  282. package/components/form-validation.scss +0 -148
  283. package/components/forms.css +0 -1
  284. package/components/forms.scss +0 -215
  285. package/components/grid.css +0 -1
  286. package/components/grid.scss +0 -170
  287. package/components/icons.css +0 -1
  288. package/components/icons.scss +0 -60
  289. package/components/sizing.css +0 -1
  290. package/components/sizing.scss +0 -85
  291. package/components/topic-teaser.css +0 -1
  292. package/components/topic-teaser.scss +0 -196
  293. package/layouts/portal/_grid.scss +0 -85
  294. package/layouts/portal/_index.scss +0 -2
  295. package/layouts/portal/_subnavigation.scss +0 -5
  296. package/layouts/portal/_variables.scss +0 -8
  297. package/mixins/_accordion.scss +0 -16
  298. package/mixins/_elevation.scss +0 -6
  299. package/mixins/_focus.scss +0 -9
  300. package/mixins/_form-validation.scss +0 -5
  301. package/mixins/_size.scss +0 -65
  302. package/placeholders/_modes.scss +0 -10
  303. package/themes/bootstrap/_carousel.scss +0 -2
  304. package/themes/bootstrap/_containers.scss +0 -2
  305. package/themes/bootstrap/_grid.scss +0 -2
  306. package/themes/bootstrap/_overrides-mixins.scss +0 -33
  307. package/themes/bootstrap/forms/_floating-labels.scss +0 -2
  308. package/themes/bootstrap/forms/_form-control.scss +0 -2
  309. package/themes/bootstrap/forms/_form-select.scss +0 -2
  310. package/themes/bootstrap/forms/_form-text.scss +0 -2
  311. package/tokens/_modes.scss +0 -11
  312. package/tokens/temp/_mode.scss +0 -299
  313. package/utilities/_functions.scss +0 -35
  314. package/utilities/temp/_legacy.scss +0 -95
  315. package/variables/_options.scss +0 -5
  316. package/variables/components/_carousel.scss +0 -27
  317. package/variables/components/_figures.scss +0 -6
  318. package/variables/components/_form-select.scss +0 -13
  319. package/variables/components/_form-validation.scss +0 -38
  320. package/variables/components/_list-group.scss +0 -29
  321. package/variables/components/_topic-teaser.scss +0 -32
@@ -1,297 +0,0 @@
1
- @forward './../variables/options';
2
-
3
- @use '../variables/color';
4
- @use '../variables/commons';
5
- @use '../variables/type';
6
- @use '../variables/spacing';
7
- @use '../variables/animation';
8
- @use '../variables/components/form-check';
9
- @use '../mixins/color' as color-mx;
10
- @use '../mixins/icons' as icons-mx;
11
- @use '../mixins/utilities' as utility-mx;
12
-
13
- .form-check {
14
- display: flex;
15
- flex-wrap: wrap;
16
- row-gap: form-check.$form-check-row-gap;
17
- margin-bottom: form-check.$form-check-margin-bottom;
18
-
19
- @include utility-mx.focus-style() {
20
- border-radius: commons.$border-radius;
21
- }
22
-
23
- &-inline {
24
- display: inline-flex;
25
- }
26
-
27
- &-inline:not(:last-of-type) {
28
- margin-right: form-check.$form-check-inline-margin-right;
29
- }
30
-
31
- &-input,
32
- &-label {
33
- color: rgba(var(--post-contrast-color-rgb), 0.8);
34
- transition: color animation.$transition-base-timing;
35
-
36
- @include utility-mx.high-contrast-mode {
37
- transition: none;
38
- }
39
-
40
- &:hover:not([disabled]),
41
- &:hover:not([disabled]) ~ &-label {
42
- color: var(--post-contrast-color);
43
-
44
- @include utility-mx.high-contrast-mode() {
45
- border-color: Highlight;
46
- }
47
- }
48
- }
49
-
50
- &-input {
51
- display: inline-flex;
52
- flex: 0 auto;
53
- appearance: none;
54
- background: transparent;
55
- height: form-check.$form-check-input-size;
56
- width: form-check.$form-check-input-size;
57
- border: form-check.$form-check-input-border-width solid currentColor;
58
- margin-top: 1px;
59
- @include utility-mx.focus-style-none();
60
-
61
- &:not([disabled]),
62
- &:not([disabled]) ~ .form-check-label {
63
- cursor: pointer;
64
- }
65
-
66
- @include utility-mx.high-contrast-mode {
67
- border-color: FieldText; // For blink-browser as otherwise the default color (which is not a full color) will be converted to Highlight
68
- }
69
-
70
- &::after {
71
- content: '';
72
- display: block;
73
- flex: 1;
74
- }
75
-
76
- &[type='checkbox'] {
77
- &:checked::after {
78
- @include icons-mx.icon(3035);
79
- }
80
-
81
- &:indeterminate::after {
82
- @include icons-mx.icon(2039);
83
- }
84
-
85
- &:checked,
86
- &:indeterminate {
87
- @include utility-mx.high-contrast-mode {
88
- background-color: SelectedItem !important;
89
- color: SelectedItemText !important; // Important is needed for card-control
90
- }
91
- }
92
- }
93
-
94
- &[type='radio'] {
95
- border-radius: 50%;
96
-
97
- &:checked::after {
98
- border: spacing.$size-micro solid transparent;
99
- background-color: currentColor;
100
- border-radius: inherit;
101
- background-clip: padding-box;
102
-
103
- @include utility-mx.high-contrast-mode {
104
- background-color: SelectedItem;
105
- border-color: Canvas;
106
- }
107
- }
108
-
109
- &[disabled] {
110
- padding: spacing.$size-line; // Used to mimic border width because it is used in combination with background-clip: padding-box; to size the selected shape
111
- background-image: url('#{form-check.$form-check-input-radio-disabled-background-url-light}');
112
-
113
- @include color-mx.on-dark-background {
114
- background-image: url('#{form-check.$form-check-input-radio-disabled-background-url-dark}');
115
- }
116
-
117
- @include utility-mx.high-contrast-mode {
118
- background-image: url('#{form-check.$form-check-input-radio-disabled-background-url-hcm}') !important;
119
- }
120
- }
121
- }
122
-
123
- &[disabled] {
124
- border: 0;
125
- background-image: url('#{form-check.$form-check-input-disabled-background-url-light-lg}');
126
-
127
- &[type='checkbox'],
128
- &[type='radio'] {
129
- @include utility-mx.high-contrast-mode {
130
- border-color: GrayText !important;
131
- }
132
- }
133
-
134
- &[type='checkbox'] {
135
- &:checked,
136
- &:indeterminate {
137
- @include utility-mx.high-contrast-mode {
138
- background-color: Field !important;
139
- color: GrayText !important;
140
- }
141
- }
142
- }
143
-
144
- &[type='radio'] {
145
- &:checked::after {
146
- @include utility-mx.high-contrast-mode {
147
- background-color: GrayText;
148
- }
149
- }
150
- }
151
-
152
- @include color-mx.on-dark-background {
153
- background-image: url('#{form-check.$form-check-input-disabled-background-url-dark-lg}');
154
- }
155
-
156
- @include utility-mx.high-contrast-mode {
157
- background-image: url('#{form-check.$form-check-input-disabled-background-url-hcm-lg}') !important;
158
- }
159
-
160
- .form-check-sm &[type='checkbox'] {
161
- background-image: url('#{form-check.$form-check-input-disabled-background-url-light-sm}');
162
-
163
- @include color-mx.on-dark-background {
164
- background-image: url('#{form-check.$form-check-input-disabled-background-url-dark-sm}');
165
- }
166
-
167
- @include utility-mx.high-contrast-mode {
168
- background-image: url('#{form-check.$form-check-input-disabled-background-url-hcm-sm}') !important;
169
- }
170
- }
171
- }
172
-
173
- &[disabled],
174
- &[disabled] ~ .form-check-label {
175
- text-decoration: line-through;
176
- color: color.$black-alpha-60;
177
-
178
- @include color-mx.on-dark-background() {
179
- color: color.$white-alpha-80;
180
- }
181
- }
182
-
183
- .form-check-sm & {
184
- height: form-check.$form-check-input-size-sm;
185
- width: form-check.$form-check-input-size-sm;
186
-
187
- &[type='radio'] {
188
- &:checked::after {
189
- border-width: spacing.$size-line;
190
- }
191
- }
192
- }
193
- }
194
-
195
- &-label {
196
- flex: 1;
197
-
198
- :not(.form-switch, .radio-button-card, .checkbox-button-card) > & {
199
- padding-inline-start: form-check.$form-check-column-gap;
200
- }
201
-
202
- .form-check-sm & {
203
- font-size: type.$font-size-12;
204
- }
205
- }
206
- }
207
-
208
- .form-switch {
209
- .form-check-input {
210
- height: form-check.$form-switch-height;
211
- width: form-check.$form-switch-width;
212
- border: 0;
213
- border-radius: form-check.$form-switch-width;
214
- background-image: form-check.$form-switch-background-image;
215
- background-size: 2 * form-check.$form-switch-width;
216
- background-position-x: 0;
217
- transition:
218
- background-color animation.$transition-base-timing,
219
- background-position animation.$transition-base-timing;
220
-
221
- &::after {
222
- max-width: form-check.$form-switch-height;
223
- background-color: form-check.$form-switch-color;
224
- border: form-check.$form-check-input-border-width solid form-check.$form-switch-border-color;
225
- border-radius: 50%;
226
- transition: transform animation.$transition-base-timing;
227
- }
228
-
229
- &:checked {
230
- background-position-x: form-check.$form-switch-width;
231
-
232
- &::after {
233
- @include icons-mx.remove-icon;
234
- background-color: form-check.$form-switch-color;
235
- border-color: form-check.$form-switch-checked-border-color;
236
- transform: translateX(2rem);
237
- }
238
- }
239
-
240
- @include utility-mx.high-contrast-mode {
241
- transition: none;
242
- border: form-check.$form-check-input-border-width solid CanvasText;
243
-
244
- &:checked {
245
- background-color: SelectedItem !important;
246
- }
247
-
248
- &::after,
249
- &:checked::after {
250
- max-width: calc(
251
- form-check.$form-switch-height - (form-check.$form-check-input-border-width * 2)
252
- );
253
- border-color: Canvas;
254
- background-color: CanvasText;
255
- }
256
- }
257
-
258
- &[disabled] {
259
- background: form-check.$form-switch-disabled-bg;
260
-
261
- &::after {
262
- border-color: form-check.$form-switch-disabled-border-color;
263
- }
264
-
265
- @include utility-mx.high-contrast-mode {
266
- &::after {
267
- border-color: Field;
268
- }
269
-
270
- &:checked {
271
- background-color: GrayText !important;
272
- }
273
- }
274
- }
275
- }
276
-
277
- &:hover > .form-check-input:not([disabled]) {
278
- background-color: rgba(var(--post-contrast-color-rgb), 0.1);
279
-
280
- @include utility-mx.high-contrast-mode {
281
- border-color: Highlight;
282
- }
283
- }
284
-
285
- .form-check-label {
286
- padding-top: form-check.$form-switch-label-padding-top;
287
-
288
- &.order-first {
289
- flex: 0 auto;
290
- padding-inline-end: form-check.$form-switch-column-gap;
291
- }
292
-
293
- &:not(.order-first) {
294
- padding-inline-start: form-check.$form-switch-column-gap;
295
- }
296
- }
297
- }
@@ -1 +0,0 @@
1
- .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:1rem;color:#fff;background-color:var(--bs-success);border-radius:0}.was-validated :valid~.valid-tooltip,.is-valid~.valid-tooltip{display:block}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:1rem;color:#fff;background-color:var(--bs-danger);border-radius:0}.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-tooltip{display:block}.invalid-feedback,.valid-feedback{display:none;align-items:center;width:100%;margin-block:0 0;padding:.375rem 1rem;font-size:.75rem}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.invalid-feedback,.valid-feedback{padding-inline:0}}.invalid-feedback::before,.valid-feedback::before{content:"";flex-shrink:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;align-self:flex-start;height:1.125rem;width:1.125rem;margin-right:.5rem}.invalid-feedback{background:#a51728;color:#fff}.invalid-feedback::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16 2.362-16 27.7h32zm0 2.666 13.69 23.7H2.31zm-1.12 17.056-.364-9.417h2.942l-.401 9.417zm-.23 1.242h2.674V26H14.65z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16 2.362-16 27.7h32zm0 2.666 13.69 23.7H2.31zm-1.12 17.056-.364-9.417h2.942l-.401 9.417zm-.23 1.242h2.674V26H14.65z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.valid-feedback{background:#2c871d;color:#fff}.valid-feedback::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12.667 24.533-7.6-7.6 1.867-1.867 5.733 5.733 12.4-12.4 1.867 1.867z'/%3E%3C/svg%3E");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color}.valid-feedback.custom-feedback{background:#2c871d;color:#fff}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:inline-flex}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:inline-flex}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.is-invalid~.invalid-feedback,.is-valid~.valid-feedback,post-card-control~.invalid-feedback{display:inline-flex}.form-control.is-invalid:not(:disabled),.form-select.is-invalid:not(:disabled){border-color:#a51728}.form-control.is-invalid:not(:disabled):focus,.form-select.is-invalid:not(:disabled):focus{border-color:#a51728}.form-control.is-invalid.form-control-sm~.invalid-feedback,.form-select.is-invalid.form-control-sm~.invalid-feedback{padding:.25rem 1rem}.form-control.is-valid:not(:disabled),.form-select.is-valid:not(:disabled){border-color:var(--post-success)}.form-control.is-valid:not(:disabled):focus,.form-select.is-valid:not(:disabled):focus{border-color:var(--post-success)}.form-control.is-valid.form-control-sm~.valid-feedback,.form-select.is-valid.form-control-sm~.valid-feedback{padding:.25rem 1rem}.form-check-input.is-invalid{border-color:#a51728}.form-check-input.is-invalid~.form-check-label{color:#a51728}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input.is-invalid{border-color:inherit}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .form-check-input.is-invalid~.form-check-label{color:#fff}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-check-input.is-invalid{border-color:FieldText}}
@@ -1,148 +0,0 @@
1
- @forward './../variables/options';
2
-
3
- @use 'sass:map';
4
-
5
- @use './../themes/bootstrap/core' as b;
6
- @use './../themes/bootstrap/forms/validation' as bfv;
7
-
8
- @use './../mixins/color' as color-mx;
9
- @use './../mixins/utilities' as utilities-mx;
10
- @use './../mixins/form-validation' as form-validation-mx;
11
- @use './../variables/color';
12
- @use './../variables/components/form-validation';
13
- @use './../variables/components/forms';
14
- @use './../variables/spacing';
15
- @use './../variables/type';
16
- @use './../mixins/icons';
17
-
18
- .invalid-feedback,
19
- .valid-feedback {
20
- display: none;
21
- align-items: center;
22
- width: 100%;
23
- margin-block: form-validation.$form-feedback-margin-top 0;
24
- padding: form-validation.$form-feedback-padding-y form-validation.$form-feedback-padding-x;
25
- font-size: form-validation.$form-feedback-font-size;
26
-
27
- @include utilities-mx.high-contrast-mode() {
28
- padding-inline: 0;
29
- }
30
-
31
- &::before {
32
- content: '';
33
- flex-shrink: 0;
34
- -webkit-mask-repeat: no-repeat;
35
- mask-repeat: no-repeat;
36
- align-self: flex-start;
37
- height: form-validation.$form-feedback-font-size * type.$line-height-copy;
38
- width: form-validation.$form-feedback-font-size * type.$line-height-copy;
39
- margin-right: spacing.$size-mini;
40
- }
41
- }
42
-
43
- .invalid-feedback {
44
- background: form-validation.$form-feedback-invalid-bg;
45
- color: form-validation.$form-feedback-invalid-text;
46
-
47
- &::before {
48
- @include icons.icon(2413);
49
- }
50
- }
51
-
52
- .valid-feedback {
53
- background: form-validation.$form-feedback-valid-bg;
54
- color: form-validation.$form-feedback-valid-text;
55
-
56
- &::before {
57
- @include icons.icon(2105);
58
- }
59
- }
60
-
61
- .valid-feedback.custom-feedback {
62
- background: form-validation.$form-feedback-custom-bg;
63
- color: form-validation.$form-feedback-custom-text;
64
- }
65
-
66
- @each $state, $data in b.$form-validation-states {
67
- $icon: map.get($data, 'icon');
68
-
69
- @include b.form-validation-state-selector($state) {
70
- ~ .#{$state}-feedback,
71
- ~ .#{$state}-tooltip {
72
- display: inline-flex;
73
- }
74
- }
75
-
76
- .input-group {
77
- > .form-control:not(:focus),
78
- > .form-select:not(:focus),
79
- > .form-floating:not(:focus-within) {
80
- @include b.form-validation-state-selector($state) {
81
- @if $state == 'valid' {
82
- z-index: 3;
83
- } @else if $state == 'invalid' {
84
- z-index: 4;
85
- }
86
- }
87
- }
88
- }
89
- }
90
-
91
- .is-invalid ~ .invalid-feedback,
92
- .is-valid ~ .valid-feedback,
93
- post-card-control ~ .invalid-feedback {
94
- display: inline-flex;
95
- }
96
-
97
- .form-control,
98
- .form-select {
99
- &.is-invalid {
100
- &:not(:disabled) {
101
- border-color: form-validation.$form-feedback-invalid-color;
102
-
103
- &:focus {
104
- border-color: form-validation.$form-feedback-invalid-color;
105
- }
106
- }
107
-
108
- &.form-control-sm ~ .invalid-feedback {
109
- padding: form-validation.$form-feedback-padding-y-sm form-validation.$form-feedback-padding-x;
110
- }
111
- }
112
-
113
- &.is-valid {
114
- &:not(:disabled) {
115
- border-color: var(--post-success);
116
-
117
- &:focus {
118
- border-color: var(--post-success);
119
- }
120
- }
121
-
122
- &.form-control-sm ~ .valid-feedback {
123
- padding: form-validation.$form-feedback-padding-y-sm form-validation.$form-feedback-padding-x;
124
- }
125
- }
126
- }
127
-
128
- .form-check-input {
129
- @include form-validation-mx.form-validation-state-selector(invalid) {
130
- border-color: form-validation.$form-feedback-invalid-color;
131
-
132
- ~ .form-check-label {
133
- color: form-validation.$form-feedback-invalid-color;
134
- }
135
-
136
- @include color-mx.on-dark-background {
137
- border-color: inherit;
138
-
139
- ~ .form-check-label {
140
- color: color.$white;
141
- }
142
- }
143
-
144
- @include utilities-mx.high-contrast-mode {
145
- border-color: FieldText; // For blink-browser as otherwise the invalid color will be converted to Highlight
146
- }
147
- }
148
- }
@@ -1 +0,0 @@
1
- .form-text{margin-top:.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;appearance:none;background-color:#fff;background-clip:padding-box;border:2px solid #333;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:inherit;background-color:inherit;border-color:inherit;outline:0;box-shadow:none}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:#666;opacity:1}.form-control:disabled{color:var(--post-gray-60);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.4);border-color:var(--post-gray-40);opacity:1}.form-control::file-selector-button{padding:.875rem 1.125rem;margin:-0.875rem -1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#fff}.form-control-plaintext{display:block;width:100%;padding:.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:2px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:1.75rem;padding:.25rem 1rem;font-size:0.875rem;border-radius:0}.form-control-sm::file-selector-button{padding:.25rem 1rem;margin:-0.25rem -1rem;margin-inline-end:1rem}.form-control-lg{min-height:3.125rem;padding:.75rem 1rem;font-size:1.25rem;border-radius:0}.form-control-lg::file-selector-button{padding:.75rem 1rem;margin:-0.75rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:3.5rem}textarea.form-control-sm{min-height:1.75rem}textarea.form-control-lg{min-height:3.125rem}.form-control-color{width:3rem;height:3.5rem;padding:.875rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:0}.form-control-color.form-control-sm{height:1.75rem}.form-control-color.form-control-lg{height:3.125rem}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;text-align:center;white-space:nowrap;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border:2px solid #333;border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.75rem 1rem;font-size:1.25rem;border-radius:0}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem 1rem;font-size:0.875rem;border-radius:0}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.5rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(2px*-1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.form-control-rg{padding:.625rem .875rem;font-size:1rem;line-height:1.5}.form-control-sm{font-size:.875rem;line-height:1.5;min-height:1.75rem;padding-block:.25rem;padding-inline:1rem}.form-control-lg{font-size:1rem !important;line-height:1.5;min-height:3.125rem}textarea.form-control-lg{padding-top:1rem;padding-bottom:.5rem;padding-right:1.5rem;min-height:3.25rem}textarea.form-control-sm{padding-top:.5rem;padding-right:1.5rem;padding-bottom:0;min-height:2.5625rem}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control-wrapper{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.form-control-wrapper:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control-wrapper:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.form-control-wrapper:is(:focus-visible,:focus-within,.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control-wrapper:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:not(.form-control-wrapper)>.form-control{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}:not(.form-control-wrapper)>.form-control:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:not(.form-control-wrapper)>.form-control:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:not(.form-control-wrapper)>.form-control:is(:focus-visible,:focus-within,.pretend-focus){outline-style:solid !important;border-radius:4px}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:not(.form-control-wrapper)>.form-control:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.form-control{position:relative}.form-control:focus{box-shadow:none}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:focus{border-color:FieldText !important}}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:not(:disabled):hover,.form-control:not(:disabled):focus{border-color:FieldText}}.form-control:not(:disabled):hover{border-color:#000}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:not(:disabled):hover{border-color:Highlight}}.form-control:disabled{pointer-events:none;color:var(--post-gray-60);border-color:var(--post-gray-40);border-style:dashed;background-clip:padding-box;text-decoration:line-through}.form-control:disabled~.form-text{color:var(--post-gray-60)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:disabled{color:GrayText;border-color:GrayText}}.form-control[readonly]:not(:disabled){border-color:#000;background-color:#fff}.form-control[type=file]{position:relative}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control[type=file]:disabled{color:GrayText;border-color:GrayText}}.form-control[type=file]::file-selector-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}@supports(background: -webkit-named-image(i)){.form-control[type=file]::file-selector-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::after{display:flex;align-items:center;content:"Choose File";position:absolute;top:0;bottom:0;right:0;z-index:2;padding-inline:.875rem;background-color:inherit;border-left:inherit;text-align:center}[lang=de] .form-control[type=file]::after{content:"Datei auswählen"}[lang=fr] .form-control[type=file]::after{content:"Choisir un fichier"}[lang=it] .form-control[type=file]::after{content:"Scegli file"}.form-control[type=file][multiple]::after{content:"Choose Files"}[lang=de] .form-control[type=file][multiple]::after{content:"Dateien auswählen"}[lang=fr] .form-control[type=file][multiple]::after{content:"Choisir des fichiers"}}.form-control[type=file].form-control-sm::after{padding-inline:.25rem}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-rg::after{padding-inline:.625rem}.form-control[type=file].form-control-lg::after{padding-inline:.75rem}.form-label:has(+.form-control-sm,+.form-select-sm){font-size:.875rem;margin-bottom:.25rem}.form-label:has(+.form-control[disabled],+.form-select[disabled]){color:var(--post-gray-60)}
@@ -1,215 +0,0 @@
1
- @forward './../variables/options';
2
-
3
- @use './../variables/commons';
4
- @use './../variables/components/forms';
5
- @use './../variables/type';
6
- @use './../variables/spacing';
7
- @use './../variables/color';
8
-
9
- @use './../functions/sizing';
10
-
11
- @use './../mixins/utilities';
12
- @use './../mixins/forms' as form-mixins;
13
-
14
- @use './../themes/bootstrap/forms/form-text' as bfft;
15
- @use './../themes/bootstrap/forms/form-control' as bffc;
16
- @use './../themes/bootstrap/forms/input-group' as bfig;
17
-
18
- .form-control-rg {
19
- @include form-mixins.form-rg;
20
- }
21
-
22
- .form-control-sm {
23
- @include form-mixins.form-sm;
24
- }
25
-
26
- .form-control-lg {
27
- @include form-mixins.form-lg;
28
- }
29
-
30
- textarea {
31
- &.form-control-lg {
32
- padding-top: spacing.$size-regular;
33
- padding-bottom: spacing.$size-mini;
34
- padding-right: spacing.$size-large;
35
- min-height: (forms.$form-floating-label-font-size * forms.$input-line-height-lg) +
36
- spacing.$size-regular + spacing.$size-mini + sizing.px-to-rem(forms.$input-border-width * 2);
37
- }
38
-
39
- &.form-control-sm {
40
- padding-top: spacing.$size-mini;
41
- padding-right: spacing.$size-large;
42
- padding-bottom: 0;
43
- min-height: (forms.$form-floating-label-font-size-placeholder-sm * forms.$input-line-height-sm) +
44
- (spacing.$size-mini * 2) + sizing.px-to-rem(forms.$input-border-width * 2);
45
- }
46
- }
47
-
48
- select.form-control-rg:not([size]):not([multiple]) {
49
- height: forms.$input-height-rg;
50
- }
51
-
52
- .form-control-wrapper {
53
- @include utilities.focus-style() {
54
- border-radius: commons.$border-radius;
55
- }
56
- }
57
-
58
- :not(.form-control-wrapper) > {
59
- .form-control {
60
- @include utilities.focus-style() {
61
- border-radius: commons.$border-radius;
62
- }
63
- }
64
- }
65
-
66
- .form-control {
67
- position: relative;
68
-
69
- &:focus {
70
- box-shadow: none; // Override bootstrap
71
-
72
- @include utilities.high-contrast-mode {
73
- border-color: FieldText !important; // On blink browser valid and invalid border colors are converted to Highlight color
74
- }
75
- }
76
-
77
- &:not(:disabled) {
78
- &:hover,
79
- &:focus {
80
- @include utilities.high-contrast-mode {
81
- border-color: FieldText;
82
- }
83
- }
84
-
85
- &:hover {
86
- border-color: color.$black;
87
- @include utilities.high-contrast-mode {
88
- border-color: Highlight;
89
- }
90
- }
91
- }
92
-
93
- @include utilities.disabled-style {
94
- ~ .form-text {
95
- color: var(--post-gray-60);
96
- }
97
- }
98
-
99
- &[readonly]:not(:disabled) {
100
- border-color: forms.$input-color;
101
- background-color: forms.$input-bg;
102
- }
103
-
104
- &[type='file'] {
105
- position: relative;
106
-
107
- &:disabled {
108
- @include utilities.high-contrast-mode {
109
- color: GrayText; // Needed for the button on blink browser, even if we define it on .form-control:disabled
110
- border-color: GrayText;
111
- }
112
- }
113
-
114
- &::file-selector-button {
115
- display: block;
116
- position: absolute;
117
- top: 0;
118
- bottom: 0;
119
- right: 0;
120
- margin-inline: 0;
121
- height: auto;
122
- background-color: inherit;
123
- border-right: 0 none;
124
- border-left: inherit;
125
- }
126
-
127
- // Fix Safari cutoff when change the initial position of the selector button.
128
- /* stylelint-disable-next-line */
129
- @supports (background: -webkit-named-image(i)) {
130
- &::file-selector-button {
131
- display: initial;
132
- position: initial;
133
- margin-inline: 0;
134
- padding-inline: 0;
135
- width: 0;
136
- border: 0 none;
137
- }
138
-
139
- &::after {
140
- display: flex;
141
- align-items: center;
142
- content: 'Choose File';
143
- position: absolute;
144
- top: 0;
145
- bottom: 0;
146
- right: 0;
147
- z-index: 2;
148
- padding-inline: forms.$input-padding-y;
149
- background-color: inherit;
150
- border-left: inherit;
151
- text-align: center;
152
-
153
- [lang='de'] & {
154
- content: 'Datei auswählen';
155
- }
156
-
157
- [lang='fr'] & {
158
- content: 'Choisir un fichier';
159
- }
160
-
161
- [lang='it'] & {
162
- content: 'Scegli file';
163
- }
164
- }
165
-
166
- &[multiple] {
167
- &::after {
168
- content: 'Choose Files';
169
-
170
- [lang='de'] & {
171
- content: 'Dateien auswählen';
172
- }
173
-
174
- [lang='fr'] & {
175
- content: 'Choisir des fichiers';
176
- }
177
- }
178
- }
179
- }
180
-
181
- &.form-control-sm {
182
- &::after {
183
- padding-inline: forms.$input-padding-y-sm;
184
- }
185
- }
186
-
187
- &.form-control-rg {
188
- min-height: calc(
189
- (1rem * forms.$input-line-height-rg) + (forms.$input-padding-y-rg * 2) +
190
- (forms.$input-border-width * 2)
191
- );
192
-
193
- &::after {
194
- padding-inline: forms.$input-padding-y-rg;
195
- }
196
- }
197
-
198
- &.form-control-lg {
199
- &::after {
200
- padding-inline: forms.$input-padding-y-lg;
201
- }
202
- }
203
- }
204
- }
205
-
206
- .form-label {
207
- &:has(+ .form-control-sm, + .form-select-sm) {
208
- font-size: forms.$form-label-font-size-sm;
209
- margin-bottom: spacing.$size-micro;
210
- }
211
-
212
- &:has(+ .form-control[disabled], + .form-select[disabled]) {
213
- color: var(--post-gray-60);
214
- }
215
- }