fomantic-ui 2.9.0-beta.31 → 2.9.0-beta.312

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.all-contributorsrc +274 -4
  2. package/.github/codeql/codeql-config.yml +4 -0
  3. package/.github/dependabot.yml +10 -0
  4. package/.github/workflows/ci.yml +10 -6
  5. package/.github/workflows/codeql.yml +68 -0
  6. package/.github/workflows/nightly.yml +16 -8
  7. package/.github/workflows/release.yml +34 -0
  8. package/CONTRIBUTORS.md +86 -37
  9. package/FAQ.md +38 -38
  10. package/README.md +8 -8
  11. package/dist/components/accordion.css +176 -36
  12. package/dist/components/accordion.js +9 -3
  13. package/dist/components/accordion.min.css +2 -2
  14. package/dist/components/accordion.min.js +3 -3
  15. package/dist/components/ad.css +4 -4
  16. package/dist/components/ad.min.css +2 -2
  17. package/dist/components/api.js +89 -30
  18. package/dist/components/api.min.js +3 -3
  19. package/dist/components/breadcrumb.css +1 -1
  20. package/dist/components/breadcrumb.min.css +1 -1
  21. package/dist/components/button.css +204 -157
  22. package/dist/components/button.min.css +2 -2
  23. package/dist/components/calendar.css +18 -1
  24. package/dist/components/calendar.js +91 -71
  25. package/dist/components/calendar.min.css +2 -2
  26. package/dist/components/calendar.min.js +3 -3
  27. package/dist/components/card.css +754 -117
  28. package/dist/components/card.min.css +2 -2
  29. package/dist/components/checkbox.css +92 -91
  30. package/dist/components/checkbox.js +20 -13
  31. package/dist/components/checkbox.min.css +2 -2
  32. package/dist/components/checkbox.min.js +3 -3
  33. package/dist/components/comment.css +12 -12
  34. package/dist/components/comment.min.css +2 -2
  35. package/dist/components/container.css +98 -4
  36. package/dist/components/container.min.css +2 -2
  37. package/dist/components/dimmer.css +29 -14
  38. package/dist/components/dimmer.js +17 -5
  39. package/dist/components/dimmer.min.css +2 -2
  40. package/dist/components/dimmer.min.js +3 -3
  41. package/dist/components/divider.css +31 -31
  42. package/dist/components/divider.min.css +2 -2
  43. package/dist/components/dropdown.css +100 -50
  44. package/dist/components/dropdown.js +189 -138
  45. package/dist/components/dropdown.min.css +2 -2
  46. package/dist/components/dropdown.min.js +3 -3
  47. package/dist/components/embed.css +5 -5
  48. package/dist/components/embed.js +12 -6
  49. package/dist/components/embed.min.css +2 -2
  50. package/dist/components/embed.min.js +3 -3
  51. package/dist/components/emoji.css +10847 -8841
  52. package/dist/components/emoji.min.css +1 -1
  53. package/dist/components/feed.css +29 -29
  54. package/dist/components/feed.min.css +2 -2
  55. package/dist/components/flag.css +1011 -902
  56. package/dist/components/flag.min.css +2 -2
  57. package/dist/components/form.css +160 -83
  58. package/dist/components/form.js +39 -30
  59. package/dist/components/form.min.css +2 -2
  60. package/dist/components/form.min.js +3 -3
  61. package/dist/components/grid.css +25 -21
  62. package/dist/components/grid.min.css +2 -2
  63. package/dist/components/header.css +6 -4
  64. package/dist/components/header.min.css +2 -2
  65. package/dist/components/icon.css +2063 -1984
  66. package/dist/components/icon.min.css +2 -2
  67. package/dist/components/image.css +1 -1
  68. package/dist/components/image.min.css +1 -1
  69. package/dist/components/input.css +759 -22
  70. package/dist/components/input.min.css +2 -2
  71. package/dist/components/item.css +17 -17
  72. package/dist/components/item.min.css +2 -2
  73. package/dist/components/label.css +72 -68
  74. package/dist/components/label.min.css +2 -2
  75. package/dist/components/list.css +31 -31
  76. package/dist/components/list.min.css +2 -2
  77. package/dist/components/loader.css +352 -352
  78. package/dist/components/loader.min.css +2 -2
  79. package/dist/components/menu.css +108 -76
  80. package/dist/components/menu.min.css +1 -1
  81. package/dist/components/message.css +43 -43
  82. package/dist/components/message.min.css +2 -2
  83. package/dist/components/modal.css +29 -4
  84. package/dist/components/modal.js +140 -56
  85. package/dist/components/modal.min.css +2 -2
  86. package/dist/components/modal.min.js +3 -3
  87. package/dist/components/nag.css +1 -1
  88. package/dist/components/nag.js +2 -2
  89. package/dist/components/nag.min.css +1 -1
  90. package/dist/components/nag.min.js +3 -3
  91. package/dist/components/placeholder.css +33 -33
  92. package/dist/components/placeholder.min.css +2 -2
  93. package/dist/components/popup.css +100 -104
  94. package/dist/components/popup.js +13 -11
  95. package/dist/components/popup.min.css +2 -2
  96. package/dist/components/popup.min.js +3 -3
  97. package/dist/components/progress.css +1 -1
  98. package/dist/components/progress.js +4 -1
  99. package/dist/components/progress.min.css +1 -1
  100. package/dist/components/progress.min.js +3 -3
  101. package/dist/components/rail.css +1 -1
  102. package/dist/components/rail.min.css +1 -1
  103. package/dist/components/rating.css +1 -1
  104. package/dist/components/rating.js +7 -3
  105. package/dist/components/rating.min.css +1 -1
  106. package/dist/components/rating.min.js +3 -3
  107. package/dist/components/reset.css +5 -4
  108. package/dist/components/reset.min.css +2 -2
  109. package/dist/components/reveal.css +1 -1
  110. package/dist/components/reveal.min.css +1 -1
  111. package/dist/components/search.css +6 -6
  112. package/dist/components/search.js +44 -14
  113. package/dist/components/search.min.css +2 -2
  114. package/dist/components/search.min.js +3 -3
  115. package/dist/components/segment.css +118 -34
  116. package/dist/components/segment.min.css +2 -2
  117. package/dist/components/shape.css +1 -1
  118. package/dist/components/shape.js +3 -3
  119. package/dist/components/shape.min.css +1 -1
  120. package/dist/components/shape.min.js +3 -3
  121. package/dist/components/sidebar.css +13 -7
  122. package/dist/components/sidebar.js +116 -37
  123. package/dist/components/sidebar.min.css +2 -2
  124. package/dist/components/sidebar.min.js +3 -3
  125. package/dist/components/site.css +139 -42
  126. package/dist/components/site.js +1 -1
  127. package/dist/components/site.min.css +2 -2
  128. package/dist/components/site.min.js +3 -3
  129. package/dist/components/slider.css +17 -17
  130. package/dist/components/slider.js +68 -51
  131. package/dist/components/slider.min.css +1 -1
  132. package/dist/components/slider.min.js +3 -3
  133. package/dist/components/state.js +2 -2
  134. package/dist/components/state.min.js +3 -3
  135. package/dist/components/statistic.css +4 -4
  136. package/dist/components/statistic.min.css +2 -2
  137. package/dist/components/step.css +31 -31
  138. package/dist/components/step.min.css +2 -2
  139. package/dist/components/sticky.css +1 -1
  140. package/dist/components/sticky.js +6 -6
  141. package/dist/components/sticky.min.css +1 -1
  142. package/dist/components/sticky.min.js +3 -3
  143. package/dist/components/tab.css +5 -5
  144. package/dist/components/tab.js +24 -6
  145. package/dist/components/tab.min.css +2 -2
  146. package/dist/components/tab.min.js +3 -3
  147. package/dist/components/table.css +1684 -272
  148. package/dist/components/table.min.css +2 -2
  149. package/dist/components/text.css +1 -1
  150. package/dist/components/text.min.css +1 -1
  151. package/dist/components/toast.css +42 -1
  152. package/dist/components/toast.js +66 -32
  153. package/dist/components/toast.min.css +2 -2
  154. package/dist/components/toast.min.js +3 -3
  155. package/dist/components/transition.css +1 -1
  156. package/dist/components/transition.js +23 -16
  157. package/dist/components/transition.min.css +1 -1
  158. package/dist/components/transition.min.js +3 -3
  159. package/dist/components/visibility.js +4 -4
  160. package/dist/components/visibility.min.js +3 -3
  161. package/dist/semantic.css +20201 -13378
  162. package/dist/semantic.js +990 -542
  163. package/dist/semantic.min.css +3 -3
  164. package/dist/semantic.min.js +3 -3
  165. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  166. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  167. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  168. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  169. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  170. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  171. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  172. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  173. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  174. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  175. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  176. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  177. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  178. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  179. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  180. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  181. package/dist/themes/default/assets/fonts/brand-icons.eot +0 -0
  182. package/dist/themes/default/assets/fonts/brand-icons.svg +801 -654
  183. package/dist/themes/default/assets/fonts/brand-icons.ttf +0 -0
  184. package/dist/themes/default/assets/fonts/brand-icons.woff +0 -0
  185. package/dist/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  186. package/dist/themes/default/assets/fonts/icons.eot +0 -0
  187. package/dist/themes/default/assets/fonts/icons.svg +1175 -1079
  188. package/dist/themes/default/assets/fonts/icons.ttf +0 -0
  189. package/dist/themes/default/assets/fonts/icons.woff +0 -0
  190. package/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  191. package/dist/themes/default/assets/fonts/outline-icons.eot +0 -0
  192. package/dist/themes/default/assets/fonts/outline-icons.svg +93 -95
  193. package/dist/themes/default/assets/fonts/outline-icons.ttf +0 -0
  194. package/dist/themes/default/assets/fonts/outline-icons.woff +0 -0
  195. package/dist/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  196. package/dist/themes/{default → famfamfam}/assets/images/flags.png +0 -0
  197. package/examples/assets/library/iframe-content.js +8 -8
  198. package/examples/assets/library/iframe.js +3 -3
  199. package/examples/components/button.html +1 -1
  200. package/examples/components/card.html +1 -1
  201. package/examples/components/input.html +1 -1
  202. package/examples/components/menu.html +1 -1
  203. package/examples/components/site.html +1 -1
  204. package/examples/components/table.html +1 -1
  205. package/package.json +18 -16
  206. package/scripts/nightly-version.js +47 -38
  207. package/src/definitions/behaviors/api.js +88 -29
  208. package/src/definitions/behaviors/form.js +38 -29
  209. package/src/definitions/behaviors/state.js +1 -1
  210. package/src/definitions/behaviors/visibility.js +3 -3
  211. package/src/definitions/collections/form.less +229 -166
  212. package/src/definitions/collections/grid.less +723 -687
  213. package/src/definitions/collections/menu.less +232 -170
  214. package/src/definitions/collections/message.less +49 -47
  215. package/src/definitions/collections/table.less +882 -272
  216. package/src/definitions/elements/button.less +611 -469
  217. package/src/definitions/elements/container.less +145 -8
  218. package/src/definitions/elements/divider.less +24 -24
  219. package/src/definitions/elements/emoji.less +39 -10
  220. package/src/definitions/elements/flag.less +53 -18
  221. package/src/definitions/elements/header.less +46 -37
  222. package/src/definitions/elements/icon.less +39 -32
  223. package/src/definitions/elements/input.less +281 -33
  224. package/src/definitions/elements/label.less +132 -128
  225. package/src/definitions/elements/list.less +84 -75
  226. package/src/definitions/elements/loader.less +99 -98
  227. package/src/definitions/elements/placeholder.less +32 -32
  228. package/src/definitions/elements/segment.less +177 -56
  229. package/src/definitions/elements/step.less +76 -72
  230. package/src/definitions/elements/text.less +17 -15
  231. package/src/definitions/globals/reset.less +2 -2
  232. package/src/definitions/globals/site.less +25 -2
  233. package/src/definitions/modules/accordion.js +8 -2
  234. package/src/definitions/modules/accordion.less +371 -219
  235. package/src/definitions/modules/calendar.js +90 -70
  236. package/src/definitions/modules/calendar.less +20 -0
  237. package/src/definitions/modules/checkbox.js +19 -12
  238. package/src/definitions/modules/checkbox.less +83 -227
  239. package/src/definitions/modules/dimmer.js +16 -4
  240. package/src/definitions/modules/dimmer.less +22 -8
  241. package/src/definitions/modules/dropdown.js +188 -137
  242. package/src/definitions/modules/dropdown.less +201 -136
  243. package/src/definitions/modules/embed.js +11 -5
  244. package/src/definitions/modules/embed.less +4 -4
  245. package/src/definitions/modules/modal.js +139 -55
  246. package/src/definitions/modules/modal.less +66 -33
  247. package/src/definitions/modules/nag.js +1 -1
  248. package/src/definitions/modules/nag.less +20 -19
  249. package/src/definitions/modules/popup.js +12 -10
  250. package/src/definitions/modules/popup.less +86 -90
  251. package/src/definitions/modules/progress.js +3 -0
  252. package/src/definitions/modules/progress.less +19 -18
  253. package/src/definitions/modules/rating.js +6 -2
  254. package/src/definitions/modules/rating.less +35 -34
  255. package/src/definitions/modules/search.js +43 -13
  256. package/src/definitions/modules/search.less +35 -19
  257. package/src/definitions/modules/shape.js +2 -2
  258. package/src/definitions/modules/sidebar.js +115 -36
  259. package/src/definitions/modules/sidebar.less +42 -24
  260. package/src/definitions/modules/slider.js +67 -50
  261. package/src/definitions/modules/slider.less +48 -47
  262. package/src/definitions/modules/sticky.js +5 -5
  263. package/src/definitions/modules/sticky.less +3 -1
  264. package/src/definitions/modules/tab.js +23 -5
  265. package/src/definitions/modules/tab.less +4 -4
  266. package/src/definitions/modules/toast.js +65 -31
  267. package/src/definitions/modules/toast.less +51 -16
  268. package/src/definitions/modules/transition.js +22 -15
  269. package/src/definitions/views/ad.less +3 -3
  270. package/src/definitions/views/card.less +522 -375
  271. package/src/definitions/views/comment.less +93 -82
  272. package/src/definitions/views/feed.less +164 -144
  273. package/src/definitions/views/item.less +251 -198
  274. package/src/definitions/views/statistic.less +91 -89
  275. package/src/theme.less +13 -2
  276. package/src/themes/amazon/globals/site.variables +1 -0
  277. package/src/themes/basic/elements/icon.overrides +149 -149
  278. package/src/themes/basic/elements/step.overrides +2 -2
  279. package/src/themes/bookish/elements/header.overrides +1 -1
  280. package/src/themes/chubby/elements/button.overrides +1 -1
  281. package/src/themes/chubby/elements/header.overrides +1 -1
  282. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  283. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  284. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  285. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  286. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  287. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  288. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  289. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  290. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  291. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  292. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  293. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  294. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  295. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  296. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  297. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  298. package/src/themes/default/assets/fonts/brand-icons.eot +0 -0
  299. package/src/themes/default/assets/fonts/brand-icons.svg +801 -654
  300. package/src/themes/default/assets/fonts/brand-icons.ttf +0 -0
  301. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  302. package/src/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  303. package/src/themes/default/assets/fonts/icons.eot +0 -0
  304. package/src/themes/default/assets/fonts/icons.svg +1175 -1079
  305. package/src/themes/default/assets/fonts/icons.ttf +0 -0
  306. package/src/themes/default/assets/fonts/icons.woff +0 -0
  307. package/src/themes/default/assets/fonts/icons.woff2 +0 -0
  308. package/src/themes/default/assets/fonts/outline-icons.eot +0 -0
  309. package/src/themes/default/assets/fonts/outline-icons.svg +93 -95
  310. package/src/themes/default/assets/fonts/outline-icons.ttf +0 -0
  311. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  312. package/src/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  313. package/src/themes/default/collections/form.variables +4 -0
  314. package/src/themes/default/collections/menu.variables +6 -0
  315. package/src/themes/default/collections/table.variables +52 -0
  316. package/src/themes/default/elements/button.variables +7 -1
  317. package/src/themes/default/elements/container.variables +12 -0
  318. package/src/themes/default/elements/divider.overrides +7 -7
  319. package/src/themes/default/elements/emoji.overrides +0 -3090
  320. package/src/themes/default/elements/emoji.variables +3575 -1
  321. package/src/themes/default/elements/flag.overrides +0 -991
  322. package/src/themes/default/elements/flag.variables +1609 -5
  323. package/src/themes/default/elements/icon.overrides +1975 -1949
  324. package/src/themes/default/elements/icon.variables +1 -0
  325. package/src/themes/default/elements/input.variables +15 -0
  326. package/src/themes/default/elements/segment.variables +8 -0
  327. package/src/themes/default/elements/step.overrides +3 -3
  328. package/src/themes/default/globals/site.variables +109 -8
  329. package/src/themes/default/globals/variation.variables +143 -6
  330. package/src/themes/default/modules/accordion.overrides +6 -5
  331. package/src/themes/default/modules/accordion.variables +49 -2
  332. package/src/themes/default/modules/calendar.variables +3 -0
  333. package/src/themes/default/modules/checkbox.overrides +9 -9
  334. package/src/themes/default/modules/checkbox.variables +5 -5
  335. package/src/themes/default/modules/dimmer.variables +1 -1
  336. package/src/themes/default/modules/dropdown.overrides +5 -5
  337. package/src/themes/default/modules/dropdown.variables +7 -10
  338. package/src/themes/default/modules/modal.variables +14 -0
  339. package/src/themes/default/modules/popup.variables +0 -2
  340. package/src/themes/default/modules/toast.variables +3 -0
  341. package/src/themes/default/views/card.variables +8 -0
  342. package/src/themes/{default → famfamfam}/assets/images/flags.png +0 -0
  343. package/src/themes/famfamfam/elements/flag.overrides +1026 -0
  344. package/src/themes/famfamfam/elements/flag.variables +20 -0
  345. package/src/themes/github/elements/icon.overrides +206 -206
  346. package/src/themes/github/elements/step.overrides +5 -5
  347. package/src/themes/github/globals/site.variables +1 -0
  348. package/src/themes/github/modules/dropdown.overrides +6 -6
  349. package/src/themes/instagram/views/card.overrides +1 -1
  350. package/src/themes/joypixels/elements/emoji.overrides +0 -3089
  351. package/src/themes/joypixels/elements/emoji.variables +3574 -5
  352. package/src/themes/material/collections/menu.overrides +1 -1
  353. package/src/themes/material/elements/button.overrides +1 -1
  354. package/src/themes/material/elements/header.overrides +1 -1
  355. package/src/themes/material/elements/icon.overrides +932 -932
  356. package/src/themes/material/globals/site.variables +0 -1
  357. package/src/themes/material/modules/dropdown.overrides +1 -1
  358. package/src/themes/material/modules/modal.overrides +1 -1
  359. package/src/themes/pulsar/elements/loader.overrides +2 -2
  360. package/src/themes/resetcss/globals/reset.overrides +3 -3
  361. package/src/themes/rtl/globals/site.overrides +1 -1
  362. package/src/themes/striped/modules/progress.overrides +1 -1
  363. package/src/themes/systemfont/globals/reset.overrides +8 -0
  364. package/src/themes/systemfont/globals/site.variables +10 -0
  365. package/src/themes/twitter/elements/emoji.overrides +0 -3091
  366. package/src/themes/twitter/elements/emoji.variables +3570 -6
  367. package/tasks/admin/distributions/create.js +1 -1
  368. package/tasks/admin/publish.js +1 -1
  369. package/tasks/admin/release.js +1 -1
  370. package/tasks/build/assets.js +1 -1
  371. package/tasks/build/css.js +9 -4
  372. package/tasks/build/javascript.js +3 -3
  373. package/tasks/check-install.js +1 -1
  374. package/tasks/clean.js +1 -1
  375. package/tasks/collections/README.md +1 -1
  376. package/tasks/collections/admin.js +1 -1
  377. package/tasks/config/admin/oauth.example.js +1 -1
  378. package/tasks/config/admin/templates/composer.json +1 -1
  379. package/tasks/config/project/install.js +15 -13
  380. package/tasks/install.js +1 -0
  381. package/tasks/rtl/watch.js +1 -1
  382. package/tasks/version.js +1 -1
  383. package/test/fixtures/accordion.html +1 -1
  384. package/test/fixtures/checkbox.html +1 -1
  385. package/test/fixtures/dropdown.html +1 -1
  386. package/test/fixtures/modal.html +1 -1
  387. package/test/fixtures/popup.html +1 -1
  388. package/test/fixtures/rating.html +1 -1
  389. package/test/fixtures/shape.html +1 -1
  390. package/test/fixtures/sidebar.html +1 -1
  391. package/test/fixtures/tab.html +1 -1
  392. package/test/fixtures/transition.html +1 -1
  393. package/test/fixtures/video.html +1 -1
  394. package/test/helpers/jasmine-jquery.js +2 -2
  395. package/test/helpers/jasmine-sinon.js +1 -1
  396. package/test/helpers/jquery-events.js +1 -1
  397. package/test/helpers/sinon.js +3 -3
  398. package/test/meteor/fonts.js +1 -1
  399. package/test/modules/accordion.spec.js +1 -1
  400. package/test/modules/checkbox.spec.js +1 -1
  401. package/test/modules/dropdown.spec.js +1 -1
  402. package/test/modules/modal.spec.js +1 -1
  403. package/test/modules/module.spec.js +1 -1
  404. package/test/modules/popup.spec.js +1 -1
  405. package/test/modules/search.spec.js +1 -1
  406. package/test/modules/shape.spec.js +1 -1
  407. package/test/modules/sidebar.spec.js +1 -1
  408. package/test/modules/tab.spec.js +1 -1
  409. package/test/modules/transition.spec.js +1 -1
  410. package/test/modules/video.spec.js +1 -1
