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,116 @@
1
+ .label {
2
+ display: inline-block;
3
+ font-size: 13px;
4
+ background: var(--color-silver);
5
+ line-height: 18px;
6
+ padding: 0 10px;
7
+ font-weight: 500;
8
+ color: var(--color-text);
9
+ border: 1px solid transparent;
10
+ vertical-align: middle;
11
+ text-decoration: none;
12
+ border-radius: 4px;
13
+ & a,
14
+ & a:hover {
15
+ color: inherit;
16
+ text-decoration: none;
17
+ }
18
+ }
19
+ .label.big {
20
+ font-size: calc(var(--font-size-small));
21
+ line-height: 24px;
22
+ padding: 0 12px;
23
+ }
24
+ .label.upper {
25
+ text-transform: uppercase;
26
+ font-size: 11px;
27
+ }
28
+
29
+ // Outline
30
+ .label.outline {
31
+ background: none;
32
+ border-color: var(--color-gray);
33
+ }
34
+
35
+ // Badges
36
+ .label.badge {
37
+ text-align: center;
38
+ border-radius: 64px;
39
+ padding: 0 6px;
40
+ &.big {
41
+ padding: 0 8px;
42
+ }
43
+ }
44
+
45
+ // Tag
46
+ .label.tag {
47
+ padding: 0;
48
+ background: none;
49
+ border: none;
50
+ text-transform: uppercase;
51
+ font-size: calc(var(--font-size-smaller) - 1px);
52
+ &.big {
53
+ font-size: calc(var(--font-size-small) - 1px);
54
+ }
55
+ }
56
+
57
+ .label.success {
58
+ background: var(--color-success);
59
+ color: #fff;
60
+ &.tag,
61
+ &.outline {
62
+ background: none;
63
+ border-color: var(--color-success);
64
+ color: var(--color-success);
65
+ }
66
+ }
67
+ .label.error {
68
+ background: var(--color-error);
69
+ color: #fff;
70
+ &.tag,
71
+ &.outline {
72
+ background: none;
73
+ border-color: var(--color-error);
74
+ color: var(--color-error);
75
+ }
76
+ }
77
+ .label.warning {
78
+ background: var(--color-warning);
79
+ color: var(--color-black);
80
+ &.tag,
81
+ &.outline {
82
+ background: none;
83
+ border-color: var(--color-warning);
84
+ color: var(--color-warning);
85
+ }
86
+ }
87
+ .label.focus {
88
+ background: var(--color-focus);
89
+ color: #fff;
90
+ &.tag,
91
+ &.outline {
92
+ background: none;
93
+ border-color: var(--color-focus);
94
+ color: var(--color-focus);
95
+ }
96
+ }
97
+ .label.black {
98
+ background: var(--color-black);
99
+ color: #fff;
100
+ &.tag,
101
+ &.outline {
102
+ background: none;
103
+ border-color: var(--color-black);
104
+ color: var(--color-black);
105
+ }
106
+ }
107
+ .label.inverted {
108
+ background: var(--color-inverted);
109
+ color: var(--color-black);
110
+ &.tag,
111
+ &.outline {
112
+ background: none;
113
+ border-color: var(--color-inverted);
114
+ color: var(--color-inverted);
115
+ }
116
+ }
@@ -0,0 +1,49 @@
1
+ .message {
2
+ font-family: var(--monospace-font-family);
3
+ font-size: calc(var(--font-size-small));
4
+ line-height: var(--base-line-small);
5
+ background: var(--color-silver);
6
+ color: var(--color-text);
7
+ padding: 1rem;
8
+ padding-right: 2.5em;
9
+ padding-bottom: .75rem;
10
+ margin-bottom: var(--base-line);
11
+ position: relative;
12
+ & a {
13
+ color: inherit;
14
+ }
15
+ & h2,
16
+ & h3,
17
+ & h4,
18
+ & h5,
19
+ & h6 {
20
+ margin-bottom: 0;
21
+ }
22
+ & .close {
23
+ position: absolute;
24
+ right: 1rem;
25
+ top: 1.1rem;
26
+ }
27
+ }
28
+ .message.error {
29
+ background: var(--color-error);
30
+ color: #fff;
31
+ }
32
+ .message.success {
33
+ background: var(--color-success);
34
+ color: #fff;
35
+ }
36
+ .message.warning {
37
+ background: var(--color-warning);
38
+ }
39
+ .message.focus {
40
+ background: var(--color-focus);
41
+ color: #fff;
42
+ }
43
+ .message.black {
44
+ background: var(--color-black);
45
+ color: #fff;
46
+ }
47
+ .message.inverted {
48
+ background: var(--color-inverted);
49
+ }
@@ -0,0 +1,55 @@
1
+ .modal-box {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ bottom: 0;
6
+ right: 0;
7
+ overflow-x: hidden;
8
+ overflow-y: auto;
9
+ z-index: var(--z-over-control);
10
+ }
11
+ .modal {
12
+ position: relative;
13
+ margin: auto;
14
+ margin-top: 16px;
15
+ padding: 0;
16
+ background: #fff;
17
+ box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
18
+ border-radius: 8px;
19
+ color: #000;
20
+ & input,
21
+ & textarea {
22
+ @media (max-width: $sm) {
23
+ font-size: 16px;
24
+ }
25
+ }
26
+ & .close {
27
+ position: absolute;
28
+ top: 18px;
29
+ right: 16px;
30
+ opacity: .3;
31
+ &:hover {
32
+ opacity: 1;
33
+ }
34
+ }
35
+ }
36
+ .modal-header {
37
+ padding: 24px 32px;
38
+ font-size: 18px;
39
+ font-weight: bold;
40
+ border-bottom: 1px solid rgba(0, 0, 0, .05);
41
+ &:empty {
42
+ display: none;
43
+ }
44
+ }
45
+ .modal-body {
46
+ padding: 36px 56px;
47
+ }
48
+
49
+ // Responsive
50
+ @media (max-width: $sm) {
51
+ .modal-header,
52
+ .modal-body {
53
+ padding: 24px;
54
+ }
55
+ }
@@ -0,0 +1,26 @@
1
+ .offcanvas {
2
+ background: #fff;
3
+ position: fixed;
4
+ padding: var(--base-line);
5
+ height: 100%;
6
+ top: 0;
7
+ left: 0;
8
+ z-index: var(--z-over-page);
9
+ overflow-y: scroll;
10
+ }
11
+ .offcanvas .close {
12
+ position: absolute;
13
+ top: 8px;
14
+ right: 8px;
15
+ }
16
+ .offcanvas-left {
17
+ border-right: 1px solid rgba(0, 0, 0, .1);
18
+ }
19
+ .offcanvas-right {
20
+ left: auto;
21
+ right: 0;
22
+ border-left: 1px solid rgba(0, 0, 0, .1);
23
+ }
24
+ .offcanvas-push-body {
25
+ position: relative;
26
+ }
@@ -0,0 +1,91 @@
1
+ .pagination {
2
+ margin: var(--base-line) 0;
3
+ font-size: calc(var(--font-size-small));
4
+ & ul {
5
+ @include flex;
6
+ margin: 0;
7
+ }
8
+ &.align-center ul {
9
+ @include flex-items-center;
10
+ }
11
+ & span,
12
+ & a {
13
+ border-radius: 3px;
14
+ display: inline-block;
15
+ padding: 8px 12px;
16
+ line-height: 1;
17
+ white-space: nowrap;
18
+ border: 1px solid transparent;
19
+ }
20
+ & a {
21
+ text-decoration: none;
22
+ color: var(--color-text);
23
+ &:hover {
24
+ color: rgba(0, 0, 0, .5);
25
+ border-color: var(--color-silver);
26
+ }
27
+ }
28
+ & span,
29
+ & li.active a {
30
+ color: rgba(0, 0, 0, .5);
31
+ border-color: var(--color-silver);
32
+ cursor: text;
33
+ }
34
+ &.upper {
35
+ font-size: calc(var(--font-size-smaller));
36
+ }
37
+ }
38
+
39
+ // Pager
40
+ .pager {
41
+ & span {
42
+ line-height: var(--base-line);
43
+ }
44
+ & span,
45
+ & a {
46
+ padding-left: 16px;
47
+ padding-right: 16px;
48
+ border-radius: 64px;
49
+ border-color: rgba(0, 0, 0, .1);
50
+ }
51
+ & li {
52
+ @include flex-basis(50%);
53
+ }
54
+ & li.next {
55
+ text-align: right;
56
+ }
57
+ &.align-center li {
58
+ @include flex-basis(auto);
59
+ margin-left: 4px;
60
+ margin-right: 4px;
61
+ }
62
+ &.flat {
63
+ & span,
64
+ & a {
65
+ border: none;
66
+ display: block;
67
+ padding: 0;
68
+ }
69
+ & a {
70
+ font-weight: bold;
71
+ &:hover {
72
+ background: none;
73
+ text-decoration: underline;
74
+ }
75
+ }
76
+ }
77
+ }
78
+
79
+ // Responsive
80
+ @include breakpoint(sm) {
81
+ .pager.flat {
82
+ & ul {
83
+ @include flex-items-column;
84
+ }
85
+ & li {
86
+ @include flex-basis(100%);
87
+ margin-bottom: 8px;
88
+ text-align: left;
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,77 @@
1
+ // Push
2
+ .gutters .col.push-left,
3
+ .push-left {
4
+ margin-right: auto;
5
+ }
6
+ .gutters .col.push-right,
7
+ .push-right {
8
+ margin-left: auto;
9
+ }
10
+ .gutters .col.push-center,
11
+ .push-center {
12
+ margin-left: auto;
13
+ margin-right: auto;
14
+ }
15
+ .gutters .col.push-middle,
16
+ .push-middle {
17
+ margin-top: auto;
18
+ margin-bottom: auto;
19
+ }
20
+ .push-bottom {
21
+ margin-top: auto;
22
+ }
23
+ @include breakpoint(sm) {
24
+ .gutters .col.push-left-sm,
25
+ .push-left-sm {
26
+ margin-left: 0;
27
+ }
28
+ .gutters .col.push-center-sm,
29
+ .push-center-sm {
30
+ margin-left: auto;
31
+ margin-right: auto;
32
+ }
33
+ .push-top-sm {
34
+ margin-top: 0;
35
+ }
36
+ }
37
+
38
+ // Flex Alignment
39
+ .align-middle {
40
+ @include flex-items-middle;
41
+ }
42
+ .align-right {
43
+ @include flex-items-right;
44
+ }
45
+ .align-center {
46
+ @include flex-items-center;
47
+ }
48
+ @include breakpoint(sm) {
49
+ .align-left-sm {
50
+ @include flex-items-left;
51
+ }
52
+ }
53
+
54
+ // Float
55
+ .float-right {
56
+ float: right;
57
+ }
58
+ .float-left {
59
+ float: left;
60
+ }
61
+ @include breakpoint(sm) {
62
+ .float-right {
63
+ float: none;
64
+ }
65
+ .float-left {
66
+ float: none;
67
+ }
68
+ }
69
+
70
+ // Fixed
71
+ .fixed {
72
+ position: fixed;
73
+ top: 0;
74
+ left: 0;
75
+ z-index: var(--z-over-content);
76
+ width: 100%;
77
+ }
@@ -0,0 +1,41 @@
1
+ @media print {
2
+ * {
3
+ background: transparent !important;
4
+ color: black !important;
5
+ box-shadow: none !important;
6
+ text-shadow: none !important;
7
+ }
8
+ a,
9
+ a:visited {
10
+ text-decoration: underline;
11
+ }
12
+ pre,
13
+ blockquote {
14
+ border: 1px solid #999;
15
+ page-break-inside: avoid;
16
+ }
17
+ p,
18
+ h2,
19
+ h3 {
20
+ orphans: 3;
21
+ widows: 3;
22
+ }
23
+ thead {
24
+ display: table-header-group;
25
+ }
26
+ tr,
27
+ img {
28
+ page-break-inside: avoid;
29
+ }
30
+ img {
31
+ max-width: 100% !important;
32
+ }
33
+ h2,
34
+ h3,
35
+ h4 {
36
+ page-break-after: avoid;
37
+ }
38
+ @page {
39
+ margin: 0.5cm;
40
+ }
41
+ }