wax_theme 0.1.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +50 -0
  4. data/_includes/wax/collection/gallery.html +33 -0
  5. data/_includes/wax/collection/interactive_metadata.html +53 -0
  6. data/_includes/wax/footer.html +35 -0
  7. data/_includes/wax/head.html +16 -0
  8. data/_includes/wax/header.html +35 -0
  9. data/_includes/wax/image_viewer/leaflet.html +11 -0
  10. data/_includes/wax/image_viewer/mirador.html +8 -0
  11. data/_includes/wax/image_viewer/simple.html +5 -0
  12. data/_includes/wax/inline_image.html +12 -0
  13. data/_includes/wax/item/metadata.html +23 -0
  14. data/_includes/wax/item/pagination.html +23 -0
  15. data/_includes/wax/mirador_compare.html +11 -0
  16. data/_includes/wax/parallax.html +23 -0
  17. data/_includes/wax/search.html +12 -0
  18. data/_layouts/wax/collection_item.html +41 -0
  19. data/_layouts/wax/default.html +20 -0
  20. data/_layouts/wax/exhibit.html +15 -0
  21. data/_layouts/wax/page.html +13 -0
  22. data/_layouts/wax/reuse_page.html +7 -0
  23. data/_sass/_bootstrap.scss +9030 -0
  24. data/_sass/_syntax.scss +129 -0
  25. data/_sass/_wax.scss +482 -0
  26. data/assets/css/datatables.css +24 -0
  27. data/assets/css/leaflet.css +636 -0
  28. data/assets/js/bootstrap.min.js +7 -0
  29. data/assets/js/datatables.min.js +325 -0
  30. data/assets/js/elasticlunr.min.js +10 -0
  31. data/assets/js/jquery-3.2.1.min.js +4 -0
  32. data/assets/js/leaflet-iiif.min.js +8 -0
  33. data/assets/js/leaflet.js +5 -0
  34. data/assets/js/popper.min.js +5 -0
  35. data/assets/js/wax.js +91 -0
  36. data/assets/logo.png +0 -0
  37. data/assets/mirador/css/mirador-combined.css +4107 -0
  38. data/assets/mirador/fonts/FontAwesome.otf +0 -0
  39. data/assets/mirador/fonts/MaterialIcons-Regular.eot +0 -0
  40. data/assets/mirador/fonts/MaterialIcons-Regular.ijmap +1 -0
  41. data/assets/mirador/fonts/MaterialIcons-Regular.svg +2373 -0
  42. data/assets/mirador/fonts/MaterialIcons-Regular.ttf +0 -0
  43. data/assets/mirador/fonts/MaterialIcons-Regular.woff +0 -0
  44. data/assets/mirador/fonts/MaterialIcons-Regular.woff2 +0 -0
  45. data/assets/mirador/fonts/fontawesome-webfont.eot +0 -0
  46. data/assets/mirador/fonts/fontawesome-webfont.svg +2671 -0
  47. data/assets/mirador/fonts/fontawesome-webfont.ttf +0 -0
  48. data/assets/mirador/fonts/fontawesome-webfont.woff +0 -0
  49. data/assets/mirador/fonts/fontawesome-webfont.woff2 +0 -0
  50. data/assets/mirador/images/border_type_1.png +0 -0
  51. data/assets/mirador/images/border_type_2.png +0 -0
  52. data/assets/mirador/images/border_type_3.png +0 -0
  53. data/assets/mirador/images/border_type_4.png +0 -0
  54. data/assets/mirador/images/border_type_5.png +0 -0
  55. data/assets/mirador/images/debut_dark.png +0 -0
  56. data/assets/mirador/locales/ar/translation.json +42 -0
  57. data/assets/mirador/locales/de/translation.json +103 -0
  58. data/assets/mirador/locales/en/translation.json +106 -0
  59. data/assets/mirador/locales/es/translation.json +86 -0
  60. data/assets/mirador/locales/fr/translation.json +103 -0
  61. data/assets/mirador/locales/ga/translation.json +97 -0
  62. data/assets/mirador/locales/ja/translation.json +82 -0
  63. data/assets/mirador/locales/ko/translation.json +83 -0
  64. data/assets/mirador/locales/nl/translation.json +39 -0
  65. data/assets/mirador/locales/zh-CN/translation.json +76 -0
  66. data/assets/mirador/locales/zh-TW/translation.json +76 -0
  67. data/assets/mirador/locales/zh/translation.json +74 -0
  68. data/assets/mirador/mirador.js +49145 -0
  69. data/assets/mirador/plugins/advlist/index.js +7 -0
  70. data/assets/mirador/plugins/advlist/plugin.js +160 -0
  71. data/assets/mirador/plugins/advlist/plugin.min.js +1 -0
  72. data/assets/mirador/plugins/anchor/index.js +7 -0
  73. data/assets/mirador/plugins/anchor/plugin.js +118 -0
  74. data/assets/mirador/plugins/anchor/plugin.min.js +1 -0
  75. data/assets/mirador/plugins/autolink/index.js +7 -0
  76. data/assets/mirador/plugins/autolink/plugin.js +180 -0
  77. data/assets/mirador/plugins/autolink/plugin.min.js +1 -0
  78. data/assets/mirador/plugins/autoresize/index.js +7 -0
  79. data/assets/mirador/plugins/autoresize/plugin.js +169 -0
  80. data/assets/mirador/plugins/autoresize/plugin.min.js +1 -0
  81. data/assets/mirador/plugins/autosave/index.js +7 -0
  82. data/assets/mirador/plugins/autosave/plugin.js +226 -0
  83. data/assets/mirador/plugins/autosave/plugin.min.js +1 -0
  84. data/assets/mirador/plugins/bbcode/index.js +7 -0
  85. data/assets/mirador/plugins/bbcode/plugin.js +101 -0
  86. data/assets/mirador/plugins/bbcode/plugin.min.js +1 -0
  87. data/assets/mirador/plugins/charmap/index.js +7 -0
  88. data/assets/mirador/plugins/charmap/plugin.js +1275 -0
  89. data/assets/mirador/plugins/charmap/plugin.min.js +1 -0
  90. data/assets/mirador/plugins/code/index.js +7 -0
  91. data/assets/mirador/plugins/code/plugin.js +94 -0
  92. data/assets/mirador/plugins/code/plugin.min.js +1 -0
  93. data/assets/mirador/plugins/codesample/css/prism.css +138 -0
  94. data/assets/mirador/plugins/codesample/index.js +7 -0
  95. data/assets/mirador/plugins/codesample/plugin.js +967 -0
  96. data/assets/mirador/plugins/codesample/plugin.min.js +1 -0
  97. data/assets/mirador/plugins/colorpicker/index.js +7 -0
  98. data/assets/mirador/plugins/colorpicker/plugin.js +126 -0
  99. data/assets/mirador/plugins/colorpicker/plugin.min.js +1 -0
  100. data/assets/mirador/plugins/contextmenu/index.js +7 -0
  101. data/assets/mirador/plugins/contextmenu/plugin.js +168 -0
  102. data/assets/mirador/plugins/contextmenu/plugin.min.js +1 -0
  103. data/assets/mirador/plugins/directionality/index.js +7 -0
  104. data/assets/mirador/plugins/directionality/plugin.js +66 -0
  105. data/assets/mirador/plugins/directionality/plugin.min.js +1 -0
  106. data/assets/mirador/plugins/emoticons/img/smiley-cool.gif +0 -0
  107. data/assets/mirador/plugins/emoticons/img/smiley-cry.gif +0 -0
  108. data/assets/mirador/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  109. data/assets/mirador/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  110. data/assets/mirador/plugins/emoticons/img/smiley-frown.gif +0 -0
  111. data/assets/mirador/plugins/emoticons/img/smiley-innocent.gif +0 -0
  112. data/assets/mirador/plugins/emoticons/img/smiley-kiss.gif +0 -0
  113. data/assets/mirador/plugins/emoticons/img/smiley-laughing.gif +0 -0
  114. data/assets/mirador/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  115. data/assets/mirador/plugins/emoticons/img/smiley-sealed.gif +0 -0
  116. data/assets/mirador/plugins/emoticons/img/smiley-smile.gif +0 -0
  117. data/assets/mirador/plugins/emoticons/img/smiley-surprised.gif +0 -0
  118. data/assets/mirador/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  119. data/assets/mirador/plugins/emoticons/img/smiley-undecided.gif +0 -0
  120. data/assets/mirador/plugins/emoticons/img/smiley-wink.gif +0 -0
  121. data/assets/mirador/plugins/emoticons/img/smiley-yell.gif +0 -0
  122. data/assets/mirador/plugins/emoticons/index.js +7 -0
  123. data/assets/mirador/plugins/emoticons/plugin.js +87 -0
  124. data/assets/mirador/plugins/emoticons/plugin.min.js +1 -0
  125. data/assets/mirador/plugins/fullpage/index.js +7 -0
  126. data/assets/mirador/plugins/fullpage/plugin.js +519 -0
  127. data/assets/mirador/plugins/fullpage/plugin.min.js +1 -0
  128. data/assets/mirador/plugins/fullscreen/index.js +7 -0
  129. data/assets/mirador/plugins/fullscreen/plugin.js +177 -0
  130. data/assets/mirador/plugins/fullscreen/plugin.min.js +1 -0
  131. data/assets/mirador/plugins/help/img/logo.png +0 -0
  132. data/assets/mirador/plugins/help/index.js +7 -0
  133. data/assets/mirador/plugins/help/plugin.js +727 -0
  134. data/assets/mirador/plugins/help/plugin.min.js +1 -0
  135. data/assets/mirador/plugins/hr/index.js +7 -0
  136. data/assets/mirador/plugins/hr/plugin.js +39 -0
  137. data/assets/mirador/plugins/hr/plugin.min.js +1 -0
  138. data/assets/mirador/plugins/image/index.js +7 -0
  139. data/assets/mirador/plugins/image/plugin.js +1211 -0
  140. data/assets/mirador/plugins/image/plugin.min.js +1 -0
  141. data/assets/mirador/plugins/imagetools/index.js +7 -0
  142. data/assets/mirador/plugins/imagetools/plugin.js +3684 -0
  143. data/assets/mirador/plugins/imagetools/plugin.min.js +1 -0
  144. data/assets/mirador/plugins/importcss/index.js +7 -0
  145. data/assets/mirador/plugins/importcss/plugin.js +264 -0
  146. data/assets/mirador/plugins/importcss/plugin.min.js +1 -0
  147. data/assets/mirador/plugins/insertdatetime/index.js +7 -0
  148. data/assets/mirador/plugins/insertdatetime/plugin.js +173 -0
  149. data/assets/mirador/plugins/insertdatetime/plugin.min.js +1 -0
  150. data/assets/mirador/plugins/legacyoutput/index.js +7 -0
  151. data/assets/mirador/plugins/legacyoutput/plugin.js +220 -0
  152. data/assets/mirador/plugins/legacyoutput/plugin.min.js +1 -0
  153. data/assets/mirador/plugins/link/index.js +7 -0
  154. data/assets/mirador/plugins/link/plugin.js +713 -0
  155. data/assets/mirador/plugins/link/plugin.min.js +1 -0
  156. data/assets/mirador/plugins/lists/index.js +7 -0
  157. data/assets/mirador/plugins/lists/plugin.js +1115 -0
  158. data/assets/mirador/plugins/lists/plugin.min.js +1 -0
  159. data/assets/mirador/plugins/media/index.js +7 -0
  160. data/assets/mirador/plugins/media/plugin.js +1166 -0
  161. data/assets/mirador/plugins/media/plugin.min.js +1 -0
  162. data/assets/mirador/plugins/nonbreaking/index.js +7 -0
  163. data/assets/mirador/plugins/nonbreaking/plugin.js +85 -0
  164. data/assets/mirador/plugins/nonbreaking/plugin.min.js +1 -0
  165. data/assets/mirador/plugins/noneditable/index.js +7 -0
  166. data/assets/mirador/plugins/noneditable/plugin.js +118 -0
  167. data/assets/mirador/plugins/noneditable/plugin.min.js +1 -0
  168. data/assets/mirador/plugins/pagebreak/index.js +7 -0
  169. data/assets/mirador/plugins/pagebreak/plugin.js +109 -0
  170. data/assets/mirador/plugins/pagebreak/plugin.min.js +1 -0
  171. data/assets/mirador/plugins/paste/index.js +7 -0
  172. data/assets/mirador/plugins/paste/plugin.js +1497 -0
  173. data/assets/mirador/plugins/paste/plugin.min.js +1 -0
  174. data/assets/mirador/plugins/preview/index.js +7 -0
  175. data/assets/mirador/plugins/preview/plugin.js +123 -0
  176. data/assets/mirador/plugins/preview/plugin.min.js +1 -0
  177. data/assets/mirador/plugins/print/index.js +7 -0
  178. data/assets/mirador/plugins/print/plugin.js +38 -0
  179. data/assets/mirador/plugins/print/plugin.min.js +1 -0
  180. data/assets/mirador/plugins/save/index.js +7 -0
  181. data/assets/mirador/plugins/save/plugin.js +120 -0
  182. data/assets/mirador/plugins/save/plugin.min.js +1 -0
  183. data/assets/mirador/plugins/searchreplace/index.js +7 -0
  184. data/assets/mirador/plugins/searchreplace/plugin.js +603 -0
  185. data/assets/mirador/plugins/searchreplace/plugin.min.js +1 -0
  186. data/assets/mirador/plugins/spellchecker/index.js +7 -0
  187. data/assets/mirador/plugins/spellchecker/plugin.js +757 -0
  188. data/assets/mirador/plugins/spellchecker/plugin.min.js +1 -0
  189. data/assets/mirador/plugins/tabfocus/index.js +7 -0
  190. data/assets/mirador/plugins/tabfocus/plugin.js +124 -0
  191. data/assets/mirador/plugins/tabfocus/plugin.min.js +1 -0
  192. data/assets/mirador/plugins/table/index.js +7 -0
  193. data/assets/mirador/plugins/table/plugin.js +10144 -0
  194. data/assets/mirador/plugins/table/plugin.min.js +1 -0
  195. data/assets/mirador/plugins/template/index.js +7 -0
  196. data/assets/mirador/plugins/template/plugin.js +345 -0
  197. data/assets/mirador/plugins/template/plugin.min.js +1 -0
  198. data/assets/mirador/plugins/textcolor/index.js +7 -0
  199. data/assets/mirador/plugins/textcolor/plugin.js +346 -0
  200. data/assets/mirador/plugins/textcolor/plugin.min.js +1 -0
  201. data/assets/mirador/plugins/textpattern/index.js +7 -0
  202. data/assets/mirador/plugins/textpattern/plugin.js +370 -0
  203. data/assets/mirador/plugins/textpattern/plugin.min.js +1 -0
  204. data/assets/mirador/plugins/toc/index.js +7 -0
  205. data/assets/mirador/plugins/toc/plugin.js +228 -0
  206. data/assets/mirador/plugins/toc/plugin.min.js +1 -0
  207. data/assets/mirador/plugins/visualblocks/css/visualblocks.css +154 -0
  208. data/assets/mirador/plugins/visualblocks/index.js +7 -0
  209. data/assets/mirador/plugins/visualblocks/plugin.js +135 -0
  210. data/assets/mirador/plugins/visualblocks/plugin.min.js +1 -0
  211. data/assets/mirador/plugins/visualchars/index.js +7 -0
  212. data/assets/mirador/plugins/visualchars/plugin.js +505 -0
  213. data/assets/mirador/plugins/visualchars/plugin.min.js +1 -0
  214. data/assets/mirador/plugins/wordcount/index.js +7 -0
  215. data/assets/mirador/plugins/wordcount/plugin.js +343 -0
  216. data/assets/mirador/plugins/wordcount/plugin.min.js +1 -0
  217. data/assets/mirador/skins/lightgray/content.inline.min.css +1 -0
  218. data/assets/mirador/skins/lightgray/content.min.css +1 -0
  219. data/assets/mirador/skins/lightgray/content.mobile.min.css +1 -0
  220. data/assets/mirador/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  221. data/assets/mirador/skins/lightgray/fonts/tinymce-small.eot +0 -0
  222. data/assets/mirador/skins/lightgray/fonts/tinymce-small.svg +63 -0
  223. data/assets/mirador/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  224. data/assets/mirador/skins/lightgray/fonts/tinymce-small.woff +0 -0
  225. data/assets/mirador/skins/lightgray/fonts/tinymce.eot +0 -0
  226. data/assets/mirador/skins/lightgray/fonts/tinymce.svg +131 -0
  227. data/assets/mirador/skins/lightgray/fonts/tinymce.ttf +0 -0
  228. data/assets/mirador/skins/lightgray/fonts/tinymce.woff +0 -0
  229. data/assets/mirador/skins/lightgray/img/anchor.gif +0 -0
  230. data/assets/mirador/skins/lightgray/img/loader.gif +0 -0
  231. data/assets/mirador/skins/lightgray/img/object.gif +0 -0
  232. data/assets/mirador/skins/lightgray/img/trans.gif +0 -0
  233. data/assets/mirador/skins/lightgray/skin.min.css +1 -0
  234. data/assets/mirador/skins/lightgray/skin.mobile.min.css +2 -0
  235. data/assets/mirador/themes/inlite/index.js +7 -0
  236. data/assets/mirador/themes/inlite/theme.js +10235 -0
  237. data/assets/mirador/themes/inlite/theme.min.js +1 -0
  238. data/assets/mirador/themes/mobile/index.js +7 -0
  239. data/assets/mirador/themes/mobile/theme.js +13546 -0
  240. data/assets/mirador/themes/mobile/theme.min.js +1 -0
  241. data/assets/mirador/themes/modern/index.js +7 -0
  242. data/assets/mirador/themes/modern/theme.js +10041 -0
  243. data/assets/mirador/themes/modern/theme.min.js +1 -0
  244. data/assets/styles.scss +51 -0
  245. metadata +343 -0
