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,163 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // variants
4
+ // spacing
5
+ // width
6
+ // direction
7
+ // justifyContent
8
+ // alignItems
9
+ // —————————————————————————————————————————————————————————————————
10
+
11
+ // —————————————————————————————————————————————————————————————————
12
+ // elements
13
+ // —————————————————————————————————————————————————————————————————
14
+
15
+ .grid {
16
+ display: flex;
17
+ width: 100%;
18
+ flex-wrap: wrap;
19
+ position: relative;
20
+
21
+ &__item {
22
+ display: flex;
23
+ align-items: stretch;
24
+ flex-direction: column;
25
+ position: relative;
26
+ float: left;
27
+ width: 100%;
28
+
29
+ &.grid {
30
+ width: 100%;
31
+ flex-direction: row;
32
+ }
33
+ }
34
+ }
35
+
36
+ // —————————————————————————————————————————————————————————————————
37
+ // variants
38
+ // —————————————————————————————————————————————————————————————————
39
+
40
+ .grid {
41
+
42
+ // display a bigger top margin betweem grid wrappers
43
+ &--container {
44
+
45
+ & + & {
46
+ margin-top: 3rem;
47
+ }
48
+ }
49
+
50
+ // have children wrap automatically
51
+ &--wrap {
52
+ justify-content: center;
53
+
54
+ > .grid__item {
55
+ flex: 1 0 0;
56
+ }
57
+ }
58
+ }
59
+
60
+ // —————————————————————————————————————————————————————————————————
61
+ // spacing
62
+ // —————————————————————————————————————————————————————————————————
63
+
64
+ @for $spacingWidth from 1 through 12 {
65
+
66
+ .grid--spacing#{$spacingWidth} {
67
+ margin: -($spacingWidth * 0.5rem)*0.5;
68
+ width: calc(100% + #{$spacingWidth * 0.5rem});
69
+
70
+ > .grid__item {
71
+ padding: ($spacingWidth * 0.5rem)*0.5;
72
+ }
73
+
74
+ &.grid__item {
75
+ width: calc(100% + #{$spacingWidth * 0.5rem});
76
+ }
77
+ }
78
+ }
79
+
80
+ // —————————————————————————————————————————————————————————————————
81
+ // width
82
+ // —————————————————————————————————————————————————————————————————
83
+
84
+ @for $colWidth from 1 through 12 {
85
+
86
+ .grid__item--#{$colWidth} {
87
+ width: $colWidth*$col;
88
+
89
+ &.grid {
90
+ width: $colWidth*$col;
91
+ }
92
+
93
+ @for $spacingWidth from 1 through 12 {
94
+
95
+ &.grid--spacing#{$spacingWidth} {
96
+ width: calc(#{$colWidth*$col} + #{$spacingWidth * 0.5rem});
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ @mixin break-width($breakpoint) {
103
+
104
+ @include responsive(up, $breakpoint) {
105
+
106
+ @for $colWidth from 1 through 12 {
107
+
108
+ &#{$colWidth} {
109
+ width: $colWidth*$col;
110
+
111
+ &.grid {
112
+ width: $colWidth*$col;
113
+ }
114
+
115
+ @for $spacingWidth from 1 through 12 {
116
+
117
+ &.grid--spacing#{$spacingWidth} {
118
+ width: calc(#{$colWidth*$col} + #{$spacingWidth * 0.5rem});
119
+ }
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+
126
+ .grid__item {
127
+
128
+ &--xs { @include break-width(mobile-sm); }
129
+ &--sm { @include break-width(mobile); }
130
+ &--md { @include break-width(tablet); }
131
+ &--lg { @include break-width(laptop); }
132
+ &--xl { @include break-width(desktop); }
133
+ }
134
+
135
+ // —————————————————————————————————————————————————————————————————
136
+ // direction
137
+ // —————————————————————————————————————————————————————————————————
138
+
139
+ .grid--column { flex-direction: column !important; }
140
+ .grid--columnReverse { flex-direction: column-reverse !important; }
141
+ .grid--row { flex-direction: row; flex-wrap: nowrap !important; }
142
+ .grid--rowReverse { flex-direction: row-reverse; flex-wrap: nowrap !important; }
143
+
144
+ // —————————————————————————————————————————————————————————————————
145
+ // justifyContent
146
+ // —————————————————————————————————————————————————————————————————
147
+
148
+ .grid--jcCenter { justify-content: center !important; }
149
+ .grid--jcEnd { justify-content: flex-end !important; }
150
+ .grid--jcStart { justify-content: flex-start !important; }
151
+ .grid--jcSpaceAround { justify-content: space-around !important; }
152
+ .grid--jcSpaceBetween { justify-content: space-between !important; }
153
+ .grid--jcSpaceEvenly { justify-content: space-evenly !important; }
154
+
155
+ // —————————————————————————————————————————————————————————————————
156
+ // alignItems
157
+ // —————————————————————————————————————————————————————————————————
158
+
159
+ .grid--aiCenter { align-items: center !important; }
160
+ .grid--aiEnd { align-items: flex-end !important; }
161
+ .grid--aiStart { align-items: flex-start !important; }
162
+ .grid--aiStretch { align-items: stretch !important; }
163
+ .grid--aiBaseline { align-items: baseline !important; }
@@ -0,0 +1,268 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements / default
3
+ // elements / select
4
+ // elements / textarea
5
+ // elements / checkbox & radio
6
+ // active
7
+ // error
8
+ // disabled
9
+ // required
10
+ // —————————————————————————————————————————————————————————————————
11
+
12
+ $checkbox-width: $spacing-md*1.25;
13
+
14
+ // —————————————————————————————————————————————————————————————————
15
+ // elements / default
16
+ // —————————————————————————————————————————————————————————————————
17
+
18
+ .input {
19
+ text-align: left;
20
+ position: relative;
21
+ width: 100%;
22
+
23
+ &:not(:last-child) {
24
+ margin-bottom: $spacing-md;
25
+ }
26
+
27
+ &__label {
28
+ @include transition($transition-md, color);
29
+ @extend %caption;
30
+ font-weight: $font-bold;
31
+ color: $text-alt;
32
+ text-overflow: ellipsis;
33
+ cursor: pointer;
34
+ display: block;
35
+ overflow: hidden;
36
+ white-space: nowrap;
37
+ position: relative;
38
+ margin-bottom: $spacing-xs;
39
+ }
40
+
41
+ &__control {
42
+ @include transition($transition-md, border-color);
43
+ font-size: 1rem;
44
+ font-family: $font;
45
+ width: 100%;
46
+ border-radius: $border-radius-md !important;
47
+ padding: $spacing-xs*1.5 $spacing-sm;
48
+ background-color: $background-paper;
49
+
50
+ @include responsive(down, mobile) {
51
+ background-color: $background-paper;
52
+ }
53
+
54
+ &:not(textarea) {
55
+ white-space: nowrap;
56
+ text-overflow: ellipsis;
57
+ line-height: 1;
58
+ height: $spacing-lg;
59
+ }
60
+ }
61
+
62
+ &__notice {
63
+ @extend %caption;
64
+ margin-top: $spacing-xs;
65
+ }
66
+ }
67
+
68
+ @include placeholder {
69
+ color: $text-alt;
70
+ opacity: 1;
71
+ }
72
+
73
+ // —————————————————————————————————————————————————————————————————
74
+ // elements / select
75
+ // —————————————————————————————————————————————————————————————————
76
+
77
+ .select {
78
+
79
+ &:after {
80
+ content: "\2039";
81
+ transform: rotate(-90deg);
82
+ position: absolute;
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ right: $spacing-sm*1.5;
87
+ top: $spacing-lg;
88
+ height: $spacing-md;
89
+ width: $spacing-md;
90
+ font-size: 1.75rem;
91
+ line-height: 1;
92
+ }
93
+
94
+ .input__control {
95
+ cursor: pointer;
96
+ padding-right: $spacing-md*1.5;
97
+ }
98
+ }
99
+
100
+ // —————————————————————————————————————————————————————————————————
101
+ // elements / textarea
102
+ // —————————————————————————————————————————————————————————————————
103
+
104
+ textarea {
105
+ resize: vertical;
106
+ }
107
+
108
+ // —————————————————————————————————————————————————————————————————
109
+ // elements / checkbox & radio
110
+ // —————————————————————————————————————————————————————————————————
111
+
112
+ .checkboxes,
113
+ .radios {
114
+ background-color: transparent;
115
+ padding-right: 0;
116
+ padding-left: 0;
117
+ display: flex;
118
+
119
+ .checkbox + .checkbox,
120
+ .radio + .radio {
121
+ margin-left: $spacing-md;
122
+ }
123
+
124
+ &--portrait {
125
+ flex-direction: column;
126
+ height: auto !important;
127
+
128
+ .checkbox + .checkbox,
129
+ .radio + .radio {
130
+ margin-top: $spacing-sm;
131
+ margin-left: 0;
132
+ }
133
+ }
134
+ }
135
+
136
+ .checkbox,
137
+ .radio {
138
+
139
+ &__control {
140
+ position: absolute;
141
+ }
142
+
143
+ &__label {
144
+ cursor: pointer;
145
+
146
+ &:before {
147
+ @include transition($transition-md, border);
148
+ content: "✔";
149
+ display: inline-flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ width: $checkbox-width;
153
+ height: $checkbox-width;
154
+ margin-right: $spacing-sm;
155
+ border: $border;
156
+ color: transparent;
157
+ }
158
+ }
159
+ }
160
+
161
+ .checkbox {
162
+
163
+ &__control {
164
+
165
+ &:checked {
166
+
167
+ ~ .checkbox__label:before {
168
+ border-color: $primary;
169
+ border-width: $checkbox-width*0.5;
170
+ color: $text-contrast;
171
+ }
172
+ }
173
+ }
174
+
175
+ &__label {
176
+
177
+ &:before {
178
+ border-radius: $spacing-xs;
179
+ }
180
+ }
181
+ }
182
+
183
+ .radio {
184
+
185
+ &__control {
186
+
187
+ &:checked {
188
+
189
+ ~ .radio__label:before {
190
+ border-color: $primary;
191
+ border-width: $spacing-xs*1.5;
192
+ }
193
+ }
194
+ }
195
+
196
+ &__label {
197
+
198
+ &:before {
199
+ border-radius: 50%;
200
+ }
201
+ }
202
+ }
203
+
204
+ // —————————————————————————————————————————————————————————————————
205
+ // error
206
+ // —————————————————————————————————————————————————————————————————
207
+
208
+ .input.js-error {
209
+
210
+ .input {
211
+
212
+ &__label { color: $error; }
213
+ &__control { border: 1px solid $error; }
214
+ }
215
+ }
216
+
217
+ // —————————————————————————————————————————————————————————————————
218
+ // disabled
219
+ // —————————————————————————————————————————————————————————————————
220
+
221
+ .input--disabled,
222
+ .input:disabled {
223
+ opacity: 0.5;
224
+
225
+ .input {
226
+
227
+ &__label,
228
+ &__control {
229
+ cursor: not-allowed;
230
+ }
231
+ }
232
+
233
+ &.select:after {
234
+ opacity: 0.5;
235
+ }
236
+
237
+ .checkbox,
238
+ .radio {
239
+
240
+ &__control,
241
+ &__label {
242
+ pointer-events: none;
243
+ }
244
+ }
245
+ }
246
+
247
+ .checkbox--disabled,
248
+ .radio--disabled {
249
+ cursor: not-allowed;
250
+ opacity: 0.5;
251
+
252
+ > * {
253
+ pointer-events: none;
254
+ }
255
+ }
256
+
257
+ // —————————————————————————————————————————————————————————————————
258
+ // required
259
+ // —————————————————————————————————————————————————————————————————
260
+
261
+ .input--required {
262
+
263
+ .input__label:after {
264
+ content: "*";
265
+ color: $error;
266
+ margin-left: $spacing-xs;
267
+ }
268
+ }
@@ -0,0 +1,49 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // color
4
+ // —————————————————————————————————————————————————————————————————
5
+
6
+ // —————————————————————————————————————————————————————————————————
7
+ // elements
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ .link {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ font-weight: $font-regular;
14
+ text-decoration: underline;
15
+ white-space: nowrap;
16
+
17
+ svg {
18
+ @include transition($transition-md, stroke-width);
19
+ height: 1em;
20
+ width: 1em;
21
+ margin-top: 0.3em;
22
+ margin-left: 0.25em;
23
+ stroke-width: 2;
24
+ }
25
+ }
26
+
27
+ // —————————————————————————————————————————————————————————————————
28
+ // color
29
+ // —————————————————————————————————————————————————————————————————
30
+
31
+ @mixin color($prefix, $colors...) {
32
+
33
+ @each $i in $colors {
34
+ .#{$prefix}#{nth($i, 1)} {
35
+ color: nth($i, 2);
36
+ text-decoration: underline rgba(nth($i, 2), 0.5);
37
+
38
+ @include hover {
39
+ text-decoration: underline;
40
+ }
41
+ }
42
+ }
43
+ }
44
+
45
+ @include color('link',
46
+ '' $primary,
47
+ '--secondary' $secondary,
48
+ '--highlight' $highlight,
49
+ );
@@ -0,0 +1,40 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // dense
4
+ // —————————————————————————————————————————————————————————————————
5
+
6
+ // —————————————————————————————————————————————————————————————————
7
+ // elements
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ .list {
11
+ display: flex;
12
+ flex-direction: column;
13
+ align-items: flex-start; // so that children don't take 100% width (for focus style)
14
+
15
+ &__item {
16
+ display: flex;
17
+ align-items: center;
18
+
19
+ &:not(:last-child) {
20
+ margin-bottom: $spacing-sm;
21
+ }
22
+
23
+ &Icon {
24
+ margin-right: $spacing-sm;
25
+ height: $spacing-md;
26
+ width: $spacing-md;
27
+ }
28
+ }
29
+ }
30
+
31
+ // —————————————————————————————————————————————————————————————————
32
+ // dense
33
+ // —————————————————————————————————————————————————————————————————
34
+
35
+ .list--dense {
36
+
37
+ .list__item:not(:last-child) {
38
+ margin-bottom: $spacing-xs;
39
+ }
40
+ }
@@ -0,0 +1,72 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // dense
4
+ // —————————————————————————————————————————————————————————————————
5
+
6
+ // —————————————————————————————————————————————————————————————————
7
+ // elements
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ .nav {
11
+ display: flex;
12
+
13
+ // override ul & li styling
14
+ ul { list-style: none; }
15
+
16
+ li { margin-left: 0; }
17
+ li + li { padding-top: 0; }
18
+
19
+ &__group {
20
+ display: flex;
21
+
22
+ & + & {
23
+ margin-top: $spacing-md;
24
+ }
25
+ }
26
+
27
+ &__title {
28
+ @extend %overline;
29
+ color: $text-alt;
30
+ font-weight: $font-bold;
31
+ margin-bottom: $spacing-xs;
32
+ }
33
+
34
+ &__item {
35
+ cursor: pointer;
36
+ font-weight: $font-bold;
37
+ position: relative;
38
+ display: inline-flex;
39
+ }
40
+
41
+ &__trigger {
42
+ @extend %caption;
43
+ font-weight: $font-bold;
44
+ padding: $spacing-sm $spacing-md;
45
+ border-radius: $border-radius-sm;
46
+
47
+ @include hover { background-color: $hover; }
48
+
49
+ &--active {
50
+ color: $primary;
51
+ background-color: $hover;
52
+ }
53
+ }
54
+ }
55
+
56
+ // —————————————————————————————————————————————————————————————————
57
+ // dense
58
+ // —————————————————————————————————————————————————————————————————
59
+
60
+ .nav--dense {
61
+
62
+ .nav {
63
+
64
+ &__item + .nav__item {
65
+ margin-top: $spacing-xxs;
66
+ }
67
+
68
+ &__trigger {
69
+ padding: $spacing-xs $spacing-sm;
70
+ }
71
+ }
72
+ }