pallote-css 0.0.0

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 (34) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +88 -0
  3. package/_site/LICENSE +21 -0
  4. package/_site/README.md +88 -0
  5. package/_site/package.json +28 -0
  6. package/assets/_sass/.DS_Store +0 -0
  7. package/assets/_sass/common/_editor.scss +166 -0
  8. package/assets/_sass/common/_fontface.scss +28 -0
  9. package/assets/_sass/common/_global.scss +132 -0
  10. package/assets/_sass/common/_mixins.scss +156 -0
  11. package/assets/_sass/common/_reset.scss +81 -0
  12. package/assets/_sass/common/_variables.scss +213 -0
  13. package/assets/_sass/components/_alert.scss +189 -0
  14. package/assets/_sass/components/_button.scss +257 -0
  15. package/assets/_sass/components/_buttons.scss +63 -0
  16. package/assets/_sass/components/_card.scss +252 -0
  17. package/assets/_sass/components/_form.scss +68 -0
  18. package/assets/_sass/components/_grid.scss +163 -0
  19. package/assets/_sass/components/_input.scss +268 -0
  20. package/assets/_sass/components/_link.scss +49 -0
  21. package/assets/_sass/components/_list.scss +40 -0
  22. package/assets/_sass/components/_nav.scss +72 -0
  23. package/assets/_sass/components/_navbar.scss +207 -0
  24. package/assets/_sass/components/_page.scss +33 -0
  25. package/assets/_sass/components/_section.scss +158 -0
  26. package/assets/_sass/components/_sidebar.scss +27 -0
  27. package/assets/_sass/components/_tag.scss +78 -0
  28. package/assets/_sass/components/_text.scss +89 -0
  29. package/assets/_sass/modules/_cookie.scss +32 -0
  30. package/assets/_sass/plugins/_highlighter-theme.scss +68 -0
  31. package/assets/_sass/utilities/_color.scss +122 -0
  32. package/assets/_sass/utilities/_global.scss +121 -0
  33. package/assets/_sass/utilities/_text.scss +63 -0
  34. package/package.json +28 -0
