pallote-css 0.6.0 → 0.7.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 (40) hide show
  1. package/package.json +10 -2
  2. package/pallote-css-0.6.0.tgz +0 -0
  3. package/pallote.min.css +1 -0
  4. package/pallote.min.css.map +1 -0
  5. package/pallote.min.js +1 -0
  6. package/pallote.scss +37 -0
  7. package/styles/common/_editor.scss +181 -0
  8. package/styles/common/_fontface.scss +31 -0
  9. package/styles/common/_functions.scss +11 -0
  10. package/styles/common/_global.scss +157 -0
  11. package/styles/common/_mixins.scss +164 -0
  12. package/styles/common/_reset.scss +145 -0
  13. package/styles/common/_variables.scss +251 -0
  14. package/styles/components/_accordion.scss +132 -0
  15. package/styles/components/_alert.scss +188 -0
  16. package/styles/components/_breadcrumbs.scss +72 -0
  17. package/styles/components/_button.scss +184 -0
  18. package/styles/components/_buttons.scss +52 -0
  19. package/styles/components/_card.scss +316 -0
  20. package/styles/components/_divider.scss +53 -0
  21. package/styles/components/_form.scss +58 -0
  22. package/styles/components/_input.scss +340 -0
  23. package/styles/components/_link.scss +51 -0
  24. package/styles/components/_list.scss +59 -0
  25. package/styles/components/_nav.scss +185 -0
  26. package/styles/components/_navbar.scss +253 -0
  27. package/styles/components/_page.scss +33 -0
  28. package/styles/components/_section.scss +203 -0
  29. package/styles/components/_sidebar.scss +61 -0
  30. package/styles/components/_snippet.scss +85 -0
  31. package/styles/components/_status.scss +60 -0
  32. package/styles/components/_switch.scss +84 -0
  33. package/styles/components/_table.scss +157 -0
  34. package/styles/components/_tabs.scss +147 -0
  35. package/styles/components/_tag.scss +79 -0
  36. package/styles/modules/_cookie.scss +38 -0
  37. package/styles/utilities/_color.scss +119 -0
  38. package/styles/utilities/_global.scss +211 -0
  39. package/styles/utilities/_grid.scss +124 -0
  40. package/styles/utilities/_text.scss +199 -0
