@trilogy-ds/styles 0.0.5-beta-v4 → 0.0.5-esm-cjs

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 (99) hide show
  1. package/dist/default/trilogy-mangled.css +1 -1
  2. package/dist/default/trilogy-partials.css +1 -1
  3. package/dist/default/trilogy.css +1 -1
  4. package/framework/src/_all.scss +2 -2
  5. package/framework/src/base/_all.scss +1 -1
  6. package/framework/src/base/_color.scss +0 -21
  7. package/framework/src/base/_elements.scss +1 -1
  8. package/framework/src/base/_generic.scss +5 -0
  9. package/framework/src/base/_helpers.scss +21 -6
  10. package/framework/src/base/_loading.scss +2 -2
  11. package/framework/src/base/_reset.scss +6 -1
  12. package/framework/src/components/_accordion.scss +4 -3
  13. package/framework/src/components/_autocomplete.scss +38 -0
  14. package/framework/src/components/_autolayout.scss +139 -109
  15. package/framework/src/{elements → components}/_box.scss +9 -11
  16. package/framework/src/components/_breadcrumb.scss +17 -31
  17. package/framework/src/{elements → components}/_button.scss +16 -3
  18. package/framework/src/components/_card.scss +26 -9
  19. package/framework/src/{elements → components}/_checkbox.scss +30 -1
  20. package/framework/src/components/_countdown.scss +1 -1
  21. package/framework/src/components/_divider.scss +16 -0
  22. package/framework/src/components/_flex-box.scss +240 -0
  23. package/framework/src/{elements/_all.scss → components/_index.scss} +27 -12
  24. package/framework/src/{elements → components}/_link.scss +9 -3
  25. package/framework/src/components/_list.scss +66 -0
  26. package/framework/src/components/_modal.scss +32 -11
  27. package/framework/src/components/_otp.scss +2 -2
  28. package/framework/src/components/_pagination.scss +5 -2
  29. package/framework/src/components/_price.scss +28 -2
  30. package/framework/src/{elements → components}/_radio.scss +4 -3
  31. package/framework/src/components/_segmented-control.scss +9 -5
  32. package/framework/src/components/_select.scss +131 -0
  33. package/framework/src/components/_stepper.scss +1 -1
  34. package/framework/src/{elements → components}/_sticker.scss +13 -1
  35. package/framework/src/{elements → components}/_switch.scss +13 -8
  36. package/framework/src/{elements → components}/_table.scss +9 -10
  37. package/framework/src/components/_tabs.scss +66 -28
  38. package/framework/src/{elements → components}/_tag.scss +1 -17
  39. package/framework/src/{elements/_paragraph.scss → components/_text.scss} +1 -13
  40. package/framework/src/components/_textarea.scss +46 -0
  41. package/framework/src/components/_timeline.scss +1 -1
  42. package/framework/src/{elements → components}/_title.scss +10 -0
  43. package/framework/src/components/alert/_index.scss +2 -0
  44. package/framework/src/{elements → components/alert}/_toaster.scss +0 -3
  45. package/framework/src/{elements → components/input}/_entry.scss +48 -10
  46. package/framework/src/{elements → components/input}/_form.scss +10 -11
  47. package/framework/src/components/input/_index.scss +4 -0
  48. package/framework/src/{elements → components/input}/_input-icons.scss +14 -2
  49. package/framework/src/components/progress/_index.scss +2 -0
  50. package/framework/src/components/{_progress-radial.scss → progress/_progress-radial.scss} +1 -1
  51. package/framework/src/{elements → components/progress}/_progress.scss +3 -3
  52. package/framework/src/elements/_index.scss +5 -0
  53. package/framework/src/elements/_other.scss +0 -4
  54. package/framework/src/grid/_columns.scss +5 -9
  55. package/framework/src/layout/_hero.scss +4 -0
  56. package/framework/src/layout/_section.scss +5 -0
  57. package/framework/src/theming/buttons_partial.scss +1 -1
  58. package/framework/src/theming/common_partials.scss +1 -1
  59. package/framework/src/trilogy-mangled.scss +3 -3
  60. package/framework/src/trilogy.scss +2 -2
  61. package/framework/src/utilities/_background.scss +3 -1
  62. package/framework/src/utilities/_derived-variables.scss +0 -92
  63. package/framework/src/utilities/_initial-variables.scss +3 -111
  64. package/framework/src/utilities/_pre.scss +3 -1
  65. package/framework/src/utilities/mixins/_arrow.scss +21 -0
  66. package/framework/src/utilities/mixins/_delete.scss +86 -0
  67. package/framework/src/utilities/mixins/_index.scss +11 -0
  68. package/framework/src/utilities/mixins/_markup-group.scss +27 -0
  69. package/framework/src/utilities/mixins/_mixins.scss +293 -0
  70. package/framework/src/utilities/mixins/_overlay.scss +7 -0
  71. package/framework/src/utilities/mixins/_pattern.scss +10 -0
  72. package/framework/src/utilities/mixins/_responsiveness.scss +84 -0
  73. package/framework/src/utilities/mixins/_spinner.scss +12 -0
  74. package/framework/src/utilities/mixins/_state.scss +25 -0
  75. package/framework/src/utilities/mixins/_unselectable.scss +10 -0
  76. package/framework/src/utilities/mixins/_utils.scss +24 -0
  77. package/framework/src/utilities/variables/_animation.scss +2 -0
  78. package/framework/src/utilities/{_colors.scss → variables/_color.scss} +44 -0
  79. package/framework/src/utilities/variables/_font.scss +97 -0
  80. package/framework/src/utilities/variables/_index.scss +6 -0
  81. package/framework/src/utilities/variables/_responsiveness.scss +7 -0
  82. package/framework/src/utilities/variables/_shadow.scss +3 -0
  83. package/framework/src/utilities/variables/_zindex.scss +14 -0
  84. package/package.json +1 -1
  85. package/framework/src/components/_all.scss +0 -24
  86. package/framework/src/elements/_autocomplete.scss +0 -32
  87. package/framework/src/elements/_list.scss +0 -62
  88. package/framework/src/elements/_select.scss +0 -96
  89. package/framework/src/elements/_textarea.scss +0 -133
  90. package/framework/src/utilities/_mixins.scss +0 -635
  91. /package/framework/src/{elements → components}/_badge.scss +0 -0
  92. /package/framework/src/{elements → components}/_chips.scss +0 -0
  93. /package/framework/src/{elements → components}/_container.scss +0 -0
  94. /package/framework/src/{elements → components}/_icon.scss +0 -0
  95. /package/framework/src/{elements → components}/_image.scss +0 -0
  96. /package/framework/src/{elements → components}/_loader.scss +0 -0
  97. /package/framework/src/{elements → components/alert}/_alert.scss +0 -0
  98. /package/framework/src/{elements → components/input}/_input-gauge.scss +0 -0
  99. /package/framework/src/{components → elements}/_plus-symbol.scss +0 -0
