less-rails-semantic_ui 1.0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.travis.yml +13 -0
  4. data/Appraisals +7 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +65 -0
  8. data/Rakefile +9 -0
  9. data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.eot +0 -0
  10. data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.svg +450 -0
  11. data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.ttf +0 -0
  12. data/assets/fonts/semantic_ui/themes/basic/assets/fonts/icons.woff +0 -0
  13. data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.eot +0 -0
  14. data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.otf +0 -0
  15. data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.svg +504 -0
  16. data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.ttf +0 -0
  17. data/assets/fonts/semantic_ui/themes/default/assets/fonts/icons.woff +0 -0
  18. data/assets/images/semantic_ui/themes/default/assets/images/flags.png +0 -0
  19. data/assets/javascripts/semantic_ui/definitions/behaviors/api.js +839 -0
  20. data/assets/javascripts/semantic_ui/definitions/behaviors/colorize.js +272 -0
  21. data/assets/javascripts/semantic_ui/definitions/behaviors/form.js +795 -0
  22. data/assets/javascripts/semantic_ui/definitions/behaviors/state.js +690 -0
  23. data/assets/javascripts/semantic_ui/definitions/behaviors/visibility.js +951 -0
  24. data/assets/javascripts/semantic_ui/definitions/behaviors/visit.js +516 -0
  25. data/assets/javascripts/semantic_ui/definitions/globals/site.js +487 -0
  26. data/assets/javascripts/semantic_ui/definitions/modules/accordion.js +504 -0
  27. data/assets/javascripts/semantic_ui/definitions/modules/checkbox.js +469 -0
  28. data/assets/javascripts/semantic_ui/definitions/modules/dimmer.js +626 -0
  29. data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +1496 -0
  30. data/assets/javascripts/semantic_ui/definitions/modules/modal.js +809 -0
  31. data/assets/javascripts/semantic_ui/definitions/modules/nag.js +480 -0
  32. data/assets/javascripts/semantic_ui/definitions/modules/popup.js +1050 -0
  33. data/assets/javascripts/semantic_ui/definitions/modules/progress.js +652 -0
  34. data/assets/javascripts/semantic_ui/definitions/modules/rating.js +451 -0
  35. data/assets/javascripts/semantic_ui/definitions/modules/search.js +886 -0
  36. data/assets/javascripts/semantic_ui/definitions/modules/shape.js +830 -0
  37. data/assets/javascripts/semantic_ui/definitions/modules/sidebar.js +976 -0
  38. data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +768 -0
  39. data/assets/javascripts/semantic_ui/definitions/modules/tab.js +801 -0
  40. data/assets/javascripts/semantic_ui/definitions/modules/transition.js +865 -0
  41. data/assets/javascripts/semantic_ui/definitions/modules/video.js +539 -0
  42. data/assets/stylesheets/semantic_ui/definitions/collections/breadcrumb.less +128 -0
  43. data/assets/stylesheets/semantic_ui/definitions/collections/form.less +839 -0
  44. data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +1201 -0
  45. data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +1600 -0
  46. data/assets/stylesheets/semantic_ui/definitions/collections/message.less +448 -0
  47. data/assets/stylesheets/semantic_ui/definitions/collections/table.less +877 -0
  48. data/assets/stylesheets/semantic_ui/definitions/elements/button.less +2396 -0
  49. data/assets/stylesheets/semantic_ui/definitions/elements/divider.less +262 -0
  50. data/assets/stylesheets/semantic_ui/definitions/elements/flag.less +52 -0
  51. data/assets/stylesheets/semantic_ui/definitions/elements/header.less +564 -0
  52. data/assets/stylesheets/semantic_ui/definitions/elements/icon.less +351 -0
  53. data/assets/stylesheets/semantic_ui/definitions/elements/image.less +267 -0
  54. data/assets/stylesheets/semantic_ui/definitions/elements/input.less +448 -0
  55. data/assets/stylesheets/semantic_ui/definitions/elements/label.less +959 -0
  56. data/assets/stylesheets/semantic_ui/definitions/elements/list.less +896 -0
  57. data/assets/stylesheets/semantic_ui/definitions/elements/loader.less +268 -0
  58. data/assets/stylesheets/semantic_ui/definitions/elements/rail.less +132 -0
  59. data/assets/stylesheets/semantic_ui/definitions/elements/reveal.less +263 -0
  60. data/assets/stylesheets/semantic_ui/definitions/elements/segment.less +603 -0
  61. data/assets/stylesheets/semantic_ui/definitions/elements/step.less +358 -0
  62. data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +45 -0
  63. data/assets/stylesheets/semantic_ui/definitions/globals/site.less +138 -0
  64. data/assets/stylesheets/semantic_ui/definitions/modules/accordion.less +221 -0
  65. data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +468 -0
  66. data/assets/stylesheets/semantic_ui/definitions/modules/dimmer.less +186 -0
  67. data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +914 -0
  68. data/assets/stylesheets/semantic_ui/definitions/modules/modal.less +447 -0
  69. data/assets/stylesheets/semantic_ui/definitions/modules/nag.less +165 -0
  70. data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +296 -0
  71. data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +404 -0
  72. data/assets/stylesheets/semantic_ui/definitions/modules/rating.less +204 -0
  73. data/assets/stylesheets/semantic_ui/definitions/modules/search.less +344 -0
  74. data/assets/stylesheets/semantic_ui/definitions/modules/shape.less +158 -0
  75. data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +464 -0
  76. data/assets/stylesheets/semantic_ui/definitions/modules/sticky.less +80 -0
  77. data/assets/stylesheets/semantic_ui/definitions/modules/tab.less +100 -0
  78. data/assets/stylesheets/semantic_ui/definitions/modules/transition.less +95 -0
  79. data/assets/stylesheets/semantic_ui/definitions/modules/video.less +131 -0
  80. data/assets/stylesheets/semantic_ui/definitions/views/ad.less +272 -0
  81. data/assets/stylesheets/semantic_ui/definitions/views/card.less +751 -0
  82. data/assets/stylesheets/semantic_ui/definitions/views/comment.less +262 -0
  83. data/assets/stylesheets/semantic_ui/definitions/views/feed.less +278 -0
  84. data/assets/stylesheets/semantic_ui/definitions/views/item.less +472 -0
  85. data/assets/stylesheets/semantic_ui/definitions/views/statistic.less +422 -0
  86. data/assets/stylesheets/semantic_ui/theme.less +48 -0
  87. data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.overrides +46 -0
  88. data/assets/stylesheets/semantic_ui/themes/amazon/elements/button.variables +57 -0
  89. data/assets/stylesheets/semantic_ui/themes/basic/collections/table.overrides +4 -0
  90. data/assets/stylesheets/semantic_ui/themes/basic/collections/table.variables +10 -0
  91. data/assets/stylesheets/semantic_ui/themes/basic/elements/button.overrides +4 -0
  92. data/assets/stylesheets/semantic_ui/themes/basic/elements/button.variables +44 -0
  93. data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.overrides +189 -0
  94. data/assets/stylesheets/semantic_ui/themes/basic/elements/icon.variables +5 -0
  95. data/assets/stylesheets/semantic_ui/themes/basic/elements/step.overrides +7 -0
  96. data/assets/stylesheets/semantic_ui/themes/basic/elements/step.variables +10 -0
  97. data/assets/stylesheets/semantic_ui/themes/basic/globals/reset.overrides +5 -0
  98. data/assets/stylesheets/semantic_ui/themes/basic/globals/reset.variables +3 -0
  99. data/assets/stylesheets/semantic_ui/themes/basic/modules/progress.overrides +3 -0
  100. data/assets/stylesheets/semantic_ui/themes/basic/modules/progress.variables +15 -0
  101. data/assets/stylesheets/semantic_ui/themes/basic/views/card.overrides +4 -0
  102. data/assets/stylesheets/semantic_ui/themes/basic/views/card.variables +34 -0
  103. data/assets/stylesheets/semantic_ui/themes/bookish/elements/header.overrides +15 -0
  104. data/assets/stylesheets/semantic_ui/themes/bookish/elements/header.variables +37 -0
  105. data/assets/stylesheets/semantic_ui/themes/bootstrap3/elements/button.overrides +0 -0
  106. data/assets/stylesheets/semantic_ui/themes/bootstrap3/elements/button.variables +63 -0
  107. data/assets/stylesheets/semantic_ui/themes/chubby/collections/form.overrides +8 -0
  108. data/assets/stylesheets/semantic_ui/themes/chubby/collections/form.variables +9 -0
  109. data/assets/stylesheets/semantic_ui/themes/chubby/elements/button.overrides +21 -0
  110. data/assets/stylesheets/semantic_ui/themes/chubby/elements/button.variables +57 -0
  111. data/assets/stylesheets/semantic_ui/themes/chubby/elements/header.overrides +5 -0
  112. data/assets/stylesheets/semantic_ui/themes/chubby/elements/header.variables +21 -0
  113. data/assets/stylesheets/semantic_ui/themes/chubby/modules/accordion.overrides +7 -0
  114. data/assets/stylesheets/semantic_ui/themes/chubby/modules/accordion.variables +15 -0
  115. data/assets/stylesheets/semantic_ui/themes/chubby/views/comment.overrides +12 -0
  116. data/assets/stylesheets/semantic_ui/themes/chubby/views/comment.variables +46 -0
  117. data/assets/stylesheets/semantic_ui/themes/classic/collections/table.overrides +3 -0
  118. data/assets/stylesheets/semantic_ui/themes/classic/collections/table.variables +14 -0
  119. data/assets/stylesheets/semantic_ui/themes/classic/elements/button.overrides +3 -0
  120. data/assets/stylesheets/semantic_ui/themes/classic/elements/button.variables +96 -0
  121. data/assets/stylesheets/semantic_ui/themes/classic/elements/header.overrides +3 -0
  122. data/assets/stylesheets/semantic_ui/themes/classic/elements/header.variables +12 -0
  123. data/assets/stylesheets/semantic_ui/themes/classic/modules/progress.overrides +3 -0
  124. data/assets/stylesheets/semantic_ui/themes/classic/modules/progress.variables +8 -0
  125. data/assets/stylesheets/semantic_ui/themes/classic/views/card.overrides +98 -0
  126. data/assets/stylesheets/semantic_ui/themes/classic/views/card.variables +22 -0
  127. data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.overrides +3 -0
  128. data/assets/stylesheets/semantic_ui/themes/default/collections/breadcrumb.variables +43 -0
  129. data/assets/stylesheets/semantic_ui/themes/default/collections/form.overrides +3 -0
  130. data/assets/stylesheets/semantic_ui/themes/default/collections/form.variables +189 -0
  131. data/assets/stylesheets/semantic_ui/themes/default/collections/grid.overrides +4 -0
  132. data/assets/stylesheets/semantic_ui/themes/default/collections/grid.variables +93 -0
  133. data/assets/stylesheets/semantic_ui/themes/default/collections/menu.overrides +3 -0
  134. data/assets/stylesheets/semantic_ui/themes/default/collections/menu.variables +322 -0
  135. data/assets/stylesheets/semantic_ui/themes/default/collections/message.overrides +3 -0
  136. data/assets/stylesheets/semantic_ui/themes/default/collections/message.variables +88 -0
  137. data/assets/stylesheets/semantic_ui/themes/default/collections/table.overrides +3 -0
  138. data/assets/stylesheets/semantic_ui/themes/default/collections/table.variables +228 -0
  139. data/assets/stylesheets/semantic_ui/themes/default/elements/button.overrides +3 -0
  140. data/assets/stylesheets/semantic_ui/themes/default/elements/button.variables +260 -0
  141. data/assets/stylesheets/semantic_ui/themes/default/elements/divider.overrides +3 -0
  142. data/assets/stylesheets/semantic_ui/themes/default/elements/divider.variables +54 -0
  143. data/assets/stylesheets/semantic_ui/themes/default/elements/flag.overrides +979 -0
  144. data/assets/stylesheets/semantic_ui/themes/default/elements/flag.variables +13 -0
  145. data/assets/stylesheets/semantic_ui/themes/default/elements/header.overrides +4 -0
  146. data/assets/stylesheets/semantic_ui/themes/default/elements/header.variables +126 -0
  147. data/assets/stylesheets/semantic_ui/themes/default/elements/icon.overrides +661 -0
  148. data/assets/stylesheets/semantic_ui/themes/default/elements/icon.variables +34 -0
  149. data/assets/stylesheets/semantic_ui/themes/default/elements/image.overrides +3 -0
  150. data/assets/stylesheets/semantic_ui/themes/default/elements/image.variables +42 -0
  151. data/assets/stylesheets/semantic_ui/themes/default/elements/input.overrides +3 -0
  152. data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +114 -0
  153. data/assets/stylesheets/semantic_ui/themes/default/elements/label.overrides +3 -0
  154. data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +164 -0
  155. data/assets/stylesheets/semantic_ui/themes/default/elements/list.overrides +3 -0
  156. data/assets/stylesheets/semantic_ui/themes/default/elements/list.variables +204 -0
  157. data/assets/stylesheets/semantic_ui/themes/default/elements/loader.overrides +3 -0
  158. data/assets/stylesheets/semantic_ui/themes/default/elements/loader.variables +61 -0
  159. data/assets/stylesheets/semantic_ui/themes/default/elements/rail.overrides +3 -0
  160. data/assets/stylesheets/semantic_ui/themes/default/elements/rail.variables +24 -0
  161. data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.overrides +3 -0
  162. data/assets/stylesheets/semantic_ui/themes/default/elements/reveal.variables +15 -0
  163. data/assets/stylesheets/semantic_ui/themes/default/elements/segment.overrides +3 -0
  164. data/assets/stylesheets/semantic_ui/themes/default/elements/segment.variables +100 -0
  165. data/assets/stylesheets/semantic_ui/themes/default/elements/step.overrides +16 -0
  166. data/assets/stylesheets/semantic_ui/themes/default/elements/step.variables +94 -0
  167. data/assets/stylesheets/semantic_ui/themes/default/globals/reset.overrides +434 -0
  168. data/assets/stylesheets/semantic_ui/themes/default/globals/reset.variables +3 -0
  169. data/assets/stylesheets/semantic_ui/themes/default/globals/site.overrides +3 -0
  170. data/assets/stylesheets/semantic_ui/themes/default/globals/site.variables +599 -0
  171. data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.overrides +28 -0
  172. data/assets/stylesheets/semantic_ui/themes/default/modules/accordion.variables +101 -0
  173. data/assets/stylesheets/semantic_ui/themes/default/modules/chatroom.overrides +3 -0
  174. data/assets/stylesheets/semantic_ui/themes/default/modules/chatroom.variables +3 -0
  175. data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.overrides +33 -0
  176. data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.variables +139 -0
  177. data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.overrides +3 -0
  178. data/assets/stylesheets/semantic_ui/themes/default/modules/dimmer.variables +51 -0
  179. data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.overrides +57 -0
  180. data/assets/stylesheets/semantic_ui/themes/default/modules/dropdown.variables +237 -0
  181. data/assets/stylesheets/semantic_ui/themes/default/modules/modal.overrides +3 -0
  182. data/assets/stylesheets/semantic_ui/themes/default/modules/modal.variables +147 -0
  183. data/assets/stylesheets/semantic_ui/themes/default/modules/nag.overrides +3 -0
  184. data/assets/stylesheets/semantic_ui/themes/default/modules/nag.variables +74 -0
  185. data/assets/stylesheets/semantic_ui/themes/default/modules/popup.overrides +3 -0
  186. data/assets/stylesheets/semantic_ui/themes/default/modules/popup.variables +95 -0
  187. data/assets/stylesheets/semantic_ui/themes/default/modules/progress.overrides +3 -0
  188. data/assets/stylesheets/semantic_ui/themes/default/modules/progress.variables +99 -0
  189. data/assets/stylesheets/semantic_ui/themes/default/modules/rating.overrides +69 -0
  190. data/assets/stylesheets/semantic_ui/themes/default/modules/rating.variables +65 -0
  191. data/assets/stylesheets/semantic_ui/themes/default/modules/search.overrides +3 -0
  192. data/assets/stylesheets/semantic_ui/themes/default/modules/search.variables +140 -0
  193. data/assets/stylesheets/semantic_ui/themes/default/modules/shape.overrides +3 -0
  194. data/assets/stylesheets/semantic_ui/themes/default/modules/shape.variables +35 -0
  195. data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.overrides +3 -0
  196. data/assets/stylesheets/semantic_ui/themes/default/modules/sidebar.variables +39 -0
  197. data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.overrides +3 -0
  198. data/assets/stylesheets/semantic_ui/themes/default/modules/sticky.variables +12 -0
  199. data/assets/stylesheets/semantic_ui/themes/default/modules/tab.overrides +3 -0
  200. data/assets/stylesheets/semantic_ui/themes/default/modules/tab.variables +13 -0
  201. data/assets/stylesheets/semantic_ui/themes/default/modules/transition.overrides +445 -0
  202. data/assets/stylesheets/semantic_ui/themes/default/modules/transition.variables +10 -0
  203. data/assets/stylesheets/semantic_ui/themes/default/modules/video.overrides +3 -0
  204. data/assets/stylesheets/semantic_ui/themes/default/modules/video.variables +16 -0
  205. data/assets/stylesheets/semantic_ui/themes/default/views/ad.overrides +3 -0
  206. data/assets/stylesheets/semantic_ui/themes/default/views/ad.variables +13 -0
  207. data/assets/stylesheets/semantic_ui/themes/default/views/card.overrides +3 -0
  208. data/assets/stylesheets/semantic_ui/themes/default/views/card.variables +185 -0
  209. data/assets/stylesheets/semantic_ui/themes/default/views/comment.overrides +3 -0
  210. data/assets/stylesheets/semantic_ui/themes/default/views/comment.variables +104 -0
  211. data/assets/stylesheets/semantic_ui/themes/default/views/feed.overrides +3 -0
  212. data/assets/stylesheets/semantic_ui/themes/default/views/feed.variables +149 -0
  213. data/assets/stylesheets/semantic_ui/themes/default/views/item.overrides +3 -0
  214. data/assets/stylesheets/semantic_ui/themes/default/views/item.variables +152 -0
  215. data/assets/stylesheets/semantic_ui/themes/default/views/statistic.overrides +3 -0
  216. data/assets/stylesheets/semantic_ui/themes/default/views/statistic.variables +97 -0
  217. data/assets/stylesheets/semantic_ui/themes/duo/elements/loader.overrides +3 -0
  218. data/assets/stylesheets/semantic_ui/themes/duo/elements/loader.variables +6 -0
  219. data/assets/stylesheets/semantic_ui/themes/fixed-width/collections/grid.overrides +3 -0
  220. data/assets/stylesheets/semantic_ui/themes/fixed-width/collections/grid.variables +25 -0
  221. data/assets/stylesheets/semantic_ui/themes/fixed-width/modules/modal.overrides +3 -0
  222. data/assets/stylesheets/semantic_ui/themes/fixed-width/modules/modal.variables +37 -0
  223. data/assets/stylesheets/semantic_ui/themes/flat/collections/form.overrides +24 -0
  224. data/assets/stylesheets/semantic_ui/themes/flat/collections/form.variables +74 -0
  225. data/assets/stylesheets/semantic_ui/themes/flat/globals/site.overrides +3 -0
  226. data/assets/stylesheets/semantic_ui/themes/flat/globals/site.variables +106 -0
  227. data/assets/stylesheets/semantic_ui/themes/github/collections/form.overrides +16 -0
  228. data/assets/stylesheets/semantic_ui/themes/github/collections/form.variables +40 -0
  229. data/assets/stylesheets/semantic_ui/themes/github/collections/menu.overrides +7 -0
  230. data/assets/stylesheets/semantic_ui/themes/github/collections/menu.variables +66 -0
  231. data/assets/stylesheets/semantic_ui/themes/github/collections/message.overrides +11 -0
  232. data/assets/stylesheets/semantic_ui/themes/github/collections/message.variables +29 -0
  233. data/assets/stylesheets/semantic_ui/themes/github/elements/button.overrides +4 -0
  234. data/assets/stylesheets/semantic_ui/themes/github/elements/button.variables +77 -0
  235. data/assets/stylesheets/semantic_ui/themes/github/elements/segment.overrides +3 -0
  236. data/assets/stylesheets/semantic_ui/themes/github/elements/segment.variables +41 -0
  237. data/assets/stylesheets/semantic_ui/themes/github/elements/step.overrides +26 -0
  238. data/assets/stylesheets/semantic_ui/themes/github/elements/step.variables +20 -0
  239. data/assets/stylesheets/semantic_ui/themes/gmail/collections/message.overrides +0 -0
  240. data/assets/stylesheets/semantic_ui/themes/gmail/collections/message.variables +15 -0
  241. data/assets/stylesheets/semantic_ui/themes/material/elements/button.overrides +23 -0
  242. data/assets/stylesheets/semantic_ui/themes/material/elements/button.variables +87 -0
  243. data/assets/stylesheets/semantic_ui/themes/material/elements/header.overrides +15 -0
  244. data/assets/stylesheets/semantic_ui/themes/material/elements/header.variables +21 -0
  245. data/assets/stylesheets/semantic_ui/themes/material/globals/site.overrides +0 -0
  246. data/assets/stylesheets/semantic_ui/themes/material/globals/site.variables +119 -0
  247. data/assets/stylesheets/semantic_ui/themes/material/modules/modal.overrides +6 -0
  248. data/assets/stylesheets/semantic_ui/themes/material/modules/modal.variables +15 -0
  249. data/assets/stylesheets/semantic_ui/themes/pulsar/elements/loader.overrides +70 -0
  250. data/assets/stylesheets/semantic_ui/themes/pulsar/elements/loader.variables +7 -0
  251. data/assets/stylesheets/semantic_ui/themes/raised/elements/button.overrides +3 -0
  252. data/assets/stylesheets/semantic_ui/themes/raised/elements/button.variables +26 -0
  253. data/assets/stylesheets/semantic_ui/themes/resetcss/globals/reset.overrides +52 -0
  254. data/assets/stylesheets/semantic_ui/themes/resetcss/globals/reset.variables +3 -0
  255. data/assets/stylesheets/semantic_ui/themes/round/elements/button.overrides +0 -0
  256. data/assets/stylesheets/semantic_ui/themes/round/elements/button.variables +138 -0
  257. data/assets/stylesheets/semantic_ui/themes/striped/modules/progress.overrides +29 -0
  258. data/assets/stylesheets/semantic_ui/themes/striped/modules/progress.variables +3 -0
  259. data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.overrides +35 -0
  260. data/assets/stylesheets/semantic_ui/themes/timeline/views/feed.variables +40 -0
  261. data/assets/stylesheets/semantic_ui/themes/twitter/elements/button.overrides +13 -0
  262. data/assets/stylesheets/semantic_ui/themes/twitter/elements/button.variables +45 -0
  263. data/less-rails-semantic_ui.gemspec +28 -0
  264. data/lib/generators/semantic_ui/install/install_generator.rb +20 -0
  265. data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.overrides +3 -0
  266. data/lib/generators/semantic_ui/install/templates/config/collections/breadcrumb.variables +3 -0
  267. data/lib/generators/semantic_ui/install/templates/config/collections/form.overrides +3 -0
  268. data/lib/generators/semantic_ui/install/templates/config/collections/form.variables +3 -0
  269. data/lib/generators/semantic_ui/install/templates/config/collections/grid.overrides +3 -0
  270. data/lib/generators/semantic_ui/install/templates/config/collections/grid.variables +3 -0
  271. data/lib/generators/semantic_ui/install/templates/config/collections/menu.overrides +3 -0
  272. data/lib/generators/semantic_ui/install/templates/config/collections/menu.variables +3 -0
  273. data/lib/generators/semantic_ui/install/templates/config/collections/message.overrides +3 -0
  274. data/lib/generators/semantic_ui/install/templates/config/collections/message.variables +3 -0
  275. data/lib/generators/semantic_ui/install/templates/config/collections/table.overrides +3 -0
  276. data/lib/generators/semantic_ui/install/templates/config/collections/table.variables +3 -0
  277. data/lib/generators/semantic_ui/install/templates/config/elements/button.overrides +3 -0
  278. data/lib/generators/semantic_ui/install/templates/config/elements/button.variables +3 -0
  279. data/lib/generators/semantic_ui/install/templates/config/elements/divider.overrides +3 -0
  280. data/lib/generators/semantic_ui/install/templates/config/elements/divider.variables +3 -0
  281. data/lib/generators/semantic_ui/install/templates/config/elements/flag.overrides +3 -0
  282. data/lib/generators/semantic_ui/install/templates/config/elements/flag.variables +3 -0
  283. data/lib/generators/semantic_ui/install/templates/config/elements/header.overrides +3 -0
  284. data/lib/generators/semantic_ui/install/templates/config/elements/header.variables +3 -0
  285. data/lib/generators/semantic_ui/install/templates/config/elements/icon.overrides +3 -0
  286. data/lib/generators/semantic_ui/install/templates/config/elements/icon.variables +3 -0
  287. data/lib/generators/semantic_ui/install/templates/config/elements/image.overrides +3 -0
  288. data/lib/generators/semantic_ui/install/templates/config/elements/image.variables +3 -0
  289. data/lib/generators/semantic_ui/install/templates/config/elements/input.overrides +3 -0
  290. data/lib/generators/semantic_ui/install/templates/config/elements/input.variables +3 -0
  291. data/lib/generators/semantic_ui/install/templates/config/elements/label.overrides +3 -0
  292. data/lib/generators/semantic_ui/install/templates/config/elements/label.variables +3 -0
  293. data/lib/generators/semantic_ui/install/templates/config/elements/list.overrides +3 -0
  294. data/lib/generators/semantic_ui/install/templates/config/elements/list.variables +3 -0
  295. data/lib/generators/semantic_ui/install/templates/config/elements/loader.overrides +3 -0
  296. data/lib/generators/semantic_ui/install/templates/config/elements/loader.variables +3 -0
  297. data/lib/generators/semantic_ui/install/templates/config/elements/rail.overrides +3 -0
  298. data/lib/generators/semantic_ui/install/templates/config/elements/rail.variables +3 -0
  299. data/lib/generators/semantic_ui/install/templates/config/elements/reveal.overrides +3 -0
  300. data/lib/generators/semantic_ui/install/templates/config/elements/reveal.variables +3 -0
  301. data/lib/generators/semantic_ui/install/templates/config/elements/segment.overrides +3 -0
  302. data/lib/generators/semantic_ui/install/templates/config/elements/segment.variables +3 -0
  303. data/lib/generators/semantic_ui/install/templates/config/elements/step.overrides +3 -0
  304. data/lib/generators/semantic_ui/install/templates/config/elements/step.variables +3 -0
  305. data/lib/generators/semantic_ui/install/templates/config/globals/reset.overrides +3 -0
  306. data/lib/generators/semantic_ui/install/templates/config/globals/reset.variables +3 -0
  307. data/lib/generators/semantic_ui/install/templates/config/globals/site.overrides +3 -0
  308. data/lib/generators/semantic_ui/install/templates/config/globals/site.variables +3 -0
  309. data/lib/generators/semantic_ui/install/templates/config/modules/accordion.overrides +3 -0
  310. data/lib/generators/semantic_ui/install/templates/config/modules/accordion.variables +3 -0
  311. data/lib/generators/semantic_ui/install/templates/config/modules/chatroom.overrides +3 -0
  312. data/lib/generators/semantic_ui/install/templates/config/modules/chatroom.variables +3 -0
  313. data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.overrides +3 -0
  314. data/lib/generators/semantic_ui/install/templates/config/modules/checkbox.variables +3 -0
  315. data/lib/generators/semantic_ui/install/templates/config/modules/dimmer.overrides +3 -0
  316. data/lib/generators/semantic_ui/install/templates/config/modules/dimmer.variables +3 -0
  317. data/lib/generators/semantic_ui/install/templates/config/modules/dropdown.overrides +3 -0
  318. data/lib/generators/semantic_ui/install/templates/config/modules/dropdown.variables +3 -0
  319. data/lib/generators/semantic_ui/install/templates/config/modules/modal.overrides +3 -0
  320. data/lib/generators/semantic_ui/install/templates/config/modules/modal.variables +3 -0
  321. data/lib/generators/semantic_ui/install/templates/config/modules/nag.overrides +3 -0
  322. data/lib/generators/semantic_ui/install/templates/config/modules/nag.variables +3 -0
  323. data/lib/generators/semantic_ui/install/templates/config/modules/popup.overrides +3 -0
  324. data/lib/generators/semantic_ui/install/templates/config/modules/popup.variables +3 -0
  325. data/lib/generators/semantic_ui/install/templates/config/modules/progress.overrides +3 -0
  326. data/lib/generators/semantic_ui/install/templates/config/modules/progress.variables +3 -0
  327. data/lib/generators/semantic_ui/install/templates/config/modules/rating.overrides +3 -0
  328. data/lib/generators/semantic_ui/install/templates/config/modules/rating.variables +3 -0
  329. data/lib/generators/semantic_ui/install/templates/config/modules/search.overrides +3 -0
  330. data/lib/generators/semantic_ui/install/templates/config/modules/search.variables +3 -0
  331. data/lib/generators/semantic_ui/install/templates/config/modules/shape.overrides +3 -0
  332. data/lib/generators/semantic_ui/install/templates/config/modules/shape.variables +3 -0
  333. data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.overrides +3 -0
  334. data/lib/generators/semantic_ui/install/templates/config/modules/sidebar.variables +3 -0
  335. data/lib/generators/semantic_ui/install/templates/config/modules/sticky.overrides +3 -0
  336. data/lib/generators/semantic_ui/install/templates/config/modules/sticky.variables +3 -0
  337. data/lib/generators/semantic_ui/install/templates/config/modules/tab.overrides +3 -0
  338. data/lib/generators/semantic_ui/install/templates/config/modules/tab.variables +3 -0
  339. data/lib/generators/semantic_ui/install/templates/config/modules/transition.overrides +3 -0
  340. data/lib/generators/semantic_ui/install/templates/config/modules/transition.variables +3 -0
  341. data/lib/generators/semantic_ui/install/templates/config/modules/video.overrides +3 -0
  342. data/lib/generators/semantic_ui/install/templates/config/modules/video.variables +0 -0
  343. data/lib/generators/semantic_ui/install/templates/config/views/ad.overrides +3 -0
  344. data/lib/generators/semantic_ui/install/templates/config/views/ad.variables +3 -0
  345. data/lib/generators/semantic_ui/install/templates/config/views/card.overrides +3 -0
  346. data/lib/generators/semantic_ui/install/templates/config/views/card.variables +3 -0
  347. data/lib/generators/semantic_ui/install/templates/config/views/comment.overrides +3 -0
  348. data/lib/generators/semantic_ui/install/templates/config/views/comment.variables +3 -0
  349. data/lib/generators/semantic_ui/install/templates/config/views/feed.overrides +3 -0
  350. data/lib/generators/semantic_ui/install/templates/config/views/feed.variables +3 -0
  351. data/lib/generators/semantic_ui/install/templates/config/views/item.overrides +3 -0
  352. data/lib/generators/semantic_ui/install/templates/config/views/item.variables +3 -0
  353. data/lib/generators/semantic_ui/install/templates/config/views/statistic.overrides +3 -0
  354. data/lib/generators/semantic_ui/install/templates/config/views/statistic.variables +3 -0
  355. data/lib/generators/semantic_ui/install/templates/semantic_ui.css +52 -0
  356. data/lib/generators/semantic_ui/install/templates/semantic_ui.js +27 -0
  357. data/lib/generators/semantic_ui/install/templates/theme.config +87 -0
  358. data/lib/less/rails/semantic_ui.rb +2 -0
  359. data/lib/less/rails/semantic_ui/engine.rb +18 -0
  360. data/spec/dummy_app/.gitignore +1 -0
  361. data/spec/dummy_app/app/assets/javascripts/application.js +1 -0
  362. data/spec/dummy_app/app/assets/stylesheets/application.css +4 -0
  363. data/spec/dummy_app/init.rb +20 -0
  364. data/spec/generators/install_generator_spec.rb +80 -0
  365. data/spec/spec_helper.rb +1 -0
  366. data/tasks/templates/semantic_ui.css.erb +11 -0
  367. data/tasks/templates/semantic_ui.js.erb +7 -0
  368. data/tasks/update.rake +245 -0
  369. metadata +547 -0