@@ -0,0 +1,253 @@
1
+ @use '../common/mixins';
2
+ @use '../common/variables';
3
+
4
+ // —————————————————————————————————————————————————————————————————
5
+ // elements
6
+ // align
7
+ // —————————————————————————————————————————————————————————————————
8
+
9
+ // button apparition
10
+ @include mixins.keyframes(button-menu-opacity) {
11
+ 0% { opacity: 0; }
12
+ 50% { opacity: 0; }
13
+ 100% { opacity: 100%; }
14
+ }
15
+
16
+ // lines > close
17
+ @include mixins.keyframes(button-menu-open-before) {
18
+ 0% { transform: translateY(.325rem); }
19
+ 50% { transform: translateY(0);
20
+ transform: rotate(0); }
21
+ 100% { transform: rotate(45deg); }
22
+ }
23
+ @include mixins.keyframes(button-menu-open-after) {
24
+ 0% { transform: translateY(-.325rem); }
25
+ 50% { transform: translateY(0);
26
+ transform: rotate(0); }
27
+ 100% { transform: rotate(-45deg); }
28
+ }
29
+
30
+ // close > lines
31
+ @include mixins.keyframes(button-menu-close-before) {
32
+ 0% { transform: rotate(45deg); }
33
+ 50% { transform: rotate(0);
34
+ transform: translateY(0); }
35
+ 100% { transform: translateY(.325rem); }
36
+ }
37
+ @include mixins.keyframes(button-menu-close-after) {
38
+ 0% { transform: rotate(-45deg); }
39
+ 50% { transform: rotate(0);
40
+ transform: translateY(0); }
41
+ 100% { transform: translateY(-.325rem); }
42
+ }
43
+
44
+ // —————————————————————————————————————————————————————————————————
45
+ // elements
46
+ // —————————————————————————————————————————————————————————————————
47
+
48
+ header {
49
+ width: 100%;
50
+ }
51
+
52
+ .navbar {
53
+ top: 0;
54
+ left: 0;
55
+ width: 100%;
56
+ background-color: variables.$background-paper;
57
+ border-bottom: variables.$border;
58
+ z-index: 13;
59
+
60
+ @include mixins.responsive(up, tablet) {
61
+ height: variables.$navbar-height;
62
+ }
63
+
64
+ @include mixins.responsive(down, tablet) {
65
+ z-index: 11;
66
+ }
67
+
68
+ &.section {
69
+ overflow: visible;
70
+ position: sticky;
71
+ }
72
+
73
+ .section_container {
74
+ display: flex;
75
+ flex-direction: row;
76
+ align-items: center;
77
+ justify-content: space-between;
78
+ padding-top: 0;
79
+ padding-bottom: 0;
80
+
81
+ @include mixins.responsive(up, tablet) {
82
+ height: 100%;
83
+ }
84
+
85
+ @include mixins.responsive(down, tablet) {
86
+ flex-direction: column;
87
+ align-items: stretch;
88
+ padding-top: 0;
89
+ }
90
+ }
91
+
92
+ &_main {
93
+ display: flex;
94
+ align-items: center;
95
+
96
+ @include mixins.responsive(down, tablet) {
97
+ height: variables.$navbar-height-sm;
98
+ justify-content: space-between;
99
+ }
100
+ }
101
+
102
+ &_logo {
103
+ display: flex;
104
+ align-items: baseline;
105
+ font-weight: variables.$font-bold;
106
+ border-radius: variables.$border-radius-sm;
107
+ color: variables.$primary;
108
+
109
+ img {
110
+ max-height: 2rem;
111
+ }
112
+ }
113
+
114
+ &_button {
115
+ @include mixins.transition(variables.$transition-md, opacity);
116
+ animation: button-menu-opacity variables.$transition-lg;
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: center;
120
+ cursor: pointer;
121
+ position: relative;
122
+ width: 1rem;
123
+ height: 1rem;
124
+ border-radius: calc(variables.$border-radius-sm/2);
125
+ outline-offset: .25rem;
126
+
127
+ @include mixins.responsive(up, tablet) {
128
+ display: none;
129
+ }
130
+
131
+ &:before,
132
+ &:after,
133
+ span {
134
+ background-color: variables.$text;
135
+ border-radius: 0.15rem;
136
+ }
137
+
138
+ &:before,
139
+ &:after {
140
+ @include mixins.pseudo-element('', auto, auto, auto, auto, 1rem, 2px);
141
+ @include mixins.transition(variables.$transition-md, transform);
142
+ }
143
+
144
+ &:before {
145
+ transform: translateY(.325rem);
146
+ animation: button-menu-close-before variables.$transition-lg;
147
+ }
148
+
149
+ &:after {
150
+ transform: translateY(-.325rem);
151
+ animation: button-menu-close-after variables.$transition-lg;
152
+ }
153
+
154
+ span {
155
+ @include mixins.transition(variables.$transition-md, opacity);
156
+ position: absolute;
157
+ width: 1rem;
158
+ height: 2px;
159
+ }
160
+
161
+ &.js-opened {
162
+
163
+ &:before { animation: button-menu-open-before variables.$transition-lg forwards; }
164
+ &:after { animation: button-menu-open-after variables.$transition-lg forwards; }
165
+ span { opacity: 0; }
166
+ }
167
+ }
168
+
169
+ &_nav {
170
+ display: flex;
171
+
172
+ @include mixins.responsive(down, tablet) {
173
+ @include mixins.transition(variables.$transition-md, max-height);
174
+ align-items: flex-start;
175
+ max-height: 0;
176
+ overflow: hidden;
177
+
178
+ .js-opened & {
179
+ max-height: 80vh;
180
+ }
181
+ }
182
+ }
183
+
184
+ .nav {
185
+ display: flex;
186
+
187
+ @include mixins.responsive(up, tablet) { height: 100%; align-items: center; }
188
+ @include mixins.responsive(down, tablet) { width: 100%; }
189
+
190
+ &_container {
191
+
192
+ @include mixins.responsive(up, tablet) {
193
+ height: 100%;
194
+ align-items: center;
195
+ }
196
+
197
+ @include mixins.responsive(down, tablet) {
198
+ @include mixins.calc(max-height, '100vh - 12rem');
199
+ align-items: stretch;
200
+ overflow: scroll;
201
+ width: 100%;
202
+ margin-top: 1rem;
203
+ margin-bottom: 1rem;
204
+ flex-direction: column;
205
+ width: 100%;
206
+ }
207
+ }
208
+
209
+ &_item:not(:first-child) {
210
+
211
+ @include mixins.responsive(down, tablet) {
212
+ margin-top: .25rem;
213
+ margin-left: 0;
214
+ }
215
+ }
216
+
217
+ &_item-dropdown {
218
+
219
+ @include mixins.responsive(up, tablet) {
220
+
221
+ .nav_target {
222
+ @include mixins.calc(top, '100% +' variables.$nav-item*0.5);
223
+ position: absolute;
224
+ left: -(variables.$nav-item*.5);
225
+ width: 10rem;
226
+ padding: variables.$nav-item*.5;
227
+ border-radius: variables.$border-radius-md;
228
+ border: variables.$border;
229
+ z-index: 1;
230
+ background-color: variables.$background-paper;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+
237
+ // —————————————————————————————————————————————————————————————————
238
+ // align
239
+ // —————————————————————————————————————————————————————————————————
240
+
241
+ .navbar-right {
242
+
243
+ .section_container {
244
+
245
+ @include mixins.responsive(up, tablet) {
246
+ flex-direction: row-reverse;
247
+ }
248
+ }
249
+
250
+ .navbar_main {
251
+ flex-direction: row-reverse;
252
+ }
253
+ }
@@ -0,0 +1,33 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // withSidebar
4
+ // —————————————————————————————————————————————————————————————————
5
+
6
+ // —————————————————————————————————————————————————————————————————
7
+ // elements
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ .page {
11
+ display: flex;
12
+ flex-direction: column;
13
+ min-height: 100vh;
14
+
15
+ &_content {
16
+ width: 100%;
17
+ }
18
+ }
19
+
20
+ // —————————————————————————————————————————————————————————————————
21
+ // withSidebar
22
+ // —————————————————————————————————————————————————————————————————
23
+
24
+ .page-withSidebar {
25
+
26
+ .page_container {
27
+ display: flex;
28
+ }
29
+
30
+ .section_container {
31
+ max-width: none;
32
+ }
33
+ }
@@ -0,0 +1,203 @@
1
+ @use '../common/mixins';
2
+ @use '../common/variables';
3
+ @use '../utilities/text';
4
+
5
+ // —————————————————————————————————————————————————————————————————
6
+ // elements
7
+ // align
8
+ // color
9
+ // landing (website title on homepage)
10
+ // header (page title)
11
+ // —————————————————————————————————————————————————————————————————
12
+
13
+ // —————————————————————————————————————————————————————————————————
14
+ // elements
15
+ // —————————————————————————————————————————————————————————————————
16
+
17
+ .section {
18
+ @include mixins.clamp(padding-right, 1rem, 4vw, 4rem);
19
+ @include mixins.clamp(padding-left, 1rem, 4vw, 4rem);
20
+ width: 100%;
21
+ overflow: hidden; // prevent horizontal scroll on mobile
22
+ position: relative;
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+
27
+ &_container {
28
+ @include mixins.clamp(padding-top, 2rem, 8vw, 4rem);
29
+ @include mixins.clamp(padding-bottom, 2rem, 8vw, 4rem);
30
+ width: 100%;
31
+ max-width: variables.$desktop;
32
+ position: relative; // needed to have the content over section-landing:before
33
+ }
34
+
35
+ &_header {
36
+ display: flex;
37
+ flex-direction: column;
38
+
39
+ & + .section_content { @include mixins.clamp(padding-top, 2rem, 8vw, 4rem); }
40
+ &-dense + .section_content { padding-top: 2rem; }
41
+ }
42
+
43
+ &_content {
44
+ width: 100%;
45
+
46
+ & + & {
47
+ @include mixins.clamp(padding-top, 2rem, 8vw, 4rem);
48
+ }
49
+ }
50
+
51
+ &_label {
52
+ color: variables.$text-alt;
53
+ font-weight: variables.$font-bold;
54
+ margin-bottom: .5rem;
55
+ }
56
+
57
+ &_title {
58
+ @extend %h3;
59
+ color: variables.$primary;
60
+ max-width: variables.$desktop*0.75;
61
+ }
62
+
63
+ &_subtitle {
64
+ @extend %subtitle;
65
+ max-width: variables.$max-width-subtitle;
66
+ margin-top: 1rem;
67
+ word-wrap: normal;
68
+ }
69
+
70
+ &_actions {
71
+ margin-top: 2rem;
72
+ }
73
+ }
74
+
75
+ // —————————————————————————————————————————————————————————————————
76
+ // align
77
+ // —————————————————————————————————————————————————————————————————
78
+
79
+ .section_container {
80
+ align-items: flex-start;
81
+ text-align: left;
82
+ }
83
+
84
+ .section-center .section_container,
85
+ .section-center .section_header,
86
+ .section_content-center {
87
+ align-items: center;
88
+ text-align: center;
89
+ }
90
+
91
+ .section-right .section_container,
92
+ .section-right .section_header,
93
+ .section_content-right {
94
+ align-items: flex-end;
95
+ text-align: right;
96
+ }
97
+
98
+ // —————————————————————————————————————————————————————————————————
99
+ // color
100
+ // —————————————————————————————————————————————————————————————————
101
+
102
+ @mixin section-color(
103
+ $background-color,
104
+ $title-color: variables.$primary,
105
+ $color: variables.$text,
106
+ $paper-color: variables.$background-paper,
107
+ $border-color: variables.$border-color
108
+ ) {
109
+ background-color: $background-color;
110
+ color: $color;
111
+
112
+ & + & {
113
+
114
+ .section_container {
115
+ padding-top: 0;
116
+ }
117
+ }
118
+
119
+ .section_title { color: $title-color; }
120
+ .button-stroke { color: $color; }
121
+ .snippet {
122
+ border-color: $border-color;
123
+ }
124
+ }
125
+
126
+ .section {
127
+ &-default { @include section-color(variables.$background-default); }
128
+ &-paper { @include section-color(variables.$background-paper); }
129
+ &-primary { @include section-color(
130
+ variables.$primary, // background-color
131
+ variables.$primary-contrast, // title-color
132
+ variables.$primary-contrast, // color
133
+ variables.$hover-contrast, // paper-color
134
+ variables.$border-color-contrast // border-color
135
+ );}
136
+ &-primaryLight { @include section-color(
137
+ variables.$primary-light, // background-color
138
+ variables.$text, // title-color
139
+ variables.$text, // color
140
+ variables.$hover-contrast, // paper-color
141
+ variables.$border-color-contrast // border-color
142
+ );}
143
+ }
144
+
145
+ // —————————————————————————————————————————————————————————————————
146
+ // landing (website title on homepage)
147
+ // —————————————————————————————————————————————————————————————————
148
+
149
+ .section-landing {
150
+
151
+ .section {
152
+
153
+ &_container {
154
+ @include mixins.clamp(padding-top, 2rem, 10vw, 7rem);
155
+ @include mixins.clamp(padding-bottom, 2rem, 10vw, 7rem);
156
+ }
157
+
158
+ &_label {
159
+ margin-bottom: 1rem;
160
+
161
+ @include mixins.responsive(down, tablet) {
162
+ margin-bottom: 0.75rem;
163
+ }
164
+ }
165
+
166
+ &_title {
167
+ @extend %h1;
168
+ max-width: variables.$desktop*0.5;
169
+ }
170
+
171
+ &_subtitle {
172
+ @extend %h5;
173
+ margin-top: 2rem;
174
+
175
+ @include mixins.responsive(down, tablet) {
176
+ margin-top: 1.5rem;
177
+ }
178
+ }
179
+
180
+ &_actions {
181
+ margin-top: 4rem;
182
+
183
+ @include mixins.responsive(down, tablet) {
184
+ margin-top: 3rem;
185
+ }
186
+ }
187
+ }
188
+ }
189
+
190
+ // —————————————————————————————————————————————————————————————————
191
+ // header (page title)
192
+ // —————————————————————————————————————————————————————————————————
193
+
194
+ .section-header {
195
+
196
+ .section {
197
+
198
+ &_label { margin-bottom: .75rem; }
199
+ &_title { @extend %h2; }
200
+ &_subtitle { margin-top: 1.5rem; }
201
+ &_actions { margin-top: 2.5rem; }
202
+ }
203
+ }
@@ -0,0 +1,61 @@
1
+ @use '../common/mixins';
2
+ @use '../common/variables';
3
+ @use '../utilities/text';
4
+
5
+ $sidebar-width: 200px;
6
+
7
+ .sidebar {
8
+ transition: left variables.$transition-md;
9
+ @include mixins.calc(height, '100vh - 'variables.$navbar-height);
10
+ position: sticky;
11
+ flex-shrink: 0;
12
+ border-right: variables.$border;
13
+ width: $sidebar-width;
14
+ top: variables.$navbar-height;
15
+ padding: 1rem;
16
+ overflow-y: scroll;
17
+ scrollbar-color: light;
18
+ z-index: 11;
19
+ background-color: variables.$background-default;
20
+
21
+ &.js-opened {
22
+ left: 0;
23
+ }
24
+
25
+ @include mixins.responsive(down, tablet) {
26
+ position: fixed;
27
+ height: 100vh;
28
+ top: 0;
29
+ left: -$sidebar-width;
30
+ padding-top: variables.$navbar-height-sm;
31
+ z-index: 13;
32
+ }
33
+
34
+ &_button {
35
+ content: '';
36
+ border: solid variables.$text;
37
+ border-width: 0 2px 2px 0;
38
+ padding: 4px;
39
+ transform: rotate(-45deg);
40
+ margin-right: 1rem;
41
+ display: none;
42
+
43
+ .page-withSidebar & { display: initial; }
44
+ @include mixins.responsive(up, tablet) { display: none !important; }
45
+
46
+ &-close {
47
+ position: absolute;
48
+ top: variables.$navbar-height-sm*0.5;
49
+ left: variables.$navbar-height-sm*0.5;
50
+ transform: translateY(-50%) rotate(135deg);
51
+ }
52
+ }
53
+
54
+ &_title {
55
+ @extend %overline;
56
+ color: variables.$text-alt;
57
+ font-weight: variables.$font-bold;
58
+ margin-bottom: .25rem;
59
+ margin-left: 0;
60
+ }
61
+ }
@@ -0,0 +1,85 @@
1
+ @use '../common/variables';
2
+ @use '../utilities/text';
3
+
4
+ // —————————————————————————————————————————————————————————————————
5
+ // elements
6
+ // default
7
+ // dense
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ // —————————————————————————————————————————————————————————————————
11
+ // elements
12
+ // —————————————————————————————————————————————————————————————————
13
+
14
+ .snippet {
15
+ @extend %caption;
16
+ font-family: "Roboto Mono", Courier, monospace;
17
+ word-wrap: break-word;
18
+ width: 100%;
19
+ position: relative;
20
+ border-radius: variables.$border-radius-sm;
21
+ margin: 0;
22
+ padding: .5rem .75rem;
23
+ background-color: variables.$hover;
24
+ border: variables.$border;
25
+
26
+ & + & {
27
+ margin-top: .5rem;
28
+ }
29
+
30
+ p > & {
31
+ margin-right: .25rem;
32
+ margin-left: .25rem;
33
+ }
34
+
35
+ .tag {
36
+ font-family: variables.$font, variables.$font-fallback;
37
+ float: right;
38
+ margin-top: 1px;
39
+ margin-right: -.25rem;
40
+ }
41
+ }
42
+
43
+ // —————————————————————————————————————————————————————————————————
44
+ // default
45
+ // —————————————————————————————————————————————————————————————————
46
+
47
+ .snippet-default {
48
+
49
+ &:after {
50
+ @extend %overline;
51
+ content: "Default";
52
+ font-family: variables.$font, variables.$font-fallback;
53
+ float: right;
54
+ margin-top: 1px;
55
+ margin-right: -.25rem;
56
+ display: inline-flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ font-weight: variables.$font-bold;
60
+ border-radius: variables.$border-radius-sm;
61
+ white-space: nowrap; // prevent text to go on multiple lines
62
+ position: absolute;
63
+ top: .5rem;
64
+ right: .75rem;
65
+ height: 1rem;
66
+ padding-right: .25rem;
67
+ padding-left: .25rem;
68
+ padding-bottom: 0.1em;
69
+ background-color: variables.$text-disabled;
70
+ }
71
+ }
72
+
73
+ // —————————————————————————————————————————————————————————————————
74
+ // dense
75
+ // —————————————————————————————————————————————————————————————————
76
+
77
+ .snippet-dense {
78
+ @extend %overline;
79
+ padding: .25rem .5rem !important;
80
+
81
+ &.snippet-default:after {
82
+ top: .25rem;
83
+ right: .5rem;
84
+ }
85
+ }
@@ -0,0 +1,60 @@
1
+ @use '../common/variables';
2
+ @use '../utilities/text';
3
+
4
+ // —————————————————————————————————————————————————————————————————
5
+ // elements
6
+ // color
7
+ // dense
8
+ // —————————————————————————————————————————————————————————————————
9
+
10
+ $spacing-status: .5rem;
11
+
12
+ // —————————————————————————————————————————————————————————————————
13
+ // elements
14
+ // —————————————————————————————————————————————————————————————————
15
+
16
+ .status {
17
+
18
+ &:before {
19
+ content: "";
20
+ display: inline-block;
21
+ height: $spacing-status;
22
+ width: $spacing-status;
23
+ background-color: variables.$text-alt;
24
+ border-radius: 50%;
25
+ margin-right: 0.35em;
26
+ transform: translateY(-0.05em);
27
+ }
28
+ }
29
+
30
+ // —————————————————————————————————————————————————————————————————
31
+ // color
32
+ // —————————————————————————————————————————————————————————————————
33
+
34
+ @mixin status-color($color) {
35
+
36
+ &:before {
37
+ background-color: $color;
38
+ }
39
+ }
40
+
41
+ .status {
42
+
43
+ &-success { @include status-color(variables.$success); }
44
+ &-info { @include status-color(variables.$info); }
45
+ &-warning { @include status-color(variables.$warning); }
46
+ &-error { @include status-color(variables.$error); }
47
+ }
48
+
49
+ // —————————————————————————————————————————————————————————————————
50
+ // dense
51
+ // —————————————————————————————————————————————————————————————————
52
+
53
+ .status-dense {
54
+ @extend %caption;
55
+
56
+ &:before {
57
+ height: $spacing-status*0.75;
58
+ width: $spacing-status*0.75;
59
+ }
60
+ }