j1-template 2024.1.5 → 2024.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_page.html +0 -34
  3. data/_includes/themes/j1/modules/searcher/generator.html +4 -1
  4. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +59 -56
  5. data/assets/data/authclient.html +1 -8
  6. data/assets/data/banner.html +1 -7
  7. data/assets/data/fab.html +2 -13
  8. data/assets/data/footer.html +0 -3
  9. data/assets/data/galeries.html +2 -13
  10. data/assets/data/gemini-ui.html +74 -21
  11. data/assets/data/iframes.html +1 -4
  12. data/assets/data/masonry.html +1 -13
  13. data/assets/data/masterslider.html +10 -21
  14. data/assets/data/menu.html +6 -14
  15. data/assets/data/mmenu.html +6 -5
  16. data/assets/data/mmenu_toc.html +2 -1
  17. data/assets/data/panel.html +4 -11
  18. data/assets/data/particles.yml +8 -8
  19. data/assets/data/quicklinks.html +4 -23
  20. data/assets/data/rtext_resizer.html +3 -1
  21. data/assets/data/slick.html +9 -11
  22. data/assets/data/translator.html +0 -1
  23. data/assets/themes/j1/adapter/js/advertising.js +141 -172
  24. data/assets/themes/j1/adapter/js/algolia.js +61 -54
  25. data/assets/themes/j1/adapter/js/analytics.js +67 -47
  26. data/assets/themes/j1/adapter/js/asciidoctor.js +32 -20
  27. data/assets/themes/j1/adapter/js/attic.js +75 -69
  28. data/assets/themes/j1/adapter/js/bmd.js +195 -177
  29. data/assets/themes/j1/adapter/js/carousel.js +786 -761
  30. data/assets/themes/j1/adapter/js/chatbot.js +77 -35
  31. data/assets/themes/j1/adapter/js/clipboard.js +66 -49
  32. data/assets/themes/j1/adapter/js/comments.js +92 -70
  33. data/assets/themes/j1/adapter/js/cookieConsent.js +466 -462
  34. data/assets/themes/j1/adapter/js/customFunctions.js +52 -35
  35. data/assets/themes/j1/adapter/js/customModule.js +56 -46
  36. data/assets/themes/j1/adapter/js/docsearch.js +54 -34
  37. data/assets/themes/j1/adapter/js/dropdowns.js +65 -52
  38. data/assets/themes/j1/adapter/js/fab.js +123 -109
  39. data/assets/themes/j1/adapter/js/gallery.js +494 -476
  40. data/assets/themes/j1/adapter/js/gemini.js +933 -299
  41. data/assets/themes/j1/adapter/js/iconPicker.js +255 -235
  42. data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -0
  43. data/assets/themes/j1/adapter/js/iframer.js +81 -61
  44. data/assets/themes/j1/adapter/js/j1.js +3285 -3222
  45. data/assets/themes/j1/adapter/js/lazyLoader.js +241 -222
  46. data/assets/themes/j1/adapter/js/lightbox.js +241 -241
  47. data/assets/themes/j1/adapter/js/logger.js +77 -66
  48. data/assets/themes/j1/adapter/js/lunr.js +688 -86
  49. data/assets/themes/j1/adapter/js/masonry.js +426 -411
  50. data/assets/themes/j1/adapter/js/masterslider.js +526 -527
  51. data/assets/themes/j1/adapter/js/mmenu.js +101 -66
  52. data/assets/themes/j1/adapter/js/navigator.js +291 -356
  53. data/assets/themes/j1/adapter/js/particles.js +61 -40
  54. data/assets/themes/j1/adapter/js/rangeSlider.js +65 -48
  55. data/assets/themes/j1/adapter/js/rouge.js +287 -269
  56. data/assets/themes/j1/adapter/js/rtable.js +309 -293
  57. data/assets/themes/j1/adapter/js/rtextResizer.js +57 -44
  58. data/assets/themes/j1/adapter/js/scroller.js +170 -133
  59. data/assets/themes/j1/adapter/js/slick.js +487 -485
  60. data/assets/themes/j1/adapter/js/slimSelect.js +290 -0
  61. data/assets/themes/j1/adapter/js/speak2me.js +124 -128
  62. data/assets/themes/j1/adapter/js/themeToggler.js +280 -260
  63. data/assets/themes/j1/adapter/js/{themer.js → themes.js} +145 -113
  64. data/assets/themes/j1/adapter/js/toccer.js +87 -54
  65. data/assets/themes/j1/adapter/js/translator.js +73 -70
  66. data/assets/themes/j1/adapter/js/waves.js +74 -58
  67. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +29 -11
  68. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
  69. data/assets/themes/j1/core/js/template.js +474 -420
  70. data/assets/themes/j1/core/js/template.min.js +7 -7
  71. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  72. data/assets/themes/j1/modules/carousel/css/theme/uno.css +4 -4
  73. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  74. data/assets/themes/j1/modules/clipboard/js/clipboard.js +0 -1
  75. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +4 -4
  76. data/assets/themes/j1/modules/iconPicker/css/theme/uno.css +58 -0
  77. data/assets/themes/j1/modules/iconPicker/css/theme/uno.min.css +16 -0
  78. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.0.js +493 -0
  79. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +7 -7
  80. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +4 -4
  81. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +2 -10
  82. data/assets/themes/j1/modules/lunr/css/j1.css +12 -6
  83. data/assets/themes/j1/modules/lunr/css/j1.min.css +1 -1
  84. data/assets/themes/j1/modules/lunr/js/j1.js +46 -43
  85. data/assets/themes/j1/modules/lunr/js/j1.min.js +1 -1
  86. data/assets/themes/j1/modules/masterslider/js/masterslider.js +1 -1
  87. data/assets/themes/j1/modules/scroller/js/scroller.js +64 -74
  88. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  89. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +4 -4
  90. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  91. data/assets/themes/j1/modules/slimSelect/js/select.js +1865 -1821
  92. data/assets/themes/j1/modules/slimSelect/js/select.min.js +2 -1
  93. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +87 -89
  94. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  95. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/player.min.js +5 -7
  96. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/v2.20.1/player.min.js +23 -0
  97. data/lib/j1/version.rb +1 -1
  98. data/lib/starter_web/Gemfile +2 -2
  99. data/lib/starter_web/README.md +5 -5
  100. data/lib/starter_web/_config.yml +1 -1
  101. data/lib/starter_web/_data/blocks/_panel.yml +775 -0
  102. data/lib/starter_web/_data/blocks/panel.yml +53 -53
  103. data/lib/starter_web/_data/j1_config.yml +3 -2
  104. data/lib/starter_web/_data/layouts/default.yml +0 -2
  105. data/lib/starter_web/_data/modules/_scroller.yml +102 -0
  106. data/lib/starter_web/_data/modules/carousel.yml +3 -3
  107. data/lib/starter_web/_data/modules/defaults/attics.yml +5 -5
  108. data/lib/starter_web/_data/modules/defaults/docsearch.yml +1 -1
  109. data/lib/starter_web/_data/modules/defaults/gemini.yml +204 -46
  110. data/lib/starter_web/_data/modules/defaults/{iconPicker.yml → icon_picker.yml} +6 -12
  111. data/lib/starter_web/_data/modules/defaults/lunr.yml +20 -5
  112. data/lib/starter_web/_data/modules/defaults/masterslider.yml +4 -4
  113. data/lib/starter_web/_data/modules/defaults/navigator.yml +20 -24
  114. data/lib/starter_web/_data/modules/defaults/particles.yml +3 -3
  115. data/lib/starter_web/_data/modules/defaults/slim_select.yml +54 -0
  116. data/lib/starter_web/_data/modules/defaults/{themer.yml → themes.yml} +171 -171
  117. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  118. data/lib/starter_web/_data/modules/gallery.yml +33 -38
  119. data/lib/starter_web/_data/modules/gemini.yml +42 -3
  120. data/lib/starter_web/_data/modules/{iconPicker.yml → icon_picker.yml} +31 -3
  121. data/lib/starter_web/_data/modules/lunr.yml +12 -1
  122. data/lib/starter_web/_data/modules/masonry.yml +37 -38
  123. data/lib/starter_web/_data/modules/masterslider.yml +78 -95
  124. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -20
  125. data/lib/starter_web/_data/modules/particles.yml +3 -3
  126. data/lib/starter_web/_data/modules/scroller.yml +3 -3
  127. data/lib/starter_web/_data/modules/slim_select.yml +110 -0
  128. data/lib/starter_web/_data/modules/{themer.yml → themes.yml} +4 -4
  129. data/lib/starter_web/_data/resources.yml +57 -47
  130. data/lib/starter_web/_data/templates/feed.xml +1 -1
  131. data/lib/starter_web/_includes/attributes.asciidoc +354 -355
  132. data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
  133. data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +45 -0
  134. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  135. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +5 -2
  136. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -3
  137. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +9 -9
  138. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +4 -4
  139. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -2
  140. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +12 -12
  141. data/lib/starter_web/package.json +1 -1
  142. data/lib/starter_web/pages/public/about/features.adoc +1 -1
  143. data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -0
  144. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +44 -44
  145. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -0
  146. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +12 -12
  147. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  148. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/attributes.asciidoc +42 -28
  149. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/highlghter_rouge.adoc +1 -0
  150. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/lunr_search.adoc +1 -0
  151. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_audio_video.adoc +18 -2
  152. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_images.adoc +500 -507
  153. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +6 -11
  154. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +4 -11
  155. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +5 -12
  156. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -10
  157. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +10 -9
  158. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +77 -75
  159. metadata +50 -46
  160. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/attributes.asciidoc +0 -47
  161. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
  162. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/readme +0 -0
  163. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/tables/readme +0 -0
  164. data/lib/starter_web/pages/public/manuals/integrations/gemini/gemini.adoc +0 -525
  165. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.asccidoc +0 -274
  166. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.hrml +0 -560
  167. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_biography.adoc +0 -0
  168. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_fantasy.adoc +0 -0
  169. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_romance.adoc +0 -0
  170. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/jekyll_collections.adoc +0 -0
  171. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/viewer_all_books.adoc +0 -0
  172. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/100_gistblock.asciidoc +0 -0
  173. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -0
  174. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -0
  175. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -0
  176. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_central_success.asciidoc +0 -0
  177. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -0
  178. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -0
  179. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -0
  180. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_info.asciidoc +0 -0
  181. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -0
  182. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -0
  183. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -0
  184. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -0
  185. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_bootstrap.asciidoc +0 -0
  186. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_rouge.asciidoc +0 -0
  187. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/asciidoc_extensions.adoc +0 -0
  188. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/bootstrap_themes.adoc +0 -0
  189. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/icon_fonts.adoc +0 -0
  190. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/modal_extentions.adoc +0 -0
  191. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/responsive_tables.adoc +0 -0
  192. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/typography.adoc +0 -0
  193. /data/lib/starter_web/pages/public/{legal/learn → learn}/where_to_go.adoc +0 -0
