megatron 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +43 -2
  3. data/app/assets/javascripts/megatron/form.js +36 -0
  4. data/app/assets/javascripts/megatron/index.js +93 -0
  5. data/app/assets/javascripts/megatron/link.js +58 -0
  6. data/app/assets/javascripts/megatron/utils/auto-navigate.js +24 -0
  7. data/app/assets/javascripts/megatron/utils/form-notify.js +39 -0
  8. data/app/assets/javascripts/megatron/utils/index.js +112 -0
  9. data/app/assets/javascripts/megatron/utils/messages.js +97 -0
  10. data/app/assets/javascripts/megatron/utils/time/date-to-html.js +59 -0
  11. data/app/assets/javascripts/megatron/utils/time/time-switch.js +87 -0
  12. data/app/assets/javascripts/megatron/utils/time/timeago.js +95 -0
  13. data/app/assets/javascripts/megatron/utils/toggler.js +163 -0
  14. data/app/assets/stylesheets/_example.scss +76 -0
  15. data/app/assets/stylesheets/_grid.scss +41 -0
  16. data/app/assets/stylesheets/_typography.scss +38 -0
  17. data/app/assets/stylesheets/application.scss +19 -0
  18. data/app/assets/stylesheets/megatron/error-pages.scss +164 -0
  19. data/app/assets/stylesheets/megatron/error-pages/_animations.scss +96 -0
  20. data/app/assets/stylesheets/megatron/error-pages/_csi.scss +41 -0
  21. data/app/assets/stylesheets/megatron/error-pages/_waves.scss +36 -0
  22. data/app/assets/stylesheets/megatron/megatron.scss +3 -0
  23. data/app/assets/stylesheets/megatron/modules/_crop-height.scss +5 -0
  24. data/app/assets/stylesheets/megatron/modules/_index.scss +22 -0
  25. data/app/assets/stylesheets/megatron/modules/_logo.scss +67 -0
  26. data/app/assets/stylesheets/megatron/modules/_new-tag.scss +11 -0
  27. data/app/assets/stylesheets/megatron/modules/_progress.scss +80 -0
  28. data/app/assets/stylesheets/megatron/modules/app/_animation-classes.scss +3 -0
  29. data/app/assets/stylesheets/megatron/modules/app/_animations.scss +62 -0
  30. data/app/assets/stylesheets/megatron/modules/app/_index.scss +5 -0
  31. data/app/assets/stylesheets/megatron/modules/app/_layout.scss +261 -0
  32. data/app/assets/stylesheets/megatron/modules/app/_sizes.scss +28 -0
  33. data/app/assets/stylesheets/megatron/modules/app/_typography.scss +111 -0
  34. data/app/assets/stylesheets/megatron/modules/box/_base.scss +94 -0
  35. data/app/assets/stylesheets/megatron/modules/box/_color-box.scss +33 -0
  36. data/app/assets/stylesheets/megatron/modules/box/_deployment_box.scss +37 -0
  37. data/app/assets/stylesheets/megatron/modules/box/_index.scss +4 -0
  38. data/app/assets/stylesheets/megatron/modules/box/_placeholder.scss +6 -0
  39. data/app/assets/stylesheets/megatron/modules/buttons/_animations.scss +35 -0
  40. data/app/assets/stylesheets/megatron/modules/buttons/_buttons.scss +266 -0
  41. data/app/assets/stylesheets/megatron/modules/buttons/_index.scss +4 -0
  42. data/app/assets/stylesheets/megatron/modules/buttons/_mixins.scss +108 -0
  43. data/app/assets/stylesheets/megatron/modules/buttons/_pills.scss +44 -0
  44. data/app/assets/stylesheets/megatron/modules/code/_codemirror.scss +98 -0
  45. data/app/assets/stylesheets/megatron/modules/code/_highlighted.scss +65 -0
  46. data/app/assets/stylesheets/megatron/modules/code/_index.scss +3 -0
  47. data/app/assets/stylesheets/megatron/modules/code/_syntax.scss +18 -0
  48. data/app/assets/stylesheets/megatron/modules/core/_colored-items.scss +22 -0
  49. data/app/assets/stylesheets/megatron/modules/core/_colors.scss +163 -0
  50. data/app/assets/stylesheets/megatron/modules/core/_index.scss +3 -0
  51. data/app/assets/stylesheets/megatron/modules/core/_mixins.scss +262 -0
  52. data/app/assets/stylesheets/megatron/modules/core/_vars.scss +30 -0
  53. data/app/assets/stylesheets/megatron/modules/core/_z-index.scss +3 -0
  54. data/app/assets/stylesheets/megatron/modules/dialog/_animations.scss +48 -0
  55. data/app/assets/stylesheets/megatron/modules/dialog/_dialog.scss +81 -0
  56. data/app/assets/stylesheets/megatron/modules/dialog/_index.scss +2 -0
  57. data/app/assets/stylesheets/megatron/modules/forms/_base.scss +31 -0
  58. data/app/assets/stylesheets/megatron/modules/forms/_check-radio.scss +99 -0
  59. data/app/assets/stylesheets/megatron/modules/forms/_check-switch.scss +88 -0
  60. data/app/assets/stylesheets/megatron/modules/forms/_footer.scss +13 -0
  61. data/app/assets/stylesheets/megatron/modules/forms/_index.scss +10 -0
  62. data/app/assets/stylesheets/megatron/modules/forms/_login.scss +92 -0
  63. data/app/assets/stylesheets/megatron/modules/forms/_radio-nav.scss +62 -0
  64. data/app/assets/stylesheets/megatron/modules/forms/_select.scss +37 -0
  65. data/app/assets/stylesheets/megatron/modules/forms/_stacked-form.scss +29 -0
  66. data/app/assets/stylesheets/megatron/modules/forms/_table-form.scss +53 -0
  67. data/app/assets/stylesheets/megatron/modules/forms/_text-input.scss +118 -0
  68. data/app/assets/stylesheets/megatron/modules/grids/_alignment.scss +39 -0
  69. data/app/assets/stylesheets/megatron/modules/grids/_grid.scss +144 -0
  70. data/app/assets/stylesheets/megatron/modules/grids/_index.scss +2 -0
  71. data/app/assets/stylesheets/megatron/modules/headers/_actions.scss +10 -0
  72. data/app/assets/stylesheets/megatron/modules/headers/_base.scss +67 -0
  73. data/app/assets/stylesheets/megatron/modules/headers/_index.scss +4 -0
  74. data/app/assets/stylesheets/megatron/modules/headers/_meta.scss +10 -0
  75. data/app/assets/stylesheets/megatron/modules/headers/_site-header.scss +8 -0
  76. data/app/assets/stylesheets/megatron/modules/lib/_codemirror.scss +301 -0
  77. data/app/assets/stylesheets/megatron/modules/lists/_base.scss +13 -0
  78. data/app/assets/stylesheets/megatron/modules/lists/_box-list.scss +53 -0
  79. data/app/assets/stylesheets/megatron/modules/lists/_index.scss +2 -0
  80. data/app/assets/stylesheets/megatron/modules/messages/_index.scss +3 -0
  81. data/app/assets/stylesheets/megatron/modules/messages/_notice.scss +57 -0
  82. data/app/assets/stylesheets/megatron/modules/messages/_notifications.scss +126 -0
  83. data/app/assets/stylesheets/megatron/modules/messages/_pop-message.scss +157 -0
  84. data/app/assets/stylesheets/megatron/modules/nav/_auto-navigate.scss +7 -0
  85. data/app/assets/stylesheets/megatron/modules/nav/_breadcrumbs.scss +35 -0
  86. data/app/assets/stylesheets/megatron/modules/nav/_index.scss +8 -0
  87. data/app/assets/stylesheets/megatron/modules/nav/_main-sidebar.scss +21 -0
  88. data/app/assets/stylesheets/megatron/modules/nav/_mixins.scss +53 -0
  89. data/app/assets/stylesheets/megatron/modules/nav/_nav-toggle.scss +61 -0
  90. data/app/assets/stylesheets/megatron/modules/nav/_primary-nav.scss +120 -0
  91. data/app/assets/stylesheets/megatron/modules/nav/_secondary-nav.scss +105 -0
  92. data/app/assets/stylesheets/megatron/modules/nav/_tabs.scss +87 -0
  93. data/app/assets/stylesheets/megatron/modules/roboticons/_font.scss +62 -0
  94. data/app/assets/stylesheets/megatron/modules/roboticons/_icons.scss +219 -0
  95. data/app/assets/stylesheets/megatron/modules/roboticons/_index.scss +2 -0
  96. data/app/assets/stylesheets/megatron/modules/slider/_base.scss +49 -0
  97. data/app/assets/stylesheets/megatron/modules/slider/_index.scss +4 -0
  98. data/app/assets/stylesheets/megatron/modules/slider/_slider.scss +282 -0
  99. data/app/assets/stylesheets/megatron/modules/slider/_switch.scss +75 -0
  100. data/app/assets/stylesheets/megatron/modules/slider/_themes.scss +42 -0
  101. data/app/assets/stylesheets/megatron/modules/tables/_base.scss +170 -0
  102. data/app/assets/stylesheets/megatron/modules/tables/_border-table.scss +28 -0
  103. data/app/assets/stylesheets/megatron/modules/tables/_box-table.scss +36 -0
  104. data/app/assets/stylesheets/megatron/modules/tables/_columns.scss +8 -0
  105. data/app/assets/stylesheets/megatron/modules/tables/_doc-table.scss +22 -0
  106. data/app/assets/stylesheets/megatron/modules/tables/_icon-cell.scss +9 -0
  107. data/app/assets/stylesheets/megatron/modules/tables/_index.scss +7 -0
  108. data/app/assets/stylesheets/megatron/modules/tables/_link-cell.scss +8 -0
  109. data/app/assets/stylesheets/megatron/modules/tables/_responsive-table.scss +13 -0
  110. data/app/assets/stylesheets/megatron/modules/widgets/_index.scss +1 -0
  111. data/app/assets/stylesheets/megatron/modules/widgets/_time-switch.scss +24 -0
  112. data/lib/megatron.rb +1 -1
  113. data/lib/megatron/engine.rb +5 -0
  114. data/lib/megatron/version.rb +1 -1
  115. data/lib/tasks/megatron_tasks.rake +4 -4
  116. data/public/assets/megatron/megatron-0.0.4.css +3 -0
  117. data/public/assets/megatron/{megatron-0.0.3.css.map → megatron-0.0.4.css.map} +3 -3
  118. data/public/assets/megatron/{megatron-0.0.3.js → megatron-0.0.4.js} +1 -1
  119. data/public/assets/megatron/megatron-0.0.4.map.json +1 -0
  120. metadata +115 -6
  121. data/public/assets/megatron/megatron-0.0.3.css +0 -2
  122. data/public/assets/megatron/megatron-0.0.3.map.json +0 -1
