@trilogy-ds/styles 0.0.1-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.
Files changed (104) hide show
  1. package/framework/src/_all.scss +8 -0
  2. package/framework/src/base/_all.scss +9 -0
  3. package/framework/src/base/_color.scss +58 -0
  4. package/framework/src/base/_elements.scss +34 -0
  5. package/framework/src/base/_fonts.scss +2 -0
  6. package/framework/src/base/_generic.scss +68 -0
  7. package/framework/src/base/_helpers.scss +880 -0
  8. package/framework/src/base/_loading.scss +102 -0
  9. package/framework/src/base/_reset.scss +138 -0
  10. package/framework/src/components/_accordion.scss +178 -0
  11. package/framework/src/components/_all.scss +30 -0
  12. package/framework/src/components/_autolayout2.scss +38 -0
  13. package/framework/src/components/_breadcrumb.scss +45 -0
  14. package/framework/src/components/_card.scss +298 -0
  15. package/framework/src/components/_countdown.scss +55 -0
  16. package/framework/src/components/_disclaimer.scss +84 -0
  17. package/framework/src/components/_divider.scss +18 -0
  18. package/framework/src/components/_dropdown.scss +128 -0
  19. package/framework/src/components/_fab.scss +60 -0
  20. package/framework/src/components/_level.scss +120 -0
  21. package/framework/src/components/_media.scss +64 -0
  22. package/framework/src/components/_menu.scss +213 -0
  23. package/framework/src/components/_modal.scss +201 -0
  24. package/framework/src/components/_otp.scss +92 -0
  25. package/framework/src/components/_pagination.scss +182 -0
  26. package/framework/src/components/_plus-symbol.scss +32 -0
  27. package/framework/src/components/_popover.scss +340 -0
  28. package/framework/src/components/_price.scss +209 -0
  29. package/framework/src/components/_product-tour.scss +131 -0
  30. package/framework/src/components/_progress-radial.scss +23 -0
  31. package/framework/src/components/_range.scss +84 -0
  32. package/framework/src/components/_scroll-view.scss +19 -0
  33. package/framework/src/components/_search-modal.scss +197 -0
  34. package/framework/src/components/_segmented-control.scss +60 -0
  35. package/framework/src/components/_slices.scss +316 -0
  36. package/framework/src/components/_slider.scss +92 -0
  37. package/framework/src/components/_stepper.scss +397 -0
  38. package/framework/src/components/_switch.scss +209 -0
  39. package/framework/src/components/_tabs.scss +212 -0
  40. package/framework/src/components/_timeline.scss +367 -0
  41. package/framework/src/elements/_alert.scss +91 -0
  42. package/framework/src/elements/_all.scss +35 -0
  43. package/framework/src/elements/_badge.scss +81 -0
  44. package/framework/src/elements/_box.scss +267 -0
  45. package/framework/src/elements/_button.scss +192 -0
  46. package/framework/src/elements/_checkbox.scss +39 -0
  47. package/framework/src/elements/_checkradio.scss +173 -0
  48. package/framework/src/elements/_chips.scss +100 -0
  49. package/framework/src/elements/_container.scss +108 -0
  50. package/framework/src/elements/_dot.scss +6 -0
  51. package/framework/src/elements/_entry.scss +109 -0
  52. package/framework/src/elements/_form.scss +593 -0
  53. package/framework/src/elements/_icon.scss +384 -0
  54. package/framework/src/elements/_image.scss +59 -0
  55. package/framework/src/elements/_input-gauge.scss +37 -0
  56. package/framework/src/elements/_input-icons.scss +41 -0
  57. package/framework/src/elements/_link.scss +79 -0
  58. package/framework/src/elements/_list.scss +61 -0
  59. package/framework/src/elements/_loader.scss +126 -0
  60. package/framework/src/elements/_notification.scss +151 -0
  61. package/framework/src/elements/_options.scss +146 -0
  62. package/framework/src/elements/_other.scss +44 -0
  63. package/framework/src/elements/_paragraph.scss +101 -0
  64. package/framework/src/elements/_progress.scss +212 -0
  65. package/framework/src/elements/_radio.scss +67 -0
  66. package/framework/src/elements/_select.scss +315 -0
  67. package/framework/src/elements/_sticker.scss +151 -0
  68. package/framework/src/elements/_switch.scss +108 -0
  69. package/framework/src/elements/_table.scss +298 -0
  70. package/framework/src/elements/_tag.scss +131 -0
  71. package/framework/src/elements/_textarea.scss +125 -0
  72. package/framework/src/elements/_timeline.scss +283 -0
  73. package/framework/src/elements/_title.scss +139 -0
  74. package/framework/src/elements/_toaster.scss +128 -0
  75. package/framework/src/grid/_all.scss +3 -0
  76. package/framework/src/grid/_columns.scss +952 -0
  77. package/framework/src/grid/_rows.scss +47 -0
  78. package/framework/src/grid/_tiles.scss +78 -0
  79. package/framework/src/layout/_all.scss +6 -0
  80. package/framework/src/layout/_hero.scss +268 -0
  81. package/framework/src/layout/_main.scss +36 -0
  82. package/framework/src/layout/_section.scss +65 -0
  83. package/framework/src/layout/_toolbar.scss +100 -0
  84. package/framework/src/trilogy-core.scss +16 -0
  85. package/framework/src/trilogy-mangled.scss +14 -0
  86. package/framework/src/trilogy-namespaced.scss +14 -0
  87. package/framework/src/trilogy.scss +8 -0
  88. package/framework/src/utilities/_all.scss +9 -0
  89. package/framework/src/utilities/_animations.scss +71 -0
  90. package/framework/src/utilities/_controls.scss +67 -0
  91. package/framework/src/utilities/_derived-variables.scss +104 -0
  92. package/framework/src/utilities/_functions.scss +94 -0
  93. package/framework/src/utilities/_initial-variables.scss +150 -0
  94. package/framework/src/utilities/_mixins.scss +745 -0
  95. package/framework/src/utilities/_post.scss +6 -0
  96. package/framework/src/utilities/_pre.scss +5 -0
  97. package/framework/src/utilities/_spacing.scss +10 -0
  98. package/framework/src/utilities/_tools.scss +3 -0
  99. package/package.json +22 -0
  100. package/themes/default/src/_all.scss +1 -0
  101. package/themes/default/src/assets.scss +11 -0
  102. package/themes/default/src/utilities/_all.scss +0 -0
  103. package/themes/default/src/utilities/_post.scss +0 -0
  104. package/themes/default/src/utilities/_pre.scss +3 -0
