card 1.96.2 → 1.96.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/config/initializers/patches.rb +1 -1
  4. data/db/migrate_core_cards/20130823192433_add_style_cards.rb +1 -1
  5. data/db/migrate_core_cards/20170314175313_add_notification_event_card.rb +2 -3
  6. data/db/migrate_core_cards/data/1.11_help_text.json +16 -16
  7. data/db/migrate_core_cards/data/1.13_config_text.json +2 -2
  8. data/db/migrate_core_cards/data/1.14_config_descriptions_etc.json +12 -12
  9. data/db/migrate_core_cards/data/bootstrap_layout.json +1 -1
  10. data/db/seed/new/card_actions.yml +799 -799
  11. data/db/seed/new/card_acts.yml +2 -2
  12. data/db/seed/new/cards.yml +1610 -1610
  13. data/db/seed/new/schema_migrations.yml +8 -10
  14. data/db/seed/test/fixtures/card_actions.yml +1789 -1789
  15. data/db/seed/test/fixtures/card_acts.yml +447 -447
  16. data/db/seed/test/fixtures/card_changes.yml +66 -66
  17. data/db/seed/test/fixtures/card_references.yml +575 -575
  18. data/db/seed/test/fixtures/cards.yml +2612 -2612
  19. data/db/seed/test/seed.rb +2 -1
  20. data/lib/card/format/error.rb +12 -6
  21. data/lib/card/model/save_helper.rb +2 -1
  22. data/lib/card/query.rb +1 -1
  23. data/lib/card/set.rb +22 -12
  24. data/lib/card/view/cache.rb +3 -3
  25. data/lib/cardio.rb +3 -1
  26. data/mod/ace_editor/db/migrate_core_cards/20160804112538_add_ace_cards.rb +1 -1
  27. data/mod/basic_formats/set/all/base.rb +16 -2
  28. data/mod/basic_formats/set/all/json.rb +16 -14
  29. data/mod/bootstrap/lib/stylesheets/style_bootstrap_cards.scss +54 -4
  30. data/mod/bootstrap/vendor/bootstrap/Gemfile +3 -3
  31. data/mod/bootstrap/vendor/bootstrap/Gemfile.lock +15 -15
  32. data/mod/bootstrap/vendor/bootstrap/README.md +36 -30
  33. data/mod/bootstrap/vendor/bootstrap/_config.yml +12 -30
  34. data/mod/bootstrap/vendor/bootstrap/build/build-plugins.js +81 -0
  35. data/mod/bootstrap/vendor/bootstrap/build/generate-sri.js +2 -2
  36. data/mod/bootstrap/vendor/bootstrap/build/workbox.config.json +1 -1
  37. data/mod/bootstrap/vendor/bootstrap/build/workbox.js +1 -1
  38. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.css +1 -1
  39. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.css.map +1 -1
  40. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.min.css +1 -1
  41. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-grid.min.css.map +1 -1
  42. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.css +5 -4
  43. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.css.map +1 -1
  44. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.min.css +2 -2
  45. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap-reboot.min.css.map +1 -1
  46. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.css +145 -96
  47. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.css.map +1 -1
  48. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.min.css +2 -2
  49. data/mod/bootstrap/vendor/bootstrap/dist/css/bootstrap.min.css.map +1 -1
  50. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.js +123 -106
  51. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
  52. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  53. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
  54. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.js +123 -106
  55. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.js.map +1 -1
  56. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.min.js +2 -2
  57. data/mod/bootstrap/vendor/bootstrap/dist/js/bootstrap.min.js.map +1 -1
  58. data/mod/bootstrap/vendor/bootstrap/js/dist/alert.js +160 -134
  59. data/mod/bootstrap/vendor/bootstrap/js/dist/alert.js.map +1 -1
  60. data/mod/bootstrap/vendor/bootstrap/js/dist/button.js +150 -125
  61. data/mod/bootstrap/vendor/bootstrap/js/dist/button.js.map +1 -1
  62. data/mod/bootstrap/vendor/bootstrap/js/dist/carousel.js +465 -406
  63. data/mod/bootstrap/vendor/bootstrap/js/dist/carousel.js.map +1 -1
  64. data/mod/bootstrap/vendor/bootstrap/js/dist/collapse.js +338 -274
  65. data/mod/bootstrap/vendor/bootstrap/js/dist/collapse.js.map +1 -1
  66. data/mod/bootstrap/vendor/bootstrap/js/dist/dropdown.js +442 -379
  67. data/mod/bootstrap/vendor/bootstrap/js/dist/dropdown.js.map +1 -1
  68. data/mod/bootstrap/vendor/bootstrap/js/dist/index.js +1 -1
  69. data/mod/bootstrap/vendor/bootstrap/js/dist/index.js.map +1 -1
  70. data/mod/bootstrap/vendor/bootstrap/js/dist/modal.js +503 -454
  71. data/mod/bootstrap/vendor/bootstrap/js/dist/modal.js.map +1 -1
  72. data/mod/bootstrap/vendor/bootstrap/js/dist/popover.js +224 -164
  73. data/mod/bootstrap/vendor/bootstrap/js/dist/popover.js.map +1 -1
  74. data/mod/bootstrap/vendor/bootstrap/js/dist/scrollspy.js +308 -248
  75. data/mod/bootstrap/vendor/bootstrap/js/dist/scrollspy.js.map +1 -1
  76. data/mod/bootstrap/vendor/bootstrap/js/dist/tab.js +218 -191
  77. data/mod/bootstrap/vendor/bootstrap/js/dist/tab.js.map +1 -1
  78. data/mod/bootstrap/vendor/bootstrap/js/dist/tooltip.js +584 -524
  79. data/mod/bootstrap/vendor/bootstrap/js/dist/tooltip.js.map +1 -1
  80. data/mod/bootstrap/vendor/bootstrap/js/dist/util.js +130 -118
  81. data/mod/bootstrap/vendor/bootstrap/js/dist/util.js.map +1 -1
  82. data/mod/bootstrap/vendor/bootstrap/js/src/alert.js +3 -3
  83. data/mod/bootstrap/vendor/bootstrap/js/src/button.js +7 -7
  84. data/mod/bootstrap/vendor/bootstrap/js/src/carousel.js +16 -13
  85. data/mod/bootstrap/vendor/bootstrap/js/src/collapse.js +25 -21
  86. data/mod/bootstrap/vendor/bootstrap/js/src/dropdown.js +16 -9
  87. data/mod/bootstrap/vendor/bootstrap/js/src/index.js +1 -1
  88. data/mod/bootstrap/vendor/bootstrap/js/src/modal.js +30 -30
  89. data/mod/bootstrap/vendor/bootstrap/js/src/popover.js +2 -2
  90. data/mod/bootstrap/vendor/bootstrap/js/src/scrollspy.js +12 -9
  91. data/mod/bootstrap/vendor/bootstrap/js/src/tab.js +5 -4
  92. data/mod/bootstrap/vendor/bootstrap/js/src/tooltip.js +11 -9
  93. data/mod/bootstrap/vendor/bootstrap/js/src/util.js +2 -3
  94. data/mod/bootstrap/vendor/bootstrap/js/tests/index.html +4 -4
  95. data/mod/bootstrap/vendor/bootstrap/js/tests/karma-bundle.conf.js +2 -2
  96. data/mod/bootstrap/vendor/bootstrap/js/tests/karma.conf.js +7 -2
  97. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/alert.js +1 -0
  98. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/button.js +1 -0
  99. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/carousel.js +1 -0
  100. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/collapse.js +1 -0
  101. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/dropdown.js +69 -0
  102. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/modal.js +3 -43
  103. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/popover.js +1 -0
  104. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/scrollspy.js +1 -0
  105. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/tab.js +1 -0
  106. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/tooltip.js +24 -40
  107. data/mod/bootstrap/vendor/bootstrap/js/tests/unit/util.js +5 -1
  108. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/alert.html +1 -1
  109. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/button.html +1 -1
  110. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/carousel.html +1 -2
  111. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/collapse.html +15 -1
  112. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/dropdown.html +2 -2
  113. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/modal.html +8 -8
  114. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/popover.html +2 -2
  115. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/scrollspy.html +1 -2
  116. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/tab.html +3 -2
  117. data/mod/bootstrap/vendor/bootstrap/js/tests/visual/tooltip.html +35 -23
  118. data/mod/bootstrap/vendor/bootstrap/nuget/bootstrap.nuspec +5 -1
  119. data/mod/bootstrap/vendor/bootstrap/nuget/bootstrap.sass.nuspec +5 -1
  120. data/mod/bootstrap/vendor/bootstrap/package-lock.json +5397 -7292
  121. data/mod/bootstrap/vendor/bootstrap/package.js +1 -1
  122. data/mod/bootstrap/vendor/bootstrap/package.json +63 -64
  123. data/mod/bootstrap/vendor/bootstrap/scss/_buttons.scss +0 -1
  124. data/mod/bootstrap/vendor/bootstrap/scss/_carousel.scss +1 -1
  125. data/mod/bootstrap/vendor/bootstrap/scss/_close.scss +8 -7
  126. data/mod/bootstrap/vendor/bootstrap/scss/_custom-forms.scss +32 -20
  127. data/mod/bootstrap/vendor/bootstrap/scss/_forms.scss +13 -15
  128. data/mod/bootstrap/vendor/bootstrap/scss/_functions.scss +1 -1
  129. data/mod/bootstrap/vendor/bootstrap/scss/_input-group.scss +22 -7
  130. data/mod/bootstrap/vendor/bootstrap/scss/_modal.scss +18 -6
  131. data/mod/bootstrap/vendor/bootstrap/scss/_navbar.scss +2 -2
  132. data/mod/bootstrap/vendor/bootstrap/scss/_reboot.scss +5 -2
  133. data/mod/bootstrap/vendor/bootstrap/scss/_tables.scss +0 -1
  134. data/mod/bootstrap/vendor/bootstrap/scss/_variables.scss +88 -65
  135. data/mod/bootstrap/vendor/bootstrap/scss/bootstrap-grid.scss +1 -1
  136. data/mod/bootstrap/vendor/bootstrap/scss/bootstrap-reboot.scss +1 -1
  137. data/mod/bootstrap/vendor/bootstrap/scss/bootstrap.scss +1 -1
  138. data/mod/bootstrap/vendor/bootstrap/scss/mixins/_breakpoints.scss +1 -1
  139. data/mod/bootstrap/vendor/bootstrap/scss/mixins/_forms.scss +7 -7
  140. data/mod/bootstrap/vendor/bootstrap/scss/mixins/_hover.scss +1 -1
  141. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/breakpoints.yml +0 -0
  142. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/browser-bugs.yml +5 -5
  143. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/browser-features.yml +0 -0
  144. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/colors.yml +0 -0
  145. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/examples.yml +0 -0
  146. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/grays.yml +0 -0
  147. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/nav.yml +0 -0
  148. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/theme-colors.yml +0 -0
  149. data/mod/bootstrap/vendor/bootstrap/{_data → site/_data}/translations.yml +0 -0
  150. data/mod/bootstrap/vendor/bootstrap/site/_includes/ads.html +1 -0
  151. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/bugify.html +0 -0
  152. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-danger-async-methods.md +0 -0
  153. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-info-mediaqueries-breakpoints.md +0 -0
  154. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout-warning-color-assistive-technologies.md +0 -0
  155. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/callout.html +0 -0
  156. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/docs-navbar.html +1 -4
  157. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/docs-sidebar.html +0 -0
  158. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/example.html +0 -0
  159. data/mod/bootstrap/vendor/bootstrap/site/_includes/favicons.html +9 -0
  160. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/footer.html +0 -0
  161. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/header.html +5 -7
  162. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/bootstrap.svg +0 -0
  163. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/download.svg +0 -0
  164. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/github.svg +0 -0
  165. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/import.svg +0 -0
  166. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/lightning.svg +0 -0
  167. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/menu.svg +0 -0
  168. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/slack.svg +0 -0
  169. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/icons/twitter.svg +0 -0
  170. data/mod/bootstrap/vendor/bootstrap/site/_includes/scripts.html +26 -0
  171. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/skippy.html +0 -0
  172. data/mod/bootstrap/vendor/bootstrap/{_includes → site/_includes}/social.html +0 -0
  173. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/default.html +0 -0
  174. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/docs.html +0 -0
  175. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/examples.html +0 -0
  176. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/home.html +0 -0
  177. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/redirect.html +1 -1
  178. data/mod/bootstrap/vendor/bootstrap/{_layouts → site/_layouts}/simple.html +0 -0
  179. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/brand.md +5 -5
  180. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/license.md +0 -0
  181. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/overview.md +0 -0
  182. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/about/translations.md +0 -0
  183. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-outline.svg +4 -0
  184. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-punchout.svg +4 -0
  185. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/brand/bootstrap-social-logo.png +0 -0
  186. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/brand/bootstrap-social.png +0 -0
  187. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/brand/bootstrap-solid.svg +4 -0
  188. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/css/docs.min.css +0 -0
  189. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/css/docs.min.css.map +1 -0
  190. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/bootstrap-stack.png +0 -0
  191. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/bootstrap-themes.png +0 -0
  192. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/android-chrome-192x192.png +0 -0
  193. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/android-chrome-512x512.png +0 -0
  194. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/apple-touch-icon.png +0 -0
  195. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/browserconfig.xml +1 -1
  196. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/favicon-16x16.png +0 -0
  197. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/favicon-32x32.png +0 -0
  198. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/manifest.json +2 -2
  199. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-144x144.png +0 -0
  200. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-150x150.png +0 -0
  201. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-310x150.png +0 -0
  202. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-310x310.png +0 -0
  203. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/img/favicons/mstile-70x70.png +0 -0
  204. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg +4 -0
  205. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/docs.min.js +0 -0
  206. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/application.js +0 -0
  207. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/ie-emulation-modes-warning.js +0 -0
  208. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/pwa.js +0 -0
  209. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/src/search.js +0 -0
  210. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/anchor.min.js +0 -0
  211. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/clipboard.min.js +0 -0
  212. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/holder.min.js +0 -0
  213. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/jquery-slim.min.js +0 -0
  214. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/js/vendor/popper.min.js +0 -0
  215. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_ads.scss +0 -0
  216. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_algolia.scss +0 -0
  217. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_anchor.scss +0 -0
  218. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_brand.scss +0 -0
  219. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_browser-bugs.scss +0 -0
  220. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_buttons.scss +0 -0
  221. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_callouts.scss +0 -0
  222. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_clipboard-js.scss +0 -0
  223. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_colors.scss +0 -0
  224. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_component-examples.scss +0 -0
  225. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_content.scss +0 -0
  226. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_examples.scss +0 -0
  227. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_footer.scss +0 -0
  228. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_masthead.scss +0 -0
  229. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_nav.scss +0 -0
  230. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_sidebar.scss +0 -0
  231. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_skiplink.scss +0 -0
  232. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_syntax.scss +0 -0
  233. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/_variables.scss +0 -0
  234. data/mod/bootstrap/vendor/bootstrap/{assets → site/docs/4.1/assets}/scss/docs.scss +3 -3
  235. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/browser-bugs.md +0 -0
  236. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/alerts.md +0 -0
  237. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/badge.md +0 -0
  238. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/breadcrumb.md +0 -0
  239. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/button-group.md +0 -0
  240. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/buttons.md +0 -0
  241. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/card.md +2 -2
  242. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/carousel.md +0 -0
  243. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/collapse.md +0 -0
  244. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/dropdowns.md +3 -2
  245. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/forms.md +17 -17
  246. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/input-group.md +27 -27
  247. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/jumbotron.md +0 -0
  248. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/list-group.md +0 -0
  249. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/modal.md +0 -0
  250. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/navbar.md +3 -3
  251. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/navs.md +0 -0
  252. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/pagination.md +0 -0
  253. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/popovers.md +2 -2
  254. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/progress.md +0 -0
  255. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/scrollspy.md +0 -0
  256. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/components/tooltips.md +11 -0
  257. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/code.md +0 -0
  258. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/figures.md +0 -0
  259. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/images.md +0 -0
  260. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/reboot.md +0 -0
  261. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/tables.md +16 -5
  262. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/content/typography.md +0 -0
  263. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/album/album.css +0 -2
  264. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/album/index.html +15 -15
  265. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/blog/blog.css +0 -5
  266. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/blog/index.html +7 -7
  267. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/carousel/carousel.css +0 -0
  268. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/carousel/index.html +5 -5
  269. data/mod/bootstrap/vendor/bootstrap/site/docs/4.1/examples/checkout/form-validation.css +5 -0
  270. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/checkout/index.html +6 -6
  271. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/cover/cover.css +0 -0
  272. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/cover/index.html +4 -4
  273. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/dashboard/dashboard.css +0 -7
  274. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/dashboard/index.html +4 -4
  275. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/floating-labels/floating-labels.css +23 -0
  276. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/floating-labels/index.html +2 -2
  277. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/grid/grid.css +0 -0
  278. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/grid/index.html +9 -9
  279. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/index.html +0 -0
  280. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/jumbotron/index.html +4 -4
  281. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/jumbotron/jumbotron.css +0 -0
  282. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-bottom/index.html +4 -4
  283. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-fixed/index.html +4 -4
  284. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-fixed/navbar-top-fixed.css +0 -0
  285. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-static/index.html +4 -4
  286. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbar-static/navbar-top.css +0 -0
  287. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbars/index.html +4 -4
  288. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/navbars/navbar.css +0 -0
  289. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/index.html +10 -10
  290. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/offcanvas.css +0 -4
  291. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/offcanvas/offcanvas.js +0 -0
  292. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/pricing/index.html +10 -10
  293. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/pricing/pricing.css +0 -5
  294. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/product/index.html +15 -15
  295. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/product/product.css +0 -5
  296. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/album.png +0 -0
  297. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/blog.png +0 -0
  298. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/carousel.png +0 -0
  299. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/checkout.png +0 -0
  300. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/cover.png +0 -0
  301. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/dashboard.png +0 -0
  302. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/floating-labels.png +0 -0
  303. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/grid.png +0 -0
  304. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/jumbotron.png +0 -0
  305. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-bottom.png +0 -0
  306. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-fixed.png +0 -0
  307. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbar-static.png +0 -0
  308. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/navbars.png +0 -0
  309. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/offcanvas.png +0 -0
  310. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/pricing.png +0 -0
  311. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/product.png +0 -0
  312. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sign-in.png +0 -0
  313. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/starter-template.png +0 -0
  314. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sticky-footer-navbar.png +0 -0
  315. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/screenshots/sticky-footer.png +0 -0
  316. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sign-in/index.html +2 -2
  317. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sign-in/signin.css +0 -0
  318. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/starter-template/index.html +4 -4
  319. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/starter-template/starter-template.css +0 -0
  320. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer-navbar/index.html +4 -4
  321. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css +0 -0
  322. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer/index.html +1 -1
  323. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/sticky-footer/sticky-footer.css +0 -0
  324. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/index.html +4 -4
  325. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/tooltip-viewport.css +0 -0
  326. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/examples/tooltip-viewport/tooltip-viewport.js +0 -0
  327. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/approach.md +0 -0
  328. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/icons.md +1 -1
  329. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/extend/index.md +0 -0
  330. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/accessibility.md +0 -0
  331. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/best-practices.md +0 -0
  332. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/browsers-devices.md +0 -0
  333. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/build-tools.md +1 -1
  334. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/contents.md +12 -8
  335. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/download.md +0 -0
  336. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/introduction.md +2 -0
  337. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/javascript.md +3 -1
  338. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/theming.md +16 -16
  339. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/getting-started/webpack.md +1 -6
  340. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/grid.md +1 -1
  341. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/media-object.md +0 -0
  342. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/overview.md +0 -0
  343. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/layout/utilities-for-layout.md +0 -0
  344. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/migration.md +0 -0
  345. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/borders.md +0 -0
  346. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/clearfix.md +0 -0
  347. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/close-icon.md +0 -0
  348. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/colors.md +1 -1
  349. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/display.md +0 -0
  350. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/embed.md +0 -0
  351. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/flex.md +0 -0
  352. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/float.md +0 -0
  353. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/image-replacement.md +1 -1
  354. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/position.md +0 -0
  355. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/screenreaders.md +0 -0
  356. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/shadows.md +1 -1
  357. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/sizing.md +0 -0
  358. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/spacing.md +0 -0
  359. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/text.md +0 -0
  360. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/vertical-align.md +0 -0
  361. data/mod/bootstrap/vendor/bootstrap/{docs → site/docs}/4.1/utilities/visibility.md +1 -1
  362. data/mod/bootstrap/vendor/bootstrap/{favicon.ico → site/favicon.ico} +0 -0
  363. data/mod/bootstrap/vendor/bootstrap/{index.html → site/index.html} +2 -2
  364. data/mod/bootstrap/vendor/bootstrap/{robots.txt → site/robots.txt} +0 -0
  365. data/mod/bootstrap/vendor/bootstrap/{sw.js → site/sw.js} +1 -1
  366. data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +1 -1
  367. data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +5 -8
  368. data/mod/carrierwave/template/type/file/file_chooser.haml +1 -1
  369. data/mod/core/set/abstract/code_file.rb +4 -0
  370. data/mod/core/set/all/haml.rb +2 -2
  371. data/mod/follow/spec/set/all/notify_spec.rb +2 -1
  372. data/mod/google_analytics/set/all/google_analytics.rb +5 -3
  373. data/mod/item/set/all/bar.haml +6 -3
  374. data/mod/item/set/all/bar.rb +27 -12
  375. data/mod/item/set/all/box.haml +4 -3
  376. data/mod/item/set/all/box.rb +1 -1
  377. data/mod/item/set/all/expanded_bar.haml +8 -6
  378. data/mod/item/spec/set/all/bar_spec.rb +3 -3
  379. data/mod/machines/lib/javascript/decko_filter.js.coffee +5 -1
  380. data/mod/machines/lib/stylesheets/style_cards.scss +16 -24
  381. data/mod/pointer/set/abstract/01_paging.rb +4 -4
  382. data/mod/pointer/set/abstract/02_pointer/options_api.rb +10 -12
  383. data/mod/prosemirror_editor/db/migrate_core_cards/20160804112548_add_prosemirror_cards.rb +1 -1
  384. data/mod/search/set/abstract/search.rb +9 -6
  385. data/mod/search/set/abstract/wql_search.rb +20 -5
  386. data/mod/search/set/self/search.rb +1 -1
  387. data/mod/standard/set/all/error.rb +15 -0
  388. data/mod/standard/set/all/rich_html/content.rb +30 -21
  389. data/mod/standard/set/all/rich_html/content/labeled.haml +4 -0
  390. data/mod/standard/set/all/rich_html/error.rb +11 -12
  391. data/mod/standard/set/all/rich_html/title.rb +1 -1
  392. data/mod/standard/spec/content/chunk/include_spec.rb +1 -1
  393. data/mod/standard/spec/set/all/error_spec.rb +1 -1
  394. data/mod/standard/spec/set/type/email_template/email_config_spec.rb +10 -9
  395. data/mod/standard/spec/set/type/uri_spec.rb +7 -7
  396. data/mod/tinymce_editor/db/migrate_core_cards/20160804112560_add_tinymce_cards.rb +1 -1
  397. data/mod/utility/set/abstract/bs_badge/labeled_badge.haml +1 -1
  398. data/mod/utility/set/abstract/media/media_snippet.haml +1 -2
  399. metadata +231 -230
  400. data/mod/bootstrap/vendor/bootstrap/_includes/ads.html +0 -1
  401. data/mod/bootstrap/vendor/bootstrap/_includes/favicons.html +0 -9
  402. data/mod/bootstrap/vendor/bootstrap/_includes/scripts.html +0 -26
  403. data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-outline.svg +0 -6
  404. data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-punchout.svg +0 -6
  405. data/mod/bootstrap/vendor/bootstrap/assets/brand/bootstrap-solid.svg +0 -6
  406. data/mod/bootstrap/vendor/bootstrap/assets/css/docs.min.css.map +0 -1
  407. data/mod/bootstrap/vendor/bootstrap/assets/img/favicons/safari-pinned-tab.svg +0 -20
  408. data/mod/bootstrap/vendor/bootstrap/build/upload-preview.sh +0 -13
  409. data/mod/bootstrap/vendor/bootstrap/docs/4.1/examples/checkout/form-validation.css +0 -11
