kube 6.5.2.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 (48) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +31 -0
  4. data/Gemfile +2 -0
  5. data/README.md +158 -0
  6. data/app/assets/javascripts/kube.js +2201 -0
  7. data/app/assets/stylesheets/kube.scss +13 -0
  8. data/app/assets/stylesheets/kube/_components.scss +25 -0
  9. data/app/assets/stylesheets/kube/_mixins.scss +8 -0
  10. data/app/assets/stylesheets/kube/_properties.scss +178 -0
  11. data/app/assets/stylesheets/kube/_variables.scss +10 -0
  12. data/app/assets/stylesheets/kube/all.scss +14 -0
  13. data/app/assets/stylesheets/kube/components/_animation.scss +95 -0
  14. data/app/assets/stylesheets/kube/components/_breadcrumbs.scss +37 -0
  15. data/app/assets/stylesheets/kube/components/_buttons.scss +166 -0
  16. data/app/assets/stylesheets/kube/components/_colors.scss +28 -0
  17. data/app/assets/stylesheets/kube/components/_dropdown.scss +51 -0
  18. data/app/assets/stylesheets/kube/components/_forms.scss +259 -0
  19. data/app/assets/stylesheets/kube/components/_grid.scss +68 -0
  20. data/app/assets/stylesheets/kube/components/_icons.scss +51 -0
  21. data/app/assets/stylesheets/kube/components/_labels.scss +116 -0
  22. data/app/assets/stylesheets/kube/components/_messages.scss +49 -0
  23. data/app/assets/stylesheets/kube/components/_modal.scss +55 -0
  24. data/app/assets/stylesheets/kube/components/_offcanvas.scss +26 -0
  25. data/app/assets/stylesheets/kube/components/_pagination.scss +91 -0
  26. data/app/assets/stylesheets/kube/components/_positioning.scss +77 -0
  27. data/app/assets/stylesheets/kube/components/_print.scss +41 -0
  28. data/app/assets/stylesheets/kube/components/_reset.scss +48 -0
  29. data/app/assets/stylesheets/kube/components/_sizing.scss +107 -0
  30. data/app/assets/stylesheets/kube/components/_tables.scss +77 -0
  31. data/app/assets/stylesheets/kube/components/_tabs.scss +43 -0
  32. data/app/assets/stylesheets/kube/components/_typography.scss +325 -0
  33. data/app/assets/stylesheets/kube/components/_utils.scss +139 -0
  34. data/app/assets/stylesheets/kube/mixins/_breakpoints.scss +27 -0
  35. data/app/assets/stylesheets/kube/mixins/_buttons.scss +29 -0
  36. data/app/assets/stylesheets/kube/mixins/_flex.scss +97 -0
  37. data/app/assets/stylesheets/kube/mixins/_fonts.scss +27 -0
  38. data/app/assets/stylesheets/kube/mixins/_gradients.scss +28 -0
  39. data/app/assets/stylesheets/kube/mixins/_grid.scss +54 -0
  40. data/app/assets/stylesheets/kube/mixins/_labels.scss +10 -0
  41. data/app/assets/stylesheets/kube/mixins/_utils.scss +60 -0
  42. data/kube.gemspec +23 -0
  43. data/lib/generators/kube/install/install_generator.rb +13 -0
  44. data/lib/generators/kube/install/templates/kube_properties.scss +178 -0
  45. data/lib/kube.rb +5 -0
  46. data/lib/kube/engine.rb +6 -0
  47. data/lib/kube/version.rb +11 -0
  48. metadata +110 -0