@@ -0,0 +1 @@
1
+ !function(){"use strict";var e,n,t=tinymce.util.Tools.resolve("tinymce.PluginManager"),s=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),f=tinymce.util.Tools.resolve("tinymce.util.I18n"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=function(t){return t.getParam("toc_class","mce-toc")},m=function(t){var e=t.getParam("toc_header","h2");return/^h[1-6]$/.test(e)?e:"h2"},c=function(t){var e=parseInt(t.getParam("toc_depth","3"),10);return 1<=e&&e<=9?e:3},a=(e="mcetoc_",n=0,function(){var t=(new Date).getTime().toString(32);return e+t+(n++).toString(32)}),v=function(n){var o=l(n),t=m(n),e=function(t){var e,n=[];for(e=1;e<=t;e++)n.push("h"+e);return n.join(",")}(c(n)),r=n.$(e);return r.length&&/^h[1-9]$/i.test(t)&&(r=r.filter(function(t,e){return!n.dom.hasClass(e.parentNode,o)})),i.map(r,function(t){return{id:t.id?t.id:a(),level:parseInt(t.nodeName.replace(/^H/i,""),10),title:n.$.text(t),element:t}})},d=function(t){var e,n,o,r,i,c,l,a="",d=v(t),u=function(t){var e,n=9;for(e=0;e<t.length;e++)if(t[e].level<n&&(n=t[e].level),1===n)return n;return n}(d)-1;if(!d.length)return"";for(a+=(i=m(t),c=f.translate("Table of Contents"),l="</"+i+">","<"+i+' contenteditable="true">'+s.DOM.encode(c)+l),e=0;e<d.length;e++){if((o=d[e]).element.id=o.id,r=d[e+1]&&d[e+1].level,u===o.level)a+="<li>";else for(n=u;n<o.level;n++)a+="<ul><li>";if(a+='<a href="#'+o.id+'">'+o.title+"</a>",r!==o.level&&r)for(n=o.level;r<n;n--)a+="</li></ul><li>";else a+="</li>",r||(a+="</ul>");u=o.level}return a},u=function(t){var e=l(t),n=t.$("."+e);n.length&&t.undoManager.transact(function(){n.html(d(t))})},o={hasHeaders:function(t){return 0<v(t).length},insertToc:function(t){var e,n,o,r,i=l(t),c=t.$("."+i);o=t,!(r=c).length||0<o.dom.getParents(r[0],".mce-offscreen-selection").length?t.insertContent((n=d(e=t),'<div class="'+e.dom.encode(l(e))+'" contenteditable="false">'+n+"</div>")):u(t)},updateToc:u},r=function(t){t.addCommand("mceInsertToc",function(){o.insertToc(t)}),t.addCommand("mceUpdateToc",function(){o.updateToc(t)})},h=function(t){var n=t.$,o=l(t);t.on("PreProcess",function(t){var e=n("."+o,t.node);e.length&&(e.removeAttr("contentEditable"),e.find("[contenteditable]").removeAttr("contentEditable"))}),t.on("SetContent",function(){var t=n("."+o);t.length&&(t.attr("contentEditable",!1),t.children(":first-child").attr("contentEditable",!0))})},g=function(n){return function(t){var e=t.control;n.on("LoadContent SetContent change",function(){e.disabled(n.readonly||!o.hasHeaders(n))})}},T=function(t){var e;t.addButton("toc",{tooltip:"Table of Contents",cmd:"mceInsertToc",icon:"toc",onPostRender:g(t)}),t.addButton("tocupdate",{tooltip:"Update",cmd:"mceUpdateToc",icon:"reload"}),t.addMenuItem("toc",{text:"Table of Contents",context:"insert",cmd:"mceInsertToc",onPostRender:g(t)}),t.addContextToolbar((e=t,function(t){return t&&e.dom.is(t,"."+l(e))&&e.getBody().contains(t)}),"tocupdate")};t.add("toc",function(t){r(t),T(t),h(t)})}();
@@ -0,0 +1,154 @@
1
+ .mce-visualblocks p {
2
+ padding-top: 10px;
3
+ border: 1px dashed #BBB;
4
+ margin-left: 3px;
5
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
6
+ background-repeat: no-repeat;
7
+ }
8
+
9
+ .mce-visualblocks h1 {
10
+ padding-top: 10px;
11
+ border: 1px dashed #BBB;
12
+ margin-left: 3px;
13
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
14
+ background-repeat: no-repeat;
15
+ }
16
+
17
+ .mce-visualblocks h2 {
18
+ padding-top: 10px;
19
+ border: 1px dashed #BBB;
20
+ margin-left: 3px;
21
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
22
+ background-repeat: no-repeat;
23
+ }
24
+
25
+ .mce-visualblocks h3 {
26
+ padding-top: 10px;
27
+ border: 1px dashed #BBB;
28
+ margin-left: 3px;
29
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
30
+ background-repeat: no-repeat;
31
+ }
32
+
33
+ .mce-visualblocks h4 {
34
+ padding-top: 10px;
35
+ border: 1px dashed #BBB;
36
+ margin-left: 3px;
37
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
38
+ background-repeat: no-repeat;
39
+ }
40
+
41
+ .mce-visualblocks h5 {
42
+ padding-top: 10px;
43
+ border: 1px dashed #BBB;
44
+ margin-left: 3px;
45
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
46
+ background-repeat: no-repeat;
47
+ }
48
+
49
+ .mce-visualblocks h6 {
50
+ padding-top: 10px;
51
+ border: 1px dashed #BBB;
52
+ margin-left: 3px;
53
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
54
+ background-repeat: no-repeat;
55
+ }
56
+
57
+ .mce-visualblocks div:not([data-mce-bogus]) {
58
+ padding-top: 10px;
59
+ border: 1px dashed #BBB;
60
+ margin-left: 3px;
61
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
62
+ background-repeat: no-repeat;
63
+ }
64
+
65
+ .mce-visualblocks section {
66
+ padding-top: 10px;
67
+ border: 1px dashed #BBB;
68
+ margin: 0 0 1em 3px;
69
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
70
+ background-repeat: no-repeat;
71
+ }
72
+
73
+ .mce-visualblocks article {
74
+ padding-top: 10px;
75
+ border: 1px dashed #BBB;
76
+ margin: 0 0 1em 3px;
77
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
78
+ background-repeat: no-repeat;
79
+ }
80
+
81
+ .mce-visualblocks blockquote {
82
+ padding-top: 10px;
83
+ border: 1px dashed #BBB;
84
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
85
+ background-repeat: no-repeat;
86
+ }
87
+
88
+ .mce-visualblocks address {
89
+ padding-top: 10px;
90
+ border: 1px dashed #BBB;
91
+ margin: 0 0 1em 3px;
92
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
93
+ background-repeat: no-repeat;
94
+ }
95
+
96
+ .mce-visualblocks pre {
97
+ padding-top: 10px;
98
+ border: 1px dashed #BBB;
99
+ margin-left: 3px;
100
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
101
+ background-repeat: no-repeat;
102
+ }
103
+
104
+ .mce-visualblocks figure {
105
+ padding-top: 10px;
106
+ border: 1px dashed #BBB;
107
+ margin: 0 0 1em 3px;
108
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
109
+ background-repeat: no-repeat;
110
+ }
111
+
112
+ .mce-visualblocks hgroup {
113
+ padding-top: 10px;
114
+ border: 1px dashed #BBB;
115
+ margin: 0 0 1em 3px;
116
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
117
+ background-repeat: no-repeat;
118
+ }
119
+
120
+ .mce-visualblocks aside {
121
+ padding-top: 10px;
122
+ border: 1px dashed #BBB;
123
+ margin: 0 0 1em 3px;
124
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
125
+ background-repeat: no-repeat;
126
+ }
127
+
128
+ .mce-visualblocks figcaption {
129
+ border: 1px dashed #BBB;
130
+ }
131
+
132
+ .mce-visualblocks ul {
133
+ padding-top: 10px;
134
+ border: 1px dashed #BBB;
135
+ margin: 0 0 1em 3px;
136
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
137
+ background-repeat: no-repeat;
138
+ }
139
+
140
+ .mce-visualblocks ol {
141
+ padding-top: 10px;
142
+ border: 1px dashed #BBB;
143
+ margin: 0 0 1em 3px;
144
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
145
+ background-repeat: no-repeat;
146
+ }
147
+
148
+ .mce-visualblocks dl {
149
+ padding-top: 10px;
150
+ border: 1px dashed #BBB;
151
+ margin: 0 0 1em 3px;
152
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
153
+ background-repeat: no-repeat;
154
+ }
@@ -0,0 +1,7 @@
1
+ // Exports the "visualblocks" plugin for usage with module loaders
2
+ // Usage:
3
+ // CommonJS:
4
+ // require('tinymce/plugins/visualblocks')
5
+ // ES2015:
6
+ // import 'tinymce/plugins/visualblocks'
7
+ require('./plugin.js');
@@ -0,0 +1,135 @@
1
+ (function () {
2
+ var visualblocks = (function () {
3
+ 'use strict';
4
+
5
+ var Cell = function (initial) {
6
+ var value = initial;
7
+ var get = function () {
8
+ return value;
9
+ };
10
+ var set = function (v) {
11
+ value = v;
12
+ };
13
+ var clone = function () {
14
+ return Cell(get());
15
+ };
16
+ return {
17
+ get: get,
18
+ set: set,
19
+ clone: clone
20
+ };
21
+ };
22
+
23
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
24
+
25
+ var fireVisualBlocks = function (editor, state) {
26
+ editor.fire('VisualBlocks', { state: state });
27
+ };
28
+ var $_48b62fsijm0og27o = { fireVisualBlocks: fireVisualBlocks };
29
+
30
+ var isEnabledByDefault = function (editor) {
31
+ return editor.getParam('visualblocks_default_state', false);
32
+ };
33
+ var getContentCss = function (editor) {
34
+ return editor.settings.visualblocks_content_css;
35
+ };
36
+ var $_1bczzdsjjm0og27p = {
37
+ isEnabledByDefault: isEnabledByDefault,
38
+ getContentCss: getContentCss
39
+ };
40
+
41
+ var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
42
+
43
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
44
+
45
+ var cssId = global$1.DOM.uniqueId();
46
+ var load = function (doc, url) {
47
+ var linkElements = global$2.toArray(doc.getElementsByTagName('link'));
48
+ var matchingLinkElms = global$2.grep(linkElements, function (head) {
49
+ return head.id === cssId;
50
+ });
51
+ if (matchingLinkElms.length === 0) {
52
+ var linkElm = global$1.DOM.create('link', {
53
+ id: cssId,
54
+ rel: 'stylesheet',
55
+ href: url
56
+ });
57
+ doc.getElementsByTagName('head')[0].appendChild(linkElm);
58
+ }
59
+ };
60
+ var $_esnmzlskjm0og27q = { load: load };
61
+
62
+ var toggleVisualBlocks = function (editor, pluginUrl, enabledState) {
63
+ var dom = editor.dom;
64
+ var contentCss = $_1bczzdsjjm0og27p.getContentCss(editor);
65
+ $_esnmzlskjm0og27q.load(editor.getDoc(), contentCss ? contentCss : pluginUrl + '/css/visualblocks.css');
66
+ dom.toggleClass(editor.getBody(), 'mce-visualblocks');
67
+ enabledState.set(!enabledState.get());
68
+ $_48b62fsijm0og27o.fireVisualBlocks(editor, enabledState.get());
69
+ };
70
+ var $_bx6hedshjm0og27n = { toggleVisualBlocks: toggleVisualBlocks };
71
+
72
+ var register = function (editor, pluginUrl, enabledState) {
73
+ editor.addCommand('mceVisualBlocks', function () {
74
+ $_bx6hedshjm0og27n.toggleVisualBlocks(editor, pluginUrl, enabledState);
75
+ });
76
+ };
77
+ var $_8q51ylsgjm0og27m = { register: register };
78
+
79
+ var setup = function (editor, pluginUrl, enabledState) {
80
+ editor.on('PreviewFormats AfterPreviewFormats', function (e) {
81
+ if (enabledState.get()) {
82
+ editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');
83
+ }
84
+ });
85
+ editor.on('init', function () {
86
+ if ($_1bczzdsjjm0og27p.isEnabledByDefault(editor)) {
87
+ $_bx6hedshjm0og27n.toggleVisualBlocks(editor, pluginUrl, enabledState);
88
+ }
89
+ });
90
+ editor.on('remove', function () {
91
+ editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
92
+ });
93
+ };
94
+ var $_7brsd5snjm0og27s = { setup: setup };
95
+
96
+ var toggleActiveState = function (editor, enabledState) {
97
+ return function (e) {
98
+ var ctrl = e.control;
99
+ ctrl.active(enabledState.get());
100
+ editor.on('VisualBlocks', function (e) {
101
+ ctrl.active(e.state);
102
+ });
103
+ };
104
+ };
105
+ var register$1 = function (editor, enabledState) {
106
+ editor.addButton('visualblocks', {
107
+ active: false,
108
+ title: 'Show blocks',
109
+ cmd: 'mceVisualBlocks',
110
+ onPostRender: toggleActiveState(editor, enabledState)
111
+ });
112
+ editor.addMenuItem('visualblocks', {
113
+ text: 'Show blocks',
114
+ cmd: 'mceVisualBlocks',
115
+ onPostRender: toggleActiveState(editor, enabledState),
116
+ selectable: true,
117
+ context: 'view',
118
+ prependToContext: true
119
+ });
120
+ };
121
+ var $_8lbte1sojm0og27u = { register: register$1 };
122
+
123
+ global.add('visualblocks', function (editor, pluginUrl) {
124
+ var enabledState = Cell(false);
125
+ $_8q51ylsgjm0og27m.register(editor, pluginUrl, enabledState);
126
+ $_8lbte1sojm0og27u.register(editor, enabledState);
127
+ $_7brsd5snjm0og27s.setup(editor, pluginUrl, enabledState);
128
+ });
129
+ function Plugin () {
130
+ }
131
+
132
+ return Plugin;
133
+
134
+ }());
135
+ })();
@@ -0,0 +1 @@
1
+ !function(){"use strict";var o=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return o(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){e.fire("VisualBlocks",{state:t})},s=function(e){return e.getParam("visualblocks_default_state",!1)},c=function(e){return e.settings.visualblocks_content_css},l=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=l.DOM.uniqueId(),r=function(e,t){var n=u.toArray(e.getElementsByTagName("link"));if(0===u.grep(n,function(e){return e.id===a}).length){var o=l.DOM.create("link",{id:a,rel:"stylesheet",href:t});e.getElementsByTagName("head")[0].appendChild(o)}},m=function(e,t,n){var o=e.dom,s=c(e);r(e.getDoc(),s||t+"/css/visualblocks.css"),o.toggleClass(e.getBody(),"mce-visualblocks"),n.set(!n.get()),i(e,n.get())},f=function(e,t,n){e.addCommand("mceVisualBlocks",function(){m(e,t,n)})},d=function(t,e,n){t.on("PreviewFormats AfterPreviewFormats",function(e){n.get()&&t.dom.toggleClass(t.getBody(),"mce-visualblocks","afterpreviewformats"===e.type)}),t.on("init",function(){s(t)&&m(t,e,n)}),t.on("remove",function(){t.dom.removeClass(t.getBody(),"mce-visualblocks")})},n=function(n,o){return function(e){var t=e.control;t.active(o.get()),n.on("VisualBlocks",function(e){t.active(e.state)})}},v=function(e,t){e.addButton("visualblocks",{active:!1,title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n(e,t)}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n(e,t),selectable:!0,context:"view",prependToContext:!0})};e.add("visualblocks",function(e,t){var n=o(!1);f(e,t,n),v(e,n),d(e,t,n)})}();
@@ -0,0 +1,7 @@
1
+ // Exports the "visualchars" plugin for usage with module loaders
2
+ // Usage:
3
+ // CommonJS:
4
+ // require('tinymce/plugins/visualchars')
5
+ // ES2015:
6
+ // import 'tinymce/plugins/visualchars'
7
+ require('./plugin.js');
@@ -0,0 +1,505 @@
1
+ (function () {
2
+ var visualchars = (function () {
3
+ 'use strict';
4
+
5
+ var Cell = function (initial) {
6
+ var value = initial;
7
+ var get = function () {
8
+ return value;
9
+ };
10
+ var set = function (v) {
11
+ value = v;
12
+ };
13
+ var clone = function () {
14
+ return Cell(get());
15
+ };
16
+ return {
17
+ get: get,
18
+ set: set,
19
+ clone: clone
20
+ };
21
+ };
22
+
23
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
24
+
25
+ var get = function (toggleState) {
26
+ var isEnabled = function () {
27
+ return toggleState.get();
28
+ };
29
+ return { isEnabled: isEnabled };
30
+ };
31
+ var $_91givrssjm0og28e = { get: get };
32
+
33
+ var fireVisualChars = function (editor, state) {
34
+ return editor.fire('VisualChars', { state: state });
35
+ };
36
+ var $_bdr3mcsvjm0og28h = { fireVisualChars: fireVisualChars };
37
+
38
+ var charMap = {
39
+ '\xA0': 'nbsp',
40
+ '\xAD': 'shy'
41
+ };
42
+ var charMapToRegExp = function (charMap, global) {
43
+ var key, regExp = '';
44
+ for (key in charMap) {
45
+ regExp += key;
46
+ }
47
+ return new RegExp('[' + regExp + ']', global ? 'g' : '');
48
+ };
49
+ var charMapToSelector = function (charMap) {
50
+ var key, selector = '';
51
+ for (key in charMap) {
52
+ if (selector) {
53
+ selector += ',';
54
+ }
55
+ selector += 'span.mce-' + charMap[key];
56
+ }
57
+ return selector;
58
+ };
59
+ var $_aa0v31sxjm0og28p = {
60
+ charMap: charMap,
61
+ regExp: charMapToRegExp(charMap),
62
+ regExpGlobal: charMapToRegExp(charMap, true),
63
+ selector: charMapToSelector(charMap),
64
+ charMapToRegExp: charMapToRegExp,
65
+ charMapToSelector: charMapToSelector
66
+ };
67
+
68
+ var constant = function (value) {
69
+ return function () {
70
+ return value;
71
+ };
72
+ };
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+ var never = constant(false);
81
+ var always = constant(true);
82
+
83
+ var never$1 = never;
84
+ var always$1 = always;
85
+ var none = function () {
86
+ return NONE;
87
+ };
88
+ var NONE = function () {
89
+ var eq = function (o) {
90
+ return o.isNone();
91
+ };
92
+ var call$$1 = function (thunk) {
93
+ return thunk();
94
+ };
95
+ var id = function (n) {
96
+ return n;
97
+ };
98
+ var noop$$1 = function () {
99
+ };
100
+ var nul = function () {
101
+ return null;
102
+ };
103
+ var undef = function () {
104
+ return undefined;
105
+ };
106
+ var me = {
107
+ fold: function (n, s) {
108
+ return n();
109
+ },
110
+ is: never$1,
111
+ isSome: never$1,
112
+ isNone: always$1,
113
+ getOr: id,
114
+ getOrThunk: call$$1,
115
+ getOrDie: function (msg) {
116
+ throw new Error(msg || 'error: getOrDie called on none.');
117
+ },
118
+ getOrNull: nul,
119
+ getOrUndefined: undef,
120
+ or: id,
121
+ orThunk: call$$1,
122
+ map: none,
123
+ ap: none,
124
+ each: noop$$1,
125
+ bind: none,
126
+ flatten: none,
127
+ exists: never$1,
128
+ forall: always$1,
129
+ filter: none,
130
+ equals: eq,
131
+ equals_: eq,
132
+ toArray: function () {
133
+ return [];
134
+ },
135
+ toString: constant('none()')
136
+ };
137
+ if (Object.freeze)
138
+ Object.freeze(me);
139
+ return me;
140
+ }();
141
+ var some = function (a) {
142
+ var constant_a = function () {
143
+ return a;
144
+ };
145
+ var self = function () {
146
+ return me;
147
+ };
148
+ var map = function (f) {
149
+ return some(f(a));
150
+ };
151
+ var bind = function (f) {
152
+ return f(a);
153
+ };
154
+ var me = {
155
+ fold: function (n, s) {
156
+ return s(a);
157
+ },
158
+ is: function (v) {
159
+ return a === v;
160
+ },
161
+ isSome: always$1,
162
+ isNone: never$1,
163
+ getOr: constant_a,
164
+ getOrThunk: constant_a,
165
+ getOrDie: constant_a,
166
+ getOrNull: constant_a,
167
+ getOrUndefined: constant_a,
168
+ or: self,
169
+ orThunk: self,
170
+ map: map,
171
+ ap: function (optfab) {
172
+ return optfab.fold(none, function (fab) {
173
+ return some(fab(a));
174
+ });
175
+ },
176
+ each: function (f) {
177
+ f(a);
178
+ },
179
+ bind: bind,
180
+ flatten: constant_a,
181
+ exists: bind,
182
+ forall: bind,
183
+ filter: function (f) {
184
+ return f(a) ? me : NONE;
185
+ },
186
+ equals: function (o) {
187
+ return o.is(a);
188
+ },
189
+ equals_: function (o, elementEq) {
190
+ return o.fold(never$1, function (b) {
191
+ return elementEq(a, b);
192
+ });
193
+ },
194
+ toArray: function () {
195
+ return [a];
196
+ },
197
+ toString: function () {
198
+ return 'some(' + a + ')';
199
+ }
200
+ };
201
+ return me;
202
+ };
203
+ var from = function (value) {
204
+ return value === null || value === undefined ? NONE : some(value);
205
+ };
206
+ var Option = {
207
+ some: some,
208
+ none: none,
209
+ from: from
210
+ };
211
+
212
+ var typeOf = function (x) {
213
+ if (x === null)
214
+ return 'null';
215
+ var t = typeof x;
216
+ if (t === 'object' && Array.prototype.isPrototypeOf(x))
217
+ return 'array';
218
+ if (t === 'object' && String.prototype.isPrototypeOf(x))
219
+ return 'string';
220
+ return t;
221
+ };
222
+ var isType = function (type) {
223
+ return function (value) {
224
+ return typeOf(value) === type;
225
+ };
226
+ };
227
+
228
+
229
+
230
+
231
+
232
+
233
+ var isFunction = isType('function');
234
+
235
+ var map = function (xs, f) {
236
+ var len = xs.length;
237
+ var r = new Array(len);
238
+ for (var i = 0; i < len; i++) {
239
+ var x = xs[i];
240
+ r[i] = f(x, i, xs);
241
+ }
242
+ return r;
243
+ };
244
+ var each = function (xs, f) {
245
+ for (var i = 0, len = xs.length; i < len; i++) {
246
+ var x = xs[i];
247
+ f(x, i, xs);
248
+ }
249
+ };
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+ var slice = Array.prototype.slice;
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+ var from$1 = isFunction(Array.from) ? Array.from : function (x) {
271
+ return slice.call(x);
272
+ };
273
+
274
+ var fromHtml = function (html, scope) {
275
+ var doc = scope || document;
276
+ var div = doc.createElement('div');
277
+ div.innerHTML = html;
278
+ if (!div.hasChildNodes() || div.childNodes.length > 1) {
279
+ console.error('HTML does not have a single root node', html);
280
+ throw 'HTML must have a single root node';
281
+ }
282
+ return fromDom(div.childNodes[0]);
283
+ };
284
+ var fromTag = function (tag, scope) {
285
+ var doc = scope || document;
286
+ var node = doc.createElement(tag);
287
+ return fromDom(node);
288
+ };
289
+ var fromText = function (text, scope) {
290
+ var doc = scope || document;
291
+ var node = doc.createTextNode(text);
292
+ return fromDom(node);
293
+ };
294
+ var fromDom = function (node) {
295
+ if (node === null || node === undefined)
296
+ throw new Error('Node cannot be null or undefined');
297
+ return { dom: constant(node) };
298
+ };
299
+ var fromPoint = function (docElm, x, y) {
300
+ var doc = docElm.dom();
301
+ return Option.from(doc.elementFromPoint(x, y)).map(fromDom);
302
+ };
303
+ var Element$$1 = {
304
+ fromHtml: fromHtml,
305
+ fromTag: fromTag,
306
+ fromText: fromText,
307
+ fromDom: fromDom,
308
+ fromPoint: fromPoint
309
+ };
310
+
311
+ var $_5ao1w8t6jm0og29y = {
312
+ ATTRIBUTE: Node.ATTRIBUTE_NODE,
313
+ CDATA_SECTION: Node.CDATA_SECTION_NODE,
314
+ COMMENT: Node.COMMENT_NODE,
315
+ DOCUMENT: Node.DOCUMENT_NODE,
316
+ DOCUMENT_TYPE: Node.DOCUMENT_TYPE_NODE,
317
+ DOCUMENT_FRAGMENT: Node.DOCUMENT_FRAGMENT_NODE,
318
+ ELEMENT: Node.ELEMENT_NODE,
319
+ TEXT: Node.TEXT_NODE,
320
+ PROCESSING_INSTRUCTION: Node.PROCESSING_INSTRUCTION_NODE,
321
+ ENTITY_REFERENCE: Node.ENTITY_REFERENCE_NODE,
322
+ ENTITY: Node.ENTITY_NODE,
323
+ NOTATION: Node.NOTATION_NODE
324
+ };
325
+
326
+ var name = function (element) {
327
+ var r = element.dom().nodeName;
328
+ return r.toLowerCase();
329
+ };
330
+ var type = function (element) {
331
+ return element.dom().nodeType;
332
+ };
333
+ var value = function (element) {
334
+ return element.dom().nodeValue;
335
+ };
336
+ var isType$1 = function (t) {
337
+ return function (element) {
338
+ return type(element) === t;
339
+ };
340
+ };
341
+ var isComment = function (element) {
342
+ return type(element) === $_5ao1w8t6jm0og29y.COMMENT || name(element) === '#comment';
343
+ };
344
+ var isElement = isType$1($_5ao1w8t6jm0og29y.ELEMENT);
345
+ var isText = isType$1($_5ao1w8t6jm0og29y.TEXT);
346
+ var isDocument = isType$1($_5ao1w8t6jm0og29y.DOCUMENT);
347
+ var $_6qboq0t5jm0og29x = {
348
+ name: name,
349
+ type: type,
350
+ value: value,
351
+ isElement: isElement,
352
+ isText: isText,
353
+ isDocument: isDocument,
354
+ isComment: isComment
355
+ };
356
+
357
+ var wrapCharWithSpan = function (value) {
358
+ return '<span data-mce-bogus="1" class="mce-' + $_aa0v31sxjm0og28p.charMap[value] + '">' + value + '</span>';
359
+ };
360
+ var $_724dsdt7jm0og2a0 = { wrapCharWithSpan: wrapCharWithSpan };
361
+
362
+ var isMatch = function (n) {
363
+ return $_6qboq0t5jm0og29x.isText(n) && $_6qboq0t5jm0og29x.value(n) !== undefined && $_aa0v31sxjm0og28p.regExp.test($_6qboq0t5jm0og29x.value(n));
364
+ };
365
+ var filterDescendants = function (scope, predicate) {
366
+ var result = [];
367
+ var dom = scope.dom();
368
+ var children = map(dom.childNodes, Element$$1.fromDom);
369
+ each(children, function (x) {
370
+ if (predicate(x)) {
371
+ result = result.concat([x]);
372
+ }
373
+ result = result.concat(filterDescendants(x, predicate));
374
+ });
375
+ return result;
376
+ };
377
+ var findParentElm = function (elm, rootElm) {
378
+ while (elm.parentNode) {
379
+ if (elm.parentNode === rootElm) {
380
+ return elm;
381
+ }
382
+ elm = elm.parentNode;
383
+ }
384
+ };
385
+ var replaceWithSpans = function (html) {
386
+ return html.replace($_aa0v31sxjm0og28p.regExpGlobal, $_724dsdt7jm0og2a0.wrapCharWithSpan);
387
+ };
388
+ var $_4qefmtsyjm0og28r = {
389
+ isMatch: isMatch,
390
+ filterDescendants: filterDescendants,
391
+ findParentElm: findParentElm,
392
+ replaceWithSpans: replaceWithSpans
393
+ };
394
+
395
+ var show = function (editor, rootElm) {
396
+ var node, div;
397
+ var nodeList = $_4qefmtsyjm0og28r.filterDescendants(Element$$1.fromDom(rootElm), $_4qefmtsyjm0og28r.isMatch);
398
+ each(nodeList, function (n) {
399
+ var withSpans = $_4qefmtsyjm0og28r.replaceWithSpans($_6qboq0t5jm0og29x.value(n));
400
+ div = editor.dom.create('div', null, withSpans);
401
+ while (node = div.lastChild) {
402
+ editor.dom.insertAfter(node, n.dom());
403
+ }
404
+ editor.dom.remove(n.dom());
405
+ });
406
+ };
407
+ var hide = function (editor, body) {
408
+ var nodeList = editor.dom.select($_aa0v31sxjm0og28p.selector, body);
409
+ each(nodeList, function (node) {
410
+ editor.dom.remove(node, 1);
411
+ });
412
+ };
413
+ var toggle = function (editor) {
414
+ var body = editor.getBody();
415
+ var bookmark = editor.selection.getBookmark();
416
+ var parentNode = $_4qefmtsyjm0og28r.findParentElm(editor.selection.getNode(), body);
417
+ parentNode = parentNode !== undefined ? parentNode : body;
418
+ hide(editor, parentNode);
419
+ show(editor, parentNode);
420
+ editor.selection.moveToBookmark(bookmark);
421
+ };
422
+ var $_d6h2shswjm0og28i = {
423
+ show: show,
424
+ hide: hide,
425
+ toggle: toggle
426
+ };
427
+
428
+ var toggleVisualChars = function (editor, toggleState) {
429
+ var body = editor.getBody();
430
+ var selection = editor.selection;
431
+ var bookmark;
432
+ toggleState.set(!toggleState.get());
433
+ $_bdr3mcsvjm0og28h.fireVisualChars(editor, toggleState.get());
434
+ bookmark = selection.getBookmark();
435
+ if (toggleState.get() === true) {
436
+ $_d6h2shswjm0og28i.show(editor, body);
437
+ } else {
438
+ $_d6h2shswjm0og28i.hide(editor, body);
439
+ }
440
+ selection.moveToBookmark(bookmark);
441
+ };
442
+ var $_9adayusujm0og28g = { toggleVisualChars: toggleVisualChars };
443
+
444
+ var register = function (editor, toggleState) {
445
+ editor.addCommand('mceVisualChars', function () {
446
+ $_9adayusujm0og28g.toggleVisualChars(editor, toggleState);
447
+ });
448
+ };
449
+ var $_77bhnbstjm0og28f = { register: register };
450
+
451
+ var global$1 = tinymce.util.Tools.resolve('tinymce.util.Delay');
452
+
453
+ var setup = function (editor, toggleState) {
454
+ var debouncedToggle = global$1.debounce(function () {
455
+ $_d6h2shswjm0og28i.toggle(editor);
456
+ }, 300);
457
+ if (editor.settings.forced_root_block !== false) {
458
+ editor.on('keydown', function (e) {
459
+ if (toggleState.get() === true) {
460
+ e.keyCode === 13 ? $_d6h2shswjm0og28i.toggle(editor) : debouncedToggle();
461
+ }
462
+ });
463
+ }
464
+ };
465
+ var $_n2t3xt8jm0og2a9 = { setup: setup };
466
+
467
+ var toggleActiveState = function (editor) {
468
+ return function (e) {
469
+ var ctrl = e.control;
470
+ editor.on('VisualChars', function (e) {
471
+ ctrl.active(e.state);
472
+ });
473
+ };
474
+ };
475
+ var register$1 = function (editor) {
476
+ editor.addButton('visualchars', {
477
+ active: false,
478
+ title: 'Show invisible characters',
479
+ cmd: 'mceVisualChars',
480
+ onPostRender: toggleActiveState(editor)
481
+ });
482
+ editor.addMenuItem('visualchars', {
483
+ text: 'Show invisible characters',
484
+ cmd: 'mceVisualChars',
485
+ onPostRender: toggleActiveState(editor),
486
+ selectable: true,
487
+ context: 'view',
488
+ prependToContext: true
489
+ });
490
+ };
491
+
492
+ global.add('visualchars', function (editor) {
493
+ var toggleState = Cell(false);
494
+ $_77bhnbstjm0og28f.register(editor, toggleState);
495
+ register$1(editor);
496
+ $_n2t3xt8jm0og2a9.setup(editor, toggleState);
497
+ return $_91givrssjm0og28e.get(toggleState);
498
+ });
499
+ function Plugin () {
500
+ }
501
+
502
+ return Plugin;
503
+
504
+ }());
505
+ })();