tao_form 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +10 -0
  5. data/lib/assets/icons/arrow-down.svg +12 -0
  6. data/lib/assets/icons/arrow-left.svg +12 -0
  7. data/lib/assets/icons/arrow-right.svg +12 -0
  8. data/lib/assets/icons/calendar.svg +12 -0
  9. data/lib/assets/icons/checkbox.svg +12 -0
  10. data/lib/assets/icons/clock.svg +12 -0
  11. data/lib/assets/icons/search.svg +12 -0
  12. data/lib/assets/icons/success.svg +12 -0
  13. data/lib/assets/javascripts/tao/form/element.coffee +16 -0
  14. data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +14 -0
  15. data/lib/assets/javascripts/tao/form/fields/index.coffee +9 -0
  16. data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +38 -0
  17. data/lib/assets/javascripts/tao/form/fields/moment_picker/index.coffee +7 -0
  18. data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +25 -0
  19. data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +14 -0
  20. data/lib/assets/javascripts/tao/form/fields/radio.coffee +14 -0
  21. data/lib/assets/javascripts/tao/form/fields/select/element.coffee +79 -0
  22. data/lib/assets/javascripts/tao/form/fields/select/index.coffee +8 -0
  23. data/lib/assets/javascripts/tao/form/fields/select/list.coffee +98 -0
  24. data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +41 -0
  25. data/lib/assets/javascripts/tao/form/fields/select/result.coffee +39 -0
  26. data/lib/assets/javascripts/tao/form/fields/switch.coffee +14 -0
  27. data/lib/assets/javascripts/tao/form/index.coffee +17 -0
  28. data/lib/assets/javascripts/tao/form/mobile/element.coffee +5 -0
  29. data/lib/assets/javascripts/tao/form/mobile/fields/checkbox.coffee +5 -0
  30. data/lib/assets/javascripts/tao/form/mobile/fields/index.coffee +9 -0
  31. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +36 -0
  32. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/index.coffee +7 -0
  33. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/result.coffee +5 -0
  34. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +24 -0
  35. data/lib/assets/javascripts/tao/form/mobile/fields/radio.coffee +5 -0
  36. data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +61 -0
  37. data/lib/assets/javascripts/tao/form/mobile/fields/select/index.coffee +8 -0
  38. data/lib/assets/javascripts/tao/form/mobile/fields/select/list.coffee +13 -0
  39. data/lib/assets/javascripts/tao/form/mobile/fields/select/multiple_result.coffee +5 -0
  40. data/lib/assets/javascripts/tao/form/mobile/fields/select/result.coffee +5 -0
  41. data/lib/assets/javascripts/tao/form/mobile/fields/switch.coffee +5 -0
  42. data/lib/assets/javascripts/tao/form/mobile/index.coffee +10 -0
  43. data/lib/assets/javascripts/tao/form/shared/element/base.coffee +48 -0
  44. data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +21 -0
  45. data/lib/assets/javascripts/tao/form/shared/fields/date_picker.coffee +10 -0
  46. data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +62 -0
  47. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +52 -0
  48. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +39 -0
  49. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +85 -0
  50. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/base.coffee +25 -0
  51. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +95 -0
  52. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +28 -0
  53. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/index.coffee +1 -0
  54. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +28 -0
  55. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +46 -0
  56. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +57 -0
  57. data/lib/assets/javascripts/tao/form/shared/fields/month_picker.coffee +10 -0
  58. data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +19 -0
  59. data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +122 -0
  60. data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +79 -0
  61. data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +75 -0
  62. data/lib/assets/javascripts/tao/form/shared/fields/select/models/index.coffee +2 -0
  63. data/lib/assets/javascripts/tao/form/shared/fields/select/models/option.coffee +37 -0
  64. data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +81 -0
  65. data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +57 -0
  66. data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +19 -0
  67. data/lib/assets/javascripts/tao/form/shared/fields/time_picker.coffee +10 -0
  68. data/lib/assets/javascripts/tao/form/shared/mixins/checkable.coffee +11 -0
  69. data/lib/assets/javascripts/tao/ui/icons/form.coffee +11 -0
  70. data/lib/assets/stylesheets/tao/form/_globals.scss +3 -0
  71. data/lib/assets/stylesheets/tao/form/_mixins.scss +28 -0
  72. data/lib/assets/stylesheets/tao/form/_variables.scss +3 -0
  73. data/lib/assets/stylesheets/tao/form/fields/checkbox.scss +36 -0
  74. data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +22 -0
  75. data/lib/assets/stylesheets/tao/form/fields/index.scss +6 -0
  76. data/lib/assets/stylesheets/tao/form/fields/moment_picker/index.scss +10 -0
  77. data/lib/assets/stylesheets/tao/form/fields/moment_picker/result.scss +61 -0
  78. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segment_list.scss +53 -0
  79. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/date_segment.scss +17 -0
  80. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/hour_segment.scss +15 -0
  81. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/minute_segment.scss +17 -0
  82. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/month_segment.scss +15 -0
  83. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/year_segment.scss +15 -0
  84. data/lib/assets/stylesheets/tao/form/fields/radio.scss +33 -0
  85. data/lib/assets/stylesheets/tao/form/fields/select/index.scss +10 -0
  86. data/lib/assets/stylesheets/tao/form/fields/select/list.scss +61 -0
  87. data/lib/assets/stylesheets/tao/form/fields/select/multiple_result.scss +72 -0
  88. data/lib/assets/stylesheets/tao/form/fields/select/result.scss +101 -0
  89. data/lib/assets/stylesheets/tao/form/fields/switch.scss +12 -0
  90. data/lib/assets/stylesheets/tao/form/index.scss +5 -0
  91. data/lib/assets/stylesheets/tao/form/inputs/boolean.scss +8 -0
  92. data/lib/assets/stylesheets/tao/form/inputs/group.scss +2 -0
  93. data/lib/assets/stylesheets/tao/form/inputs/index.scss +1 -0
  94. data/lib/assets/stylesheets/tao/form/inputs/text.scss +2 -0
  95. data/lib/assets/stylesheets/tao/form/layout.scss +148 -0
  96. data/lib/assets/stylesheets/tao/form/mobile/_globals.scss +3 -0
  97. data/lib/assets/stylesheets/tao/form/mobile/_mixins.scss +22 -0
  98. data/lib/assets/stylesheets/tao/form/mobile/_variables.scss +3 -0
  99. data/lib/assets/stylesheets/tao/form/mobile/fields/checkbox.scss +2 -0
  100. data/lib/assets/stylesheets/tao/form/mobile/fields/datetime_picker.scss +18 -0
  101. data/lib/assets/stylesheets/tao/form/mobile/fields/index.scss +1 -0
  102. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/index.scss +9 -0
  103. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/result.scss +19 -0
  104. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segment_list.scss +52 -0
  105. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/date_segment.scss +14 -0
  106. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/hour_segment.scss +14 -0
  107. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/minute_segment.scss +14 -0
  108. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/month_segment.scss +14 -0
  109. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/year_segment.scss +14 -0
  110. data/lib/assets/stylesheets/tao/form/mobile/fields/radio.scss +2 -0
  111. data/lib/assets/stylesheets/tao/form/mobile/fields/select/index.scss +66 -0
  112. data/lib/assets/stylesheets/tao/form/mobile/fields/select/list.scss +10 -0
  113. data/lib/assets/stylesheets/tao/form/mobile/fields/select/multiple_result.scss +12 -0
  114. data/lib/assets/stylesheets/tao/form/mobile/fields/select/result.scss +28 -0
  115. data/lib/assets/stylesheets/tao/form/mobile/fields/switch.scss +2 -0
  116. data/lib/assets/stylesheets/tao/form/mobile/index.scss +5 -0
  117. data/lib/assets/stylesheets/tao/form/mobile/inputs/boolean.scss +7 -0
  118. data/lib/assets/stylesheets/tao/form/mobile/inputs/group.scss +6 -0
  119. data/lib/assets/stylesheets/tao/form/mobile/inputs/index.scss +1 -0
  120. data/lib/assets/stylesheets/tao/form/mobile/inputs/text.scss +2 -0
  121. data/lib/assets/stylesheets/tao/form/mobile/layout.scss +137 -0
  122. data/lib/assets/stylesheets/tao/form/mobile/reset.scss +30 -0
  123. data/lib/assets/stylesheets/tao/form/mobile/variables/_base.scss +12 -0
  124. data/lib/assets/stylesheets/tao/form/mobile/variables/_moment_picker.scss +9 -0
  125. data/lib/assets/stylesheets/tao/form/mobile/variables/_select.scss +9 -0
  126. data/lib/assets/stylesheets/tao/form/reset.scss +30 -0
  127. data/lib/assets/stylesheets/tao/form/shared/fields/_checkbox.scss +61 -0
  128. data/lib/assets/stylesheets/tao/form/shared/fields/_radio.scss +53 -0
  129. data/lib/assets/stylesheets/tao/form/shared/fields/_switch.scss +56 -0
  130. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_result.scss +46 -0
  131. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_segment_list.scss +93 -0
  132. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss +50 -0
  133. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_hour_segment.scss +35 -0
  134. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_minute_segment.scss +23 -0
  135. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_month_segment.scss +27 -0
  136. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_year_segment.scss +27 -0
  137. data/lib/assets/stylesheets/tao/form/shared/fields/select/_list.scss +136 -0
  138. data/lib/assets/stylesheets/tao/form/shared/fields/select/_multiple_result.scss +46 -0
  139. data/lib/assets/stylesheets/tao/form/shared/inputs/_boolean.scss +5 -0
  140. data/lib/assets/stylesheets/tao/form/shared/inputs/_group.scss +25 -0
  141. data/lib/assets/stylesheets/tao/form/shared/inputs/_text.scss +33 -0
  142. data/lib/assets/stylesheets/tao/form/variables/_base.scss +15 -0
  143. data/lib/assets/stylesheets/tao/form/variables/_moment_picker.scss +9 -0
  144. data/lib/assets/stylesheets/tao/form/variables/_select.scss +10 -0
  145. data/lib/tao_form.rb +5 -0
  146. data/lib/tao_form/components.rb +10 -0
  147. data/lib/tao_form/components/check_box_component.rb +29 -0
  148. data/lib/tao_form/components/date_picker_component.rb +25 -0
  149. data/lib/tao_form/components/datetime_picker_component.rb +50 -0
  150. data/lib/tao_form/components/field_component.rb +15 -0
  151. data/lib/tao_form/components/form_component.rb +24 -0
  152. data/lib/tao_form/components/moment_picker/base.rb +68 -0
  153. data/lib/tao_form/components/moment_picker/result_component.rb +31 -0
  154. data/lib/tao_form/components/moment_picker/segment_list_component.rb +36 -0
  155. data/lib/tao_form/components/moment_picker/segments.rb +6 -0
  156. data/lib/tao_form/components/moment_picker/segments/base.rb +17 -0
  157. data/lib/tao_form/components/moment_picker/segments/date_segment_component.rb +21 -0
  158. data/lib/tao_form/components/moment_picker/segments/hour_segment_component.rb +21 -0
  159. data/lib/tao_form/components/moment_picker/segments/minute_segment_component.rb +28 -0
  160. data/lib/tao_form/components/moment_picker/segments/month_segment_component.rb +15 -0
  161. data/lib/tao_form/components/moment_picker/segments/year_segment_component.rb +21 -0
  162. data/lib/tao_form/components/month_picker_component.rb +23 -0
  163. data/lib/tao_form/components/radio_button_component.rb +29 -0
  164. data/lib/tao_form/components/select/list_component.rb +23 -0
  165. data/lib/tao_form/components/select/multiple_result_component.rb +23 -0
  166. data/lib/tao_form/components/select/result_component.rb +35 -0
  167. data/lib/tao_form/components/select_component.rb +78 -0
  168. data/lib/tao_form/components/switch_component.rb +11 -0
  169. data/lib/tao_form/components/time_picker_component.rb +29 -0
  170. data/lib/tao_form/engine.rb +15 -0
  171. data/lib/tao_form/inputs.rb +9 -0
  172. data/lib/tao_form/inputs/boolean_input.rb +30 -0
  173. data/lib/tao_form/inputs/collection_check_boxes_input.rb +19 -0
  174. data/lib/tao_form/inputs/collection_radio_buttons_input.rb +19 -0
  175. data/lib/tao_form/inputs/collection_select_input.rb +21 -0
  176. data/lib/tao_form/inputs/date_time_input.rb +22 -0
  177. data/lib/tao_form/inputs/grouped_collection_select_input.rb +22 -0
  178. data/lib/tao_form/inputs/month_input.rb +7 -0
  179. data/lib/tao_form/inputs/numeric_input.rb +19 -0
  180. data/lib/tao_form/inputs/string_input.rb +19 -0
  181. data/lib/tao_form/version.rb +3 -0
  182. data/lib/views/components/tao_form/components/_check_box.html.erb +10 -0
  183. data/lib/views/components/tao_form/components/_datetime_picker.html.erb +7 -0
  184. data/lib/views/components/tao_form/components/_moment_picker.html+mobile.erb +17 -0
  185. data/lib/views/components/tao_form/components/_moment_picker.html.erb +4 -0
  186. data/lib/views/components/tao_form/components/_radio_button.html.erb +9 -0
  187. data/lib/views/components/tao_form/components/_select.html+mobile.erb +27 -0
  188. data/lib/views/components/tao_form/components/_select.html.erb +4 -0
  189. data/lib/views/components/tao_form/components/_switch.html.erb +10 -0
  190. data/lib/views/components/tao_form/components/moment_picker/_result.html+mobile.erb +11 -0
  191. data/lib/views/components/tao_form/components/moment_picker/_result.html.erb +14 -0
  192. data/lib/views/components/tao_form/components/moment_picker/_segment_list.html+mobile.erb +8 -0
  193. data/lib/views/components/tao_form/components/moment_picker/_segment_list.html.erb +4 -0
  194. data/lib/views/components/tao_form/components/moment_picker/segment_list/_labels.html.erb +13 -0
  195. data/lib/views/components/tao_form/components/moment_picker/segment_list/_segments.html.erb +7 -0
  196. data/lib/views/components/tao_form/components/moment_picker/segments/_date_segment.html.erb +14 -0
  197. data/lib/views/components/tao_form/components/moment_picker/segments/_hour_segment.html.erb +14 -0
  198. data/lib/views/components/tao_form/components/moment_picker/segments/_minute_segment.html.erb +9 -0
  199. data/lib/views/components/tao_form/components/moment_picker/segments/_month_segment.html.erb +16 -0
  200. data/lib/views/components/tao_form/components/moment_picker/segments/_year_segment.html.erb +10 -0
  201. data/lib/views/components/tao_form/components/select/_list.html.erb +18 -0
  202. data/lib/views/components/tao_form/components/select/_multiple_result.html+mobile.erb +3 -0
  203. data/lib/views/components/tao_form/components/select/_multiple_result.html.erb +7 -0
  204. data/lib/views/components/tao_form/components/select/_result.html+mobile.erb +10 -0
  205. data/lib/views/components/tao_form/components/select/_result.html.erb +14 -0
  206. data/vendor/assets/javascripts/moment.js +4463 -0
  207. data/vendor/assets/javascripts/moment/zh-cn.js +112 -0
  208. metadata +334 -0