@@ -0,0 +1,48 @@
1
+ html {
2
+ box-sizing: border-box;
3
+ }
4
+ *,
5
+ *:before,
6
+ *:after {
7
+ box-sizing: inherit;
8
+ }
9
+ * {
10
+ margin: 0;
11
+ padding: 0;
12
+ outline: 0;
13
+ -webkit-overflow-scrolling: touch;
14
+ }
15
+ img,
16
+ video,
17
+ audio {
18
+ max-width: 100%;
19
+ }
20
+ img,
21
+ video {
22
+ height: auto;
23
+ }
24
+ svg {
25
+ max-height: 100%;
26
+ }
27
+ iframe {
28
+ border: none;
29
+ }
30
+ ::-moz-focus-inner {
31
+ border: 0;
32
+ padding: 0;
33
+ }
34
+ input[type="radio"],
35
+ input[type="checkbox"] {
36
+ vertical-align: middle;
37
+ position: relative;
38
+ bottom: 0.15rem;
39
+ font-size: 115%;
40
+ margin-right: 3px;
41
+ }
42
+ input[type="search"] {
43
+ -webkit-appearance: textfield;
44
+ }
45
+ input[type="search"]::-webkit-search-decoration,
46
+ input[type="search"]::-webkit-search-cancel-button {
47
+ -webkit-appearance: none;
48
+ }
@@ -0,0 +1,107 @@
1
+ // Width
2
+ .w5 { width: 5%; }
3
+ .w10 { width: 10%; }
4
+ .w15 { width: 15%; }
5
+ .w20 { width: 20%; }
6
+ .w25 { width: 25%; }
7
+ .w30 { width: 30%; }
8
+ .w35 { width: 35%; }
9
+ .w40 { width: 40%; }
10
+ .w45 { width: 45%; }
11
+ .w50 { width: 50%; }
12
+ .w55 { width: 55%; }
13
+ .w60 { width: 60%; }
14
+ .w65 { width: 65%; }
15
+ .w70 { width: 70%; }
16
+ .w75 { width: 75%; }
17
+ .w80 { width: 80%; }
18
+ .w85 { width: 85%; }
19
+ .w90 { width: 90%; }
20
+ .w95 { width: 95%; }
21
+ .w100 { width: 100%; }
22
+
23
+ .w-auto { width: auto; }
24
+
25
+ // Content Width
26
+ .w-small { width: var(--w-small); }
27
+ .w-medium { width: var(--w-medium); }
28
+ .w-big { width: var(--w-big); }
29
+ .w-large { width: var(--w-large); }
30
+
31
+ @include breakpoint(sm) {
32
+ .w-auto-sm {
33
+ width: auto;
34
+ }
35
+ .w100-sm,
36
+ .w-small,
37
+ .w-medium,
38
+ .w-big,
39
+ .w-large {
40
+ width: 100%;
41
+ }
42
+ }
43
+
44
+ // Max Width
45
+ .max-w5 { max-width: 5%; }
46
+ .max-w10 { max-width: 10%; }
47
+ .max-w15 { max-width: 15%; }
48
+ .max-w20 { max-width: 20%; }
49
+ .max-w25 { max-width: 25%; }
50
+ .max-w30 { max-width: 30%; }
51
+ .max-w35 { max-width: 35%; }
52
+ .max-w40 { max-width: 40%; }
53
+ .max-w45 { max-width: 45%; }
54
+ .max-w50 { max-width: 50%; }
55
+ .max-w55 { max-width: 55%; }
56
+ .max-w60 { max-width: 60%; }
57
+ .max-w65 { max-width: 65%; }
58
+ .max-w70 { max-width: 70%; }
59
+ .max-w75 { max-width: 75%; }
60
+ .max-w80 { max-width: 80%; }
61
+ .max-w85 { max-width: 85%; }
62
+ .max-w90 { max-width: 90%; }
63
+ .max-w95 { max-width: 95%; }
64
+ .max-w100 { max-width: 100%; }
65
+
66
+ // Content Max Width
67
+ .max-w-small { max-width: var(--w-small); }
68
+ .max-w-medium { max-width: var(--w-medium); }
69
+ .max-w-big { max-width: var(--w-big); }
70
+ .max-w-large { max-width: var(--w-large); }
71
+
72
+ @include breakpoint(sm) {
73
+ .max-w-auto-sm,
74
+ .max-w-small,
75
+ .max-w-medium,
76
+ .max-w-big,
77
+ .max-w-large {
78
+ max-width: auto;
79
+ }
80
+ }
81
+
82
+ // Min Width
83
+ .min-w5 { min-width: 5%; }
84
+ .min-w10 { min-width: 10%; }
85
+ .min-w15 { min-width: 15%; }
86
+ .min-w20 { min-width: 20%; }
87
+ .min-w25 { min-width: 25%; }
88
+ .min-w30 { min-width: 30%; }
89
+ .min-w35 { min-width: 35%; }
90
+ .min-w40 { min-width: 40%; }
91
+ .min-w45 { min-width: 45%; }
92
+ .min-w50 { min-width: 50%; }
93
+ .min-w55 { min-width: 55%; }
94
+ .min-w60 { min-width: 60%; }
95
+ .min-w65 { min-width: 65%; }
96
+ .min-w70 { min-width: 70%; }
97
+ .min-w75 { min-width: 75%; }
98
+ .min-w80 { min-width: 80%; }
99
+ .min-w85 { min-width: 85%; }
100
+ .min-w90 { min-width: 90%; }
101
+ .min-w95 { min-width: 95%; }
102
+ .min-w100 { min-width: 100%; }
103
+
104
+ // Height
105
+ .h25 { height: 25%; }
106
+ .h50 { height: 50%; }
107
+ .h100 { height: 100%; }
@@ -0,0 +1,77 @@
1
+ table {
2
+ border-collapse: collapse;
3
+ border-spacing: 0;
4
+ max-width: 100%;
5
+ width: 100%;
6
+ empty-cells: show;
7
+ font-size: calc(var(--table-font-size));
8
+ line-height: var(--table-base-line);
9
+ }
10
+ table caption {
11
+ text-align: left;
12
+ font-size: calc(var(--font-size-small));
13
+ font-weight: 500;
14
+ color: var(--color-midgray);
15
+ }
16
+ th {
17
+ text-align: left;
18
+ font-weight: 700;
19
+ vertical-align: bottom;
20
+ }
21
+ td {
22
+ vertical-align: top;
23
+ }
24
+ tr.align-middle td,
25
+ td.align-middle {
26
+ vertical-align: middle;
27
+ }
28
+ th,
29
+ td {
30
+ padding: var(--table-padding-tb) var(--table-padding-rl);
31
+ border-bottom: var(--table-border);
32
+ &:first-child {
33
+ padding-left: 0;
34
+ }
35
+ &:last-child {
36
+ padding-right: 0;
37
+ }
38
+ }
39
+ tfoot th,
40
+ tfoot td {
41
+ color: var(--color-gray);
42
+ }
43
+
44
+ // Bordered
45
+ table.bordered {
46
+ & td,
47
+ & th {
48
+ border: var(--table-border);
49
+ }
50
+ }
51
+
52
+ // Striped
53
+ table.striped tr:nth-child(odd) td {
54
+ background: var(--table-background-striped);
55
+ }
56
+
57
+ table.bordered,
58
+ table.striped {
59
+ & td,
60
+ & th {
61
+ &:first-child {
62
+ padding-left: var(--table-padding-rl);
63
+ }
64
+ &:last-child {
65
+ padding-right: var(--table-padding-rl);
66
+ }
67
+ }
68
+ }
69
+
70
+ // Unstyled
71
+ table.unstyled {
72
+ & td,
73
+ & th {
74
+ border: none;
75
+ padding: 0;
76
+ }
77
+ }
@@ -0,0 +1,43 @@
1
+ .tabs {
2
+ margin-bottom: var(--base-line);
3
+ font-size: calc(var(--font-size-small));
4
+ & li em,
5
+ & li.active a {
6
+ color: var(--color-text);
7
+ border: 1px solid rgba(0, 0, 0, .1);
8
+ cursor: default;
9
+ text-decoration: none;
10
+ background: none;
11
+ }
12
+ & em,
13
+ & a {
14
+ position: relative;
15
+ top: 1px;
16
+ font-style: normal;
17
+ display: block;
18
+ padding: .5rem 1rem;
19
+ border: 1px solid transparent;
20
+ color: rgba(0, 0, 0, .5);
21
+ text-decoration: none;
22
+ }
23
+ & a:hover {
24
+ @include transition;
25
+ color: var(--color-text);
26
+ text-decoration: underline;
27
+ background-color: var(--color-silver);
28
+ }
29
+ }
30
+
31
+ @include breakpoint($min: $sm) {
32
+ .tabs {
33
+ & ul {
34
+ @include flex;
35
+ margin-top: -1px;
36
+ border-bottom: 1px solid rgba(0, 0, 0, .1);
37
+ }
38
+ & li em,
39
+ & li.active a {
40
+ border-bottom: 1px solid #fff;
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,325 @@
1
+ html,
2
+ body {
3
+ font-size: var(--font-size);
4
+ line-height: var(--base-line);
5
+ }
6
+ body {
7
+ font-family: var(--text-font-family);
8
+ color: var(--color-text);
9
+ background-color: transparent;
10
+ }
11
+
12
+ // Links
13
+ a {
14
+ color: var(--color-link);
15
+ }
16
+ a:hover {
17
+ color: var(--color-link-hover);
18
+ }
19
+
20
+ // Headings
21
+ h1.title, h1, h2, h3, h4, h5, h6 {
22
+ font-family: var(--headings-font-family);
23
+ font-weight: bold;
24
+ color: var(--color-headings);
25
+ text-rendering: optimizeLegibility;
26
+ margin-bottom: var(--heading-margin-bottom);
27
+ }
28
+ h1.title {
29
+ font-size: var(--heading-font-size-title);
30
+ line-height: var(--heading-base-line-title);
31
+ margin-bottom: calc(var(--heading-margin-bottom) / 2);
32
+ }
33
+ h1,
34
+ .h1 {
35
+ font-size: var(--heading-font-size-1);
36
+ line-height: var(--heading-base-line-1);
37
+ }
38
+ h2,
39
+ .h2 {
40
+ font-size: var(--heading-font-size-2);
41
+ line-height: var(--heading-base-line-2);
42
+ }
43
+ h3,
44
+ .h3 {
45
+ font-size: var(--heading-font-size-3);
46
+ line-height: var(--heading-base-line-3);
47
+ }
48
+ h4,
49
+ .h4 {
50
+ font-size: var(--heading-font-size-4);
51
+ line-height: var(--heading-base-line-4);
52
+ }
53
+ h5,
54
+ .h5 {
55
+ font-size: var(--heading-font-size-5);
56
+ line-height: var(--heading-base-line-5);
57
+ }
58
+ h6,
59
+ .h6 {
60
+ font-size: var(--heading-font-size-6);
61
+ line-height: var(--heading-base-line-6);
62
+ }
63
+ h1 a, .h1 a,
64
+ h2 a, .h2 a,
65
+ h3 a, .h3 a,
66
+ h4 a, .h4 a,
67
+ h5 a, .h5 a,
68
+ h6 a, .h6 a {
69
+ color: inherit;
70
+ }
71
+
72
+ // Top Space
73
+ p,
74
+ ul,
75
+ ol,
76
+ dl,
77
+ blockquote,
78
+ hr,
79
+ pre,
80
+ table,
81
+ form,
82
+ figure {
83
+ + h2,
84
+ + h3,
85
+ + h4,
86
+ + h5,
87
+ + h6 {
88
+ margin-top: var(--base-line);
89
+ }
90
+ }
91
+
92
+ // Lists
93
+ ul,
94
+ ol {
95
+ &,
96
+ & ul,
97
+ & ol {
98
+ margin: 0 0 0 var(--base-line);
99
+ }
100
+ }
101
+ ol ol li {
102
+ list-style-type: lower-alpha;
103
+ }
104
+ ol ol ol li {
105
+ list-style-type: lower-roman;
106
+ }
107
+ nav {
108
+ & ul,
109
+ & ol {
110
+ margin: 0;
111
+ list-style: none;
112
+ & ul,
113
+ & ol {
114
+ margin-left: var(--base-line);
115
+ }
116
+ }
117
+ }
118
+ dl dt {
119
+ font-weight: bold;
120
+ }
121
+ dd {
122
+ margin-left: var(--base-line);
123
+ }
124
+
125
+ // Block Tags
126
+ p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
127
+ margin-bottom: calc(var(--text-margin-bottom));
128
+ }
129
+ hr {
130
+ border: none;
131
+ border-bottom: 1px solid rgba(0, 0, 0, .1);
132
+ margin-top: -1px;
133
+ }
134
+ blockquote {
135
+ padding-left: 1rem;
136
+ border-left: 4px solid rgba(0, 0, 0, .1);
137
+ font-style: italic;
138
+ color: var(--color-gray);
139
+ & p {
140
+ margin-bottom: .5rem;
141
+ }
142
+ }
143
+
144
+ // Inline
145
+ time, cite, small, figcaption {
146
+ font-size: 87.5%;
147
+ }
148
+ cite {
149
+ opacity: .6;
150
+ }
151
+ abbr[title], dfn[title] {
152
+ border-bottom: 1px dotted rgba(0, 0, 0, .5);
153
+ cursor: help;
154
+ }
155
+ var {
156
+ font-size: var(--font-size);
157
+ opacity: .6;
158
+ font-style: normal;
159
+ }
160
+ mark, code, samp, kbd {
161
+ position: relative;
162
+ top: -1px;
163
+ padding: 4px 4px 2px 4px;
164
+ display: inline-block;
165
+ line-height: 1;
166
+ color: var(--color-midgray);
167
+ }
168
+ code {
169
+ background: var(--color-silver);
170
+ }
171
+ mark {
172
+ background: var(--color-warning);
173
+ }
174
+ samp {
175
+ color: #fff;
176
+ background: var(--color-focus);
177
+ }
178
+ kbd {
179
+ border: 1px solid rgba(0, 0, 0, .1);
180
+ }
181
+ sub,
182
+ sup {
183
+ font-size: x-small;
184
+ line-height: 0;
185
+ margin-left: 1rem/4;
186
+ position: relative;
187
+ }
188
+ sup {
189
+ top: 0;
190
+ }
191
+ sub {
192
+ bottom: 1px;
193
+ }
194
+
195
+ // Preformatted
196
+ pre, code, samp, var, kbd {
197
+ font-family: var(--monospace-font-family);
198
+ }
199
+ pre, code, samp, var, kbd, mark {
200
+ font-size: 87.5%;
201
+ }
202
+ pre,
203
+ pre code {
204
+ background: var(--color-aluminum);
205
+ padding: 0;
206
+ top: 0;
207
+ display: block;
208
+ line-height: var(--base-line-small);
209
+ color: var(--color-midgray);
210
+ overflow: none;
211
+ white-space: pre-wrap;
212
+ }
213
+ pre {
214
+ padding: 1rem;
215
+ }
216
+
217
+ // Figure
218
+ figcaption {
219
+ opacity: .6;
220
+ }
221
+ figure figcaption {
222
+ position: relative;
223
+ top: -1rem/2;
224
+ }
225
+ figure pre {
226
+ background: none;
227
+ border: 1px solid rgba(0, 0, 0, .1);
228
+ border-radius: 4px;
229
+ }
230
+ figure {
231
+ & .video-container,
232
+ & pre {
233
+ margin-bottom: calc(var(--text-margin-bottom) / 2);
234
+ }
235
+ }
236
+
237
+ // Alignment
238
+ .text-left {
239
+ text-align: left;
240
+ }
241
+ .text-center {
242
+ text-align: center;
243
+ }
244
+ .text-right {
245
+ text-align: right;
246
+ }
247
+
248
+ // Modifiers
249
+ ul.unstyled {
250
+ & {
251
+ margin-left: 0;
252
+ }
253
+ &,
254
+ & ul {
255
+ list-style: none;
256
+ }
257
+ }
258
+ .monospace {
259
+ font-family: var(--monospace-font-family);
260
+ }
261
+ .upper {
262
+ text-transform: uppercase;
263
+ }
264
+ .lower {
265
+ text-transform: lowercase;
266
+ }
267
+ .italic {
268
+ font-style: italic !important;
269
+ }
270
+ .strong {
271
+ font-weight: bold !important;
272
+ }
273
+ .normal {
274
+ font-weight: normal !important;
275
+ }
276
+ .muted {
277
+ opacity: .55;
278
+ }
279
+ a.muted {
280
+ color: var(--color-black);
281
+ }
282
+ a.muted:hover {
283
+ opacity: 1;
284
+ }
285
+ .black {
286
+ color: var(--color-black);
287
+ }
288
+ .smaller {
289
+ font-size: calc(var(--font-size-smaller));
290
+ line-height: var(--base-line-smaller);
291
+ }
292
+ .small {
293
+ font-size: calc(var(--font-size-small));
294
+ line-height: var(--base-line-small);
295
+ }
296
+ .big {
297
+ font-size: calc(var(--font-size-big));
298
+ line-height: var(--base-line-big);
299
+ }
300
+ .large {
301
+ font-size: calc(var(--font-size-large));
302
+ line-height: var(--base-line-large);
303
+ }
304
+ .end {
305
+ margin-bottom: 0 !important;
306
+ }
307
+ .highlight {
308
+ background-color: var(--color-highlight);
309
+ }
310
+ .nowrap,
311
+ .nowrap td {
312
+ white-space: nowrap;
313
+ }
314
+
315
+ // Text Columns
316
+ @include breakpoint(md) {
317
+ .columns-2,
318
+ .columns-3,
319
+ .columns-4 {
320
+ column-gap: var(--base-line);
321
+ }
322
+ .columns-2 { column-count: 2; }
323
+ .columns-3 { column-count: 3; }
324
+ .columns-4 { column-count: 4; }
325
+ }