pallote-css 0.1.0 → 0.2.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 (52) hide show
  1. package/README.md +100 -43
  2. package/dist/pallote.min.css +1 -0
  3. package/dist/pallote.min.css.map +1 -0
  4. package/dist/pallote.min.js +1 -0
  5. package/dist/pallote.scss +33 -27
  6. package/dist/scripts/accordion.js +42 -0
  7. package/dist/scripts/button.js +5 -0
  8. package/dist/scripts/cookie.js +15 -0
  9. package/dist/scripts/input.js +24 -0
  10. package/dist/scripts/nav.js +22 -0
  11. package/dist/scripts/navbar.js +28 -0
  12. package/dist/scripts/tabs.js +30 -0
  13. package/dist/{common → styles/common}/_editor.scss +13 -2
  14. package/dist/{common → styles/common}/_global.scss +28 -7
  15. package/dist/{common → styles/common}/_mixins.scss +1 -1
  16. package/dist/{common → styles/common}/_variables.scss +41 -29
  17. package/dist/styles/components/_accordion.scss +130 -0
  18. package/dist/{components → styles/components}/_alert.scss +20 -16
  19. package/dist/styles/components/_breadcrumbs.scss +47 -0
  20. package/dist/{components → styles/components}/_button.scss +3 -98
  21. package/dist/{components → styles/components}/_card.scss +20 -8
  22. package/dist/{components/_nav.scss → styles/components/_detail.scss} +18 -51
  23. package/dist/styles/components/_divider.scss +51 -0
  24. package/dist/{components → styles/components}/_input.scss +2 -3
  25. package/dist/styles/components/_nav.scss +259 -0
  26. package/dist/styles/components/_navbar.scss +189 -0
  27. package/dist/{components → styles/components}/_section.scss +86 -21
  28. package/dist/styles/components/_sidebar.scss +57 -0
  29. package/dist/styles/components/_snippet.scss +82 -0
  30. package/dist/styles/components/_status.scss +58 -0
  31. package/dist/styles/components/_switch.scss +72 -0
  32. package/dist/styles/components/_tabs.scss +115 -0
  33. package/dist/{components → styles/components}/_tag.scss +3 -3
  34. package/dist/{modules → styles/modules}/_cookie.scss +7 -1
  35. package/dist/{utilities → styles/utilities}/_color.scss +6 -6
  36. package/dist/{utilities → styles/utilities}/_global.scss +1 -0
  37. package/package.json +9 -4
  38. package/dist/components/_navbar.scss +0 -207
  39. package/dist/components/_sidebar.scss +0 -27
  40. package/dist/pallote.css +0 -7666
  41. package/dist/pallote.css.map +0 -1
  42. package/dist/plugins/_highlighter-theme.scss +0 -68
  43. /package/dist/{common → styles/common}/_fontface.scss +0 -0
  44. /package/dist/{common → styles/common}/_reset.scss +0 -0
  45. /package/dist/{components → styles/components}/_buttons.scss +0 -0
  46. /package/dist/{components → styles/components}/_form.scss +0 -0
  47. /package/dist/{components → styles/components}/_grid.scss +0 -0
  48. /package/dist/{components → styles/components}/_link.scss +0 -0
  49. /package/dist/{components → styles/components}/_list.scss +0 -0
  50. /package/dist/{components → styles/components}/_page.scss +0 -0
  51. /package/dist/{components → styles/components}/_text.scss +0 -0
  52. /package/dist/{utilities → styles/utilities}/_text.scss +0 -0
