tungsten 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/tungsten/_form_helpers.js +21 -0
  3. data/app/assets/javascripts/tungsten/code.js +20 -0
  4. data/app/assets/javascripts/tungsten/tungsten.js +4 -20
  5. data/app/assets/stylesheets/tungsten/_code-color.scss +0 -0
  6. data/app/assets/stylesheets/tungsten/_colors.yml +68 -4
  7. data/app/assets/stylesheets/tungsten/_index.scss +5 -0
  8. data/app/assets/stylesheets/tungsten/code/_codemirror.scss +56 -0
  9. data/app/assets/stylesheets/tungsten/code/_color.scss +58 -0
  10. data/app/assets/stylesheets/tungsten/code/_highlighted.scss +64 -0
  11. data/app/assets/stylesheets/tungsten/code/_index.scss +3 -0
  12. data/app/assets/stylesheets/tungsten/core/_buttons.scss +144 -0
  13. data/app/assets/stylesheets/tungsten/core/_cards.scss +90 -0
  14. data/app/assets/stylesheets/tungsten/core/_colors.scss +20 -0
  15. data/app/assets/stylesheets/tungsten/core/_globals.scss +172 -0
  16. data/app/assets/stylesheets/tungsten/core/_grid.scss +164 -0
  17. data/app/assets/stylesheets/tungsten/core/_index.scss +7 -13
  18. data/app/assets/stylesheets/tungsten/core/_layout.scss +47 -0
  19. data/app/assets/stylesheets/tungsten/core/_text.scss +219 -0
  20. data/app/assets/stylesheets/tungsten/form/_base.scss +235 -0
  21. data/app/assets/stylesheets/tungsten/form/_check-radio.scss +154 -0
  22. data/app/assets/stylesheets/tungsten/form/_check-switch.scss +104 -0
  23. data/app/assets/stylesheets/tungsten/form/_index.scss +4 -0
  24. data/app/assets/stylesheets/tungsten/form/_label-placeholder.scss +98 -0
  25. data/app/assets/stylesheets/tungsten/tungsten.scss +1 -3
  26. data/app/helpers/tungsten/card_helper.rb +76 -0
  27. data/app/helpers/tungsten/deployments_helper.rb +59 -0
  28. data/app/helpers/tungsten/form_helper.rb +509 -0
  29. data/app/helpers/tungsten/layout_helper.rb +7 -0
  30. data/app/helpers/tungsten/toggle_nav_helper.rb +84 -0
  31. data/app/views/layouts/tungsten/default.html.slim +47 -0
  32. data/app/views/shared/tungsten/_defs.html.slim +6 -0
  33. data/app/views/shared/tungsten/_footer.html.slim +2 -0
  34. data/app/views/shared/tungsten/_header.html.slim +2 -0
  35. data/config/data/deployments.yml +110 -0
  36. data/lib/tungsten.rb +26 -2
  37. data/lib/tungsten/helper.rb +4 -0
  38. data/lib/tungsten/version.rb +1 -1
  39. data/public/{tungsten-0.1.0.js → code-0.1.1.js} +43 -69
  40. data/public/code-0.1.1.js.gz +0 -0
  41. data/public/code-0.1.1.map.json +1 -0
  42. data/public/tungsten-0.1.1.css +1523 -0
  43. data/public/tungsten-0.1.1.css.gz +0 -0
  44. data/public/tungsten-0.1.1.js +79 -0
  45. data/public/tungsten-0.1.1.js.gz +0 -0
  46. data/public/tungsten-0.1.1.map.json +1 -0
  47. metadata +120 -16
  48. data/app/helpers/tungsten/application_helper.rb +0 -4
  49. data/app/views/layouts/tungsten/default.html.erb +0 -17
  50. data/public/tungsten-0.1.0.css +0 -17
  51. data/public/tungsten-0.1.0.css.gz +0 -0
  52. data/public/tungsten-0.1.0.js.gz +0 -0
  53. data/public/tungsten-0.1.0.map.json +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e97fc0fe7bed257db251420cd9e920782653bb3
