@trilogy-ds/styles 0.0.1-beta.9 → 0.0.3-beta-v4

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 (94) 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/base/_color.scss +9 -39
  5. package/framework/src/base/_generic.scss +4 -1
  6. package/framework/src/base/_helpers.scss +13 -38
  7. package/framework/src/base/_loading.scss +8 -1
  8. package/framework/src/base/_reset.scss +8 -3
  9. package/framework/src/components/_accordion.scss +53 -88
  10. package/framework/src/components/_all.scss +1 -7
  11. package/framework/src/components/_autolayout.scss +302 -0
  12. package/framework/src/components/_breadcrumb.scss +39 -34
  13. package/framework/src/components/_card.scss +8 -79
  14. package/framework/src/components/_countdown.scss +49 -47
  15. package/framework/src/components/_divider.scss +10 -15
  16. package/framework/src/components/_fab.scss +25 -38
  17. package/framework/src/components/_modal.scss +161 -158
  18. package/framework/src/components/_otp.scss +10 -29
  19. package/framework/src/components/_pagination.scss +59 -161
  20. package/framework/src/components/_plus-symbol.scss +1 -1
  21. package/framework/src/components/_popover.scss +260 -260
  22. package/framework/src/components/_price.scss +119 -170
  23. package/framework/src/components/_product-tour.scss +2 -4
  24. package/framework/src/components/_progress-radial.scss +24 -19
  25. package/framework/src/components/_range.scss +73 -72
  26. package/framework/src/components/_segmented-control.scss +51 -53
  27. package/framework/src/components/_stepper.scss +42 -222
  28. package/framework/src/components/_tabs.scss +46 -81
  29. package/framework/src/components/_timeline.scss +27 -112
  30. package/framework/src/elements/_alert.scss +13 -10
  31. package/framework/src/elements/_all.scss +1 -4
  32. package/framework/src/elements/_autocomplete.scss +32 -0
  33. package/framework/src/elements/_badge.scss +67 -61
  34. package/framework/src/elements/_box.scss +64 -161
  35. package/framework/src/elements/_button.scss +15 -141
  36. package/framework/src/elements/_checkbox.scss +29 -26
  37. package/framework/src/elements/_chips.scss +69 -85
  38. package/framework/src/elements/_container.scss +7 -39
  39. package/framework/src/elements/_entry.scss +76 -88
  40. package/framework/src/elements/_form.scss +26 -23
  41. package/framework/src/elements/_icon.scss +4 -4
  42. package/framework/src/elements/_image.scss +50 -40
  43. package/framework/src/elements/_input-gauge.scss +32 -33
  44. package/framework/src/elements/_input-icons.scss +33 -31
  45. package/framework/src/elements/_link.scss +38 -65
  46. package/framework/src/elements/_list.scss +45 -44
  47. package/framework/src/elements/_loader.scss +2 -2
  48. package/framework/src/elements/_other.scss +0 -37
  49. package/framework/src/elements/_paragraph.scss +35 -69
  50. package/framework/src/elements/_progress.scss +33 -22
  51. package/framework/src/elements/_radio.scss +45 -31
  52. package/framework/src/elements/_select.scss +85 -304
  53. package/framework/src/elements/_sticker.scss +12 -27
  54. package/framework/src/elements/_switch.scss +101 -99
  55. package/framework/src/elements/_table.scss +175 -228
  56. package/framework/src/elements/_tag.scss +104 -105
  57. package/framework/src/elements/_textarea.scss +113 -105
  58. package/framework/src/elements/_title.scss +89 -87
  59. package/framework/src/elements/_toaster.scss +4 -5
  60. package/framework/src/grid/_columns.scss +257 -764
  61. package/framework/src/grid/_rows.scss +45 -38
  62. package/framework/src/layout/_all.scss +0 -1
  63. package/framework/src/layout/_hero.scss +89 -215
  64. package/framework/src/layout/_section.scss +5 -29
  65. package/framework/src/theming/_all.scss +3 -0
  66. package/framework/src/theming/buttons_partial.scss +32 -0
  67. package/framework/src/theming/common_partials.scss +10 -0
  68. package/framework/src/theming/links_partial.scss +20 -0
  69. package/framework/src/utilities/_a11y.scss +13 -0
  70. package/framework/src/utilities/_all.scss +4 -0
  71. package/framework/src/utilities/_background.scss +19 -0
  72. package/framework/src/utilities/_colors.scss +40 -0
  73. package/framework/src/utilities/_controls.scss +38 -49
  74. package/framework/src/utilities/_derived-variables.scss +4 -15
  75. package/framework/src/utilities/_initial-variables.scss +4 -36
  76. package/framework/src/utilities/_mixins.scss +483 -592
  77. package/framework/src/utilities/_pre.scss +1 -0
  78. package/package.json +3 -3
  79. package/framework/src/components/_autolayout2.scss +0 -38
  80. package/framework/src/components/_disclaimer.scss +0 -84
  81. package/framework/src/components/_dropdown.scss +0 -128
  82. package/framework/src/components/_level.scss +0 -120
  83. package/framework/src/components/_media.scss +0 -64
  84. package/framework/src/components/_menu.scss +0 -213
  85. package/framework/src/components/_search-modal.scss +0 -197
  86. package/framework/src/components/_slices.scss +0 -316
  87. package/framework/src/components/_slider.scss +0 -92
  88. package/framework/src/components/_switch.scss +0 -209
  89. package/framework/src/elements/_checkradio.scss +0 -173
  90. package/framework/src/elements/_dot.scss +0 -6
  91. package/framework/src/elements/_notification.scss +0 -151
  92. package/framework/src/elements/_options.scss +0 -146
  93. package/framework/src/elements/_timeline.scss +0 -283
  94. package/framework/src/layout/_toolbar.scss +0 -100
