@trilogy-ds/styles 0.0.1-alpha-prompt

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 (145) hide show
  1. package/README.md +47 -0
  2. package/dist/default/assets/icons/all/alert.svg +1 -0
  3. package/dist/default/assets/icons/all/arrow-down.svg +1 -0
  4. package/dist/default/assets/icons/all/arrow-left.svg +1 -0
  5. package/dist/default/assets/icons/all/arrow-right.svg +1 -0
  6. package/dist/default/assets/icons/all/arrow-up.svg +1 -0
  7. package/dist/default/assets/icons/all/attachment.svg +1 -0
  8. package/dist/default/assets/icons/all/bell.svg +1 -0
  9. package/dist/default/assets/icons/all/calendar.svg +1 -0
  10. package/dist/default/assets/icons/all/check-circle.svg +1 -0
  11. package/dist/default/assets/icons/all/check.svg +1 -0
  12. package/dist/default/assets/icons/all/exclamation-circle.svg +1 -0
  13. package/dist/default/assets/icons/all/eye-slash.svg +1 -0
  14. package/dist/default/assets/icons/all/eye.svg +1 -0
  15. package/dist/default/assets/icons/all/file-attached.svg +1 -0
  16. package/dist/default/assets/icons/all/infos-circle.svg +1 -0
  17. package/dist/default/assets/icons/all/micro.svg +1 -0
  18. package/dist/default/assets/icons/all/search.svg +1 -0
  19. package/dist/default/assets/icons/all/times.svg +1 -0
  20. package/dist/default/assets/icons/all/trash.svg +1 -0
  21. package/dist/default/trilogy-mangled.css +1 -0
  22. package/dist/default/trilogy-partials.css +1 -0
  23. package/dist/default/trilogy.css +1 -0
  24. package/framework/src/_all.scss +8 -0
  25. package/framework/src/base/_all.scss +9 -0
  26. package/framework/src/base/_color.scss +7 -0
  27. package/framework/src/base/_elements.scss +34 -0
  28. package/framework/src/base/_fonts.scss +2 -0
  29. package/framework/src/base/_generic.scss +76 -0
  30. package/framework/src/base/_helpers.scss +875 -0
  31. package/framework/src/base/_loading.scss +109 -0
  32. package/framework/src/base/_reset.scss +148 -0
  33. package/framework/src/components/_accordion.scss +144 -0
  34. package/framework/src/components/_autocomplete.scss +38 -0
  35. package/framework/src/components/_autolayout.scss +332 -0
  36. package/framework/src/components/_badge.scss +87 -0
  37. package/framework/src/components/_box.scss +168 -0
  38. package/framework/src/components/_breadcrumb.scss +36 -0
  39. package/framework/src/components/_button.scss +79 -0
  40. package/framework/src/components/_calendar.scss +129 -0
  41. package/framework/src/components/_card.scss +244 -0
  42. package/framework/src/components/_checkbox.scss +71 -0
  43. package/framework/src/components/_chips.scss +84 -0
  44. package/framework/src/components/_container.scss +69 -0
  45. package/framework/src/components/_countdown.scss +57 -0
  46. package/framework/src/components/_date-picker.scss +58 -0
  47. package/framework/src/components/_divider.scss +52 -0
  48. package/framework/src/components/_dropdown.scss +195 -0
  49. package/framework/src/components/_fab.scss +47 -0
  50. package/framework/src/components/_flex-box.scss +994 -0
  51. package/framework/src/components/_icon.scss +384 -0
  52. package/framework/src/components/_image.scss +69 -0
  53. package/framework/src/components/_index.scss +51 -0
  54. package/framework/src/components/_link.scss +58 -0
  55. package/framework/src/components/_list.scss +66 -0
  56. package/framework/src/components/_loader.scss +126 -0
  57. package/framework/src/components/_modal.scss +232 -0
  58. package/framework/src/components/_otp.scss +73 -0
  59. package/framework/src/components/_pagination.scss +83 -0
  60. package/framework/src/components/_popover.scss +340 -0
  61. package/framework/src/components/_price.scss +184 -0
  62. package/framework/src/components/_product-tour.scss +129 -0
  63. package/framework/src/components/_prompt.scss +125 -0
  64. package/framework/src/components/_radio.scss +82 -0
  65. package/framework/src/components/_range.scss +85 -0
  66. package/framework/src/components/_scroll-view.scss +19 -0
  67. package/framework/src/components/_segmented-control.scss +62 -0
  68. package/framework/src/components/_select.scss +131 -0
  69. package/framework/src/components/_stepper.scss +217 -0
  70. package/framework/src/components/_sticker.scss +148 -0
  71. package/framework/src/components/_switch.scss +115 -0
  72. package/framework/src/components/_table.scss +244 -0
  73. package/framework/src/components/_tabs.scss +228 -0
  74. package/framework/src/components/_tag.scss +114 -0
  75. package/framework/src/components/_text.scss +55 -0
  76. package/framework/src/components/_textarea.scss +46 -0
  77. package/framework/src/components/_timeline.scss +282 -0
  78. package/framework/src/components/_title.scss +151 -0
  79. package/framework/src/components/alert/_alert.scss +94 -0
  80. package/framework/src/components/alert/_index.scss +2 -0
  81. package/framework/src/components/alert/_toaster.scss +124 -0
  82. package/framework/src/components/input/_entry.scss +135 -0
  83. package/framework/src/components/input/_form.scss +602 -0
  84. package/framework/src/components/input/_index.scss +4 -0
  85. package/framework/src/components/input/_input-gauge.scss +44 -0
  86. package/framework/src/components/input/_input-icons.scss +55 -0
  87. package/framework/src/components/progress/_index.scss +2 -0
  88. package/framework/src/components/progress/_progress-radial.scss +28 -0
  89. package/framework/src/components/progress/_progress.scss +223 -0
  90. package/framework/src/elements/_index.scss +5 -0
  91. package/framework/src/elements/_other.scss +3 -0
  92. package/framework/src/elements/_plus-symbol.scss +32 -0
  93. package/framework/src/grid/_all.scss +3 -0
  94. package/framework/src/grid/_columns.scss +467 -0
  95. package/framework/src/grid/_rows.scss +54 -0
  96. package/framework/src/grid/_tiles.scss +78 -0
  97. package/framework/src/layout/_all.scss +5 -0
  98. package/framework/src/layout/_hero.scss +146 -0
  99. package/framework/src/layout/_main.scss +36 -0
  100. package/framework/src/layout/_section.scss +46 -0
  101. package/framework/src/theming/_all.scss +3 -0
  102. package/framework/src/theming/buttons_partial.scss +32 -0
  103. package/framework/src/theming/common_partials.scss +10 -0
  104. package/framework/src/theming/links_partial.scss +20 -0
  105. package/framework/src/trilogy-core.scss +16 -0
  106. package/framework/src/trilogy-mangled.scss +14 -0
  107. package/framework/src/trilogy-namespaced.scss +14 -0
  108. package/framework/src/trilogy.scss +8 -0
  109. package/framework/src/utilities/_a11y.scss +13 -0
  110. package/framework/src/utilities/_all.scss +13 -0
  111. package/framework/src/utilities/_animations.scss +71 -0
  112. package/framework/src/utilities/_background.scss +21 -0
  113. package/framework/src/utilities/_controls.scss +56 -0
  114. package/framework/src/utilities/_derived-variables.scss +1 -0
  115. package/framework/src/utilities/_functions.scss +94 -0
  116. package/framework/src/utilities/_initial-variables.scss +10 -0
  117. package/framework/src/utilities/_post.scss +6 -0
  118. package/framework/src/utilities/_pre.scss +8 -0
  119. package/framework/src/utilities/_spacing.scss +10 -0
  120. package/framework/src/utilities/_tools.scss +3 -0
  121. package/framework/src/utilities/mixins/_arrow.scss +21 -0
  122. package/framework/src/utilities/mixins/_delete.scss +86 -0
  123. package/framework/src/utilities/mixins/_index.scss +11 -0
  124. package/framework/src/utilities/mixins/_markup-group.scss +27 -0
  125. package/framework/src/utilities/mixins/_mixins.scss +294 -0
  126. package/framework/src/utilities/mixins/_overlay.scss +7 -0
  127. package/framework/src/utilities/mixins/_pattern.scss +10 -0
  128. package/framework/src/utilities/mixins/_responsiveness.scss +174 -0
  129. package/framework/src/utilities/mixins/_spinner.scss +12 -0
  130. package/framework/src/utilities/mixins/_state.scss +25 -0
  131. package/framework/src/utilities/mixins/_unselectable.scss +10 -0
  132. package/framework/src/utilities/mixins/_utils.scss +24 -0
  133. package/framework/src/utilities/variables/_animation.scss +2 -0
  134. package/framework/src/utilities/variables/_color.scss +85 -0
  135. package/framework/src/utilities/variables/_font.scss +97 -0
  136. package/framework/src/utilities/variables/_index.scss +6 -0
  137. package/framework/src/utilities/variables/_responsiveness.scss +7 -0
  138. package/framework/src/utilities/variables/_shadow.scss +3 -0
  139. package/framework/src/utilities/variables/_zindex.scss +14 -0
  140. package/package.json +28 -0
  141. package/themes/default/src/_all.scss +1 -0
  142. package/themes/default/src/assets.scss +11 -0
  143. package/themes/default/src/utilities/_all.scss +0 -0
  144. package/themes/default/src/utilities/_post.scss +0 -0
  145. package/themes/default/src/utilities/_pre.scss +3 -0