@@ -0,0 +1,120 @@
1
+ .level {
2
+ @include block;
3
+
4
+ align-items: center;
5
+ justify-content: space-between;
6
+
7
+ code {
8
+ border-radius: $radius;
9
+ }
10
+
11
+ img {
12
+ display: inline-block;
13
+ vertical-align: top;
14
+ }
15
+
16
+ // Modifiers
17
+ &.is-mobile {
18
+ display: flex;
19
+
20
+ .level-left,
21
+ .level-right {
22
+ display: flex;
23
+ }
24
+
25
+ .level-left + .level-right {
26
+ margin-top: 0;
27
+ }
28
+
29
+ .level-item {
30
+ margin-right: 7.4px;
31
+
32
+ &:not(:last-child) {
33
+ margin-bottom: 0;
34
+ }
35
+
36
+ &:not(.is-narrow) {
37
+ flex-grow: 1;
38
+ }
39
+ }
40
+ }
41
+
42
+ // Responsiveness
43
+ @include tablet {
44
+ display: flex;
45
+
46
+ & > .level-item {
47
+ &:not(.is-narrow) {
48
+ flex-grow: 1;
49
+ }
50
+ }
51
+ }
52
+ }
53
+
54
+ .level-item {
55
+ align-items: center;
56
+ display: flex;
57
+ flex-basis: auto;
58
+ flex-grow: 0;
59
+ flex-shrink: 0;
60
+ justify-content: center;
61
+
62
+ .title,
63
+ .subtitle {
64
+ margin-bottom: 0;
65
+ }
66
+
67
+ // Responsiveness
68
+ @include mobile {
69
+ &:not(:last-child) {
70
+ margin-bottom: 7.5px;
71
+ }
72
+ }
73
+ }
74
+
75
+ .level-left,
76
+ .level-right {
77
+ flex-basis: auto;
78
+ flex-grow: 0;
79
+ flex-shrink: 0;
80
+
81
+ .level-item {
82
+ // Modifiers
83
+ &.is-flexible {
84
+ flex-grow: 1;
85
+ }
86
+
87
+ // Responsiveness
88
+ @include tablet {
89
+ &:not(:last-child) {
90
+ margin-right: 7.5px;
91
+ }
92
+ }
93
+ }
94
+ }
95
+
96
+ .level-left {
97
+ align-items: center;
98
+ justify-content: flex-start;
99
+
100
+ // Responsiveness
101
+ @include mobile {
102
+ & + .level-right {
103
+ margin-top: 15px;
104
+ }
105
+ }
106
+
107
+ @include tablet {
108
+ display: flex;
109
+ }
110
+ }
111
+
112
+ .level-right {
113
+ align-items: center;
114
+ justify-content: flex-end;
115
+
116
+ // Responsiveness
117
+ @include tablet {
118
+ display: flex;
119
+ }
120
+ }
@@ -0,0 +1,64 @@
1
+ .media {
2
+ align-items: flex-start;
3
+ display: flex;
4
+ text-align: left;
5
+
6
+ .content:not(:last-child) {
7
+ margin-bottom: 7.5px;
8
+ }
9
+
10
+ .media {
11
+ border-top: 1px solid getColor('grey-lighter');
12
+ display: flex;
13
+ padding-top: 7.5px;
14
+
15
+ .content:not(:last-child),
16
+ .control:not(:last-child) {
17
+ margin-bottom: 5px;
18
+ }
19
+
20
+ .media {
21
+ padding-top: 5px;
22
+
23
+ & + .media {
24
+ margin-top: 5px;
25
+ }
26
+ }
27
+ }
28
+
29
+ & + .media {
30
+ border-top: 1px solid getColor('grey-lighter');
31
+ margin-top: 10px;
32
+ padding-top: 10px;
33
+ }
34
+
35
+ // Sizes
36
+ &.is-large {
37
+ & + .media {
38
+ margin-top: 15px;
39
+ padding-top: 15px;
40
+ }
41
+ }
42
+ }
43
+
44
+ .media-left,
45
+ .media-right {
46
+ flex-basis: auto;
47
+ flex-grow: 0;
48
+ flex-shrink: 0;
49
+ }
50
+
51
+ .media-left {
52
+ margin-right: 10px;
53
+ }
54
+
55
+ .media-right {
56
+ margin-left: 10px;
57
+ }
58
+
59
+ .media-content {
60
+ flex-basis: auto;
61
+ flex-grow: 1;
62
+ flex-shrink: 1;
63
+ text-align: left;
64
+ }
@@ -0,0 +1,213 @@
1
+ @use "sass:math";
2
+
3
+ $menu-top: 60px;
4
+ $menu-top-desktop: 80px;
5
+
6
+ $menu-item-height: 3.125em;
7
+ $menu-item-line-height: math.div($menu-item-height, 2);
8
+ $menu-dropdown-item-height: 2em;
9
+
10
+ .menu {
11
+ font-size: $text-14;
12
+
13
+ &.is-small {
14
+ font-size: $size-small;
15
+ }
16
+
17
+ &.is-large {
18
+ font-size: $size-large;
19
+ }
20
+
21
+ &.is-fixed {
22
+ position: fixed;
23
+ max-width: 374px;
24
+ }
25
+
26
+ li {
27
+ border-bottom: 1px solid getColor('grey-lighter');
28
+
29
+ &:last-child {
30
+ border-bottom: none;
31
+ }
32
+ }
33
+
34
+ .navbar.navbar-header .navbar-menu & {
35
+ top: $menu-top;
36
+
37
+ @include desktop {
38
+ top: $menu-top-desktop;
39
+ }
40
+ }
41
+
42
+ }
43
+
44
+ .menu-title {
45
+ padding-left: 10px;
46
+ }
47
+
48
+ .menu-list {
49
+ line-height: 1.25;
50
+ padding: 10px 0;
51
+ border-bottom: 1px solid getColor('grey-light');
52
+
53
+ a {
54
+ @include unselectable;
55
+
56
+ color: getColor('font');
57
+ padding: 10px 0.75em;
58
+ position: relative;
59
+ display: flex;
60
+ flex-direction: row;
61
+ text-decoration: inherit;
62
+
63
+ &:hover {
64
+ background-color: transparent;
65
+ color: getColor('alternate');
66
+ }
67
+
68
+ &.with-arrow::after {
69
+ content: "";
70
+ mask-image: url('./assets/icons/all/arrow-right.svg');
71
+ background-color: getColor('font');
72
+ right: 0.75em;
73
+ position: absolute;
74
+ width: 15px;
75
+ height: 15px;
76
+ align-self: center;
77
+ }
78
+
79
+ &.is-active {
80
+ background-color: getColor('grey-light');
81
+ color: getColor('alternate');
82
+
83
+ &::before {
84
+ content: '';
85
+ position: absolute;
86
+ left: 0;
87
+ top: 0;
88
+ width: 4px;
89
+ height: 100%;
90
+ background-color: getVariantColor('alternate',2);
91
+ }
92
+ }
93
+
94
+ .badge {
95
+ margin-top: 1px;
96
+ }
97
+
98
+ .icon {
99
+ margin: -1px 10px 0 0;
100
+ }
101
+ }
102
+
103
+ li {
104
+ ul {
105
+ margin: 0.75em;
106
+ padding-left: 0.75em;
107
+ }
108
+ }
109
+
110
+ &.dropdown-menu-list,
111
+ &.aside-menu-list {
112
+ color: getColor('font');
113
+ border: 0;
114
+ background-color: getColor('background');
115
+ padding: 0;
116
+
117
+ li {
118
+ ul {
119
+ padding: 0;
120
+ margin: 0.4em 0 0.8em;
121
+
122
+ li {
123
+ padding: 0;
124
+
125
+ a {
126
+ min-height: $menu-dropdown-item-height;
127
+ line-height: $menu-dropdown-item-height;
128
+ padding: 0 2.4em;
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ li.is-active a,
135
+ a.is-active {
136
+ box-shadow: inset 4px 0 0 0 currentColor;
137
+ color: getVariantColor('alternate',2);
138
+ background: inherit;
139
+ }
140
+
141
+ a {
142
+ padding: 0 1.2em;
143
+ color: getColor('font');
144
+ min-height: $menu-dropdown-item-height;
145
+ line-height: $menu-dropdown-item-height;
146
+ white-space: nowrap;
147
+ text-overflow: ellipsis;
148
+ overflow: hidden;
149
+
150
+ &:hover {
151
+ color: getVariantColor('alternate',2);
152
+ background-color: getColor('grey-lighter');
153
+ }
154
+
155
+ sub {
156
+ display: inline-block;
157
+ height: 20px;
158
+ margin: 3px;
159
+ }
160
+
161
+ .tag {
162
+ height: 20px;
163
+ padding: 5px;
164
+ margin-left: 5px;
165
+ }
166
+ }
167
+ }
168
+
169
+ &.aside-menu-list {
170
+ border-right: 1px solid getColor('grey-light');
171
+
172
+ a {
173
+ padding-left: 1.2em;
174
+ padding-top: 0.8em;
175
+ min-height: $menu-item-height;
176
+ line-height: $menu-item-line-height;
177
+ color: getColor('font');
178
+
179
+ &:hover {
180
+ color: getVariantColor('alternate',2);
181
+ background-color: getColor('grey-lighter');
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ .menu-label {
188
+ color: getVariantColor('alternate',2);
189
+ font-size: 14px;
190
+ letter-spacing: 0.1em;
191
+ text-transform: uppercase;
192
+ font-weight: $weight-semibold;
193
+ padding-bottom: 1em;
194
+ border-bottom: 2px solid currentColor;
195
+
196
+ &:not(:first-child) {
197
+ margin-top: 1em;
198
+ }
199
+
200
+ &:not(:last-child) {
201
+ margin-bottom: 1em;
202
+ }
203
+ }
204
+
205
+ aside.menu {
206
+ > div {
207
+ padding: 10px;
208
+ }
209
+ }
210
+
211
+ .is-sidebar-menu ul.menu-list {
212
+ height: 100%;
213
+ }
@@ -0,0 +1,201 @@
1
+ $modal-content-width: 640px !default;
2
+ $modal-content-margin-mobile: 20px !default;
3
+ $modal-close-dimensions: 40px !default;
4
+ $modal-dimensions: (
5
+ 'xsmall': 40vw,
6
+ 'small': 50vw,
7
+ 'medium': 60vw,
8
+ 'large': 70vw,
9
+ 'xlarge': 80vw
10
+ );
11
+
12
+ body:has(.modal.is-active) {
13
+ height: 100%;
14
+ overflow: hidden
15
+ }
16
+
17
+ .modal {
18
+ @include overlay;
19
+
20
+ position: fixed;
21
+ z-index: zindex('modal');
22
+ overflow: hidden;
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+ justify-content: flex-end;
27
+ visibility: hidden;
28
+ opacity: 0;
29
+ transition:
30
+ opacity 250ms ease-in-out,
31
+ visibility 0ms linear 250ms;
32
+
33
+ // overlay
34
+ &::after {
35
+ @include overlay;
36
+
37
+ content: '';
38
+ background-color: rgba(#000, 0.86);
39
+ }
40
+
41
+ &.is-active {
42
+ opacity: 1;
43
+ visibility: inherit;
44
+ transition:
45
+ opacity 250ms ease-in-out,
46
+ visibility 0ms linear;
47
+ .modal-content {
48
+ transform: translateY(0);
49
+ }
50
+ }
51
+
52
+ // gestion des tailles
53
+ @include tablet {
54
+ justify-content: center;
55
+ @each $dimension in $dimensions-extended {
56
+ &.is-#{$dimension} {
57
+ .modal-content {
58
+ width: map-get($modal-dimensions, $dimension);
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ // spécificité pour le bouton en position: relative par défaut
65
+ .button {
66
+ position: static;
67
+ }
68
+
69
+ // ancien overlay : n'a plus d'utilité mais conservée pour rétrocompatibilité
70
+ .modal-background {
71
+ display: none;
72
+ }
73
+
74
+ .modal-content {
75
+ background-color: getColor('background');
76
+ border-radius: $radius $radius 0 0;
77
+ color: getColor('font');
78
+ overflow: auto;
79
+ position: relative;
80
+ padding: 0 30px 30px;
81
+ margin: 0 $modal-content-margin-mobile;
82
+ max-height: calc(100vh - 40px);
83
+ text-align: center;
84
+ width: 100%;
85
+ z-index: zindex('tiny');
86
+ transition: transform ease-in-out 250ms;
87
+ transform: translateY(100%);
88
+
89
+ &.is-fullwidth {
90
+ width: 100% !important;
91
+ }
92
+
93
+ @include tablet {
94
+ max-height: calc(100vh - 120px);
95
+ width: $modal-content-width;
96
+ border-radius: $radius;
97
+ }
98
+
99
+ // Annulation des propriétés du composant box, se trouvant dans une modal
100
+ > .box {
101
+ background-color: transparent;
102
+ border-radius: 0;
103
+ box-shadow: none;
104
+ padding: 0;
105
+ max-height: inherit;
106
+
107
+ .box-content {
108
+ background-color: transparent;
109
+ border-radius: 0;
110
+ padding: 0;
111
+ padding-bottom: 30px;
112
+ margin: 0;
113
+ text-align: inherit;
114
+ }
115
+ }
116
+
117
+ .modal-footer {
118
+ position: sticky;
119
+ background: getColor('background');
120
+ bottom: -30px;
121
+ margin: 30px -30px -30px;
122
+ padding: 20px 30px;
123
+ }
124
+
125
+ // If Close Icon Modal & Title Modal are sibling elements, override margin
126
+ .modal-close ~ .modal-title {
127
+ margin-top: -32px;
128
+ }
129
+ }
130
+
131
+ .modal-close {
132
+ @include delete;
133
+
134
+ background-color: getColor('background');
135
+ position: sticky;
136
+ top: 20px;
137
+ left: 100%;
138
+ display: block;
139
+ height: $modal-close-dimensions;
140
+ width: $modal-close-dimensions;
141
+ z-index: zindex('medium');
142
+
143
+ &:hover {
144
+ background-color: getColor('grey-light');
145
+ }
146
+
147
+ &::after,
148
+ &::before {
149
+ background-color: getColor('font');
150
+ }
151
+ }
152
+
153
+ .modal-title {
154
+ color: getColor('font');
155
+ font-family: $family-sans-serif;
156
+ font-size: $size-3;
157
+ font-weight: $weight-semibold;
158
+ line-height: 1.1;
159
+ background-color: getColor('background');
160
+ z-index: zindex('small');
161
+ position: sticky;
162
+ top: 0;
163
+ padding: 20px 0;
164
+ width: 100%;
165
+ word-wrap: break-word;
166
+
167
+ @include desktop {
168
+ font-size: $size-3-desktop;
169
+ }
170
+ }
171
+
172
+ // version "panel" de la modal
173
+ &.is-panel {
174
+ &::after {
175
+ position: fixed;
176
+ }
177
+
178
+ .modal-content {
179
+ border-radius: 0;
180
+ position: fixed;
181
+ right: 0;
182
+ top: 0;
183
+ min-height: 100%;
184
+ height: 100%;
185
+ max-height: none;
186
+ margin: 0;
187
+ text-align: left;
188
+ display: flex;
189
+ flex-direction: column;
190
+ align-items: flex-start;
191
+
192
+ @include tablet {
193
+ max-width: 375px;
194
+ }
195
+
196
+ .modal-footer {
197
+ margin-top: auto;
198
+ }
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,92 @@
1
+ .otp-list {
2
+ display: flex;
3
+ flex-wrap: nowrap;
4
+
5
+ .otp {
6
+ outline: none;
7
+ border: 1px solid currentColor;
8
+ border-radius: 4px;
9
+ background: transparent;
10
+ width: 33px;
11
+ height: 40px;
12
+ margin: 4px 4px 0 4px;
13
+ text-align: center;
14
+ color: getColor('grey');
15
+ &:first-child {
16
+ margin: 4px 4px 0 0;
17
+ }
18
+
19
+ &:last-child {
20
+ margin: 4px 0 0 4px;
21
+ }
22
+
23
+ }
24
+
25
+ &.is-danger {
26
+ .otp {
27
+ border: 2px solid getColor('error');
28
+ }
29
+ }
30
+
31
+ &.is-tertiary {
32
+ .otp {
33
+ border: 2px solid getColor('font');
34
+ }
35
+ }
36
+
37
+ &.is-filled {
38
+ .otp {
39
+ color: getColor('font')
40
+ }
41
+ }
42
+
43
+ &.is-focus {
44
+ .otp {
45
+ border: 2px solid getColor('alternate');;
46
+ color: getColor('font')
47
+ }
48
+ }
49
+
50
+
51
+ &.is-error {
52
+ .otp {
53
+ border: 2px solid getColor('error');
54
+ color: getColor('font')
55
+ }
56
+ }
57
+
58
+ &.is-tertiary {
59
+ .otp {
60
+ border: 2px solid getColor('font');
61
+ }
62
+ }
63
+
64
+ &.is-disabled {
65
+ .otp {
66
+ border: none !important;
67
+ background: getColor('grey-disabled');
68
+ pointer-events: none;
69
+ color: getColor('grey');
70
+ }
71
+ }
72
+
73
+ }
74
+
75
+ .otp-list:focus-within {
76
+ .otp {
77
+ border: 2px solid getColor('alternate');;
78
+ color: getColor('font');
79
+ }
80
+ }
81
+
82
+ .otp-list.is-error:focus-within {
83
+ .otp {
84
+ border: 2px solid getColor('error');
85
+ color: getColor('font');
86
+ }
87
+ }
88
+
89
+ .otp-error-message {
90
+ font-size: $text-12;
91
+ margin-top: 4px;
92
+ }