effective_bootstrap 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (525) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +644 -0
  4. data/app/assets/images/icons/activity.svg +13 -0
  5. data/app/assets/images/icons/airplay.svg +14 -0
  6. data/app/assets/images/icons/alert-circle.svg +15 -0
  7. data/app/assets/images/icons/alert-octagon.svg +15 -0
  8. data/app/assets/images/icons/alert-triangle.svg +15 -0
  9. data/app/assets/images/icons/align-center.svg +16 -0
  10. data/app/assets/images/icons/align-justify.svg +16 -0
  11. data/app/assets/images/icons/align-left.svg +16 -0
  12. data/app/assets/images/icons/align-right.svg +16 -0
  13. data/app/assets/images/icons/anchor.svg +15 -0
  14. data/app/assets/images/icons/aperture.svg +19 -0
  15. data/app/assets/images/icons/arrow-down-circle.svg +15 -0
  16. data/app/assets/images/icons/arrow-down-left.svg +14 -0
  17. data/app/assets/images/icons/arrow-down-right.svg +14 -0
  18. data/app/assets/images/icons/arrow-down.svg +14 -0
  19. data/app/assets/images/icons/arrow-left-circle.svg +15 -0
  20. data/app/assets/images/icons/arrow-left.svg +14 -0
  21. data/app/assets/images/icons/arrow-right-circle.svg +15 -0
  22. data/app/assets/images/icons/arrow-right.svg +14 -0
  23. data/app/assets/images/icons/arrow-up-circle.svg +15 -0
  24. data/app/assets/images/icons/arrow-up-left.svg +14 -0
  25. data/app/assets/images/icons/arrow-up-right.svg +14 -0
  26. data/app/assets/images/icons/arrow-up.svg +14 -0
  27. data/app/assets/images/icons/at-sign.svg +14 -0
  28. data/app/assets/images/icons/award.svg +14 -0
  29. data/app/assets/images/icons/bar-chart-2.svg +15 -0
  30. data/app/assets/images/icons/bar-chart.svg +15 -0
  31. data/app/assets/images/icons/battery-charging.svg +15 -0
  32. data/app/assets/images/icons/battery.svg +14 -0
  33. data/app/assets/images/icons/bell-off.svg +14 -0
  34. data/app/assets/images/icons/bell.svg +13 -0
  35. data/app/assets/images/icons/bluetooth.svg +13 -0
  36. data/app/assets/images/icons/bold.svg +14 -0
  37. data/app/assets/images/icons/book-open.svg +14 -0
  38. data/app/assets/images/icons/book.svg +14 -0
  39. data/app/assets/images/icons/bookmark.svg +13 -0
  40. data/app/assets/images/icons/box.svg +15 -0
  41. data/app/assets/images/icons/briefcase.svg +14 -0
  42. data/app/assets/images/icons/calendar.svg +16 -0
  43. data/app/assets/images/icons/camera-off.svg +14 -0
  44. data/app/assets/images/icons/camera.svg +14 -0
  45. data/app/assets/images/icons/cast.svg +14 -0
  46. data/app/assets/images/icons/check-circle.svg +14 -0
  47. data/app/assets/images/icons/check-square.svg +14 -0
  48. data/app/assets/images/icons/check.svg +13 -0
  49. data/app/assets/images/icons/chevron-down.svg +13 -0
  50. data/app/assets/images/icons/chevron-left.svg +13 -0
  51. data/app/assets/images/icons/chevron-right.svg +13 -0
  52. data/app/assets/images/icons/chevron-up.svg +13 -0
  53. data/app/assets/images/icons/chevrons-down.svg +14 -0
  54. data/app/assets/images/icons/chevrons-left.svg +14 -0
  55. data/app/assets/images/icons/chevrons-right.svg +14 -0
  56. data/app/assets/images/icons/chevrons-up.svg +14 -0
  57. data/app/assets/images/icons/chrome.svg +17 -0
  58. data/app/assets/images/icons/circle.svg +13 -0
  59. data/app/assets/images/icons/clipboard.svg +14 -0
  60. data/app/assets/images/icons/clock.svg +14 -0
  61. data/app/assets/images/icons/cloud-drizzle.svg +19 -0
  62. data/app/assets/images/icons/cloud-lightning.svg +14 -0
  63. data/app/assets/images/icons/cloud-off.svg +14 -0
  64. data/app/assets/images/icons/cloud-rain.svg +16 -0
  65. data/app/assets/images/icons/cloud-snow.svg +19 -0
  66. data/app/assets/images/icons/cloud.svg +13 -0
  67. data/app/assets/images/icons/code.svg +14 -0
  68. data/app/assets/images/icons/codepen.svg +17 -0
  69. data/app/assets/images/icons/command.svg +13 -0
  70. data/app/assets/images/icons/compass.svg +14 -0
  71. data/app/assets/images/icons/copy.svg +14 -0
  72. data/app/assets/images/icons/corner-down-left.svg +14 -0
  73. data/app/assets/images/icons/corner-down-right.svg +14 -0
  74. data/app/assets/images/icons/corner-left-down.svg +14 -0
  75. data/app/assets/images/icons/corner-left-up.svg +14 -0
  76. data/app/assets/images/icons/corner-right-down.svg +14 -0
  77. data/app/assets/images/icons/corner-right-up.svg +14 -0
  78. data/app/assets/images/icons/corner-up-left.svg +14 -0
  79. data/app/assets/images/icons/corner-up-right.svg +14 -0
  80. data/app/assets/images/icons/cpu.svg +22 -0
  81. data/app/assets/images/icons/credit-card.svg +14 -0
  82. data/app/assets/images/icons/crop.svg +14 -0
  83. data/app/assets/images/icons/crosshair.svg +17 -0
  84. data/app/assets/images/icons/database.svg +15 -0
  85. data/app/assets/images/icons/delete.svg +15 -0
  86. data/app/assets/images/icons/disc.svg +14 -0
  87. data/app/assets/images/icons/dollar-sign.svg +14 -0
  88. data/app/assets/images/icons/download-cloud.svg +15 -0
  89. data/app/assets/images/icons/download.svg +15 -0
  90. data/app/assets/images/icons/droplet.svg +13 -0
  91. data/app/assets/images/icons/edit-2.svg +13 -0
  92. data/app/assets/images/icons/edit-3.svg +14 -0
  93. data/app/assets/images/icons/edit.svg +14 -0
  94. data/app/assets/images/icons/external-link.svg +15 -0
  95. data/app/assets/images/icons/eye-off.svg +14 -0
  96. data/app/assets/images/icons/eye.svg +14 -0
  97. data/app/assets/images/icons/facebook-white.svg +7 -0
  98. data/app/assets/images/icons/facebook.svg +13 -0
  99. data/app/assets/images/icons/fast-forward.svg +14 -0
  100. data/app/assets/images/icons/feather.svg +15 -0
  101. data/app/assets/images/icons/file-minus.svg +15 -0
  102. data/app/assets/images/icons/file-plus.svg +16 -0
  103. data/app/assets/images/icons/file-text.svg +17 -0
  104. data/app/assets/images/icons/file.svg +14 -0
  105. data/app/assets/images/icons/film.svg +20 -0
  106. data/app/assets/images/icons/filter.svg +13 -0
  107. data/app/assets/images/icons/flag.svg +14 -0
  108. data/app/assets/images/icons/folder-minus.svg +14 -0
  109. data/app/assets/images/icons/folder-plus.svg +15 -0
  110. data/app/assets/images/icons/folder.svg +13 -0
  111. data/app/assets/images/icons/git-branch.svg +16 -0
  112. data/app/assets/images/icons/git-commit.svg +15 -0
  113. data/app/assets/images/icons/git-merge.svg +15 -0
  114. data/app/assets/images/icons/git-pull-request.svg +16 -0
  115. data/app/assets/images/icons/github.svg +13 -0
  116. data/app/assets/images/icons/gitlab.svg +13 -0
  117. data/app/assets/images/icons/globe.svg +15 -0
  118. data/app/assets/images/icons/google.svg +2 -0
  119. data/app/assets/images/icons/grid.svg +16 -0
  120. data/app/assets/images/icons/hard-drive.svg +16 -0
  121. data/app/assets/images/icons/hash.svg +16 -0
  122. data/app/assets/images/icons/headphones.svg +14 -0
  123. data/app/assets/images/icons/heart.svg +13 -0
  124. data/app/assets/images/icons/help-circle.svg +15 -0
  125. data/app/assets/images/icons/home.svg +14 -0
  126. data/app/assets/images/icons/image.svg +15 -0
  127. data/app/assets/images/icons/inbox.svg +14 -0
  128. data/app/assets/images/icons/info.svg +15 -0
  129. data/app/assets/images/icons/instagram.svg +15 -0
  130. data/app/assets/images/icons/italic.svg +15 -0
  131. data/app/assets/images/icons/layers.svg +15 -0
  132. data/app/assets/images/icons/layout.svg +15 -0
  133. data/app/assets/images/icons/life-buoy.svg +19 -0
  134. data/app/assets/images/icons/link-2.svg +14 -0
  135. data/app/assets/images/icons/link.svg +14 -0
  136. data/app/assets/images/icons/linkedin.svg +15 -0
  137. data/app/assets/images/icons/list.svg +18 -0
  138. data/app/assets/images/icons/loader.svg +20 -0
  139. data/app/assets/images/icons/lock.svg +14 -0
  140. data/app/assets/images/icons/log-in.svg +15 -0
  141. data/app/assets/images/icons/log-out.svg +15 -0
  142. data/app/assets/images/icons/mail.svg +14 -0
  143. data/app/assets/images/icons/map-pin.svg +14 -0
  144. data/app/assets/images/icons/map.svg +15 -0
  145. data/app/assets/images/icons/maximize-2.svg +16 -0
  146. data/app/assets/images/icons/maximize.svg +13 -0
  147. data/app/assets/images/icons/menu.svg +15 -0
  148. data/app/assets/images/icons/message-circle.svg +13 -0
  149. data/app/assets/images/icons/message-square.svg +13 -0
  150. data/app/assets/images/icons/mic-off.svg +17 -0
  151. data/app/assets/images/icons/mic.svg +16 -0
  152. data/app/assets/images/icons/minimize-2.svg +16 -0
  153. data/app/assets/images/icons/minimize.svg +13 -0
  154. data/app/assets/images/icons/minus-circle.svg +14 -0
  155. data/app/assets/images/icons/minus-square.svg +14 -0
  156. data/app/assets/images/icons/minus.svg +13 -0
  157. data/app/assets/images/icons/monitor.svg +15 -0
  158. data/app/assets/images/icons/moon.svg +13 -0
  159. data/app/assets/images/icons/more-horizontal.svg +15 -0
  160. data/app/assets/images/icons/more-vertical.svg +15 -0
  161. data/app/assets/images/icons/move.svg +18 -0
  162. data/app/assets/images/icons/music.svg +14 -0
  163. data/app/assets/images/icons/navigation-2.svg +13 -0
  164. data/app/assets/images/icons/navigation.svg +13 -0
  165. data/app/assets/images/icons/octagon.svg +13 -0
  166. data/app/assets/images/icons/package.svg +16 -0
  167. data/app/assets/images/icons/paperclip.svg +13 -0
  168. data/app/assets/images/icons/pause-circle.svg +15 -0
  169. data/app/assets/images/icons/pause.svg +14 -0
  170. data/app/assets/images/icons/percent.svg +15 -0
  171. data/app/assets/images/icons/phone-call.svg +13 -0
  172. data/app/assets/images/icons/phone-forwarded.svg +15 -0
  173. data/app/assets/images/icons/phone-incoming.svg +15 -0
  174. data/app/assets/images/icons/phone-missed.svg +15 -0
  175. data/app/assets/images/icons/phone-off.svg +14 -0
  176. data/app/assets/images/icons/phone-outgoing.svg +15 -0
  177. data/app/assets/images/icons/phone.svg +13 -0
  178. data/app/assets/images/icons/pie-chart.svg +14 -0
  179. data/app/assets/images/icons/play-circle.svg +14 -0
  180. data/app/assets/images/icons/play.svg +13 -0
  181. data/app/assets/images/icons/plus-circle.svg +15 -0
  182. data/app/assets/images/icons/plus-square.svg +15 -0
  183. data/app/assets/images/icons/plus.svg +14 -0
  184. data/app/assets/images/icons/pocket.svg +14 -0
  185. data/app/assets/images/icons/power.svg +14 -0
  186. data/app/assets/images/icons/printer.svg +15 -0
  187. data/app/assets/images/icons/radio.svg +14 -0
  188. data/app/assets/images/icons/refresh-ccw.svg +15 -0
  189. data/app/assets/images/icons/refresh-cw.svg +15 -0
  190. data/app/assets/images/icons/repeat.svg +16 -0
  191. data/app/assets/images/icons/rewind.svg +14 -0
  192. data/app/assets/images/icons/rotate-ccw.svg +14 -0
  193. data/app/assets/images/icons/rotate-cw.svg +14 -0
  194. data/app/assets/images/icons/rss.svg +15 -0
  195. data/app/assets/images/icons/save.svg +15 -0
  196. data/app/assets/images/icons/scissors.svg +17 -0
  197. data/app/assets/images/icons/search.svg +14 -0
  198. data/app/assets/images/icons/send.svg +14 -0
  199. data/app/assets/images/icons/server.svg +16 -0
  200. data/app/assets/images/icons/settings.svg +14 -0
  201. data/app/assets/images/icons/share-2.svg +17 -0
  202. data/app/assets/images/icons/share.svg +15 -0
  203. data/app/assets/images/icons/shield-off.svg +15 -0
  204. data/app/assets/images/icons/shield.svg +13 -0
  205. data/app/assets/images/icons/shopping-bag.svg +15 -0
  206. data/app/assets/images/icons/shopping-cart.svg +15 -0
  207. data/app/assets/images/icons/shuffle.svg +17 -0
  208. data/app/assets/images/icons/sidebar.svg +14 -0
  209. data/app/assets/images/icons/skip-back.svg +14 -0
  210. data/app/assets/images/icons/skip-forward.svg +14 -0
  211. data/app/assets/images/icons/slack.svg +17 -0
  212. data/app/assets/images/icons/slash.svg +14 -0
  213. data/app/assets/images/icons/sliders.svg +21 -0
  214. data/app/assets/images/icons/smartphone.svg +14 -0
  215. data/app/assets/images/icons/speaker.svg +15 -0
  216. data/app/assets/images/icons/spinner.svg +1 -0
  217. data/app/assets/images/icons/square.svg +13 -0
  218. data/app/assets/images/icons/star.svg +13 -0
  219. data/app/assets/images/icons/stop-circle.svg +14 -0
  220. data/app/assets/images/icons/sun.svg +21 -0
  221. data/app/assets/images/icons/sunrise.svg +20 -0
  222. data/app/assets/images/icons/sunset.svg +20 -0
  223. data/app/assets/images/icons/tablet.svg +22 -0
  224. data/app/assets/images/icons/tag.svg +14 -0
  225. data/app/assets/images/icons/target.svg +15 -0
  226. data/app/assets/images/icons/terminal.svg +14 -0
  227. data/app/assets/images/icons/thermometer.svg +13 -0
  228. data/app/assets/images/icons/thumbs-down.svg +13 -0
  229. data/app/assets/images/icons/thumbs-up.svg +13 -0
  230. data/app/assets/images/icons/toggle-left.svg +14 -0
  231. data/app/assets/images/icons/toggle-right.svg +14 -0
  232. data/app/assets/images/icons/trash-2.svg +16 -0
  233. data/app/assets/images/icons/trash.svg +14 -0
  234. data/app/assets/images/icons/trending-down.svg +14 -0
  235. data/app/assets/images/icons/trending-up.svg +14 -0
  236. data/app/assets/images/icons/triangle.svg +13 -0
  237. data/app/assets/images/icons/truck.svg +16 -0
  238. data/app/assets/images/icons/tv.svg +14 -0
  239. data/app/assets/images/icons/twitter.svg +13 -0
  240. data/app/assets/images/icons/type.svg +15 -0
  241. data/app/assets/images/icons/umbrella.svg +13 -0
  242. data/app/assets/images/icons/underline.svg +14 -0
  243. data/app/assets/images/icons/unlock.svg +14 -0
  244. data/app/assets/images/icons/upload-cloud.svg +16 -0
  245. data/app/assets/images/icons/upload.svg +15 -0
  246. data/app/assets/images/icons/user-check.svg +15 -0
  247. data/app/assets/images/icons/user-minus.svg +15 -0
  248. data/app/assets/images/icons/user-plus.svg +16 -0
  249. data/app/assets/images/icons/user-x.svg +16 -0
  250. data/app/assets/images/icons/user.svg +14 -0
  251. data/app/assets/images/icons/users.svg +16 -0
  252. data/app/assets/images/icons/video-off.svg +14 -0
  253. data/app/assets/images/icons/video.svg +14 -0
  254. data/app/assets/images/icons/voicemail.svg +15 -0
  255. data/app/assets/images/icons/volume-1.svg +14 -0
  256. data/app/assets/images/icons/volume-2.svg +14 -0
  257. data/app/assets/images/icons/volume-x.svg +15 -0
  258. data/app/assets/images/icons/volume.svg +13 -0
  259. data/app/assets/images/icons/watch.svg +15 -0
  260. data/app/assets/images/icons/wifi-off.svg +19 -0
  261. data/app/assets/images/icons/wifi.svg +16 -0
  262. data/app/assets/images/icons/wind.svg +13 -0
  263. data/app/assets/images/icons/x-circle.svg +15 -0
  264. data/app/assets/images/icons/x-square.svg +15 -0
  265. data/app/assets/images/icons/x.svg +14 -0
  266. data/app/assets/images/icons/zap-off.svg +16 -0
  267. data/app/assets/images/icons/zap.svg +13 -0
  268. data/app/assets/images/icons/zoom-in.svg +16 -0
  269. data/app/assets/images/icons/zoom-out.svg +15 -0
  270. data/app/assets/javascripts/effective_bootstrap.js +25 -0
  271. data/app/assets/javascripts/effective_bootstrap/base.js.coffee +22 -0
  272. data/app/assets/javascripts/effective_bootstrap/confirm.js.coffee.erb +23 -0
  273. data/app/assets/javascripts/effective_bootstrap/form.js.coffee +182 -0
  274. data/app/assets/javascripts/effective_bootstrap/logic.js.coffee +64 -0
  275. data/app/assets/javascripts/effective_bootstrap/other.js.coffee +4 -0
  276. data/app/assets/javascripts/effective_bootstrap/tabs.js +14 -0
  277. data/app/assets/javascripts/effective_checks/initialize.js.coffee +7 -0
  278. data/app/assets/javascripts/effective_checks/input.js +1 -0
  279. data/app/assets/javascripts/effective_ck_editor/initialize.js.coffee +72 -0
  280. data/app/assets/javascripts/effective_ck_editor/input.js +1 -0
  281. data/app/assets/javascripts/effective_clear/initialize.js.coffee +3 -0
  282. data/app/assets/javascripts/effective_clear/input.js +1 -0
  283. data/app/assets/javascripts/effective_date/initialize.js.coffee +7 -0
  284. data/app/assets/javascripts/effective_date/input.js +5 -0
  285. data/app/assets/javascripts/effective_datetime/bootstrap-datetimepicker.js +2636 -0
  286. data/app/assets/javascripts/effective_datetime/initialize.js.coffee +7 -0
  287. data/app/assets/javascripts/effective_datetime/input.js +5 -0
  288. data/app/assets/javascripts/effective_datetime/overrides.js.coffee +45 -0
  289. data/app/assets/javascripts/effective_datetime/turbolinks.js.coffee +5 -0
  290. data/app/assets/javascripts/effective_editor/image-drop-and-paste.js +3 -0
  291. data/app/assets/javascripts/effective_editor/image-resize.js +2 -0
  292. data/app/assets/javascripts/effective_editor/initialize.js.coffee +138 -0
  293. data/app/assets/javascripts/effective_editor/input.js +4 -0
  294. data/app/assets/javascripts/effective_editor/quill.js +11496 -0
  295. data/app/assets/javascripts/effective_file/initialize.js.coffee +19 -0
  296. data/app/assets/javascripts/effective_file/input.js +1 -0
  297. data/app/assets/javascripts/effective_integer/initialize.js.coffee +6 -0
  298. data/app/assets/javascripts/effective_integer/input.js +1 -0
  299. data/app/assets/javascripts/effective_number_text/initialize.js.coffee +6 -0
  300. data/app/assets/javascripts/effective_number_text/input.js +1 -0
  301. data/app/assets/javascripts/effective_percent/initialize.js.coffee +39 -0
  302. data/app/assets/javascripts/effective_percent/input.js +1 -0
  303. data/app/assets/javascripts/effective_phone/initialize.js.coffee +4 -0
  304. data/app/assets/javascripts/effective_phone/input.js +2 -0
  305. data/app/assets/javascripts/effective_phone/jquery.maskedInput.js +182 -0
  306. data/app/assets/javascripts/effective_price/initialize.js.coffee +43 -0
  307. data/app/assets/javascripts/effective_price/input.js +1 -0
  308. data/app/assets/javascripts/effective_radio/initialize.js.coffee +36 -0
  309. data/app/assets/javascripts/effective_radio/input.js +1 -0
  310. data/app/assets/javascripts/effective_select/initialize.js.coffee +56 -0
  311. data/app/assets/javascripts/effective_select/input.js +3 -0
  312. data/app/assets/javascripts/effective_select/overrides.js.coffee +60 -0
  313. data/app/assets/javascripts/effective_select/select2.js +5747 -0
  314. data/app/assets/javascripts/effective_select_or_text/initialize.js +30 -0
  315. data/app/assets/javascripts/effective_select_or_text/input.js +1 -0
  316. data/app/assets/javascripts/effective_time/initialize.js.coffee +7 -0
  317. data/app/assets/javascripts/effective_time/input.js +5 -0
  318. data/app/assets/javascripts/effective_time_zone_select/initialize.js.coffee +13 -0
  319. data/app/assets/javascripts/effective_time_zone_select/input.js +1 -0
  320. data/app/assets/javascripts/moment/locale/af.js +72 -0
  321. data/app/assets/javascripts/moment/locale/ar-dz.js +58 -0
  322. data/app/assets/javascripts/moment/locale/ar-kw.js +58 -0
  323. data/app/assets/javascripts/moment/locale/ar-ly.js +121 -0
  324. data/app/assets/javascripts/moment/locale/ar-ma.js +58 -0
  325. data/app/assets/javascripts/moment/locale/ar-sa.js +103 -0
  326. data/app/assets/javascripts/moment/locale/ar-tn.js +58 -0
  327. data/app/assets/javascripts/moment/locale/ar.js +134 -0
  328. data/app/assets/javascripts/moment/locale/az.js +104 -0
  329. data/app/assets/javascripts/moment/locale/be.js +131 -0
  330. data/app/assets/javascripts/moment/locale/bg.js +89 -0
  331. data/app/assets/javascripts/moment/locale/bm.js +57 -0
  332. data/app/assets/javascripts/moment/locale/bn.js +118 -0
  333. data/app/assets/javascripts/moment/locale/bo.js +118 -0
  334. data/app/assets/javascripts/moment/locale/br.js +107 -0
  335. data/app/assets/javascripts/moment/locale/bs.js +150 -0
  336. data/app/assets/javascripts/moment/locale/ca.js +87 -0
  337. data/app/assets/javascripts/moment/locale/cs.js +171 -0
  338. data/app/assets/javascripts/moment/locale/cv.js +62 -0
  339. data/app/assets/javascripts/moment/locale/cy.js +79 -0
  340. data/app/assets/javascripts/moment/locale/da.js +59 -0
  341. data/app/assets/javascripts/moment/locale/de-at.js +75 -0
  342. data/app/assets/javascripts/moment/locale/de-ch.js +75 -0
  343. data/app/assets/javascripts/moment/locale/de.js +75 -0
  344. data/app/assets/javascripts/moment/locale/dv.js +98 -0
  345. data/app/assets/javascripts/moment/locale/el.js +99 -0
  346. data/app/assets/javascripts/moment/locale/en-SG.js +66 -0
  347. data/app/assets/javascripts/moment/locale/en-au.js +66 -0
  348. data/app/assets/javascripts/moment/locale/en-ca.js +62 -0
  349. data/app/assets/javascripts/moment/locale/en-gb.js +66 -0
  350. data/app/assets/javascripts/moment/locale/en-ie.js +66 -0
  351. data/app/assets/javascripts/moment/locale/en-il.js +61 -0
  352. data/app/assets/javascripts/moment/locale/en-nz.js +66 -0
  353. data/app/assets/javascripts/moment/locale/eo.js +70 -0
  354. data/app/assets/javascripts/moment/locale/es-do.js +91 -0
  355. data/app/assets/javascripts/moment/locale/es-us.js +91 -0
  356. data/app/assets/javascripts/moment/locale/es.js +91 -0
  357. data/app/assets/javascripts/moment/locale/et.js +79 -0
  358. data/app/assets/javascripts/moment/locale/eu.js +65 -0
  359. data/app/assets/javascripts/moment/locale/fa.js +105 -0
  360. data/app/assets/javascripts/moment/locale/fi.js +108 -0
  361. data/app/assets/javascripts/moment/locale/fo.js +59 -0
  362. data/app/assets/javascripts/moment/locale/fr-ca.js +73 -0
  363. data/app/assets/javascripts/moment/locale/fr-ch.js +77 -0
  364. data/app/assets/javascripts/moment/locale/fr.js +82 -0
  365. data/app/assets/javascripts/moment/locale/fy.js +74 -0
  366. data/app/assets/javascripts/moment/locale/ga.js +76 -0
  367. data/app/assets/javascripts/moment/locale/gd.js +75 -0
  368. data/app/assets/javascripts/moment/locale/gl.js +76 -0
  369. data/app/assets/javascripts/moment/locale/gom-latn.js +122 -0
  370. data/app/assets/javascripts/moment/locale/gu.js +123 -0
  371. data/app/assets/javascripts/moment/locale/he.js +96 -0
  372. data/app/assets/javascripts/moment/locale/hi.js +123 -0
  373. data/app/assets/javascripts/moment/locale/hr.js +153 -0
  374. data/app/assets/javascripts/moment/locale/hu.js +109 -0
  375. data/app/assets/javascripts/moment/locale/hy-am.js +94 -0
  376. data/app/assets/javascripts/moment/locale/id.js +81 -0
  377. data/app/assets/javascripts/moment/locale/is.js +131 -0
  378. data/app/assets/javascripts/moment/locale/it-ch.js +68 -0
  379. data/app/assets/javascripts/moment/locale/it.js +68 -0
  380. data/app/assets/javascripts/moment/locale/ja.js +91 -0
  381. data/app/assets/javascripts/moment/locale/jv.js +81 -0
  382. data/app/assets/javascripts/moment/locale/ka.js +88 -0
  383. data/app/assets/javascripts/moment/locale/kk.js +86 -0
  384. data/app/assets/javascripts/moment/locale/km.js +109 -0
  385. data/app/assets/javascripts/moment/locale/kn.js +125 -0
  386. data/app/assets/javascripts/moment/locale/ko.js +80 -0
  387. data/app/assets/javascripts/moment/locale/ku.js +118 -0
  388. data/app/assets/javascripts/moment/locale/ky.js +86 -0
  389. data/app/assets/javascripts/moment/locale/lb.js +135 -0
  390. data/app/assets/javascripts/moment/locale/lo.js +69 -0
  391. data/app/assets/javascripts/moment/locale/lt.js +117 -0
  392. data/app/assets/javascripts/moment/locale/lv.js +96 -0
  393. data/app/assets/javascripts/moment/locale/me.js +111 -0
  394. data/app/assets/javascripts/moment/locale/mi.js +63 -0
  395. data/app/assets/javascripts/moment/locale/mk.js +89 -0
  396. data/app/assets/javascripts/moment/locale/ml.js +80 -0
  397. data/app/assets/javascripts/moment/locale/mn.js +103 -0
  398. data/app/assets/javascripts/moment/locale/mr.js +159 -0
  399. data/app/assets/javascripts/moment/locale/ms-my.js +81 -0
  400. data/app/assets/javascripts/moment/locale/ms.js +81 -0
  401. data/app/assets/javascripts/moment/locale/mt.js +59 -0
  402. data/app/assets/javascripts/moment/locale/my.js +92 -0
  403. data/app/assets/javascripts/moment/locale/nb.js +61 -0
  404. data/app/assets/javascripts/moment/locale/ne.js +122 -0
  405. data/app/assets/javascripts/moment/locale/nl-be.js +86 -0
  406. data/app/assets/javascripts/moment/locale/nl.js +86 -0
  407. data/app/assets/javascripts/moment/locale/nn.js +59 -0
  408. data/app/assets/javascripts/moment/locale/pa-in.js +123 -0
  409. data/app/assets/javascripts/moment/locale/pl.js +125 -0
  410. data/app/assets/javascripts/moment/locale/pt-br.js +60 -0
  411. data/app/assets/javascripts/moment/locale/pt.js +64 -0
  412. data/app/assets/javascripts/moment/locale/ro.js +74 -0
  413. data/app/assets/javascripts/moment/locale/ru.js +181 -0
  414. data/app/assets/javascripts/moment/locale/sd.js +97 -0
  415. data/app/assets/javascripts/moment/locale/se.js +59 -0
  416. data/app/assets/javascripts/moment/locale/si.js +70 -0
  417. data/app/assets/javascripts/moment/locale/sk.js +155 -0
  418. data/app/assets/javascripts/moment/locale/sl.js +172 -0
  419. data/app/assets/javascripts/moment/locale/sq.js +67 -0
  420. data/app/assets/javascripts/moment/locale/sr-cyrl.js +110 -0
  421. data/app/assets/javascripts/moment/locale/sr.js +110 -0
  422. data/app/assets/javascripts/moment/locale/ss.js +87 -0
  423. data/app/assets/javascripts/moment/locale/sv.js +68 -0
  424. data/app/assets/javascripts/moment/locale/sw.js +58 -0
  425. data/app/assets/javascripts/moment/locale/ta.js +128 -0
  426. data/app/assets/javascripts/moment/locale/te.js +88 -0
  427. data/app/assets/javascripts/moment/locale/tet.js +66 -0
  428. data/app/assets/javascripts/moment/locale/tg.js +115 -0
  429. data/app/assets/javascripts/moment/locale/th.js +66 -0
  430. data/app/assets/javascripts/moment/locale/tl-ph.js +61 -0
  431. data/app/assets/javascripts/moment/locale/tlh.js +121 -0
  432. data/app/assets/javascripts/moment/locale/tr.js +93 -0
  433. data/app/assets/javascripts/moment/locale/tzl.js +90 -0
  434. data/app/assets/javascripts/moment/locale/tzm-latn.js +57 -0
  435. data/app/assets/javascripts/moment/locale/tzm.js +57 -0
  436. data/app/assets/javascripts/moment/locale/ug-cn.js +118 -0
  437. data/app/assets/javascripts/moment/locale/uk.js +153 -0
  438. data/app/assets/javascripts/moment/locale/ur.js +97 -0
  439. data/app/assets/javascripts/moment/locale/uz-latn.js +57 -0
  440. data/app/assets/javascripts/moment/locale/uz.js +57 -0
  441. data/app/assets/javascripts/moment/locale/vi.js +78 -0
  442. data/app/assets/javascripts/moment/locale/x-pseudo.js +67 -0
  443. data/app/assets/javascripts/moment/locale/yo.js +59 -0
  444. data/app/assets/javascripts/moment/locale/zh-cn.js +109 -0
  445. data/app/assets/javascripts/moment/locale/zh-hk.js +102 -0
  446. data/app/assets/javascripts/moment/locale/zh-tw.js +102 -0
  447. data/app/assets/javascripts/moment/moment.js +4603 -0
  448. data/app/assets/stylesheets/effective_bootstrap.scss +12 -0
  449. data/app/assets/stylesheets/effective_bootstrap/base.scss +4 -0
  450. data/app/assets/stylesheets/effective_bootstrap/forms.scss +65 -0
  451. data/app/assets/stylesheets/effective_bootstrap/icons.scss +67 -0
  452. data/app/assets/stylesheets/effective_bootstrap/overrides.scss +14 -0
  453. data/app/assets/stylesheets/effective_checks/input.scss +8 -0
  454. data/app/assets/stylesheets/effective_date/input.scss +1 -0
  455. data/app/assets/stylesheets/effective_datetime/bootstrap-datetimepicker.scss +374 -0
  456. data/app/assets/stylesheets/effective_datetime/input.scss +2 -0
  457. data/app/assets/stylesheets/effective_datetime/overrides.scss +31 -0
  458. data/app/assets/stylesheets/effective_editor/input.scss +2 -0
  459. data/app/assets/stylesheets/effective_editor/overrides.scss +25 -0
  460. data/app/assets/stylesheets/effective_editor/quill.scss +948 -0
  461. data/app/assets/stylesheets/effective_file/input.scss +46 -0
  462. data/app/assets/stylesheets/effective_radio/input.scss +29 -0
  463. data/app/assets/stylesheets/effective_select/bootstrap-theme.css +564 -0
  464. data/app/assets/stylesheets/effective_select/input.scss +3 -0
  465. data/app/assets/stylesheets/effective_select/overrides.scss +115 -0
  466. data/app/assets/stylesheets/effective_select/select2.css +484 -0
  467. data/app/assets/stylesheets/effective_select_or_text/input.scss +6 -0
  468. data/app/assets/stylesheets/effective_time/input.scss +1 -0
  469. data/app/helpers/effective_bootstrap_helper.rb +371 -0
  470. data/app/helpers/effective_editor_helper.rb +29 -0
  471. data/app/helpers/effective_form_builder_helper.rb +74 -0
  472. data/app/helpers/effective_icons_helper.rb +51 -0
  473. data/app/models/effective/access_denied.rb +17 -0
  474. data/app/models/effective/form_builder.rb +199 -0
  475. data/app/models/effective/form_input.rb +434 -0
  476. data/app/models/effective/form_inputs/check_box.rb +70 -0
  477. data/app/models/effective/form_inputs/checks.rb +99 -0
  478. data/app/models/effective/form_inputs/ck_editor.rb +48 -0
  479. data/app/models/effective/form_inputs/clear.rb +22 -0
  480. data/app/models/effective/form_inputs/collection_input.rb +168 -0
  481. data/app/models/effective/form_inputs/date_field.rb +34 -0
  482. data/app/models/effective/form_inputs/datetime_field.rb +83 -0
  483. data/app/models/effective/form_inputs/delete.rb +26 -0
  484. data/app/models/effective/form_inputs/editor.rb +88 -0
  485. data/app/models/effective/form_inputs/email_cc_field.rb +19 -0
  486. data/app/models/effective/form_inputs/email_field.rb +20 -0
  487. data/app/models/effective/form_inputs/error_field.rb +47 -0
  488. data/app/models/effective/form_inputs/file_field.rb +135 -0
  489. data/app/models/effective/form_inputs/float_field.rb +20 -0
  490. data/app/models/effective/form_inputs/form_group.rb +15 -0
  491. data/app/models/effective/form_inputs/integer_field.rb +18 -0
  492. data/app/models/effective/form_inputs/number_field.rb +10 -0
  493. data/app/models/effective/form_inputs/number_text_field.rb +15 -0
  494. data/app/models/effective/form_inputs/password_field.rb +24 -0
  495. data/app/models/effective/form_inputs/percent_field.rb +38 -0
  496. data/app/models/effective/form_inputs/phone_field.rb +39 -0
  497. data/app/models/effective/form_inputs/price_field.rb +32 -0
  498. data/app/models/effective/form_inputs/radios.rb +175 -0
  499. data/app/models/effective/form_inputs/remote_link_to.rb +30 -0
  500. data/app/models/effective/form_inputs/reset.rb +22 -0
  501. data/app/models/effective/form_inputs/save.rb +22 -0
  502. data/app/models/effective/form_inputs/search_field.rb +15 -0
  503. data/app/models/effective/form_inputs/select.rb +176 -0
  504. data/app/models/effective/form_inputs/select_or_text.rb +70 -0
  505. data/app/models/effective/form_inputs/static_field.rb +41 -0
  506. data/app/models/effective/form_inputs/submit.rb +109 -0
  507. data/app/models/effective/form_inputs/text_area.rb +11 -0
  508. data/app/models/effective/form_inputs/text_field.rb +6 -0
  509. data/app/models/effective/form_inputs/time_field.rb +34 -0
  510. data/app/models/effective/form_inputs/time_zone_select.rb +15 -0
  511. data/app/models/effective/form_inputs/url_field.rb +20 -0
  512. data/app/models/effective/form_logic.rb +45 -0
  513. data/app/models/effective/form_logics/hide_if.rb +39 -0
  514. data/app/models/effective/form_logics/show_if.rb +39 -0
  515. data/app/models/effective/form_logics/show_if_any.rb +42 -0
  516. data/app/views/effective/style_guide/__fields.html.haml +43 -0
  517. data/app/views/effective/style_guide/__inline_fields.html.haml +4 -0
  518. data/app/views/effective/style_guide/_effective_form_with.html.haml +26 -0
  519. data/app/views/effective/style_guide/_feather_icons.html.haml +9 -0
  520. data/config/effective_bootstrap.rb +27 -0
  521. data/lib/effective_bootstrap.rb +33 -0
  522. data/lib/effective_bootstrap/engine.rb +15 -0
  523. data/lib/effective_bootstrap/version.rb +3 -0
  524. data/lib/generators/effective_bootstrap/install_generator.rb +14 -0
  525. metadata +650 -0
