@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,497 @@
1
+ $BUTTON_SELECTOR: ".button" !default;
2
+
3
+ @use "../../core";
4
+ @use "../../core/size";
5
+ @use "../../core/utils/functions" as *;
6
+
7
+ @mixin button-group-margin($margin-bottom, $margin-right) {
8
+ margin-bottom: $margin-bottom;
9
+ margin-right: $margin-right;
10
+
11
+ &:last-child {
12
+ margin-right: 0;
13
+ }
14
+ }
15
+
16
+ /// Button group and button list
17
+ .button-group {
18
+ align-items: center;
19
+ display: flex;
20
+ flex-wrap: wrap;
21
+ margin-bottom: densify(size.$margin-050);
22
+ margin-top: densify(size.$margin-025);
23
+
24
+ .button-group__item {
25
+ margin: 0;
26
+ margin-bottom: densify(size.$margin-100);
27
+
28
+ @include core.breakpoint-up(md) {
29
+ @include button-group-margin(densify(size.$margin-100), size.$margin-125);
30
+ }
31
+ }
32
+
33
+ > .button.button--discrete {
34
+ @include button-group-margin(densify(size.$margin-100), size.$margin-150);
35
+ }
36
+
37
+ > .button.button--small {
38
+ @include button-group-margin(densify(size.$margin-075), size.$margin-075);
39
+ &.button--full-width {
40
+ @include core.breakpoint-down(sm) {
41
+ margin-right: 0;
42
+ }
43
+ }
44
+ }
45
+
46
+ > .button.button--medium {
47
+ @include button-group-margin(densify(size.$margin-075), size.$margin-100);
48
+ &.button--full-width {
49
+ @include core.breakpoint-down(sm) {
50
+ margin-right: 0;
51
+ }
52
+ }
53
+ }
54
+
55
+ > .button.button--large {
56
+ @include core.breakpoint-up(md) {
57
+ @include button-group-margin(densify(size.$margin-100), size.$margin-125);
58
+ }
59
+ }
60
+
61
+ &--end {
62
+ justify-content: flex-end;
63
+ }
64
+ }
65
+
66
+ .button-list {
67
+ margin-bottom: densify(size.$margin-050);
68
+ margin-top: densify(size.$margin-025);
69
+ padding-left: 0;
70
+
71
+ > li button {
72
+ margin: 0;
73
+ margin-bottom: densify(size.$margin-100);
74
+
75
+ &.button.button--small,
76
+ &.button.button--medium {
77
+ margin-bottom: densify(size.$margin-075);
78
+ }
79
+
80
+ &.button.button--large {
81
+ margin-bottom: densify(size.$margin-100);
82
+ }
83
+ }
84
+ }
85
+
86
+ /// Primary button
87
+ $button--primary: (
88
+ background-color: var(--f-background-button-primary),
89
+ background-color--hover: var(--f-background-button-primary-hover),
90
+ color: var(--f-text-color-button-primary),
91
+ shadow: var(--f-button-shadow),
92
+ shadow-hover: var(--f-button-shadow-hover),
93
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-primary-padding-top)),
94
+ padding-right: var(--f-button-primary-padding-right),
95
+ padding-bottom: densify(var(--f-button-primary-padding-bottom)),
96
+ padding-left: var(--f-button-primary-padding-left),
97
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
98
+ ) !default;
99
+
100
+ /// Secondary button
101
+ $button--secondary: (
102
+ background-color--hover: var(--f-background-button-secondary-hover),
103
+ background-color: var(--f-background-button-secondary),
104
+ border-color: var(--f-border-color-button-secondary),
105
+ color: var(--f-text-color-button-secondary),
106
+ shadow: var(--f-button-shadow),
107
+ shadow-hover: var(--f-button-shadow-hover),
108
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-secondary-padding-top)),
109
+ padding-right: var(--f-button-secondary-padding-right),
110
+ padding-bottom: densify(var(--f-button-secondary-padding-bottom)),
111
+ padding-left: var(--f-button-secondary-padding-left),
112
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
113
+ ) !default;
114
+
115
+ /// Standard button
116
+ $button--standard: (
117
+ background-color--hover: var(--f-background-button-standard-hover),
118
+ background-color: var(--f-background-button-standard),
119
+ border-color: var(--f-border-color-button-standard),
120
+ color: var(--f-text-color-button-standard),
121
+ shadow: var(--f-button-shadow),
122
+ shadow-hover: var(--f-button-shadow-hover),
123
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-standard-padding-top)),
124
+ padding-right: var(--f-button-standard-padding-right),
125
+ padding-bottom: densify(var(--f-button-standard-padding-bottom)),
126
+ padding-left: var(--f-button-standard-padding-left),
127
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
128
+ ) !default;
129
+
130
+ /// Discrete button
131
+ $button--discrete: (
132
+ color: var(--f-text-color-button-discrete),
133
+ color--hover: var(--f-text-color-button-discrete-hover),
134
+ color--disabled: var(--f-text-color-button-discrete-disabled),
135
+ background-color--hover: var(--f-background-button-discrete-hover),
136
+ background-color: transparent,
137
+ background-color--disabled: transparent,
138
+ border-color--disabled: transparent,
139
+ border-width: 0,
140
+ shadow: none,
141
+ shadow-hover: var(--f-button-shadow-hover),
142
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-discrete-padding-top)),
143
+ padding-right: var(--f-button-discrete-padding-right),
144
+ padding-bottom: densify(var(--f-button-discrete-padding-bottom)),
145
+ padding-left: var(--f-button-discrete-padding-left),
146
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
147
+ ) !default;
148
+
149
+ /// Discrete inverted button
150
+ $button--discrete-inverted: (
151
+ color: var(--f-text-color-button-discrete-inverted),
152
+ color--hover: var(--f-text-color-button-discrete-inverted-hover),
153
+ color--disabled: var(--f-text-color-button-discrete-inverted-disabled),
154
+ background-color: transparent,
155
+ background-color--disabled: transparent,
156
+ border-color--disabled: transparent,
157
+ border-width: 0,
158
+ shadow: none,
159
+ shadow-hover: var(--f-button-shadow-hover),
160
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-discrete-padding-top)),
161
+ padding-right: var(--f-button-discrete-padding-right),
162
+ padding-bottom: densify(var(--f-button-discrete-padding-bottom)),
163
+ padding-left: var(--f-button-discrete-padding-left),
164
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
165
+ ) !default;
166
+
167
+ /// Tertiary button
168
+ $button--tertiary: (
169
+ color: var(--f-text-color-button-tertiary),
170
+ color--hover: var(--f-text-color-button-tertiary-hover),
171
+ color--disabled: var(--f-text-color-button-tertiary-disabled),
172
+ background-color--hover: var(--f-background-button-tertiary-hover),
173
+ background-color: transparent,
174
+ background-color--disabled: transparent,
175
+ border-color--disabled: transparent,
176
+ border-width: 0,
177
+ shadow: none,
178
+ shadow-hover: none,
179
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */ padding-top: densify(var(--f-button-tertiary-padding-top)),
180
+ padding-right: var(--f-button-tertiary-padding-right),
181
+ padding-bottom: densify(var(--f-button-tertiary-padding-bottom)),
182
+ padding-left: var(--f-button-tertiary-padding-left),
183
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
184
+ ) !default;
185
+
186
+ /// Button placeholders
187
+ %button-template {
188
+ border-color: transparent;
189
+ border-radius: var(--f-border-radius-medium);
190
+ border-style: solid;
191
+ border-width: var(--f-border-width-medium);
192
+ cursor: pointer;
193
+ display: inline-block;
194
+ font-size: var(--f-font-size-standard);
195
+ font-weight: var(--f-font-weight-medium);
196
+ justify-content: center;
197
+ letter-spacing: var(--f-button-letter-spacing);
198
+ line-height: var(--f-button-default-line-height);
199
+ margin-bottom: densify(size.$margin-150);
200
+ margin-top: densify(size.$margin-025);
201
+ min-width: var(--f-button-min-width);
202
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */
203
+ padding-top: densify(var(--f-button-default-padding-top));
204
+ padding-right: var(--f-button-default-padding-right);
205
+ padding-bottom: densify(var(--f-button-default-padding-bottom));
206
+ padding-left: var(--f-button-default-padding-left);
207
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
208
+ position: relative;
209
+ text-align: center;
210
+ transition: background-color var(--f-animation-duration-medium) ease-out;
211
+
212
+ @include core.breakpoint-down(sm) {
213
+ max-width: var(--f-width-full);
214
+ width: var(--f-width-full);
215
+ }
216
+ }
217
+
218
+ /// Deprecated: Will be removed in next major version (FKUI v4).
219
+ .button--text {
220
+ /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder -- technical debt */
221
+ @extend .button--discrete;
222
+
223
+ &--black {
224
+ /* stylelint-disable-next-line scss/at-extend-no-missing-placeholder -- technical debt */
225
+ @extend .button--discrete--black;
226
+
227
+ color: var(--f-text-color-default);
228
+
229
+ & > .button__icon {
230
+ color: var(--f-icon-color-black);
231
+ }
232
+ }
233
+ }
234
+
235
+ #{$BUTTON_SELECTOR} {
236
+ @extend %button-template;
237
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--standard...);
238
+
239
+ &#{$BUTTON_SELECTOR}--primary {
240
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--primary...);
241
+ }
242
+
243
+ &#{$BUTTON_SELECTOR}--secondary {
244
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--secondary...);
245
+ }
246
+
247
+ &#{$BUTTON_SELECTOR}--discrete {
248
+ width: inherit;
249
+ min-width: 0;
250
+ font-weight: var(--f-font-weight-bold);
251
+ outline-offset: size.$padding-025;
252
+ line-height: calc(1.25 * var(--f-font-size-standard));
253
+
254
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--discrete...);
255
+
256
+ @include core.breakpoint-down(sm) {
257
+ width: auto;
258
+ }
259
+
260
+ &--black {
261
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */
262
+ padding-top: densify(var(--f-button-discrete-black-padding-top));
263
+ padding-right: var(--f-button-discrete-black-padding-right);
264
+ padding-bottom: densify(var(--f-button-discrete-black-padding-bottom));
265
+ padding-left: var(--f-button-discrete-black-padding-left);
266
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
267
+ color: var(--f-text-color-default);
268
+
269
+ & > .button__icon {
270
+ color: var(--f-icon-color-black);
271
+ }
272
+ }
273
+
274
+ &:hover {
275
+ box-shadow: none;
276
+ mix-blend-mode: multiply;
277
+ }
278
+ &,
279
+ &:focus,
280
+ &:active,
281
+ &:hover {
282
+ border-radius: var(--f-button-discrete-radius-hover);
283
+ }
284
+ }
285
+
286
+ &#{$BUTTON_SELECTOR}--discrete-inverted {
287
+ width: inherit;
288
+ min-width: 0;
289
+ font-weight: var(--f-font-weight-bold);
290
+ outline-offset: size.$padding-025;
291
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */
292
+ padding-top: densify(var(--f-button-discrete-padding-top));
293
+ padding-right: var(--f-button-discrete-padding-right);
294
+ padding-bottom: densify(var(--f-button-discrete-padding-bottom));
295
+ padding-left: var(--f-button-discrete-padding-left);
296
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
297
+ line-height: calc(1.25 * var(--f-font-size-standard));
298
+
299
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--discrete-inverted...);
300
+
301
+ @include core.breakpoint-down(sm) {
302
+ width: auto;
303
+ }
304
+
305
+ &,
306
+ &:focus,
307
+ &:active,
308
+ &:hover {
309
+ border-radius: var(--f-button-discrete-radius-hover);
310
+ }
311
+ }
312
+
313
+ &#{$BUTTON_SELECTOR}--tertiary {
314
+ width: inherit;
315
+ min-width: 0;
316
+ font-weight: var(--f-font-weight-medium);
317
+ outline-offset: size.$padding-025;
318
+
319
+ @include core.make-button-variant($BUTTON_SELECTOR, $button--tertiary...);
320
+
321
+ @include core.breakpoint-down(sm) {
322
+ width: auto;
323
+ }
324
+
325
+ &--black {
326
+ color: var(--f-text-color-default);
327
+
328
+ & > .button__icon {
329
+ color: var(--f-icon-color-black);
330
+ }
331
+
332
+ &:hover,
333
+ &:active,
334
+ &:focus {
335
+ color: var(--f-text-color-default);
336
+
337
+ & > .button__icon {
338
+ color: var(--f-icon-color-black);
339
+ }
340
+ }
341
+ }
342
+
343
+ &--inverted {
344
+ color: var(--f-text-color-button-tertiary-inverted);
345
+
346
+ & > .button__icon {
347
+ color: var(--f-text-color-button-tertiary-inverted);
348
+ }
349
+
350
+ &:hover,
351
+ &:active,
352
+ &:focus {
353
+ color: var(--f-text-color-button-tertiary-inverted-hover);
354
+ background-color: transparent;
355
+
356
+ & > .button__icon {
357
+ color: var(--f-text-color-button-tertiary-inverted-hover);
358
+ }
359
+ }
360
+
361
+ &:disabled {
362
+ color: var(--f-text-color-button-tertiary-disabled);
363
+ border-width: 0;
364
+ background-color: transparent;
365
+
366
+ & > .button__icon {
367
+ color: var(--f-text-color-button-tertiary-disabled);
368
+ }
369
+ }
370
+ }
371
+
372
+ &--underline {
373
+ text-decoration: underline;
374
+ text-decoration-thickness: 2px;
375
+ text-underline-offset: 4px;
376
+
377
+ &:disabled {
378
+ text-decoration: none;
379
+ }
380
+ }
381
+
382
+ &#{$BUTTON_SELECTOR}--small {
383
+ min-width: 24px;
384
+ padding: densify(0.375rem) size.$padding-025;
385
+ text-underline-offset: 3.5px;
386
+ &#{$BUTTON_SELECTOR}--align-text {
387
+ margin-left: -(size.$margin-025);
388
+ }
389
+ }
390
+
391
+ &#{$BUTTON_SELECTOR}--medium {
392
+ min-width: 8rem;
393
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties -- readability */
394
+ padding-top: densify(var(--f-button-tertiary-padding-top));
395
+ padding-right: var(--f-button-tertiary-padding-right);
396
+ padding-bottom: densify(var(--f-button-tertiary-padding-bottom));
397
+ padding-left: var(--f-button-tertiary-padding-left);
398
+ /* stylelint-enable declaration-block-no-redundant-longhand-properties */
399
+ &#{$BUTTON_SELECTOR}--align-text {
400
+ margin-left: -(size.$margin-050);
401
+ }
402
+ }
403
+
404
+ &#{$BUTTON_SELECTOR}--large {
405
+ min-width: var(--f-button-min-width);
406
+ padding: densify(1.125rem) 0.75rem;
407
+ &#{$BUTTON_SELECTOR}--align-text {
408
+ margin-left: -(size.$margin-075);
409
+ }
410
+ }
411
+
412
+ &#{$BUTTON_SELECTOR}--align-text {
413
+ margin-left: -(size.$margin-050);
414
+ min-width: 0;
415
+ }
416
+
417
+ @include core.breakpoint-down(sm) {
418
+ &.button--full-width {
419
+ min-width: var(--f-width-full);
420
+ }
421
+ }
422
+ }
423
+
424
+ &#{$BUTTON_SELECTOR}--full-width {
425
+ min-width: var(--f-width-full);
426
+ }
427
+
428
+ &#{$BUTTON_SELECTOR}--margin-bottom-0 {
429
+ margin-bottom: 0;
430
+ }
431
+
432
+ &#{$BUTTON_SELECTOR}--small {
433
+ font-size: 14px;
434
+ line-height: 1.25rem;
435
+ min-width: 4rem;
436
+ padding: densify(size.$padding-025) size.$padding-075;
437
+
438
+ @include core.breakpoint-down(sm) {
439
+ &:not(.button--full-width) {
440
+ width: auto;
441
+ }
442
+ }
443
+
444
+ & > .button__icon {
445
+ height: 14px;
446
+ width: 14px;
447
+ }
448
+ }
449
+
450
+ &#{$BUTTON_SELECTOR}--medium {
451
+ line-height: 1.5rem;
452
+ min-width: 8rem;
453
+ padding: densify(0.625rem) 1.25rem;
454
+
455
+ @include core.breakpoint-down(sm) {
456
+ &:not(.button--full-width) {
457
+ width: auto;
458
+ }
459
+ }
460
+ }
461
+
462
+ &#{$BUTTON_SELECTOR}--large {
463
+ line-height: 1.5rem;
464
+ min-width: 9.5rem;
465
+ padding: densify(1rem) 1.5rem;
466
+
467
+ @include core.breakpoint-down(sm) {
468
+ max-width: var(--f-width-full);
469
+ width: var(--f-width-full);
470
+ }
471
+ }
472
+
473
+ & > .button__icon {
474
+ margin-right: size.$margin-025;
475
+ transform: translate(0, 15%);
476
+
477
+ &:not(:first-child) {
478
+ margin-left: size.$margin-025;
479
+ margin-right: 0;
480
+ }
481
+ }
482
+
483
+ & > .button__icon--end {
484
+ position: absolute;
485
+ right: size.$padding-125;
486
+ }
487
+
488
+ &.disabled,
489
+ &.disabled:hover,
490
+ &:disabled,
491
+ &:disabled:hover,
492
+ &#{$BUTTON_SELECTOR}--disabled {
493
+ border-width: var(--f-border-width-medium);
494
+ box-shadow: none;
495
+ cursor: default;
496
+ }
497
+ }
@@ -0,0 +1,86 @@
1
+ @use "../../core/mixins/circle";
2
+
3
+ $CALENDAR_DAY_SELECTOR: ".calendar-day" !default;
4
+ $calendar-highlight-border: var(--f-border-width-small) solid var(--f-border-color-calendar-highlight);
5
+
6
+ #{$CALENDAR_DAY_SELECTOR} {
7
+ align-items: center;
8
+ display: inline-flex;
9
+ font-weight: var(--f-font-weight-medium);
10
+ justify-content: center;
11
+ height: 2.75rem;
12
+ width: 100%;
13
+
14
+ &--highlight {
15
+ position: relative;
16
+
17
+ &::before {
18
+ @include circle.circle($border: $calendar-highlight-border, $size: 2rem);
19
+
20
+ content: "";
21
+ position: absolute;
22
+ border: var(--f-border-width-small) solid var(--f-border-color-calendar-highlight);
23
+ }
24
+
25
+ &.calendar-day--selected {
26
+ &::before {
27
+ border: var(--f-border-width-medium) solid var(--f-border-color-calendar-selected);
28
+ }
29
+ }
30
+ &:active:not(&--disabled) {
31
+ color: var(--f-text-color-default-inverted);
32
+ background-color: var(--f-background-calendar-selected);
33
+
34
+ &::before {
35
+ border: var(--f-border-width-medium) solid var(--f-border-color-calendar-selected);
36
+ }
37
+ }
38
+
39
+ &.calendar-day--disabled {
40
+ position: relative;
41
+
42
+ &::before {
43
+ @include circle.circle($border: $calendar-highlight-border, $size: 2rem);
44
+
45
+ content: "";
46
+ position: absolute;
47
+ border: var(--f-border-width-small) solid var(--f-border-color-calendar-highlight);
48
+ }
49
+
50
+ &::after {
51
+ content: "";
52
+ z-index: 1;
53
+ position: absolute;
54
+ border-top: var(--f-border-width-medium) solid;
55
+ width: 60%;
56
+ }
57
+ }
58
+ }
59
+
60
+ &--selected {
61
+ color: var(--f-text-color-default-inverted);
62
+ background-color: var(--f-background-calendar-selected);
63
+ }
64
+
65
+ &--disabled {
66
+ position: relative;
67
+
68
+ &::before {
69
+ content: "";
70
+ position: absolute;
71
+ border-top: var(--f-border-width-medium) solid;
72
+ width: 60%;
73
+ }
74
+ }
75
+
76
+ &:hover:not(&--disabled, &--selected),
77
+ &--hover:not(&--disabled, &--selected) {
78
+ background-color: var(--f-background-calendar-hover);
79
+ }
80
+
81
+ &:active:not(&--disabled),
82
+ &--active:not(&--disabled) {
83
+ color: var(--f-text-color-default-inverted);
84
+ background-color: var(--f-background-calendar-selected);
85
+ }
86
+ }