express_ui 0.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +38 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/express_ui_manifest.js +2 -0
  6. data/app/assets/javascripts/express_ui/application.js +1 -0
  7. data/app/assets/javascripts/express_ui/copy_code.js +63 -0
  8. data/app/assets/javascripts/express_ui/search.js +103 -0
  9. data/app/assets/javascripts/express_ui/styleguide.js +90 -0
  10. data/app/assets/stylesheets/express_ui/atoms/_animations.sass +35 -0
  11. data/app/assets/stylesheets/express_ui/atoms/_buttons.sass +119 -0
  12. data/app/assets/stylesheets/express_ui/atoms/_headings.sass +51 -0
  13. data/app/assets/stylesheets/express_ui/atoms/_icons.sass +3 -0
  14. data/app/assets/stylesheets/express_ui/atoms/_images.sass +37 -0
  15. data/app/assets/stylesheets/express_ui/atoms/_media_queries.sass +27 -0
  16. data/app/assets/stylesheets/express_ui/atoms/_mixins.sass +33 -0
  17. data/app/assets/stylesheets/express_ui/atoms/_reset.sass +11 -0
  18. data/app/assets/stylesheets/express_ui/atoms/_typography.sass +167 -0
  19. data/app/assets/stylesheets/express_ui/atoms/_variables.sass +52 -0
  20. data/app/assets/stylesheets/express_ui/molecules/_button_group.sass +54 -0
  21. data/app/assets/stylesheets/express_ui/molecules/_container.sass +29 -0
  22. data/app/assets/stylesheets/express_ui/molecules/_flash_messages.sass +56 -0
  23. data/app/assets/stylesheets/express_ui/molecules/_form_groups.sass +96 -0
  24. data/app/assets/stylesheets/express_ui/molecules/_forms.sass +159 -0
  25. data/app/assets/stylesheets/express_ui/molecules/_lists.sass +56 -0
  26. data/app/assets/stylesheets/express_ui/molecules/_nav.sass +85 -0
  27. data/app/assets/stylesheets/express_ui/molecules/_tables.sass +77 -0
  28. data/app/assets/stylesheets/express_ui/molecules/_tabs.sass +23 -0
  29. data/app/assets/stylesheets/express_ui/organisms/_header.sass +29 -0
  30. data/app/assets/stylesheets/express_ui/organisms/_sidebar.sass +113 -0
  31. data/app/assets/stylesheets/express_ui/style.sass +31 -0
  32. data/app/assets/stylesheets/express_ui/styleguide.sass +200 -0
  33. data/app/assets/stylesheets/express_ui/templates/_content_sidebar.sass +31 -0
  34. data/app/assets/stylesheets/express_ui/templates/_full_width.sass +5 -0
  35. data/app/assets/stylesheets/express_ui/templates/_half_width.sass +8 -0
  36. data/app/assets/stylesheets/express_ui/templates/_master_detail.sass +50 -0
  37. data/app/components/code_demo.rb +31 -0
  38. data/app/controllers/express_ui/about_controller.rb +10 -0
  39. data/app/controllers/express_ui/application_controller.rb +5 -0
  40. data/app/controllers/express_ui/styleguide_controller.rb +10 -0
  41. data/app/controllers/express_ui/templates_controller.rb +26 -0
  42. data/app/controllers/express_ui/uicomponents_controller.rb +26 -0
  43. data/app/helpers/express_ui/application_helper.rb +28 -0
  44. data/app/jobs/express_ui/application_job.rb +4 -0
  45. data/app/mailers/express_ui/application_mailer.rb +6 -0
  46. data/app/models/express_ui/application_record.rb +5 -0
  47. data/app/views/express_ui/atoms/_animations.html.erb +33 -0
  48. data/app/views/express_ui/atoms/_buttons.html.erb +129 -0
  49. data/app/views/express_ui/atoms/_headings.html.erb +3 -0
  50. data/app/views/express_ui/atoms/_icons.html.erb +13 -0
  51. data/app/views/express_ui/atoms/_mixins.html.erb +6 -0
  52. data/app/views/express_ui/atoms/_typography.html.erb +201 -0
  53. data/app/views/express_ui/atoms/_variables.html.erb +50 -0
  54. data/app/views/express_ui/molecules/_button_group.html.erb +90 -0
  55. data/app/views/express_ui/molecules/_container.html.erb +32 -0
  56. data/app/views/express_ui/molecules/_flash_messages.html.erb +49 -0
  57. data/app/views/express_ui/molecules/_form_group_horizontal.html.erb +14 -0
  58. data/app/views/express_ui/molecules/_form_group_inline.html.erb +1 -0
  59. data/app/views/express_ui/molecules/_form_group_single_line.html.erb +9 -0
  60. data/app/views/express_ui/molecules/_form_groups.html.erb +69 -0
  61. data/app/views/express_ui/molecules/_forms.html.erb +209 -0
  62. data/app/views/express_ui/molecules/_forms_checkbox.html.erb +20 -0
  63. data/app/views/express_ui/molecules/_forms_radio.html.erb +12 -0
  64. data/app/views/express_ui/molecules/_forms_select.html.erb +11 -0
  65. data/app/views/express_ui/molecules/_nav.html.erb +11 -0
  66. data/app/views/express_ui/molecules/_nav_mega_menu.html.erb +74 -0
  67. data/app/views/express_ui/molecules/_table.html.erb +93 -0
  68. data/app/views/express_ui/molecules/_table_with_filtering.html.erb +55 -0
  69. data/app/views/express_ui/organisms/_header.html.erb +24 -0
  70. data/app/views/express_ui/shared/_header.html.erb +10 -0
  71. data/app/views/express_ui/shared/_search_box.html.erb +6 -0
  72. data/app/views/express_ui/shared/_sidebar_left.html.erb +4 -0
  73. data/app/views/express_ui/shared/_sidebar_right.html.erb +5 -0
  74. data/app/views/express_ui/styleguide/about.html.erb +22 -0
  75. data/app/views/express_ui/styleguide/index.html.erb +79 -0
  76. data/app/views/express_ui/templates/_header.html.erb +15 -0
  77. data/app/views/express_ui/templates/_templates.html.erb +57 -0
  78. data/app/views/express_ui/templates/content_and_sidebar.html.erb +32 -0
  79. data/app/views/express_ui/templates/content_and_sidebar_fixed.html.erb +34 -0
  80. data/app/views/express_ui/templates/full_width.html.erb +25 -0
  81. data/app/views/express_ui/templates/half_width.html.erb +25 -0
  82. data/app/views/express_ui/templates/master_detail.html.erb +41 -0
  83. data/app/views/express_ui/templates/master_detail_fixed.html.erb +36 -0
  84. data/app/views/express_ui/uicomponents/_buttons.html.et +10 -0
  85. data/app/views/express_ui/uicomponents/_flash_message.html.et +19 -0
  86. data/app/views/express_ui/uicomponents/_forms.html.et +118 -0
  87. data/app/views/express_ui/uicomponents/_heading.html.et +24 -0
  88. data/app/views/express_ui/uicomponents/_icons.html.et +35 -0
  89. data/app/views/express_ui/uicomponents/_layout.html.et +47 -0
  90. data/app/views/express_ui/uicomponents/_lists.html.et +9 -0
  91. data/app/views/express_ui/uicomponents/_login.html.erb +15 -0
  92. data/app/views/express_ui/uicomponents/_nav.html.et +18 -0
  93. data/app/views/express_ui/uicomponents/_pages.html.et +22 -0
  94. data/app/views/express_ui/uicomponents/_panel.html.et +33 -0
  95. data/app/views/express_ui/uicomponents/_popup.html.et +19 -0
  96. data/app/views/express_ui/uicomponents/_register.html.erb +14 -0
  97. data/app/views/express_ui/uicomponents/_sidebar.html.et +8 -0
  98. data/app/views/express_ui/uicomponents/_table.html.et +29 -0
  99. data/app/views/express_ui/uicomponents/_widget_box.html.et +14 -0
  100. data/app/views/express_ui/uicomponents/index.html.erb +55 -0
  101. data/app/views/layouts/express_ui/styleguide.html.erb +20 -0
  102. data/config/routes.rb +12 -0
  103. data/lib/express_ui.rb +5 -0
  104. data/lib/express_ui/engine.rb +12 -0
  105. data/lib/express_ui/version.rb +3 -0
  106. data/lib/tasks/express_ui_tasks.rake +4 -0
  107. metadata +251 -0
