@trilogy-ds/styles 4.2.1 → 4.2.2-beta-1

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.
@@ -12,7 +12,11 @@
12
12
 
13
13
  // Float
14
14
  .is-clearfix {
15
- @include clearfix;
15
+ &::after {
16
+ clear: both;
17
+ content: ' ';
18
+ display: table;
19
+ }
16
20
  }
17
21
 
18
22
  .is-pulled-left {
@@ -81,7 +81,7 @@ p.is-loading,
81
81
 
82
82
  // we need the headings to have margins AND be inline
83
83
  @include heading-tags {
84
- display: table; // FIXME: well... `@include clearfix;` didn't do the trick
84
+ display: table;
85
85
  }
86
86
 
87
87
  & & {
@@ -10,9 +10,6 @@ a.toaster {
10
10
  }
11
11
 
12
12
  .toaster {
13
- @include apply-shadow-box();
14
-
15
-
16
13
  background-color: getColor('info-fade');
17
14
  border-radius: var(--radius);
18
15
  margin-bottom: 16px;
@@ -0,0 +1,19 @@
1
+ @mixin arrow( $direction: 'down') {
2
+ background-color: currentColor;
3
+ content: "";
4
+ mask-image: url('./assets/icons/all/arrow-down.svg');
5
+
6
+ @if $direction == 'up' {
7
+ rotate: 180deg;
8
+ } @else if $direction == 'left' {
9
+ rotate: 90deg;
10
+ } @else if $direction == 'right' {
11
+ rotate: 270deg;
12
+ }
13
+
14
+ min-width: 15px;
15
+ min-height: 15px;
16
+ mask-size: 15px;
17
+ position: absolute;
18
+ display: inline-block;
19
+ }
@@ -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,276 @@
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-color: getColor('neutral');
30
+ color: getColor('font');
31
+
32
+ @include placeholder {
33
+ color: getColor('font') !important;
34
+ filter: grayscale(100%);
35
+ opacity: 1 !important;
36
+ transition: all 0.2s ease-out;
37
+ }
38
+
39
+ @include hover();
40
+ }
41
+
42
+ @mixin checkbox-and-radio($type) {
43
+ //TILES WRAPPER
44
+ .#{$type}-tiles {
45
+ display: flex;
46
+ gap: 16px;
47
+ flex-wrap: wrap;
48
+ }
49
+
50
+ //BOTH
51
+ .#{$type},
52
+ .#{$type}-tile {
53
+ position: relative;
54
+
55
+ label.#{$type}-label {
56
+ cursor: pointer;
57
+ font-size: 14px;
58
+
59
+ &:before,
60
+ &:after {
61
+ content: '';
62
+ position: absolute;
63
+ width: 18px;
64
+ height: 18px;
65
+ }
66
+
67
+ &:before {
68
+ border: var(--border);
69
+ }
70
+ }
71
+
72
+ input {
73
+ opacity: 0;
74
+ position: absolute;
75
+ outline: none;
76
+
77
+ &:checked ~ label.#{$type}-label {
78
+ border-color: getColor('main');
79
+
80
+ &:before {
81
+ border-color: getColor('main');
82
+ }
83
+
84
+ &:after {
85
+ background-color: getColor('main');
86
+ }
87
+ }
88
+ &:focus-visible ~ label.#{$type}-label:before {
89
+ outline: 1px solid;
90
+ }
91
+
92
+ &:disabled,
93
+ &:disabled:checked {
94
+ & ~ label.#{$type}-label {
95
+ &:after {
96
+ background-color: getColor('disabled-fade');
97
+ }
98
+ }
99
+ }
100
+
101
+ &:disabled {
102
+ & ~ label.#{$type}-label {
103
+ &:after {
104
+ background-color: transparent;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+
111
+ // SIMPLE WITH LABEL ONLY
112
+ .#{$type} {
113
+ display: flex;
114
+ align-items: center;
115
+ width: fit-content;
116
+
117
+ input:disabled,
118
+ input:disabled:checked {
119
+ & ~ label.#{$type}-label {
120
+ @include disabledRulesWithoutBG;
121
+ }
122
+ }
123
+
124
+ label.#{$type}-label {
125
+ padding-left: 30px;
126
+
127
+ &:before,
128
+ &:after {
129
+ top: 50%;
130
+ transform: translateY(-50%);
131
+ left: 0;
132
+ }
133
+ }
134
+
135
+ &:hover &:not(disabled) {
136
+ label.#{$type}-label {
137
+ &:before {
138
+ @include hoverRules();
139
+ }
140
+ }
141
+ }
142
+
143
+ &:focus {
144
+ border: 2px;
145
+ border-color: getColor('main');
146
+ }
147
+ }
148
+
149
+ //TILE ONLY
150
+ .#{$type}-tile {
151
+ position: relative;
152
+ max-width: 160px;
153
+ display: inline-block;
154
+ text-align: center;
155
+
156
+ input:disabled,
157
+ input:disabled:checked {
158
+ & ~ label.#{$type}-label {
159
+ @include disabledRules;
160
+ }
161
+ }
162
+ &:has(input:focus-visible) label.#{$type}-label{
163
+ outline: 1px solid;
164
+ }
165
+
166
+ &:first-child {
167
+ margin-left: 0;
168
+ }
169
+
170
+ &:last-child {
171
+ margin-right: 0;
172
+ }
173
+
174
+ label.#{$type}-label {
175
+ display: block;
176
+ position: relative;
177
+ padding: 40px 16px 16px;
178
+ border: var(--border);
179
+ border-radius: var(--radius);
180
+ box-sizing: border-box;
181
+ background-color: getColor('background');
182
+
183
+ &:before {
184
+ top: 16px;
185
+ right: 16px;
186
+ }
187
+
188
+ span.#{$type}-title {
189
+ font-weight: bold;
190
+ width: 100%;
191
+ display: block;
192
+ font-size: 16px;
193
+ }
194
+ }
195
+
196
+ input {
197
+ &:not(:disabled):not(:checked) ~ label.radio-label {
198
+ @include label-states;
199
+ }
200
+
201
+ &:not(:disabled) ~ label.checkbox-label {
202
+ @include label-states;
203
+ }
204
+
205
+ &:checked:not(:disabled) ~ label.#{$type}-label {
206
+ border-color: getColor('main');
207
+ border-width: 2px;
208
+ padding: 15px;
209
+ padding-top: 39px;
210
+
211
+ &:before {
212
+ top: 15px;
213
+ right: 15px;
214
+ }
215
+
216
+ span.#{$type}-title {
217
+ color: getColor('main');
218
+ }
219
+ }
220
+
221
+ &:disabled {
222
+ & ~ label.#{$type}-label {
223
+ &:before {
224
+ border-color: getColor('disabled') !important;
225
+ }
226
+ }
227
+ }
228
+
229
+ &:disabled:checked ~ label.#{$type}-label {
230
+ .checkbox-title {
231
+ color: getColor('disabled');
232
+ }
233
+ }
234
+ }
235
+
236
+ &.is-horizontal {
237
+ display: flex;
238
+ justify-content: space-between;
239
+ align-items: center;
240
+ max-width: unset;
241
+ width: 100%;
242
+ position: relative;
243
+
244
+ &.is-narrow {
245
+ width: fit-content;
246
+ }
247
+
248
+ input {
249
+ &:checked:not(:disabled) ~ label.#{$type}-label {
250
+ padding: 15px;
251
+ padding-right: 47px;
252
+ }
253
+
254
+ }
255
+
256
+ label.#{$type}-label {
257
+ width: 100%;
258
+ display: flex;
259
+ align-items: center;
260
+ justify-content: flex-start;
261
+ text-align: left;
262
+ padding: 16px 48px 16px 16px;
263
+
264
+ &:before,
265
+ &:after {
266
+ top: 50% !important;
267
+ transform: translateY(-50%);
268
+ }
269
+ }
270
+
271
+ .icon {
272
+ margin-right: 16px;
273
+ }
274
+ }
275
+ }
276
+ }
@@ -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
+ }
@@ -0,0 +1,84 @@
1
+ // Responsiveness
2
+ @mixin from($device) {
3
+ @media screen and (min-width: $device) {
4
+ @content;
5
+ }
6
+ }
7
+
8
+ @mixin until($device) {
9
+ @media screen and (max-width: $device - 1px) {
10
+ @content;
11
+ }
12
+ }
13
+
14
+ @mixin mobile {
15
+ @media screen and (max-width: $tablet - 1px) {
16
+ @content;
17
+ }
18
+ }
19
+
20
+ @mixin tablet {
21
+ @media screen and (min-width: $tablet), print {
22
+ @content;
23
+ }
24
+ }
25
+
26
+ @mixin tablet-only {
27
+ @media screen and (min-width: $tablet) and (max-width: $desktop - 1px) {
28
+ @content;
29
+ }
30
+ }
31
+
32
+ @mixin touch {
33
+ @media screen and (max-width: $desktop - 1px) {
34
+ @content;
35
+ }
36
+ }
37
+
38
+ @mixin desktop {
39
+ @media screen and (min-width: $desktop) {
40
+ @content;
41
+ }
42
+ }
43
+
44
+ @mixin desktop-only {
45
+ @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px) {
46
+ @content;
47
+ }
48
+ }
49
+
50
+ @mixin until-widescreen {
51
+ @media screen and (max-width: $widescreen - 1px) {
52
+ @content;
53
+ }
54
+ }
55
+
56
+ @mixin widescreen {
57
+ @media screen and (min-width: $widescreen) {
58
+ @content;
59
+ }
60
+ }
61
+
62
+ @mixin widescreen-only {
63
+ @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px) {
64
+ @content;
65
+ }
66
+ }
67
+
68
+ @mixin until-fullhd {
69
+ @media screen and (max-width: $fullhd - 1px) {
70
+ @content;
71
+ }
72
+ }
73
+
74
+ @mixin fullhd {
75
+ @media screen and (min-width: $fullhd) {
76
+ @content;
77
+ }
78
+ }
79
+
80
+ @mixin all-desktop-only {
81
+ @media screen and (min-width: $desktop) and (max-width: $fullhd - 1px) {
82
+ @content;
83
+ }
84
+ }
@@ -0,0 +1,12 @@
1
+ @mixin spinner {
2
+ animation: spinAround 500ms infinite linear;
3
+ border: 2px solid getColor('neutral-fade');
4
+ border-radius: 290486px;
5
+ border-right-color: transparent;
6
+ border-top-color: transparent;
7
+ content: '';
8
+ display: block;
9
+ height: 1em;
10
+ position: relative;
11
+ width: 1em;
12
+ }
@@ -0,0 +1,25 @@
1
+ @mixin hoverRules {
2
+ background-color: getColor('main-fade');
3
+ }
4
+
5
+ @mixin hover {
6
+ &:hover:not(.is-disabled):not(:focus) {
7
+ @include hoverRules();
8
+ }
9
+ &:focus:not(.is-disabled), &:focus-visible:not(.is-disabled) {
10
+ border: 2px solid currentColor;
11
+ }
12
+ }
13
+
14
+ @mixin disabledRulesWithoutBG {
15
+ border-color: getColor('disabled') !important;
16
+ box-shadow: none !important;
17
+ color: getColor('disabled') !important;
18
+ cursor: not-allowed !important;
19
+ filter: grayscale(1);
20
+ }
21
+
22
+ @mixin disabledRules {
23
+ background-color: getColor('disabled-fade') !important;
24
+ @include disabledRulesWithoutBG;
25
+ }
@@ -0,0 +1,10 @@
1
+ %unselectable {
2
+ -webkit-touch-callout: none;
3
+ -webkit-user-select: none;
4
+ -moz-user-select: none;
5
+ -ms-user-select: none;
6
+ user-select: none;
7
+ }
8
+ @mixin unselectable {
9
+ @extend %unselectable;
10
+ }
@@ -0,0 +1,24 @@
1
+ @mixin block {
2
+ &:not(:last-child) {
3
+ margin-bottom: 15px;
4
+ }
5
+ }
6
+
7
+ @mixin overflow-touch {
8
+ -webkit-overflow-scrolling: touch;
9
+ }
10
+
11
+ @mixin placeholder {
12
+ $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input';
13
+ @each $placeholder in $placeholders {
14
+ &:#{$placeholder}-placeholder {
15
+ @content;
16
+ }
17
+ }
18
+ }
19
+
20
+ @mixin ellipsis() {
21
+ white-space: nowrap;
22
+ overflow-x: hidden;
23
+ text-overflow: ellipsis;
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trilogy-ds/styles",
3
- "version": "4.2.1",
3
+ "version": "4.2.2-beta-1",
4
4
  "author": "Bouygues Telecom",
5
5
  "license": "UNLICENSED",
6
6
  "files": [