@@ -0,0 +1,46 @@
1
+ .direct-uploads {}
2
+
3
+ .direct-upload {
4
+ display: inline-block;
5
+ position: relative;
6
+ padding: 2px 4px;
7
+ margin: 0 3px 3px 0;
8
+ border: 1px solid rgba(0, 0, 0, 0.3);
9
+ border-radius: 3px;
10
+ font-size: 11px;
11
+ line-height: 13px;
12
+ }
13
+
14
+ .direct-upload--pending {
15
+ opacity: 0.6;
16
+ }
17
+
18
+ .direct-upload__progress {
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ bottom: 0;
23
+ opacity: 0.2;
24
+ background: #0076ff;
25
+ transition: width 120ms ease-out, opacity 60ms 60ms ease-in;
26
+ transform: translate3d(0, 0, 0);
27
+ }
28
+
29
+ .direct-upload--complete .direct-upload__progress {
30
+ opacity: 0.4;
31
+ }
32
+
33
+ .direct-upload--error {
34
+ border-color: red;
35
+ }
36
+
37
+ input[type=file][data-direct-upload-url][disabled] {
38
+ display: none;
39
+ }
40
+
41
+ // Attachments
42
+ table.effective_file_attachments {
43
+ img { max-width: 128px; max-height: 128px;}
44
+ }
45
+
46
+ input.form-control-file { padding-bottom: 2.75rem; }
@@ -0,0 +1,29 @@
1
+ div.btn-group > .btn.first-button {
2
+ border-top-left-radius: 0.25rem;
3
+ border-bottom-left-radius: 0.25rem;
4
+ }
5
+
6
+ .effective-radios.is-valid {
7
+ label { border-color: #28a745; }
8
+ .valid-feedback { display: block; }
9
+ }
10
+
11
+ .effective-radios.is-invalid {
12
+ label { border-color: #dc3545; }
13
+ .invalid-feedback { display: block; }
14
+ }
15
+
16
+ .effective-radios.card-deck {
17
+ .card-header { cursor: pointer; }
18
+
19
+ input[type=radio] { display: none; }
20
+
21
+ .visible-when-selected { display: none; }
22
+ .visible-when-unselected { display: block; }
23
+
24
+ .active {
25
+ .visible-when-selected { display: block; }
26
+ .visible-when-unselected { display: none; }
27
+ }
28
+ }
29
+
@@ -0,0 +1,564 @@
1
+ /*! Select2 Bootstrap Theme v0.1.0-beta.3 | MIT License | github.com/fk/select2-bootstrap-theme */
2
+ .select2-container--bootstrap {
3
+ display: block;
4
+ /*------------------------------------*\
5
+ #COMMON STYLES
6
+ \*------------------------------------*/
7
+ /**
8
+ * Search field in the Select2 dropdown.
9
+ */
10
+ /**
11
+ * No outline for all search fields - in the dropdown
12
+ * and inline in multi Select2s.
13
+ */
14
+ /**
15
+ * Adjust Select2's choices hover and selected styles to match
16
+ * Bootstrap 3's default dropdown styles.
17
+ *
18
+ * @see http://getbootstrap.com/components/#dropdowns
19
+ */
20
+ /**
21
+ * Address disabled Select2 styles.
22
+ *
23
+ * @see https://select2.github.io/examples.html#disabled
24
+ * @see http://getbootstrap.com/css/#forms-control-disabled
25
+ */
26
+ /*------------------------------------*\
27
+ #DROPDOWN
28
+ \*------------------------------------*/
29
+ /**
30
+ * Dropdown border color and box-shadow.
31
+ */
32
+ /**
33
+ * Limit the dropdown height.
34
+ */
35
+ /*------------------------------------*\
36
+ #SINGLE SELECT2
37
+ \*------------------------------------*/
38
+ /*------------------------------------*\
39
+ #MULTIPLE SELECT2
40
+ \*------------------------------------*/
41
+ /**
42
+ * Address Bootstrap control sizing classes
43
+ *
44
+ * 1. Reset Bootstrap defaults.
45
+ * 2. Adjust the dropdown arrow button icon position.
46
+ *
47
+ * @see http://getbootstrap.com/css/#forms-control-sizes
48
+ */
49
+ /* 1 */
50
+ /*------------------------------------*\
51
+ #RTL SUPPORT
52
+ \*------------------------------------*/
53
+ }
54
+ .select2-container--bootstrap .select2-selection {
55
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
56
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
57
+ background-color: #fff;
58
+ border: 1px solid #ccc;
59
+ border-radius: 4px;
60
+ color: #555555;
61
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
62
+ font-size: 14px;
63
+ outline: 0;
64
+ }
65
+ .select2-container--bootstrap .select2-search--dropdown .select2-search__field {
66
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
67
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
68
+ background-color: #fff;
69
+ border: 1px solid #ccc;
70
+ border-radius: 4px;
71
+ color: #555555;
72
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
73
+ font-size: 14px;
74
+ }
75
+ .select2-container--bootstrap .select2-search__field {
76
+ outline: 0;
77
+ /* Firefox 18- */
78
+ /**
79
+ * Firefox 19+
80
+ *
81
+ * @see http://stackoverflow.com/questions/24236240/color-for-styled-placeholder-text-is-muted-in-firefox
82
+ */
83
+ }
84
+ .select2-container--bootstrap .select2-search__field::-webkit-input-placeholder {
85
+ color: #999;
86
+ }
87
+ .select2-container--bootstrap .select2-search__field:-moz-placeholder {
88
+ color: #999;
89
+ }
90
+ .select2-container--bootstrap .select2-search__field::-moz-placeholder {
91
+ color: #999;
92
+ opacity: 1;
93
+ }
94
+ .select2-container--bootstrap .select2-search__field:-ms-input-placeholder {
95
+ color: #999;
96
+ }
97
+ .select2-container--bootstrap .select2-results__option {
98
+ /**
99
+ * Disabled results.
100
+ *
101
+ * @see https://select2.github.io/examples.html#disabled-results
102
+ */
103
+ /**
104
+ * Hover state.
105
+ */
106
+ /**
107
+ * Selected state.
108
+ */
109
+ }
110
+ .select2-container--bootstrap .select2-results__option[role=group] {
111
+ padding: 0;
112
+ }
113
+ .select2-container--bootstrap .select2-results__option[aria-disabled=true] {
114
+ color: #777777;
115
+ cursor: not-allowed;
116
+ }
117
+ .select2-container--bootstrap .select2-results__option[aria-selected=true] {
118
+ background-color: #f5f5f5;
119
+ color: #262626;
120
+ }
121
+ .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
122
+ background-color: #337ab7;
123
+ color: #fff;
124
+ }
125
+ .select2-container--bootstrap .select2-results__option .select2-results__option {
126
+ padding: 6px 12px;
127
+ }
128
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group {
129
+ padding-left: 0;
130
+ }
131
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option {
132
+ margin-left: -12px;
133
+ padding-left: 24px;
134
+ }
135
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
136
+ margin-left: -24px;
137
+ padding-left: 36px;
138
+ }
139
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
140
+ margin-left: -36px;
141
+ padding-left: 48px;
142
+ }
143
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
144
+ margin-left: -48px;
145
+ padding-left: 60px;
146
+ }
147
+ .select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
148
+ margin-left: -60px;
149
+ padding-left: 72px;
150
+ }
151
+ .select2-container--bootstrap .select2-results__group {
152
+ color: #777777;
153
+ display: block;
154
+ padding: 6px 12px;
155
+ font-size: 12px;
156
+ line-height: 1.428571429;
157
+ white-space: nowrap;
158
+ }
159
+ .select2-container--bootstrap.select2-container--open {
160
+ /**
161
+ * Handle border radii of the container when the dropdown is showing.
162
+ */
163
+ }
164
+ .select2-container--bootstrap.select2-container--open .select2-selection {
165
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
166
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
167
+ -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
168
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
169
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
170
+ border-color: #66afe9;
171
+ /**
172
+ * Make the dropdown arrow point up while the dropdown is visible.
173
+ */
174
+ }
175
+ .select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b {
176
+ border-color: transparent transparent #999 transparent;
177
+ border-width: 0 4px 4px 4px;
178
+ }
179
+ .select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection {
180
+ border-bottom-right-radius: 0;
181
+ border-bottom-left-radius: 0;
182
+ border-bottom-color: transparent;
183
+ }
184
+ .select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection {
185
+ border-top-right-radius: 0;
186
+ border-top-left-radius: 0;
187
+ border-top-color: transparent;
188
+ }
189
+ .select2-container--bootstrap.select2-container--disabled .select2-selection,
190
+ .select2-container--bootstrap.select2-container--disabled .select2-search__field {
191
+ cursor: not-allowed;
192
+ }
193
+ .select2-container--bootstrap.select2-container--disabled .select2-selection,
194
+ .select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice {
195
+ background-color: #eeeeee;
196
+ }
197
+ .select2-container--bootstrap.select2-container--disabled .select2-selection__clear,
198
+ .select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove {
199
+ display: none;
200
+ }
201
+ .select2-container--bootstrap .select2-dropdown {
202
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
203
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
204
+ border-color: #66afe9;
205
+ overflow-x: hidden;
206
+ margin-top: -1px;
207
+ }
208
+ .select2-container--bootstrap .select2-dropdown--above {
209
+ margin-top: 1px;
210
+ }
211
+ .select2-container--bootstrap .select2-results > .select2-results__options {
212
+ max-height: 200px;
213
+ overflow-y: auto;
214
+ }
215
+ .select2-container--bootstrap .select2-selection--single {
216
+ height: 34px;
217
+ line-height: 1.428571429;
218
+ padding: 6px 24px 6px 12px;
219
+ /**
220
+ * Clear the selection.
221
+ */
222
+ /**
223
+ * Adjust the single Select2's dropdown arrow button appearance.
224
+ */
225
+ }
226
+ .select2-container--bootstrap .select2-selection--single .select2-selection__clear {
227
+ color: #999;
228
+ cursor: pointer;
229
+ float: right;
230
+ font-weight: bold;
231
+ margin-right: 10px;
232
+ }
233
+ .select2-container--bootstrap .select2-selection--single .select2-selection__clear:hover {
234
+ color: #333;
235
+ }
236
+ .select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
237
+ position: absolute;
238
+ bottom: 0;
239
+ right: 12px;
240
+ top: 0;
241
+ width: 4px;
242
+ }
243
+ .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
244
+ border-color: #999 transparent transparent transparent;
245
+ border-style: solid;
246
+ border-width: 4px 4px 0 4px;
247
+ height: 0;
248
+ left: 0;
249
+ margin-left: -4px;
250
+ margin-top: -2px;
251
+ position: absolute;
252
+ top: 50%;
253
+ width: 0;
254
+ }
255
+ .select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
256
+ color: #555555;
257
+ padding: 0;
258
+ }
259
+ .select2-container--bootstrap .select2-selection--single .select2-selection__placeholder {
260
+ color: #999;
261
+ }
262
+ .select2-container--bootstrap .select2-selection--multiple {
263
+ min-height: 34px;
264
+ /**
265
+ * Make Multi Select2's choices match Bootstrap 3's default button styles.
266
+ */
267
+ /**
268
+ * Minus 2px borders.
269
+ */
270
+ }
271
+ .select2-container--bootstrap .select2-selection--multiple .select2-selection__rendered {
272
+ box-sizing: border-box;
273
+ display: block;
274
+ line-height: 1.428571429;
275
+ list-style: none;
276
+ margin: 0;
277
+ overflow: hidden;
278
+ padding: 0;
279
+ width: 100%;
280
+ text-overflow: ellipsis;
281
+ white-space: nowrap;
282
+ }
283
+ .select2-container--bootstrap .select2-selection--multiple .select2-selection__placeholder {
284
+ color: #999;
285
+ float: left;
286
+ margin-top: 5px;
287
+ }
288
+ .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
289
+ color: #555555;
290
+ background: #fff;
291
+ border: 1px solid #ccc;
292
+ border-radius: 4px;
293
+ cursor: default;
294
+ float: left;
295
+ margin: 5px 0 0 6px;
296
+ padding: 0 6px;
297
+ }
298
+ .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
299
+ background: transparent;
300
+ padding: 0 12px;
301
+ height: 32px;
302
+ line-height: 1.428571429;
303
+ margin-top: 0;
304
+ min-width: 5em;
305
+ }
306
+ .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove {
307
+ color: #999;
308
+ cursor: pointer;
309
+ display: inline-block;
310
+ font-weight: bold;
311
+ margin-right: 3px;
312
+ }
313
+ .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover {
314
+ color: #333;
315
+ }
316
+ .select2-container--bootstrap.input-sm, .select2-container--bootstrap.input-lg {
317
+ border-radius: 0;
318
+ font-size: 12px;
319
+ height: auto;
320
+ line-height: 1;
321
+ padding: 0;
322
+ }
323
+ .select2-container--bootstrap.input-sm .select2-selection--single, .input-group-sm .select2-container--bootstrap .select2-selection--single, .form-group-sm .select2-container--bootstrap .select2-selection--single {
324
+ border-radius: 3px;
325
+ font-size: 12px;
326
+ height: 30px;
327
+ line-height: 1.5;
328
+ padding: 5px 22px 5px 10px;
329
+ /* 2 */
330
+ }
331
+ .select2-container--bootstrap.input-sm .select2-selection--single .select2-selection__arrow b, .input-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b, .form-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
332
+ margin-left: -5px;
333
+ }
334
+ .select2-container--bootstrap.input-sm .select2-selection--multiple, .input-group-sm .select2-container--bootstrap .select2-selection--multiple, .form-group-sm .select2-container--bootstrap .select2-selection--multiple {
335
+ min-height: 30px;
336
+ }
337
+ .select2-container--bootstrap.input-sm .select2-selection--multiple .select2-selection__choice, .input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice, .form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
338
+ font-size: 12px;
339
+ line-height: 1.5;
340
+ margin: 4px 0 0 5px;
341
+ padding: 0 5px;
342
+ }
343
+ .select2-container--bootstrap.input-sm .select2-selection--multiple .select2-search--inline .select2-search__field, .input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field, .form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
344
+ padding: 0 10px;
345
+ font-size: 12px;
346
+ height: 28px;
347
+ line-height: 1.5;
348
+ }
349
+ .select2-container--bootstrap.input-lg .select2-selection--single, .input-group-lg .select2-container--bootstrap .select2-selection--single, .form-group-lg .select2-container--bootstrap .select2-selection--single {
350
+ border-radius: 6px;
351
+ font-size: 18px;
352
+ height: 46px;
353
+ line-height: 1.3333333;
354
+ padding: 10px 31px 10px 16px;
355
+ /* 1 */
356
+ }
357
+ .select2-container--bootstrap.input-lg .select2-selection--single .select2-selection__arrow, .input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow, .form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
358
+ width: 5px;
359
+ }
360
+ .select2-container--bootstrap.input-lg .select2-selection--single .select2-selection__arrow b, .input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b, .form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b {
361
+ border-width: 5px 5px 0 5px;
362
+ margin-left: -5px;
363
+ margin-left: -10px;
364
+ margin-top: -2.5px;
365
+ }
366
+ .select2-container--bootstrap.input-lg .select2-selection--multiple, .input-group-lg .select2-container--bootstrap .select2-selection--multiple, .form-group-lg .select2-container--bootstrap .select2-selection--multiple {
367
+ min-height: 46px;
368
+ }
369
+ .select2-container--bootstrap.input-lg .select2-selection--multiple .select2-selection__choice, .input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice, .form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
370
+ font-size: 18px;
371
+ line-height: 1.3333333;
372
+ border-radius: 4px;
373
+ margin: 9px 0 0 8px;
374
+ padding: 0 10px;
375
+ }
376
+ .select2-container--bootstrap.input-lg .select2-selection--multiple .select2-search--inline .select2-search__field, .input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field, .form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field {
377
+ padding: 0 16px;
378
+ font-size: 18px;
379
+ height: 44px;
380
+ line-height: 1.3333333;
381
+ }
382
+ .select2-container--bootstrap.input-lg.select2-container--open .select2-selection--single {
383
+ /**
384
+ * Make the dropdown arrow point up while the dropdown is visible.
385
+ */
386
+ }
387
+ .select2-container--bootstrap.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b {
388
+ border-color: transparent transparent #999 transparent;
389
+ border-width: 0 5px 5px 5px;
390
+ }
391
+ .input-group-lg .select2-container--bootstrap.select2-container--open .select2-selection--single {
392
+ /**
393
+ * Make the dropdown arrow point up while the dropdown is visible.
394
+ */
395
+ }
396
+ .input-group-lg .select2-container--bootstrap.select2-container--open .select2-selection--single .select2-selection__arrow b {
397
+ border-color: transparent transparent #999 transparent;
398
+ border-width: 0 5px 5px 5px;
399
+ }
400
+ .select2-container--bootstrap[dir="rtl"] {
401
+ /**
402
+ * Single Select2
403
+ *
404
+ * 1. Makes sure that .select2-selection__placeholder is positioned
405
+ * correctly.
406
+ */
407
+ /**
408
+ * Multiple Select2
409
+ */
410
+ }
411
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--single {
412
+ padding-left: 24px;
413
+ padding-right: 12px;
414
+ }
415
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__rendered {
416
+ padding-right: 0;
417
+ padding-left: 0;
418
+ text-align: right;
419
+ /* 1 */
420
+ }
421
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__clear {
422
+ float: left;
423
+ }
424
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__arrow {
425
+ left: 12px;
426
+ right: auto;
427
+ }
428
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--single .select2-selection__arrow b {
429
+ margin-left: 0;
430
+ }
431
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice,
432
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder {
433
+ float: right;
434
+ }
435
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
436
+ margin-left: 0;
437
+ margin-right: 6px;
438
+ }
439
+ .select2-container--bootstrap[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
440
+ margin-left: 2px;
441
+ margin-right: auto;
442
+ }
443
+
444
+ /*------------------------------------*\
445
+ #ADDITIONAL GOODIES
446
+ \*------------------------------------*/
447
+ /**
448
+ * Address Bootstrap's validation states
449
+ *
450
+ * If a Select2 widget parent has one of Bootstrap's validation state modifier
451
+ * classes, adjust Select2's border colors and focus states accordingly.
452
+ * You may apply said classes to the Select2 dropdown (body > .select2-container)
453
+ * via JavaScript match Bootstraps' to make its styles match.
454
+ *
455
+ * @see http://getbootstrap.com/css/#forms-control-validation
456
+ */
457
+ .has-warning .select2-dropdown,
458
+ .has-warning .select2-selection {
459
+ border-color: #8a6d3b;
460
+ }
461
+ .has-warning .select2-container--open .select2-selection {
462
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
463
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
464
+ border-color: #66512c;
465
+ }
466
+ .has-warning.select2-drop-active {
467
+ border-color: #66512c;
468
+ }
469
+ .has-warning.select2-drop-active.select2-drop.select2-drop-above {
470
+ border-top-color: #66512c;
471
+ }
472
+
473
+ .has-error .select2-dropdown,
474
+ .has-error .select2-selection {
475
+ border-color: #a94442;
476
+ }
477
+ .has-error .select2-container--open .select2-selection {
478
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
479
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
480
+ border-color: #843534;
481
+ }
482
+ .has-error.select2-drop-active {
483
+ border-color: #843534;
484
+ }
485
+ .has-error.select2-drop-active.select2-drop.select2-drop-above {
486
+ border-top-color: #843534;
487
+ }
488
+
489
+ .has-success .select2-dropdown,
490
+ .has-success .select2-selection {
491
+ border-color: #3c763d;
492
+ }
493
+ .has-success .select2-container--open .select2-selection {
494
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
495
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
496
+ border-color: #2b542c;
497
+ }
498
+ .has-success.select2-drop-active {
499
+ border-color: #2b542c;
500
+ }
501
+ .has-success.select2-drop-active.select2-drop.select2-drop-above {
502
+ border-top-color: #2b542c;
503
+ }
504
+
505
+ /**
506
+ * Select2 widgets in Bootstrap Input Groups
507
+ *
508
+ * When Select2 widgets are combined with other elements using Bootstraps
509
+ * "Input Group" component, we don't want specific edges of the Select2
510
+ * container to have a border-radius.
511
+ *
512
+ * Use .select2-bootstrap-prepend and .select2-bootstrap-append on
513
+ * a Bootstrap 3 .input-group to let the contained Select2 widget know which
514
+ * edges should not be rounded as they are directly followed by another element.
515
+ *
516
+ * @see http://getbootstrap.com/components/#input-groups
517
+ */
518
+ /**
519
+ * Mimick Bootstraps .input-group .form-control styles.
520
+ *
521
+ * @see https://github.com/twbs/bootstrap/blob/master/less/input-groups.less
522
+ */
523
+ .input-group .select2-container--bootstrap {
524
+ display: table;
525
+ table-layout: fixed;
526
+ position: relative;
527
+ z-index: 2;
528
+ float: left;
529
+ width: 100%;
530
+ margin-bottom: 0;
531
+ }
532
+
533
+ .input-group.select2-bootstrap-prepend .select2-container--bootstrap .select2-selection {
534
+ border-bottom-left-radius: 0;
535
+ border-top-left-radius: 0;
536
+ }
537
+
538
+ .input-group.select2-bootstrap-append .select2-container--bootstrap .select2-selection {
539
+ border-bottom-right-radius: 0;
540
+ border-top-right-radius: 0;
541
+ }
542
+
543
+ /**
544
+ * Adjust alignment of Bootstrap buttons in Bootstrap Input Groups to address
545
+ * Multi Select2's height which - depending on how many elements have been selected -
546
+ * may grown higher than their initial size.
547
+ *
548
+ * @see http://getbootstrap.com/components/#input-groups
549
+ */
550
+ .select2-bootstrap-append .select2-container--bootstrap,
551
+ .select2-bootstrap-append .input-group-btn,
552
+ .select2-bootstrap-append .input-group-btn .btn,
553
+ .select2-bootstrap-prepend .select2-container--bootstrap,
554
+ .select2-bootstrap-prepend .input-group-btn,
555
+ .select2-bootstrap-prepend .input-group-btn .btn {
556
+ vertical-align: top;
557
+ }
558
+
559
+ /**
560
+ * Temporary fix for https://github.com/fk/select2-bootstrap-theme/issues/9
561
+ */
562
+ .form-control.select2-hidden-accessible {
563
+ position: absolute !important;
564
+ }