@@ -0,0 +1,77 @@
1
+ table
2
+ width: 100%
3
+ box-shadow: none
4
+ margin: 1em 0
5
+ border-collapse: collapse
6
+
7
+ .ae-table-fixed-width
8
+ table-layout: fixed
9
+
10
+ th
11
+ padding: 0.8em
12
+ color: $thead-color
13
+ background: rgba($primary-color, 0.1)
14
+ border-bottom: 1px solid rgba($thead-color, 0.2)
15
+ word-wrap: break-word
16
+ text-align: left
17
+ text-transform: uppercase
18
+ @include font-size(10px, 12px)
19
+ vertical-align: top
20
+
21
+ a:link, a:visited
22
+ color: $thead-color
23
+ text-decoration: none
24
+
25
+ tbody
26
+ td
27
+ padding: 0.8em
28
+ word-wrap: break-word
29
+ vertical-align: top
30
+
31
+ p
32
+ padding-top: 0
33
+
34
+ tr:nth-child(even)
35
+ background: $dark-gray-background
36
+
37
+ &.ae-table-unstyled
38
+ thead
39
+ th
40
+ color: $thead-color
41
+ background: transparent
42
+
43
+ tbody
44
+ tr:nth-child(even)
45
+ background: transparent
46
+
47
+ @include laptop-max
48
+ width: 100%!important
49
+
50
+ .ae-table-responsive
51
+ overflow-x: scroll
52
+
53
+ .ae-table-filter
54
+ display: flex
55
+ flex-flow: row
56
+ flex-wrap: nowrap
57
+ justify-content: flex-start
58
+ align-items: stretch
59
+ align-content: stretch
60
+ background-color: $gray-background
61
+
62
+ .ae-filter
63
+ // border-right: 1px solid $border-light
64
+ padding: 0 $container-padding*2
65
+
66
+ & + table
67
+ margin-top: 0
68
+ border-top: 1px solid $border-light
69
+
70
+ *
71
+
72
+ display: flex
73
+ flex-direction: row
74
+ flex-wrap: nowrap
75
+ justify-content: flex-start
76
+ align-items: center
77
+ align-content: stretch
@@ -0,0 +1,23 @@
1
+ .ae-tabs
2
+ margin: 0
3
+ padding: 0
4
+ list-style: none
5
+
6
+ li
7
+ display: inline-block
8
+ padding: 0.5em 1em
9
+ cursor: pointer
10
+ text-align: center
11
+
12
+ &.active-tab
13
+ background-color: #fff
14
+ border: 1px solid $border-light
15
+ border-bottom-color: transparent
16
+
17
+ .ae-tab-content
18
+ display: none
19
+ padding: 12px
20
+ border: 1px solid $border-light
21
+ &.active-tab
22
+ display: inherit
23
+ margin-top: -2px
@@ -0,0 +1,29 @@
1
+ header
2
+ background: $gray-background
3
+ max-height: $header-max-height
4
+ @include box-shadow(0, 0, 3px, 0, rgba($border-dark, 0.5))
5
+ @include clearfix
6
+
7
+ @include tablet
8
+ padding: 0.5em 0
9
+
10
+ img
11
+ margin: 0
12
+
13
+ .ae-logo
14
+ float: left
15
+ padding: 0.25em 0.5em
16
+
17
+ &.ae-header-fixed
18
+ position: fixed
19
+ top: 0
20
+ left: 0
21
+ right: 0
22
+ z-index: 2
23
+
24
+ & + .ae-container
25
+ margin-top: ($header-max-height/2.75)
26
+
27
+
28
+ & + [class*="ae-template-"]
29
+ margin-top: ($header-max-height/2.75)
@@ -0,0 +1,113 @@
1
+ @mixin sidebar($width)
2
+ .ae-sidebar-left
3
+ width: $width
4
+
5
+ @include laptop
6
+ width: 250px
7
+
8
+ @mixin sidebar-fixed($width)
9
+ .ae-sidebar-left
10
+ width: $width
11
+ position: fixed
12
+
13
+ @include laptop
14
+ max-width: 250px
15
+
16
+ .ae-content
17
+ left: $width
18
+
19
+ .ae-sidebar-left
20
+ background-color: $primary-color
21
+
22
+ .ae-sidebar-right
23
+ background-color: $dark-gray-background
24
+ padding-left: $container-padding
25
+ padding-right: $container-padding
26
+
27
+ .ae-sidebar
28
+ word-wrap: inherit
29
+ overflow-y: scroll
30
+ padding:
31
+ top: $container-padding
32
+ bottom: $container-padding
33
+
34
+ nav .active
35
+ a:link
36
+ background: $primary-active-color
37
+
38
+ .ae-sidebar-overlay
39
+ content: " "
40
+ z-index: 1
41
+ left: 0
42
+ top: 0
43
+ width: 100%
44
+ height: 100%
45
+ position: absolute
46
+
47
+ .ae-sidebar-title
48
+ background-color: $primary-color
49
+ padding: 0.25em
50
+
51
+ *
52
+ color: #FFF
53
+ border-bottom: 0
54
+
55
+
56
+ a:link, a:visited
57
+ color: #FFF
58
+ text-decoration: none
59
+ color: #FFF
60
+
61
+ &:hover
62
+ color: lighten($primary-color, 20%)
63
+
64
+ ul
65
+ li
66
+ a:link
67
+ display: block
68
+ border-bottom: 1px solid rgba(#fff, 0.1)
69
+ padding:
70
+ left: 1.75em
71
+ ul
72
+ margin:
73
+ top: 0
74
+ bottom: 1em
75
+ left: 1em
76
+
77
+ li
78
+ a:link
79
+ padding:
80
+ left: 1.75em
81
+
82
+ ul
83
+ margin:
84
+ left: 0
85
+
86
+
87
+ &.active
88
+ ul
89
+ a:link
90
+ background: transparent
91
+
92
+ li.active
93
+ background: $primary-active-color
94
+
95
+ .ae-sidebar-has-icons
96
+
97
+ li
98
+ a:link
99
+ padding:
100
+ left: 0.5em
101
+
102
+ .fa
103
+ width: 0.5em
104
+ margin:
105
+ left: -0.75em
106
+ // right: 0.5em
107
+
108
+ ul
109
+ margin:
110
+ // left: 1.5em !important
111
+
112
+ li a:link
113
+ // text-indent: 0
@@ -0,0 +1,31 @@
1
+ // Global – Do not change order
2
+ @import "atoms/mixins"
3
+ @import "atoms/animations"
4
+ @import "atoms/variables"
5
+ @import "atoms/media_queries"
6
+ @import "atoms/typography"
7
+ // End Global
8
+
9
+ // Atoms, Molecules, Organisms
10
+ @import "font-awesome-sprockets"
11
+ @import "font-awesome"
12
+ @import "atoms/headings"
13
+ @import "atoms/buttons"
14
+ @import "atoms/reset"
15
+ @import "atoms/images"
16
+ @import "atoms/icons"
17
+ @import "molecules/tabs"
18
+ @import "molecules/button_group"
19
+ @import "molecules/container"
20
+ @import "molecules/forms"
21
+ @import "molecules/form_groups"
22
+ @import "molecules/flash_messages"
23
+ @import "molecules/nav"
24
+ @import "molecules/tables"
25
+ @import "molecules/lists"
26
+ @import "organisms/header"
27
+ @import "organisms/sidebar"
28
+ @import "templates/full_width"
29
+ @import "templates/half_width"
30
+ @import "templates/content_sidebar"
31
+ @import "templates/master_detail"
@@ -0,0 +1,200 @@
1
+ @import "style"
2
+ @import "resizable"
3
+
4
+ header
5
+ @include font-size(12px, 12px)
6
+
7
+ .content
8
+
9
+ h2, h3, h4
10
+ @include heading($border-light, uppercase)
11
+
12
+
13
+ .ae-anchor
14
+ @include font-size(10px, 10px)
15
+ margin: 0 0 0 0.5em
16
+
17
+ &:hover
18
+ @include scale
19
+
20
+ pre
21
+ font-size: 0.75rem
22
+
23
+ .pre-line
24
+ white-space: pre-line
25
+
26
+
27
+ // SIDEBAR
28
+ .sidebar
29
+ .fa
30
+ margin-right: 0.25em
31
+ color: #fff
32
+
33
+ // BACK TO TOP
34
+ .back-to-top
35
+ position: fixed
36
+ bottom: 10px
37
+ right: 15px
38
+
39
+ .demo-container
40
+ .ae-anchor
41
+ display: none
42
+ .ae-sidebar
43
+ position: relative
44
+ width: 100%
45
+ .ae-form-single
46
+ .ae-form-field
47
+ width: 170px
48
+
49
+ h1, h2, h3, h4, h5, h6
50
+ border-bottom: 0
51
+
52
+
53
+ // CLICK TO COPY
54
+ .click-to-copy
55
+ position: absolute
56
+ bottom: 0.25em
57
+ right: 0
58
+ outline: 0
59
+ width: 36px
60
+ height: 36px
61
+
62
+ .fa-clipboard
63
+ font-size: 13px
64
+
65
+ .click-to-copy__success-text--container
66
+ position: relative
67
+
68
+ .click-to-copy__success-text
69
+ @include status
70
+ position: absolute
71
+ top: 0
72
+ right: 0
73
+
74
+ display: block
75
+
76
+ [data-tooltip]
77
+ z-index: 2
78
+ cursor: pointer
79
+
80
+
81
+ // Hide the tooltip content by default
82
+ [data-tooltip]:before,
83
+ [data-tooltip]:after
84
+ visibility: hidden
85
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
86
+ filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)"
87
+ opacity: 0
88
+ pointer-events: none
89
+
90
+
91
+ // Position tooltip left of the element
92
+ [data-tooltip]:before
93
+ @include status
94
+ position: absolute
95
+ bottom: -1px
96
+ right: 47px
97
+ left: auto
98
+ margin-bottom: 5px
99
+ margin-left: -80px
100
+ padding: 7px
101
+ width: 100px
102
+ font-size: 11px
103
+ background-color: #000
104
+ background-color: hsla(0, 0%, 20%, 0.9)
105
+ color: #fff
106
+ content: attr(data-tooltip)
107
+ text-align: center
108
+ line-height: 1.2
109
+
110
+ // Triangle hack to make tooltip look like a speech bubble
111
+ [data-tooltip]:after
112
+ position: absolute
113
+ bottom: 12px
114
+ right: 37px
115
+ left: auto
116
+ width: 0
117
+ border-left: 5px solid hsla(0, 0%, 20%, 0.9)
118
+ border-bottom: 5px solid transparent
119
+ border-right: 5px solid transparent
120
+ border-top: 5px solid transparent
121
+ content: " "
122
+ font-size: 0
123
+ line-height: 0
124
+
125
+
126
+ // Show tooltip content on hover
127
+ [data-tooltip]:hover:before,
128
+ [data-tooltip]:hover:after
129
+ visibility: visible
130
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
131
+ filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)"
132
+ opacity: 1
133
+
134
+
135
+ // prettyprint
136
+ /*! Color themes for Google Code Prettify | MIT License | github.com/jmblog/color-themes-for-google-code-prettify */
137
+
138
+ .prettyprint
139
+ font-family: Menlo, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, Consolas, monospace
140
+ width: auto
141
+ padding: 1em
142
+ @include box-shadow(inset 0, 0, 5px, 0, rgba($border-dark, 0.5))
143
+ position: relative
144
+
145
+ .pln
146
+ color: #161b1d
147
+
148
+ /* Specify class=linenums on a pre to get line numbering */
149
+
150
+ ol.linenums
151
+ margin-top: 0
152
+ margin-bottom: 0
153
+ color: #7195a8
154
+
155
+ li
156
+ &.L0, &.L1, &.L2, &.L3, &.L4, &.L5, &.L6, &.L7, &.L8, &.L9
157
+ padding-left: 1em
158
+ background-color: #ebf8ff
159
+ list-style-type: decimal
160
+
161
+ @media screen
162
+ /* string content */
163
+ .str
164
+ color: #568c3b
165
+ /* keyword */
166
+ .kwd
167
+ color: #6b6bb8
168
+ /* comment */
169
+ .com
170
+ color: #7195a8
171
+ /* type name */
172
+ .typ
173
+ color: #257fad
174
+ /* literal value */
175
+ .lit
176
+ color: #935c25
177
+ /* punctuation */
178
+ .pun, .opn, .clo
179
+ color: #161b1d
180
+ /* lisp open bracket */
181
+ /* lisp close bracket */
182
+ /* markup tag name */
183
+ .tag
184
+ color: #d22d72
185
+ /* markup attribute name */
186
+ .atn
187
+ color: #935c25
188
+ /* markup attribute value */
189
+ .atv
190
+ color: #2d8f6f
191
+ /* declaration */
192
+ .dec
193
+ color: #935c25
194
+ /* variable name */
195
+ .var
196
+ color: #d22d72
197
+ /* function name */
198
+ .fun
199
+ color: #257fad
200
+