4
- data.tar.gz: e1455cfe02b515424ca7442a4b7b8a781ca8e127
3
+ metadata.gz: 06c81130859fa7bd4a0673370e233d1b8fd8ad45
4
+ data.tar.gz: a9c421d5a3b3fddbd49d266ab96e36e2ea311bea
5
5
  SHA512:
6
- metadata.gz: bf1d4bb5daa9bcc7acb652cfeada3b0c1513e5381d2d789e5c25c7c16912935cb25bf507e8a942f1369e8c9b3bbbcc06117ade85bd66bef7b72e3a6234aadac3
7
- data.tar.gz: 3ffe3652bcd83bfd30280761c7d7e01803a4566e1e5bca2253c65351c9bf575fdb57d9edf177176780e15e471a78cb0a86b9aa64e5359b3cc126ea1ab4e72366
6
+ metadata.gz: 12014325939bb67a71482ffb2d5f1d6ebf55b1dbdd786a4daaa543aa4f36f42e4c56f85130e9fe592a99e491025bd912ecdb60c7f65e6ee565670e39b2a5b870
7
+ data.tar.gz: 477692ad0379c819068b6302d54392f289ca497c9747eef41c1623993054adb5563f640c5caf9d140772a3cbc0653f5813b6f9a0289b0f50e52474b7c0381a5f
@@ -0,0 +1,21 @@
1
+ var toolbox = require( 'compose-toolbox' )
2
+ var Event = toolbox.event
3
+ var textSelectors = 'textarea, input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=reset])'
4
+
5
+ function syncValue( input ) {
6
+
7
+ // Allow calling from event handler
8
+ input = ( input.target || input )
9
+
10
+ // If element is empty (or contains only whitespace)
11
+ // Add empty class
12
+ input.classList.toggle( 'empty', !input.value.trim().length )
13
+ }
14
+
15
+ // Initialize input state
16
+ Event.change( function() {
17
+ toolbox.each( document.querySelectorAll( textSelectors ), syncValue )
18
+ })
19
+
20
+ // Set input state on keyup (debounced)
21
+ Event.on( document, 'input', textSelectors, syncValue )
@@ -0,0 +1,20 @@
1
+ var event = require( 'compose-toolbox' ).event
2
+ var highlighter = require( 'compose-code-highlighter' )
3
+
4
+ require( 'codemirror/mode/htmlmixed/htmlmixed' )
5
+ require( 'codemirror/mode/slim/slim' )
6
+ require( 'codemirror/mode/javascript/javascript' )
7
+ require( 'codemirror/mode/css/css' )
8
+ require( 'codemirror/mode/sql/sql' )
9
+ require( 'codemirror/mode/php/php' )
10
+ require( 'codemirror/mode/ruby/ruby' )
11
+ require( 'codemirror/mode/shell/shell' )
12
+ require( 'codemirror/mode/go/go' )
13
+ require( 'codemirror/mode/python/python' )
14
+ require( 'codemirror/mode/yaml/yaml' )
15
+ require( 'codemirror/mode/clike/clike' )
16
+ require( 'codemirror/addon/runmode/runmode' )
17
+ require( 'codemirror/addon/edit/matchbrackets' )
18
+
19
+
20
+ event.change( highlighter.highlight )
@@ -1,30 +1,14 @@
1
1
  var toggler = require('compose-toggler')
2
2
  var formUp = require( 'compose-form-up' )
3
3
  var toolbox = require( 'compose-toolbox' )
4
- var event = toolbox.event
5
4
  var ajax = require( 'superagent' )