@@ -1,144 +1,14 @@
1
1
  @use "sass:math";
2
2
 
3
- $step-width: 30px;
4
- $step-font-size: 18px;
5
- $step-gap: $step-width;
6
- $step-gap-desktop: $step-width * 3;
7
-
8
-
9
- // old stepper , déprécié since ( v2 )
10
- .stepper {
11
- display: inline-flex;
12
- position: relative;
13
-
14
- @include mobile {
15
- &::after {
16
- content: attr(data-label-mobile);
17
- position: absolute;
18
- bottom: 0;
19
- width: 100%;
20
- font-weight: $weight-semibold;
21
- color: getColor('alternate');
22
- }
23
- }
24
-
25
- .step {
26
- position: relative;
27
- z-index: zindex('void');
28
- display: inline-flex;
29
- justify-content: center;
30
- align-items: center;
31
- width: $step-width;
32
- height: $step-width;
33
- border-radius: 100%;
34
- background: getColor('grey-disabled');
35
- color: getColor('background');
36
- font-size: $step-font-size;
37
- transition: background .15s ease;
38
-
39
- &.is-done {
40
- background: getColor('font');
41
- }
42
-
43
- &.is-current,
44
- &.is-active {
45
- background: getColor('alternate');
46
- }
47
- }
48
-
49
- .step + .step {
50
- margin-left: $step-gap;
51
-
52
- @include desktop {
53
- margin-left: $step-gap-desktop;
54
- }
55
-
56
- &::before {
57
- content: '';
58
- height: 4px;
59
- width: $step-gap;
60
- display: block;
61
- position: absolute;
62
- z-index: zindex('subzero');
63
- left: -$step-gap;
64
- top: 50%;
65
- transform: translateY(-50%);
66
- transition: background .15s ease;
67
- background-color: getColor('grey-disabled');
68
-
69
- @include desktop {
70
- width: $step-gap-desktop;
71
- margin-left: -$step-gap-desktop + $step-width;
72
- }
73
- }
74
- }
75
-
76
- // done steps successively
77
- .step.is-done + .step.is-done::before {
78
- background: getColor('font');
79
- }
80
-
81
- // done step followed by current step
82
- .step.is-done + .step.is-current::before {
83
- background: linear-gradient(90deg, getColor('font'), getColor('alternate'));
84
- }
85
-
86
- // active step followed by done step(s)
87
- .step.is-active + .step.is-done::before {
88
- background: linear-gradient(90deg, getColor('alternate'), getColor('font'));
89
- }
90
-
91
- // current step followed by unvisited step(s)
92
- .step.is-current + .step::before {
93
- background: linear-gradient(90deg, getColor('alternate'), getColor('grey-disabled') 75%);
94
- }
95
-
96
- // labels
97
- .step[data-label] {
98
- margin-bottom: 40px;
99
-
100
- &::after {
101
- position: absolute;
102
- left: -$step-gap-desktop * 0.5;
103
- right: -$step-gap-desktop * 0.5;
104
- color: getColor('grey');
105
- font-size: $size-7;
106
- font-weight: $weight-semibold;
107
- top: 50px;
108
- text-align: center;
109
-
110
- @include desktop {
111
- content: attr(data-label);
112
- }
113
- }
114
-
115
- // active or current step
116
- &.is-current::after,
117
- &.is-active::after {
118
- color: getColor('alternate');
119
- }
120
- }
121
- }
122
-
123
- // back to grey label when going back in steps: the current step is followed by the active step
124
- .step[data-label].is-active ~ .step[data-label].is-current::after {
125
- color: getColor('grey');
126
- }
127
-
128
-
129
- // Nouveau stepper
130
-
131
3
  .stepper-wrapper {
132
4
  display: flex;
133
5
  position: relative;
134
6
  justify-content: space-between;
135
7
  min-height: 44px;
136
- margin-left: -8px;
137
- margin-right: -8px;
8
+ gap: $spacing-4;
138
9
 
139
10
  @include touch {
140
- margin-left: -4px !important;
141
- margin-right: -4px !important;
11
+ gap : $spacing-2;
142
12
  }
143
13
  }