@@ -0,0 +1,82 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // default
4
+ // dense
5
+ // —————————————————————————————————————————————————————————————————
6
+
7
+ // —————————————————————————————————————————————————————————————————
8
+ // elements
9
+ // —————————————————————————————————————————————————————————————————
10
+
11
+ .snippet {
12
+ @extend %caption;
13
+ font-family: "Roboto Mono", Courier, monospace;
14
+ word-wrap: break-word;
15
+ width: 100%;
16
+ position: relative;
17
+ border-radius: $border-radius-sm;
18
+ margin: 0;
19
+ padding: $spacing-sm $spacing-sm*1.5;
20
+ background-color: $hover;
21
+ border: $border;
22
+
23
+ & + & {
24
+ margin-top: $spacing-sm;
25
+ }
26
+
27
+ p > & {
28
+ margin-right: $spacing-xs;
29
+ margin-left: $spacing-xs;
30
+ }
31
+
32
+ .tag {
33
+ font-family: $font;
34
+ float: right;
35
+ margin-top: 1px;
36
+ margin-right: -$spacing-xs;
37
+ }
38
+ }
39
+
40
+ // —————————————————————————————————————————————————————————————————
41
+ // default
42
+ // —————————————————————————————————————————————————————————————————
43
+
44
+ .snippet--default {
45
+
46
+ &:after {
47
+ @extend %overline;
48
+ content: "Default";
49
+ font-family: $font;
50
+ float: right;
51
+ margin-top: 1px;
52
+ margin-right: -$spacing-xs;
53
+ display: inline-flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ font-weight: $font-bold;
57
+ border-radius: $border-radius-sm;
58
+ white-space: nowrap; // prevent text to go on multiple lines
59
+ position: absolute;
60
+ top: $spacing-sm;
61
+ right: $spacing-md*0.75;
62
+ height: $spacing-md;
63
+ padding-right: $spacing-xs;
64
+ padding-left: $spacing-xs;
65
+ padding-bottom: 0.1em;
66
+ background-color: $text-disabled;
67
+ }
68
+ }
69
+
70
+ // —————————————————————————————————————————————————————————————————
71
+ // dense
72
+ // —————————————————————————————————————————————————————————————————
73
+
74
+ .snippet--dense {
75
+ @extend %overline;
76
+ padding: $spacing-xs $spacing-sm !important;
77
+
78
+ &.snippet--default:after {
79
+ top: $spacing-xs;
80
+ right: $spacing-sm;
81
+ }
82
+ }
@@ -0,0 +1,58 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // color
4
+ // dense
5
+ // —————————————————————————————————————————————————————————————————
6
+
7
+ $spacing-status: $spacing-sm;
8
+
9
+ // —————————————————————————————————————————————————————————————————
10
+ // elements
11
+ // —————————————————————————————————————————————————————————————————
12
+
13
+ .status {
14
+
15
+ &:before {
16
+ content: "";
17
+ display: inline-block;
18
+ height: $spacing-status;
19
+ width: $spacing-status;
20
+ background-color: $text-alt;
21
+ border-radius: 50%;
22
+ margin-right: 0.5em;
23
+ transform: translateY(-0.05em);
24
+ }
25
+ }
26
+
27
+ // —————————————————————————————————————————————————————————————————
28
+ // color
29
+ // —————————————————————————————————————————————————————————————————
30
+
31
+ @mixin color($color) {
32
+
33
+ &:before {
34
+ background-color: $color;
35
+ }
36
+ }
37
+
38
+ .status {
39
+
40
+ &--success { @include color($success); }
41
+ &--info { @include color($info); }
42
+ &--warning { @include color($warning); }
43
+ &--error { @include color($error); }
44
+ }
45
+
46
+ // —————————————————————————————————————————————————————————————————
47
+ // dense
48
+ // —————————————————————————————————————————————————————————————————
49
+
50
+ .status--dense {
51
+ @extend %caption;
52
+
53
+ &:before {
54
+ height: $spacing-status*0.75;
55
+ width: $spacing-status*0.75;
56
+ margin-right: $spacing-status*0.75;
57
+ }
58
+ }
@@ -0,0 +1,72 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // disabled
4
+ // —————————————————————————————————————————————————————————————————
5
+
6
+ $spacing-switch: $spacing-sm*1.5;
7
+
8
+ // —————————————————————————————————————————————————————————————————
9
+ // elements
10
+ // —————————————————————————————————————————————————————————————————
11
+
12
+ .switch {
13
+ display: flex;
14
+ align-items: baseline;
15
+
16
+ &__input {
17
+ position: absolute;
18
+ height: 0;
19
+ width: 0;
20
+ opacity: 0;
21
+
22
+ &:checked + .switch__switch {
23
+ background-color: $primary-light;
24
+
25
+ .switch__toggle {
26
+ @include calc(left, '100% -'($spacing-switch));
27
+ background-color: $primary;
28
+ }
29
+ }
30
+ }
31
+
32
+ &__label {
33
+
34
+ &:first-child { margin-right: $spacing-switch; }
35
+ &:last-child { margin-left: $spacing-switch; }
36
+ }
37
+
38
+ &__switch {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ cursor: pointer;
43
+ width: $spacing-switch*2;
44
+ height: $spacing-switch;
45
+ background: $grey-10;
46
+ border-radius: $spacing-md;
47
+ position: relative;
48
+
49
+ &:nth-child(2) { margin-left: $spacing-xs; }
50
+ }
51
+
52
+ &__toggle {
53
+ position: absolute;
54
+ left: -$spacing-xs;
55
+ width: $spacing-md;
56
+ height: $spacing-md;
57
+ border-radius: $spacing-md;
58
+ background: $grey-20;
59
+ }
60
+ }
61
+
62
+ // —————————————————————————————————————————————————————————————————
63
+ // disabled
64
+ // —————————————————————————————————————————————————————————————————
65
+
66
+ .switch--disabled {
67
+ opacity: 0.4;
68
+
69
+ * {
70
+ cursor: not-allowed;
71
+ }
72
+ }
@@ -0,0 +1,115 @@
1
+ // —————————————————————————————————————————————————————————————————
2
+ // elements
3
+ // active
4
+ // direction
5
+ // dense
6
+ // —————————————————————————————————————————————————————————————————
7
+
8
+ // —————————————————————————————————————————————————————————————————
9
+ // elements
10
+ // —————————————————————————————————————————————————————————————————
11
+
12
+ .tabs {
13
+ width: 100%;
14
+
15
+ &__controls {
16
+ display: flex;
17
+ width: 100%;
18
+ border-bottom: $border;
19
+ }
20
+
21
+ &__item {
22
+ position: relative;
23
+ cursor: pointer;
24
+ padding: $spacing-sm $spacing-md;
25
+ border-top-left-radius: $border-radius-sm;
26
+ border-top-right-radius: $border-radius-sm;
27
+
28
+ &:after {
29
+ content: '';
30
+ position: absolute;
31
+ bottom: -1px;
32
+ left: 0;
33
+ height: 1px;
34
+ width: 100%;
35
+ }
36
+ }
37
+
38
+ &__panel {
39
+ padding: $spacing-md;
40
+ }
41
+ }
42
+
43
+ // —————————————————————————————————————————————————————————————————
44
+ // active
45
+ // —————————————————————————————————————————————————————————————————
46
+
47
+ .tabs__item:hover,
48
+ .tabs__item--active {
49
+ background-color: $hover;
50
+ }
51
+
52
+ .tabs__item--active {
53
+ color: $primary;
54
+
55
+ &:after {
56
+ background-color: $primary;
57
+ }
58
+ }
59
+
60
+ // —————————————————————————————————————————————————————————————————
61
+ // direction
62
+ // —————————————————————————————————————————————————————————————————
63
+
64
+ .tabs--portrait {
65
+ display: flex;
66
+
67
+ .tabs {
68
+
69
+ &__controls {
70
+ flex-direction: column;
71
+ width: 160px;
72
+ border-bottom: 0;
73
+ border-right: $border;
74
+ }
75
+
76
+ &__item {
77
+ text-align: left;
78
+ border-top-left-radius: $border-radius-sm;
79
+ border-top-right-radius: 0;
80
+ border-bottom-left-radius: $border-radius-sm;
81
+
82
+ &:after {
83
+ top: 0;
84
+ right: -1px;
85
+ left: auto;
86
+ height: 100%;
87
+ width: 1px;
88
+ }
89
+ }
90
+
91
+ &__panel {
92
+ padding-top: $spacing-sm;
93
+ padding-bottom: $spacing-sm;
94
+ }
95
+ }
96
+ }
97
+
98
+ // —————————————————————————————————————————————————————————————————
99
+ // dense
100
+ // —————————————————————————————————————————————————————————————————
101
+
102
+ .tabs--dense {
103
+
104
+ .tabs {
105
+
106
+ &__item {
107
+ @extend %caption;
108
+ padding: $spacing-xs $spacing-sm;
109
+ }
110
+
111
+ &__panel {
112
+ padding: $spacing-sm;
113
+ }
114
+ }
115
+ }
@@ -55,9 +55,9 @@
55
55
  }
