w-data-html-minify 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintignore +3 -0
  3. package/.eslintrc.js +55 -0
  4. package/.jsdoc +25 -0
  5. package/README.md +36 -0
  6. package/SECURITY.md +5 -0
  7. package/babel.config.js +15 -0
  8. package/dist/w-data-html-minify.umd.js +7 -0
  9. package/dist/w-data-html-minify.umd.js.map +1 -0
  10. package/docs/WDataHtmlMinify.mjs.html +134 -0
  11. package/docs/examples/ex-html-minify.html +94 -0
  12. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  13. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  14. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  15. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  16. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  17. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  18. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  19. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  20. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  21. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  22. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  23. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  24. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  25. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  26. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  27. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  28. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  30. package/docs/global.html +459 -0
  31. package/docs/htmlminifier.js.html +26278 -0
  32. package/docs/importHtmlminify.mjs.html +107 -0
  33. package/docs/index.html +84 -0
  34. package/docs/scripts/collapse.js +39 -0
  35. package/docs/scripts/commonNav.js +28 -0
  36. package/docs/scripts/linenumber.js +25 -0
  37. package/docs/scripts/nav.js +12 -0
  38. package/docs/scripts/polyfill.js +4 -0
  39. package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  40. package/docs/scripts/prettify/lang-css.js +2 -0
  41. package/docs/scripts/prettify/prettify.js +28 -0
  42. package/docs/scripts/search.js +99 -0
  43. package/docs/styles/jsdoc.css +776 -0
  44. package/docs/styles/prettify.css +80 -0
  45. package/examples/ex-html-minify.html +94 -0
  46. package/g.test.minify.mjs +15 -0
  47. package/package.json +31 -0
  48. package/src/WDataHtmlMinify.mjs +62 -0
  49. package/src/_convertHtmlminifierCode.mjs +24 -0
  50. package/src/_htmlminifierCoreBrowser.mjs +1 -0
  51. package/src/_importHtmlminifierBrowser.mjs +46 -0
  52. package/src/_importHtmlminifierNode.mjs +7 -0
  53. package/src/htmlminifier.js +26206 -0
  54. package/src/htmlminifier.min.js +7 -0
  55. package/src/importHtmlminify.mjs +35 -0
  56. package/src/rq.js +3 -0
  57. package/test/all.test.mjs +20 -0
  58. package/toolg/addVersion.mjs +4 -0
  59. package/toolg/cleanFolder.mjs +4 -0
  60. package/toolg/gDistRollup.mjs +46 -0
  61. package/toolg/gDocsExams.mjs +48 -0
  62. package/toolg/modifyReadme.mjs +4 -0
@@ -0,0 +1,99 @@
1
+
2
+ var searchAttr = 'data-search-mode';
3
+ function contains(a,m){
4
+ return (a.textContent || a.innerText || "").toUpperCase().indexOf(m) !== -1;
5
+ };
6
+
7
+ //on search
8
+ document.getElementById("nav-search").addEventListener("keyup", function(event) {
9
+ var search = this.value.toUpperCase();
10
+
11
+ if (!search) {
12
+ //no search, show all results
13
+ document.documentElement.removeAttribute(searchAttr);
14
+
15
+ document.querySelectorAll("nav > ul > li:not(.level-hide)").forEach(function(elem) {
16
+ elem.style.display = "block";
17
+ });
18
+
19
+ if (typeof hideAllButCurrent === "function"){
20
+ //let's do what ever collapse wants to do
21
+ hideAllButCurrent();
22
+ } else {
23
+ //menu by default should be opened
24
+ document.querySelectorAll("nav > ul > li > ul li").forEach(function(elem) {
25
+ elem.style.display = "block";
26
+ });
27
+ }
28
+ } else {
29
+ //we are searching
30
+ document.documentElement.setAttribute(searchAttr, '');
31
+
32
+ //show all parents
33
+ document.querySelectorAll("nav > ul > li").forEach(function(elem) {
34
+ elem.style.display = "block";
35
+ });
36
+ document.querySelectorAll("nav > ul").forEach(function(elem) {
37
+ elem.style.display = "block";
38
+ });
39
+ //hide all results
40
+ document.querySelectorAll("nav > ul > li > ul li").forEach(function(elem) {
41
+ elem.style.display = "none";
42
+ });
43
+ //show results matching filter
44
+ document.querySelectorAll("nav > ul > li > ul a").forEach(function(elem) {
45
+ if (!contains(elem.parentNode, search)) {
46
+ return;
47
+ }
48
+ elem.parentNode.style.display = "block";
49
+ });
50
+ //hide parents without children
51
+ document.querySelectorAll("nav > ul > li").forEach(function(parent) {
52
+ var countSearchA = 0;
53
+ parent.querySelectorAll("a").forEach(function(elem) {
54
+ if (contains(elem, search)) {
55
+ countSearchA++;
56
+ }
57
+ });
58
+
59
+ var countUl = 0;
60
+ var countUlVisible = 0;
61
+ parent.querySelectorAll("ul").forEach(function(ulP) {
62
+ // count all elements that match the search
63
+ if (contains(ulP, search)) {
64
+ countUl++;
65
+ }
66
+
67
+ // count all visible elements
68
+ var children = ulP.children
69
+ for (i=0; i<children.length; i++) {
70
+ var elem = children[i];
71
+ if (elem.style.display != "none") {
72
+ countUlVisible++;
73
+ }
74
+ }
75
+ });
76
+
77
+ if (countSearchA == 0 && countUl === 0){
78
+ //has no child at all and does not contain text
79
+ parent.style.display = "none";
80
+ } else if(countSearchA == 0 && countUlVisible == 0){
81
+ //has no visible child and does not contain text
82
+ parent.style.display = "none";
83
+ }
84
+ });
85
+ document.querySelectorAll("nav > ul.collapse_top").forEach(function(parent) {
86
+ var countVisible = 0;
87
+ parent.querySelectorAll("li").forEach(function(elem) {
88
+ if (elem.style.display !== "none") {
89
+ countVisible++;
90
+ }
91
+ });
92
+
93
+ if (countVisible == 0) {
94
+ //has no child at all and does not contain text
95
+ parent.style.display = "none";
96
+ }
97
+ });
98
+ }
99
+ });