144
14
 
@@ -146,43 +16,47 @@ $step-gap-desktop: $step-width * 3;
146
16
  display: flex;
147
17
  flex-direction: column;
148
18
  width: 100%;
149
- padding: $spacing-2;
150
19
 
151
- &:before{
20
+ &:before {
152
21
  content: "";
153
22
  display: block;
154
23
  height: 4px;
155
- background: getColor('grey-disabled');
156
- border-radius: 4px;
24
+ border-radius: var(--radius-small);
25
+ background-size: 200% !important;
26
+ background-color: getColor('neutral');
157
27
  }
158
28
 
159
29
  &.is-error {
160
30
 
161
- &:before{
162
- background: getColor('error') !important;
31
+ &:before {
32
+ background-color: getColor('error') !important;
33
+
163
34
  }
35
+ &.is-current{
36
+ &:before{
37
+ animation: progress 1s;
38
+ }
39
+
40
+ }
41
+
164
42
  .step-bars {
165
43
  background: getColor('error') !important;
166
44
  }
45
+
167
46
  color: getColor('font');
168
47
 
169
48
  .step-label {
170
49
 
171
- padding-left: $spacing-2;
172
-
173
- @include touch {
174
- padding-left: $spacing-1;
175
- }
176
-
177
50
  &::before {
178
51
  content: "";
179
- mask-image: url('./assets/icons/all/times-circle.svg') !important;
52
+ mask-image: url('./assets/icons/all/times.svg') !important;
180
53
  background-color: getColor('error') !important;
181
54
  border-width: 0;
55
+ mask-size: 20px;
182
56
  width: 20px;
183
57
  height: 20px;
184
- margin: 2px 8px 0 -8px;
185
58
  align-self: baseline;
59
+ margin-top: 2px;
186
60
  }
187
61
 
188
62
  .icon {
@@ -193,28 +67,26 @@ $step-gap-desktop: $step-width * 3;
193
67
 
194
68
  &.is-done {
195
69
 
196
- &:before{
197
- background: getColor('font');
198
- transition: background-color 2s ease-in-out;
70
+ &:before {
71
+ background-color: getColor('font');
199
72
  }
73
+
200
74
  .step-bars {
201
75
  background: getColor('font');
202
- transition: background-color 2s ease-in-out;
76
+ transition: background-color 1s ease-in-out;
203
77
  }
204
78
 
205
79
  .step-label {
206
- color: getColor('font');
207
- padding-left: $spacing-2;
208
-
209
80
  &::before {
210
81
  content: "";
211
82
  mask-image: url('./assets/icons/all/check-circle.svg');
212
83
  background-color: getColor('success');
213
84
  border-width: 0;
214
85
  min-width: 20px;
86
+ mask-size: 20px;
215
87
  height: 20px;
216
- margin: 2px 8px 0 -8px;
217
88
  align-self: baseline;
89
+ margin-top: 2px;
218
90
  }
219
91
  }
220
92
  }
@@ -222,28 +94,20 @@ $step-gap-desktop: $step-width * 3;
222
94
  &.is-current,
223
95
  &.is-active {
224
96
 
225
- &:before{
226
- background: getColor('alternate');
227
- animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
228
- -o-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
229
- -webkit-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
230
- -moz-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
97
+ &:before {
98
+ background-color: getColor('main');
99
+ animation: progress 1s;
231
100
  }
101
+
232
102
  .step-bars {
233
- background: getColor('alternate');
234
- animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
235
- -o-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
236
- -webkit-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
237
- -moz-animation: cssload-width 2s cubic-bezier(0.45, 0, 1, 1);
103
+ background: getColor('main');
238
104
  }
239
105
 
240
106
  .step-label {
241
107
  font-style: normal;
242
108
  font-weight: 600;
243
- font-size: 22px;
244
- line-height: 24px;
245
- color: getColor('font');
246
- transition: color 1.45s ease;
109
+ font-size: 20px;
110
+ line-height: 22px;
247
111
  width: max-content;
248
112
 
249
113
  .icon [class^=tri-], .icon [class*=" tri-"] {
@@ -262,44 +126,34 @@ $step-gap-desktop: $step-width * 3;
262
126
  }
263
127
  }
264
128
  }
265
-
266
- @include touch {
267
- padding: $spacing-1 !important;
268
- }
269
129
  }
270
130
 
271
131
  .step-bars {
272
132
  height: 4px;
273
- background: getColor('grey-disabled');
274
- border-radius: 4px;
133
+ background: getColor('disabled');
134
+ border-radius: var(--radius-small);
275
135
  display: none;
276
136
  }
277
137
 
278
138
  .step-label {
279
139
  display: flex;
280
140
  align-items: center;
281
- color: getColor('grey');
141
+ color: getColor('font');
282
142
  font-style: normal;
283
143
  font-weight: 400;
284
144
  font-size: 16px;
285
145
  line-height: 24px;
286
146
  padding-top: $spacing-2;
287
-
147
+ gap: $spacing-1;
288
148
  .icon {
289
149
  font-size: 20px;
290
- margin-left: 8px;
291
150
  height: auto;
292
151
  }
293
152
 
294
- .icon [class^=tri-], .icon [class*=" tri-"] {
295
- margin: 0 4px 0 -4px;
296
- }
297
-
298
-
299
153
  @include touch {
300
154
  position: absolute;
301
155
  top: 10px;
302
- left: 4px;
156
+ left: 0;
303
157
  }
304
158
  }
305
159
 
@@ -347,51 +201,17 @@ $step-gap-desktop: $step-width * 3;
347
201
  }
348
202
  }
349
203
 
350
- @keyframes cssload-width {
351
- 0%, 100% {
352
- transition-timing-function: cubic-bezier(1, 0, 0.65, 0.85);
353
- }
354
- 0% {
355
- width: 0;
356
- }
357
- 100% {
358
- width: 100%;
359
- }
360
- }
361
-
362
- @-o-keyframes cssload-width {
363
- 0%, 100% {
364
- -o-transition-timing-function: cubic-bezier(1, 0, 0.65, 0.85);
365
- }
366
- 0% {
367
- width: 0;
368
- }
369
- 100% {
370
- width: 100%;
371
- }
372
- }
373
204
 
374
- @-webkit-keyframes cssload-width {
205
+ @keyframes progress {
375
206
  0%, 100% {
376
- -webkit-transition-timing-function: cubic-bezier(1, 0, 0.65, 0.85);
207
+ background-image: linear-gradient(to right, transparent 0, transparent 50%, getColor('neutral-fade') 50%, getColor('neutral-fade') 100%);
377
208
  }
378
209
  0% {
379
- width: 0;
210
+ background-position: 100% 0;
380
211
  }
381
212
  100% {
382
- width: 100%;
213
+ background-position: 0 0;
383
214
  }
384
215
  }
385
216
 
386
- @-moz-keyframes cssload-width {
387
- 0%, 100% {
388
- -moz-transition-timing-function: cubic-bezier(1, 0, 0.65, 0.85);
389
- }
390
- 0% {
391
- width: 0;
392
- }
393
- 100% {
394
- width: 100%;
395
- }
396
- }
397
217
 
@@ -1,11 +1,10 @@
1
- .tab-context {
1
+ .tabs {
2
2
  @include overflow-touch;
3
3
  @include unselectable;
4
4
 
5
5
  align-items: stretch;
6
6
  justify-content: space-between;
7
7
  font-weight: $weight-normal;
8
- background: white;
9
8
  width: 100%;
10
9
  text-align: center;
11
10
  overflow: scroll;
@@ -24,62 +23,41 @@
24
23
 
25
24
  &.is-inverted {
26
25
  background-color: getColor('font');
27
- .tabs > .tab {
28
- color: getColor('background') !important;
29
26
 
30
- &.is-active {
31
- &::after {
32
- content: "";
33
- width: calc(100% - 16px);
34
- height: 2px;
35
- border-radius: 2px;
36
- font-size: 20px;
37
- background-color: getColor('background');
38
- bottom: -2px;
39
- left: 8px;
40
- }
41
- }
42
- &:hover:not(.is-disabled) {
43
- color: getColor('background') !important;
44
- cursor: pointer;
45
- }
27
+ .tab-list > .tab {
28
+ color: getColor('background') !important;
46
29
 
47
- &:focus-visible {
48
- border-color: getColor('background');
49
- }
30
+ &.is-active {
31
+ border-bottom-color: currentColor;
32
+ }
33
+
34
+ #{$hoverSelector} {
35
+ color: getColor('background') !important;
36
+ cursor: pointer;
37
+ }
38
+
39
+ &:focus-visible {
40
+ border-color: getColor('background');
41
+ }
50
42
 
51
- &.is-disabled {
52
- color: getColor('grey-light');
53
- }
54
43
  }
55
44
  }
56
45
 
57
- &.has-text-left {
58
- .tabs > .tab:first-child {
59
- margin-left: 24px;
60
- }
46
+ &:has(.tab-list.is-aligned-start) {
47
+ text-align: left;
61
48
  }
62
49
 
63
- .tabs {
50
+ &:has(.tab-list.is-aligned-end) {
51
+ text-align: right;
52
+ }
53
+
54
+ .tab-list {
64
55
  background-color: transparent;
65
56
  height: 48px;
66
57
  overflow-x: auto;
67
58
  white-space: nowrap;
68
59
  display: inline-flex;
69
60
 
70
- &.is-centered {
71
- justify-content: center;
72
- }
73
-
74
- &.is-right {
75
- justify-content: flex-end;
76
- }
77
-
78
- &.is-left {
79
- justify-content: flex-start;
80
- }
81
-
82
-
83
61
  &.is-fullwidth {
84
62
  @include desktop {
85
63
  > * {
@@ -93,33 +71,30 @@
93
71
  box-shadow: none;
94
72
  }
95
73
 
96
- &.is-icons {
97
- height: 64px;
98
- }
99
-
100
74
  @include mobile {
101
- justify-content: flex-start ;
75
+ justify-content: flex-start;
102
76
  > .tab:first-child {
103
77
  margin-left: 24px;
104
78
  }
105
79
  }
106
80
 
81
+ &:has(.tab .icon) {
82
+ height: 64px;
83
+ }
84
+
107
85
  > .tab {
108
86
  height: calc(100% - 4px);
109
87
  background-color: transparent;
110
- border: none;
111
88
  color: getColor('font');
112
- font-family: $body-family;
113
89
  text-decoration: none;
114
90
  outline: none;
115
- padding: 6px;
91
+ padding: 6px 14px;
116
92
  font-size: $text-14;
117
- border: 2px solid transparent;
118
- border-radius: 4px;
119
-
120
- &:not(:last-child) {
121
- margin-right: 16px;
93
+ @include desktop {
94
+ font-size: $text-16;
122
95
  }
96
+ border: 0px solid transparent;
97
+ border-bottom: 2px solid transparent;
123
98
 
124
99
  .tab-icon {
125
100
  margin-top: 2px;
@@ -127,7 +102,7 @@
127
102
 
128
103
  &:not(button) {
129
104
  .tab-icon {
130
- margin-top: 4px;
105
+ margin-top: 4px;
131
106
  }
132
107
  }
133
108
 
@@ -135,28 +110,16 @@
135
110
  font-size: $text-14;
136
111
  }
137
112
 
138
-
139
-
140
113
  &.is-active {
141
- color: getColor('alternate');
142
- font-weight: $weight-semibold;
114
+ color: getColor('main');
143
115
  position: relative;
144
-
145
- &::after {
146
- content: "";
147
- width: calc(100% - 16px);
148
- height: 2px;
149
- border-radius: 2px;
150
- font-size: 20px;
151
- background-color: getColor('alternate');
152
- position: absolute;
153
- bottom: -2px;
154
- left: 8px
155
- }
116
+ border-bottom-color: getColor('main');
117
+ font-weight: $weight-medium;
156
118
  }
157
119
 
158
120
  &:hover:not(.is-disabled) {
159
- color: getColor('alternate');
121
+ color: getColor('main');
122
+ border-bottom-color: currentColor;
160
123
  cursor: pointer;
161
124
 
162
125
  .icon.is-small [class^=tri-]::before, .icon.is-small [class*=" tri-"]::before {
@@ -165,23 +128,23 @@
165
128
  }
166
129
  }
167
130
 
168
- &:focus-visible{
131
+ &:focus-visible {
169
132
  border-color: currentColor;
170
- color: getColor('alternate');
133
+ color: getColor('main');
171
134
  }
172
135
 
173
136
  .icon {
174
137
  height: 0;
175
138
  }
176
139
 
177
- .icon.is-small, .icon.is-small{
140
+ .icon.is-small, .icon.is-small {
178
141
  font-size: 22px;
179
142
  }
180
143
 
181
- &.is-disabled {
182
- color: getColor('grey');
183
- cursor: default;
144
+ &[disabled], &[aria-disabled=true] {
145
+ background-color: transparent !important;
184
146
  }
147
+
185
148
  }
186
149
  }
187
150
 
@@ -192,6 +155,7 @@
192
155
  .tab-panel {
193
156
  transition: opacity 2s ease-in-out;
194
157
  transition-delay: 1s;
158
+
195
159
  &:not(.is-active) {
196
160
  display: none;
197
161
  }
@@ -199,6 +163,7 @@
199
163
  &.is-active {
200
164
  animation: fade-in 250ms;
201
165
  }
166
+
202
167
  @keyframes fade-in {
203
168
  from {
204
169
  opacity: 0;