6
- var highlighter = require( 'compose-code-highlighter' )
7
- var loader = require( 'compose-loader' )
8
-
9
- require( 'codemirror/mode/htmlmixed/htmlmixed' )
10
- require( 'codemirror/mode/slim/slim' )
11
- require( 'codemirror/mode/javascript/javascript' )
12
- require( 'codemirror/mode/css/css' )
13
- require( 'codemirror/mode/sql/sql' )
14
- require( 'codemirror/mode/php/php' )
15
- require( 'codemirror/mode/ruby/ruby' )
16
- require( 'codemirror/mode/shell/shell' )
17
- require( 'codemirror/mode/go/go' )
18
- require( 'codemirror/mode/python/python' )
19
- require( 'codemirror/mode/yaml/yaml' )
20
- require( 'codemirror/mode/clike/clike' )
21
- require( 'codemirror/addon/runmode/runmode' )
22
- require( 'codemirror/addon/edit/matchbrackets' )
5
+ var event = toolbox.event
23
6
 
24
7
  event.scroll.disablePointer() // disable pointer events on scroll for performance (to avoid extra repaints)
25
8
 
26
- require('compose-slider') // Our slider (range input) component
27
- require('./_icons')
9
+ require('compose-slider') // Our slider (range input) component
10
+ require('./_icons') // Import svg icons (from Esvg)
11
+ require( './_form_helpers' )
28
12
 
29
13
  // Public API object