@@ -0,0 +1,19 @@
1
+ class Tao.Form.SwitchBase extends TaoComponent
2
+
3
+ @include Tao.Form.Mixins.Checkable
4
+
5
+ @tag 'tao-switch'
6
+
7
+ _connected: ->
8
+ @field = @jq.find('input:checkbox')
9
+ @_bind()
10
+
11
+ _bind: ->
12
+ @on 'click', '.switch-wrapper', (e) =>
13
+ if @field.is(':enabled')
14
+ @_toggleChecked()
15
+ @trigger 'change'
16
+ false
17
+
18
+ _disconnected: ->
19
+ @off()
@@ -0,0 +1,10 @@
1
+
2
+ class Tao.Form.TimePicker extends Tao.Form.MomentPicker.Element
3
+
4
+ @tag 'tao-time-picker'
5
+
6
+ @attribute 'valueFormat', default: 'HH:mm:ss'
7
+
8
+ @attribute 'displayFormat', default: 'HH:mm'
9
+
10
+ TaoComponent.register Tao.Form.TimePicker
@@ -0,0 +1,11 @@
1
+
2
+ Tao.Form.Mixins.Checkable = ->
3
+
4
+ @get 'checked', ->
5
+ @field?.prop 'checked'
6
+
7
+ @set 'checked', (value) ->
8
+ @field?.prop 'checked', value
9
+
10
+ _toggleChecked: ->
11
+ @checked = !@checked
@@ -0,0 +1,11 @@
1
+ Tao._icons += '''
2
+ <symbol id="icon-arrow-down" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(12.000000, 12.000000) scale(-1, 1) rotate(90.000000) translate(-12.000000, -12.000000) translate(6.000000, 0.000000)"><path d="M11.6164511,11.610417 L1.05810978,1.05207572 C0.867040921,0.861006859 0.548815536,0.859363964 0.353553391,1.05462611 C0.164001817,1.24417768 0.157149396,1.5653289 0.351003,1.7591825 L10.6032963,12.0114758 L0.351003,22.2637691 C0.15993414,22.4548379 0.158291245,22.7730633 0.353553391,22.9683255 C0.543104964,23.157877 0.864256177,23.1647294 1.05810978,22.9708758 L11.6156318,12.4133538 C11.6336098,12.3997323 11.6508692,12.3847273 11.6672619,12.3683346 C11.7368142,12.2987823 11.7817682,12.2115117 11.8012344,12.119313 C11.8373259,11.9580366 11.7933395,11.7806946 11.6672619,11.654617 C11.6512157,11.6385707 11.6342264,11.6238338 11.6164511,11.610417 Z" class="Arrow_Down" transform="translate(6.010408, 12.010938) scale(1, -1) translate(-6.010408, -12.010938) "/></g></g></symbol>
3
+ <symbol id="icon-arrow-left" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(11.000000, 12.000000) scale(-1, -1) translate(-11.000000, -12.000000) translate(5.000000, 0.000000)"><path d="M11.6164511,11.610417 L1.05810978,1.05207572 C0.867040921,0.861006859 0.548815536,0.859363964 0.353553391,1.05462611 C0.164001817,1.24417768 0.157149396,1.5653289 0.351003,1.7591825 L10.6032963,12.0114758 L0.351003,22.2637691 C0.15993414,22.4548379 0.158291245,22.7730633 0.353553391,22.9683255 C0.543104964,23.157877 0.864256177,23.1647294 1.05810978,22.9708758 L11.6156318,12.4133538 C11.6336098,12.3997323 11.6508692,12.3847273 11.6672619,12.3683346 C11.7368142,12.2987823 11.7817682,12.2115117 11.8012344,12.119313 C11.8373259,11.9580366 11.7933395,11.7806946 11.6672619,11.654617 C11.6512157,11.6385707 11.6342264,11.6238338 11.6164511,11.610417 Z" class="Arrow_Left" transform="translate(6.010408, 12.010938) scale(1, -1) translate(-6.010408, -12.010938) "/></g></g></symbol>
4
+ <symbol id="icon-arrow-right" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(7.000000, 0.000000)"><path d="M11.6164511,11.610417 L1.05810978,1.05207572 C0.867040921,0.861006859 0.548815536,0.859363964 0.353553391,1.05462611 C0.164001817,1.24417768 0.157149396,1.5653289 0.351003,1.7591825 L10.6032963,12.0114758 L0.351003,22.2637691 C0.15993414,22.4548379 0.158291245,22.7730633 0.353553391,22.9683255 C0.543104964,23.157877 0.864256177,23.1647294 1.05810978,22.9708758 L11.6156318,12.4133538 C11.6336098,12.3997323 11.6508692,12.3847273 11.6672619,12.3683346 C11.7368142,12.2987823 11.7817682,12.2115117 11.8012344,12.119313 C11.8373259,11.9580366 11.7933395,11.7806946 11.6672619,11.654617 C11.6512157,11.6385707 11.6342264,11.6238338 11.6164511,11.610417 Z" class="Arrow_Right" transform="translate(6.010408, 12.010938) scale(1, -1) translate(-6.010408, -12.010938) "/></g></g></symbol>
5
+ <symbol id="icon-calendar" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(1.000000, 1.000000)"><path d="M0,1.49839123 C0,1.22313735 0.21484375,1 0.497698784,1 L4.50230122,1 C4.77717266,1 5,1.23298088 5,1.50225774 L5,1.50225774 C5,1.77964703 4.78494263,2.00451548 4.50952148,2.00451548 L1,2.00451548 L1,21 L21.0012503,21 L21.0012503,2.00451548 L17.4832825,2.00451548 C17.2117468,2.00451548 16.9916235,1.77153459 16.9916235,1.50225774 L16.9916235,1.50225774 C16.9916235,1.22486845 17.2068272,1 17.4901561,1 L21.5014674,1 C21.7767994,1 22,1.22163089 22,1.49839123 L22,21.5016088 C22,21.7768626 21.7822583,22 21.4991639,22 L0.500836134,22 C0.224231975,22 0,21.7783691 0,21.5016088 L0,1.49839123 Z M1,6 L21,6 L21,7 L1,7 L1,6 Z M4,11.5 C4,11.7761424 4.21403503,12 4.50468445,12 L5.49531555,12 C5.77404508,12 6,11.7680664 6,11.5 L6,11.5 C6,11.2238576 5.78596497,11 5.49531555,11 L4.50468445,11 C4.22595492,11 4,11.2319336 4,11.5 L4,11.5 Z M4,14.5 C4,14.7761424 4.21403503,15 4.50468445,15 L5.49531555,15 C5.77404508,15 6,14.7680664 6,14.5 L6,14.5 C6,14.2238576 5.78596497,14 5.49531555,14 L4.50468445,14 C4.22595492,14 4,14.2319336 4,14.5 L4,14.5 Z M4,17.5 C4,17.7761424 4.21403503,18 4.50468445,18 L5.49531555,18 C5.77404508,18 6,17.7680664 6,17.5 L6,17.5 C6,17.2238576 5.78596497,17 5.49531555,17 L4.50468445,17 C4.22595492,17 4,17.2319336 4,17.5 L4,17.5 Z M8,11.5 C8,11.7761424 8.21403503,12 8.50468445,12 L9.49531555,12 C9.77404508,12 10,11.7680664 10,11.5 L10,11.5 C10,11.2238576 9.78596497,11 9.49531555,11 L8.50468445,11 C8.22595492,11 8,11.2319336 8,11.5 L8,11.5 Z M8,14.5 C8,14.7761424 8.21403503,15 8.50468445,15 L9.49531555,15 C9.77404508,15 10,14.7680664 10,14.5 L10,14.5 C10,14.2238576 9.78596497,14 9.49531555,14 L8.50468445,14 C8.22595492,14 8,14.2319336 8,14.5 L8,14.5 Z M8,17.5 C8,17.7761424 8.21403503,18 8.50468445,18 L9.49531555,18 C9.77404508,18 10,17.7680664 10,17.5 L10,17.5 C10,17.2238576 9.78596497,17 9.49531555,17 L8.50468445,17 C8.22595492,17 8,17.2319336 8,17.5 L8,17.5 Z M12,11.5 C12,11.7761424 12.214035,12 12.5046844,12 L13.4953156,12 C13.7740451,12 14,11.7680664 14,11.5 L14,11.5 C14,11.2238576 13.785965,11 13.4953156,11 L12.5046844,11 C12.2259549,11 12,11.2319336 12,11.5 L12,11.5 Z M12,14.5 C12,14.7761424 12.214035,15 12.5046844,15 L13.4953156,15 C13.7740451,15 14,14.7680664 14,14.5 L14,14.5 C14,14.2238576 13.785965,14 13.4953156,14 L12.5046844,14 C12.2259549,14 12,14.2319336 12,14.5 L12,14.5 Z M12,17.5 C12,17.7761424 12.214035,18 12.5046844,18 L13.4953156,18 C13.7740451,18 14,17.7680664 14,17.5 L14,17.5 C14,17.2238576 13.785965,17 13.4953156,17 L12.5046844,17 C12.2259549,17 12,17.2319336 12,17.5 L12,17.5 Z M16,11.5 C16,11.7761424 16.214035,12 16.5046844,12 L17.4953156,12 C17.7740451,12 18,11.7680664 18,11.5 L18,11.5 C18,11.2238576 17.785965,11 17.4953156,11 L16.5046844,11 C16.2259549,11 16,11.2319336 16,11.5 L16,11.5 Z M16,14.5 C16,14.7761424 16.214035,15 16.5046844,15 L17.4953156,15 C17.7740451,15 18,14.7680664 18,14.5 L18,14.5 C18,14.2238576 17.785965,14 17.4953156,14 L16.5046844,14 C16.2259549,14 16,14.2319336 16,14.5 L16,14.5 Z M8,1.5 C8,1.22385763 8.22788048,1 8.49100518,1 L13.5089948,1 C13.7801695,1 14,1.23193359 14,1.5 L14,1.5 C14,1.77614237 13.7721195,2 13.5089948,2 L8.49100518,2 C8.21983051,2 8,1.76806641 8,1.5 L8,1.5 Z M6,0.490478516 C6,0.219594711 6.23193359,0 6.5,0 L6.5,0 C6.77614237,0 7,0.215057373 7,0.490478516 L7,3.50952148 C7,3.78040529 6.76806641,4 6.5,4 L6.5,4 C6.22385763,4 6,3.78494263 6,3.50952148 L6,0.490478516 Z M15,0.490478516 C15,0.219594711 15.2319336,0 15.5,0 L15.5,0 C15.7761424,0 16,0.215057373 16,0.490478516 L16,3.50952148 C16,3.78040529 15.7680664,4 15.5,4 L15.5,4 C15.2238576,4 15,3.78494263 15,3.50952148 L15,0.490478516 Z" class="Calendar"/></g></g></symbol>
6
+ <symbol id="icon-checkbox" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(1.000000, 0.000000)"><path d="M0.460155108,7.45725615 C0.460155108,6.63043007 1.12595234,5.96015511 1.96015511,5.96015511 L1.96015511,5.96015511 C2.78858223,5.96015511 3.46015511,6.63134454 3.46015511,7.46183073 L3.46015511,12.9601551 L19.9564452,12.9601551 C20.7869212,12.9601551 21.4601551,13.6259523 21.4601551,14.4601551 L21.4601551,14.4601551 C21.4601551,15.2885822 20.785232,15.9601551 19.9667219,15.9601551 L1.95358834,15.9601551 C1.12878794,15.9601551 0.460155108,15.2884991 0.460155108,14.4630541 L0.460155108,7.45725615 Z" class="CheckboxMark" transform="translate(10.960155, 10.960155) rotate(-45.000000) translate(-10.960155, -10.960155) "/></g></g></symbol>
7
+ <symbol id="icon-clock" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(1.000000, 1.000000)"><path d="M11,22 C17.0751322,22 22,17.0751322 22,11 C22,4.92486775 17.0751322,0 11,0 C4.92486775,0 0,4.92486775 0,11 C0,17.0751322 4.92486775,22 11,22 Z M11,21 C16.5228475,21 21,16.5228475 21,11 C21,5.4771525 16.5228475,1 11,1 C5.4771525,1 1,5.4771525 1,11 C1,16.5228475 5.4771525,21 11,21 Z M10.5,3.00966585 C10.5,2.72818517 10.7319336,2.5 11,2.5 C11.2761424,2.5 11.5,2.73079681 11.5,3.00043583 L11.5,10.5 L16.0023012,10.5 C16.2771727,10.5 16.5,10.7319336 16.5,11 C16.5,11.2761424 16.2721195,11.5 16.0089948,11.5 L10.9910052,11.5 C10.7198305,11.5 10.5,11.2775269 10.5,10.9903342 L10.5,3.00966585 Z" class="Clock"/></g></g></symbol>
8
+ <symbol id="icon-search" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(1.000000, 1.000000)"><path d="M14.5610109,16.0768647 C13.0302194,17.2814309 11.0990251,18 9,18 C4.02943725,18 0,13.9705627 0,9 C0,4.02943725 4.02943725,0 9,0 C13.9705627,0 18,4.02943725 18,9 C18,11.3489613 17.1001192,13.4877442 15.6262932,15.0904129 L21.8402784,20.8382529 C22.0438968,21.0265968 22.0482516,21.3387618 21.8607428,21.5248371 L21.5286336,21.8544073 C21.3363174,22.0452534 21.0152795,22.0472113 20.8117305,21.8589237 L14.5610109,16.0768647 Z M9,17 C13.418278,17 17,13.418278 17,9 C17,4.581722 13.418278,1 9,1 C4.581722,1 1,4.581722 1,9 C1,13.418278 4.581722,17 9,17 Z" class="Search"/></g></g></symbol>
9
+ <symbol id="icon-success" viewBox="0 0 24 24" width="100%" height="100%"><defs/><g class="zhiren_icon" stroke="none" stroke-width="1" fill-rule="evenodd"><g class="Main" transform="translate(1.000000, 1.000000)"><path d="M11,22 C17.0751322,22 22,17.0751322 22,11 C22,4.92486775 17.0751322,0 11,0 C4.92486775,0 0,4.92486775 0,11 C0,17.0751322 4.92486775,22 11,22 Z M11,21 C16.5228475,21 21,16.5228475 21,11 C21,5.4771525 16.5228475,1 11,1 C5.4771525,1 1,5.4771525 1,11 C1,16.5228475 5.4771525,21 11,21 Z M17.0734953,8.10417138 C17.2692381,7.90842856 17.2639172,7.58574584 17.0743656,7.39619427 C16.8791035,7.20093212 16.5598374,7.20361571 16.3604356,7.40301751 L9.64974442,14.1137087 L5.75429682,10.2182611 C5.56254737,10.0265116 5.24310191,10.0350698 5.05355034,10.2246214 C4.85828819,10.4198835 4.8646839,10.7428617 5.05597058,10.9341484 L9.29377079,15.1719486 C9.49036959,15.3685474 9.81220265,15.365464 10.0041681,15.1734985 L17.0734953,8.10417138 Z" class="Success"/></g></g></symbol>
10
+
11
+ '''
@@ -0,0 +1,3 @@
1
+ @import 'tao/ui/globals';
2
+ @import 'tao/form/variables';
3
+ @import 'tao/form/mixins';
@@ -0,0 +1,28 @@
1
+ @mixin text-field-style {
2
+ width: $form-field-width;
3
+ padding: $form-field-padding-v $form-field-padding-h;
4
+ background: $white-color;
5
+ border: 1px solid $border-color;
6
+ border-radius: $border-radius-s;
7
+ font-size: $form-field-font-size;
8
+ color: $form-field-text-color;
9
+ line-height: $form-field-line-height;
10
+ transition: border-color 300ms;
11
+ outline: none;
12
+
13
+ &:hover,
14
+ &:focus {
15
+ border-color: $form-field-active-border-color;
16
+ }
17
+
18
+ &[readonly] {
19
+ color: $light-grey-color;
20
+ }
21
+
22
+ &[disabled] {
23
+ cursor: not-allowed;
24
+ background: $grey-bg-color;
25
+ border-color: $light-border-color;
26
+ color: $lightest-grey-color;
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ @import 'tao/form/variables/base';
2
+ @import 'tao/form/variables/select';
3
+ @import 'tao/form/variables/moment_picker';
@@ -0,0 +1,36 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/checkbox';
3
+
4
+ tao-check-box {
5
+ .checkbox-wrapper {
6
+ &:hover {
7
+ border-color: #63D65C;
8
+ }
9
+
10
+ &:focus {
11
+ border-color: #63D65C;
12
+ box-shadow: 0px 0px 4px 0px rgba(#4A90E2, 0.5);
13
+ }
14
+ }
15
+
16
+ input[type=checkbox] {
17
+ &:indeterminate + .checkbox-wrapper,
18
+ &:checked + .checkbox-wrapper {
19
+ &:hover {
20
+ background-color: #63D65C;
21
+ border-color: #63D65C;
22
+ }
23
+ }
24
+
25
+ &:disabled + .checkbox-wrapper {
26
+ &:hover {
27
+ border: 1px #DDDDDD solid;
28
+ background-color: #F6F6F6;
29
+ }
30
+
31
+ &:focus {
32
+ box-shadow: none;
33
+ }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,22 @@
1
+ @import 'tao/form/globals';
2
+
3
+ tao-datetime-picker {
4
+ display: inline-flex;
5
+ width: 20rem;
6
+
7
+ & > input[type='datetime-local'] {
8
+ display: none;
9
+ }
10
+
11
+ tao-date-picker.moment-picker {
12
+ flex: 0 0 auto;
13
+ width: 11rem;
14
+ margin-right: 0.5rem;
15
+ }
16
+
17
+ tao-time-picker.moment-picker {
18
+ flex: 1 1 auto;
19
+ width: auto;
20
+ }
21
+
22
+ }
@@ -0,0 +1,6 @@
1
+ //= require ./checkbox
2
+ //= require ./radio
3
+ //= require ./switch
4
+ //= require ./select
5
+ //= require ./moment_picker
6
+ //= require ./datetime_picker
@@ -0,0 +1,10 @@
1
+ //= require_self
2
+ //= require_tree ./
3
+
4
+ @import 'tao/form/globals';
5
+
6
+ .moment-picker {
7
+ display: inline-block;
8
+ width: $form-field-width;
9
+ position: relative;
10
+ }
@@ -0,0 +1,61 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/result';
3
+
4
+ tao-moment-picker-result {
5
+ justify-content: space-between;
6
+ background: $white-color;
7
+ border: 1px solid $border-color;
8
+ border-radius: $border-radius-s;
9
+ transition: border-color 300ms;
10
+ cursor: pointer;
11
+
12
+ &:hover {
13
+ border-color: $form-field-active-border-color;
14
+ }
15
+
16
+ &[active],
17
+ &:focus {
18
+ border-color: $form-field-active-border-color;
19
+ outline: none;
20
+ }
21
+
22
+ &[disabled] {
23
+ cursor: not-allowed;
24
+ background: $grey-bg-color;
25
+ border-color: $light-border-color;
26
+
27
+ &[selected]:hover .link-clear {
28
+ display: none;
29
+ }
30
+ }
31
+
32
+ .icon-wrapper,
33
+ .link-clear {
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ flex: 0 0 auto;
38
+ width: $form-field-height - 0.125rem;
39
+ height: $form-field-height - 0.125rem;
40
+ fill: $lighter-grey-color;
41
+ }
42
+
43
+ .link-clear {
44
+ display: none;
45
+ text-decoration: none;
46
+ outline: none;
47
+
48
+ &:hover {
49
+ fill: $grey-color;
50
+ }
51
+ }
52
+
53
+ &[selected] {
54
+ &:hover,
55
+ &[active] {
56
+ .link-clear {
57
+ display: flex;
58
+ }
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,53 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segment_list';
3
+
4
+ $select-list-offset: 0.375rem;
5
+
6
+ tao-moment-picker-segment-list {
7
+ display: none;
8
+ flex-direction: column;
9
+ position: absolute;
10
+ top: 100%;
11
+ left: 0;
12
+ background: $white-color;
13
+ border: 1px solid $border-color;
14
+ box-shadow: 0 0 6px 0 rgba(0,0,0,0.2);
15
+ z-index: $z-index-popover;
16
+ margin-top: $select-list-offset;
17
+
18
+ &[active] {
19
+ display: block;
20
+ }
21
+
22
+ &[direction='up'] {
23
+ top: auto;
24
+ bottom: 100%;
25
+ margin-top: 0;
26
+ margin-bottom: $select-list-offset;
27
+ }
28
+
29
+ .segment-labels {
30
+ .segment-label {
31
+ &:focus,
32
+ &:hover {
33
+ background: $white-color;
34
+ border-color: $border-color;
35
+ }
36
+ }
37
+ }
38
+
39
+ .segments {
40
+ .segment {
41
+ margin: 0 0.5rem;
42
+ padding: 0.5rem 0;
43
+
44
+ .link-prev,
45
+ .link-next {
46
+ &:focus,
47
+ &:hover {
48
+ fill: $grey-color;
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,17 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segments/date_segment';
3
+
4
+ tao-moment-picker-date-segment {
5
+ .calendar {
6
+ width: 15rem;
7
+ margin-top: -0.5rem;
8
+
9
+ .days {
10
+ margin: 0.5rem 0 0 0;
11
+
12
+ .day:hover {
13
+ background: $grey-bg-color;
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,15 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segments/hour_segment';
3
+
4
+ tao-moment-picker-hour-segment {
5
+ .hours {
6
+ width: 12rem;
7
+
8
+ .hour {
9
+ &:focus,
10
+ &:hover {
11
+ background: $grey-bg-color;
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,17 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segments/minute_segment';
3
+
4
+ tao-moment-picker-minute-segment {
5
+ .minutes {
6
+ width: 12rem;
7
+ max-height: 12rem;
8
+ overflow: auto;
9
+
10
+ .minute {
11
+ &:focus,
12
+ &:hover {
13
+ background: $grey-bg-color;
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,15 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segments/month_segment';
3
+
4
+ tao-moment-picker-month-segment {
5
+ .month-list {
6
+ width: 15rem;
7
+
8
+ .month {
9
+ &:focus,
10
+ &:hover {
11
+ background: $grey-bg-color;
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/moment_picker/segments/year_segment';
3
+
4
+ tao-moment-picker-year-segment {
5
+ .year-list {
6
+ width: 15rem;
7
+
8
+ .year {
9
+ &:focus,
10
+ &:hover {
11
+ background: $grey-bg-color;
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,33 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/radio';
3
+
4
+ tao-radio-button {
5
+ .radio-wrapper {
6
+ &:hover {
7
+ border-color: #69D061;
8
+
9
+ .icon-radio {
10
+ background-color: #69D061;
11
+ }
12
+ }
13
+
14
+ &:focus {
15
+ border-color: #63D65C;
16
+ box-shadow: 0px 0px 4px 0px rgba(#4A90E2, 0.5);
17
+ outline: none;
18
+ }
19
+ }
20
+
21
+ input[type=radio] {
22
+ &:checked + .radio-wrapper {
23
+ &:hover {
24
+ border-color: #63D65C;
25
+
26
+ .icon-radio {
27
+ background-color: #69D061;
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ }
@@ -0,0 +1,10 @@
1
+ //= require_self
2
+ //= require_tree ./
3
+
4
+ @import 'tao/form/globals';
5
+
6
+ tao-select {
7
+ display: inline-block;
8
+ width: $form-field-width;
9
+ position: relative;
10
+ }
@@ -0,0 +1,61 @@
1
+ @import 'tao/form/globals';
2
+ @import 'tao/form/shared/fields/select/list';
3
+
4
+ tao-select-list {
5
+ display: none;
6
+ flex-direction: column;
7
+ position: absolute;
8
+ top: 100%;
9
+ left: 0;
10
+ min-width: $form-field-width;
11
+ border: 1px solid $border-color;
12
+ box-shadow: 0 0 6px 0 rgba(0,0,0,0.2);
13
+ z-index: $z-index-popover;
14
+ margin-top: $select-list-offset;
15
+
16
+ &[active] {
17
+ display: flex;
18
+ }
19
+
20
+ &[direction='up'] {
21
+ flex-direction: column-reverse;
22
+ top: auto;
23
+ bottom: 100%;
24
+ margin-top: 0;
25
+ margin-bottom: $select-list-offset;
26
+
27
+ .search-input {
28
+ border-top: 1px solid $border-color;
29
+ border-bottom: none;
30
+ }
31
+
32
+ .options-list {
33
+ flex-direction: column-reverse;
34
+
35
+ .option {
36
+ border-bottom: none;
37
+ border-top: 1px solid $border-color;
38
+
39
+ &:last-child {
40
+ border-top: none;
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ .list-wrapper {
47
+ max-height: 8 * $select-option-height;
48
+ flex: 0 0 auto;
49
+ }
50
+
51
+ .options-list {
52
+ display: flex;
53
+ flex-direction: column;
54
+
55
+ .option {
56
+ &:hover {
57
+ background: $grey-bg-color;
58
+ }
59
+ }
60
+ }
61
+ }