@@ -0,0 +1,13 @@
1
+ %base-list {
2
+ list-style: none;
3
+ padding: 0;
4
+ margin: { top: $block-margin; bottom: $block-margin; }
5
+
6
+ .list-item {
7
+ margin: 0;
8
+ }
9
+
10
+ &.wide {
11
+ @include invert-h-pad;
12
+ }
13
+ }
@@ -0,0 +1,53 @@
1
+ .box-list {
2
+ @extend %base-list;
3
+ .list-item {
4
+ display: block;
5
+ border: $page-border 1px solid { bottom-width: 0 }
6
+ background: $bright-table-bg;
7
+ @include h-pad-box;
8
+ padding-bottom: 1px;
9
+
10
+ &:last-child {
11
+ border-bottom-width: 1px;
12
+ }
13
+ }
14
+ a.list-item {
15
+ text-decoration: none;
16
+ color: inherit;
17
+ &:hover {
18
+ background: $white;
19
+ }
20
+ }
21
+ }
22
+
23
+ .wide .list-item {
24
+ border: {
25
+ left-color: transparent;
26
+ right-color: transparent;
27
+ }
28
+ }
29
+
30
+ .box .box-list {
31
+ margin: 0;
32
+ .list-item:first-child{
33
+ border-top-width: 0;
34
+ padding-top: 1px;
35
+ }
36
+ }
37
+
38
+ .after-icon {
39
+ position: relative;
40
+ &:after {
41
+ font-size: 1.5em;
42
+ color: $lightgray;
43
+ position: absolute;
44
+ top: 50%;
45
+ right: 0;
46
+ transform: translate(0, -50%);
47
+ transition: all .3s ease-out;
48
+ opacity: .5;
49
+ }
50
+ &:hover:after {
51
+ opacity: 1;
52
+ }
53
+ }
@@ -0,0 +1,2 @@
1
+ @import "base";
2
+ @import "box-list";
@@ -0,0 +1,3 @@
1
+ @import "notifications";
2
+ @import "notice";
3
+ @import "pop-message";
@@ -0,0 +1,57 @@
1
+ .notice {
2
+ $notice-yellow: $softyellow;
3
+ $notice-blue: $softblue;
4
+ $notice-green: $softgreen;
5
+ $notice-red: $softred;
6
+ $notice-gray: $offwhite;
7
+
8
+ border-radius: 3px;
9
+ @include h-pad_box;
10
+ border: {
11
+ width: 1px;
12
+ style: solid;
13
+ }
14
+ margin: { top: $block-margin; bottom: $block-margin; }
15
+
16
+ // Themes
17
+ //
18
+ &.info {
19
+ @extend .softblue-box;
20
+ }
21
+ &.positive {
22
+ @extend .softgreen-box;
23
+ }
24
+ &.warning {
25
+ @extend .softyellow-box;
26
+ }
27
+ &.error {
28
+ @extend .softred-box;
29
+ }
30
+
31
+ // Layouts
32
+ //
33
+ &.full, &.flush {
34
+ @include invert-h-pad;
35
+ border: {
36
+ radius: 0;
37
+ left: 0;
38
+ right: 0;
39
+ }
40
+ }
41
+
42
+ &.flush {
43
+ margin-top: 0;
44
+ border-top-color: transparent;
45
+ transform: translateY(-1px);
46
+ }
47
+
48
+ // Children
49
+ p {
50
+ margin: { top: $block-margin * .8; bottom: $block-margin * .8; }
51
+ }
52
+
53
+ a:hover, :focus {
54
+ color: $blue;
55
+ }
56
+
57
+ }
@@ -0,0 +1,126 @@
1
+ $status-text: #fff;
2
+ $status-text-shadow: rgba(#000, .2) 0 1px 1px;
3
+
4
+ @mixin notification-style($color) {
5
+ .notification-content {
6
+ background: $color;
7
+ }
8
+ .notification-content:before {
9
+ background: darken($color, 10);
10
+ }
11
+ }
12
+
13
+ .form-flash {
14
+ display: none;
15
+ }
16
+
17
+ .notification {
18
+ position: fixed; top: 0; left: 0; right: 0;
19
+ height: 1px;
20
+ z-index: $z-notifications;
21
+ overflow: visible;
22
+ transform: translate3d(0,0,0);
23
+ &:after {
24
+ content: "";
25
+ position: absolute;
26
+ top: 0; left: 0; right: 0;
27
+ height: 56px;
28
+ z-index: -1;
29
+ }
30
+
31
+ &-content {
32
+ width: 100%;
33
+ margin: 0 auto;
34
+ position: relative;
35
+ color: $status-text;
36
+ text-shadow: $status-text-shadow;
37
+ background: $purple;
38
+ display: table;
39
+ table-layout: fixed;
40
+ animation: slide-down .3s;
41
+ @extend .bubble_icon;
42
+ &:before {
43
+ @include smooth-text;
44
+ background: darken($purple, 10);
45
+ font-family: 'roboticons';
46
+ display: table-cell;
47
+ width: 65px;
48
+ font-size: 30px;
49
+ vertical-align: middle;
50
+ text-align: center;
51
+ }
52
+ }
53
+
54
+ &-message, &-close {
55
+ display: table-cell;
56
+ vertical-align: middle;
57
+ }
58
+
59
+ &-message {
60
+ padding: 8px 15px;
61
+ a {
62
+ color: #fef0bd;
63
+ &:hover, &:focus {
64
+ color: inherit;
65
+ }
66
+ }
67
+ }
68
+
69
+ &-close {
70
+ width: 54px;
71
+ text-align: center;
72
+ text-decoration: none;
73
+ padding: 14px;
74
+ font-size: 25px;
75
+ color: #fff;
76
+ cursor: pointer;
77
+ opacity: .7;
78
+ transition: opacity .1s ease-out;
79
+ animation: half-spin .5s ease-out;
80
+
81
+ [class*=_icon]{
82
+ display: block;
83
+ transform: scale(.80, .80);
84
+ transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
85
+ cursor: pointer;
86
+ &:before {
87
+ position: relative;
88
+ top: 3px;
89
+ cursor: pointer;
90
+ }
91
+ }
92
+
93
+ &:focus, &:hover {
94
+ opacity: 1;
95
+ outline: none;
96
+ [class*=_icon]{
97
+ transform: scale(1, 1);
98
+ }
99
+ }
100
+ }
101
+
102
+ &.dismiss {
103
+ animation: fade-out .3s .2s ease-in;
104
+ .notification-content {
105
+ animation: slide-up .2s .3s ease-out;
106
+ }
107
+ .notification-close {
108
+ animation: half-spin .5s ease-in reverse;
109
+ }
110
+ }
111
+
112
+ &.error {
113
+ @include notification-style($red);
114
+ }
115
+
116
+ &.action {
117
+ @include notification-style($boyblue);
118
+ }
119
+ &.success {
120
+ @include notification-style($green);
121
+ }
122
+
123
+ &.message {
124
+ @include notification-style($slate);
125
+ }
126
+ }
@@ -0,0 +1,157 @@
1
+ @mixin pop-message-style($bg, $icon, $color, $link-hover: false) {
2
+ color: $color;
3
+ &:before {
4
+ @extend .#{$icon}_icon:before;
5
+ }
6
+ .icon, &:before {
7
+ background: lighten($bg, 6);
8
+ }
9
+ .dismiss {
10
+ background: darken($bg, 6);
11
+ &:hover {
12
+ background: darken($bg, 3);
13
+ }
14
+ }
15
+ p {
16
+ background: $bg;
17
+ &:hover {
18
+ background: lighten($bg, 4);
19
+ }
20
+ }
21
+ @if ($link-hover) {
22
+ a:hover, a:hover:after { color: $link-hover; }
23
+ }
24
+
25
+ &.with-url:not(.dismissable):hover {
26
+ &:before {
27
+ background: lighten($bg, 10);
28
+ }
29
+ p:hover {
30
+ background: lighten($bg, 4);
31
+ }
32
+ }
33
+ }
34
+
35
+ .pop-message {
36
+ position: absolute;
37
+ top: 0;
38
+ left: 0;
39
+ right: 0;
40
+ text-align: center;
41
+ margin: 0 auto;
42
+ height: 0;
43
+ overflow: visible;
44
+ font-size: .95em;
45
+ text-shadow: none;
46
+ &.new {
47
+ animation: slide-down .3s;
48
+ }
49
+
50
+ @include until($medium) {
51
+ display: none;
52
+ }
53
+
54
+ .message-content {
55
+ display: table;
56
+ margin: 0 auto;
57
+ position: relative;
58
+ @include smooth-text;
59
+ &:before {
60
+ font-family: 'roboticons';
61
+ transition: all .2s ease;
62
+ display: table-cell;
63
+ vertical-align: middle;
64
+ text-align: center;
65
+ width: 2em;
66
+ font-size: 1.1em;
67
+ }
68
+ p, .dismiss {
69
+ display: table-cell;
70
+ margin: 0;
71
+ transition: all .2s ease;
72
+ }
73
+ }
74
+
75
+ .dismissable {
76
+ &:before { display: none; }
77
+ p { position: relative; }
78
+ }
79
+
80
+ .icon {
81
+ display: table-cell;
82
+ vertical-align: middle;
83
+ text-align: center;
84
+ width: 2em;
85
+ padding: 0;
86
+ }
87
+
88
+ .dismiss {
89
+ padding-left: 0;
90
+ width: 2em;
91
+ color: rgba(#fff, .3);
92
+
93
+ &:hover {
94
+ color: rgba(#fff, .5);
95
+ }
96
+
97
+ &:before {
98
+ color: inherit;
99
+ display: table-cell;
100
+ vertical-align: middle;
101
+ font-size: 1.1em;
102
+ vertical-align: middle;
103
+ display: inline-block;
104
+ position: relative; top: -.1em;
105
+ }
106
+ }
107
+
108
+ .dismiss-icon {
109
+ vertical-align: middle;
110
+ font-size: 1.2em;
111
+ }
112
+
113
+ p {
114
+ padding: .4em .6em;
115
+ }
116
+
117
+ p a {
118
+ display: inline-block;
119
+ text-decoration: none;
120
+ transition: all .2s ease;
121
+ &:before {
122
+ content: "";
123
+ position: absolute;
124
+ top: 0; bottom: 0; left: 0; right: 0;
125
+ }
126
+ &:after {
127
+ @extend .chevron_icon:before;
128
+ position: relative; top: 1px;
129
+ font-family: 'roboticons';
130
+ padding-left: .4em;
131
+ display: inline-block;
132
+ text-decoration: none;
133
+ }
134
+ }
135
+
136
+ // Styles
137
+ .message-content {
138
+
139
+ &:before { color: inherit; }
140
+ p a, p a:after { color: inherit; }
141
+
142
+ // Standard style
143
+ &.normal {
144
+ @include pop-message-style(lighten($night, 7), star, $lightgray, $overcast);
145
+ }
146
+
147
+ // Error style
148
+ &.negative, &.error {
149
+ @include pop-message-style(darken($red, 14), warning, #fff);
150
+ }
151
+
152
+ &.positive {
153
+ @include pop-message-style(darken($green, 14), warning, #fff);
154
+ }
155
+ }
156
+ }
157
+
@@ -0,0 +1,7 @@
1
+ .auto-navigate {
2
+ cursor: pointer;
3
+
4
+ &:active {
5
+ cursor: text;
6
+ }
7
+ }
@@ -0,0 +1,35 @@
1
+ .breadcrumbs {
2
+ display: table-cell;
3
+ word-wrap: break-word;
4
+ letter-spacing: -4px;
5
+ /*word-spacing: -.3em;*/
6
+ }
7
+
8
+ .breadcrumb {
9
+ letter-spacing: 0;
10
+ &:after {
11
+ content: "";
12
+ border-right: 1px solid $gray;
13
+ height: .9em;
14
+ width: .2em;
15
+ padding: 0 5px;
16
+ color: $light-text-color;
17
+ display: inline-block;
18
+ @include smooth-text;
19
+ transform: translateX(-6px) rotate(20deg);
20
+ }
21
+
22
+ &:first-child {
23
+ font-weight: 500;
24
+ }
25
+ &:last-child {
26
+ text-decoration: none;
27
+ font-weight: bold;
28
+ color: $text-color;
29
+
30
+ &:after {
31
+ content: "";
32
+ display: none;
33
+ }
34
+ }
35
+ }