coolstrap-generator 0.1.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 (126) hide show
  1. data/.DS_Store +0 -0
  2. data/.gitignore +4 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +4 -0
  5. data/Rakefile +6 -0
  6. data/bin/coolstrap +5 -0
  7. data/coolstrap-generator.gemspec +42 -0
  8. data/lib/.DS_Store +0 -0
  9. data/lib/coolstrap-generator.rb +39 -0
  10. data/lib/coolstrap-generator/.DS_Store +0 -0
  11. data/lib/coolstrap-generator/builder/middleman.rb +0 -0
  12. data/lib/coolstrap-generator/cli.rb +71 -0
  13. data/lib/coolstrap-generator/generate/project.rb +96 -0
  14. data/lib/coolstrap-generator/generate/view.rb +54 -0
  15. data/lib/coolstrap-generator/logger.rb +13 -0
  16. data/lib/coolstrap-generator/middleman/helpers.rb +176 -0
  17. data/lib/coolstrap-generator/templates/.DS_Store +0 -0
  18. data/lib/coolstrap-generator/templates/app/.DS_Store +0 -0
  19. data/lib/coolstrap-generator/templates/app/assets/.DS_Store +0 -0
  20. data/lib/coolstrap-generator/templates/app/assets/fonts/fontawesome-webfont.eot +0 -0
  21. data/lib/coolstrap-generator/templates/app/assets/fonts/fontawesome-webfont.svg +255 -0
  22. data/lib/coolstrap-generator/templates/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  23. data/lib/coolstrap-generator/templates/app/assets/fonts/fontawesome-webfont.woff +0 -0
  24. data/lib/coolstrap-generator/templates/app/assets/images/.DS_Store +0 -0
  25. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/arrow-list.png +0 -0
  26. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/arrow.png +0 -0
  27. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/menu.png +0 -0
  28. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/smatphone.png +0 -0
  29. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/smatphone@2x.png +0 -0
  30. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/tablet-landscape.png +0 -0
  31. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/tablet-landscape@2x.png +0 -0
  32. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/tablet-portrait.png +0 -0
  33. data/lib/coolstrap-generator/templates/app/assets/images/coolstrap/startup/tablet-portrait@2x.png +0 -0
  34. data/lib/coolstrap-generator/templates/app/assets/images/startup/smatphone.png +0 -0
  35. data/lib/coolstrap-generator/templates/app/assets/images/startup/smatphone@2x.png +0 -0
  36. data/lib/coolstrap-generator/templates/app/assets/images/startup/tablet-landscape.png +0 -0
  37. data/lib/coolstrap-generator/templates/app/assets/images/startup/tablet-landscape@2x.png +0 -0
  38. data/lib/coolstrap-generator/templates/app/assets/images/startup/tablet-portrait.png +0 -0
  39. data/lib/coolstrap-generator/templates/app/assets/images/startup/tablet-portrait@2x.png +0 -0
  40. data/lib/coolstrap-generator/templates/app/assets/javascripts/.DS_Store +0 -0
  41. data/lib/coolstrap-generator/templates/app/assets/javascripts/app.js +18 -0
  42. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/_Coolstrap.App.coffee +39 -0
  43. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/_Coolstrap.Console.coffee +49 -0
  44. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/_Coolstrap.Constants.coffee +89 -0
  45. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/_Coolstrap.js +13 -0
  46. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/build/_wrap-start.js +18 -0
  47. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/coolstrap-0.1.js +20 -0
  48. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/coolstrap-0.1.packed.js +23 -0
  49. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/fallback/_Coolstrap.Fallback.Android.coffee +53 -0
  50. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/fallback/_Coolstrap.Fallback.iOS.coffee +29 -0
  51. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/framework/_Coolstrap.Framework.Articles.coffee +34 -0
  52. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/framework/_Coolstrap.Framework.Dialogs.coffee +33 -0
  53. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/framework/_Coolstrap.Framework.Navigation.coffee +118 -0
  54. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/framework/_Coolstrap.Framework.Sections.coffee +60 -0
  55. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/lib/iscroll.js +1076 -0
  56. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/lib/modernizr-2.5.3.js +1265 -0
  57. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/lib/zepto-1.0rc1.js +1357 -0
  58. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/navigate/_Coolstrap.Navigate.History.coffee +164 -0
  59. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/navigate/_Coolstrap.Navigate.coffee +105 -0
  60. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/plugins/_Coolstrap.Plugins.coffee +157 -0
  61. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/util/_Coolstrap.Util.Core.coffee +54 -0
  62. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/util/_Coolstrap.Util.Platform.coffee +89 -0
  63. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/util/_Coolstrap.Util.UI.coffee +96 -0
  64. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/util/_Coolstrap.Util.coffee +41 -0
  65. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/view/_Coolstrap.View.Article.coffee +43 -0
  66. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/view/_Coolstrap.View.Aside.coffee +65 -0
  67. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/view/_Coolstrap.View.Dialog.coffee +129 -0
  68. data/lib/coolstrap-generator/templates/app/assets/javascripts/coolstrap/view/_Coolstrap.View.Scroll.coffee +191 -0
  69. data/lib/coolstrap-generator/templates/app/assets/stylesheets/.DS_Store +0 -0
  70. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/_structure.scss +8 -0
  71. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/coolstrap.css.scss +2 -0
  72. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/_components.scss +5 -0
  73. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/_layout.scss +4 -0
  74. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/_utilities.scss +6 -0
  75. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/components/_dialog.scss +122 -0
  76. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/components/_formelements.scss +89 -0
  77. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/components/_listview.scss +76 -0
  78. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/components/_navigations.scss +192 -0
  79. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/components/_tools.scss +169 -0
  80. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/layout/_layers.scss +57 -0
  81. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/layout/_layout.scss +62 -0
  82. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/layout/_positions.scss +38 -0
  83. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/layout/_transitions.scss +35 -0
  84. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_animate.scss +63 -0
  85. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_helpers.scss +82 -0
  86. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_icons.scss +336 -0
  87. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_mixins.scss +45 -0
  88. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_reset.scss +367 -0
  89. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/structure/utilities/_variables.scss +176 -0
  90. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/themes/_default.scss +255 -0
  91. data/lib/coolstrap-generator/templates/app/assets/stylesheets/coolstrap/themes/coolstrap.css.scss +164 -0
  92. data/lib/coolstrap-generator/templates/app/assets/stylesheets/customtheme.css.scss +19 -0
  93. data/lib/coolstrap-generator/templates/app/components/_formelements.html.haml +130 -0
  94. data/lib/coolstrap-generator/templates/app/components/_tabbar.html.haml +343 -0
  95. data/lib/coolstrap-generator/templates/app/components/_toolbar.html.haml +463 -0
  96. data/lib/coolstrap-generator/templates/app/components/formelements.html.haml +196 -0
  97. data/lib/coolstrap-generator/templates/app/components/listview/_complexlistavatar.html.haml.erb +77 -0
  98. data/lib/coolstrap-generator/templates/app/components/listview/_simplelist.html.haml.erb +31 -0
  99. data/lib/coolstrap-generator/templates/app/components/tabbar.html.haml.erb +16 -0
  100. data/lib/coolstrap-generator/templates/app/components/toolbar.html.haml.erb +32 -0
  101. data/lib/coolstrap-generator/templates/app/index.html.haml.erb +21 -0
  102. data/lib/coolstrap-generator/templates/app/layout.haml.erb +79 -0
  103. data/lib/coolstrap-generator/templates/app/views/.DS_Store +0 -0
  104. data/lib/coolstrap-generator/templates/app/views/_home.haml.erb +31 -0
  105. data/lib/coolstrap-generator/templates/app/views/shared/_aside_onbottom.haml +2 -0
  106. data/lib/coolstrap-generator/templates/app/views/shared/_aside_onleft.haml +56 -0
  107. data/lib/coolstrap-generator/templates/app/views/shared/_aside_onright.haml +66 -0
  108. data/lib/coolstrap-generator/templates/app/views/shared/_aside_ontop.haml +19 -0
  109. data/lib/coolstrap-generator/templates/defaults/Gemfile.erb +3 -0
  110. data/lib/coolstrap-generator/templates/defaults/LICENSE.erb +1 -0
  111. data/lib/coolstrap-generator/templates/defaults/Readme.mkd.erb +1 -0
  112. data/lib/coolstrap-generator/templates/defaults/config.erb +42 -0
  113. data/lib/coolstrap-generator/templates/defaults/gitignore.erb +2 -0
  114. data/lib/coolstrap-generator/templates/rakefile +102 -0
  115. data/lib/coolstrap-generator/templates/specs/app_spec.coffee +3 -0
  116. data/lib/coolstrap-generator/utils.rb +82 -0
  117. data/lib/coolstrap-generator/version.rb +5 -0
  118. data/readme.md +107 -0
  119. data/spec/cli/command_spec.rb +88 -0
  120. data/spec/coolstrap-generator/generate/project_spec.rb +126 -0
  121. data/spec/coolstrap-generator/generate/view_spec.rb +26 -0
  122. data/spec/coolstrap-generator/logger_spec.rb +25 -0
  123. data/spec/coolstrap-generator/middleman/helpers_spec.rb +16 -0
  124. data/spec/coolstrap-generator/utils_spec.rb +120 -0
  125. data/spec/spec_helper.rb +39 -0
  126. metadata +321 -0