@@ -0,0 +1,809 @@
1
+ /*
2
+ * # Semantic - Modal
3
+ * http://github.com/semantic-org/semantic-ui/
4
+ *
5
+ *
6
+ * Copyright 2014 Contributor
7
+ * Released under the MIT license
8
+ * http://opensource.org/licenses/MIT
9
+ *
10
+ */
11
+
12
+ ;(function ( $, window, document, undefined ) {
13
+
14
+ "use strict";
15
+
16
+ $.fn.modal = function(parameters) {
17
+ var
18
+ $allModules = $(this),
19
+ $window = $(window),
20
+ $document = $(document),
21
+ $body = $('body'),
22
+
23
+ moduleSelector = $allModules.selector || '',
24
+
25
+ time = new Date().getTime(),
26
+ performance = [],
27
+
28
+ query = arguments[0],
29
+ methodInvoked = (typeof query == 'string'),
30
+ queryArguments = [].slice.call(arguments, 1),
31
+
32
+ requestAnimationFrame = window.requestAnimationFrame
33
+ || window.mozRequestAnimationFrame
34
+ || window.webkitRequestAnimationFrame
35
+ || window.msRequestAnimationFrame
36
+ || function(callback) { setTimeout(callback, 0); },
37
+
38
+ returnedValue
39
+ ;
40
+
41
+ $allModules
42
+ .each(function() {
43
+ var
44
+ settings = ( $.isPlainObject(parameters) )
45
+ ? $.extend(true, {}, $.fn.modal.settings, parameters)
46
+ : $.extend({}, $.fn.modal.settings),
47
+
48
+ selector = settings.selector,
49
+ className = settings.className,
50
+ namespace = settings.namespace,
51
+ error = settings.error,
52
+
53
+ eventNamespace = '.' + namespace,
54
+ moduleNamespace = 'module-' + namespace,
55
+
56
+ $module = $(this),
57
+ $context = $(settings.context),
58
+ $close = $module.find(selector.close),
59
+
60
+ $allModals,
61
+ $otherModals,
62
+ $focusedElement,
63
+ $dimmable,
64
+ $dimmer,
65
+
66
+ element = this,
67
+ instance = $module.data(moduleNamespace),
68
+ observer,
69
+ module
70
+ ;
71
+ module = {
72
+
73
+ initialize: function() {
74
+ module.verbose('Initializing dimmer', $context);
75
+
76
+ if($.fn.dimmer === undefined) {
77
+ module.error(error.dimmer);
78
+ return;
79
+ }
80
+
81
+ $dimmable = $context
82
+ .dimmer({
83
+ debug : settings.debug,
84
+ dimmerName : 'modals',
85
+ closable : false,
86
+ useCSS : true,
87
+ duration : {
88
+ show : settings.duration * 0.9,
89
+ hide : settings.duration * 1.1
90
+ }
91
+ })
92
+ ;
93
+ if(settings.detachable) {
94
+ $dimmable.dimmer('add content', $module);
95
+ }
96
+
97
+ $dimmer = $dimmable.dimmer('get dimmer');
98
+ $otherModals = $module.siblings(selector.modal);
99
+ $allModals = $otherModals.add($module);
100
+
101
+ module.verbose('Attaching close events', $close);
102
+ module.bind.events();
103
+ module.observeChanges();
104
+
105
+ module.instantiate();
106
+ },
107
+
108
+ instantiate: function() {
109
+ module.verbose('Storing instance of modal');
110
+ instance = module;
111
+ $module
112
+ .data(moduleNamespace, instance)
113
+ ;
114
+ },
115
+
116
+ destroy: function() {
117
+ module.verbose('Destroying previous modal');
118
+ $module
119
+ .removeData(moduleNamespace)
120
+ .off(eventNamespace)
121
+ ;
122
+ $close.off(eventNamespace);
123
+ $context.dimmer('destroy');
124
+ },
125
+
126
+ observeChanges: function() {
127
+ if('MutationObserver' in window) {
128
+ observer = new MutationObserver(function(mutations) {
129
+ module.debug('DOM tree modified, refreshing');
130
+ module.refresh();
131
+ });
132
+ observer.observe(element, {
133
+ childList : true,
134
+ subtree : true
135
+ });
136
+ module.debug('Setting up mutation observer', observer);
137
+ }
138
+ },
139
+
140
+ refresh: function() {
141
+ module.remove.scrolling();
142
+ module.cacheSizes();
143
+ module.set.screenHeight();
144
+ module.set.type();
145
+ module.set.position();
146
+ },
147
+
148
+ attachEvents: function(selector, event) {
149
+ var
150
+ $toggle = $(selector)
151
+ ;
152
+ event = $.isFunction(module[event])
153
+ ? module[event]
154
+ : module.toggle
155
+ ;
156
+ if($toggle.size() > 0) {
157
+ module.debug('Attaching modal events to element', selector, event);
158
+ $toggle
159
+ .off(eventNamespace)
160
+ .on('click' + eventNamespace, event)
161
+ ;
162
+ }
163
+ else {
164
+ module.error(error.notFound, selector);
165
+ }
166
+ },
167
+
168
+ bind: {
169
+ events: function() {
170
+ $close
171
+ .on('click' + eventNamespace, module.event.close)
172
+ ;
173
+ $window
174
+ .on('resize' + eventNamespace, module.event.resize)
175
+ ;
176
+ }
177
+ },
178
+
179
+ event: {
180
+ close: function() {
181
+ module.verbose('Closing element pressed');
182
+ if( $(this).is(selector.approve) ) {
183
+ if($.proxy(settings.onApprove, element)() !== false) {
184
+ module.hide();
185
+ }
186
+ else {
187
+ module.verbose('Approve callback returned false cancelling hide');
188
+ }
189
+ }
190
+ else if( $(this).is(selector.deny) ) {
191
+ if($.proxy(settings.onDeny, element)() !== false) {
192
+ module.hide();
193
+ }
194
+ else {
195
+ module.verbose('Deny callback returned false cancelling hide');
196
+ }
197
+ }
198
+ else {
199
+ module.hide();
200
+ }
201
+ },
202
+ click: function(event) {
203
+ if( $(event.target).closest(selector.modal).size() === 0 ) {
204
+ module.debug('Dimmer clicked, hiding all modals');
205
+ if(settings.allowMultiple) {
206
+ module.hide();
207
+ }
208
+ else {
209
+ module.hideAll();
210
+ }
211
+ event.stopImmediatePropagation();
212
+ }
213
+ },
214
+ debounce: function(method, delay) {
215
+ clearTimeout(module.timer);
216
+ module.timer = setTimeout(method, delay);
217
+ },
218
+ keyboard: function(event) {
219
+ var
220
+ keyCode = event.which,
221
+ escapeKey = 27
222
+ ;
223
+ if(keyCode == escapeKey) {
224
+ if(settings.closable) {
225
+ module.debug('Escape key pressed hiding modal');
226
+ module.hide();
227
+ }
228
+ else {
229
+ module.debug('Escape key pressed, but closable is set to false');
230
+ }
231
+ event.preventDefault();
232
+ }
233
+ },
234
+ resize: function() {
235
+ if( $dimmable.dimmer('is active') ) {
236
+ requestAnimationFrame(module.refresh);
237
+ }
238
+ }
239
+ },
240
+
241
+ toggle: function() {
242
+ if( module.is.active() || module.is.animating() ) {
243
+ module.hide();
244
+ }
245
+ else {
246
+ module.show();
247
+ }
248
+ },
249
+
250
+ show: function(callback) {
251
+ callback = $.isFunction(callback)
252
+ ? callback
253
+ : function(){}
254
+ ;
255
+ module.showDimmer();
256
+ module.showModal(callback);
257
+ },
258
+
259
+ showModal: function(callback) {
260
+ callback = $.isFunction(callback)
261
+ ? callback
262
+ : function(){}
263
+ ;
264
+ if( !module.is.active() ) {
265
+
266
+ if( $otherModals.filter(':visible').size() > 0 && !settings.allowMultiple) {
267
+ module.debug('Other modals visible, queueing show animation');
268
+ module.hideOthers(module.showModal);
269
+ }
270
+ else {
271
+ $.proxy(settings.onShow, element)();
272
+ if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
273
+ module.debug('Showing modal with css animations');
274
+ module.cacheSizes();
275
+ module.set.position();
276
+ module.set.screenHeight();
277
+ module.set.type();
278
+ $module
279
+ .transition({
280
+ debug : settings.debug,
281
+ animation : settings.transition + ' in',
282
+ queue : false,
283
+ duration : settings.duration,
284
+ onStart : function() {
285
+ module.set.clickaway();
286
+ },
287
+ onComplete : function() {
288
+ $.proxy(settings.onVisible, element)();
289
+ module.add.keyboardShortcuts();
290
+ module.save.focus();
291
+ module.set.active();
292
+ module.set.autofocus();
293
+ callback();
294
+ }
295
+ })
296
+ ;
297
+ }
298
+ else {
299
+ module.debug('Showing modal with javascript');
300
+ $module
301
+ .fadeIn(settings.duration, settings.easing, function() {
302
+ $.proxy(settings.onVisible, element)();
303
+ module.add.keyboardShortcuts();
304
+ module.save.focus();
305
+ module.set.active();
306
+ callback();
307
+ })
308
+ ;
309
+ }
310
+ }
311
+ }
312
+ else {
313
+ module.debug('Modal is already visible');
314
+ }
315
+ },
316
+
317
+ showDimmer: function() {
318
+ if( !$dimmable.dimmer('is active') ) {
319
+ module.debug('Showing dimmer');
320
+ $dimmable.dimmer('show');
321
+ }
322
+ else {
323
+ module.debug('Dimmer already visible');
324
+ }
325
+ },
326
+
327
+ hide: function(callback) {
328
+ callback = $.isFunction(callback)
329
+ ? callback
330
+ : function(){}
331
+ ;
332
+ if($allModals.filter(':visible').size() <= 1) {
333
+ module.hideDimmer();
334
+ }
335
+ module.hideModal(callback);
336
+ },
337
+
338
+ hideDimmer: function() {
339
+ if( !($dimmable.dimmer('is active') || $dimmable.dimmer('is animating')) ) {
340
+ module.debug('Dimmer is not visible cannot hide');
341
+ return;
342
+ }
343
+ module.debug('Hiding dimmer');
344
+ module.remove.clickaway();
345
+ $dimmable.dimmer('hide', function() {
346
+ if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
347
+ module.remove.screenHeight();
348
+ }
349
+ module.remove.active();
350
+ });
351
+ },
352
+
353
+ hideModal: function(callback) {
354
+ callback = $.isFunction(callback)
355
+ ? callback
356
+ : function(){}
357
+ ;
358
+ module.debug('Hiding modal');
359
+ $.proxy(settings.onHide, element)();
360
+ if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
361
+ $module
362
+ .transition({
363
+ debug : settings.debug,
364
+ animation : settings.transition + ' out',
365
+ queue : false,
366
+ duration : settings.duration,
367
+ onStart : function() {
368
+ module.remove.keyboardShortcuts();
369
+ },
370
+ onComplete : function() {
371
+ $.proxy(settings.onHidden, element)();
372
+ module.remove.active();
373
+ module.restore.focus();
374
+ callback();
375
+ }
376
+ })
377
+ ;
378
+ }
379
+ else {
380
+ module.remove.keyboardShortcuts();
381
+ $module
382
+ .fadeOut(settings.duration, settings.easing, function() {
383
+ $.proxy(settings.onHidden, element)();
384
+ module.remove.active();
385
+ module.restore.focus();
386
+ callback();
387
+ })
388
+ ;
389
+ }
390
+ },
391
+
392
+ hideAll: function(callback) {
393
+ callback = $.isFunction(callback)
394
+ ? callback
395
+ : function(){}
396
+ ;
397
+ if( $allModals.is(':visible') ) {
398
+ module.debug('Hiding all visible modals');
399
+ module.hideDimmer();
400
+ $allModals
401
+ .filter(':visible')
402
+ .modal('hide modal', callback)
403
+ ;
404
+ }
405
+ },
406
+
407
+ hideOthers: function(callback) {
408
+ callback = $.isFunction(callback)
409
+ ? callback
410
+ : function(){}
411
+ ;
412
+ if( $otherModals.is(':visible') ) {
413
+ module.debug('Hiding other modals', $otherModals);
414
+ $otherModals
415
+ .filter(':visible')
416
+ .modal('hide modal', callback)
417
+ ;
418
+ }
419
+ },
420
+
421
+ add: {
422
+ keyboardShortcuts: function() {
423
+ module.verbose('Adding keyboard shortcuts');
424
+ $document
425
+ .on('keyup' + eventNamespace, module.event.keyboard)
426
+ ;
427
+ }
428
+ },
429
+
430
+ save: {
431
+ focus: function() {
432
+ $focusedElement = $(document.activeElement).blur();
433
+ }
434
+ },
435
+
436
+ restore: {
437
+ focus: function() {
438
+ if($focusedElement && $focusedElement.size() > 0) {
439
+ $focusedElement.focus();
440
+ }
441
+ }
442
+ },
443
+
444
+ remove: {
445
+ active: function() {
446
+ $module.removeClass(className.active);
447
+ },
448
+ clickaway: function() {
449
+ if(settings.closable) {
450
+ $dimmer
451
+ .off('click' + eventNamespace)
452
+ ;
453
+ }
454
+ },
455
+ screenHeight: function() {
456
+ if(module.cache.height > module.cache.pageHeight) {
457
+ module.debug('Removing page height');
458
+ $body
459
+ .css('height', '')
460
+ ;
461
+ }
462
+ },
463
+ keyboardShortcuts: function() {
464
+ module.verbose('Removing keyboard shortcuts');
465
+ $document
466
+ .off('keyup' + eventNamespace)
467
+ ;
468
+ },
469
+ scrolling: function() {
470
+ $dimmable.removeClass(className.scrolling);
471
+ $module.removeClass(className.scrolling);
472
+ }
473
+ },
474
+
475
+ cacheSizes: function() {
476
+ var
477
+ modalHeight = $module.outerHeight()
478
+ ;
479
+ if(module.cache === undefined || modalHeight !== 0) {
480
+ module.cache = {
481
+ pageHeight : $(document).outerHeight(),
482
+ height : modalHeight + settings.offset,
483
+ contextHeight : (settings.context == 'body')
484
+ ? $(window).height()
485
+ : $dimmable.height()
486
+ };
487
+ }
488
+ module.debug('Caching modal and container sizes', module.cache);
489
+ },
490
+
491
+ can: {
492
+ fit: function() {
493
+ return (module.cache.height < module.cache.contextHeight);
494
+ }
495
+ },
496
+
497
+ is: {
498
+ active: function() {
499
+ return $module.hasClass(className.active);
500
+ },
501
+ animating: function() {
502
+ return $module.transition('is supported')
503
+ ? $module.transition('is animating')
504
+ : $module.is(':visible')
505
+ ;
506
+ },
507
+ modernBrowser: function() {
508
+ // appName for IE11 reports 'Netscape' can no longer use
509
+ return !(window.ActiveXObject || "ActiveXObject" in window);
510
+ }
511
+ },
512
+
513
+ set: {
514
+ autofocus: function() {
515
+ if(settings.autofocus) {
516
+ var
517
+ $inputs = $module.find(':input:visible'),
518
+ $autofocus = $inputs.filter('[autofocus]'),
519
+ $input = ($autofocus.size() > 0)
520
+ ? $autofocus
521
+ : $inputs
522
+ ;
523
+ $input.first().focus();
524
+ }
525
+ },
526
+ clickaway: function() {
527
+ if(settings.closable) {
528
+ $dimmer
529
+ .off('click' + eventNamespace)
530
+ .on('click' + eventNamespace, module.event.click)
531
+ ;
532
+ }
533
+ },
534
+ screenHeight: function() {
535
+ if(module.cache.height > module.cache.pageHeight) {
536
+ module.debug('Modal is taller than page content, resizing page height');
537
+ $body
538
+ .css('height', module.cache.height + settings.padding)
539
+ ;
540
+ }
541
+ else {
542
+ $body.css('height', '');
543
+ }
544
+ },
545
+ active: function() {
546
+ $module.addClass(className.active);
547
+ },
548
+ scrolling: function() {
549
+ $dimmable.addClass(className.scrolling);
550
+ $module.addClass(className.scrolling);
551
+ },
552
+ type: function() {
553
+ if(module.can.fit()) {
554
+ module.verbose('Modal fits on screen');
555
+ module.remove.scrolling();
556
+ }
557
+ else {
558
+ module.verbose('Modal cannot fit on screen setting to scrolling');
559
+ module.set.scrolling();
560
+ }
561
+ },
562
+ position: function() {
563
+ module.verbose('Centering modal on page', module.cache);
564
+ if(module.can.fit()) {
565
+ $module
566
+ .css({
567
+ top: '',
568
+ marginTop: -(module.cache.height / 2)
569
+ })
570
+ ;
571
+ }
572
+ else {
573
+ $module
574
+ .css({
575
+ marginTop : '',
576
+ top : $document.scrollTop()
577
+ })
578
+ ;
579
+ }
580
+ }
581
+ },
582
+
583
+ setting: function(name, value) {
584
+ module.debug('Changing setting', name, value);
585
+ if( $.isPlainObject(name) ) {
586
+ $.extend(true, settings, name);
587
+ }
588
+ else if(value !== undefined) {
589
+ settings[name] = value;
590
+ }
591
+ else {
592
+ return settings[name];
593
+ }
594
+ },
595
+ internal: function(name, value) {
596
+ if( $.isPlainObject(name) ) {
597
+ $.extend(true, module, name);
598
+ }
599
+ else if(value !== undefined) {
600
+ module[name] = value;
601
+ }
602
+ else {
603
+ return module[name];
604
+ }
605
+ },
606
+ debug: function() {
607
+ if(settings.debug) {
608
+ if(settings.performance) {
609
+ module.performance.log(arguments);
610
+ }
611
+ else {
612
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
613
+ module.debug.apply(console, arguments);
614
+ }
615
+ }
616
+ },
617
+ verbose: function() {
618
+ if(settings.verbose && settings.debug) {
619
+ if(settings.performance) {
620
+ module.performance.log(arguments);
621
+ }
622
+ else {
623
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
624
+ module.verbose.apply(console, arguments);
625
+ }
626
+ }
627
+ },
628
+ error: function() {
629
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
630
+ module.error.apply(console, arguments);
631
+ },
632
+ performance: {
633
+ log: function(message) {
634
+ var
635
+ currentTime,
636
+ executionTime,
637
+ previousTime
638
+ ;
639
+ if(settings.performance) {
640
+ currentTime = new Date().getTime();
641
+ previousTime = time || currentTime;
642
+ executionTime = currentTime - previousTime;
643
+ time = currentTime;
644
+ performance.push({
645
+ 'Name' : message[0],
646
+ 'Arguments' : [].slice.call(message, 1) || '',
647
+ 'Element' : element,
648
+ 'Execution Time' : executionTime
649
+ });
650
+ }
651
+ clearTimeout(module.performance.timer);
652
+ module.performance.timer = setTimeout(module.performance.display, 100);
653
+ },
654
+ display: function() {
655
+ var
656
+ title = settings.name + ':',
657
+ totalTime = 0
658
+ ;
659
+ time = false;
660
+ clearTimeout(module.performance.timer);
661
+ $.each(performance, function(index, data) {
662
+ totalTime += data['Execution Time'];
663
+ });
664
+ title += ' ' + totalTime + 'ms';
665
+ if(moduleSelector) {
666
+ title += ' \'' + moduleSelector + '\'';
667
+ }
668
+ if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
669
+ console.groupCollapsed(title);
670
+ if(console.table) {
671
+ console.table(performance);
672
+ }
673
+ else {
674
+ $.each(performance, function(index, data) {
675
+ console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
676
+ });
677
+ }
678
+ console.groupEnd();
679
+ }
680
+ performance = [];
681
+ }
682
+ },
683
+ invoke: function(query, passedArguments, context) {
684
+ var
685
+ object = instance,
686
+ maxDepth,
687
+ found,
688
+ response
689
+ ;
690
+ passedArguments = passedArguments || queryArguments;
691
+ context = element || context;
692
+ if(typeof query == 'string' && object !== undefined) {
693
+ query = query.split(/[\. ]/);
694
+ maxDepth = query.length - 1;
695
+ $.each(query, function(depth, value) {
696
+ var camelCaseValue = (depth != maxDepth)
697
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
698
+ : query
699
+ ;
700
+ if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
701
+ object = object[camelCaseValue];
702
+ }
703
+ else if( object[camelCaseValue] !== undefined ) {
704
+ found = object[camelCaseValue];
705
+ return false;
706
+ }
707
+ else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
708
+ object = object[value];
709
+ }
710
+ else if( object[value] !== undefined ) {
711
+ found = object[value];
712
+ return false;
713
+ }
714
+ else {
715
+ return false;
716
+ }
717
+ });
718
+ }
719
+ if ( $.isFunction( found ) ) {
720
+ response = found.apply(context, passedArguments);
721
+ }
722
+ else if(found !== undefined) {
723
+ response = found;
724
+ }
725
+ if($.isArray(returnedValue)) {
726
+ returnedValue.push(response);
727
+ }
728
+ else if(returnedValue !== undefined) {
729
+ returnedValue = [returnedValue, response];
730
+ }
731
+ else if(response !== undefined) {
732
+ returnedValue = response;
733
+ }
734
+ return found;
735
+ }
736
+ };
737
+
738
+ if(methodInvoked) {
739
+ if(instance === undefined) {
740
+ module.initialize();
741
+ }
742
+ module.invoke(query);
743
+ }
744
+ else {
745
+ if(instance !== undefined) {
746
+ module.destroy();
747
+ }
748
+ module.initialize();
749
+ }
750
+ })
751
+ ;
752
+
753
+ return (returnedValue !== undefined)
754
+ ? returnedValue
755
+ : this
756
+ ;
757
+ };
758
+
759
+ $.fn.modal.settings = {
760
+
761
+ name : 'Modal',
762
+ namespace : 'modal',
763
+
764
+ debug : false,
765
+ verbose : true,
766
+ performance : true,
767
+
768
+ allowMultiple : false,
769
+ detachable : true,
770
+ closable : true,
771
+ autofocus : true,
772
+
773
+ context : 'body',
774
+
775
+ duration : 500,
776
+ easing : 'easeOutExpo',
777
+ offset : 0,
778
+ transition : 'scale',
779
+
780
+ padding : 30,
781
+
782
+ onShow : function(){},
783
+ onHide : function(){},
784
+
785
+ onVisible : function(){},
786
+ onHidden : function(){},
787
+
788
+ onApprove : function(){ return true; },
789
+ onDeny : function(){ return true; },
790
+
791
+ selector : {
792
+ close : '.close, .actions .button',
793
+ approve : '.actions .positive, .actions .approve, .actions .ok',
794
+ deny : '.actions .negative, .actions .deny, .actions .cancel',
795
+ modal : '.ui.modal'
796
+ },
797
+ error : {
798
+ dimmer : 'UI Dimmer, a required component is not included in this page',
799
+ method : 'The method you called is not defined.',
800
+ notFound : 'The element you specified could not be found'
801
+ },
802
+ className : {
803
+ active : 'active',
804
+ scrolling : 'scrolling'
805
+ }
806
+ };
807
+
808
+
809
+ })( jQuery, window , document );