@@ -28,6 +28,7 @@ $.fn.sidebar = function(parameters) {
28
28
  $allModules = $(this),
29
29
  $window = $(window),
30
30
  $document = $(document),
31
+ $body = $('body'),
31
32
  $html = $('html'),
32
33
  $head = $('head'),
33
34
 
@@ -66,7 +67,8 @@ $.fn.sidebar = function(parameters) {
66
67
  moduleNamespace = 'module-' + namespace,
67
68
 
68
69
  $module = $(this),
69
- $context = $(settings.context),
70
+ $context = [window,document].indexOf(settings.context) < 0 ? $(document).find(settings.context) : $body,
71
+ isBody = $context[0] === $body[0],
70
72
 
71
73
  $sidebars = $module.children(selector.sidebar),
72
74
  $fixed = $context.children(selector.fixed),
@@ -80,6 +82,9 @@ $.fn.sidebar = function(parameters) {
80
82
  id,
81
83
  currentScroll,
82
84
  transitionEvent,
85
+ initialBodyMargin = '',
86
+ tempBodyMargin = '',
87
+ hadScrollbar = false,
83
88
 
84
89
  module
85
90
  ;
@@ -118,7 +123,7 @@ $.fn.sidebar = function(parameters) {
118
123
 
119
124
  create: {
120
125
  id: function() {
121
- id = (Math.random().toString(16) + '000000000').substr(2,8);
126
+ id = (Math.random().toString(16) + '000000000').slice(2, 10);
122
127
  elementNamespace = '.' + id;
123
128
  module.verbose('Creating unique id for element', id);
124
129
  }
@@ -185,9 +190,12 @@ $.fn.sidebar = function(parameters) {
185
190
  scrollLock: function() {
186
191
  if(settings.scrollLock) {
187
192
  module.debug('Disabling page scroll');
188
- $window
189
- .on('DOMMouseScroll' + elementNamespace, module.event.scroll)
190
- ;
193
+ hadScrollbar = module.has.scrollbar();
194
+ if(hadScrollbar) {
195
+ module.save.bodyMargin();
196
+ module.set.bodyMargin();
197
+ }
198
+ $context.addClass(className.locked);
191
199
  }
192
200
  module.verbose('Adding events to contain sidebar scroll');
193
201
  $document
@@ -205,8 +213,11 @@ $.fn.sidebar = function(parameters) {
205
213
  },
206
214
  scrollLock: function() {
207
215
  module.verbose('Removing scroll lock from page');
216
+ if(hadScrollbar) {
217
+ module.restore.bodyMargin();
218
+ }
219
+ $context.removeClass(className.locked);
208
220
  $document.off(elementNamespace);
209
- $window.off(elementNamespace);
210
221
  $module.off('scroll' + eventNamespace);
211
222
  }
212
223
  },
@@ -261,7 +272,7 @@ $.fn.sidebar = function(parameters) {
261
272
  if(direction === 'left' || direction === 'right') {
262
273
  module.debug('Adding CSS rules for animation distance', width);
263
274
  style += ''
264
- + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'
275
+ + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher::after {'
265
276
  + ' -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'
266
277
  + ' transform: translate3d('+ distance[direction] + 'px, 0, 0);'
267
278
  + ' }'
@@ -269,7 +280,7 @@ $.fn.sidebar = function(parameters) {
269
280
  }
270
281
  else if(direction === 'top' || direction == 'bottom') {
271
282
  style += ''
272
- + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'
283
+ + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher::after {'
273
284
  + ' -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'
274
285
  + ' transform: translate3d(0, ' + distance[direction] + 'px, 0);'
275
286
  + ' }'
@@ -277,8 +288,8 @@ $.fn.sidebar = function(parameters) {
277
288
  }
278
289
  /* opposite sides visible forces content overlay */
279
290
  style += ''
280
- + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'
281
- + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'
291
+ + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher::after,'
292
+ + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher::after {'
282
293
  + ' -webkit-transform: translate3d(0, 0, 0);'
283
294
  + ' transform: translate3d(0, 0, 0);'
284
295
  + ' }'
@@ -294,7 +305,7 @@ $.fn.sidebar = function(parameters) {
294
305
 
295
306
  refresh: function() {
296
307
  module.verbose('Refreshing selector cache');
297
- $context = $(settings.context);
308
+ $context = [window,document].indexOf(settings.context) < 0 ? $(document).find(settings.context) : $(settings.context);
298
309
  $sidebars = $context.children(selector.sidebar);
299
310
  $pusher = $context.children(selector.pusher);
300
311
  $fixed = $context.children(selector.fixed);
@@ -364,13 +375,32 @@ $.fn.sidebar = function(parameters) {
364
375
  module.error(error.notFound, selector);
365
376
  }
366
377
  },
367
-
378
+ can: {
379
+ leftBodyScrollbar: function () {
380
+ if (module.cache.leftBodyScrollbar === undefined) {
381
+ module.cache.leftBodyScrollbar = module.is.rtl() && ((module.is.iframe && !module.is.firefox()) || module.is.safari() || module.is.edge() || module.is.ie());
382
+ }
383
+ return module.cache.leftBodyScrollbar;
384
+ }
385
+ },
386
+ save: {
387
+ bodyMargin: function() {
388
+ initialBodyMargin = $context.css((isBody ? 'margin-':'padding-')+(module.can.leftBodyScrollbar() ? 'left':'right'));
389
+ var bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
390
+ bodyScrollbarWidth = isBody ? window.innerWidth - document.documentElement.clientWidth : $context[0].offsetWidth - $context[0].clientWidth;
391
+ tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
392
+ }
393
+ },
368
394
  show: function(callback) {
369
395
  callback = $.isFunction(callback)
370
396
  ? callback
371
397
  : function(){}
372
398
  ;
373
399
  if(module.is.hidden()) {
400
+ if(settings.onShow.call(element) === false) {
401
+ module.verbose('Show callback returned false cancelling show');
402
+ return;
403
+ }
374
404
  module.refreshSidebars();
375
405
  if(settings.overlay) {
376
406
  module.error(error.overlay);
@@ -395,10 +425,9 @@ $.fn.sidebar = function(parameters) {
395
425
  }
396
426
  module.pushPage(function() {
397
427
  callback.call(element);
398
- settings.onShow.call(element);
428
+ settings.onVisible.call(element);
399
429
  });
400
430
  settings.onChange.call(element);
401
- settings.onVisible.call(element);
402
431
  }
403
432
  else {
404
433
  module.debug('Sidebar is already visible');
@@ -410,7 +439,7 @@ $.fn.sidebar = function(parameters) {
410
439
  ? callback
411
440
  : function(){}
412
441
  ;
413
- if(module.is.visible() || module.is.animating()) {
442
+ if((module.is.visible() || module.is.animating()) && settings.onHide.call(element) !== false) {
414
443
  module.debug('Hiding sidebar', callback);
415
444
  module.refreshSidebars();
416
445
  module.pullPage(function() {
@@ -418,7 +447,6 @@ $.fn.sidebar = function(parameters) {
418
447
  settings.onHidden.call(element);
419
448
  });
420
449
  settings.onChange.call(element);
421
- settings.onHide.call(element);
422
450
  }
423
451
  },
424
452
 
@@ -473,9 +501,13 @@ $.fn.sidebar = function(parameters) {
473
501
  ? callback
474
502
  : function(){}
475
503
  ;
476
- if(settings.transition == 'scale down') {
504
+ if(settings.returnScroll) {
505
+ currentScroll = (isBody ? $window : $context).scrollTop();
506
+ }
507
+ if(settings.transition === 'scale down') {
477
508
  module.scrollToTop();
478
509
  }
510
+ module.bind.scrollLock();
479
511
  module.set.transition(transition);
480
512
  module.repaint();
481
513
  animate = function() {
@@ -491,7 +523,6 @@ $.fn.sidebar = function(parameters) {
491
523
  if( event.target == $transition[0] ) {
492
524
  $transition.off(transitionEvent + elementNamespace, transitionEnd);
493
525
  module.remove.animating();
494
- module.bind.scrollLock();
495
526
  callback.call(element);
496
527
  }
497
528
  };
@@ -535,7 +566,7 @@ $.fn.sidebar = function(parameters) {
535
566
  module.remove.animating();
536
567
  module.remove.transition();
537
568
  module.remove.inlineCSS();
538
- if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {
569
+ if(transition === 'scale down' || settings.returnScroll) {
539
570
  module.scrollBack();
540
571
  }
541
572
  callback.call(element);
@@ -548,14 +579,13 @@ $.fn.sidebar = function(parameters) {
548
579
 
549
580
  scrollToTop: function() {
550
581
  module.verbose('Scrolling to top of page to avoid animation issues');
551
- currentScroll = $(window).scrollTop();
552
582
  $module.scrollTop(0);
553
- window.scrollTo(0, 0);
583
+ (isBody ? $window : $context)[0].scrollTo(0, 0);
554
584
  },
555
585
 
556
586
  scrollBack: function() {
557
587
  module.verbose('Scrolling back to original page position');
558
- window.scrollTo(0, currentScroll);
588
+ (isBody ? $window : $context)[0].scrollTo(0, currentScroll);
559
589
  },
560
590
 
561
591
  clear: {
@@ -566,7 +596,16 @@ $.fn.sidebar = function(parameters) {
566
596
  },
567
597
 
568
598
  set: {
569
-
599
+ bodyMargin: function() {
600
+ var position = module.can.leftBodyScrollbar() ? 'left':'right';
601
+ $context.css((isBody ? 'margin-':'padding-')+position, tempBodyMargin + 'px');
602
+ $context.find(selector.bodyFixed.replace('right',position)).each(function(){
603
+ var el = $(this),
604
+ attribute = el.css('position') === 'fixed' ? 'padding-'+position : position
605
+ ;
606
+ el.css(attribute, 'calc(' + el.css(attribute) + ' + ' + tempBodyMargin + 'px)');
607
+ });
608
+ },
570
609
  // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios
571
610
  // (This is no longer necessary in latest iOS)
572
611
  ios: function() {
@@ -652,7 +691,18 @@ $.fn.sidebar = function(parameters) {
652
691
  $module.removeClass(className.overlay);
653
692
  }
654
693
  },
655
-
694
+ restore: {
695
+ bodyMargin: function() {
696
+ var position = module.can.leftBodyScrollbar() ? 'left':'right';
697
+ $context.css((isBody ? 'margin-':'padding-')+position, initialBodyMargin);
698
+ $context.find(selector.bodyFixed.replace('right',position)).each(function(){
699
+ var el = $(this),
700
+ attribute = el.css('position') === 'fixed' ? 'padding-'+position : position
701
+ ;
702
+ el.css(attribute, '');
703
+ });
704
+ }
705
+ },
656
706
  get: {
657
707
  direction: function() {
658
708
  if($module.hasClass(className.top)) {
@@ -700,15 +750,42 @@ $.fn.sidebar = function(parameters) {
700
750
  }
701
751
  }
702
752
  },
703
-
753
+ has: {
754
+ scrollbar: function() {
755
+ return isBody || $context.css('overflow-y') !== 'hidden';
756
+ }
757
+ },
704
758
  is: {
705
-
759
+ safari: function() {
760
+ if(module.cache.isSafari === undefined) {
761
+ module.cache.isSafari = /constructor/i.test(window.HTMLElement) || !!window.ApplePaySession;
762
+ }
763
+ return module.cache.isSafari;
764
+ },
765
+ edge: function(){
766
+ if(module.cache.isEdge === undefined) {
767
+ module.cache.isEdge = !!window.setImmediate && !module.is.ie();
768
+ }
769
+ return module.cache.isEdge;
770
+ },
771
+ firefox: function(){
772
+ if(module.cache.isFirefox === undefined) {
773
+ module.cache.isFirefox = !!window.InstallTrigger;
774
+ }
775
+ return module.cache.isFirefox;
776
+ },
777
+ iframe: function() {
778
+ return !(self === top);
779
+ },
706
780
  ie: function() {
707
- var
708
- isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
709
- isIE = ('ActiveXObject' in window)
710
- ;
711
- return (isIE11 || isIE);
781
+ if(module.cache.isIE === undefined) {
782
+ var
783
+ isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
784
+ isIE = ('ActiveXObject' in window)
785
+ ;
786
+ module.cache.isIE = (isIE11 || isIE);
787
+ }
788
+ return module.cache.isIE;
712
789
  },
713
790
 
714
791
  ios: function() {
@@ -758,12 +835,12 @@ $.fn.sidebar = function(parameters) {
758
835
  animating: function() {
759
836
  return $context.hasClass(className.animating);
760
837
  },
761
- rtl: function () {
762
- if(module.cache.rtl === undefined) {
763
- module.cache.rtl = $module.attr('dir') === 'rtl' || $module.css('direction') === 'rtl';
838
+ rtl: function() {
839
+ if(module.cache.isRTL === undefined) {
840
+ module.cache.isRTL = $module.attr('dir') === 'rtl' || $module.css('direction') === 'rtl' || $body.attr('dir') === 'rtl' || $body.css('direction') === 'rtl' || $context.attr('dir') === 'rtl' || $context.css('direction') === 'rtl';
764
841
  }
765
- return module.cache.rtl;
766
- }
842
+ return module.cache.isRTL;
843
+ },
767
844
  },
768
845
 
769
846
  setting: function(name, value) {
@@ -1000,6 +1077,7 @@ $.fn.sidebar.settings = {
1000
1077
  animating : 'animating',
1001
1078
  dimmed : 'dimmed',
1002
1079
  ios : 'ios',
1080
+ locked : 'locked',
1003
1081
  pushable : 'pushable',
1004
1082
  pushed : 'pushed',
1005
1083
  right : 'right',
@@ -1010,6 +1088,7 @@ $.fn.sidebar.settings = {
1010
1088
  },
1011
1089
 
1012
1090
  selector: {
1091
+ bodyFixed: '> .ui.fixed.menu, > .ui.right.toast-container, > .ui.right.sidebar, > .ui.fixed.nag, > .ui.fixed.nag > .close',
1013
1092
  fixed : '.fixed',
1014
1093
  omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',
1015
1094
  pusher : '.pusher',
@@ -95,10 +95,14 @@
95
95
  Pushable
96
96
  ---------------*/
97
97
 
98
- .pushable {
98
+ .pushable.pushable.pushable {
99
99
  height: 100%;
100
100
  overflow-x: hidden;
101
- padding: 0 !important;
101
+ padding: 0;
102
+ &.locked {
103
+ overflow-y: hidden;
104
+ background: inherit;
105
+ }
102
106
  }
103
107
 
104
108
  /* Whole Page */
@@ -116,7 +120,7 @@ body.pushable {
116
120
  }
117
121
  .pushable:not(body) > .ui.sidebar,
118
122
  .pushable:not(body) > .fixed,
119
- .pushable:not(body) > .pusher:after {
123
+ .pushable:not(body) > .pusher::after {
120
124
  position: absolute;
121
125
  }
122
126
 
@@ -141,13 +145,15 @@ body.pushable {
141
145
  .pushable > .pusher {
142
146
  position: relative;
143
147
  backface-visibility: hidden;
144
- overflow: hidden;
145
148
  min-height: 100%;
146
149
  transition: transform @duration @easing;
147
150
  z-index: @middleLayer;
148
151
 
149
152
  /* Pusher should inherit background from context */
150
153
  background: inherit;
154
+ &:not(.overflowing) {
155
+ overflow: hidden;
156
+ }
151
157
  }
152
158
 
153
159
  body.pushable > .pusher {
@@ -158,7 +164,7 @@ body.pushable > .pusher {
158
164
  Dimmer
159
165
  ---------------*/
160
166
 
161
- .pushable > .pusher:after {
167
+ .pushable > .pusher::after {
162
168
  position: fixed;
163
169
  top: 0;
164
170
  right: 0;
@@ -187,7 +193,7 @@ body.pushable > .pusher {
187
193
  Dimmed
188
194
  ---------------*/
189
195
 
190
- .pushable > .pusher.dimmed:after {
196
+ .pushable > .pusher.dimmed::after {
191
197
  width: 100% !important;
192
198
  height: 100% !important;
193
199
  opacity: 1 !important;
@@ -281,9 +287,11 @@ body.pushable > .pusher {
281
287
  width: @thinWidth;
282
288
  }
283
289
 
284
- .ui[class*="very thin"].left.sidebar,
285
- .ui[class*="very thin"].right.sidebar {
286
- width: @veryThinWidth;
290
+ & when (@variationSidebarVeryThin) {
291
+ .ui[class*="very thin"].left.sidebar,
292
+ .ui[class*="very thin"].right.sidebar {
293
+ width: @veryThinWidth;
294
+ }
287
295
  }
288
296
  }
289
297
 
@@ -298,9 +306,11 @@ body.pushable > .pusher {
298
306
  width: @wideWidth;
299
307
  }
300
308
 
301
- .ui[class*="very wide"].left.sidebar,
302
- .ui[class*="very wide"].right.sidebar {
303
- width: @veryWideWidth;
309
+ & when (@variationSidebarVeryWide) {
310
+ .ui[class*="very wide"].left.sidebar,
311
+ .ui[class*="very wide"].right.sidebar {
312
+ width: @veryWideWidth;
313
+ }
304
314
  }
305
315
  }
306
316
 
@@ -312,9 +322,11 @@ body.pushable > .pusher {
312
322
  transform: translate3d(@thinWidth, 0, 0);
313
323
  }
314
324
 
315
- .ui.visible[class*="very thin"].left.sidebar ~ .fixed,
316
- .ui.visible[class*="very thin"].left.sidebar ~ .pusher {
317
- transform: translate3d(@veryThinWidth, 0, 0);
325
+ & when (@variationSidebarVeryThin) {
326
+ .ui.visible[class*="very thin"].left.sidebar ~ .fixed,
327
+ .ui.visible[class*="very thin"].left.sidebar ~ .pusher {
328
+ transform: translate3d(@veryThinWidth, 0, 0);
329
+ }
318
330
  }
319
331
  }
320
332
 
@@ -324,9 +336,11 @@ body.pushable > .pusher {
324
336
  transform: translate3d(@wideWidth, 0, 0);
325
337
  }
326
338
 
327
- .ui.visible[class*="very wide"].left.sidebar ~ .fixed,
328
- .ui.visible[class*="very wide"].left.sidebar ~ .pusher {
329
- transform: translate3d(@veryWideWidth, 0, 0);
339
+ & when (@variationSidebarVeryWide) {
340
+ .ui.visible[class*="very wide"].left.sidebar ~ .fixed,
341
+ .ui.visible[class*="very wide"].left.sidebar ~ .pusher {
342
+ transform: translate3d(@veryWideWidth, 0, 0);
343
+ }
330
344
  }
331
345
  }
332
346
  }
@@ -339,9 +353,11 @@ body.pushable > .pusher {
339
353
  transform: translate3d(-@thinWidth, 0, 0);
340
354
  }
341
355
 
342
- .ui.visible[class*="very thin"].right.sidebar ~ .fixed,
343
- .ui.visible[class*="very thin"].right.sidebar ~ .pusher {
344
- transform: translate3d(-@veryThinWidth, 0, 0);
356
+ & when (@variationSidebarVeryThin) {
357
+ .ui.visible[class*="very thin"].right.sidebar ~ .fixed,
358
+ .ui.visible[class*="very thin"].right.sidebar ~ .pusher {
359
+ transform: translate3d(-@veryThinWidth, 0, 0);
360
+ }
345
361
  }
346
362
  }
347
363
 
@@ -351,9 +367,11 @@ body.pushable > .pusher {
351
367
  transform: translate3d(-@wideWidth, 0, 0);
352
368
  }
353
369
 
354
- .ui.visible[class*="very wide"].right.sidebar ~ .fixed,
355
- .ui.visible[class*="very wide"].right.sidebar ~ .pusher {
356
- transform: translate3d(-@veryWideWidth, 0, 0);
370
+ & when (@variationSidebarVeryWide) {
371
+ .ui.visible[class*="very wide"].right.sidebar ~ .fixed,
372
+ .ui.visible[class*="very wide"].right.sidebar ~ .pusher {
373
+ transform: translate3d(-@veryWideWidth, 0, 0);
374
+ }
357
375
  }
358
376
  }
359
377
  }