@@ -3,7 +3,7 @@
3
3
  }
4
4
 
5
5
  .is-inverted {
6
- .box, .section, .container, .view, .hero {
6
+ .box, .section, .view, .hero {
7
7
  &:not(.is-inverted) {
8
8
  color: getColor('font');
9
9
  }
@@ -12,6 +12,8 @@
12
12
 
13
13
  .has-background {
14
14
  background-repeat: no-repeat;
15
+ background-size: cover;
16
+ background-position: center;
15
17
 
16
18
  .box-content {
17
19
  background-color: transparent;
@@ -1,93 +1 @@
1
1
  @import './initial-variables';
2
-
3
- // Typography
4
- $family-primary: $family-sans-serif !default;
5
- $family-secondary: $family-serif !default;
6
- $family-code: $family-monospace !default;
7
-
8
- $size-xsmall: $text-10 !default;
9
- $size-small: $text-13 !default;
10
- $size-normal: $text-16 !default;
11
- $size-medium: $text-16 !default;
12
- $size-large: $text-24 !default;
13
-
14
-
15
- // Brand Color
16
- $colors-brand: (
17
- 'background', 'main', 'accent'
18
- );
19
-
20
- // Brand Color Functionnal
21
- $colors-brand-functionnal: (
22
- 'background', 'main', 'accent', 'info', 'success', 'error', 'warning', 'neutral'
23
- );
24
-
25
- $colors-feedback: (
26
- 'success', 'error', 'warning', 'info'
27
- );
28
-
29
- // Gestion des z-index
30
- $zindex: (
31
- subzero: -1,
32
- void: 0,
33
- tiny: 1,
34
- small: 10,
35
- medium: 100,
36
- large: 1000,
37
- dropdown: 5000,
38
- sticky: 6000,
39
- fixed: 7000,
40
- modal: 8000,
41
- popover: 9000,
42
- tooltip: 9999,
43
- );
44
-
45
- // Gestion des tailles de police
46
- $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 $size-8;
47
- $sizes-desktop: $size-1-desktop $size-2-desktop $size-3-desktop $size-4-desktop $size-5-desktop $size-6-desktop $size-7-desktop $size-8-desktop;
48
- $sizes-fluid: (
49
- ($size-1, $size-1-desktop),
50
- ($size-2, $size-2-desktop),
51
- ($size-3, $size-3-desktop),
52
- ($size-4, $size-4-desktop),
53
- ($size-5, $size-5-desktop),
54
- ($size-6, $size-6-desktop),
55
- ($size-7, $size-7-desktop),
56
- ($size-8, $size-8-desktop)
57
- );
58
- $sizes-desktop-interim: $size-7-desktop $size-6-desktop $size-5-desktop $size-4-desktop $size-3-desktop $size-2-desktop $size-1-desktop;
59
- $sizes-fluid-interim: (
60
- ($size-7, $size-7-desktop),
61
- ($size-6, $size-6-desktop),
62
- ($size-5, $size-5-desktop),
63
- ($size-4, $size-4-desktop),
64
- ($size-3, $size-3-desktop),
65
- ($size-2, $size-2-desktop),
66
- ($size-1, $size-1-desktop)
67
- );
68
-
69
- // Gestion des déclinaisons de tailles utilisables par les composants (préfixées par is-)
70
- $dimension-xxsmall: 'xxsmall';
71
- $dimension-xsmall: 'xsmall';
72
- $dimension-small: 'small';
73
- $dimension-medium: 'medium';
74
- $dimension-large: 'large';
75
- $dimension-xlarge: 'xlarge';
76
- $dimension-xxlarge: 'xxlarge';
77
-
78
- $dimensions-limited: $dimension-small $dimension-medium $dimension-large;
79
- $dimensions-extended: $dimension-xsmall $dimension-small $dimension-medium $dimension-large $dimension-xlarge;
80
- $dimensions-all: $dimension-xxsmall $dimension-xsmall $dimension-small $dimension-medium $dimension-large $dimension-xlarge $dimension-xxlarge;
81
-
82
- $shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
83
- $focus-shadow: 0 1px 3px 0 rgba(69, 69, 69, 0.15),
84
- 0 2px 20px -3px rgba(69, 69, 69, 0.3);
85
-
86
- $box-padding-mobile: 15px !default;
87
- $box-padding: 12.5px !default;
88
- $column-gap-mobile: 8px !default;
89
- $column-gap-tablet-desktop: 12px !default;
90
- $row-gap-mobile: 8px !default;
91
- $row-gap-tablet-desktop: 12px !default;
92
-
93
- $control-border-width: 1px !default;
@@ -1,118 +1,10 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
2
- @import "colors";
1
+ @import './variables';
3
2
 
4
3
  $hoverSelector: "&:hover:not([disabled]):not([aria-disabled=true])";
5
4
 
6
- // Typography OS-regular
7
- $family-sans-serif: 'Poppins Read', BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif !default;
8
- $family-serif: 'Poppins Speak', 'Poppins', 'Arial Black', 'Arial Bold', serif !default;
9
- $family-monospace: monospace !default;
10
- $render-mode: optimizeLegibility !default;
11
-
12
- $font-ratio: 1 !default;
13
- $font-convert-to-px: false !default;
14
-
15
- $text-8: 8px !default;
16
- $text-9: 9px !default;
17
- $text-10: 10px !default;
18
- $text-11: 11px !default;
19
- $text-12: 12px !default;
20
- $text-13: 13px !default;
21
- $text-14: 14px !default;
22
- $text-15: 15px !default;
23
- $text-16: 16px !default;
24
- $text-17: 17px !default;
25
- $text-18: 18px !default;
26
- $text-19: 19px !default;
27
- $text-20: 20px !default;
28
- $text-22: 22px !default;
29
- $text-24: 24px !default;
30
- $text-26: 26px !default;
31
- $text-27: 27px !default;
32
- $text-28: 28px !default;
33
- $text-29: 29px !default;
34
- $text-32: 32px !default;
35
- $text-34: 34px !default;
36
- $text-35: 35px !default;
37
- $text-36: 36px !default;
38
- $text-38: 38px !default;
39
- $text-39: 39px !default;
40
- $text-40: 40px !default;
41
- $text-42: 42px !default;
42
- $text-44: 44px !default;
43
- $text-46: 46px !default;
44
- $text-48: 48px !default;
45
- $text-50: 50px !default;
46
- $text-54: 54px !default;
47
- $text-56: 56px !default;
48
- $text-58: 58px !default;
49
- $text-60: 60px !default;
50
- $text-64: 64px !default;
51
- $text-80: 80px !default;
52
-
53
-
54
- $size-1: 32px;
55
- $size-2: $text-28;
56
- $size-3: $text-24;
57
- $size-4: $text-20;
58
- $size-5: $text-18;
59
- $size-6: 14px !default;
60
- $size-7: $text-12;
61
- $size-8: $text-11;
62
-
63
- $size-1-desktop: $text-48;
64
- $size-2-desktop: $text-38;
65
- $size-3-desktop: $text-28;
66
- $size-4-desktop: $text-24;
67
- $size-5-desktop: $text-18;
68
- $size-6-desktop: 14px !default;
69
- $size-7-desktop: $text-12;
70
- $size-8-desktop: $text-11;
71
-
72
- $weight-extrathin: 400 !default;
73
- $weight-thin: 400 !default;
74
- $weight-light: 400 !default;
75
- $weight-normal: 400 !default;
76
- $weight-medium: 500 !default;
77
- $weight-semibold: 600 !default;
78
- $weight-bold: 600 !default;
79
- $weight-extrabold: 600 !default;
80
- $weight-black: 600 !default;
81
-
82
- // Responsiveness
83
- // The container horizontal gap, which acts as the offset for breakpoints
84
- $gap: 20px !default;
85
-
86
- // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
87
- $tablet: 768px !default;
88
-
89
- // 960px container + 3rem
90
- //$desktop: 960px + 2 * $gap !default;
91
- $desktop: 984px + 2 * $gap !default;
92
-
93
- // 1152px container + 3rem
94
- $widescreen: 1200px + 2 * $gap !default;
95
- $widescreen-enabled: true !default;
96
-
97
- // 1348px container + 3rem
98
- $fullhd: 1348px + 2 * $gap !default;
99
- $fullhd-enabled: true !default;
100
-
101
- // Miscellaneous
102
- $easing: ease-out !default;
103
- $speed: 86ms !default;
104
-
105
5
  // Radius
106
6
  $radius-small: 4px !default;
107
7
  $radius: 8px !default;
108
8
 
109
- // Flags
110
- $variable-columns: true !default;
111
-
112
- // Animations
113
- $animation-duration: 0.3s;
114
- $animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
115
-
116
- // Logo sizes
117
- $logo-width: 150px;
118
- $logo-width-desktop: 200px;
9
+ // Arrow size
10
+ $arrow-size: 15px;
@@ -1,6 +1,8 @@
1
1
  @charset "utf-8";
2
- /* Variables can be redefined*/
2
+ /* Variables can be redefined */
3
3
 
4
4
  @import 'initial-variables';
5
5
  @import '../theming/_all';
6
6
  @import 'derived-variables';
7
+ @import 'a11y';
8
+
@@ -0,0 +1,21 @@
1
+ @import "./../initial-variables";
2
+
3
+ @mixin arrow( $direction: 'down') {
4
+ background-color: currentColor;
5
+ content: "";
6
+ mask-image: url('./assets/icons/all/arrow-down.svg');
7
+
8
+ @if $direction == 'up' {
9
+ rotate: 180deg;
10
+ } @else if $direction == 'left' {
11
+ rotate: 90deg;
12
+ } @else if $direction == 'right' {
13
+ rotate: 270deg;
14
+ }
15
+
16
+ min-width: $arrow-size;
17
+ min-height: $arrow-size;
18
+ mask-size: $arrow-size;
19
+ position: absolute;
20
+ display: inline-block;
21
+ }
@@ -0,0 +1,86 @@
1
+ %delete {
2
+ @extend %unselectable;
3
+
4
+ -moz-appearance: none;
5
+ -webkit-appearance: none;
6
+ background-color: rgba(black, 0.2);
7
+ border: none;
8
+ border-radius: 9999px;
9
+ cursor: pointer;
10
+ display: inline-block;
11
+ flex-grow: 0;
12
+ flex-shrink: 0;
13
+ font-size: 0;
14
+ height: 20px;
15
+ max-height: 20px;
16
+ max-width: 20px;
17
+ min-height: 20px;
18
+ min-width: 20px;
19
+ outline: none;
20
+ position: relative;
21
+ vertical-align: top;
22
+ width: 20px;
23
+
24
+ &::before,
25
+ &::after {
26
+ background-color: #fff;
27
+ content: '';
28
+ display: block;
29
+ left: 50%;
30
+ position: absolute;
31
+ top: 50%;
32
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
33
+ transform-origin: center center;
34
+ }
35
+
36
+ &::before {
37
+ height: 2px;
38
+ width: 50%;
39
+ }
40
+
41
+ &::after {
42
+ height: 50%;
43
+ width: 2px;
44
+ }
45
+
46
+ &:hover,
47
+ &:focus {
48
+ background-color: rgba(black, 0.3);
49
+ }
50
+
51
+ &:active {
52
+ background-color: rgba(black, 0.4);
53
+ }
54
+
55
+ // Sizes
56
+ &.is-small {
57
+ height: 16px;
58
+ max-height: 16px;
59
+ max-width: 16px;
60
+ min-height: 16px;
61
+ min-width: 16px;
62
+ width: 16px;
63
+ }
64
+
65
+ &.is-medium {
66
+ height: 24px;
67
+ max-height: 24px;
68
+ max-width: 24px;
69
+ min-height: 24px;
70
+ min-width: 24px;
71
+ width: 24px;
72
+ }
73
+
74
+ &.is-large {
75
+ height: 32px;
76
+ max-height: 32px;
77
+ max-width: 32px;
78
+ min-height: 32px;
79
+ min-width: 32px;
80
+ width: 32px;
81
+ }
82
+ }
83
+
84
+ @mixin delete {
85
+ @extend %delete;
86
+ }
@@ -0,0 +1,11 @@
1
+ @import "arrow";
2
+ @import "delete";
3
+ @import "markup-group";
4
+ @import "mixins";
5
+ @import "overlay";
6
+ @import "pattern";
7
+ @import "responsiveness";
8
+ @import "spinner";
9
+ @import "state";
10
+ @import "unselectable";
11
+ @import "utils";
@@ -0,0 +1,27 @@
1
+ @mixin text-tags() {
2
+ a,
3
+ span,
4
+ p,
5
+ i,
6
+ strong,
7
+ h1,
8
+ h2,
9
+ h3,
10
+ h4,
11
+ h5,
12
+ label,
13
+ h6 {
14
+ @content;
15
+ }
16
+ }
17
+
18
+ @mixin heading-tags() {
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6 {
25
+ @content;
26
+ }
27
+ }
@@ -0,0 +1,293 @@
1
+ @use "sass:string";
2
+ @import "../initial-variables";
3
+
4
+ @mixin center($width, $height: 0) {
5
+ position: absolute;
6
+
7
+ @if $height != 0 {
8
+ left: calc(50% - (#{$width} / 2));
9
+ top: calc(50% - (#{$height} / 2));
10
+ } @else {
11
+ left: calc(50% - (#{$width} / 2));
12
+ top: calc(50% - (#{$width} / 2));
13
+ }
14
+ }
15
+
16
+ @mixin label-states {
17
+ &:focus,
18
+ &:active,
19
+ &:hover {
20
+ @include hover();
21
+ }
22
+ }
23
+
24
+ // import sass bulma
25
+ @mixin input {
26
+ @include control;
27
+ height: 56px;
28
+ background-color: getColor('background');
29
+ border: var(--border);
30
+ color: getColor('font');
31
+
32
+ @include placeholder {
33
+ color: getColor('font-placeholder') !important;
34
+ opacity: 1 !important;
35
+ transition: all 0.2s ease-out;
36
+ }
37
+
38
+ @include hover();
39
+ }
40
+
41
+ @mixin checkbox-and-radio($type) {
42
+ //TILES WRAPPER
43
+ .#{$type}-tiles {
44
+ display: flex;
45
+ gap: 16px;
46
+ flex-wrap: wrap;
47
+ }
48
+
49
+ //BOTH
50
+ .#{$type},
51
+ .#{$type}-tile {
52
+ position: relative;
53
+
54
+ label.#{$type}-label {
55
+ cursor: pointer;
56
+ font-size: 14px;
57
+
58
+ &:before,
59
+ &:after {
60
+ content: '';
61
+ position: absolute;
62
+ width: 18px;
63
+ height: 18px;
64
+ }
65
+
66
+ &:before {
67
+ border: var(--border);
68
+ }
69
+ }
70
+
71
+ input {
72
+ opacity: 0;
73
+ position: absolute;
74
+ outline: none;
75
+
76
+ &:checked ~ label.#{$type}-label {
77
+ border-color: getColor('main');
78
+
79
+ &:before {
80
+ border-color: getColor('main');
81
+ }
82
+
83
+ &:after {
84
+ background-color: getColor('main');
85
+ }
86
+ }
87
+ &:focus-visible ~ label.#{$type}-label:before {
88
+ outline: 1px solid;
89
+ }
90
+
91
+ &:disabled,
92
+ &:disabled:checked {
93
+ & ~ label.checkbox-label {
94
+ &:after {
95
+ background-color: getColor('disabled-fade');
96
+ }
97
+ }
98
+ & ~ label.radio-label {
99
+ &:after {
100
+ background-color: getColor('disabled');
101
+ }
102
+ }
103
+ }
104
+
105
+ &:disabled {
106
+ & ~ label.#{$type}-label {
107
+ &:after {
108
+ background-color: transparent;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ .divider {
114
+ &:not(.is-marginless) {
115
+ margin: $spacing-3 0;
116
+ }
117
+ }
118
+ }
119
+
120
+ // SIMPLE WITH LABEL ONLY
121
+ .#{$type} {
122
+ display: flex;
123
+ align-items: center;
124
+ width: fit-content;
125
+
126
+ input:disabled,
127
+ input:disabled:checked {
128
+ & ~ label.#{$type}-label {
129
+ @include disabledRulesWithoutBG;
130
+ }
131
+ }
132
+
133
+ label.#{$type}-label {
134
+ padding-left: calc(18px + $spacing-3);
135
+
136
+ &:before,
137
+ &:after {
138
+ top: 50%;
139
+ transform: translateY(-50%);
140
+ left: 0;
141
+ }
142
+ }
143
+
144
+ &:hover &:not(disabled) {
145
+ label.#{$type}-label {
146
+ &:before {
147
+ @include hoverRules();
148
+ }
149
+ }
150
+ }
151
+
152
+ &:focus {
153
+ border: 2px;
154
+ border-color: getColor('main');
155
+ }
156
+ }
157
+
158
+ //TILE ONLY
159
+ .#{$type}-tile {
160
+ position: relative;
161
+ max-width: 160px;
162
+ display: inline-block;
163
+ text-align: center;
164
+
165
+ input:disabled,
166
+ input:disabled:checked {
167
+ & ~ label.#{$type}-label {
168
+ @include disabledRules;
169
+ }
170
+ }
171
+ &:has(input:focus-visible) label.#{$type}-label{
172
+ outline: 1px solid;
173
+ }
174
+
175
+ &:first-child {
176
+ margin-left: 0;
177
+ }
178
+
179
+ &:last-child {
180
+ margin-right: 0;
181
+ }
182
+
183
+ label.#{$type}-label {
184
+ display: block;
185
+ position: relative;
186
+ padding: 40px 16px 16px;
187
+ border: var(--border);
188
+ border-radius: var(--radius);
189
+ box-sizing: border-box;
190
+ background-color: getColor('background');
191
+
192
+ &:before {
193
+ top: 16px;
194
+ left: 16px;
195
+ }
196
+
197
+ span.#{$type}-title {
198
+ font-weight: bold;
199
+ width: 100%;
200
+ display: block;
201
+ font-size: 16px;
202
+ }
203
+ }
204
+
205
+ input {
206
+ &:not(:disabled):not(:checked) ~ label.radio-label {
207
+ @include label-states;
208
+ }
209
+
210
+ &:not(:disabled) ~ label.checkbox-label {
211
+ @include label-states;
212
+ }
213
+
214
+ &:checked:not(:disabled) ~ label.#{$type}-label {
215
+ border-color: getColor('main');
216
+ border-width: 2px;
217
+ padding: 15px;
218
+ padding-top: 39px;
219
+
220
+ &:before {
221
+ top: 15px;
222
+ left: 15px;
223
+ }
224
+
225
+ span.#{$type}-title {
226
+ color: getColor('main');
227
+ }
228
+ }
229
+
230
+ &:disabled {
231
+ & ~ label.#{$type}-label {
232
+ &:before {
233
+ border-color: getColor('disabled') !important;
234
+ }
235
+ }
236
+ }
237
+
238
+ &:disabled:checked ~ label.#{$type}-label {
239
+ .checkbox-title {
240
+ color: getColor('disabled');
241
+ }
242
+ }
243
+ }
244
+
245
+ .#{$type}-sticker {
246
+ position: absolute;
247
+ top: 0px;
248
+ right: 16px;
249
+ transform: translateY(-50%);
250
+ }
251
+
252
+ &.is-horizontal {
253
+ display: flex;
254
+ justify-content: space-between;
255
+ align-items: center;
256
+ max-width: unset;
257
+ width: 100%;
258
+ position: relative;
259
+
260
+ &.is-narrow {
261
+ width: fit-content;
262
+ }
263
+
264
+ input {
265
+ &:checked:not(:disabled) ~ label.#{$type}-label {
266
+ padding: ($spacing-4 - 1px) ($spacing-4 - 1px) ($spacing-4 - 1px) ($spacing-8 - 1px);
267
+ }
268
+
269
+ }
270
+
271
+ label.#{$type}-label {
272
+ width: 100%;
273
+ display: flex;
274
+ align-items: center;
275
+ justify-content: flex-start;
276
+ text-align: left;
277
+ padding: $spacing-4 $spacing-4 $spacing-4 $spacing-8;
278
+
279
+
280
+ &:before,
281
+ &:after {
282
+ top: 50% !important;
283
+ transform: translateY(-50%);
284
+ }
285
+ > .icon {
286
+ margin-right: $spacing-4;
287
+ }
288
+
289
+ }
290
+
291
+ }
292
+ }
293
+ }
@@ -0,0 +1,7 @@
1
+ @mixin overlay($offset: 0) {
2
+ position: absolute;
3
+ top: $offset;
4
+ bottom: $offset;
5
+ left: $offset;
6
+ right: $offset;
7
+ }
@@ -0,0 +1,10 @@
1
+ @mixin pattern-light($size, $x-pos: top, $y-pos: center) {
2
+ background-size: $size;
3
+ background-position: $x-pos $y-pos;
4
+ }
5
+
6
+ @mixin pattern-dark($size, $x-pos: top, $y-pos: center) {
7
+ background: linear-gradient(#1b3650, getColor('accent'));
8
+ background-size: auto, $size, auto;
9
+ background-position: top left, $x-pos $y-pos, top left;
10
+ }