30
14
  var tungsten = toolbox.merge( {
File without changes
@@ -1,5 +1,69 @@
1
1
  _colors:
2
- # Passive colors
3
- space: '#1f2b54' # Blue-Black
4
- shark: '#30446e' # Dark Blue-Gray
5
- steel: '#576e91' # Blue-Gray
2
+ white: '#fff' # carbon: ui-01
3
+ gray-01: '#f7fafb' # ratchet: cirrus
4
+ gray-02: '#f5f7fa' # carbon: ui-02
5
+ gray-03: '#f0f3f6' # carbon: ui-03
6
+ gray-04: '#dfe3e6' # carbon: ui-04
7
+ gray-05: '#d6dde7' # ratchet: isabella
8
+ gray-06: '#c3cdda' # ratchet: alabaster
9
+ gray-07: '#b4c1d2' # ratchet: dolphin
10
+ gray-08: '#8c9ba5' # carbon: ui-05
11
+ gray-09: '#5a6872' # carbon: text-02
12
+ gray-10: '#152934' # carbon: text-01
13
+ gray-11: '#0f212e' # carbon: nav-01
14
+
15
+ blue-01: '#5aaafa' # carbon: support-04
16
+ blue-02: '#5596e6' # carbon: brand-02
17
+ blue-03: '#0094fd' # ratchet: azure
18
+ blue-04: '#006dff' # ratchet: cobalt
19
+ blue-05: '#3d70b2' # carbon: brand-01
20
+
21
+ purple-01: '#ba8ff7' # carbon: nav-03
22
+ purple-02: '#a346ce' # ratchet: orchid
23
+ purple-03: '#734098' # carbon: nav-04
24
+
25
+ sea-01: '#41d6c3' # carbon: brand-03
26
+ sea-02: '#00b4a0' # carbon: nav-05
27
+ sea-03: '#008571' # carbon: nav-06
28
+
29
+ green-01: '#2ac84f' # ratchet: grass
30
+ green-02: '#5aa700' # carbon: support-02
31
+
32
+ yellow-01: '#efc100' # carbon: support-03
33
+
34
+ orange-01: '#f69523' # ratchet: gold
35
+ orange-02: '#f96623' # ratchet: tangelo
36
+
37
+ red-01: '#dd2f41' # ratchet: rusty
38
+ red-02: '#A81C27' # ratchet: terracotta
39
+
40
+ code:
41
+ base03: '#002b36'
42
+ base02: '#073642'
43
+ base01: '#586e75'
44
+ base00: '#657b83'
45
+ base0: '#839496'
46
+ base1: '#93a1a1'
47
+ base2: '#eee8d5'
48
+ base3: '#fbfbfb'
49
+ yellow: '#b58900'
50
+ orange: '#cb4b16'
51
+ red: '#dc322f'
52
+ magenta: '#d33682'
53
+ violet: '#6c71c4'
54
+ blue: '#268bd2'
55
+ cyan: '#2aa198'
56
+ green: '#859900'
57
+
58
+ gradients:
59
+ postgresql: ['#0094fd', '#625ff9']
60
+ elasticsearch: ['#625ff9', '#8f52ea']
61
+ rethinkdb: ['#0094fd', '#25c894']
62
+ mysql: ['#0094fd', '#8f52ea']
63
+ rabbitmq: ['#f69523', '#f96623']
64
+ redis: ['#f96623', '#dd2f41']
65
+ etcd: ['#c60ca5', '#dd2f41']
66
+ scylladb: ['#c60ca5', '#8f52ea']
67
+ mongodb: ['#25c894', '#2ac84f']
68
+ janusgraph: ['#869ebc', '#25c894']
69
+ compose: ['#0FA7DB', '#0094fd']
@@ -0,0 +1,5 @@
1
+ // Utility modules
2
+ @import 'colors.yml';
3
+ @import 'core/index';
4
+ @import 'code/index';
5
+ @import 'form/index';
@@ -0,0 +1,56 @@
1
+ div.CodeMirror {
2
+ //background: $softwhite;
3
+ //border: 1px solid $page-border;
4
+ border-radius: 4px;
5
+ padding: 5px;
6
+ font-family: $mono-font;
7
+
8
+ pre {
9
+ color: $code_base0;
10
+ font-size: 14px;
11
+ cursor: text;
12
+ }
13
+ .CodeMirror-cursor {
14
+ border-left: 2px solid #43baff;
15
+ }
16
+ .CodeMirror-cursor {
17
+ border-left: 2px solid #43baff;
18
+ }
19
+ span.CodeMirror-matchingbracket {
20
+ color: $blue-04; font-weight: bold;
21
+ }
22
+ span.CodeMirror-nonmatchingbracket {
23
+ color: $code_red;
24
+ }
25
+ }
26
+
27
+ .CodeMirror-scroll {
28
+ height: 100%;
29
+ overflow-y: hidden;
30
+ overflow-x: auto;
31
+ min-height: 250px;
32
+ padding-bottom: 0;
33
+ margin-bottom: 0;
34
+ }
35
+
36
+ .code-editor, .code-editor-content {
37
+ height: 100%;
38
+ .CodeMirror {
39
+ height: 100%;
40
+ max-height: 100%;
41
+ }
42
+ }
43
+
44
+ div.CodeMirror-focused {
45
+ border-color: hsl(203, 47%, 65%);
46
+ background-color: #fff;
47
+ box-shadow: 0 0 0 2px hsl(203, 47%, 65%) inset;
48
+ }
49
+
50
+ .document-view {
51
+ pre { cursor: default; }
52
+ .CodeMirror-cursor { display: none; }
53
+ }
54
+
55
+ div.CodeMirror-selected { background: desaturate($code-selected-bg, 100); }
56
+ .CodeMirror-focused div.CodeMirror-selected { background: $code-selected-bg; }
@@ -0,0 +1,58 @@
1
+ $code_base03: map-get($code, base3);
2
+ $code_base02: map-get($code, base2);
3
+ $code_base01: map-get($code, base1);
4
+ $code_base00: map-get($code, base0);
5
+ $code_base0: map-get($code, base00);
6
+ $code_base1: map-get($code, base01);
7
+ $code_base2: map-get($code, base02);
8
+ $code_base3: map-get($code, base03);
9
+ $code_yellow: map-get($code, yellow);
10
+ $code_orange: map-get($code, orange);
11
+ $code_red: map-get($code, red);
12
+ $code_magenta: map-get($code, magenta);
13
+ $code_violet: map-get($code, violet);
14
+ $code_blue: map-get($code, blue);
15
+ $code_cyan: map-get($code, cyan);
16
+ $code_green: map-get($code, green);
17
+
18
+ $code-selected-bg: #BDE1FF;
19
+
20
+ .cm-s-default {
21
+ .cm-keyword {color: $code_blue;}
22
+ .cm-atom {color: $code_yellow;}
23
+ .cm-number {color: $code_cyan;}
24
+ .cm-def {color: $code_magenta; font-weight: bold;}
25
+ .cm-variable {color: $code_orange;}
26
+ .cm-variable-2 {color: $code_blue;}
27
+ .cm-variable-3 {color: $code_green;}
28
+ .cm-property {color: $code_base1;}
29
+ .cm-operator {color: $code_base1;}
30
+ .cm-comment {color: $code_base01;}
31
+ .cm-string {color: $code_cyan;}
32
+ .cm-string-2 {color: $code_green;}
33
+ .cm-meta {color: #555;}
34
+ .cm-error {color: $code_red;}
35
+ .cm-qualifier {color: #555;}
36
+ .cm-builtin {color: #30a;}
37
+ .cm-bracket {color: #997;}
38
+ .cm-tag {color: $code_blue; font-weight: bold;}
39
+ .cm-attribute {color: $code_base1;}
40
+ .cm-header {color: blue;}
41
+ .cm-quote {color: #090;}
42
+ .cm-hr {color: #999;}
43
+ .cm-link {color: $code_violet;}
44
+ .cm-qualifier.cm-attribute {color: $code_orange;}
45
+ .cm-error {color: #f00;}
46
+ }
47
+
48
+ .static-code {
49
+ .cm-variable {color: $code_base1;}
50
+ }
51
+
52
+ .cm-negative {color: #d44;}
53
+ .cm-positive {color: #292;}
54
+ .cm-header, .cm-strong {font-weight: bold;}
55
+ .cm-em {font-style: italic;}
56
+ .cm-link {text-decoration: underline;}
57
+
58
+ .cm-invalidchar {color: #f00;}
@@ -0,0 +1,64 @@
1
+ /* Set up the basic look and feel */
2
+
3
+ code,
4
+ kbd,
5
+ samp {
6
+ color: inherit;
7
+ background-color: rgba(#fff, .3);//$code_base03;
8
+ border: 1px solid rgba(#000, .1);
9
+ font-family: Consolas, "Liberation Mono", Courier, monospace;
10
+ font-size: .95em;
11
+ border-radius: 3px;
12
+ &:before, &:after {
13
+ content: "\00a0";
14
+ letter-spacing: -0.2em;
15
+ }
16
+ }
17
+
18
+ pre[class*=lang-]{
19
+ padding: 1em;
20
+ }
21
+
22
+ pre.box-content {
23
+ margin-top: 0;
24
+ }
25
+
26
+ .highlighted {
27
+ border: 1px solid #e5e5e5;
28
+ position: relative;
29
+ background-color: $code_base03;
30
+ color: $code_base0;
31
+ line-height: inherit;
32
+ overflow-y: scroll;
33
+ font-size: 14px;
34
+ max-width: 100%;
35
+ word-break: normal;
36
+ word-wrap: normal;
37
+ transition: none;
38
+ }
39
+
40
+ .highlighted-code {
41
+ font-family: $mono-font;
42
+ background: none;
43
+ direction: ltr;
44
+ display: block;
45
+ -webkit-hyphens: none;
46
+ -moz-hyphens: none;
47
+ -ms-hyphens: none;
48
+ hyphens: none;
49
+ tab-size: 2;
50
+ text-align: left;
51
+ word-spacing: normal;
52
+ line-height: inherit;
53
+ word-break: normal;
54
+ word-wrap: normal;
55
+ overflow-x: scroll;
56
+
57
+ display: block;
58
+ border: none;
59
+ font-size: inherit;
60
+
61
+ &:before, &:after {
62
+ content: none;
63
+ }
64
+ }
@@ -0,0 +1,3 @@
1
+ @import 'color';
2
+ @import 'codemirror';
3
+ @import 'highlighted';
@@ -0,0 +1,144 @@
1
+ /* ========================================================================== *
2
+ * Button module
3
+ * -------------------------------------------------------------------------- */
4
+
5
+ // Universal
6
+ .button {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ width: auto;
11
+ line-height: 1;
12
+ font-size: 14px;
13
+ font-weight: 500;
14
+ text-align: center;
15
+ text-decoration: none;
16
+ border: 0;
17
+ padding: 12px 15px;
18
+ background: $white;
19
+ border-radius: $radius;
20
+ transition:
21
+ color $duration,
22
+ background $duration,
23
+ box-shadow $duration;
24
+
25
+ // Smaller padding in tight contexts
26
+ table &,
27
+ .card &,
28
+ .button-group &,
29
+ &.small {
30
+ padding: 8px 12px;
31
+ }
32
+
33
+ // Normal state
34
+ @include normal {
35
+ color: inherit;
36
+ box-shadow:
37
+ 0 0 0 1px rgba($gray-11, .1),
38
+ 0 1px 3px rgba($gray-11, .15);
39
+ }
40
+
41
+ // Active state
42
+ @include active {
43
+ color: $blue-03;
44
+ box-shadow:
45
+ 0 0 0 1px rgba($gray-11, .2),
46
+ 0 1px 3px rgba($gray-11, .25);
47
+ }
48
+
49
+ // Disabled
50
+ &[disabled] {
51
+ color: $gray-05 !important;
52
+ background: $gray-01 !important;
53
+ cursor: not-allowed !important;
54
+ box-shadow:
55
+ 0 0 0 1px rgba($gray-11, .1),
56
+ 0 1px 3px rgba($gray-11, .15) !important;
57
+ }
58
+ }
59
+
60
+ // Grouped buttons
61
+ .button-group {
62
+ display: flex;
63
+ align-items: flex-start;
64
+
65
+ .button {
66
+
67
+ & + .button {
68
+ margin: 0;
69
+ }
70
+
71
+ &:not(:first-child):not(:last-child) {
72
+ border-radius: 0;
73
+ }
74
+
75
+ &:first-child {
76
+ border-radius: $radius 0 0 $radius;
77
+ }
78
+
79
+ &:last-child {
80
+ border-radius: 0 $radius $radius 0;
81
+ }
82
+ }
83
+ }
84
+
85
+ // Destructive action
86
+ .button.destructive {
87
+
88
+ // Normal state
89
+ @include normal {
90
+ color: $red-01;
91
+ }
92
+
93
+ // Active state
94
+ @include active {
95
+ color: $red-02;
96
+ }
97
+ }
98
+
99
+ // Primary action
100
+ .button.primary {
101
+
102
+ // Normal state
103
+ @include normal {
104
+ color: $white;
105
+ background: $blue-03;
106
+ box-shadow:
107
+ 0 0 0 1px darken($blue-03, 5),
108
+ 0 1px 3px rgba($gray-11, .15);
109
+ }
110
+
111
+ // Active state
112
+ @include active {
113
+ color: $white;
114
+ background: $blue-04;
115
+ box-shadow:
116
+ 0 0 0 1px $blue-04,
117
+ 0 1px 3px rgba($gray-11, .15);
118
+ }
119
+ }
120
+
121
+ .primary.destructive {
122
+
123
+ // Normal state
124
+ @include normal {
125
+ background: $red-01;
126
+ box-shadow:
127
+ 0 0 0 1px darken($red-01, 5),
128
+ 0 1px 3px rgba($gray-11, .15);
129
+ }
130
+
131
+ // Active state
132
+ @include active {
133
+ color: $white;
134
+ background: $red-02;
135
+ box-shadow:
136
+ 0 0 0 1px $red-02,
137
+ 0 1px 3px rgba($gray-11, .15);
138
+ }
139
+ }
140
+
141
+ // Siblings need their space
142
+ .button + .button {
143
+ margin-left: 10px;
144
+ }