@@ -0,0 +1,114 @@
1
+ $tag-delete-margin: 1px !default;
2
+
3
+ // container pour multi-tags ou tags avec actions
4
+ .tags {
5
+ display: flex;
6
+ justify-content: flex-start;
7
+ align-items: center;
8
+ flex-wrap: wrap;
9
+ gap: $spacing-3;
10
+ // multi-tags : ajout d'une marge à droite de chaque tag
11
+
12
+ // centrage des tags
13
+ &.is-centered {
14
+ justify-content: center;
15
+ }
16
+
17
+ // tags avec actions
18
+ &.has-addons {
19
+ cursor: pointer;
20
+
21
+ .tag {
22
+
23
+ &:not(:first-child) {
24
+ border-bottom-left-radius: 0;
25
+ border-top-left-radius: 0;
26
+ }
27
+
28
+ &:not(:last-child) {
29
+ border-bottom-right-radius: 0;
30
+ border-top-right-radius: 0;
31
+ }
32
+
33
+ &:first-child {
34
+ padding-right: 5px;
35
+ }
36
+
37
+ + .tag {
38
+ padding: 0;
39
+ position: relative;
40
+ width: 25px;
41
+ border-width: 0;
42
+
43
+ // fixme : cette règle ne devrait-elle pas s'appliquer à TOUS les buttons ?
44
+ cursor: inherit;
45
+
46
+ // affichage d'une fausse croix avec 2 traits penchés
47
+ &:empty {
48
+ &::before,
49
+ &::after {
50
+ position: absolute;
51
+ content: '';
52
+ height: 10px;
53
+ width: 2px;
54
+ background-color: currentColor;
55
+ top: 50%;
56
+ left: 30%;
57
+ }
58
+
59
+ &::before {
60
+ transform: translate(50%, -50%) rotate(45deg);
61
+ }
62
+
63
+ &::after {
64
+ transform: translate(50%, -50%) rotate(-45deg);
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ &.is-inverted {
71
+ .tag {
72
+ background-color: getColor('background');
73
+ }
74
+ }
75
+
76
+ }
77
+ }
78
+
79
+ .tag {
80
+ align-items: center;
81
+ background-color: getColor('neutral-fade');
82
+ border-radius: 9999px;
83
+ color: getColor('font');
84
+ display: inline-flex;
85
+ font-size: $size-medium;
86
+ font-weight: $weight-medium;
87
+ height: 28px;
88
+ justify-content: center;
89
+ line-height: 20px;
90
+ padding: $spacing-1 $spacing-2;
91
+ white-space: nowrap;
92
+
93
+ &.is-small {
94
+ font-size: $text-12;
95
+ line-height: 15px;
96
+ height: 23px;
97
+ }
98
+
99
+
100
+ @include mobile {
101
+ font-size: 12px;
102
+ line-height: 15px;
103
+ }
104
+
105
+ @each $name in $colors-feedback {
106
+ &.is-#{$name}:not(.is-inverted) {
107
+ background-color: fadeColor($name);
108
+ }
109
+ &.is-inverted.is-#{$name} {
110
+ color: getColor($name);
111
+ background-color: invertColor($name);
112
+ }
113
+ }
114
+ }
@@ -0,0 +1,55 @@
1
+ @import "../utilities/variables/_font.scss";
2
+
3
+ .text {
4
+ @each $text-level in $text-levels {
5
+ $i: index($text-levels, $text-level);
6
+ $font-size: nth($text-level, 1);
7
+ $line-height: nth($text-level, 2);
8
+
9
+ &.is-level-#{$i} {
10
+ font-size: $font-size;
11
+ line-height: $line-height;
12
+ font-family: $family-primary;
13
+ }
14
+ }
15
+
16
+ &.is-inverted {
17
+ color: getColor('background');
18
+ }
19
+
20
+ @include mobile {
21
+ @each $text-level-mobile in $text-levels-mobile {
22
+ $i: index($text-levels-mobile, $text-level-mobile);
23
+ }
24
+ }
25
+
26
+ &.is-wrapped {
27
+ word-break: break-word;
28
+ }
29
+
30
+ &.bold {
31
+ font-weight: $weight-bold;
32
+ }
33
+ }
34
+
35
+ .span {
36
+ font-style: inherit;
37
+ font-weight: inherit;
38
+ }
39
+
40
+ .strong {
41
+ color: inherit;
42
+ font-weight: $weight-bold;
43
+ }
44
+
45
+ .sup {
46
+ line-height: 0;
47
+ position: relative;
48
+ vertical-align: baseline;
49
+ top: -0.4em;
50
+ font-size: 0.7em;
51
+ }
52
+
53
+ .small {
54
+ font-size: 0.875em;
55
+ }
@@ -0,0 +1,46 @@
1
+ .textarea-wrapper {
2
+
3
+ .textarea-label {
4
+ display: inline-block;
5
+ margin-bottom: 6px;
6
+ }
7
+
8
+ .textarea-sample {
9
+ margin-bottom: 10px !important;
10
+ }
11
+
12
+ textarea.textarea {
13
+ &::placeholder, label {
14
+ font-size: 16px;
15
+ }
16
+ }
17
+
18
+ .icon {
19
+ align-items: flex-start !important;
20
+ padding-top: 18px !important;
21
+ }
22
+
23
+ // Colors
24
+ @each $name, $pair in $colors-brand-functionnal {
25
+ $color: getColor($name);
26
+ $color-invert: invertColor($name);
27
+ $brandName: getColorBrandName($name);
28
+ &.is-#{$brandName} {
29
+ textarea.textarea {
30
+ border-color: $color;
31
+ }
32
+
33
+ }
34
+ }
35
+
36
+ .counter {
37
+ position: absolute;
38
+ bottom: $spacing-2;
39
+ right: $spacing-4;
40
+ font-size: 10px;
41
+ }
42
+
43
+ .help ~ .counter {
44
+ bottom: $spacing-6;
45
+ }
46
+ }
@@ -0,0 +1,282 @@
1
+ @use 'sass:math';
2
+ @import "../utilities/spacing";
3
+
4
+ $timeline-marker-color: getColor('neutral-fade') !default;
5
+ $timeline-marker-icon-size: 2.85em !default;
6
+ $timeline-line-color: getColor('neutral-fade') !default;
7
+ $timeline-marker-size: 0.8em !default;
8
+ $timeline-marker-border-size: 0.1em !default;
9
+ $timeline-marker-border: $timeline-marker-border-size solid $timeline-marker-color !default;
10
+ $timeline-line-width: 0.125em !default;
11
+ $timeline-line-style: solid !default;
12
+ $timeline-line: $timeline-line-width $timeline-line-style $timeline-line-color !default;
13
+ $timeline-content-padding: 1em 0 0 16px !default;
14
+ $timeline-rtl-content-padding: 1em 2em 0 0 !default;
15
+ $timeline-icon-size: $size-small !default;
16
+ $timeline-header-width: 4em !default;
17
+ $timeline-image-dimensions: 16 24 32 48 64 96 128 !default;
18
+
19
+ .timeline {
20
+ display: flex;
21
+ flex-direction: column;
22
+
23
+ .timeline-header {
24
+ width: $timeline-header-width;
25
+ min-width: $timeline-header-width;
26
+ max-width: $timeline-header-width * 2;
27
+ word-wrap: normal;
28
+ text-align: center;
29
+ display: flex;
30
+ justify-content: center;
31
+ margin-left: 0;
32
+ }
33
+
34
+ .timeline-item {
35
+ --font-color: #{getColor('neutral')};
36
+ --bg-color: #{getColor('background')};
37
+ display: flex;
38
+ display: -ms-flexbox;
39
+ display: -webkit-flex;
40
+ position: relative;
41
+ margin-left: 0;
42
+ padding-bottom: $spacing-2;
43
+
44
+ &::before {
45
+ content: '';
46
+ display: block;
47
+ width: $timeline-line-width;
48
+ background-color: var(--font-color);
49
+ position: absolute;
50
+ top: 49.80px;
51
+ left: 3rem;
52
+ bottom: 8px;
53
+ height: auto;
54
+ border-radius: 2px;
55
+ }
56
+
57
+ .timeline-marker.is-icon {
58
+ background-color: var(--font-color);
59
+ color: var(--bg-color);
60
+ }
61
+
62
+ &.active, &.done {
63
+ --font-color: #{getColor('main')};
64
+ --bg-color: #{getColor('background')};
65
+ }
66
+
67
+ &.active {
68
+ .timeline-content {
69
+ p.main-content {
70
+ font-weight: 800;
71
+ }
72
+ }
73
+ }
74
+
75
+ &.cancel {
76
+ --font-color: #{getColor('neutral')};
77
+ --bg-color: #{getColor('neutral-fade')};
78
+ }
79
+
80
+ .timeline-marker {
81
+ position: absolute;
82
+ background: $timeline-marker-color;
83
+ border-radius: 9999px;
84
+ content: '';
85
+ display: block;
86
+ height: $timeline-marker-size;
87
+ left: -($timeline-marker-size * 0.5 - $timeline-marker-border-size *
88
+ 0.5);
89
+ top: 0;
90
+ width: $timeline-marker-size;
91
+ margin-left: 30px;
92
+
93
+ &.is-image {
94
+ @each $dimension in $timeline-image-dimensions {
95
+ &.is-#{$dimension}x#{$dimension} {
96
+ height: $dimension * 1px;
97
+ width: $dimension * 1px;
98
+ left: $dimension * 0.5 * -1px;
99
+ }
100
+ }
101
+
102
+ background: $timeline-marker-color;
103
+ border-radius: 9999px;
104
+ display: block;
105
+ overflow: hidden;
106
+ }
107
+
108
+ &.is-icon {
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ height: $timeline-marker-icon-size;
113
+ width: $timeline-marker-icon-size;
114
+ left: -($timeline-marker-icon-size * 0.5 -
115
+ $timeline-marker-border-size * 0.5);
116
+ line-height: size(0.75rem);
117
+ padding: math.div($timeline-icon-size, 3);
118
+ border-radius: 9999px;
119
+ }
120
+
121
+ &.is-outlined {
122
+ .image {
123
+ background: getColor('background');
124
+ }
125
+
126
+ &.is-icon {
127
+ background: getColor('background');
128
+
129
+ > i {
130
+ color: $timeline-marker-color;
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ .timeline-content {
137
+ margin-left: 3.7em;
138
+ padding: $spacing-3 0 $spacing-4 $spacing-4;
139
+
140
+ .heading {
141
+ font-size: $text-12;
142
+ color: getColor('font');
143
+ font-family: $family-primary;
144
+ text-transform: none;
145
+ letter-spacing: 0;
146
+ line-height: 15px;
147
+ font-weight: 500;
148
+ }
149
+
150
+ p {
151
+ margin-bottom: 4px;
152
+ }
153
+ }
154
+
155
+ @each $name in $colors-brand-functionnal {
156
+ $color: getColor($name);
157
+ $brandName: getColorBrandName($name);
158
+
159
+ &.is-#{$brandName} {
160
+ &::before {
161
+ background-color: $color;
162
+ }
163
+ }
164
+ }
165
+ }
166
+
167
+ &.is-centered {
168
+ .timeline-header {
169
+ display: flex;
170
+ width: 100%;
171
+ align-self: center;
172
+ }
173
+
174
+ .timeline-item {
175
+ width: 50%;
176
+ align-self: flex-end;
177
+
178
+ &:nth-of-type(2n) {
179
+ align-self: flex-start;
180
+ margin-left: 0;
181
+ margin-right: $timeline-header-width * 0.5;
182
+
183
+ &::before {
184
+ right: -$timeline-line-width;
185
+ left: auto;
186
+ }
187
+
188
+ .timeline-marker {
189
+ left: auto;
190
+ right: -(
191
+ $timeline-marker-size * 0.5 -
192
+ $timeline-marker-border-size * 0.5
193
+ ) - $timeline-line-width;
194
+
195
+ &.is-image {
196
+ @each $dimension in $timeline-image-dimensions {
197
+ &.is-#{$dimension}x#{$dimension} {
198
+ left: auto;
199
+ right: $dimension * 0.5 * -1px;
200
+ }
201
+ }
202
+ }
203
+
204
+ &.is-icon {
205
+ left: auto;
206
+ right: -(
207
+ $timeline-marker-icon-size * 0.5 -
208
+ $timeline-marker-border-size * 0.5
209
+ ) - $timeline-line-width;
210
+ }
211
+ }
212
+
213
+ .timeline-content {
214
+ padding: $timeline-rtl-content-padding;
215
+ text-align: right;
216
+ display: flex;
217
+ flex-direction: column;
218
+ align-items: flex-end;
219
+ flex-basis: 100%;
220
+ }
221
+ }
222
+
223
+ &:nth-of-type(2n + 1) {
224
+ &::before {
225
+ content: '';
226
+ background-color: $timeline-line-color;
227
+ display: block;
228
+ width: $timeline-line-width;
229
+ height: 100%;
230
+ position: absolute;
231
+ top: 0;
232
+ }
233
+ }
234
+
235
+ @each $name, $pair in $colors-brand-functionnal {
236
+ $color: getColor($name);
237
+ $brandName: getColorBrandName($name);
238
+
239
+ &.is-#{$brandName} {
240
+ &::before {
241
+ background-color: $color;
242
+ }
243
+ }
244
+ }
245
+ }
246
+ }
247
+
248
+ @include desktop {
249
+ &.is-horizontal {
250
+ flex-direction: row;
251
+ justify-content: space-between;
252
+
253
+ .timeline-item {
254
+ flex-direction: column;
255
+ width: 100%;
256
+
257
+ &:not(:last-child) {
258
+ margin-right: 16px;
259
+ }
260
+
261
+ &::before {
262
+ width: calc(100% - 58px);
263
+ top: 22.89px;
264
+ left: 59px;
265
+ height: 2px;
266
+ }
267
+
268
+ .timeline-marker {
269
+ position: static;
270
+ margin-left: 0
271
+ }
272
+
273
+ .timeline-content {
274
+ margin-left: 0;
275
+ padding: 0;
276
+ margin-top: 8px;
277
+
278
+ }
279
+ }
280
+ }
281
+ }
282
+ }
@@ -0,0 +1,151 @@
1
+ @use 'sass:math';
2
+
3
+ $title-weight: $weight-semibold;
4
+ $title-high-weight: 550;
5
+ $title-line-height: 1.1;
6
+ $title-strong-color: inherit;
7
+ $title-strong-weight: inherit;
8
+ $title-sub-size: 0.5em;
9
+ $title-sup-size: 0.5em;
10
+
11
+ $subtitle-size: $text-16;
12
+ $subtitle-weight: $weight-medium;
13
+ $subtitle-size-tablet: $text-15;
14
+ $subtitle-line-height: 1.2;
15
+ $subtitle-strong-weight: $weight-semibold;
16
+
17
+ $overline-size: $text-14;
18
+ $overline-weight: $weight-semibold;
19
+ $overline-line-height: 1.2;
20
+ $overline-size-tablet: $text-15;
21
+
22
+ $title-levels: (
23
+ ($text-48, $text-58, $family-secondary),
24
+ ($text-36, $text-44, $family-secondary),
25
+ ($text-28, $text-32, $family-primary),
26
+ ($text-24, $text-28, $family-primary),
27
+ ($text-20, $text-24, $family-primary),
28
+ ($text-16, $text-20, $family-primary)
29
+ );
30
+ $title-levels-mobile: (
31
+ ($text-32, $text-38),
32
+ ($text-28, $text-34),
33
+ ($text-22, $text-26),
34
+ ($text-20, $text-24),
35
+ ($text-18, $text-22),
36
+ ($text-16, $text-20)
37
+ );
38
+
39
+ .title,
40
+ .subtitle,
41
+ .overline {
42
+ word-break: break-word;
43
+
44
+ em,
45
+ span {
46
+ font-weight: inherit;
47
+ }
48
+
49
+ .tag {
50
+ vertical-align: middle;
51
+ }
52
+ }
53
+
54
+ .title {
55
+ font-size: $text-32;
56
+ font-weight: $title-weight;
57
+ line-height: $title-line-height;
58
+
59
+ // new typography
60
+ @each $title-level in $title-levels {
61
+ $i: index($title-levels, $title-level);
62
+ $font-size: nth($title-level, 1);
63
+ $line-height: nth($title-level, 2);
64
+ $font-family: nth($title-level, 3);
65
+
66
+ // Avoid Safari font weight issues
67
+ &.is-level-1 {
68
+ font-weight: $title-high-weight;
69
+ }
70
+
71
+ &.is-level-2 {
72
+ font-weight: $title-high-weight;
73
+ }
74
+
75
+ &.is-level-#{$i} {
76
+ font-size: $font-size;
77
+ line-height: $line-height;
78
+ font-family: $font-family;
79
+ }
80
+
81
+ &.is-medium {
82
+ font-weight: $weight-medium;
83
+ }
84
+
85
+ &.is-inverted {
86
+ color: getColor('background');
87
+ }
88
+
89
+ .details {
90
+ font-size: 80%;
91
+ color: getColor('neutral');
92
+ font-weight: $weight-normal;
93
+ }
94
+
95
+ &.is-section-title {
96
+ text-align: center;
97
+ }
98
+
99
+ @include tablet {
100
+ font-size: $text-40;
101
+ }
102
+
103
+ sup {
104
+ top: -0.5em;
105
+ font-size: $title-sup-size;
106
+ }
107
+
108
+ sub {
109
+ bottom: -0.5em;
110
+ font-size: $title-sub-size;
111
+ }
112
+
113
+ &.is-centered {
114
+ text-align: center;
115
+ }
116
+ }
117
+
118
+ @include mobile {
119
+ @each $title-level-mobile in $title-levels-mobile {
120
+ $i: index($title-levels-mobile, $title-level-mobile);
121
+ $font-size-mobile: nth($title-level-mobile, 1);
122
+ $line-height-mobile: nth($title-level-mobile, 2);
123
+ &.is-level-#{$i} {
124
+ font-size: $font-size-mobile;
125
+ line-height: $line-height-mobile;
126
+ }
127
+ }
128
+ }
129
+ }
130
+
131
+ .subtitle {
132
+ color: getColor('font');
133
+ font-size: $subtitle-size;
134
+ font-weight: $subtitle-weight;
135
+ line-height: $subtitle-line-height;
136
+
137
+ &.is-inverted {
138
+ color: getColor('background');
139
+ }
140
+ }
141
+
142
+ .overline {
143
+ color: getColor('font');
144
+ font-size: $overline-size;
145
+ font-weight: $overline-weight;
146
+ line-height: $overline-line-height;
147
+
148
+ &.is-inverted {
149
+ color: getColor('background');
150
+ }
151
+ }