@@ -52,7 +52,7 @@ padding-left: 1px;
52
52
 
53
53
  .owl-carousel .item p {
54
54
  margin: 3px;
55
- color: var(--bs-gray-500);
55
+ color: var(--md-gray-700);
56
56
  }
57
57
 
58
58
  .owl-carousel .item img {
@@ -72,8 +72,8 @@ padding-left: 1px;
72
72
  ------------------------------------------------------------------------------- */
73
73
 
74
74
  .owl-btn {
75
- color: var(--bs-gray);
76
- background: var(--bs-gray-100);
75
+ color: var(--md-gray);
76
+ background: var(--md-gray-100);
77
77
  cursor: pointer;
78
78
  font-size: 18px;
79
79
  padding: 2px 9px;
@@ -91,7 +91,7 @@ padding-left: 1px;
91
91
  }
92
92
 
93
93
  .owl-theme .owl-controls .owl-buttons div {
94
- color: var(--bs-gray-900);
94
+ color: var(--md-gray-900);
95
95
  display: inline-block;
96
96
  zoom: 1;
97
97
  margin: 5px;
@@ -12,4 +12,4 @@
12
12
  # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- .j1-owl-gutter.row{margin-right:0;margin-left:0}.j1-owl-gutter>[class^="col-"],.j1-owl-gutter>[class^=" col-"]{padding-right:0;padding-left:0}.j1-owl-gutter-2.row{margin-right:-1px;margin-left:-1px}.j1-owl-gutter-2>[class^="col-"],.j1-owl-gutter-2>[class^=" col-"]{padding-right:1px;padding-left:1px}.owl-carousel .owl-item>a{border-bottom:unset}.owl-carousel .owl-item>a:hover{color:rgba(0,0,0,0.5) !important}.owl-carousel .item p{margin:3px;color:var(--bs-gray-500)}.owl-carousel .item img{opacity:1;width:100%;height:auto}.slider-title{line-height:1.25rem;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.owl-btn{color:var(--bs-gray);background:var(--bs-gray-100);cursor:pointer;font-size:18px;padding:2px 9px;text-align:center}.owl-btn:hover{color:var(--bs-white);background:var(--bs-green)}.owl-theme .owl-controls{margin-top:10px;text-align:center}.owl-theme .owl-controls .owl-buttons div{color:var(--bs-gray-900);display:inline-block;zoom:1;margin:5px;padding:3px 10px;font-size:12px;font-weight:500;-webkit-border-radius:30px;-moz-border-radius:30px;background:var(--bs-primary)}.owl-theme .owl-controls.clickable .owl-buttons div:hover{opacity:1;text-decoration:none}.owl-theme .owl-controls .owl-page{display:inline-block;zoom:1}.owl-theme .owl-controls .owl-page span{display:block;width:1.25rem;height:1.25rem;margin:5px 7px;filter:Alpha(Opacity=50);opacity:.5;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;background:var(--bs-primary)}.owl-theme .owl-controls .owl-page.active span,.owl-theme .owl-controls.clickable .owl-page:hover span{opacity:1}.owl-theme .owl-controls .owl-page span.owl-numbers{height:auto;width:auto;color:var(--bs-white);padding:2px 10px;font-size:12px;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px}.owl-item.loading{min-height:150px;background:url(../../images/ajax-loader.gif) no-repeat center center}.owl-carousel .container{display:table;height:inherit}.owl-carousel .caption{display:table-cell}.owl-carousel .caption h1,.owl-carousel .caption p,.owl-carousel .caption div{position:relative;margin-top:2rem;margin-right:2rem;margin-left:2rem}.owl-carousel .caption h1 span{padding:.25em 0;line-height:180%}.owl-item .carousel-caption{opacity:0;position:absolute;bottom:3px;left:3px;right:3px;font-size:1rem;font-weight:300;font-family:sans-serif;z-index:10;padding-left:10px}.owl-item .carousel-caption:hover{opacity:1;-webkit-transition:opacity 500ms;-moz-transition:opacity 500ms;-o-transition:opacity 500ms;transition:opacity 500ms;background:rgba(0,0,0,0.5)}
15
+ .j1-owl-gutter.row{margin-right:0;margin-left:0}.j1-owl-gutter>[class^="col-"],.j1-owl-gutter>[class^=" col-"]{padding-right:0;padding-left:0}.j1-owl-gutter-2.row{margin-right:-1px;margin-left:-1px}.j1-owl-gutter-2>[class^="col-"],.j1-owl-gutter-2>[class^=" col-"]{padding-right:1px;padding-left:1px}.owl-carousel .owl-item>a{border-bottom:unset}.owl-carousel .owl-item>a:hover{color:rgba(0,0,0,0.5) !important}.owl-carousel .item p{margin:3px;color:var(--md-gray-700)}.owl-carousel .item img{opacity:1;width:100%;height:auto}.slider-title{line-height:1.25rem;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.owl-btn{color:var(--md-gray);background:var(--md-gray-100);cursor:pointer;font-size:18px;padding:2px 9px;text-align:center}.owl-btn:hover{color:var(--bs-white);background:var(--bs-green)}.owl-theme .owl-controls{margin-top:10px;text-align:center}.owl-theme .owl-controls .owl-buttons div{color:var(--md-gray-900);display:inline-block;zoom:1;margin:5px;padding:3px 10px;font-size:12px;font-weight:500;-webkit-border-radius:30px;-moz-border-radius:30px;background:var(--bs-primary)}.owl-theme .owl-controls.clickable .owl-buttons div:hover{opacity:1;text-decoration:none}.owl-theme .owl-controls .owl-page{display:inline-block;zoom:1}.owl-theme .owl-controls .owl-page span{display:block;width:1.25rem;height:1.25rem;margin:5px 7px;filter:Alpha(Opacity=50);opacity:.5;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;background:var(--bs-primary)}.owl-theme .owl-controls .owl-page.active span,.owl-theme .owl-controls.clickable .owl-page:hover span{opacity:1}.owl-theme .owl-controls .owl-page span.owl-numbers{height:auto;width:auto;color:var(--bs-white);padding:2px 10px;font-size:12px;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px}.owl-item.loading{min-height:150px;background:url(../../images/ajax-loader.gif) no-repeat center center}.owl-carousel .container{display:table;height:inherit}.owl-carousel .caption{display:table-cell}.owl-carousel .caption h1,.owl-carousel .caption p,.owl-carousel .caption div{position:relative;margin-top:2rem;margin-right:2rem;margin-left:2rem}.owl-carousel .caption h1 span{padding:.25em 0;line-height:180%}.owl-item .carousel-caption{opacity:0;position:absolute;bottom:3px;left:3px;right:3px;font-size:1rem;font-weight:300;font-family:sans-serif;z-index:10;padding-left:10px}.owl-item .carousel-caption:hover{opacity:1;-webkit-transition:opacity 500ms;-moz-transition:opacity 500ms;-o-transition:opacity 500ms;transition:opacity 500ms;background:rgba(0,0,0,0.5)}
@@ -453,7 +453,6 @@ function delegate(elements, selector, type, callback, useCapture) {
453
453
  function listener(element, selector, type, callback) {
454
454
  return function(e) {
455
455
  e.delegateTarget = closest(e.target, selector);
456
-
457
456
  if (e.delegateTarget) {
458
457
  callback.call(element, e);
459
458
  }
@@ -49,8 +49,8 @@ function CookieConsent(props) {
49
49
  var current_page;
50
50
  var whitelisted;
51
51
 
52
- logger.info('\n' + 'initializing core module: started');
53
- logger.info('\n' + 'state: started');
52
+ logger.debug('\n' + 'initializing core module: started');
53
+ logger.debug('\n' + 'state: started');
54
54
 
55
55
  if (navigatorLanguage.indexOf("-") !== -1) {
56
56
  navigatorLanguage = navigatorLanguage.split("-")[0];
@@ -395,8 +395,8 @@ function CookieConsent(props) {
395
395
 
396
396
  // API functions
397
397
  // ---------------------------------------------------------------------------
398
- logger.info('\n' + 'initializing core module finished');
399
- logger.info('\n' + 'state: finished');
398
+ logger.debug('\n' + 'initializing core module finished');
399
+ logger.debug('\n' + 'state: finished');
400
400
 
401
401
  // show the consent dialog (modal)
402
402
  // ---------------------------------------------------------------------------
@@ -0,0 +1,58 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/theme_uno/modules/iconPicker/css/theme/uno.css
4
+ # UniversalIconPicker theme for J1 Theme
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ #
9
+ # Copyright (C) 2023, 2024 Juergen Adams
10
+ #
11
+ # J1 Template is licensed under the MIT License.
12
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
13
+ # -----------------------------------------------------------------------------
14
+ */
15
+
16
+ .uip-modal .uip-modal--content .uip-modal--header
17
+ .uip-modal--header-logo-title {
18
+ /*jadams, 2023-05-21: increased font size */
19
+ font-size: 20px !important;
20
+ }
21
+
22
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner
23
+ .uip-modal--icon-preview {
24
+ grid-gap: 10px !important; /* jadams, was 20px */
25
+ }
26
+
27
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview
28
+ .uip-icon-item:hover {
29
+ background-color: #9FA8DA !important; /* jadams, added: mdi-blue-300 */
30
+ }
31
+
32
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview
33
+ .uip-icon-item.universal-selected {
34
+ -webkit-box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #1976D2 !important; /* jadams, was: #1cc2ff, now: mdi-blue-700 */
35
+ box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 0 0 3px #1976D2 !important; /* jadams, was: #1cc2ff, now: mdi-blue-700 */
36
+ }
37
+
38
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item .uip-icon-item-inner .uip-icon-item__icon,
39
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview
40
+ .uip-icon-item .uip-icon-item-inner i {
41
+ font-size: 36px !important; /* jadams, was: 25px */
42
+ color: #616161 !important; /* jadams, was: #6d7882 */
43
+ }
44
+
45
+ .uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item .uip-icon-item-inner
46
+ .uip-icon-item-name {
47
+ color: #616161 !important; /* jadams, was: #c2cbd2, now: mdi-gray-700 */
48
+ }
49
+
50
+ .uip-modal .uip-modal--footer
51
+ button.uip-insert-icon-button:hover {
52
+ background-color: #1976D2 !important; /* jadams: mdi-blue-700 */
53
+ }
54
+
55
+ .uip-modal .uip-modal--footer
56
+ button.uip-insert-icon-button {
57
+ background-color: #2196F3 !important; /* jadams, was: #42d6a0, now: mdi-blue */
58
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/theme_uno/modules/iconPicker/css/theme/uno.min.css
4
+ # UniversalIconPicker theme for J1 Theme
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ #
9
+ # Copyright (C) 2023, 2024 Juergen Adams
10
+ #
11
+ # J1 Template is licensed under the MIT License.
12
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
13
+ # -----------------------------------------------------------------------------
14
+ */
15
+
16
+ .uip-modal .uip-modal--content .uip-modal--header .uip-modal--header-logo-title{font-size:20px !important}.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview{grid-gap:10px !important}.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item:hover{background-color:#9fa8da !important}.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item.universal-selected{-webkit-box-shadow:0 1px 12px rgba(0,0,0,0.05),0 0 0 3px #1976d2 !important;box-shadow:0 1px 12px rgba(0,0,0,0.05),0 0 0 3px #1976d2 !important}.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item .uip-icon-item-inner .uip-icon-item__icon,.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item .uip-icon-item-inner i{font-size:36px !important;color:#616161 !important}.uip-modal .uip-modal--content .uip-modal--body .uip-modal--icon-preview-wrap .uip-modal--icon-preview-inner .uip-modal--icon-preview .uip-icon-item .uip-icon-item-inner .uip-icon-item-name{color:#616161 !important}.uip-modal .uip-modal--footer button.uip-insert-icon-button:hover{background-color:#1976d2 !important}.uip-modal .uip-modal--footer button.uip-insert-icon-button{background-color:#2196f3 !important}
@@ -0,0 +1,493 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/theme_uno/modules/iconPicker/js/universal-icon-picker.js
4
+ # UniversalIconPicker v.1.1.0 implementation for J1 Theme
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ # https://github.com/migliori/universal-icon-picker
9
+ #
10
+ # Copyright (C) 2023, 2024 Juergen Adams
11
+ # Copyright (C) 2023 Gilles Migliori
12
+ #
13
+ # J1 Template is licensed under the MIT License.
14
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
15
+ # -----------------------------------------------------------------------------
16
+ */
17
+ const iconPickerUrl = document.currentScript.src.replace(/js\/([a-z\.-]+)$/gm, '');
18
+ const loadedDependencies = [];
19
+
20
+ (function (root, factory) {
21
+ if (typeof define === 'function' && define.amd) {
22
+ define([], factory('UniversalIconPicker'));
23
+ } else if (typeof exports === 'object') {
24
+ module.exports = factory('UniversalIconPicker');
25
+ } else {
26
+ root['UniversalIconPicker'] = factory('UniversalIconPicker');
27
+ }
28
+ }(this, function () {
29
+ 'use strict';
30
+
31
+ const createDomEle = function (string) {
32
+ const ele = document.createElement('div');
33
+ ele.innerHTML = string;
34
+ return ele.firstChild;
35
+ }
36
+
37
+ const debounce = function (func, wait, immediate) {
38
+ let timeout;
39
+ return function () {
40
+ const context = this,
41
+ args = arguments;
42
+ const later = function () {
43
+ timeout = null;
44
+ if (!immediate) func.apply(context, args);
45
+ };
46
+ const callNow = immediate && !timeout;
47
+ clearTimeout(timeout);
48
+ timeout = setTimeout(later, wait);
49
+ if (callNow) func.apply(context, args);
50
+ };
51
+ };
52
+
53
+ const escapeHtml = function (text) {
54
+ const map = {
55
+ '&': '&',
56
+ '<': '&lt;',
57
+ '>': '&gt;',
58
+ '"': '&quot;',
59
+ "'": '&#039;'
60
+ };
61
+
62
+ return text.replace(/[&<>"']/g, function (m) { return map[m]; });
63
+ };
64
+
65
+ /**
66
+ * Merge defaults with user options
67
+ * @param {Object} defaults Default settings
68
+ * @param {Object} options User options
69
+ */
70
+ const extend = function (defaults, options) {
71
+ let prop, extended = {};
72
+ for (prop in defaults) {
73
+ if (Object.prototype.hasOwnProperty.call(defaults, prop)) {
74
+ extended[prop] = defaults[prop];
75
+ }
76
+ }
77
+ for (prop in options) {
78
+ if (Object.prototype.hasOwnProperty.call(options, prop)) {
79
+ extended[prop] = options[prop];
80
+ }
81
+ }
82
+
83
+ return extended;
84
+ };
85
+
86
+ const getLibraryName = function (string) {
87
+ return string.replace(/([A-Z])/g, ' $1');
88
+ }
89
+
90
+ /**
91
+ * Plugin Object
92
+ * @param selector The html selector to initialize
93
+ * @param {Object} options User options
94
+ * @constructor
95
+ */
96
+ function UniversalIconPicker (selector, options) {
97
+ this.selector = selector;
98
+
99
+ let defaults = {
100
+ allowEmpty: true,
101
+ iconLibraries: null,
102
+ iconLibrariesCss: null,
103
+ mode: 'autoload', // autoload | onrequest
104
+ onBeforeOpen: null,
105
+ onReset: null,
106
+ onSelect: null,
107
+ resetSelector: null,
108
+ loadCustomCss: false
109
+ };
110
+ this.options = extend(defaults, options);
111
+
112
+ this.activeLibraryId = '';
113
+ this.filterIcon = '';
114
+ this.iconEventsLoaded = false;
115
+ this.iconLibraries = {};
116
+ this.iconLibrariesLoaded = false;
117
+ this.iconMarkup = '';
118
+ this.iconWrap = '';
119
+ this.idSuffix = '-' + this.selector.replace(/[#\s[\]="]/g, '');
120
+ this.sideBarBtn = '';
121
+ this.sideBarList = [];
122
+
123
+ this.universalWrap = '<div class="uip-modal uip-open" id="uip-modal' + this.idSuffix + '"><div class="uip-modal--content"><div class="uip-modal--header"><div class="uip-modal--header-logo-area"><span class="uip-modal--header-logo-title">Icon Picker</span></div><div class="uip-modal--header-close-btn"><img src="' + iconPickerUrl + '/images/xmark-solid.svg" width="40" height="40" alt="Close" title="Close"></div></div><div class="uip-modal--body"><div id="uip-modal--sidebar' + this.idSuffix + '" class="uip-modal--sidebar"><div class="uip-modal--sidebar-tabs"></div></div><div id="uip-modal--icon-preview-wrap' + this.idSuffix + '" class="uip-modal--icon-preview-wrap"><div class="uip-modal--icon-search"><input name="" value="" placeholder="Filter by name..."><img src="' + iconPickerUrl + '/images/magnifying-glass-solid.svg" width="20" height="16" alt="Search" title="Search"></div><div class="uip-modal--icon-preview-inner"><div id="uip-modal--icon-preview' + this.idSuffix + '" class="uip-modal--icon-preview"></div></div></div></div><div class="uip-modal--footer"><button class="uip-insert-icon-button mt-3 mb-3 mr-6">Copy to clipboard</button></div></div></div>';
124
+
125
+ this.universalDomEle = createDomEle(this.universalWrap);
126
+ this.sidebarTabs = this.universalDomEle.querySelector('.uip-modal--sidebar-tabs');
127
+ this.previewWrap = this.universalDomEle.querySelector('#uip-modal--icon-preview' + this.idSuffix);
128
+ this.searchInput = this.universalDomEle.querySelector('.uip-modal--icon-search input');
129
+ if (this.options.mode === 'autoload') {
130
+ this.init();
131
+ } else {
132
+ document.querySelector(this.selector).addEventListener('click', this.init.bind(this), { once: true });
133
+ }
134
+ }
135
+
136
+
137
+ // Plugin prototype
138
+ UniversalIconPicker.prototype = {
139
+
140
+ /* Public functions
141
+ ------------------------------------------------------------------------ */
142
+
143
+ init: function () {
144
+ this._loadCssFiles();
145
+ if (this.options.mode !== 'autoload') {
146
+ this._onBeforeOpen().then(() => {
147
+ this.open();
148
+ });
149
+ }
150
+ document.querySelector(this.selector).addEventListener('click', () => {
151
+ this._onBeforeOpen().then(() => {
152
+ this.open();
153
+ });
154
+ });
155
+
156
+ //Remove selected icon
157
+ if (this.options.resetSelector) {
158
+ document.querySelector(this.options.resetSelector).addEventListener('click', this.options.onReset);
159
+ }
160
+ },
161
+
162
+ open: function () {
163
+ this._loadIconLibraries().then(() => {
164
+ this.iconLibrariesLoaded = true;
165
+ if (!document.getElementById('uip-modal' + this.idSuffix)) {
166
+ // push universal dom to body
167
+ document.body.appendChild(this.universalDomEle);
168
+
169
+ // jadams, 2023-05-21: disable page scrolling if modal is OPEN
170
+ document.body.classList.add('stop-scrolling');
171
+
172
+ // Icon library close by clicking close button
173
+ this.universalDomEle.querySelector('.uip-modal--header-close-btn').addEventListener('click', () => {
174
+ this.universalDomEle.classList.add('uip-close');
175
+ this.universalDomEle.classList.remove('uip-open');
176
+ // jadams, 2023-05-21: (re-)enable page scrolling if modal is CLOSED
177
+ document.body.classList.remove('stop-scrolling');
178
+ });
179
+
180
+ // Insert button
181
+ this.universalDomEle.querySelector('.uip-insert-icon-button').addEventListener('click', () => {
182
+ let selected = this.universalDomEle.querySelector('.universal-selected');
183
+
184
+ if (selected) {
185
+ let iconHtml = selected.querySelector('i').outerHTML;
186
+ let jsonOutput = {
187
+ 'libraryId': selected.dataset.libraryId,
188
+ 'libraryName': selected.dataset.libraryName,
189
+ 'iconHtml': null,
190
+ 'iconMarkup': null,
191
+ 'iconClass': null,
192
+ 'iconText': null
193
+ };
194
+ if (!selected.querySelector('i').classList.value.match('uip-icon-none')) {
195
+ jsonOutput.iconHtml = iconHtml;
196
+ jsonOutput.iconMarkup = escapeHtml(iconHtml);
197
+ jsonOutput.iconClass = selected.querySelector('i').classList.value;
198
+ jsonOutput.iconText = selected.querySelector('i').innerText;
199
+ }
200
+
201
+ this.options.onSelect(jsonOutput);
202
+ }
203
+ // jadams, 2023-05-21: disable modal CLOSE on a select
204
+ // this.universalDomEle.classList.add('uip-close');
205
+ // this.universalDomEle.classList.remove('uip-open');
206
+ });
207
+ } else {
208
+ // Icon library open if dom element exist
209
+ this.universalDomEle.classList.remove('uip-close');
210
+ this.universalDomEle.classList.add('uip-open');
211
+ // jadams, 2023-05-21: disable page scrolling if modal is OPEN
212
+ document.body.classList.add('stop-scrolling');
213
+ }
214
+
215
+ if (!this.iconEventsLoaded) {
216
+ // selected icon highlighted by adding class
217
+ this.universalDomEle.querySelectorAll('.uip-icon-item').forEach((item) => {
218
+ item.addEventListener('click', (evt) => {
219
+ this.iconWrap.forEach((el) => {
220
+ el.classList.remove('universal-selected');
221
+ });
222
+ evt.currentTarget.classList.toggle('universal-selected');
223
+ });
224
+ item.addEventListener('dblclick', (evt) => {
225
+ this.universalDomEle.querySelector('.uip-insert-icon-button').click();
226
+ });
227
+ });
228
+ this.iconEventsLoaded = true;
229
+ }
230
+
231
+ this.universalDomEle.querySelector('.uip-modal--icon-search input').focus();
232
+ });
233
+ },
234
+
235
+ setOptions: function (opts) {
236
+ this.options = extend(this.options, opts);
237
+ if (opts.iconLibrariesCss) {
238
+ this._loadCssFiles();
239
+ }
240
+ if (opts.iconLibraries) {
241
+ // dom icon events need to be reloaded
242
+ this.iconEventsLoaded = false;
243
+ this.iconLibrariesLoaded = false;
244
+ this._resetIconAndSidebarList();
245
+ }
246
+ },
247
+
248
+ /* Private functions
249
+ ------------------------------------------------------------------------ */
250
+
251
+ _clickHandlerFunc: function (e) {
252
+ if (!e.currentTarget.classList.contains('universal-active')) {
253
+ this.sideBarBtn.forEach(function (item) {
254
+ item.classList.remove('universal-active');
255
+ });
256
+ e.currentTarget.classList.add('universal-active')
257
+ }
258
+ this._sidebarFilterFunc(e.currentTarget.dataset['libraryId']);
259
+ },
260
+
261
+ _iconItemMarkup: function (libraryName, libraryItem) {
262
+ let markup = '',
263
+ library = libraryItem['icon-style'],
264
+ prefix = libraryItem['prefix'];
265
+
266
+ if (this.options.allowEmpty) {
267
+ markup += '<div class="uip-icon-item" data-library-id="' + library + '" data-filter="" data-library-name="' + libraryName + '"><div class="uip-icon-item-inner"><i class="' + prefix + ' uip-icon-none">&nbsp;</i><div class="uip-icon-item-name" title="None">None</div></div></div>';
268
+ }
269
+ if (prefix.match(/^material-icons/)) {
270
+ libraryItem['icons'].forEach(function (item) {
271
+ markup += '<div class="uip-icon-item" data-library-id="' + library + '" data-filter="' + item + '" data-library-name="' + libraryName + '"><div class="uip-icon-item-inner"><i class="' + prefix + '">' + item + '</i><div class="uip-icon-item-name" title="' + item + '">' + item.replace("-", " ") + '</div></div></div>';
272
+ });
273
+ } else {
274
+ libraryItem['icons'].forEach(function (item) {
275
+ markup += '<div class="uip-icon-item" data-library-id="' + library + '" data-filter="' + item + '" data-library-name="' + libraryName + '"><div class="uip-icon-item-inner"><i class="' + [prefix, item].join('') + '"></i><div class="uip-icon-item-name" title="' + item + '">' + item.replace("-", " ") + '</div></div></div>';
276
+ });
277
+ }
278
+
279
+ return markup;
280
+ },
281
+
282
+ _iconItemPush: function (arrayList) {
283
+ this.previewWrap.innerHTML = '';
284
+ arrayList.forEach((item) => {
285
+ this.previewWrap.appendChild(item[1]);
286
+ });
287
+ },
288
+
289
+ _loadCssFiles: function () {
290
+ let link = document.createElement('link');
291
+ if (!loadedDependencies.includes('universal-icon-picker.min.css') & !this.options.loadCustomCss) {
292
+ link.rel = 'stylesheet';
293
+ link.type = 'text/css';
294
+ link.href = iconPickerUrl + 'css/universal-icon-picker.min.css';
295
+ link.media = 'screen';
296
+ document.head.appendChild(link);
297
+ loadedDependencies.push('universal-icon-picker.min.css');
298
+ }
299
+ if (this.options.iconLibrariesCss) {
300
+ this.options.iconLibrariesCss.forEach(cssFile => {
301
+ if (!loadedDependencies.includes(cssFile)) {
302
+ let cssFileLink = iconPickerUrl + 'css/' + cssFile;
303
+ if (cssFile.match(/^http|^\/\//)) {
304
+ cssFileLink = cssFile;
305
+ }
306
+ link = document.createElement('link');
307
+ link.rel = 'stylesheet';
308
+ link.type = 'text/css';
309
+ link.href = cssFileLink;
310
+ link.media = 'screen';
311
+ document.head.appendChild(link);
312
+ loadedDependencies.push(cssFile);
313
+ }
314
+ });
315
+ }
316
+ },
317
+
318
+ _loadIconLibraries: async function (i = 0) {
319
+ if (!this.options.iconLibraries) {
320
+ console.error('Universal icon picker - no icon library loaded');
321
+ return false;
322
+ }
323
+ if (this.iconLibrariesLoaded) {
324
+ return true;
325
+ }
326
+ if (i === 0 && this.options.iconLibraries.length > 1) {
327
+ this.sideBarList.push({
328
+ "title": "all icons",
329
+ "list-icon": "",
330
+ "library-id": "all",
331
+ "prefix": ""
332
+ });
333
+ }
334
+
335
+ let iconLib = this.options.iconLibraries[i];
336
+
337
+ await fetch(iconPickerUrl + 'icons-libraries/' + iconLib)
338
+ .then(response => response.json())
339
+ .then(data => {
340
+ // Success!
341
+ const camelCasedIconLibrary = iconLib.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); }).replace(/\.[a-z.]+$/, '');
342
+ let newLibrary = {};
343
+ newLibrary[camelCasedIconLibrary] = data;
344
+ Object.assign(this.iconLibraries, newLibrary); // new icon library merge
345
+ if (i + 1 === this.options.iconLibraries.length) {
346
+ //set icon and sidebar list
347
+ this._setIconAndSidebarList();
348
+
349
+ this.activeLibraryId = this.sideBarList[0]['library-id'];
350
+
351
+ //sidebar list markup push
352
+ this.sidebarTabs.innerHTML = this._sideBarListMarkup(this.sideBarList);
353
+
354
+ //icon markup push
355
+ this.previewWrap.innerHTML = this.iconMarkup;
356
+
357
+ // get all icon wrapper dom element
358
+ this.iconWrap = this.previewWrap.querySelectorAll('.uip-icon-item');
359
+
360
+ //set event lisner to search input
361
+ this.searchInput.addEventListener('keyup', debounce(this._searchFunc, 100).bind(this), false);
362
+
363
+ //get all sidebar list item wrapper dom element
364
+ this.sideBarBtn = this.sidebarTabs.querySelectorAll('.uip-modal--sidebar-tab-item');
365
+
366
+ //set click event lisner to sidebar list item
367
+ this.sideBarBtn.forEach((item) => {
368
+ item.addEventListener('click', this._clickHandlerFunc.bind(this), false);
369
+ });
370
+
371
+ return true;
372
+ } else {
373
+ return this._loadIconLibraries(i + 1);
374
+ }
375
+ }).catch((error) => {
376
+ console.log(error);
377
+ return error;
378
+ });
379
+ },
380
+
381
+ _onBeforeOpen: async function () {
382
+ if (typeof (this.options.onBeforeOpen) === 'function') {
383
+ return this.options.onBeforeOpen();
384
+ }
385
+ },
386
+
387
+ _resetIconAndSidebarList: function () {
388
+ this.sideBarList = [];
389
+ this.iconMarkup = '';
390
+ this.iconLibraries = {};
391
+ this.iconWrap = '';
392
+ this.filterIcon = '';
393
+ this.sideBarBtn = '';
394
+ this.activeLibraryId = '';
395
+ },
396
+
397
+ _searchFunc: function (e) {
398
+ // console.log(this.value.toLowerCase());
399
+
400
+ const searchText = e.target.value.toLowerCase();
401
+ this._searchFilterFunc(searchText, 'filter');
402
+
403
+ },
404
+
405
+ _searchFilterFunc: function (filterText, dataName) {
406
+ this.filterIcon = Object.entries(this.iconWrap).filter((item) => {
407
+ if (-1 == item[1].dataset[dataName].indexOf(filterText) || (this.activeLibraryId !== 'all' && item[1].dataset['libraryId'] !== this.activeLibraryId)) {
408
+ return false;
409
+ }
410
+ return true;
411
+ });
412
+
413
+ this._iconItemPush(this.filterIcon);
414
+
415
+ },
416
+
417
+ _setIconAndSidebarList: function () {
418
+ for (const [libraryName, libraryContent] of Object.entries(this.iconLibraries)) {
419
+ this._setSideBarList(getLibraryName(libraryName), libraryContent);
420
+ this._setIconMarkup(libraryName, libraryContent);
421
+ }
422
+ },
423
+
424
+ _setIconMarkup: function (libraryName, libraryContent) {
425
+ if (libraryContent.icons !== undefined) {
426
+ this.iconMarkup += this._iconItemMarkup(libraryName, libraryContent)
427
+ } else {
428
+ Object.entries(libraryContent).forEach((item) => {
429
+ this.iconMarkup += this._iconItemMarkup(libraryName, item[1])
430
+ });
431
+ }
432
+ },
433
+
434
+ _sidebarFilterFunc: function (filterText) {
435
+ this.activeLibraryId = filterText;
436
+ this.filterIcon = Object.entries(this.iconWrap).filter(function (item) {
437
+ if ('all' === filterText || filterText === item[1].dataset['libraryId']) {
438
+ return true;
439
+ }
440
+ return false;
441
+ });
442
+
443
+ this._iconItemPush(this.filterIcon);
444
+
445
+ },
446
+
447
+ _setSideBarList: function (libraryName, libraryContent) {
448
+ let listItem;
449
+ if (libraryContent.icons !== undefined) {
450
+ listItem = {
451
+ 'title': libraryName,
452
+ 'prefix': libraryContent['prefix'] !== undefined ? libraryContent['prefix'] : '',
453
+ 'list-icon': libraryContent['list-icon'] !== undefined ? libraryContent['list-icon'] : '',
454
+ 'library-id': libraryContent['icon-style'] !== undefined ? libraryContent['icon-style'] : 'all',
455
+ };
456
+ this.sideBarList.push(listItem);
457
+ } else {
458
+ Object.entries(libraryContent).forEach(item => {
459
+ listItem = {
460
+ "title": libraryName + ' - ' + item[0],
461
+ "prefix": item[1]['prefix'] !== undefined ? item[1]['prefix'] : '',
462
+ "list-icon": item[1]['list-icon'] !== undefined ? item[1]['list-icon'] : "",
463
+ "library-id": item[1]['icon-style'] !== undefined ? item[1]['icon-style'] : "all",
464
+ };
465
+ this.sideBarList.push(listItem)
466
+ });
467
+ }
468
+ },
469
+
470
+ _sideBarListMarkup: function (sideBarList) {
471
+ let markup = '';
472
+ sideBarList.forEach((item) => {
473
+ let activeClazz = '';
474
+ if (item['library-id'] === this.activeLibraryId) {
475
+ activeClazz = ' universal-active';
476
+ }
477
+ if ('all' !== item['library-id']) {
478
+ let iconTag = '<i class="' + item['list-icon'] + '"></i>';
479
+ if (item['prefix'].match(/^material-icons/)) {
480
+ iconTag = '<i class="' + item['prefix'] + '">' + item['list-icon'] + '</i>';
481
+ }
482
+ markup += '<div class="uip-modal--sidebar-tab-item' + activeClazz + '" data-library-id="' + item['library-id'] + '">' + iconTag + item['title'] + '</div>';
483
+ } else {
484
+ markup += '<div class="uip-modal--sidebar-tab-item' + activeClazz + '" data-library-id="' + item['library-id'] + '"><img src="' + iconPickerUrl + '/images/star-of-life-solid.svg" width="13.125px" height="auto" alt="All" title="All">' + item['title'] + '</div>';
485
+ }
486
+ });
487
+
488
+ return markup;
489
+ }
490
+ };
491
+
492
+ return UniversalIconPicker;
493
+ }));
@@ -302,14 +302,14 @@ const loadedDependencies = [];
302
302
  let cssFileLink = iconPickerUrl + 'css/' + cssFile;
303
303
  if (cssFile.match(/^http|^\/\//)) {
304
304
  cssFileLink = cssFile;
305
+ link = document.createElement('link');
306
+ link.rel = 'stylesheet';
307
+ link.type = 'text/css';
308
+ link.href = cssFileLink;
309
+ link.media = 'screen';
310
+ document.head.appendChild(link);
311
+ loadedDependencies.push(cssFile);
305
312
  }
306
- link = document.createElement('link');
307
- link.rel = 'stylesheet';
308
- link.type = 'text/css';
309
- link.href = cssFileLink;
310
- link.media = 'screen';
311
- document.head.appendChild(link);
312
- loadedDependencies.push(cssFile);
313
313
  }
314
314
  });
315
315
  }