56
56
 
57
57
  @include color('tag',
58
- '' $primary $primary-text,
59
- '--secondary' $secondary $secondary-text,
60
- '--highlight' $highlight $highlight-text,
58
+ '' $primary $primary-contrast,
59
+ '--secondary' $secondary $secondary-contrast,
60
+ '--highlight' $highlight $highlight-contrast,
61
61
  '--grey' $text-disabled $text,
62
62
  '--success' $success $success-contrast,
63
63
  '--info' $info $info-contrast,
@@ -1,6 +1,6 @@
1
1
  .cookie {
2
+ z-index: 10;
2
3
 
3
-
4
4
  &.section {
5
5
  @include transition($transition-md, transform);
6
6
  position: fixed;
@@ -14,6 +14,7 @@
14
14
  .section__container {
15
15
  padding-top: 10px;
16
16
  padding-bottom: 9px;
17
+ display: flex;
17
18
  flex-direction: row;
18
19
  align-items: baseline;
19
20
  justify-content: flex-start;
@@ -26,7 +27,12 @@
26
27
  }
27
28
 
28
29
  &__text {
30
+ width: 100%;
29
31
  display: inline;
30
32
  margin-right: $spacing-xs;
31
33
  }
34
+
35
+ .link {
36
+ flex-basis: 0;
37
+ }
32
38
  }
@@ -37,14 +37,14 @@
37
37
  "grey5" $grey-5 $text-contrast,
38
38
 
39
39
  "primaryLight" $primary-light $text-contrast,
40
- "primary" $primary $primary-text,
41
- "primaryDark" $primary-dark $primary-text,
40
+ "primary" $primary $primary-contrast,
41
+ "primaryDark" $primary-dark $primary-contrast,
42
42
  "secondaryLight" $secondary-light $text-contrast,
43
- "secondary" $secondary $secondary-text,
44
- "secondaryDark" $secondary-dark $secondary-text,
43
+ "secondary" $secondary $secondary-contrast,
44
+ "secondaryDark" $secondary-dark $secondary-contrast,
45
45
  "highlightLight" $highlight-light $text-contrast,
46
- "highlight" $highlight $highlight-text,
47
- "highlightDark" $highlight-dark $highlight-text,
46
+ "highlight" $highlight $highlight-contrast,
47
+ "highlightDark" $highlight-dark $highlight-contrast,
48
48
 
49
49
  "successLight" $success-light $text-contrast,
50
50
  "success" $success $success-contrast,
@@ -83,6 +83,7 @@ $step: 5;
83
83
  .pos {
84
84
 
85
85
  &-absolute { position: absolute; }
86
+ &-relative { position: relative; }
86
87
  }
87
88
  // —————————————————————————————————————————————————————————————————
88
89
  // display
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "pallote-css",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "CSS component library",
5
- "main": "dist/pallote.css",
5
+ "main": "dist/styles/pallote.css",
6
6
  "files": [
7
7
  "dist/*"
8
8
  ],
9
9
  "scripts": {
10
- "build": "sass dist/pallote.scss dist/pallote.css",
10
+ "dev": "bundle exec jekyll serve & onchange 'dist/styles/**/*.scss' 'dist/scripts/**/*.js' -- npm run build",
11
+ "build": "npm run build:css && npm run build:js",
12
+ "build:css": "sass dist/pallote.scss dist/pallote.min.css --style=compressed",
13
+ "build:js": "uglifyjs dist/scripts/*.js -o dist/pallote.min.js",
11
14
  "test": "echo \"Error: no test specified\" && exit 1"
12
15
  },
13
16
  "repository": {
@@ -26,6 +29,8 @@
26
29
  },
27
30
  "homepage": "https://github.com/ArnaudDarre/pallote-css#readme",
28
31
  "devDependencies": {
29
- "sass": "^1.71.1"
32
+ "onchange": "^7.1.0",
33
+ "sass": "^1.71.1",
34
+ "uglify-js": "^3.17.4"
30
35
  }
31
36
  }
@@ -1,207 +0,0 @@
1
- // —————————————————————————————————————————————————————————————————
2
- // navbar
3
- // nav
4
- // —————————————————————————————————————————————————————————————————
5
-
6
- // —————————————————————————————————————————————————————————————————
7
- // navbar
8
- // —————————————————————————————————————————————————————————————————
9
-
10
- .navbar {
11
- top: 0;
12
- left: 0;
13
- width: 100vw;
14
- background-color: $background-paper;
15
- box-shadow: $box-shadow;
16
-
17
- @include responsive(up, tablet) {
18
- height: $navbar-height;
19
- }
20
-
21
- &.section {
22
- position: sticky;
23
- border-bottom: $border;
24
- }
25
-
26
- .section__container {
27
- display: flex;
28
- flex-direction: row;
29
- align-items: center;
30
- justify-content: space-between;
31
- padding-top: 0;
32
- padding-bottom: 0;
33
-
34
- @include responsive(up, tablet) {
35
- height: 100%;
36
- }
37
-
38
- @include responsive(down, tablet) {
39
- flex-direction: column;
40
- align-items: stretch;
41
- padding-top: 0;
42
- }
43
- }
44
-
45
- &__button {
46
- top: $spacing-md*1.5;
47
- position: absolute;
48
- }
49
-
50
- &__main {
51
- display: flex;
52
- align-items: center;
53
-
54
- @include responsive(down, tablet) {
55
- justify-content: space-between;
56
- padding-left: $spacing-lg;
57
- height: $spacing-xl - $spacing-md;
58
- }
59
- }
60
-
61
- &__logo {
62
- display: flex;
63
- align-items: baseline;
64
- font-weight: $font-bold;
65
-
66
- > * {
67
- margin-right: $spacing-xs;
68
- }
69
- }
70
-
71
- &__nav.nav {
72
-
73
- @include responsive(down, tablet) {
74
- @include transition($transition-md, max-height);
75
- align-items: flex-start;
76
- max-height: 0;
77
- overflow: hidden;
78
-
79
- .js-opened & {
80
- max-height: 50vh;
81
- }
82
- }
83
- }
84
- }
85
-
86
- // —————————————————————————————————————————————————————————————————
87
- // nav
88
- // —————————————————————————————————————————————————————————————————
89
-
90
- // .nav {
91
-
92
- // @include responsive(up, tablet) {
93
- // height: 100%;
94
- // }
95
-
96
- // &__container {
97
- // display: flex;
98
- // list-style: none;
99
-
100
- // @include responsive(up, tablet) {
101
- // height: 100%;
102
- // align-items: center;
103
- // }
104
-
105
- // @include responsive(down, tablet) {
106
- // @include calc(max-height, '100vh - '$spacing-xl*3);
107
- // align-items: flex-start;
108
- // // overflow: scroll;
109
- // width: 100%;
110
- // padding-bottom: $spacing-md;
111
- // flex-direction: column;
112
- // width: 100%;
113
- // }
114
- // }
115
-
116
- // &__item {
117
- // // override ul & li styling
118
- // margin-left: 0;
119
-
120
- // & + & {
121
- // padding-top: 0;
122
- // }
123
-
124
- // @include responsive(up, tablet) {
125
- // margin-left: $spacing-sm;
126
- // }
127
-
128
- // @include responsive(down, tablet) {
129
- // width: 100%;
130
- // display: flex;
131
- // }
132
- // }
133
-
134
- // &__trigger {
135
- // position: relative;
136
- // display: inline-flex;
137
- // flex-direction: column;
138
- // align-items: center;
139
- // justify-content: center;
140
- // position: relative;
141
- // line-height: 1;
142
- // height: $spacing-md*2;
143
- // color: inherit;
144
- // padding-right: $spacing-md;
145
- // padding-left: $spacing-md;
146
- // font-weight: $font-bold;
147
-
148
- // @include responsive(down, tablet) {
149
- // width: 100%;
150
- // margin-bottom: $spacing-xs;
151
- // padding: $spacing-md - $spacing-xs;
152
- // align-items: flex-start;
153
- // border-radius: $border-radius-sm;
154
-
155
- // @include hover {
156
- // background-color: $background-paper;
157
- // }
158
- // }
159
-
160
- // @include responsive(up, tablet) {
161
-
162
- // &:before {
163
- // @include transition($transition-md, opacity);
164
- // content: "";
165
- // position: absolute;
166
- // top: 0;
167
- // right: 0;
168
- // bottom: 0;
169
- // left: 0;
170
- // background-color: $background-paper;
171
- // border-radius: $border-radius-sm;
172
- // z-index: -1;
173
- // opacity: 0;
174
- // }
175
-
176
- // @include hover {
177
-
178
- // &:before {
179
- // opacity: 1;
180
- // }
181
- // }
182
- // }
183
-
184
- // &--active {
185
- // color: $primary;
186
-
187
- // @include responsive(up, tablet) {
188
-
189
- // &:after {
190
- // content: "";
191
- // position: absolute;
192
- // bottom: -14px;
193
- // left: 0;
194
- // width: 100%;
195
- // height: $spacing-sm;
196
- // background-color: $primary;
197
- // border-top-left-radius: $border-radius-sm;
198
- // border-top-right-radius: $border-radius-sm;
199
- // }
200
- // }
201
-
202
- // @include responsive(down, tablet) {
203
- // background-color: $background-paper;
204
- // }
205
- // }
206
- // }
207
- // }
@@ -1,27 +0,0 @@
1
- .sidebar {
2
- @include calc(height, '100vh - '$navbar-height);
3
- position: sticky;
4
- flex-shrink: 0;
5
- border-right: $border;
6
- width: 200px;
7
- top: $navbar-height;
8
- padding: $spacing-lg $spacing-md;
9
- overflow-y: scroll;
10
- scrollbar-color: light;
11
-
12
- &__nav {
13
- flex-direction: column;
14
-
15
- .nav {
16
-
17
- &__group {
18
- flex-direction: column;
19
- align-items: stretch;
20
- }
21
-
22
- &__trigger {
23
- width: 100%;
24
- }
25
- }
26
- }
27
- }