@@ -2,7 +2,7 @@
2
2
  /* eslint no-process-env: 0 */
3
3
 
4
4
  module.exports = (config) => {
5
- const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'assets/js/vendor/jquery-slim.min.js'
5
+ const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
6
6
 
7
7
  config.set({
8
8
  basePath: '../..',
@@ -17,7 +17,7 @@ module.exports = (config) => {
17
17
  // list of files / patterns to load in the browser
18
18
  files: [
19
19
  jqueryFile,
20
- 'assets/js/vendor/popper.min.js',
20
+ 'site/docs/4.1/assets/js/vendor/popper.min.js',
21
21
  'dist/js/bootstrap.js',
22
22
  'js/tests/unit/*.js'
23
23
  ],
@@ -4,7 +4,7 @@ const path = require('path')
4
4
  const jsCoveragePath = path.resolve(__dirname, '../coverage')
5
5
 
6
6
  module.exports = (config) => {
7
- const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'assets/js/vendor/jquery-slim.min.js'
7
+ const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
8
8
 
9
9
  config.set({
10
10
  basePath: '../..',
@@ -20,7 +20,7 @@ module.exports = (config) => {
20
20
  // list of files / patterns to load in the browser
21
21
  files: [
22
22
  jqueryFile,
23
- 'assets/js/vendor/popper.min.js',
23
+ 'site/docs/4.1/assets/js/vendor/popper.min.js',
24
24
  'js/coverage/dist/util.js',
25
25
  'js/coverage/dist/tooltip.js',
26
26
  'js/coverage/dist/!(util|index|tooltip).js', // include all of our js/dist files except util.js, index.js and tooltip.js
@@ -66,6 +66,11 @@ module.exports = (config) => {
66
66
  lines: 90
67
67
  }
68
68
  }
69
+ },
70
+ client: {
71
+ qunit: {
72
+ showUI: true
73
+ }
69
74
  }
70
75
  })
71
76
  }
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.alert = $.fn.bootstrapAlert
18
18
  delete $.fn.bootstrapAlert
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.button = $.fn.bootstrapButton
18
18
  delete $.fn.bootstrapButton
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.carousel = $.fn.bootstrapCarousel
18
18
  delete $.fn.bootstrapCarousel
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.collapse = $.fn.bootstrapCollapse
18
18
  delete $.fn.bootstrapCollapse
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.dropdown = $.fn.bootstrapDropdown
18
18
  delete $.fn.bootstrapDropdown
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -498,6 +499,74 @@ $(function () {
498
499
  $dropdown.trigger('click')
499
500
  })
500
501
 
502
+ QUnit.test('should fire hide and hidden event with a clickEvent', function (assert) {
503
+ assert.expect(3)
504
+ var dropdownHTML = '<div class="tabs">' +
505
+ '<div class="dropdown">' +
506
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' +
507
+ '<div class="dropdown-menu">' +
508
+ '<a class="dropdown-item" href="#">Secondary link</a>' +
509
+ '<a class="dropdown-item" href="#">Something else here</a>' +
510
+ '<div class="divider"/>' +
511
+ '<a class="dropdown-item" href="#">Another link</a>' +
512
+ '</div>' +
513
+ '</div>' +
514
+ '</div>'
515
+ var $dropdown = $(dropdownHTML)
516
+ .appendTo('#qunit-fixture')
517
+ .find('[data-toggle="dropdown"]')
518
+ .bootstrapDropdown()
519
+
520
+ $dropdown.parent('.dropdown')
521
+ .on('hide.bs.dropdown', function (e) {
522
+ assert.ok(e.clickEvent)
523
+ })
524
+ .on('hidden.bs.dropdown', function (e) {
525
+ assert.ok(e.clickEvent)
526
+ })
527
+ .on('shown.bs.dropdown', function () {
528
+ assert.ok(true, 'shown was fired')
529
+ $(document.body).trigger('click')
530
+ })
531
+
532
+ $dropdown.trigger('click')
533
+ })
534
+
535
+ QUnit.test('should fire hide and hidden event without a clickEvent if event type is not click', function (assert) {
536
+ assert.expect(3)
537
+ var dropdownHTML = '<div class="tabs">' +
538
+ '<div class="dropdown">' +
539
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>' +
540
+ '<div class="dropdown-menu">' +
541
+ '<a class="dropdown-item" href="#">Secondary link</a>' +
542
+ '<a class="dropdown-item" href="#">Something else here</a>' +
543
+ '<div class="divider"/>' +
544
+ '<a class="dropdown-item" href="#">Another link</a>' +
545
+ '</div>' +
546
+ '</div>' +
547
+ '</div>'
548
+ var $dropdown = $(dropdownHTML)
549
+ .appendTo('#qunit-fixture')
550
+ .find('[data-toggle="dropdown"]')
551
+ .bootstrapDropdown()
552
+
553
+ $dropdown.parent('.dropdown')
554
+ .on('hide.bs.dropdown', function (e) {
555
+ assert.notOk(e.clickEvent)
556
+ })
557
+ .on('hidden.bs.dropdown', function (e) {
558
+ assert.notOk(e.clickEvent)
559
+ })
560
+ .on('shown.bs.dropdown', function () {
561
+ assert.ok(true, 'shown was fired')
562
+ $dropdown.trigger($.Event('keydown', {
563
+ which: 27
564
+ }))
565
+ })
566
+
567
+ $dropdown.trigger('click')
568
+ })
569
+
501
570
  QUnit.test('should ignore keyboard events within <input>s and <textarea>s', function (assert) {
502
571
  assert.expect(3)
503
572
  var done = assert.async()
@@ -21,7 +21,8 @@ $(function () {
21
21
  document.body.removeChild(scrollDiv)
22
22
  return scrollbarWidth
23
23
  }
24
- // Simulate scrollbars in PhantomJS
24
+
25
+ // Simulate scrollbars
25
26
  $('html').css('padding-right', '16px')
26
27
  },
27
28
  beforeEach: function () {
@@ -33,6 +34,7 @@ $(function () {
33
34
  $(document.body).removeClass('modal-open')
34
35
  $.fn.modal = $.fn.bootstrapModal
35
36
  delete $.fn.bootstrapModal
37
+ $('#qunit-fixture').html('')
36
38
  }
37
39
  })
38
40
 
@@ -520,48 +522,6 @@ $(function () {
520
522
  .bootstrapModal('show')
521
523
  })
522
524
 
523
- QUnit.test('should adjust the inline margin of the navbar-toggler when opening and restore when closing', function (assert) {
524
- assert.expect(2)
525
- var done = assert.async()
526
- var $element = $('<div class="navbar-toggler"></div>').appendTo('#qunit-fixture')
527
- var originalMargin = $element.css('margin-right')
528
-
529
- $('<div id="modal-test"/>')
530
- .on('hidden.bs.modal', function () {
531
- var currentMargin = $element.css('margin-right')
532
- assert.strictEqual(currentMargin, originalMargin, 'navbar-toggler margin should be reset after closing')
533
- $element.remove()
534
- done()
535
- })
536
- .on('shown.bs.modal', function () {
537
- var expectedMargin = parseFloat(originalMargin) + $(this).getScrollbarWidth() + 'px'
538
- var currentMargin = $element.css('margin-right')
539
- assert.strictEqual(currentMargin, expectedMargin, 'navbar-toggler margin should be adjusted while opening')
540
- $(this).bootstrapModal('hide')
541
- })
542
- .bootstrapModal('show')
543
- })
544
-
545
- QUnit.test('should store the original margin of the navbar-toggler in data-margin-right before showing', function (assert) {
546
- assert.expect(2)
547
- var done = assert.async()
548
- var $element = $('<div class="navbar-toggler"></div>').appendTo('#qunit-fixture')
549
- var originalMargin = '0px'
550
- $element.css('margin-right', originalMargin)
551
-
552
- $('<div id="modal-test"/>')
553
- .on('hidden.bs.modal', function () {
554
- assert.strictEqual(typeof $element.data('margin-right'), 'undefined', 'data-margin-right should be cleared after closing')
555
- $element.remove()
556
- done()
557
- })
558
- .on('shown.bs.modal', function () {
559
- assert.strictEqual($element.data('margin-right'), originalMargin, 'original navbar-toggler margin should be stored in data-margin-right')
560
- $(this).bootstrapModal('hide')
561
- })
562
- .bootstrapModal('show')
563
- })
564
-
565
525
  QUnit.test('should ignore values set via CSS when trying to restore body padding after closing', function (assert) {
566
526
  assert.expect(1)
567
527
  var done = assert.async()
@@ -17,6 +17,7 @@ $(function () {
17
17
  $.fn.popover = $.fn.bootstrapPopover
18
18
  delete $.fn.bootstrapPopover
19
19
  $('.popover').remove()
20
+ $('#qunit-fixture').html('')
20
21
  }
21
22
  })
22
23
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.scrollspy = $.fn.bootstrapScrollspy
18
18
  delete $.fn.bootstrapScrollspy
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -16,6 +16,7 @@ $(function () {
16
16
  afterEach: function () {
17
17
  $.fn.tab = $.fn.bootstrapTab
18
18
  delete $.fn.bootstrapTab
19
+ $('#qunit-fixture').html('')
19
20
  }
20
21
  })
21
22
 
@@ -17,6 +17,7 @@ $(function () {
17
17
  $.fn.tooltip = $.fn.bootstrapTooltip
18
18
  delete $.fn.bootstrapTooltip
19
19
  $('.tooltip').remove()
20
+ $('#qunit-fixture').html('')
20
21
  }
21
22
  })
22
23
 
@@ -522,46 +523,6 @@ $(function () {
522
523
  assert.ok(passed, '.tooltip(\'show\') should not throw an error if element no longer is in dom')
523
524
  })
524
525
 
525
- QUnit.test('should place tooltip on top of element', function (assert) {
526
- assert.expect(1)
527
- var done = assert.async()
528
-
529
- var containerHTML = '<div id="test">' +
530
- '<p style="margin-top: 200px">' +
531
- '<a href="#" title="very very very very very very very long tooltip">Hover me</a>' +
532
- '</p>' +
533
- '</div>'
534
-
535
- var $container = $(containerHTML)
536
- .css({
537
- position: 'absolute',
538
- bottom: 0,
539
- left: 0,
540
- textAlign: 'right',
541
- width: 300,
542
- height: 300
543
- })
544
- .appendTo('#qunit-fixture')
545
-
546
- $container
547
- .find('a')
548
- .css('margin-top', 200)
549
- .bootstrapTooltip({
550
- placement: 'top',
551
- animate: false
552
- })
553
- .on('shown.bs.tooltip', function () {
554
- var $tooltip = $($(this).data('bs.tooltip').tip)
555
- if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
556
- assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) <= Math.round($(this).offset().top))
557
- } else {
558
- assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) >= Math.round($(this).offset().top))
559
- }
560
- done()
561
- })
562
- .bootstrapTooltip('show')
563
- })
564
-
565
526
  QUnit.test('should show tooltip if leave event hasn\'t occurred before delay expires', function (assert) {
566
527
  assert.expect(2)
567
528
  var done = assert.async()
@@ -982,4 +943,27 @@ $(function () {
982
943
 
983
944
  assert.ok(tooltip._popper === null)
984
945
  })
946
+
947
+ QUnit.test('should use Popper.js to get the tip on placement change', function (assert) {
948
+ assert.expect(1)
949
+
950
+ var $tooltip = $('<a href="#" rel="tooltip" data-trigger="click" title="Another tooltip"/>')
951
+ .appendTo('#qunit-fixture')
952
+ .bootstrapTooltip()
953
+
954
+ var $tipTest = $('<div class="bs-tooltip" />')
955
+ .appendTo('#qunit-fixture')
956
+
957
+ var tooltip = $tooltip.data('bs.tooltip')
958
+ tooltip.tip = null
959
+
960
+ tooltip._handlePopperPlacementChange({
961
+ instance: {
962
+ popper: $tipTest[0]
963
+ },
964
+ placement: 'auto'
965
+ })
966
+
967
+ assert.ok(tooltip.tip === $tipTest[0])
968
+ })
985
969
  })
@@ -3,7 +3,11 @@ $(function () {
3
3
 
4
4
  window.Util = typeof bootstrap !== 'undefined' ? bootstrap.Util : Util
5
5
 
6
- QUnit.module('util')
6
+ QUnit.module('util', {
7
+ afterEach: function () {
8
+ $('#qunit-fixture').html('')
9
+ }
10
+ })
7
11
 
8
12
  QUnit.test('Util.getSelectorFromElement should return the correct element', function (assert) {
9
13
  assert.expect(2)
@@ -51,7 +51,7 @@
51
51
  </div>
52
52
  </div>
53
53
 
54
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
54
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
55
55
  <script src="../../dist/util.js"></script>
56
56
  <script src="../../dist/alert.js"></script>
57
57
  </body>
@@ -44,7 +44,7 @@
44
44
  </div>
45
45
  </div>
46
46
 
47
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
47
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
48
48
  <script src="../../dist/util.js"></script>
49
49
  <script src="../../dist/button.js"></script>
50
50
  </body>
@@ -45,10 +45,9 @@
45
45
  </div>
46
46
  </div>
47
47
 
48
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
48
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
49
49
  <script src="../../dist/util.js"></script>
50
50
  <script src="../../dist/carousel.js"></script>
51
-
52
51
  <script>
53
52
  $(function() {
54
53
  var t0, t1;
@@ -54,10 +54,24 @@
54
54
  </div>
55
55
  </div>
56
56
  </div>
57
+ <div class="card">
58
+ <div class="card-header" role="tab" id="headingFour">
59
+ <h5 class="mb-0">
60
+ <a class="collapsed" data-toggle="collapse" href="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
61
+ Collapsible Group Item with XSS in data-parent
62
+ </a>
63
+ </h5>
64
+ </div>
65
+ <div id="collapseFour" class="collapse" data-parent="<img src=1 onerror=alert(123) />" role="tabpanel" aria-labelledby="headingFour">
66
+ <div class="card-body">
67
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
68
+ </div>
69
+ </div>
70
+ </div>
57
71
  </div>
58
72
  </div>
59
73
 
60
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
74
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
61
75
  <script src="../../dist/util.js"></script>
62
76
  <script src="../../dist/collapse.js"></script>
63
77
  </body>
@@ -203,8 +203,8 @@
203
203
 
204
204
  </div>
205
205
 
206
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
207
- <script src="../../../assets/js/vendor/popper.min.js"></script>
206
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
207
+ <script src="../../../site/docs/4.1/assets/js/vendor/popper.min.js"></script>
208
208
  <script src="../../dist/util.js"></script>
209
209
  <script src="../../dist/dropdown.js"></script>
210
210
  <script src="../../dist/collapse.js"></script>
@@ -58,13 +58,13 @@
58
58
  <div class="card">
59
59
  <div class="card-header" role="tab" id="headingOne">
60
60
  <h5 class="mb-0">
61
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
61
+ <a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
62
62
  Collapsible Group Item #1
63
63
  </a>
64
64
  </h5>
65
65
  </div>
66
66
 
67
- <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne">
67
+ <div id="collapseOne" class="collapse show" data-parent="#accordion" role="tabpanel" aria-labelledby="headingOne">
68
68
  <div class="card-body">
69
69
  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
70
70
  </div>
@@ -73,12 +73,12 @@
73
73
  <div class="card">
74
74
  <div class="card-header" role="tab" id="headingTwo">
75
75
  <h5 class="mb-0">
76
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
76
+ <a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
77
77
  Collapsible Group Item #2
78
78
  </a>
79
79
  </h5>
80
80
  </div>
81
- <div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo">
81
+ <div id="collapseTwo" class="collapse" data-parent="#accordion" role="tabpanel" aria-labelledby="headingTwo">
82
82
  <div class="card-body">
83
83
  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
84
84
  </div>
@@ -87,12 +87,12 @@
87
87
  <div class="card">
88
88
  <div class="card-header" role="tab" id="headingThree">
89
89
  <h5 class="mb-0">
90
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
90
+ <a class="collapsed" data-toggle="collapse" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
91
91
  Collapsible Group Item #3
92
92
  </a>
93
93
  </h5>
94
94
  </div>
95
- <div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree">
95
+ <div id="collapseThree" class="collapse" data-parent="#accordion" role="tabpanel" aria-labelledby="headingThree">
96
96
  <div class="card-body">
97
97
  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
98
98
  </div>
@@ -205,8 +205,8 @@
205
205
  </button>
206
206
  </div>
207
207
 
208
- <script src="../../../assets/js/vendor/jquery-slim.min.js"></script>
209
- <script src="../../../assets/js/vendor/popper.min.js"></script>
208
+ <script src="../../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js"></script>
209
+ <script src="../../../site/docs/4.1/assets/js/vendor/popper.min.js"></script>
210
210
  <script src="../../dist/util.js"></script>
211
211
  <script src="../../dist/modal.js"></script>
212
212
  <script src="../../dist/collapse.js"></script>