@@ -0,0 +1,191 @@
1
+ ###
2
+ * Wrapper of the third library iScroll
3
+ * Inspired by LungoJS
4
+ *
5
+ * @namespace COOLSTRAP.View
6
+ * @class Scroll
7
+ * @requires iScroll
8
+ *
9
+ * @author Abraham Barrera <abarrerac@gmail.com> || @abraham_barrera
10
+ ###
11
+
12
+ COOLSTRAP.View.Scroll = ((cool) ->
13
+ CLASS = cool.Constants.CLASS
14
+ ATTRIBUTE = cool.Constants.ATTRIBUTE
15
+ ERROR = cool.Constants.ERROR
16
+ EXCLUDE_ELEMENT = "p"
17
+ DEFAULT_PROPERTIES =
18
+ hScroll: false
19
+ vScroll: false
20
+ useTransition: true
21
+ momentum: true
22
+ lockDirection: true
23
+ fixedScrollbar: true
24
+ fadeScrollbar: true
25
+ hideScrollbar: true
26
+
27
+ SCROLLS = {}
28
+ SCROLL_TIMEFRAME = 250
29
+ NOID_COUNTER = 0
30
+ _preventEditInputs = (e) ->
31
+ target = e.target
32
+ target = target.parentNode until target.nodeType is 1
33
+ e.preventDefault() if target.tagName isnt "SELECT" and target.tagName isnt "INPUT" and target.tagName isnt "TEXTAREA"
34
+
35
+ ###
36
+ * Creates a new iScroll element.
37
+ *
38
+ * @method init
39
+ *
40
+ * @param {dom} element of the container scroll.
41
+ * @param {object} [OPTIONAL] Properties
42
+ ###
43
+ init = (element, properties) ->
44
+ scroll_id = element.attr(ATTRIBUTE.ID)
45
+ if not scroll_id or scroll_id is ""
46
+ NOID_COUNTER++
47
+ scroll_id = CLASS.SCROLLABLE + NOID_COUNTER
48
+ element.attr ATTRIBUTE.ID, scroll_id
49
+ if element.children().length > 1 or element.children().length is 0
50
+ inner_html = element.html()
51
+ inner_element = cool.dom("<div class=\"scroll_container\"></div>")
52
+ inner_element.append inner_html
53
+ element.html inner_element
54
+ if scroll_id
55
+ _render scroll_id, properties
56
+ else
57
+ cool.Console.log ERROR.CREATE_SCROLL
58
+
59
+
60
+ ###
61
+ * Update iScroll element with new <markup> content.
62
+ *
63
+ * @method html
64
+ *
65
+ * @param {string} Id of the container scroll.
66
+ * @param {string} Markup content
67
+ ###
68
+ html = (id, content) ->
69
+ container = _getContainer(id)
70
+ container.html content
71
+ _render id
72
+
73
+
74
+ ###
75
+ * Add <markup> content to iScroll instance
76
+ *
77
+ * @method append
78
+ *
79
+ * @param {string} Id of the container scroll.
80
+ * @param {string} Markup content
81
+ ###
82
+ append = (id, content) ->
83
+ container = _getContainer(id)
84
+ container.append content
85
+ _render id
86
+
87
+
88
+
89
+ ###
90
+ * Refresh iScroll instance.
91
+ *
92
+ * @method refresh
93
+ *
94
+ * @param {string} Id of the container scroll.
95
+ * @param {object} [OPTIONAL] Properties
96
+ ###
97
+ refresh = (id, properties) ->
98
+ _render id, properties
99
+
100
+ ###
101
+ * Removes iScroll instance.
102
+ *
103
+ * @method remove
104
+ *
105
+ * @param {string} Id of the container scroll.
106
+ ###
107
+ remove = (id) ->
108
+ delete SCROLLS[id] if SCROLLS[id]
109
+
110
+
111
+ ###
112
+ * Scrolls the wrapper contents to the minimum x/y coordinates
113
+ *
114
+ * @method first
115
+ *
116
+ * @param {string} Id of the <section>
117
+ ###
118
+ first = (id) ->
119
+ SCROLLS[id].scrollTo 0, 0, SCROLL_TIMEFRAME if SCROLLS[id]
120
+
121
+ ###
122
+ * Scrolls the wrapper contents to the maximum x/y coordinate
123
+ *
124
+ * @method down
125
+ *
126
+ * @param {string} Id of the <section>
127
+ ###
128
+ last = (id) ->
129
+ scroll = SCROLLS[id]
130
+ if scroll
131
+ element = cool.dom("#" + id).first()
132
+ content_width = 0
133
+ content_height = 0
134
+ if _isHorizontal(element)
135
+ content_width = -(_sizeProperty(element, ATTRIBUTE.WIDTH))
136
+ else
137
+ content_height = -(_sizeProperty(element, ATTRIBUTE.HEIGHT))
138
+ scroll.scrollTo content_width, content_height, SCROLL_TIMEFRAME
139
+
140
+ _getContainer = (id) ->
141
+ scroll = cool.dom("#" + id)
142
+ container = scroll.children().first()
143
+ if container.length is 0
144
+ scroll.html "<div></div>"
145
+ container = scroll.children().first()
146
+ container
147
+
148
+ _sizeProperty = (element, property) ->
149
+ element_content = element.children().first()
150
+ element_content[property]() - element[property]()
151
+
152
+ _render = (id, properties) ->
153
+ scroll = cool.dom("#" + id)
154
+ properties = _mixProperties(scroll, properties)
155
+ _saveScrollInCache id, properties
156
+
157
+ _needScroll = (scroll, properties) ->
158
+ element = scroll[0]
159
+ is_horizontal = _isHorizontal(cool.dom(element))
160
+ if is_horizontal
161
+ element.clientWidth < element.scrollWidth
162
+ else
163
+ element.clientHeight < element.scrollHeight
164
+
165
+ _saveScrollInCache = (id, properties) ->
166
+ unless SCROLLS[id]
167
+ SCROLLS[id] = new iScroll(id, properties)
168
+ else
169
+ SCROLLS[id].refresh()
170
+
171
+ _mixProperties = (scroll, properties) ->
172
+ scroll_type = (if _isHorizontal(scroll) then "hScroll" else "vScroll")
173
+ properties or (properties = {})
174
+ properties[scroll_type] = true
175
+ properties = cool.Util.Core.extend(DEFAULT_PROPERTIES, properties)
176
+ properties = cool.Util.Core.extend(properties,
177
+ onBeforeScrollStart: _preventEditInputs
178
+ )
179
+ properties
180
+
181
+ _isHorizontal = (scroll) ->
182
+ (if (scroll.hasClass(CLASS.HORIZONTAL)) then true else false)
183
+
184
+ init: init
185
+ remove: remove
186
+ refresh: refresh
187
+ html: html
188
+ append: append
189
+ first: first
190
+ last: last
191
+ )(COOLSTRAP)
@@ -0,0 +1,8 @@
1
+ @import "compass";
2
+ $experimental-support-for-mozilla: false;
3
+ $experimental-support-for-opera: false;
4
+ $experimental-support-for-microsoft: false;
5
+ $experimental-support-for-khtml: false;
6
+ @import "structure/utilities";
7
+ @import "structure/layout";
8
+ @import "structure/components";
@@ -0,0 +1,2 @@
1
+ @import "structure";
2
+ @import "themes/default";
@@ -0,0 +1,5 @@
1
+ @import "components/listview";
2
+ @import "components/navigations";
3
+ @import "components/tools";
4
+ @import "components/dialog";
5
+ @import "components/formelements";
@@ -0,0 +1,4 @@
1
+ @import "layout/transitions";
2
+ @import "layout/layers";
3
+ @import "layout/layout";
4
+ @import "layout/positions";
@@ -0,0 +1,6 @@
1
+ @import "utilities/reset";
2
+ @import "utilities/variables";
3
+ @import "utilities/mixins";
4
+ @import "utilities/animate";
5
+ //@import "utilities/helpers";
6
+ @import "utilities/icons";
@@ -0,0 +1,122 @@
1
+ div#{$isDialog} {
2
+ @include setFlexibleBox(vertical,stretch,start);
3
+ @include box-flex(1);
4
+ text-align: center;
5
+
6
+ > * { margin: 0; }
7
+
8
+ > a, div, input { @include box-flex(1); }
9
+
10
+ > *:not(:first-child) { margin-top: $default-content-spacing; }
11
+
12
+ a {
13
+ @include setFlexibleBox;
14
+ @include box-flex(1);
15
+ }
16
+
17
+ h1 { font-size: 15px; }
18
+ input { display: block; }
19
+
20
+ .button-group + a,
21
+ a + .button-group,
22
+ .button-group + .button-group {
23
+ margin-top: $default-action-spacing;
24
+ }
25
+ }
26
+
27
+ div#{$isAction} {
28
+ width: 100%;
29
+ position: absolute;
30
+ padding: $default-action-spacing;
31
+ a { height: $default-action-button; }
32
+ &.onTop { top: 0; }
33
+ &:not(.onTop) { bottom: 0; }
34
+ }
35
+
36
+ div#{$isAlert} {
37
+ width: $default-alert-size;
38
+ max-width: 90%;
39
+ padding: $default-alert-spacing;
40
+ position: absolute;
41
+ a { height: $default-alert-button; }
42
+ }
43
+
44
+ div#{$isModal} {
45
+ position: absolute;
46
+ top: $default-modal-spacing;
47
+ bottom: $default-modal-spacing;
48
+ left: $default-modal-spacing;
49
+ right: $default-modal-spacing;
50
+ .close {
51
+ position: absolute;
52
+ top: -10px;
53
+ right: -10px;
54
+ display: inline-block;
55
+ padding: 5px 10px;
56
+ }
57
+ }
58
+
59
+ div#{$isPopover} {
60
+ //TODO Pasar calculos de la posicion de la flecha al JS
61
+ position: absolute;
62
+ max-height: $default-dialog-maxheight;
63
+ max-width: $default-dialog-maxwidth;
64
+
65
+ $carret-front-size: $default-popover-arrow;
66
+ $carret-back-size: $default-popover-arrow + $default-popover-border;
67
+
68
+ $carret-front-position: -($carret-front-size * 2 - $default-popover-border);
69
+ $carret-back-position: -($carret-back-size * 2 - $default-popover-border);
70
+
71
+ &:after,
72
+ &:before {
73
+ content: "";
74
+ display: block;
75
+ position: absolute;
76
+ border-style: solid;
77
+ border-color: transparent;
78
+ width: 0;
79
+ height: 0;
80
+ }
81
+ &:after {
82
+ border-width: $carret-front-size;
83
+ }
84
+ &:before {
85
+ border-width: $carret-back-size;
86
+ }
87
+
88
+ &.onbottom,
89
+ &.ontop {
90
+ &:after { left: 50%; margin-left: -($carret-front-size); }
91
+ &:before { left: 50%; margin-left: -($carret-back-size); }
92
+ }
93
+ &.onleft,
94
+ &.onright {
95
+ &:after { top: 50%; margin-top: -($carret-front-size); }
96
+
97
+ &:before { top: 50%; margin-top: -($carret-back-size); }
98
+ }
99
+
100
+ &.onbottom {
101
+ &:after { top: $carret-front-position; border-bottom-color: red; }
102
+ &:before { top: $carret-back-position; border-bottom-color: green; }
103
+ }
104
+ &.onleft {
105
+ &:after { right: $carret-front-position; border-left-color: red; }
106
+ &:before { right: $carret-back-position; border-left-color: green; }
107
+ }
108
+ &.ontop {
109
+ &:after { bottom: $carret-front-position; border-top-color: red; }
110
+ &:before { bottom: $carret-back-position; border-top-color: green; }
111
+ }
112
+ &.onright {
113
+ &:after { left: $carret-front-position; border-right-color: red; }
114
+ &:before { left: $carret-back-position; border-right-color: green; }
115
+ }
116
+ }
117
+
118
+
119
+
120
+
121
+
122
+
@@ -0,0 +1,89 @@
1
+
2
+ form {
3
+ input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
4
+ -webkit-appearance: none;
5
+ }
6
+ input:not([type="checkbox"]):not([type="radio"]),
7
+ select {
8
+ height: $default-header-button;
9
+ padding: 0 $default-interface-spacing;
10
+ }
11
+ label {
12
+ display: block;
13
+ line-height: $default-header-button;
14
+ }
15
+ .content {
16
+ @include setFlexibleBox(vertical,stretch, center);
17
+ min-height: 44px;
18
+ padding: $default-interface-spacing;
19
+ i {
20
+ @include square($default-tabbar-icon);
21
+ line-height: $default-tabbar-icon;
22
+ font-size: $default-tabbar-icon;
23
+ }
24
+ .aside {
25
+ width: 30%;
26
+ text-align: right;
27
+ padding-right: $default-interface-spacing * 2;
28
+ }
29
+ input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
30
+ textarea,
31
+ select, {
32
+ @include box-flex(1);
33
+ display: block;
34
+ }
35
+ label, .slider { @include box-flex(1); }
36
+ textarea {
37
+ padding: $default-interface-spacing;
38
+ }
39
+ }
40
+
41
+ .stack {
42
+ label {
43
+ line-height: normal;
44
+ input, textarea, select { width: 100%; }
45
+ }
46
+ }
47
+ .horizontal {
48
+ @include setFlexibleBox(horizontal,center, stretch);
49
+ @include clearfix;
50
+ label {
51
+ @include box-flex();
52
+ @include clearfix;
53
+ height: $default-header-button;
54
+ line-height: $default-header-button;
55
+ input {
56
+ height: $default-header-button;
57
+ float: right;
58
+ }
59
+ input[type="radio"], input[type="checkbox"] { margin-right: 1px; }
60
+ }
61
+ .slider { @include box-flex(1) }
62
+ i {
63
+ display: block;
64
+ float: right;
65
+ }
66
+ }
67
+ li .content.horizontal {
68
+ padding: 0 !important;
69
+ }
70
+ .start { @include setFlexibleBox(horizontal,start, stretch); }
71
+ }
72
+ .horizontal {
73
+ @include setFlexibleBox(horizontal,center, stretch);
74
+ @include clearfix;
75
+ label {
76
+ @include box-flex();
77
+ @include clearfix;
78
+ input {
79
+ float: right;
80
+ height: 20px;
81
+ }
82
+ input[type="radio"], input[type="checkbox"] {
83
+ @include box-flex();
84
+ margin-right: 1px;
85
+ }
86
+ }
87
+ }
88
+
89
+
@@ -0,0 +1,76 @@
1
+ @import "../utilities";
2
+
3
+ ul[data-type="listview"] {
4
+ list-style-type: none;
5
+ margin: 0;
6
+ padding: 0;
7
+ li,
8
+ li > a {
9
+ @include setFlexibleBox(horizontal,stretch, stretch);
10
+ padding: $default-listview-spacing;
11
+ }
12
+ li > a, {
13
+ margin: -($default-listview-spacing);
14
+ }
15
+
16
+ li {
17
+ > div,
18
+ a > div,
19
+ .nested > div {
20
+ margin-left: $default-listview-spacing;
21
+ &:first-child {
22
+ margin-left: 0;
23
+ }
24
+ }
25
+ }
26
+
27
+ div {
28
+ @include setFlexibleBox(vertical,stretch,center);
29
+ }
30
+ .nested {
31
+ @include setFlexibleBox;
32
+ }
33
+ .content {
34
+ * {
35
+ margin: 0;
36
+ padding: 0;
37
+ }
38
+ > * + * {
39
+ margin-top: 7px;
40
+ }
41
+ }
42
+ .content,
43
+ .nested > *:first-child,
44
+ li > a {
45
+ @include box-flex(1);
46
+ }
47
+ i { @include inline-block; }
48
+ input {
49
+ @include box-flex(1);
50
+ display: block;
51
+ }
52
+ .aside {
53
+ * + i { margin-left: $default-interface-spacing; }
54
+ }
55
+
56
+ &.inset {
57
+ margin: 10px;
58
+ }
59
+ .up { @include box-pack(start); }
60
+ .stretch {
61
+ margin-top: -($default-listview-spacing);
62
+ margin-bottom: -($default-listview-spacing);
63
+ &:first-child { margin-left: -($default-listview-spacing) !important; }
64
+ }
65
+ .vertical {
66
+ @include setFlexibleBox(vertical,center,center);
67
+ i, span {
68
+ display: block;
69
+ }
70
+ * + * {
71
+ margin-top: 7px;
72
+ }
73
+ }
74
+ }
75
+
76
+