@@ -0,0 +1,257 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // kind
4
+ // variant
5
+ // size
6
+ // color
7
+ // disabled
8
+ // animate
9
+ // menu
10
+ // —————————————————————————————————————————————————————————————————
11
+
12
+ // —————————————————————————————————————————————————————————————————
13
+ // elements
14
+ // —————————————————————————————————————————————————————————————————
15
+
16
+ .button {
17
+ cursor: pointer;
18
+ overflow: hidden;
19
+ display: inline-flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ border-radius: $border-radius-md;
23
+ position: relative;
24
+ line-height: 0;
25
+ text-transform: uppercase;
26
+ font-weight: $font-bold;
27
+ padding-bottom: 0.15em;
28
+ white-space: nowrap;
29
+ }
30
+
31
+ // —————————————————————————————————————————————————————————————————
32
+ // kind
33
+ // —————————————————————————————————————————————————————————————————
34
+
35
+ // This property is handled by the size mixin
36
+
37
+ // —————————————————————————————————————————————————————————————————
38
+ // variant
39
+ // —————————————————————————————————————————————————————————————————
40
+
41
+ // This property is handled by the color mixin
42
+
43
+ // —————————————————————————————————————————————————————————————————
44
+ // size
45
+ // —————————————————————————————————————————————————————————————————
46
+
47
+ @mixin size($value, $size) {
48
+ height: $size;
49
+ padding-right: $size*.33;
50
+ padding-left: $size*.33;
51
+
52
+ @if $value == sm { @extend %caption; }
53
+ @else if $value == lg { @extend %subtitle; }
54
+
55
+ svg {
56
+ width: calc($size/1.75);
57
+ height: calc($size/1.75);
58
+ }
59
+
60
+ &:not(.button--icon) {
61
+
62
+ svg {
63
+ margin-top: 0.15em;
64
+
65
+ &:first-child {
66
+ margin-right: calc($size/4);
67
+ margin-left: calc(-1 * $size/10);
68
+ }
69
+
70
+ &:last-child {
71
+ margin-right: calc(-1 * $size/10);
72
+ margin-left: calc($size/4);
73
+ }
74
+ }
75
+ }
76
+
77
+ &.button--icon {
78
+ width: $size;
79
+ padding: 0;
80
+ }
81
+ }
82
+
83
+ .button {
84
+
85
+ @include size(md, $spacing-lg);
86
+ &--sm { @include size(sm, $spacing-md*1.5); }
87
+ &--lg { @include size(lg, $spacing-lg*1.25); }
88
+ }
89
+
90
+ // —————————————————————————————————————————————————————————————————
91
+ // color
92
+ // —————————————————————————————————————————————————————————————————
93
+
94
+ @mixin color($prefix, $colors...) {
95
+
96
+ @each $i in $colors {
97
+ .#{$prefix}#{nth($i, 1)} {
98
+ background-color: nth($i, 2);
99
+ color: nth($i, 3);
100
+
101
+ @include hover {
102
+
103
+ &:not(.button--disabled) {
104
+ background-color: mix(black, nth($i, 2), 20%);
105
+ }
106
+ }
107
+
108
+ svg { fill: nth($i, 3); }
109
+
110
+ &.button--stroke {
111
+ background-color: transparent;
112
+ border: 1px solid nth($i, 2);
113
+ color: $text;
114
+
115
+ @include hover {
116
+
117
+ &:not(.button--disabled) {
118
+ background-color: $hover;
119
+ }
120
+ }
121
+
122
+ svg { fill: $text; }
123
+ }
124
+
125
+ &.button--transparent {
126
+ background-color: transparent;
127
+ color: nth($i, 2);
128
+
129
+ @include hover { background-color: $hover; }
130
+ svg { fill: nth($i, 2); }
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ @include color('button',
137
+ '' $primary $primary-text,
138
+ '--secondary' $secondary $secondary-text,
139
+ '--highlight' $highlight $highlight-text,
140
+ '--default' $background-default $primary,
141
+ '--grey' $text-disabled $text,
142
+ '--success' $success $success-contrast,
143
+ '--info' $info $info-contrast,
144
+ '--warning' $warning $warning-contrast,
145
+ '--error' $error $error-contrast,
146
+ '--default' $text $text-contrast,
147
+ '--contrast' $background-default $text
148
+ );
149
+
150
+ // —————————————————————————————————————————————————————————————————
151
+ // disabled
152
+ // —————————————————————————————————————————————————————————————————
153
+
154
+ button {
155
+
156
+ &.button--disabled,
157
+ &:disabled {
158
+ opacity: 0.3;
159
+ cursor: not-allowed;
160
+ outline: none;
161
+ }
162
+ }
163
+
164
+ // —————————————————————————————————————————————————————————————————
165
+ // menu
166
+ // —————————————————————————————————————————————————————————————————
167
+
168
+ // button apparition
169
+ @include keyframes(button-menu-opacity) {
170
+ 0% { opacity: 0; }
171
+ 50% { opacity: 0; }
172
+ 100% { opacity: 100%; }
173
+ }
174
+
175
+ // lines > close
176
+ @include keyframes(button-menu-open-before) {
177
+ 0% { transform: translateY($spacing-xs*1.5); }
178
+ 50% { transform: translateY(0);
179
+ transform: rotate(0); }
180
+ 100% { transform: rotate(45deg); }
181
+ }
182
+ @include keyframes(button-menu-open-after) {
183
+ 0% { transform: translateY(-$spacing-xs*1.5); }
184
+ 50% { transform: translateY(0);
185
+ transform: rotate(0); }
186
+ 100% { transform: rotate(-45deg); }
187
+ }
188
+
189
+ // close > lines
190
+ @include keyframes(button-menu-close-before) {
191
+ 0% { transform: rotate(45deg); }
192
+ 50% { transform: rotate(0);
193
+ transform: translateY(0); }
194
+ 100% { transform: translateY($spacing-xs*1.5); }
195
+ }
196
+ @include keyframes(button-menu-close-after) {
197
+ 0% { transform: rotate(-45deg); }
198
+ 50% { transform: rotate(0);
199
+ transform: translateY(0); }
200
+ 100% { transform: translateY(-$spacing-xs*1.5); }
201
+ }
202
+
203
+ .button--menu {
204
+ display: flex;
205
+ align-items: center;
206
+ justify-content: center;
207
+ animation: button-menu-opacity $transition-lg;
208
+ cursor: pointer;
209
+ position: relative;
210
+ overflow: visible;
211
+ width: $spacing-md;
212
+ height: $spacing-md;
213
+ background-color: transparent !important;
214
+ border: 0;
215
+ padding: 0;
216
+
217
+ &:before,
218
+ &:after,
219
+ .button__inner {
220
+ background-color: $text;
221
+ }
222
+
223
+ &:before,
224
+ &:after {
225
+ @include pseudo-element('', auto, auto, auto, auto, $spacing-md, 2px);
226
+ @include transition($transition-md, transform);
227
+ border-radius: 0.15rem;
228
+ }
229
+
230
+ &:before {
231
+ transform: translateY($spacing-xs*1.5);
232
+ animation: button-menu-close-before $transition-lg;
233
+ }
234
+
235
+ &:after {
236
+ transform: translateY(-$spacing-xs*1.5);
237
+ animation: button-menu-close-after $transition-lg;
238
+ }
239
+
240
+ .button__inner {
241
+ @include transition($transition-md, opacity);
242
+ border-radius: 0.15rem;
243
+ width: $spacing-md;
244
+ height: 2px;
245
+ position: absolute;
246
+ }
247
+
248
+ &.button--menu--open {
249
+
250
+ &:before { animation: button-menu-open-before $transition-lg forwards; }
251
+ &:after { animation: button-menu-open-after $transition-lg forwards; }
252
+
253
+ .button__inner {
254
+ opacity: 0;
255
+ }
256
+ }
257
+ }
@@ -0,0 +1,63 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // direction
4
+ // fullWidth
5
+ // wide
6
+ // —————————————————————————————————————————————————————————————————
7
+
8
+ // —————————————————————————————————————————————————————————————————
9
+ // elements
10
+ // —————————————————————————————————————————————————————————————————
11
+
12
+ .buttons {
13
+ display: flex;
14
+ flex-wrap: wrap; // set on multiple lines if wider than parent width
15
+ margin: -$spacing-xs;
16
+
17
+ .button { margin: $spacing-xs; }
18
+ .buttons { padding: $spacing-xs; }
19
+
20
+ // larger spacing on small and touch devices
21
+ @include responsive(down, mobile) {
22
+ margin: -$spacing-sm;
23
+
24
+ .button { margin: $spacing-sm; }
25
+ }
26
+
27
+ @include responsive-touch {
28
+ margin: -$spacing-sm;
29
+
30
+ .button { margin: $spacing-sm; }
31
+ }
32
+ }
33
+
34
+ // —————————————————————————————————————————————————————————————————
35
+ // direction
36
+ // —————————————————————————————————————————————————————————————————
37
+
38
+ .buttons {
39
+
40
+ &--portrait {
41
+ flex-direction: column;
42
+ align-items: flex-start;
43
+ }
44
+ }
45
+
46
+ // —————————————————————————————————————————————————————————————————
47
+ // fullWidth
48
+ // —————————————————————————————————————————————————————————————————
49
+
50
+ .buttons--fullWidth {
51
+
52
+ .button {
53
+ width: 100%;
54
+ }
55
+ }
56
+
57
+ // —————————————————————————————————————————————————————————————————
58
+ // wide
59
+ // —————————————————————————————————————————————————————————————————
60
+
61
+ .buttons--wide {
62
+ justify-content: space-between;
63
+ }
@@ -0,0 +1,252 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // size
4
+ // direction
5
+ // alignement
6
+ // transparent
7
+ // hasShadow
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ // —————————————————————————————————————————————————————————————————
11
+ // elements
12
+ // —————————————————————————————————————————————————————————————————
13
+
14
+ .card {
15
+ display: flex;
16
+ flex-direction: column;
17
+ align-items: stretch;
18
+ width: 100%;
19
+ overflow: hidden; // hide corners when CardMedia has fullWidth prop set to true
20
+
21
+ &:not(.card--transparent) {
22
+ background-color: $background-paper;
23
+ }
24
+
25
+ &__media {
26
+ flex-basis: 0;
27
+
28
+ &Inner {
29
+ background-size: cover;
30
+ background-repeat: no-repeat;
31
+ background-position: center center;
32
+ width: 100%;
33
+ height: 100%;
34
+ background-color: $backdrop;
35
+ overflow: hidden;
36
+ padding-bottom: 50%;
37
+
38
+ .card--transparent & {
39
+ background-color: $backdrop-contrast;
40
+ }
41
+ }
42
+ }
43
+
44
+ &__title {
45
+ @extend %h6;
46
+ @extend %text--bold;
47
+ line-height: 1.25;
48
+ }
49
+
50
+ &__subtitle {
51
+ @extend %subtitle;
52
+ @extend %text--regular;
53
+ }
54
+
55
+ &__content {
56
+ display: inline-flex;
57
+ flex-direction: column;
58
+ align-items: flex-start;
59
+
60
+ &--fullWidth {
61
+
62
+ .card > &.card__content {
63
+ padding-right: 0;
64
+ padding-left: 0;
65
+ }
66
+ }
67
+ }
68
+
69
+ &__actions {
70
+ display: flex;
71
+ justify-content: space-between;
72
+
73
+ >*:only-child {
74
+ margin-left: auto;
75
+ }
76
+
77
+ &--portrait {
78
+ flex-direction: column;
79
+
80
+ >*:not(:last-child) {
81
+ margin-bottom: $spacing-md;
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ // —————————————————————————————————————————————————————————————————
88
+ // size
89
+ // —————————————————————————————————————————————————————————————————
90
+
91
+ @mixin size($value, $size) {
92
+
93
+ &:not(.card--transparent) {
94
+ border-radius: $size;
95
+ }
96
+
97
+ &.card--hasShadow {
98
+ box-shadow: 0 0 $size $size*0.25 rgba($white ,0.3);
99
+ }
100
+
101
+ > .card__media,
102
+ > .card__header,
103
+ > .card__content,
104
+ > .card__actions {
105
+ padding: $size;
106
+
107
+ &:not(:first-child) {
108
+ padding-top: 0;
109
+ }
110
+ }
111
+
112
+ > .card__actions {
113
+ margin-top: auto;
114
+ }
115
+
116
+ &.card--transparent {
117
+
118
+ > .card__media,
119
+ > .card__header,
120
+ > .card__content,
121
+ > .card__actions {
122
+ padding: 0;
123
+
124
+ &:not(:first-child) {
125
+ padding-top: $size;
126
+ }
127
+ }
128
+
129
+ > .card__media .card__mediaInner {
130
+ border-radius: calc($size/2);
131
+ }
132
+ }
133
+
134
+ .card__media--fullWidth {
135
+ padding-right: 0;
136
+ padding-top: 0;
137
+ padding-left: 0;
138
+ }
139
+
140
+ .card {
141
+
142
+ &__title {
143
+ @if $value == xs { @extend %body; }
144
+ @else if $value == sm { @extend %subtitle; }
145
+ @else if $value == lg { @extend %h5; }
146
+ @else if $value == xl { @extend %h4; }
147
+ }
148
+
149
+ &__subtitle {
150
+ @if $value == xs { @extend %caption; }
151
+ @else if $value == sm { @extend %body; }
152
+ @else if $value == lg { @extend %h6; }
153
+ @else if $value == xl { @extend %h5; }
154
+ margin-top: calc($size / 3);
155
+ }
156
+
157
+ &__mediaInner {
158
+ border-radius: $size*0.25;
159
+ }
160
+ }
161
+
162
+ > .card__media--fullWidth .card__mediaInner {
163
+ border-radius: 0;
164
+ }
165
+
166
+ &.card--transparent > .card__media--fullWidth .card__mediaInner {
167
+ border-radius: $size*0.5;
168
+ }
169
+
170
+ &.card--landscape {
171
+
172
+ > .card__media,
173
+ > .card__header,
174
+ > .card__content,
175
+ > .card__actions {
176
+ padding-top: $size;
177
+
178
+ &:not(:first-child) {
179
+ padding-left: 0;
180
+ }
181
+ }
182
+
183
+ > .card__actions {
184
+ margin-left: auto;
185
+ flex-direction: column;
186
+ justify-content: flex-start;
187
+ }
188
+
189
+ &.card--transparent {
190
+
191
+ > .card__media,
192
+ > .card__header,
193
+ > .card__content,
194
+ > .card__actions {
195
+ padding: 0;
196
+
197
+ &:not(:first-child) {
198
+ padding-left: $size;
199
+ }
200
+ }
201
+
202
+ > .card__media .card__mediaInner {
203
+ border-radius: calc($size/2);
204
+ }
205
+ }
206
+
207
+ .card__media--fullWidth {
208
+ padding-top: 0;
209
+ padding-bottom: 0;
210
+ padding-left: 0;
211
+ }
212
+ }
213
+ }
214
+
215
+ .card {
216
+ @include size(md, $spacing-md+$spacing-sm);
217
+ &--xs { @include size(xs, $spacing-sm+$spacing-xs); }
218
+ &--sm { @include size(sm, $spacing-md); }
219
+ &--lg { @include size(lg, $spacing-lg); }
220
+ &--xl { @include size(xl, $spacing-lg+$spacing-sm); }
221
+ }
222
+
223
+ // —————————————————————————————————————————————————————————————————
224
+ // direction
225
+ // —————————————————————————————————————————————————————————————————
226
+
227
+ // most of the direction styling is handled by the size mixin
228
+
229
+ .card--landscape {
230
+ flex-direction: row;
231
+ }
232
+
233
+ // —————————————————————————————————————————————————————————————————
234
+ // alignement
235
+ // —————————————————————————————————————————————————————————————————
236
+
237
+ .card {
238
+
239
+ &--center { text-align: center; }
240
+ &--right { text-align: right; }
241
+ }
242
+ // —————————————————————————————————————————————————————————————————
243
+ // transparent
244
+ // —————————————————————————————————————————————————————————————————
245
+
246
+ // the transparent styling is handled by the size mixin
247
+
248
+ // —————————————————————————————————————————————————————————————————
249
+ // hasShadow
250
+ // —————————————————————————————————————————————————————————————————
251
+
252
+ // the shadow styling is handled by the size mixin
@@ -0,0 +1,68 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // dense
4
+ // card
5
+ // —————————————————————————————————————————————————————————————————
6
+
7
+ // —————————————————————————————————————————————————————————————————
8
+ // elements
9
+ // —————————————————————————————————————————————————————————————————
10
+
11
+ .form {
12
+ width: 100%;
13
+
14
+ &__title,
15
+ &__content,
16
+ &__actions {
17
+
18
+ &:not(:last-child) {
19
+ margin-bottom: $spacing-md;
20
+ }
21
+ }
22
+
23
+ &__title {
24
+ @extend %subtitle;
25
+ font-weight: $font-bold;
26
+ }
27
+ }
28
+
29
+ // —————————————————————————————————————————————————————————————————
30
+ // dense
31
+ // —————————————————————————————————————————————————————————————————
32
+
33
+ .form--dense {
34
+
35
+ &__title,
36
+ &__content,
37
+ &__actions {
38
+
39
+ &:not(:last-child) {
40
+ margin-bottom: $spacing-sm;
41
+ }
42
+ }
43
+
44
+ .input:not(:last-child) {
45
+ margin-bottom: $spacing-sm;
46
+ }
47
+
48
+ &.form--card {
49
+ padding: $spacing-md;
50
+ border-radius: $spacing-md;
51
+ }
52
+ }
53
+
54
+ // —————————————————————————————————————————————————————————————————
55
+ // card
56
+ // —————————————————————————————————————————————————————————————————
57
+
58
+ .form--card {
59
+ padding: $spacing-lg;
60
+ border-radius: $spacing-lg;
61
+ box-shadow: $box-shadow;
62
+
63
+ @include responsive(down, mobile) {
64
+ padding: 0;
65
+ background-color: transparent;
66
+ box-shadow: none;
67
+ }
68
+ }