@leuffen/themejs1 5.0.3 → 5.0.4

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 (70) hide show
  1. package/_tpl/_root/.editorconfig +34 -0
  2. package/_tpl/_root/.gitattributes +8 -0
  3. package/_tpl/_root/.kick.yml +40 -0
  4. package/_tpl/_root/docs/_config.yml +37 -0
  5. package/_tpl/_root/docs/_data/defaults.yaml +10 -0
  6. package/_tpl/_root/docs/_data/general.yml +44 -0
  7. package/_tpl/_root/docs/_data/languages.yml +4 -0
  8. package/_tpl/_root/docs/_data/openhours.yml +55 -0
  9. package/_tpl/_root/docs/_data/openhours.yml.d.json +84 -0
  10. package/_tpl/_root/docs/_data/openhours.yml.d.ts +31 -0
  11. package/_tpl/_root/docs/_data/translations.yml +2 -0
  12. package/_tpl/_root/docs/_includes/dist/index_embed.js +41 -0
  13. package/_tpl/_root/docs/_includes/dist/index_embed.js.map +1 -0
  14. package/_tpl/_root/docs/_includes/dist/style_embed.css +1 -0
  15. package/_tpl/_root/docs/_includes/dist/style_embed.css.map +1 -0
  16. package/_tpl/_root/docs/_includes/dist/style_embed.js +4 -0
  17. package/_tpl/_root/docs/_includes/dist/style_embed.js.map +1 -0
  18. package/_tpl/_root/docs/_includes/do/link.html +1 -0
  19. package/_tpl/_root/docs/_includes/do/remove-line-breaks.html +9 -0
  20. package/_tpl/_root/docs/_includes/do/trans.html +1 -0
  21. package/_tpl/_root/docs/_includes/el/address.html +11 -0
  22. package/_tpl/_root/docs/_includes/el/navbar.html +22 -0
  23. package/_tpl/_root/docs/_includes/el/openhours.html +14 -0
  24. package/_tpl/_root/docs/_includes/el/pagebuilder-link.html +1 -0
  25. package/_tpl/_root/docs/_includes/el/tag-link-list.html +7 -0
  26. package/_tpl/_root/docs/_includes/footer.md +33 -0
  27. package/_tpl/_root/docs/_includes/fragments.html +39 -0
  28. package/_tpl/_root/docs/_includes/global.md +15 -0
  29. package/_tpl/_root/docs/_layouts/0_blanc.html +88 -0
  30. package/_tpl/_root/docs/_layouts/1_body.html +13 -0
  31. package/_tpl/_root/docs/_layouts/2_script.html +18 -0
  32. package/_tpl/_root/docs/_layouts/3_1_navbar.html +36 -0
  33. package/_tpl/_root/docs/_layouts/3_2_footer.html +18 -0
  34. package/_tpl/_root/docs/_layouts/3_3_1_content.html +13 -0
  35. package/_tpl/_root/docs/_layouts/3_3_main.html +7 -0
  36. package/_tpl/_root/docs/_layouts/article.html +25 -0
  37. package/_tpl/_root/docs/_layouts/legal/impressum.html +46 -0
  38. package/_tpl/_root/docs/_layouts/legal.html +17 -0
  39. package/_tpl/_root/docs/_layouts/website.html +9 -0
  40. package/_tpl/_root/docs/assets/dist/index.js +5128 -0
  41. package/_tpl/_root/docs/assets/dist/index.js.LICENSE.txt +5 -0
  42. package/_tpl/_root/docs/assets/dist/index.js.map +1 -0
  43. package/_tpl/_root/docs/assets/dist/polyfill-custom-elements.js +3 -0
  44. package/_tpl/_root/docs/assets/dist/style.css +5 -0
  45. package/_tpl/_root/docs/assets/dist/style.css.map +1 -0
  46. package/_tpl/_root/docs/assets/dist/style.js +4 -0
  47. package/_tpl/_root/docs/assets/dist/style.js.map +1 -0
  48. package/_tpl/_root/docs/assets/dist/style_custom.css +5 -0
  49. package/_tpl/_root/docs/assets/dist/style_custom.js +4 -0
  50. package/_tpl/_root/docs/assets/dist/style_late.css +1 -0
  51. package/_tpl/_root/docs/assets/dist/style_late.css.map +1 -0
  52. package/_tpl/_root/docs/assets/dist/style_late.js +4 -0
  53. package/_tpl/_root/docs/assets/dist/style_late.js.map +1 -0
  54. package/_tpl/_root/docs/assets/leuffen-logo-big.svg +57 -0
  55. package/_tpl/_root/docs/assets/logo.png +0 -0
  56. package/_tpl/_root/docs/assets/logo.webp +0 -0
  57. package/_tpl/_root/package.json +28 -0
  58. package/_tpl/_root/src/_variables.scss +35 -0
  59. package/_tpl/_root/src/index.ts +5 -0
  60. package/_tpl/_root/src/index_embed.ts +4 -0
  61. package/_tpl/_root/src/style.scss +10 -0
  62. package/_tpl/_root/src/style_custom.scss +34 -0
  63. package/_tpl/_root/src/style_embed.scss +4 -0
  64. package/_tpl/_root/src/style_late.scss +3 -0
  65. package/_tpl/_root/tsconfig.json +20 -0
  66. package/_tpl/_root/webpack.config.js +75 -0
  67. package/_tpl/pages/praxis-gallery.de.md +34 -0
  68. package/package.json +1 -1
  69. package/themes/theme2/index.scss +201 -0
  70. package/themes/theme2/theme1.dev.ts +127 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_includes/dist/index_embed.js","mappings":"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A;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,mCAAmC,qDAAc;AACjD;;AAEA,sBAAsB,iEAAa;;AAEnC;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA,6BAA6B,wDAAU;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wEAAiB;AAC1C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;AC3FkC;AACyB;AACnB;AACQ;AACa;;;AAGtD;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,2BAA2B,iDAAO;AAClC;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,iDAAO;;AAEvB;AACA;AACA,4CAA4C,kDAAK;AACjD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,uDAAW;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0EAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0EAAoB;AACvD;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,uDAAW;AAC/B;AACA;AACA,iCAAiC;AACjC,iCAAiC,mCAAmC,iDAAO;AAC3E,wBAAwB,kDAAO,IAAI,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kCAAkC,iDAAO;;AAEzC;AACA;AACA;AACA;AACA,iCAAiC;AACjC,wBAAwB,iDAAO,IAAI,QAAQ;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,uDAAW;AAC/B;AACA,wBAAwB,iDAAK;AAC7B,iCAAiC;AACjC,wBAAwB,kDAAO,IAAI,QAAQ;AAC3C;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC,mCAAmC,iDAAO;AAC3E,wBAAwB,kDAAO,IAAI,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,iCAAiC;AACjC,wBAAwB,kDAAO,IAAI,QAAQ;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA,iCAAiC;AACjC,wBAAwB,kDAAO,IAAI,QAAQ;AAC3C;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,0EAAoB;AACjD;AACA;AACA;AACA,6BAA6B,0EAAoB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7SA;AACA;AACA,WAAW,aAAa;AACxB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC1BO;AACP,wBAAwB;AACxB;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD,wDAAwD,OAAO;AAC/D;AACA,oBAAoB,QAAQ,aAAa,OAAO,GAAG;AACnD;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACO;AACP;AACA,sCAAsC,MAAM;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,YAAY;AACZ;AACO;AACP;AACA;;;;;;;;;;;;;;;;;;;ACZwC;AACI;AACF;AACc;;;AAGjD;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uCAAuC,KAAK;AAC5C,+BAA+B,KAAK;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,KAAK;AACpD;AACA,wBAAwB,sDAAO;;AAE/B;AACA;AACA,6CAA6C,KAAK;AAClD;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0CAA0C;AAC3E;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,0DAAS;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,wDAAQ;AACxB,iGAAiG,kEAAe;AAChH,kCAAkC;AAClC,aAAa;AACb;AACA;;;AAGA;AACA,yBAAyB,sDAAO;AAChC;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;ACzK0D;AACd;;AAE5C;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B,8BAA8B;AAC9B,8BAA8B;AAC9B,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B,YAAY;AACZ;AACO;AACP;AACA,eAAe,wEAAiB;;AAEhC;AACA;AACA,kEAAkE,KAAK;AACvE;;AAEA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA,iFAAiF,cAAc;;AAE/F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,2DAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;UChFA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACNO;AACA;AACqC;AAC5C,IAAI,KAAK,IAAI,qEAAgB,CAAC,IAAI","sources":["webpack:///./workspaces/kasi-embed/index.ts","webpack:///./workspaces/kasi-embed/src/ce/html.ts","webpack:///./workspaces/kasi-embed/src/ce/htmlFile.ts","webpack:///./workspaces/kasi-embed/src/ce/loadHtml.ts","webpack:///./workspaces/kasi-embed/src/core/create-element.ts","webpack:///./workspaces/kasi-embed/src/core/debounce.ts","webpack:///./workspaces/kasi-embed/src/core/dom-ready.ts","webpack:///./workspaces/kasi-embed/src/core/ka-set-options.ts","webpack:///./workspaces/kasi-embed/src/core/sleep.ts","webpack:///./workspaces/kasi-embed/src/element/KaCustomElement.ts","webpack:///./workspaces/kasi-embed/src/element/KaCustomFragment.ts","webpack:///./workspaces/kasi-embed/src/element/KaCustomModal.ts","webpack:///./workspaces/kasi-embed/src/element/KaHtmlElement.ts","webpack:///./workspaces/kasi-embed/src/element/KaModal.ts","webpack:///./workspaces/kasi-embed/src/element/ka-use.ts","webpack:///./workspaces/kasi-embed/src/functions.ts","webpack:///./workspaces/kasi-embed/src/index.ts","webpack:///./workspaces/kasi-embed/src/types.ts","webpack:///./workspaces/leu-hyperpage-components/index.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/accordion/accordion.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/alert/hc-alert.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/cards/hc-card.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/dropdown/dropdown.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-forms.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/google-maps/google-maps.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/hero/hero-fullsize-overlay.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/image/hc-ratio-image.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/navbar/navbar.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/screens/screens.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/sections/hc-sections.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/slider/hc-slider.ts","webpack:///./workspaces/leu-hyperpage-components/src/index.ts","webpack:///./workspaces/leu-hyperpage-components/src/shop/order-qtty/hc-order-qtty.ts","webpack:///./workspaces/leu-hyperpage-components/src/start.ts","webpack:///./workspaces/leu-web-components/index.ts","webpack:///./workspaces/leu-web-components/src/components/leu-content.ts","webpack:///./workspaces/leu-web-components/src/components/leu-data-nav.ts","webpack:///./workspaces/leu-web-components/src/components/leu-data.ts","webpack:///./workspaces/leu-web-components/src/components/leu-format.ts","webpack:///./workspaces/leu-web-components/src/components/leu-modal.ts","webpack:///./workspaces/leu-web-components/src/components/leu-select.ts","webpack:///./workspaces/leu-web-components/src/components/leu-show.ts","webpack:///./workspaces/leu-web-components/src/components/leu-switcher.ts","webpack:///./workspaces/leu-web-components/src/components/leu-use.ts","webpack:///./workspaces/leu-web-components/src/components/leu-var.ts","webpack:///./workspaces/leu-web-components/src/content/createElement.ts","webpack:///./workspaces/leu-web-components/src/helper/functions.ts","webpack:///./workspaces/leu-web-components/src/helper/lazy-loader.ts","webpack:///./workspaces/leu-web-components/src/helper/media-support.ts","webpack:///./workspaces/leu-web-components/src/helper/modal.ts","webpack:///./workspaces/leu-web-components/src/helper/smoothscroll.ts","webpack:///./workspaces/leu-web-components/src/index.ts","webpack:///./workspaces/leu-hyperpage-components/src/comp/accordion/accordion-item.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/accordion/accordion.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/alert/hc-alert-box.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/alert/hc-alert-text.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/cards/hc-card-image-top.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/cards/hc-card.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/dropdown/hc-dropdown.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-form-radio.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-form-select.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-form-submit.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-form-text.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/forms/hc-form-textarea.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/google-maps/google-maps.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/hero/hero-fullsize-overlay.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/image/hc-ratio-image.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/navbar/hc-navbar-nav.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/navbar/hc-navbar.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/screens/screens.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/sections/hc-section-side-image.html","webpack:///./workspaces/leu-hyperpage-components/src/comp/slider/hc-slider.html","webpack:///./workspaces/leu-hyperpage-components/src/shop/order-qtty/hc-order-qtty.html","webpack:///./workspaces/kasi-embed/src/ce/custom-element.js","webpack:///./workspaces/kasi-embed/src/core/apply.js","webpack:///./workspaces/kasi-embed/src/core/elwalk.js","webpack:///./workspaces/kasi-embed/src/core/eval.js","webpack:///./workspaces/kasi-embed/src/core/query-select.js","webpack:///./workspaces/kasi-embed/src/core/str-to-camelcase.js","webpack:///./workspaces/kasi-embed/src/tpl/template.js","webpack:///./workspaces/kasi-embed/src/tpl/templatify.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///./src/index_embed.ts"],"sourcesContent":["\nexport * from './src/index'\n","\nexport function ka_html(htmlContent : string) : HTMLTemplateElement {\n let e = document.createElement(\"template\");\n e.innerHTML = htmlContent;\n return e;\n}\n","import {ka_load_html} from \"./loadHtml\";\n\n\nexport class RemoteTemplate {\n private tpl: null | HTMLElement;\n constructor(\n public url : string\n ) {\n this.tpl = null;\n }\n\n /**\n *\n * @return {Promise<HTMLTemplateElement>}\n */\n async load() {\n if (this.tpl === null)\n this.tpl = await ka_load_html(this.url);\n return this.tpl;\n }\n}\n\n\n/**\n * Load the Template on usage from remote location\n *\n *\n * @param url {string}\n * @return {RemoteTemplate}\n */\nfunction htmlUrl(url : string) : RemoteTemplate {\n return new RemoteTemplate(url);\n}\n","import {KaToolsV1} from \"../core/init\";\n\n/**\n *\n * @param url {string}\n * @return {Promise<HTMLTemplateElement>}\n */\nexport async function ka_load_html (url : string) : Promise<HTMLTemplateElement> {\n let e = document.createElement(\"template\");\n let result = await fetch(url);\n if ( ! result.ok) {\n console.error(`[loadHtml] failed to load '${url}'`);\n throw `[loadHtml] failed to load '${url}'`\n }\n let body = await result.text();\n e.innerHTML = body;\n return e;\n}\n","\n/**\n * Create a new Element\n *\n * @param tagName {string} The Tag Name\n * @param attributes {string<string>} Attributes to set initially\n * @param appendToElement {HTMLElement}\n * @param children {HTMLElement[]}\n * @return HTMLElement\n */\nexport function ka_create_element (tagName : string, attributes : any = null, children : HTMLElement[] = null, appendToElement : HTMLElement = null) : HTMLElement{\n let e = document.createElement(tagName);\n if (attributes === null)\n attributes = {}\n\n for(let attName in attributes) {\n e.setAttribute(attName, attributes[attName]);\n }\n\n if (Array.isArray(children)) {\n for(let ce of children)\n e.appendChild(ce);\n }\n\n if (appendToElement !== null) {\n appendToElement.appendChild(e);\n }\n return e;\n}\n","\n\nconst _debounceInterval = {i: null as number|null, time: null as number|null};\n\n/**\n * Debounce a event\n *\n *\n *\n * @param min Minimum Time to wait\n * @param max Trigger event automatically after this time\n * @return {Promise<unknown>}\n */\nexport async function ka_debounce (min : number, max : number=null) : Promise<void> {\n if (max === null)\n max = min;\n let dbi = _debounceInterval;\n return new Promise<void>((resolve) => {\n if (dbi.time < (+new Date()) - max && dbi.i !== null) {\n return resolve();\n }\n if (dbi.i !== null) {\n return;\n }\n dbi.time = (+new Date());\n dbi.i = window.setTimeout(() => {\n dbi.i = null;\n return resolve();\n\n }, min);\n });\n\n}\n","\n\n/**\n * Wait for DomContentLoaded or resolve immediate\n *\n * <example>\n * await MicxToolsVx.domReady();\n * </example>\n *\n * @return {Promise<string>}\n */\nexport async function ka_dom_ready () : Promise<string> {\n return new Promise<string>((resolve) => {\n if (document.readyState === \"complete\" || document.readyState === \"interactive\")\n return resolve(\"loaded\");\n\n document.addEventListener(\"DOMContentLoaded\", ()=>resolve('DOMContentLoaded'));\n });\n}\n","\n\nexport function ka_set_options(element : HTMLSelectElement, options: any, value : string | null = null) {\n element.innerHTML = \"\";\n for (let option in options) {\n if (isNaN(option as any)) {\n element.appendChild(new Option(options[option], option));\n } else {\n if (typeof options[option].text !== \"undefined\") {\n element.appendChild(new Option(options[option].text, options[option].value));\n } else {\n element.appendChild(new Option(options[option], options[option]));\n }\n }\n }\n if (value !== null)\n element.value = value;\n}\n","\nexport async function ka_sleep(sleepms : number) : Promise<void> {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n return resolve();\n }, sleepms);\n });\n}\n","import {createScopeObject, KaScope} from \"../types\";\nimport {isset} from \"../functions\";\nimport {ka_templatify} from \"../tpl/templatify\";\nimport {ka_html} from \"../ce/html\";\nimport {KaTemplate} from \"../tpl/template\";\n\n\nexport class KaCustomElement extends HTMLElement {\n public __html = \"<div>No template defined</div>\";\n\n protected readonly scope : KaScope = createScopeObject();\n protected tplPrototype : HTMLElement = null;\n private tpl : HTMLElement\n\n public init<T extends KaScope>(scope : T) : T | KaScope {\n // Check template set by customElement annotation\n if (isset (this.constructor[\"html\"]))\n this.__html = this.constructor[\"html\"];\n\n if (this.tplPrototype === null)\n this.tplPrototype = ka_templatify(ka_html(this.__html));\n\n this.scope.init(scope);\n return this.scope;\n }\n\n setParentScope(scope : KaScope) {\n this.scope.$parent = scope;\n }\n\n async connectedCallback() {\n this.setAttribute(\"ka.stop\", \"true\");\n\n if ( ! this.scope.isInitialized())\n this.init({});\n\n this.tpl = this.tplPrototype.cloneNode(true) as HTMLElement;\n this.append(this.tpl);\n this.scope.$tpl = new KaTemplate(this.tpl);\n }\n\n disconnectedCallback() {\n this.scope.$tpl.dispose();\n }\n}\n","import {createScopeObject, KaScope} from \"../types\";\nimport {isset} from \"../functions\";\nimport {ka_templatify} from \"../tpl/templatify\";\nimport {ka_html} from \"../ce/html\";\nimport {KaTemplate} from \"../tpl/template\";\nimport {ka_sleep} from \"../core/sleep\";\n\n\nexport class KaCustomFragment {\n protected readonly scope : KaScope = createScopeObject();\n protected html : string = null\n private tplPrototype : HTMLElement\n private tpl : HTMLElement\n\n public init<T extends KaScope>(scope : T) : T | KaScope {\n // Check template set by customElement annotation\n if (isset(this.constructor[\"html\"]) && this.html === null)\n this.html = this.constructor[\"html\"];\n\n if ( ! isset (this.tplPrototype))\n this.tplPrototype = ka_templatify(ka_html(this.html));\n\n this.scope.init(scope);\n\n return this.scope;\n }\n\n\n setParentScope(scope : KaScope) {\n this.scope.$parent = scope;\n }\n\n setScope(scope : KaScope) {\n this.scope.importFrom(scope);\n }\n\n async fragmentConnectedCallback(parentElement : HTMLElement) {\n parentElement.setAttribute(\"ka.stop\", \"true\");\n\n if ( ! this.scope.isInitialized()) {\n this.init({});\n }\n\n this.tpl = this.tplPrototype.cloneNode(true) as HTMLElement;\n this.scope.$tpl = new KaTemplate(this.tpl);\n parentElement.append(this.tpl);\n\n await ka_sleep(1);\n this.scope.render();\n }\n\n fragmentDisconnectedCallback() {\n this.scope.$tpl.dispose();\n }\n}\n","import {createScopeObject, KaScope} from \"../types\";\nimport {isset} from \"../functions\";\nimport {ka_templatify} from \"../tpl/templatify\";\nimport {ka_html} from \"../ce/html\";\nimport {KaModalConfig} from \"./KaModalConfig\";\nimport {ka_create_element} from \"../core/create-element\";\nimport {KaTemplate} from \"../tpl/template\";\n\n\nexport class KaCustomModal {\n protected readonly scope : KaScope = createScopeObject();\n private __html = \"<div>No Template defined</div>\"\n private tplPrototype : HTMLElement\n private tpl : HTMLElement\n\n public element : HTMLElement;\n public backdrop: HTMLElement;\n #main : HTMLElement;\n #configDefaults : KaModalConfig = {\n parentElement: document.body,\n zIndex: 9999,\n styleBase: \"position:fixed; top:0; bottom:0; left:0; right:0;\",\n styleBackdrop: \"background-color: #999;opacity:0.5;\",\n maxWidth: 800,\n }\n\n #promise = {\n promise: null as Promise<any> | null,\n reject: null as (...params : any) => void | null,\n resolve: null as (...params : any) => void | null,\n }\n\n adjustWidth(modalConfig: KaModalConfig) {\n let w = window.innerWidth;\n if (w > modalConfig.maxWidth)\n w = modalConfig.maxWidth;\n this.#main.style.width = w + \"px\";\n }\n\n\n constructor(tagName : string = \"ka-modal\", shadowRootInit: ShadowRootInit | null = null, modalConfig : KaModalConfig = {}) {\n let config : KaModalConfig = this.#configDefaults;\n config = {\n ...config,\n ...modalConfig\n }\n this.element = ka_create_element(tagName, {hidden: \"hidden\"}, null, config.parentElement);\n this.backdrop = ka_create_element(\"div\", {style: `${config.styleBase};${config.styleBackdrop};z-index:${config.zIndex};`}, null, this.element);\n let master = ka_create_element(\"div\", {style: `position:fixed;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;z-index:${config.zIndex+1};`}, null, this.element);\n this.#main = ka_create_element(\"div\", {style: `;max-height:100%;max-width:100%;`}, null, master);\n\n this.adjustWidth(config);\n\n this.#promise.promise = new Promise((resolve, reject) => {this.#promise.resolve = resolve; this.#promise.reject = reject})\n }\n\n\n public init<T extends KaScope>(scope : T) : T | KaScope {\n // Check template set by customElement annotation\n if (isset(this.constructor[\"html\"]))\n this.__html = this.constructor[\"html\"];\n\n if ( ! isset (this.tplPrototype))\n this.tplPrototype = ka_templatify(ka_html(this.__html));\n\n this.scope.init(scope);\n\n return this.scope;\n }\n\n\n setParentScope(scope : KaScope) {\n this.scope.$parent = scope;\n }\n\n setScope(scope : KaScope) {\n this.scope.importFrom(scope);\n }\n\n public resolve(value : any) : void {\n this.element.remove();\n this.#promise.resolve(value);\n }\n\n async show(...params: any[]) : Promise<any> {\n\n if ( ! this.scope.isInitialized()) {\n this.init({});\n }\n\n this.tpl = this.tplPrototype.cloneNode(true) as HTMLElement;\n this.scope.$tpl = new KaTemplate(this.tpl);\n this.#main.append(this.tpl);\n\n this.element.removeAttribute(\"hidden\");\n this.scope.render();\n\n return this.#promise.promise;\n }\n\n fragmentDisconnectedCallback() {\n this.scope.$tpl.dispose();\n }\n}\n","import {AbstractElement} from \"./AbstractElement\";\nimport {KaTemplate} from \"../tpl/template\";\nimport {ka_templatify} from \"../tpl/templatify\";\nimport {ka_html} from \"../ce/html\";\nimport {isset} from \"../functions\";\n\n\nexport abstract class KaHtmlElement extends HTMLElement implements AbstractElement {\n\n constructor(\n protected shadowRootInit: ShadowRootInit | null = null\n ) {\n super();\n this.addEventListener(\"load\", (e) => console.log(e));\n }\n\n abstract connected() : Promise<void>;\n abstract disconnected() : Promise<void>;\n\n /**\n * The HTML Template to define for this Element\n *\n * <example>\n * html = (element: KaHtmlElement) => `<div ka.for...></div>`;\n * html = `<div ka.for=\"let e of element\"></div>`\n * </example>\n *\n */\n abstract html : ((element: KaHtmlElement)=>Promise<HTMLTemplateElement|string>) | HTMLTemplateElement | string | null;\n\n protected $tpl : KaTemplate;\n\n public async connectedCallback() {\n let htmlTpl : any = null;\n if (typeof this.html === \"function\") {\n let fn = this.html as (element: KaHtmlElement)=>Promise<HTMLTemplateElement|string>;\n htmlTpl = await fn(this);\n } else {\n htmlTpl = this.html;\n }\n\n if (typeof htmlTpl === \"string\")\n htmlTpl = ka_html(htmlTpl);\n\n let attachTo: ShadowRoot|HTMLElement = this;\n if (this.shadowRootInit !== null) {\n attachTo = this.attachShadow(this.shadowRootInit);\n }\n\n if (isset(htmlTpl)) {\n let tpl;\n try {\n tpl = ka_templatify(htmlTpl);\n } catch (e) {\n console.error(\"Templatify failed on element\", this, \"for template\", htmlTpl)\n throw e;\n }\n\n this.$tpl = new KaTemplate(tpl);\n attachTo.appendChild(tpl);\n }\n\n this.connected()\n }\n\n public async disconnectedCallback() {\n this.$tpl.dispose();\n this.disconnected();\n }\n}\n","import {KaTemplate} from \"../tpl/template\";\nimport {ka_create_element} from \"../core/create-element\";\nimport {ka_html} from \"../ce/html\";\nimport {ka_templatify} from \"../tpl/templatify\";\nimport {KaModalConfig} from \"./KaModalConfig\";\nimport {createScopeObject} from \"../types\";\n\n\n\nexport class KaModal {\n protected readonly scope = createScopeObject();\n\n public element : HTMLElement;\n public backdrop: HTMLElement;\n #main : HTMLElement;\n\n protected $tpl : KaTemplate = null;\n\n #configDefaults : KaModalConfig = {\n parentElement: document.body,\n zIndex: 9999,\n styleBase: \"position:fixed; top:0; bottom:0; left:0; right:0;\",\n styleBackdrop: \"background-color: #999;opacity:0.5;\",\n maxWidth: 800,\n }\n\n #promise = {\n promise: null as Promise<any> | null,\n reject: null as (...params : any) => void | null,\n resolve: null as (...params : any) => void | null,\n }\n\n adjustWidth(modalConfig: KaModalConfig) {\n let w = window.innerWidth;\n if (w > modalConfig.maxWidth)\n w = modalConfig.maxWidth;\n this.#main.style.width = w + \"px\";\n }\n\n\n constructor(tagName : string = \"ka-modal\", shadowRootInit: ShadowRootInit | null = null, modalConfig : KaModalConfig = {}) {\n let config : KaModalConfig = this.#configDefaults;\n config = {\n ...config,\n ...modalConfig\n }\n this.element = ka_create_element(tagName, {hidden: \"hidden\"}, null, config.parentElement);\n this.backdrop = ka_create_element(\"div\", {style: `${config.styleBase};${config.styleBackdrop};z-index:${config.zIndex};`}, null, this.element);\n let master = ka_create_element(\"div\", {style: `position:fixed;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;z-index:${config.zIndex+1};`}, null, this.element);\n this.#main = ka_create_element(\"div\", {style: `;max-height:100%;max-width:100%;`}, null, master);\n\n this.adjustWidth(config);\n\n this.#promise.promise = new Promise((resolve, reject) => {this.#promise.resolve = resolve; this.#promise.reject = reject})\n }\n\n public render(scope : any = null) {\n if (this.$tpl === null) {\n let html = this.html as unknown;\n if (typeof html === \"string\") {\n html = ka_html(html);\n }\n\n if ( ! (html instanceof HTMLTemplateElement)) {\n console.error(\"html is not HtmlTemplateElement\", html, \"on\", this);\n throw \"html is not HtmlTemplateElement\"\n }\n console.log(\"html\", html);\n let elem;\n try {\n elem = ka_templatify(html as HTMLTemplateElement);\n } catch (e) {\n console.log(\"error templatify for element\", this, \":\", e);\n throw e;\n }\n\n this.#main.appendChild(elem);\n this.$tpl = new KaTemplate(elem);\n }\n\n this.$tpl.render(scope);\n }\n\n public resolve(value : any) : void {\n this.element.remove();\n this.#promise.resolve(value);\n }\n\n public show(...params : any[]) : Promise<any> {\n this.element.removeAttribute(\"hidden\");\n return this.#promise.promise;\n }\n\n /**\n * The HTML Template to define for this Element\n *\n * <example>\n * html = (element: KaHtmlElement) => `<div ka.for...></div>`;\n * html = `<div ka.for=\"let e of element\"></div>`\n * </example>\n *\n */\n // language=html\n public html : ((element: KaModal)=> string) | string | Promise<HTMLTemplateElement|string> | HTMLTemplateElement | null;\n\n\n\n}\n\n\n\n","import {customElement, isset} from \"../functions\";\nimport {KaCustomFragment} from \"./KaCustomFragment\";\nimport {KaScope} from \"../types\";\n\n@customElement(\"ka-use\")\nexport class KaUse extends HTMLElement {\n\n private myComponent : HTMLElement;\n\n get component() : HTMLElement{\n return this.myComponent\n }\n\n set component(val: HTMLElement) {\n this.myComponent = val;\n this.innerHTML = \"\";\n this.append(val);\n }\n\n /**\n * called from ka.use=\"\" by apply()\n *\n * @param val\n */\n public use(val : HTMLElement, parentScope : KaScope) {\n\n\n if (isset(val[\"setParentScope\"]))\n val[\"setParentScope\"](parentScope);\n\n this.myComponent = val;\n this.innerHTML = \"\";\n\n // If not specified scope is the parent scope.\n if ( ! this.hasAttribute(\"ka.scope\"))\n val[\"setScope\"](parentScope);\n\n if (val instanceof KaCustomFragment) {\n val.fragmentConnectedCallback(this);\n return;\n }\n\n this.append(val);\n }\n\n /**\n * set dedicated scope using ka.scope\n *\n * @param scope\n */\n public setScope(scope : KaScope) {\n if (this.myComponent instanceof KaCustomFragment) {\n this.myComponent.setScope(scope);\n }\n }\n\n disconnectedCallback() {\n\n }\n\n connectedCallback() {\n this.style.display = \"contents\";\n this.setAttribute(\"ka.stop\", \"true\");\n if (this.myComponent instanceof KaCustomFragment) {\n this.myComponent.fragmentConnectedCallback(this);\n }\n }\n}\n","/**\n * Check if parameter 1 is undefined or null\n *\n * @param input\n */\nimport {KaScope} from \"./types\";\nimport {KaTemplate} from \"./tpl/template\";\nimport {ka_debounce} from \"./core/debounce\";\nimport {ka_templatify} from \"./tpl/templatify\";\nimport {ka_html} from \"./ce/html\";\nimport {ka_sleep} from \"./core/sleep\";\n\n\n/**\n * Check if parameter is undefined or null\n *\n * @param input\n */\nexport function isset(input : any) : boolean {\n return (typeof input !== \"undefined\" && input !== null)\n}\n\nexport function isUndefined(input : any) : boolean {\n return (typeof input === \"undefined\");\n}\n\n/**\n * Defines a customElement\n *\n * Usage as class decorator @customElement(\"some-tag\")\n *\n * @param tagName\n */\nexport function customElement(tagName : string, template : string = null) {\n return function (classOrDescriptor: any) : void {\n if (template !== null) {\n console.log(\"set template\", template);\n classOrDescriptor.html = template;\n }\n\n console.debug(\"registering custom element\", classOrDescriptor, tagName);\n customElements.define(tagName, classOrDescriptor);\n return classOrDescriptor;\n }\n}\n\n\nexport function template(template : string | HTMLTemplateElement) {\n return function (classOrDescriptor: any) : void {\n\n classOrDescriptor.html = template;\n\n return classOrDescriptor;\n }\n}\n","export * from \"./functions\";\nexport * from \"./types\";\n\nexport * from \"./core/sleep\";\nexport * from \"./core/create-element\";\nexport * from \"./core/ka-set-options\";\n\nexport {ka_dom_ready} from \"./core/dom-ready\";\nexport * from \"./element/KaHtmlElement\";\nexport * from \"./element/KaCustomElement\";\nexport * from \"./element/KaCustomFragment\";\nexport * from \"./element/KaCustomModal\";\nexport * from \"./tpl/template\";\nexport * from \"./element/KaModal\"\nexport * from \"./element/ka-use\"\nexport * from \"./core/query-select\"\nexport * from \"./core/eval\"\nexport * from \"./ce/html\";\nexport * from \"./tpl/templatify\";\n\n","import {KaTemplate} from \"./tpl/template\";\nimport {ka_debounce} from \"./core/debounce\";\nimport {isset} from \"./functions\";\n\nexport type KaScopeOn = {\n /**\n * Called whenever a bind value changes\n *\n * @param e\n */\n change?: (e : Event) => any\n\n /**\n * Called before Rendering starts\n *\n * @param e\n */\n onBeforeRender?: (e : Event) => any\n}\n\nexport interface KaScope {\n $__scope_orig?: any\n $fn?: {[x : string] : (...param : any[])=>any}\n $ref?: Map<string, HTMLElement>\n $on?: KaScopeOn\n $tpl?: KaTemplate\n $parent?: KaScope\n [x: string] : any\n\n render?: () => KaScope\n importFrom?(scope : any) : void;\n init?(scopeDef : any) : void;\n isInitialized?() : boolean;\n raw?() : KaScope;\n dump?() : any;\n}\n\n\nclass KaDefaultScope implements KaScope {\n private __isInitialized = false;\n isInitialized(): boolean {\n return this.__isInitialized;\n }\n\n async render() {\n this.$tpl.render(this);\n\n }\n\n raw() : KaScope {\n return this.$__scope_orig;\n }\n\n importFrom(scope : any) {\n for(let key of Object.keys(scope)) {\n if (key.startsWith(\"$\") || key.startsWith(\"__\"))\n continue;\n this[\"$__scope_orig\"][key] = scope[key];\n }\n }\n\n dump() : any {\n return {...this}\n }\n\n init(scopeDef : any) {\n if (this.isInitialized())\n throw \"Scope is already initalized\";\n this.__isInitialized = true;\n for(let key of Object.keys(scopeDef)) {\n this[key] = scopeDef[key];\n }\n }\n [x: string] : any\n}\n\nexport function createScopeObject<T extends KaScope>(init : T = null) : T | KaScope {\n let scopeDef = new KaDefaultScope();\n scopeDef[\"$__scope_orig\"] = scopeDef;\n let proxy = new Proxy(scopeDef, {\n get(target : any, prop : string, receiver: RTCRtpReceiver) {\n if (prop.startsWith(\"$\"))\n return target[prop];\n return target[prop];\n },\n set(target: any, p: string, value: any, receiver: any) : boolean {\n if (target[p] === value)\n return true; // Nothing changed\n\n target[p] = value;\n\n if (p.startsWith(\"$\") || p.startsWith(\"__\"))\n return true;\n\n if (isset (scopeDef.$tpl))\n scopeDef.$tpl.render();\n (async() => {\n await ka_debounce(50,50);\n\n })()\n return true;\n }\n });\n if (init !== null)\n scopeDef.init(init);\n return proxy as T;\n}\n","export * from \"./src/index\";\n","\nimport {html} from \"../../start\";\n\nhtml.push(require(\"./accordion.html\"))\nhtml.push(require(\"./accordion-item.html\"))\n\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-alert-box.html\"))\nhtml.push(require(\"./hc-alert-text.html\"))\n","\nimport {html} from \"../../start\";\n\nhtml.push(require(\"./hc-card.html\"))\nhtml.push(require(\"./hc-card-image-top.html\"))\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-dropdown.html\"));\n\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-form-text.html\"))\nhtml.push(require(\"./hc-form-textarea.html\"))\nhtml.push(require(\"./hc-form-submit.html\"))\nhtml.push(require(\"./hc-form-radio.html\"))\nhtml.push(require(\"./hc-form-select.html\"))\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./google-maps.html\"))\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hero-fullsize-overlay.html\"))\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-ratio-image.html\"))\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-navbar.html\"));\nhtml.push(require(\"./hc-navbar-nav.html\"));\n\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./screens.html\"));\n\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-section-side-image.html\"));\n","import {html} from \"../../start\";\n\nhtml.push(require(\"./hc-slider.html\"));\n\n\nexport class HcSlider {\n\n #curElement : HTMLElement = null;\n\n constructor(\n private element : HTMLDivElement\n\n ) {\n let timeout = parseInt(element.getAttribute(\"data-delay\"));\n if (isNaN(timeout))\n timeout = 6000;\n\n setTimeout(() => this.switch(true), 100);\n setInterval(() => this.switch(), timeout);\n }\n\n switch(first : boolean = false) {\n if (this.#curElement !== null) {\n this.#curElement.classList.add(\"animateOut\")\n this.#curElement.classList.remove(\"show\")\n this.#curElement.classList.remove(\"animateIn\")\n }\n if (this.#curElement === null) {\n this.#curElement = this.element.firstElementChild as HTMLElement;\n } else {\n this.#curElement = this.#curElement.nextElementSibling as HTMLElement;\n if (this.#curElement === null)\n this.#curElement = this.element.firstElementChild as HTMLElement;\n }\n if (! first) {\n this.#curElement.classList.add(\"animateIn\")\n this.#curElement.classList.remove(\"animateOut\")\n }\n this.#curElement.classList.add(\"show\")\n }\n}\n\nwindow.addEventListener(\"DOMContentLoaded\", () => {\n window.setTimeout(() => {\n document.querySelectorAll(\".hc-slider\").forEach((e) => new HcSlider(e as HTMLDivElement));\n }, 300);\n})\n","import {HyperpageConfig} from \"./types\";\n\ndeclare global {\n var HyperpageConfig : HyperpageConfig;\n}\n\nlet defaults : HyperpageConfig = {\n cdnBaseUrl: \"https://cdn.leuffen.de/hyperpage-components/v1.0/\"\n}\n\nif (typeof window[\"HyperpageConfig\"] !== \"undefined\") {\n defaults = {...defaults, ...window[\"HyperpageConfig\"]}\n}\n\n\nimport {html} from \"./start\";\nimport {HcSlider} from \"./comp/slider/hc-slider\";\nexport * from \"./comp/accordion/accordion\";\nexport * from \"./comp/screens/screens\";\nexport * from \"./comp/google-maps/google-maps\";\nexport * from \"./comp/hero/hero-fullsize-overlay\";\nexport * from \"./comp/cards/hc-card\";\nexport * from \"./comp/image/hc-ratio-image\";\nexport * from \"./comp/alert/hc-alert\";\nexport * from \"./comp/dropdown/dropdown\";\nexport * from \"./comp/navbar/navbar\";\nexport * from \"./comp/slider/hc-slider\";\nexport * from \"./comp/sections/hc-sections\";\nexport * from \"./comp/forms/hc-forms\";\n\n//export * from \"./autosec/hc-autosection\";\n\nexport * from \"./shop/order-qtty/hc-order-qtty\";\n\nlet code = html.map((e : any) => e.default).join(\"\").replace(\"@@cdnBaseUrl@@\", defaults.cdnBaseUrl);\n\nlet elem = document.createElement(\"hyperpage-templates\");\nelem.style.display = \"none\";\nelem.innerHTML = code;\n\n\n\n\n// Add Templates as fast as possible\nfunction addContent() {\n if(document.body)\n document.body.append(elem);\n else\n setTimeout(addContent, 1);\n}\naddContent();\n","import {html} from \"../../start\";\nimport {customElement, ka_dom_ready, KaCustomElement, KaHtmlElement, template} from \"@kasimirjs/embed\";\n\nhtml.push(require(\"./hc-order-qtty.html\"))\n\n// language=html\nlet tpl = `\n<div style=\"display: inline-block\">\n <div ka.if=\"$scope.quantity > 0\" class=\"input-group w-auto\">\n <button type=\"button\" ka.on.click=\"$scope.quantity--\" class=\"btn btn-primary px-3\">-</button>\n <input type=\"hidden\" class=\"form-control\" ka.attr.name=\"name\" readonly size=\"3\" ka.bind=\"$scope.quantity\">\n <div class=\"input-group-text fw-bold px-3\" id=\"btnGroupAddon\">[[$scope.quantity]]</div>\n <button type=\"button\" ka.on.click=\"$scope.quantity++\" class=\"btn btn-primary px-3\">+</button>\n </div>\n\n <button ka.if=\"$scope.quantity == 0\" ka.on.click=\"$scope.quantity = 1\" type=\"button\" class=\"btn btn-primary\">Bestellen</button>\n</div>\n\n`\n\n\n\n@customElement(\"hc-order-qtty\")\n@template(tpl)\nclass HcOrderQtty extends KaCustomElement {\n html: ((element: KaHtmlElement) => Promise<HTMLTemplateElement | string>) | HTMLTemplateElement | string | null;\n\n constructor() {\n super();\n\n let scope = this.init({\n name: \"undefined\",\n quantity: 0\n })\n }\n\n async connectedCallback(): Promise<void> {\n super.connectedCallback();\n await ka_dom_ready();\n this.scope.name = this.getAttribute(\"name\");\n this.scope.render();\n }\n}\n","\nexport var html = [] as string[];\n","export * from \"./src/index\"\n","import {\n customElement,\n ka_create_element,\n ka_dom_ready,\n ka_eval,\n ka_sleep,\n KaHtmlElement,\n KaModal\n} from \"@kasimirjs/embed\";\nimport {createElement, parseAttributeStr, parseVariableAndStyleStr, parseVariableStr} from \"../content/createElement\";\nimport {isset, parseMarkdown, removeTrailingWhitespace} from \"../helper/functions\";\nimport {leuTemplateVariables} from \"./leu-var\";\nimport * as events from \"events\";\nimport {LeuModal} from \"./leu-modal\";\nimport {LazyLoader} from \"../helper/lazy-loader\";\n\nlet defaultAttrMap = {};\n\nlet elementIndex = 0;\n\n@customElement(\"leu-content\")\nexport class LeuContent extends HTMLElement {\n #selectedElement : HTMLElement = null;\n #attachElement : HTMLElement = null;\n #lastElement : HTMLElement = null;\n #container: HTMLElement = null;\n #curContainer: HTMLElement = null;\n\n #refs : Map<string, HTMLElement> = new Map;\n #curAttrMap: Object = null;\n\n #macros : Map<string, string> = new Map;\n\n\n private async callMacro (name: string, varAndStyle : any, curElement : HTMLElement | null = null) {\n let macro = this.#macros[name];\n if (! isset(macro)) {\n console.error(`Macro '${name}' not defined.`);\n throw `Macro '${name}' not defined.`\n }\n macro = macro.replace(/\\$\\{(.*?)(\\?(.*?))?\\}/gi, (a, varName, e, varDefault) => {\n if (typeof varAndStyle[\"$\"][varName] !== \"undefined\")\n return varAndStyle[\"$\"][varName];\n if (typeof leuTemplateVariables[varName] !== \"undefined\" )\n return leuTemplateVariables[varName]\n return varDefault;\n });\n\n if (curElement !== null) {\n macro = macro.replace(/@@([a-z0-9\\-_]+)@@/gim, (p1, name) => {\n if (name === \"\") {\n return curElement.textContent.trim();\n }\n return curElement.getAttribute(name);\n });\n }\n\n await this.parseComment(new Comment(macro));\n }\n\n\n private createElementTree (def : string) : {start: HTMLElement, leaf: HTMLElement} {\n\n let start : HTMLElement = null;\n let leaf : HTMLElement = null;\n\n\n\n let splitted = def.split(\">\");\n while(splitted.length > 0) {\n let cur = splitted.shift();\n\n let refName = null;\n cur = cur.replace(/§([a-z0-9_\\-]+)/, (a, name) => {\n refName = name;\n return \"\";\n });\n\n\n if (cur.trim().startsWith(\"|\")) {\n // TextNode\n let el = document.createElement(\"div\");\n if (splitted.length > 0)\n cur += \">\" + splitted.join(\">\");\n\n el.innerHTML = cur.trim().substring(1);\n el.childNodes.forEach((e) => leaf.append(e.cloneNode(true)));\n el.remove();\n break;\n }\n\n let el = createElement(cur);\n\n if (refName !== null)\n this.#refs[refName] = el;\n\n if (start === null) {\n start = leaf = el;\n } else {\n leaf.appendChild(el);\n leaf = el;\n }\n }\n return {start, leaf};\n }\n\n private async parseComment(comment: Comment) {\n\n this.#attachElement.append(comment.cloneNode(true));\n\n let textContent = comment.textContent;\n // Sanitize Breaks from Links e.g.\n textContent = textContent.replace(/\\n\\s+@/gmi, \" @\");\n textContent = removeTrailingWhitespace(textContent);\n\n textContent = textContent.replace(/def ([a-z0-9_\\-]+)\\s(.+?)\\send;/gmis, (p1, p2, p3) => {\n //console.log (\"match macro\", p2, p3);\n this.#macros[p2] = p3;\n return \"\\n\".repeat(p1.split(\"\\n\").length); // Keep lineNumbers\n });\n\n let lines = textContent.split(\"\\n\");\n\n if (this.#curAttrMap === null)\n this.#curAttrMap = {...defaultAttrMap}; // Reset Attribute map to default as clone\n\n for(let lineIdx = 0; lineIdx < lines.length; lineIdx++) {\n let line = lines[lineIdx].trim();\n if (line === \"\")\n continue;\n // <-- Performance Problem wenn größer 0\n\n let cmdLine = line.substring(1).trim();\n switch (line.substring(0,1)) {\n case \"/\":\n let elem1 = this.createElementTree(cmdLine);\n this.#curContainer.appendChild(elem1.start);\n this.#lastElement = elem1.start;\n this.#selectedElement = this.#attachElement = elem1.leaf;\n\n break;\n\n case \"!\":\n let refName = null;\n cmdLine = cmdLine.replace(/§([a-z0-9_\\-]+)/, (a, name) => {\n refName = name;\n return \"\";\n });\n let tplName = cmdLine.trim().split(\" \", 1).join();\n\n let varAndStyle = parseVariableAndStyleStr(cmdLine);\n\n\n let tpl :HTMLTemplateElement = document.querySelector(`template[id='${tplName}']`);\n if (tpl === null) {\n console.error(\"<template id='\", tplName, \"'> not found. Selected in \", comment);\n break;\n }\n\n\n let elemCtl : any = document.createElement(\"div\");\n if (Object.keys(varAndStyle[\"@\"]).length === 0) {\n elemCtl.style.display = \"contents\";\n } else {\n for(let attrName in varAndStyle[\"@\"]) {\n elemCtl.setAttribute(attrName, varAndStyle[\"@\"][attrName]);\n }\n }\n\n\n let content = tpl.innerHTML.replace(/\\$\\{(.*?)(\\?(.*?))?\\}/gi, (a, varName, e, varDefault) => {\n if (typeof varAndStyle[\"$\"][varName] !== \"undefined\")\n return varAndStyle[\"$\"][varName];\n if (typeof leuTemplateVariables[varName] !== \"undefined\" )\n return leuTemplateVariables[varName]\n return varDefault;\n });\n\n // Replace Tags like --src and --id\n content = content.replace(/([a-z\\-]+)--=/ig, (a, b) => b + \"=\");\n\n elemCtl.innerHTML = content;\n\n // Execute <script> tags\n for(let elem of elemCtl.querySelectorAll(\"script\")) {\n let attrs = {};\n if (elem.hasAttribute(\"src\")) {\n attrs = {src: elem.getAttribute(\"src\")}\n }\n let e = ka_create_element(\"script\", attrs);\n e.append(document.createTextNode(elem.textContent));\n elem.parentElement.replaceChild(e, elem);\n //this.#attachElement.append(e);\n }\n\n let newAttachElement = null;\n let newSelectedElement = null;\n\n let attachPoints = elemCtl.querySelectorAll(\"[attach]\");\n for (let attachPoint of attachPoints) {\n if (attachPoint.getAttribute(\"attach\") === \"\") {\n newAttachElement = attachPoint;\n newSelectedElement = attachPoint;\n if (refName !== null) {\n this.#refs[refName] = attachPoint;\n }\n } else {\n this.#refs[attachPoint.getAttribute(\"attach\")] = attachPoint;\n }\n }\n\n if (elemCtl.style.display === \"contents\") {\n while (elemCtl.children.length > 0) {\n this.#attachElement.append(elemCtl.children[0])\n }\n } else {\n this.#attachElement.append(elemCtl);\n }\n\n if (newSelectedElement !== null)\n this.#selectedElement = newSelectedElement\n if (newAttachElement !== null)\n this.#attachElement = newAttachElement\n\n if (attachPoints.length === 0) {\n //console.warn(\"Template has no attach point\", tpl, elemCtl)\n }\n await ka_sleep(1);\n break;\n\n case \">\":\n let elem2 = this.createElementTree(cmdLine);\n this.#selectedElement.appendChild(elem2.start);\n this.#attachElement = elem2.leaf;\n break;\n\n case \"~\":\n\n let [selector, ...attrMap] = cmdLine.split(\"=>\");\n let attrStr = attrMap.join(\":\");\n let macro = null;\n\n // Search for macro (macroName $parm1=xyz)\n attrStr = attrStr.replace(/\\(([a-z0-9_\\-]+)(.*?)\\)/igm, (p1, name, code) => {\n let attrMap = parseVariableStr(code, \"$\");\n macro = {\n name: name, attrMap: attrMap\n }\n return \"\";\n });\n\n let attrs = parseAttributeStr(attrStr);\n this.#curAttrMap[selector] = {attrs, line, macro};\n break;\n\n case \"?\":\n let elem: HTMLElement = null;\n let isMoveContainer = false;\n if (cmdLine.indexOf(\"***\") !== -1) {\n isMoveContainer = true;\n cmdLine = cmdLine.replace(\"***\", \"\");\n }\n cmdLine = cmdLine.trim();\n if (cmdLine.startsWith(\"/\")) {\n elem = this.#container;\n } else if (cmdLine.trim() === \"§§\") {\n elem = this.#attachElement;\n } else if (cmdLine.startsWith(\"§\")) {\n elem = this.#refs[cmdLine.substring(1)];\n if (!isset(elem)) {\n console.error(`Cannot select reference: '§${cmdLine.substring(1)}': Not defined in` + line, comment);\n break;\n }\n } else if (cmdLine.trim() === \"*\") {\n elem = this.#curContainer\n } else {\n elem = this.#lastElement.querySelector(cmdLine);\n if (elem === null) {\n console.error(`Query Element '${cmdLine}': not found in `, comment, \"in\", this.#container);\n break;\n }\n }\n this.#selectedElement = this.#attachElement = elem;\n if (isMoveContainer)\n this.#curContainer = elem;\n break;\n\n case \"#\": // comment\n case \"*\":\n break;\n\n default:\n console.error(\"Cannot parse sequence: \" + line + \" of block\", comment);\n throw \"Cannot parse sequence: \" + line;\n\n }\n }\n }\n\n\n /**\n * Apply XPath ~\n *\n * @param el\n * @private\n */\n private async applyAttMap(el : HTMLElement) {\n let appEl = document.createElement(\"div\");\n appEl.append(el);\n //console.log(\"validate element\", el);\n for (let attrMapSelector in this.#curAttrMap) {\n //console.log(\"check\", attrMapSelector);\n try {\n let result = appEl.querySelectorAll(attrMapSelector)\n for (let curElement of Array.from(result)) {\n let curAttrMap = this.#curAttrMap[attrMapSelector]\n for(let attName in curAttrMap.attrs) {\n curElement.setAttribute(attName, curAttrMap.attrs[attName]);\n }\n\n // Call the macro\n if (curAttrMap.macro !== null) {\n console.log(\"call macro\", curAttrMap.macro.name);\n await this.callMacro(curAttrMap.macro.name, curAttrMap.macro.attrMap, curElement);\n }\n }\n } catch (e) {\n console.error(\"Cannot evaluate: '\" + this.#curAttrMap[attrMapSelector].line + \"' - \", e);\n continue;\n }\n\n }\n }\n\n async connectedCallback() {\n // await ka_dom_ready(); Skip DomReady to speedup the process\n await ka_sleep(1);\n if ( ! this.hasAttribute(\"default\")) {\n // Wait for defaults\n await ka_sleep(1);\n }\n\n let lazyLoader = new LazyLoader();\n await lazyLoader.convert(this);\n\n this.#curAttrMap = {...defaultAttrMap}; // Reset Attribute map to default as clone\n this.#container = this.#curContainer = this.#lastElement = this.#attachElement = this.#selectedElement = ka_create_element(\"div\", {class: this.getAttribute(\"class\") + \" loading\"}, []);\n\n this.parentElement.insertBefore(this.#container, this.nextElementSibling);\n\n if (this.hasAttribute(\"markdown\")) {\n this.innerHTML = removeTrailingWhitespace(this.innerHTML);\n }\n\n if (this.hasAttribute(\"showcase\")) {\n console.warn(\"[Leu-content] showcase mode!\");\n let innerHtml = this.innerHTML;\n let modal = new LeuModal();\n modal.id = \"_debug_\" + elementIndex++;\n modal.setAttribute(\"data-leu-title\", \"Inspect Element\");\n modal.setAttribute(\"data-leu-class\", \"modal-fullscreen\");\n\n modal.innerHTML = \"<textarea wrap='no' style='width:100%;height:100%;font-family: monospace;font-size: 10px' readonly>\" + innerHtml + \"</textarea>\";\n document.body.append(modal);\n this.#container.addEventListener(\"click\", (e : Event) => {\n e.stopPropagation();\n modal.show();\n })\n }\n\n if (this.hasAttribute(\"markdown\")) {\n this.innerHTML = parseMarkdown(this.innerHTML);\n }\n\n for (let elem of Array.from(this.childNodes)) {\n if (elem instanceof Comment) {\n await this.parseComment(elem);\n continue;\n }\n let clone : any = elem.cloneNode(true)\n elem.remove(); // Important: Remove to avoid SEO trouble\n await this.applyAttMap(clone);\n this.#attachElement.append(clone);\n }\n\n if (this.hasAttribute(\"default\")) {\n // Register defaults\n defaultAttrMap = {...this.#curAttrMap};\n console.debug(\"Register default attribute map: \", defaultAttrMap, \"from\", this);\n }\n\n\n await ka_sleep(2);\n await lazyLoader.convert(this.#container);\n this.#container.classList.remove(\"loading\");\n this.classList.remove(\"loading\");\n\n this.style.display = \"none\";\n };\n\n\n\n async disconnectedCallback() {\n\n }\n\n\n\n}\n","import {KaHtmlElement} from \"@kasimirjs/embed\";\nimport {customElement} from \"@kasimirjs/embed\";\nimport {ka_dom_ready} from \"@kasimirjs/embed\";\nimport {ka_sleep} from \"@kasimirjs/embed\";\n\n\n\n@customElement(\"leu-data-nav\")\nexport class LeuDataNav extends KaHtmlElement {\n\n\n\n\n async connected() {\n await ka_dom_ready();\n // Allow attaching to any element\n this.style.display = \"contents\";\n\n let scope = {\n elements: [] as {el: HTMLElement, title: string, id: string, active: boolean}[]\n }\n\n document.querySelectorAll(\"[data-leu-nav]\").forEach((el : HTMLElement) => {\n scope.elements.push({el: el, title: el.getAttribute(\"data-leu-nav\"), id: el.id, active: false});\n })\n\n window.addEventListener(\"scroll\", async () => {\n await ka_sleep(100);\n\n let first = false;\n for(let e of scope.elements) {\n e.active = false;\n if (e.el.getBoundingClientRect().top + window.scrollY + 10 > window.scrollY && ! first) {\n first = true;\n e.active = true;\n }\n\n }\n this.$tpl.render();\n }, {passive: true});\n this.removeAttribute(\"hidden\");\n this.$tpl.render(scope);\n }\n\n async disconnected() {\n }\n\n // language=html\n html = async() : Promise<string> => {\n let inner = this.innerHTML;\n this.innerHTML = \"\";\n return inner;\n };\n}\n","import {ka_sleep} from \"@kasimirjs/embed\";\n\n\nclass LeuData extends HTMLScriptElement {\n\n private _data = null;\n private _promises = [];\n\n get data () : Promise<any> | any {\n if (this._data !== null)\n return this._data;\n return new Promise((resolve) => this._promises.push(resolve));\n }\n\n async connectedCallback() {\n await ka_sleep(1);\n try {\n let val = JSON.parse(this.textContent)\n if (val === null)\n throw \"Cannot parse\";\n this._data = val;\n this._promises.forEach(e => e(val));\n } catch (e) {\n console.error(\"Cannot parse JSON: \", this);\n throw e;\n }\n\n }\n}\n\ncustomElements.define(\"leu-data\", LeuData, {extends: \"script\"});\n","import {KaHtmlElement} from \"@kasimirjs/embed\";\nimport {customElement} from \"@kasimirjs/embed\";\nimport {ka_dom_ready} from \"@kasimirjs/embed\";\n\nimport {ka_sleep} from \"@kasimirjs/embed\";\n\ndeclare global {\n var LeuFormatConfig : any;\n}\n\nif (typeof window.LeuFormatConfig === \"undefined\") {\n window.LeuFormatConfig = {\n \"h1\": [\"fs-2\", \"text-center\", \"content-space-2\"],\n \"h2\": [\"fs-3\", \"mt-5\"],\n \"hr\": [\"clearboth\"],\n \"img\": [\"float-start\", \"w-lg-50\", \"w-100\", \"pt-2\", \"pb-2\", \"pe-4\"]\n\n }\n}\n\n@customElement(\"leu-format\")\nexport class LeuFormat extends KaHtmlElement {\n\n\n async connected() {\n await ka_dom_ready();\n await ka_sleep(1);\n let config = LeuFormatConfig;\n for (let attr of this.getAttributeNames()) {\n config[attr] = this.getAttribute(attr).split(\" \");\n }\n\n for(let select in config) {\n for(let e of Array.from(this.querySelectorAll(select))) {\n let classes = config[select];\n for( let cls of classes) {\n e.classList.add(cls)\n }\n }\n }\n\n let lastContainer = null;\n let i = 0;\n main: do {\n if (this.children.length < i + 1)\n break;\n let e = this.children[i];\n\n\n let container = e.querySelector(\"[container]\")\n if (container !== null) {\n lastContainer = container;\n i++;\n continue;\n }\n if (lastContainer === null) {\n i++;\n continue;\n }\n\n lastContainer.append(e);\n\n\n } while(true)\n }\n\n async disconnected() {\n }\n\n // language=html\n html : any = null;\n}\n","import {customElement, ka_create_element, ka_dom_ready, ka_sleep} from \"@kasimirjs/embed\";\nimport {triggerError} from \"../helper/functions\";\n\n\nconst defaultModalTemplate = `\n<div class=\"modal-backdrop fade\"></div>\n<div class=\"modal fade d-block\" tabindex=\"-1\" data-leu-dismiss=\"modal\" >\n\n <div class=\"modal-dialog modal-dialog-centered modal-dialog-scrollable %%classes%%\" role=\"dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">%%title%%</h5>\n <button type=\"button\" class=\"btn-close\" data-leu-dismiss=\"modal\" aria-label=\"Schließen\"></button>\n </div>\n <div class=\"modal-body\">\n %%body%%\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-leu-dismiss=\"modal\">Schließen</button>\n </div>\n </div>\n </div>\n</div>\n`\n\n\n@customElement(\"leu-modal\")\nexport class LeuModal extends HTMLElement {\n\n public showElement : HTMLDivElement;\n public origOverflow = \"\";\n public oldUrl = window.location.href.split(\"#\")[0];\n\n constructor() {\n super();\n }\n\n public async show() {\n let title = this.getAttribute(\"data-leu-title\") ?? \"Unnamed [data-leu-title]\";\n\n let template = this.getAttribute(\"data-leu-template\");\n\n let classes = this.getAttribute(\"data-leu-class\");\n\n let content = defaultModalTemplate;\n if (template !== null)\n content = document.querySelector(template)?.innerHTML;\n if (content === null)\n triggerError(\"leu-modal\", `template-selector in data-leu-template '${template}' not found`);\n\n this.origOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n\n content = content.replace(\"%%title%%\", title)\n .replace(\"%%body%%\", this.innerHTML)\n .replace(\"%%classes%%\", classes ?? \"\");\n this.showElement.innerHTML = content;\n await ka_sleep(10);\n this.showElement.querySelectorAll(\".fade\").forEach((e)=>e.classList.add(\"show\"));\n }\n\n public async hide() {\n\n if (this.showElement.innerHTML === \"\")\n return;\n\n document.body.style.overflow = this.origOverflow;\n\n this.showElement.querySelectorAll(\".fade\").forEach((e)=>e.classList.remove(\"show\"));\n await ka_sleep(200);\n\n this.showElement.innerHTML = \"\";\n }\n\n public checkHref(e) {\n if (window.location.hash === \"#\" + this.getAttribute(\"id\")) {\n if (e)\n this.oldUrl = e.oldURL;\n this.show();\n } else {\n this.hide();\n }\n }\n\n async connectedCallback() {\n this.style.display = \"none\";\n await ka_dom_ready();\n await ka_sleep(1);\n this.showElement = ka_create_element(\"div\", {\"owner\": \"leu-modal\"}) as HTMLDivElement;\n document.body.append(this.showElement);\n\n this.showElement.addEventListener(\"click\", (e : Event) => {\n let target = e.target as HTMLElement;\n if (target.hasAttribute(\"data-leu-dismiss\")) {\n // Push History (don't use history.back() - it will fail if the page was opend with anchor)\n history.pushState({}, \"\", this.oldUrl);\n this.hide();\n }\n })\n\n window.addEventListener(\"hashchange\", (e)=>this.checkHref(e));\n this.checkHref(null);\n\n }\n\n async disconnectedCallback() {\n window.removeEventListener(\"hashchange\", this.checkHref);\n this.showElement.remove();\n }\n\n}\n","import {ka_dom_ready, ka_eval, ka_set_options} from \"@kasimirjs/embed\";\n\nexport let LeuElemFn = {\n \"data-leu-options\": (e : HTMLSelectElement, val : string) => {\n let data = ka_eval(val, {}, e, {}) as any;\n console.log(\"options\", data);\n ka_set_options(e, data, e.getAttribute(\"value\"));\n }\n}\n\nclass LeuSelect extends HTMLSelectElement {\n async connectedCallback() {\n await ka_dom_ready();\n console.log(\"leu-elem init\", this);\n for (let attrName in LeuElemFn) {\n let val = this.getAttribute(attrName);\n if (val === null) {\n continue;\n }\n LeuElemFn[attrName](this, val);\n }\n }\n}\n\ncustomElements.define(\"leu-select\", LeuSelect, {extends: \"select\"});\n","import {customElement} from \"@kasimirjs/embed\";\nimport {ka_eval} from \"@kasimirjs/embed\";\n\n@customElement(\"leu-show\")\nclass LeuShow extends HTMLElement {\n\n #listener = null;\n evalIf(e=null) {\n let result = ka_eval(this.dataset.if, this, e, {});\n if (result === true) {\n this.classList.remove(Leu.config.switcher.hiddenClass);\n } else {\n this.classList.remove(Leu.config.switcher.hiddenClass);\n }\n }\n\n connectedCallback() {\n this.style.display = \"contents\";\n\n this.#listener = (e) => this.evalIf(e)\n document.addEventListener(\"click\", this.#listener);\n this.evalIf();\n }\n\n disconnectedCallback() {\n document.removeEventListener(\"click\", this.#listener);\n }\n\n}\n","import {ka_query_selector} from \"@kasimirjs/embed\";\nimport {customElement, ka_dom_ready, ka_sleep} from \"@kasimirjs/embed\";\nimport {Leu} from \"../index\";\n\n\n\n\n\n\n@customElement(\"leu-switcher\")\nexport class LeuSwitcher extends HTMLElement {\n private _oldHash = null;\n private progressBarE = null;\n\n\n private content : HTMLDivElement = null;\n /**\n *\n * @type {HTMLHeadingElement}\n */\n private titleE = null;\n private nextE = null;\n private backE = null;\n\n private curDivE = null;\n\n constructor() {\n super();\n\n let self=this;\n }\n\n _selectElement (idx) {\n let e = this.content.children[idx];\n this.curDivE = e;\n this.progressBarE.ariaValueMin = 0;\n this.progressBarE.ariaValueMax = this.content.childElementCount;\n this.progressBarE.ariaValueNow = idx + 1;\n this.progressBarE.style.width = ((idx + 1) / this.content.childElementCount * 100) + \"%\";\n this.titleE.textContent = e.getAttribute(\"data-title\");\n e.classList.remove(Leu.config.switcher.hiddenClass);\n\n this.nextE.hidden = false;\n if (idx +1 === this.content.childElementCount)\n this.nextE.hidden = true;\n\n this.backE.hidden = false;\n if (idx === 0)\n this.backE.hidden = true;\n }\n async _routeChange() {\n let hash = window.location.hash.substring(1);\n let found = false;\n\n for(let i=0; i<this.content.children.length; i++) {\n let e = this.content.children[i];\n console.log(\"scan\", e);\n e.classList.add(Leu.config.switcher.hiddenClass)\n if (e.id === hash || this.hasAttribute(\"show-all\")) {\n this._selectElement(i);\n found = true;\n }\n }\n if (found === false)\n this._selectElement(0);\n }\n\n async next (e=null) {\n await ka_sleep(500);\n // console.log(this.curDivE.nextElementSibling);\n //location.hash = this.curDivE.nextElementSibling.id;\n if (this.curDivE.nextElementSibling === null)\n return;\n history.pushState(null, null, \"#\" + this.curDivE.nextElementSibling.id);\n if (e !== null)\n e.preventDefault();\n console.log(\"next\");\n return false;\n }\n backClickCb (e) {\n // console.log(this.curDivE.nextElementSibling);\n //location.hash = this.curDivE.nextElementSibling.id;\n history.pushState(null, null, \"#\" + this.curDivE.previousElementSibling.id);\n e.preventDefault();\n return false;\n }\n async _locationListener() {\n if (window.location.hash === this._oldHash) {\n return\n }\n this._oldHash = window.location.hash;\n await this._routeChange();\n this.hidden = false; // Show element\n }\n async connectedCallback() {\n await ka_dom_ready();\n\n this.progressBarE = ka_query_selector(\"[data-leu-role='progress-bar']\", this, \"data-leu-role='progress-bar'\");\n this.content = ka_query_selector(\"[data-leu-role='content']\", this, \"data-leu-role='progress-bar'\") as HTMLDivElement;\n this.titleE = ka_query_selector(\"[data-leu-role='title']\", this, \"data-leu-role='title'\");\n this.nextE = ka_query_selector(\"[data-leu-role='next-btn']\", this, \"data-leu-role='next-btn'\");\n this.backE = ka_query_selector(\"[data-leu-role='back-btn']\", this, \"data-leu-role='back-btn'\");\n\n\n this.backE.addEventListener(\"click\", (e) => this.backClickCb(e));\n this.nextE.addEventListener(\"click\", (e) => this.next(e));\n window.setInterval(() => this._locationListener(), 200);\n window.setInterval(()=>{\n this.style.height = this.curDivE.offsetHeight + \"px\";\n }, 500);\n window.addEventListener(\"pushstate\", ()=>{\n console.log(\"State pushed\");\n })\n\n }\n}\n","import {customElement, ka_dom_ready, ka_sleep} from \"@kasimirjs/embed\";\nimport {ka_query_selector} from \"@kasimirjs/embed\";\nimport {leuTemplateVariables} from \"./leu-var\";\n\n\n@customElement(\"leu-use\")\nclass LeuUse extends HTMLElement {\n\n async connectedCallback() {\n this.style.display = \"contents\"\n await ka_dom_ready();\n await ka_sleep(1);\n let id = this.dataset.tplId;\n let tpl = ka_query_selector(\"template[id='\" + id + \"']\", null, \"leu-use: template with id '\" + id + \"' not found\") as HTMLTemplateElement;\n\n // Import Variable from <leu-var data-name=\"\" data-value=\"\"></leu-val>\n let variables = {...leuTemplateVariables, ...this.dataset}\n console.log(variables);\n\n let content = tpl.content.firstElementChild.outerHTML.replace(/\\$\\{(.*?)(\\?(.*?))?}/gi, (a, varName, e, varDefault) => {\n if (typeof variables[varName] !== \"undefined\")\n return variables[varName];\n if (typeof varDefault === \"undefined\")\n console.error(`[<leu-use>] Data-Attribute missing: 'data-${varName}' on <template id=\"${id}>\" called by <leu-use></leu-use>`, this);\n return varDefault;\n });\n content = content.replace(/([a-z\\-]+)--=([\"'])/ig, (a, b, c) => b + \"=\" + c);\n\n\n\n\n let origContent = this.innerHTML;\n\n // Replace Tags like --src and --id\n let wrapper = document.createElement(\"div\");\n wrapper.innerHTML = content;\n let attachElem = wrapper.querySelector(\"*[attach]\");\n if (attachElem !== null)\n attachElem.innerHTML = origContent;\n\n wrapper.childNodes.forEach((el) => this.parentElement.insertBefore(el, this.nextElementSibling));\n let comment = new Comment(this.outerHTML)\n this.replaceWith(comment);\n\n\n }\n}\n","import {customElement, ka_dom_ready} from \"@kasimirjs/embed\";\nimport {isset} from \"../helper/functions\";\n\nexport let leuTemplateVariables = {};\n\n@customElement(\"leu-var\")\nclass LeuVar extends HTMLElement {\n async connectedCallback() {\n this.style.display = \"none\";\n await ka_dom_ready();\n\n if (isset(this.dataset.value)) {\n leuTemplateVariables[this.dataset.name] = this.dataset.value;\n }\n if (isset(this.dataset.increment)) {\n if ( ! isset( leuTemplateVariables[this.dataset.name]))\n leuTemplateVariables[this.dataset.name] = 0;\n leuTemplateVariables[this.dataset.name]++;\n }\n\n let comment = new Comment(this.outerHTML);\n this.replaceWith(comment);\n\n\n }\n}\n","import {ka_create_element} from \"@kasimirjs/embed\";\n\n\n\n\n\nexport function parseVariableAndStyleStr (varString : string) : any {\n let attrs : any = {\"$\": {}, \"@\": {}};\n let regex = new RegExp(`([@$])[^@^$]+`, \"gi\")\n varString.replace(regex, (match: string, type: string) => {\n match = match.substring(1);\n if (match.indexOf(\"=\") === -1 && type === \"@\" ) {\n if (typeof attrs[type].class === \"undefined\")\n attrs[type].class = \"\";\n attrs[type].class += \" \" + match;\n attrs[type].class = attrs[type].class.trim();\n } else {\n let res = match.split(\"=\");\n attrs[type][res.shift()] = res.join(\"=\").trim();\n }\n return \"\";\n })\n return attrs;\n}\n\nexport function parseVariableStr (varString : string, delimiter = \"@\") : any {\n let attrs : any = {};\n let regex = new RegExp(`\\\\${delimiter}[^${delimiter}]+`, \"gi\")\n varString.replace(regex, (match: string) => {\n match = match.substring(1);\n if (match.indexOf(\"=\") === -1) {\n if (typeof attrs.class === \"undefined\")\n attrs.class = \"\";\n attrs.class += \" \" + match;\n attrs.class = attrs.class.trim();\n } else {\n let res = match.split(\"=\");\n\n attrs[res.shift()] = res.join(\"=\").trim();\n }\n return \"\";\n })\n return attrs;\n}\n\nexport function parseAttributeStr(attrString : string ) : any {\n return parseVariableStr(attrString, \"@\")\n}\n\nexport function createElement(definition : string) : HTMLElement {\n let defRest = definition.trim();\n let tag = \"div\";\n defRest = defRest.replace(/^[a-z0-9_\\:\\-]+/ig, (match: string) => {\n tag = match;\n return \"\";\n })\n let attrs = parseAttributeStr(defRest);\n\n\n let element = ka_create_element(tag, attrs);\n return element;\n}\n","\ntype Constructor<T> = new (...args: any[]) => T;\n\nexport function findParent<T>(searchParent : Constructor<T>, curElement : HTMLElement): T {\n if (curElement instanceof searchParent)\n return curElement as T;\n if (curElement.parentElement === null)\n return null;\n return findParent(searchParent, curElement.parentElement);\n}\n\n\nexport function isset(val : any) : boolean {\n if (typeof val === \"undefined\" || val === null)\n return false;\n return true;\n}\n\nexport function removeTrailingWhitespace (input: string) {\n return input.replace(/\\n([\\\\t ]+)(.+)/g, (p1, p2, p3) => `\\n${p3}`);\n}\nexport function parseMarkdown(input : string) {\n let comments = [];\n // Replace all Comments\n input = input.replace(/<!--(.*?)-->/gs, (p1, p2) => {\n comments.push(p2);\n return `<!--${comments.length - 1}-->`\n });\n\n\n input = input.replace(/\\n(#+) (.*)/g, (p1, p2, p3) => `\\n<h${p2.length}>${p3}</h${p2.length}>`);\n input = input.replace(/\\n\\n([a-zA-Z].+?)(?=\\n\\n)/gs, (p1) => `\\n\\n<p>${p1}</p>`);\n\n input = input.replace(/\\*\\*\\*(.*?)\\*\\*\\*/g, (p1, p2) => `<strong><i>${p2}</i></strong>`);\n input = input.replace(/\\*\\*(.*?)\\*\\*/g, (p1, p2) => `<strong>${p2}</strong>`);\n input = input.replace(/\\*(.*?)\\*/g, (p1, p2) => `<i>${p2}</i>`);\n\n\n // Inject Comments again\n input = input.replace(/<!--([0-9]+)-->/g, (p1, p2) => {\n return `<!--${comments[parseInt(p2)]}-->`\n });\n\n return input\n}\n\n\nexport function triggerError(system : string, msg: string, ...params : any) {\n console.error(`[${system}]: ${msg}`, ...params);\n throw `[${system}] ${msg}`\n}\n","import * as Url from \"url\";\nimport {getMediaSupport} from \"./media-support\";\n\ntype LazyLoaderImageVariant = {\n width: number,\n height: number\n}\n\ntype LazyLoaderData = {\n src: string,\n variants: LazyLoaderImageVariant[],\n formats: string[],\n alt: string,\n filename: string\n}\n\nexport interface LazyLoaderMapper {\n isSuitable(url: Url): boolean;\n\n setElement(element: HTMLElement, url: Url);\n}\n\n\nexport class LeuCDNLazyLoaderMapper implements LazyLoaderMapper {\n isSuitable(url: Url): boolean {\n return url.toString().startsWith(\"cdn\");\n }\n\n\n protected getData(src: string) {\n let ret = {formats: [], variants: []} as LazyLoaderData;\n\n src = src.replace(/\\/(([0-9]+x[0-9]+|,)+)\\//ig, (p0, sizes: string) => {\n sizes.split(\",\").forEach((size) => {\n ret.variants.push(\n {\n width: parseInt(size.split(\"x\")[0]),\n height: parseInt(size.split(\"x\")[1])\n }\n )\n });\n\n return \"/@size@/\";\n })\n\n ret.variants.sort((a, b) => {\n if (a.width < b.width)\n return -1;\n if (a.width > b.width)\n return 1;\n return 0;\n });\n\n src = src.replace(/([a-z0-9_\\-]+)\\.([a-z0-9\\,]+)$/ig, (p0, name, formats) => {\n console.log(\"detect name\", name, formats);\n ret.formats = formats.split(\",\");\n ret.filename = name;\n ret.alt = name.replace(\"_\", \" \");\n return \"@file@\";\n })\n\n ret.src = src;\n return ret;\n }\n\n\n private getBestFit(data: LazyLoaderData): LazyLoaderImageVariant {\n let fit = data.variants.find((e) => e.width >= window.innerWidth);\n if (typeof fit === \"undefined\")\n fit = data.variants[data.variants.length - 1];\n return fit;\n }\n\n\n async setElement(element: HTMLElement, url: Url) {\n let data = this.getData(url.toString());\n\n let bestFit = this.getBestFit(data);\n\n let mediaSupport = await getMediaSupport();\n let bestExtension = mediaSupport.getBestExtension(data.formats);\n\n let src = data.src.replace(\"cdn+https://\", \"https://\");\n src = src.replace(\"cdn://\", \"https://cdn.leuffen.de\");\n\n src = src.replace(\"@size@\", `${bestFit.width}x${bestFit.height}`);\n src = src.replace(\"@file@\", `${data.filename}.${bestExtension}`);\n element.setAttribute(\"src\", src);\n\n if (element instanceof HTMLImageElement) {\n if (element.getBoundingClientRect().y > window.innerHeight) {\n element.setAttribute(\"loading\", \"lazy\");\n }\n if ( ! element.hasAttribute(\"width\") && ! element.hasAttribute(\"height\")) {\n element.width = bestFit.width;\n element.height = bestFit.height;\n }\n\n if ( ! element.hasAttribute(\"alt\"))\n element.setAttribute(\"alt\", data.alt);\n } else {\n element.style.backgroundImage = \"url(\" + src + \")\";\n }\n }\n\n\n}\n\n\nexport class LazyLoader {\n\n public constructor(targetNode: HTMLElement = null) {\n\n\n }\n\n private mappers: LazyLoaderMapper[] = [\n new LeuCDNLazyLoaderMapper()\n ];\n\n public addMapper(mapper: LazyLoaderMapper) {\n this.mappers.push(mapper);\n }\n\n\n public async convert(parentNode: HTMLElement = document.body) {\n let mediaSupport = await getMediaSupport();\n parentNode.querySelectorAll(\"img,[data-bg-img]\").forEach(\n (e) => {\n let src = \"\";\n if (e.hasAttribute(\"data-bg-img\")) {\n src = e.getAttribute(\"data-bg-img\");\n } else if (e.hasAttribute(\"data-src\")) {\n src = e.getAttribute(\"data-src\");\n } else if (e.hasAttribute(\"src\")) {\n src = e.getAttribute(\"src\");\n } else {\n return;\n }\n\n let url : Url = null;\n try {\n url = new URL(src);\n } catch (e) {\n return;\n }\n for (let curMapper of this.mappers) {\n if (!curMapper.isSuitable(url)) {\n continue;\n }\n curMapper.setElement(e as HTMLElement, url);\n }\n\n }\n )\n\n\n }\n\n\n}\n","\nconst bestFormats = [\n \"svg\", \"avif\", \"webp\", \"jpg\", \"jpeg\", \"png\", \"gif\"\n]\nclass MediaSupport {\n\n\n\n public avif : boolean = null\n public webp : boolean = null\n public jpg : boolean = true\n public jpeg : boolean = true\n public gif : boolean = true\n\n\n public valid : boolean = false;\n\n async detect() {\n this.webp = await testWebP() as any;\n this.avif = await testAvif() as any;\n console.log(\"Media supports\", this);\n this.valid = true;\n }\n\n\n isSupported(extension : string) : boolean {\n extension = extension.trim().toLowerCase();\n if(typeof this[extension] === \"undefined\")\n return false;\n return this[extension];\n }\n\n getBestExtension (extensions : string[]) : string {\n for(let curExt of bestFormats) {\n if (typeof extensions.find(e => e === curExt) !== \"undefined\" && this.isSupported(curExt))\n return curExt;\n }\n return null;\n }\n\n}\n\nfunction testWebP() {\n return new Promise(res => {\n const webP = new Image();\n webP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';\n webP.onload = webP.onerror = () => {\n res(webP.height === 2);\n };\n })\n};\n\n\nfunction testAvif() {\n return new Promise(res => {\n const webP = new Image();\n webP.src = 'data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=';\n webP.onload = webP.onerror = () => {\n res(webP.height === 2);\n };\n })\n};\n\n\nlet promises : any[] = null;\nlet mediaSupport = new MediaSupport();\n\nexport async function getMediaSupport() : Promise<MediaSupport> {\n\n if (promises === null) {\n promises = [];\n await mediaSupport.detect();\n promises.forEach((exec) => exec(mediaSupport));\n }\n\n if (mediaSupport.valid === false) {\n return new Promise<MediaSupport>((resolve) => {\n promises.push(resolve);\n })\n }\n return mediaSupport;\n\n\n}\n","import {ka_html, ka_sleep, KaModal} from \"@kasimirjs/embed\";\nimport {triggerError} from \"./functions\";\n\n\nclass LeuModal extends KaModal {\n constructor(template : string) {\n super();\n this.html = template;\n this.element.addEventListener(\"click\", async (e : Event) => {\n let target = e.target as HTMLElement\n if ( ! target.hasAttribute(\"data-leu-dismiss\"))\n return\n this.element.querySelector(\".fade\")?.classList.remove(\"show\");\n await ka_sleep(200);\n this.resolve(\"dismiss\" as any);\n })\n\n }\n\n html = ``\n}\n\n\nexport async function modal(contentSelector : string, templateSelector : string = \"#modal-default\" ) {\n\n let contentData :string;\n let contentTitle = \"Unnamed [unset data-leu-title]\";\n let tplData : string;\n if (contentSelector.startsWith(\"#\")) {\n let tpl = document.querySelector(contentSelector) as HTMLTemplateElement;\n contentData = tpl.innerHTML;\n contentTitle = tpl.getAttribute(\"data-leu-title\");\n } else {\n contentData = await (await fetch(contentSelector)).text()\n }\n\n if (templateSelector !== null) {\n let template = document.querySelector(templateSelector) as HTMLTemplateElement;\n if (template === null) {\n triggerError(\"leu-modal\", \"templateSelector \" + templateSelector + \" not found\");\n }\n\n tplData = template.innerHTML.replace(\"%%title%%\", contentTitle).replace(\"%%body%%\", contentData);\n }\n\n\n let modal = new LeuModal(tplData);\n\n history.pushState({modal: true}, \"Modal open\", \"\");\n let listener = () => {\n console.log(\"popstate\");\n modal.resolve(null);\n }\n\n window.addEventListener(\"popstate\", listener);\n modal.render({});\n let promise = modal.show().then((arg) => {\n window.removeEventListener(\"popstate\", listener);\n })\n await ka_sleep(10);\n modal.element.querySelector(\".fade\")?.classList.add(\"show\");\n}\n","import {ka_sleep} from \"@kasimirjs/embed\";\n\n\nexport class SmoothScroll {\n\n\n constructor(offsetTop : number = 86) {\n\n window.addEventListener(\"hashchange\", async (e) => {\n console.log(e);\n e.preventDefault();\n\n await ka_sleep(1);\n\n let elem = document.getElementById(window.location.hash.slice(1));\n if (elem === null)\n return;\n\n let top = elem.getBoundingClientRect().top + window.scrollY - offsetTop;\n console.log(\"scrollto\", elem, window.location.hash, elem.getBoundingClientRect().top, top);\n\n\n window.scrollTo({\n top: top,\n behavior: 'smooth'\n });\n\n })\n\n }\n\n}\n","\n\n\nimport {SmoothScroll} from \"./helper/smoothscroll\";\nimport \"./components/leu-data-nav\";\nimport \"./components/leu-data\";\nimport \"./components/leu-format\";\nimport \"./components/leu-content\";\nimport \"./components/leu-switcher\";\nimport \"./components/leu-show\";\nimport \"./components/leu-use\";\nimport \"./components/leu-var\";\nimport \"./components/leu-modal\";\nimport \"./components/leu-select\";\n\n\n\nimport {LeuSwitcher} from \"./components/leu-switcher\";\nimport {findParent} from \"./helper/functions\";\nimport {modal} from \"./helper/modal\";\nimport {leuTemplateVariables} from \"./components/leu-var\";\nimport {LazyLoader} from \"./helper/lazy-loader\";\n\n\nexport const Leu = {\n config: {\n switcher: {\n hiddenClass: \"visually-hidden\"\n }\n },\n findParent: findParent,\n modal: modal,\n Switcher: LeuSwitcher,\n SmoothScroll: SmoothScroll,\n templateVariables: leuTemplateVariables\n}\n\n\n\n\n\ndeclare global {\n var Leu : any;\n}\n\nglobalThis.Leu = Leu as any;\n\nconst ll = new LazyLoader();\n","export default \"<template id=\\\"accordion-item\\\">\\n <div class=\\\"accordion-item\\\">\\n <leu-var data-name=\\\"acc_counter\\\" data-increment=\\\"1\\\"></leu-var>\\n <h2 class=\\\"accordion-header\\\" id=\\\"acc_head_${acc_counter}\\\">\\n <button class=\\\"accordion-button collapsed\\\" type=\\\"button\\\" data-bs-toggle=\\\"collapse\\\" data-bs-target=\\\"#acc_body_${acc_counter}\\\" aria-expanded=\\\"false\\\" aria-controls=\\\"acc_body_${acc_counter}\\\">\\n <p class=\\\"fs-4 mb-0\\\">${title}</p>\\n </button>\\n </h2>\\n <div id=\\\"acc_body_${acc_counter}\\\" class=\\\"accordion-collapse collapse\\\" aria-labelledby=\\\"acc_head_${acc_counter}\\\" data-bs-parent=\\\"#${accordionParentId}\\\">\\n <div class=\\\"accordion-body\\\" attach>\\n </div>\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"accordion\\\">\\n <div>\\n <leu-var data-name=\\\"accordionParentId\\\" data-value=\\\"${id?accordion_default_id}\\\"></leu-var>\\n <div class=\\\"accordion\\\" id--=\\\"${id?accordion_default_id}\\\" attach>\\n\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-alert-box\\\">\\n <div class=\\\"hs-alert-box alert alert-${type?success} bg-opacity-50 d-flex mb-3\\\" tabindex=\\\"0\\\">\\n <i style=\\\"width: 48px; height: 48px;line-height: 48px;font-size: 48px\\\" class=\\\"text-${type?success} me-3 bi ${icon?bi-info-circle-fill}\\\"></i>\\n <div>\\n <section attach></section>\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-alert-text\\\">\\n <div class=\\\"hc-alert-text position-relative\\\">\\n <span class=\\\"icon position-absolute start-0 ${icon?bi bi-pen} fs-2\\\"></span>\\n <div class=\\\"ps-5\\\" attach></div>\\n </div>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-card-image-top\\\">\\n <div class=\\\"card h-100\\\">\\n <div class=\\\"ratio ${imgClass?ratio-4x3} overflow-hidden\\\">\\n <img src--=\\\"${imgSrc?@@cdnBaseUrl@@/img/default-person-female.jpg}\\\" class=\\\"card-img-top\\\" style=\\\"object-fit: cover\\\" alt=\\\"${imgSrc?Bild}\\\">\\n </div>\\n\\n <div class=\\\"card-body\\\" attach=\\\"\\\">\\n <h5 class=\\\"card-title\\\">${title?}</h5>\\n\\n </div>\\n </div>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-card\\\">\\n <div class=\\\"card h-100\\\">\\n <div class=\\\"card-body\\\" attach=\\\"\\\">\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-dropdown\\\">\\n <li class=\\\"dropdown\\\">\\n <a class=\\\"nav-link dropdown-toggle\\\" href=\\\"${href?javscript:void(0)}\\\" role=\\\"button\\\" data-bs-toggle=\\\"dropdown\\\" aria-expanded=\\\"false\\\">\\n ${title?Unnamed title}\\n </a>\\n <ul class=\\\"dropdown-menu\\\" attach>\\n <!--li><a class=\\\"dropdown-item\\\" href=\\\"#\\\">Action</a></li-->\\n </ul>\\n </li>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-form-radio\\\">\\n <div class=\\\"form-check\\\">\\n <input class=\\\"form-check-input\\\" type=\\\"radio\\\" name=\\\"${name}\\\" value=\\\"${value}\\\" id--=\\\"${id}\\\" ${opt?}>\\n <label class=\\\"form-check-label\\\" for=\\\"${id}\\\">\\n ${label}\\n </label>\\n </div>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-form-select\\\">\\n <div class=\\\"${class?col-12}\\\">\\n <label for=\\\"${id}\\\" class=\\\"form-label\\\">${label}</label>\\n <select type=\\\"${type?text}\\\" value=\\\"${value?}\\\" class=\\\"form-select\\\" id--=\\\"${id}\\\" is=\\\"leu-select\\\" ${opt?}></select>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-form-submit\\\">\\n <div>\\n <div class=\\\"alert alert-success mt-4\\\" hidden role=\\\"form_success\\\">${successMsg?Ihre Nachricht wurde zugestellt. Wir melden uns in den nächsten Tagen bei Ihnen.}</div>\\n <div class=\\\"alert alert-danger mt-4\\\" hidden role=\\\"form_error\\\">Der Auftrag konnte aufgrund eines technischen Fehlers nicht zugestellt werden. Bitte versuchen Sie es später noch einmal.</div>\\n <div class=\\\"alert alert-danger mt-4\\\" hidden role=\\\"form_data_invalid\\\">Es wurden nicht alle erforderlichen Eingabefelder ausgefüllt</div>\\n <button class=\\\"btn btn-primary\\\" type=\\\"submit\\\">${text?Absenden}</button>\\n </div>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-form-text\\\">\\n <div class=\\\"${class?col-12}\\\">\\n <label for=\\\"${id}\\\" class=\\\"form-label\\\">${label}</label>\\n <input type=\\\"${type?text}\\\" class=\\\"form-control\\\" id--=\\\"${id}\\\" placeholder=\\\"${placeholder?}\\\" ${opt?}>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-form-textarea\\\">\\n <div class=\\\"${class?col-12}\\\">\\n <label for=\\\"${id}\\\" class=\\\"form-label\\\">${label}</label>\\n <textarea class=\\\"form-control\\\" id--=\\\"${id}\\\" placeholder=\\\"${placeholder?}\\\" ${opt?}></textarea>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"google-maps\\\">\\n <div>\\n <div id=\\\"gmaps_prev\\\" class=\\\"position-relative\\\" style=\\\"width: 100%;height: 500px;background-image: url(@@cdnBaseUrl@@/google-maps/maps-preview.jpg)\\\">\\n <div class=\\\"position-absolute w-100 h-100 bg-primary\\\" style=\\\"opacity: 0.3\\\"></div>\\n <div class=\\\"position-absolute w-100 h-100 d-flex flex-column\\\">\\n <button class=\\\"btn btn-secondary mx-auto my-auto btn-lg\\\" onclick=\\\"leu_show_gmaps()\\\">Google Maps anzeigen</button>\\n <p class=\\\"mx-auto\\\">Mit Klick auf \\\"Anzeigen\\\" erklären Sie sich mit den Datenschutzbestimmungen einverstanden.</p>\\n </div>\\n </div>\\n <iframe id=\\\"gmaps_iframe\\\" width=\\\"100%\\\" hidden title=\\\"Google Maps\\\" height=\\\"500px\\\" style=\\\"\\\" data-src=\\\"${mapUrl?https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2489.8490105586066!2d7.00233881584807!3d51.387453027286995!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47b8db54d8a8908d%3A0xf127f6e3672ff9eb!2sFolkwang%20Universit%C3%A4t%20der%20K%C3%BCnste!5e0!3m2!1sde!2sde!4v1670337871682!5m2!1sde!2sde}\\\"></iframe>\\n <script>\\n function leu_show_gmaps() {\\n let frame = document.querySelector(\\\"#gmaps_iframe\\\");\\n let prev = document.querySelector(\\\"#gmaps_prev\\\");\\n frame.setAttribute(\\\"src\\\", frame.getAttribute(\\\"data-src\\\"));\\n frame.removeAttribute(\\\"hidden\\\");\\n prev.setAttribute(\\\"hidden\\\", true);\\n }\\n </script>\\n </div>\\n\\n</template>\\n\";","export default \"<template id=\\\"hero-fullsize-overlay\\\">\\n <section class=\\\"${background?bg-primary} position-relative\\\" style=\\\"min-height: 100vh;\\\">\\n <div class=\\\"position-absolute top-0 bottom-0 w-100\\\" style=\\\"height: 99%; max-width: 1920px; background-image: url(${image?@@cdnBaseUrl@@/img/default-bg-room.jpg}); background-size: 1920px; background-position: center; background-attachment: fixed\\\"></div>\\n <div class=\\\"${overlay_color?bg-danger} position-absolute top-0 bottom-0 w-100 h-100\\\" style=\\\"opacity: 0.8\\\"></div>\\n <div class=\\\"position-absolute top-0 w-100\\\" attach=\\\"top\\\"></div>\\n <div class=\\\"position-relative w-100\\\" style=\\\"padding-top: 50vh\\\" attach=\\\"bottom\\\"></div>\\n </section>\\n</template>\\n\";","export default \"\\n<template id=\\\"hc-ratio-image\\\">\\n <div class=\\\"ratio ${class?ratio-1x1} overflow-hidden\\\">\\n <img alt=\\\"${alt?Bild}\\\" src--=\\\"${src?@@cdnBaseUrl@@/img/default-person-female.jpg\\\">\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-navbar-nav\\\">\\n <ul class=\\\"navbar-nav navbar-nav-scroll ${class?ms-auto my-2 my-lg-0}\\\" attach=\\\"\\\">\\n\\n </ul>\\n</template>\\n\";","export default \"<template id=\\\"hc-navbar\\\">\\n <nav class=\\\"navbar position-fixed navbar-expand-lg ${class?} bg-light w-100\\\" style=\\\"z-index: 999\\\">\\n <div class=\\\"${container?container-fluid}\\\">\\n <a class=\\\"navbar-brand\\\" href=\\\"/\\\">${title?Unnamed Navbar}</a>\\n <button class=\\\"navbar-toggler\\\" type=\\\"button\\\" data-bs-toggle=\\\"collapse\\\" data-bs-target=\\\"#navbarSupportedContent\\\" aria-controls=\\\"navbarSupportedContent\\\" aria-expanded=\\\"false\\\" aria-label=\\\"Toggle navigation\\\">\\n <span class=\\\"navbar-toggler-icon\\\"></span>\\n </button>\\n <div class=\\\"collapse navbar-collapse\\\" id=\\\"navbarSupportedContent\\\" attach>\\n\\n </div>\\n </div>\\n </nav>\\n</template>\\n\";","export default \"\\n\\n<template id=\\\"screen-mobile\\\">\\n <div class=\\\"ratio position-relative\\\" style=\\\"${class?width: 100%};;--bs-aspect-ratio: 192%\\\">\\n <div class=\\\"position-absolute \\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/mobile-shadow.svg);background-size: 110% ; background-repeat: no-repeat; background-position: center center; top: -5%;left:-4%;width:112%;height:115%;opacity:0.5\\\"></div>\\n <div class=\\\"position-absolute\\\" style=\\\"background-color: white; top: 3%;left:8%;width:84%;height:94%;overflow: hidden\\\"></div>\\n <div class=\\\"position-absolute top-0 end-0 start-0 bottom-0\\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/mobile.svg)\\\"></div>\\n </div>\\n</template>\\n\\n<template id=\\\"screen-desktop\\\">\\n <div class=\\\"ratio position-relative\\\" style=\\\"${class?width: 100%};;--bs-aspect-ratio: 82%\\\">\\n <div class=\\\"position-absolute \\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/desktop-shadow.svg);background-size: 100% ; background-repeat: no-repeat; opacity: 0.5; background-position: center center; top: -6%;left:-2%;width:104%;height:112%\\\"></div>\\n <div class=\\\"position-absolute top-0 end-0 start-0 bottom-0\\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/desktop.svg)\\\"></div>\\n <div class=\\\"position-absolute\\\" style=\\\"background-color: white; top: 6%;left:2%;width:95.5%;height:63%\\\"></div>\\n </div>\\n</template>\\n\\n<template id=\\\"screen-tablet\\\">\\n <div class=\\\"ratio position-relative\\\" style=\\\"${class?width: 100%};--bs-aspect-ratio: 77%\\\">\\n <div class=\\\"position-absolute \\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/tablet-shadow.svg);background-size: 95% ; background-repeat: no-repeat; background-position: center center; top: -5%;left:-6%;width:112%;height:110%;opacity: 0.5\\\"></div>\\n <div class=\\\"position-absolute\\\" style=\\\"background-color: white; top: 3%;left:3%;width:94%;height:95%\\\"></div>\\n <div class=\\\"position-absolute top-0 end-0 start-0 bottom-0\\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/tablet.svg)\\\"></div>\\n </div>\\n</template>\\n\\n<template id=\\\"screen-laptop\\\">\\n <div class=\\\"ratio position-relative\\\" style=\\\"${class?width: 100%};--bs-aspect-ratio: 58%\\\">\\n <div class=\\\"position-absolute \\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/laptop-shadow.svg);background-size: 95% ; background-repeat: no-repeat; background-position: center center; top: -4%;left:-6%;width:112%;height:109%;opacity:0.5\\\"></div>\\n <div class=\\\"position-absolute top-0 end-0 start-0 bottom-0\\\" style=\\\"background-image: url(@@cdnBaseUrl@@/screens/laptop.svg)\\\"></div>\\n <div class=\\\"position-absolute\\\" style=\\\"background-color: white; top: 6%;left:11%;width:78%;height:81%\\\"></div>\\n </div>\\n</template>\\n\\n<style>\\n .screen-hover {\\n scale: 100%;\\n transition: scale 200ms ease;\\n }\\n\\n .screen-hover:hover {\\n scale: 110%;\\n z-index: 5;\\n }\\n</style>\\n\";","export default \"<template id=\\\"hc-section-side-image\\\">\\n <div class=\\\"row g-5\\\" style=\\\"--bs-gap: 1rem 1rem;\\\">\\n <div class=\\\"${imgClass?col-lg-4} overflow-hidden\\\" style=\\\"background-size: cover; background-position: center center\\\" data-bg-img=\\\"${imgSrc?}\\\">\\n <div class=\\\"ratio ratio-16x9\\\"></div>\\n </div>\\n <div class=\\\"col align-self-center\\\" attach=\\\"\\\">\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-slider\\\">\\n <div class=\\\"hc-slider\\\" data-delay=\\\"${delay?5000}\\\" attach>\\n\\n </div>\\n</template>\\n\\n<template id=\\\"hc-slider-slide-content\\\">\\n <div class=\\\"position-absolute h-100 w-100 overflow-hidden\\\">\\n <img src=\\\"${imgSrc?}\\\">\\n </div>\\n <div class=\\\"container h-100 position-relative d-flex align-items-start flex-column\\\">\\n <div class=\\\"mt-auto\\\" attach=\\\"\\\">\\n\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template id=\\\"hc-order-qtty\\\">\\n <hc-order-qtty name=\\\"${name?undefined}\\\">\\n </hc-order-qtty>\\n</template>\\n\";","import {ka_templatify} from \"../tpl/templatify.js\";\nimport {KaTemplate} from \"../tpl/template.js\";\nimport {ka_query_selector} from \"../core/query-select.js\";\nimport {RemoteTemplate} from \"./htmlFile\";\n\nexport class KaCustomElement extends HTMLElement {\n\n constructor(props) {\n super(props);\n\n /**\n *\n * @protected\n * @var {KaTemplate}\n */\n this.__tpl = null;\n\n this.__isConnected = false;\n }\n\n /**\n * The Template associated with this Element\n *\n * @return {KaTemplate}\n */\n get $tpl () {\n return this.__tpl\n }\n\n isConnected() {\n return this.isConnected;\n }\n\n /**\n * @abstract\n * @return {Promise<void>}\n */\n async connected($tpl, $this) {\n console.warn(\"connected() method not overridden in\", this);\n }\n\n async connectedCallback() {\n let callback = this.constructor.__callback;\n if (callback === null) {\n } else {\n callback.bind(this);\n }\n\n if (this.constructor.__tpl !== null) {\n let origTpl = this.constructor.__tpl;\n if (origTpl instanceof RemoteTemplate)\n origTpl = await origTpl.load();\n\n let tpl = ka_templatify(origTpl);\n\n if (this.constructor.__options.shadowDom === true) {\n let shadowDom = this.attachShadow(this.constructor.__options.shadowDomOptions);\n shadowDom.appendChild(tpl);\n } else {\n this.appendChild(tpl);\n }\n\n this.__tpl = new KaTemplate(tpl);\n }\n\n if (this.constructor.__options.waitEvent !== null) {\n let wd = this.constructor.__options.waitEvent.split(\"@\");\n let eventName = wd[0];\n let target = document;\n if (wd.length === 2) {\n target = ka_query_selector(wd[1]);\n }\n target.addEventListener(eventName, async (event) => {\n callback(this.$tpl, this);\n this.__isConnected = true;\n })\n return;\n }\n\n if (callback === null) {\n // Class: Call connected() Method\n await this.connected(this.$tpl, this);\n this.__isConnected = true;\n return\n }\n\n // Function\n callback(this.$tpl, this);\n this.__isConnected = true;\n }\n\n};\n","import {ka_eval} from \"./eval.js\";\nimport {ka_str_to_camel_case} from \"./str-to-camelcase.js\";\nimport {KaUse} from \"../element/ka-use\";\nimport {isset, isUndefined} from \"../functions\";\nimport {KaCustomFragment} from \"../element/KaCustomFragment\";\n\n\nexport function ka_apply (selector, scope, recursive=false) {\n if (typeof selector === \"string\")\n selector = KaToolsV1.querySelector(selector);\n\n let attMap = {\n \"textcontent\": \"textContent\",\n \"htmlcontent\": \"innerHTML\",\n \"innerhtml\": \"innerHTML\",\n }\n\n for(let attName of selector.getAttributeNames()) {\n //console.log(attName);\n if ( ! attName.startsWith(\"ka.\")) {\n continue;\n }\n\n let attVal = selector.getAttribute(attName);\n\n let attType = attName.split(\".\")[1];\n let attSelector = attName.split(\".\")[2];\n if (typeof attSelector === \"undefined\")\n attSelector = null;\n\n\n let registerEventHandler = function(element, action, callbackOrCode, scope) {\n if (typeof element._ka_on === \"undefined\")\n element._ka_on = {};\n\n if (typeof element._ka_on[action] === \"undefined\")\n element.addEventListener(action, (e) => element._ka_on[action](e));\n\n element._ka_on[action] = async(e) => {\n scope[\"$event\"] = e;\n if (typeof callbackOrCode === \"function\") {\n return callbackOrCode(e, element, scope);\n } else {\n return ka_eval(callbackOrCode, scope, element);\n }\n };\n }\n\n if (attType === \"on\") {\n let attScope = {$scope: scope, ...scope}\n if (attSelector !== null) {\n registerEventHandler(selector, attSelector, attVal, attScope);\n } else {\n let callBackMap = KaToolsV1.eval(attVal, attScope, selector);\n for(let curAction in callBackMap) {\n registerEventHandler(selector, curAction, callBackMap[curAction], attScope);\n }\n\n }\n continue;\n }\n\n let r = null;\n if (typeof attVal !== \"undefined\" && typeof attVal !== null && attVal !== \"\")\n r = ka_eval(attVal, scope, selector);\n\n switch (attType) {\n case \"use\":\n if ( ! (selector instanceof KaUse)) {\n console.error(\"ka.use is only available on <ka-use/> Elements: Used on \", r, \"found in \", selector);\n throw \"ka.use called on non <ka-use/> Element.\"\n }\n\n selector.use(r, scope)\n continue;\n\n case \"scope\":\n if ( ! (r instanceof Object)) {\n console.error(\"ka.scope must be object type <ka-use/> Elements: Value is \", r, \"found in \", selector);\n throw \"ka.scope insuffient value\";\n }\n\n selector.setScope(r);\n continue;\n\n case \"stop\":\n continue;\n\n case \"debug\":\n console.log(\"ka.debug on element\", selector, \"value:\", r, \"scope:\", scope);\n continue;\n\n case \"ref\":\n if (isUndefined(scope.$ref))\n scope.$ref = {};\n // Allow ref without parameter to use $ref.$last\n if (r !== null)\n scope.$ref[r] = selector;\n scope.$ref.$last = selector;\n break;\n\n case \"classlist\":\n if (attSelector !== null) {\n if (r === true) {\n selector.classList.add(attSelector)\n } else {\n selector.classList.remove(attSelector)\n }\n break;\n }\n for (let cname in r) {\n if (r[cname] === true) {\n selector.classList.add(cname);\n } else {\n selector.classList.remove(cname);\n }\n }\n break;\n\n case \"style\":\n if (attSelector !== null) {\n let val = r;\n if (typeof val === \"number\" && [\"left\", \"top\", \"height\", \"width\", \"bottom\", \"right\", \"line-height\", \"font-size\"].indexOf(attSelector) !== -1)\n val = val + \"px\";\n selector.style[ka_str_to_camel_case(attSelector)] = val;\n break;\n }\n for (let cname in r) {\n let val = r[cname];\n if (typeof val === \"number\" && [\"left\", \"top\", \"height\", \"width\", \"bottom\", \"right\", \"line-height\", \"font-size\"].indexOf(cname) !== -1)\n val = val + \"px\";\n selector.style[ka_str_to_camel_case(cname)] = val;\n }\n break;\n\n case \"bindarray\":\n if (attSelector === \"default\")\n continue;\n if (isUndefined(r)) {\n // Bind default values\n if (selector.hasAttribute(\"ka.bind.default\")) {\n scope = {$scope: scope, ...scope};\n scope = {$scope: scope, ...scope, __curVal: ka_eval(selector.getAttribute(\"ka.bind.default\"), scope, selector)}\n ka_eval(`${attVal} = __curVal`, scope, selector);\n r = scope.__curVal;\n }\n }\n if ( ! Array.isArray(r)) {\n console.error(\"kap:bindarr: Not an array!\", r, selector);\n return;\n }\n if (r.indexOf(selector.value) === -1)\n selector.checked = false;\n else\n selector.checked = true;\n\n if (typeof selector._kap_bind === \"undefined\") {\n selector.addEventListener(\"change\", (event) => {\n\n let arr = ka_eval(attVal, scope, selector);\n\n if (arr.indexOf(selector.value) === -1 && selector.checked)\n arr.push(selector.value);\n if (arr.indexOf(selector.value) !== -1 && ! selector.checked)\n arr = arr.filter((e) => e !== selector.value);\n scope = {$scope: scope, ...scope, __curVal: arr};\n ka_eval(`${attVal} = __curVal`, scope, selector);\n if (scope.$on && scope.$on.change)\n scope.$on.change(event);\n })\n selector._kap_bind = true;\n }\n break;\n\n case \"bind\":\n if (attSelector === \"default\")\n continue;\n if (isUndefined(r)) {\n // Bind default values\n if (isset (selector.value)) {\n scope = {$scope: scope,...scope, __curVal: selector.value}\n ka_eval(`${attVal} = __curVal`, scope, selector);\n r = scope.__curVal;\n }\n if (selector.hasAttribute(\"ka.bind.default\")) {\n scope = {$scope: scope, ...scope};\n scope = {$scope: scope, ...scope, __curVal: ka_eval(selector.getAttribute(\"ka.bind.default\"), scope, selector)}\n ka_eval(`${attVal} = __curVal`, scope, selector);\n r = scope.__curVal;\n }\n }\n if (selector.type === \"checkbox\" || selector.type === \"radio\") {\n if (selector.hasAttribute(\"value\")) {\n if (r === selector.getAttribute(\"value\"))\n selector.checked = true;\n else\n selector.checked = false;\n } else {\n if (r === true)\n selector.checked = true;\n else\n selector.checked = false;\n }\n } else {\n selector.value = typeof r !== \"undefined\" ? r : \"\";\n }\n\n if (typeof selector._kap_bind === \"undefined\") {\n selector.addEventListener(\"change\", (event) => {\n\n let value = null;\n if (selector.type === \"checkbox\" || selector.type === \"radio\") {\n if (selector.hasAttribute(\"value\")) {\n if (selector.checked === false)\n return;\n value = selector.getAttribute(\"value\");\n } else {\n value = selector.checked\n }\n } else {\n value = selector.value\n }\n scope = {$scope: scope, ...scope, __curVal: value}\n ka_eval(`${attVal} = __curVal`, scope, selector);\n if (scope.$on && scope.$on.change)\n scope.$on.change(event);\n })\n selector.addEventListener(\"keyup\", (event) => {\n scope = {$scope: scope,...scope, __curVal: selector.value}\n ka_eval(`${attVal} = __curVal`, scope, selector);\n if (scope.$on && scope.$on.change)\n scope.$on.change(event);\n\n })\n selector._kap_bind = true;\n }\n break;\n\n case \"options\":\n let value = selector.value;\n selector.innerHTML = \"\";\n for (let option in r) {\n if (isNaN(option)) {\n selector.appendChild(new Option(r[option], option));\n } else {\n if (typeof r[option].text !== \"undefined\") {\n selector.appendChild(new Option(r[option].text, r[option].value));\n } else {\n selector.appendChild(new Option(r[option], r[option]));\n }\n }\n }\n if (value !== null)\n selector.value = value;\n break;\n\n case \"attr\":\n if (attSelector !== null) {\n if (r === null || r === false) {\n selector.removeAttribute(attSelector)\n } else {\n selector.setAttribute(attSelector, r);\n }\n break;\n }\n for (let cname in r) {\n if (r[cname] ===null || r[cname] === false) {\n selector.removeAttribute(cname);\n } else {\n selector.setAttribute(cname, r[cname]);\n }\n }\n break;\n\n case \"prop\":\n if (attSelector !== null) {\n // Set Property directly\n selector[ka_str_to_camel_case(attSelector)] = r;\n break;\n }\n for (let cname in r) {\n selector[ka_str_to_camel_case(cname)] = r[cname];\n }\n break;\n\n default:\n if (typeof attMap[attType] !== \"undefined\")\n attType = attMap[attType];\n if (typeof selector[attType] === \"undefined\") {\n console.warn(\"apply(): trying to set undefined property \", attType, \"on element\", selector);\n }\n selector[attType] = r;\n break;\n }\n\n\n\n }\n if (recursive) {\n for (let e of selector.children) {\n ka_apply(e, scope, recursive);\n }\n }\n}\n","\n\n/**\n *\n * @param {HTMLElement} elem\n * @param fn\n * @param recursive\n */\nexport function ka_elwalk (elem, fn, recursive=false, includeFirst=false) {\n if (Array.isArray(elem))\n elem.children = elem;\n if (typeof elem.children === \"undefined\")\n return;\n if (includeFirst && elem instanceof HTMLElement) {\n let ret = fn(elem);\n if (ret === false)\n return false;\n }\n for(let child of elem.children) {\n let ret = fn(child);\n if (ret === false)\n continue; // No recursiion\n\n if (recursive && typeof child.children !== \"undefined\")\n ka_elwalk(child, fn, recursive);\n\n }\n}\n","\nexport function ka_eval (stmt, __scope, e, __refs) {\n if (stmt.endsWith(\";\"))\n stmt = stmt.slice(0, -1);\n\n const reserved = [\"var\", \"null\", \"let\", \"const\", \"function\", \"class\", \"in\", \"of\", \"for\", \"true\", \"false\", \"await\", \"$this\"];\n let r = \"var $this = e;\";\n for (let __name in __scope) {\n if (reserved.indexOf(__name) !== -1)\n continue;\n if (__name.indexOf(\"-\") !== -1) {\n console.error(`Invalid scope key '${__name}': Cannot contain - in scope:`, __scope);\n throw `eval() failed: Invalid scope key: '${__name}': Cannot contain minus char '-'`;\n }\n r += `var ${__name} = __scope['${__name}'];`\n }\n // If the scope was cloned, the original will be in $scope. This is important when\n // Using events [on.click], e.g.\n if (typeof __scope.$scope === \"undefined\") {\n r += \"var $scope = __scope;\";\n }\n try {\n // console.log(r + '(' + stmt + ')');\n return eval(r + '('+stmt+')')\n } catch (ex) {\n console.error(\"cannot eval() stmt: '\" + stmt + \"': \" + ex, \" on element \", e, ex, \"(context:\", __scope, \")\");\n throw \"eval('\" + stmt + \"') failed: \" + ex;\n }\n}\n","\n/**\n * Query a Element or trigger an Exception\n *\n * @param query\n * @param parent\n * @param exception\n * @return {HTMLElement}\n */\nexport function ka_query_selector (query, parent, exception) {\n if (typeof exception === \"undefined\")\n exception = `querySelector '${query}' not found`\n if (typeof parent === \"undefined\" || parent === null)\n parent = document;\n let e = parent.querySelectorAll(query);\n if (e.length === 0) {\n console.warn(exception, \"on parent: \", parent);\n throw exception;\n }\n return e[0];\n}\n","\n\n/**\n * Transform any input to CamelCase\n *\n * Example: some-class => someClass\n *\n * @param str {string}\n * @return {string}\n */\nexport function ka_str_to_camel_case (str) {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (ltr, idx) => idx === 0 ? ltr.toLowerCase() : ltr.toUpperCase()).replace(/[^a-zA-Z0-9]+/g, '');\n}\n","import {ka_eval} from \"../core/eval.js\";\nimport {ka_elwalk} from \"../core/elwalk.js\";\nimport {ka_apply} from \"../core/apply.js\";\nimport {KaCustomElement} from \"../ce/custom-element.js\";\n\n\nexport class KaTemplate {\n\n constructor(template) {\n this.template = template;\n if (typeof this.template.__kachilds === \"undefined\")\n this.template.__kachilds = [];\n if (typeof this.template.__kasibling === \"undefined\")\n this.template.__kasibling = this.template.nextElementSibling;\n\n this.__renderCount = 0;\n this.$scope = {};\n }\n\n _error(msg) {\n console.error(`[ka-template] ${msg} on element`, this.template);\n throw `[ka-template] ${msg} on element` + this.template;\n }\n\n _appendTemplate() {\n let elements = this.template.content;\n\n let elList = [];\n for (let curE of elements.children) {\n curE = curE.cloneNode(true);\n curE._ka_maintained_by = this.template.getAttribute(\"_kaidx\");\n elList.push(curE);\n this.template.parentNode.insertBefore(curE, this.template.__kasibling);\n }\n this.template.__kachilds.push(elList);\n }\n\n _removeLastChild() {\n if (this.template.__kachilds.length === 0)\n return;\n let childs = this.template.__kachilds[this.template.__kachilds.length - 1];\n for (let curE of childs) {\n this.template.parentElement.removeChild(curE);\n }\n this.template.__kachilds.length = this.template.__kachilds.length - 1;\n\n }\n\n _renderFor($scope, stmt) {\n //console.log(\"kachilds\", this.template.__kachilds);\n let matches = stmt.match(/^(let)?\\s*(?<target>.+)\\s+(?<type>of|in|repeat)\\s+(?<select>.+)$/);\n if (matches === null) {\n this._error(`Can't parse ka.for='${stmt}'`);\n }\n let selectVal = ka_eval(matches.groups.select, $scope, this.template);\n\n if (matches.groups.type === \"repeat\") {\n if (typeof selectVal !== \"number\")\n this._error(`Error ka.for='${stmt}': Selected val must be number in repeat loop`);\n selectVal = new Array(selectVal).fill(null);\n }\n\n let eIndex = 0;\n for (let index in selectVal) {\n let curScope = {$scope: $scope, ...$scope};\n curScope[matches.groups.target] = index;\n\n if (matches.groups.type === \"of\")\n curScope[matches.groups.target] = selectVal[index];\n\n if (this.template.__kachilds.length < eIndex + 1) {\n //console.log(\"append\", eIndex, this.template.__kachilds.length);\n this._appendTemplate();\n }\n this._maintain(curScope, this.template.__kachilds[eIndex], eIndex);\n eIndex++;\n }\n for(let remIdx = eIndex; remIdx < this.template.__kachilds.length; ) {\n this._removeLastChild();\n }\n\n }\n\n _maintain($scope, childs, forIndex=0) {\n for (let child of childs) {\n child._ka_for_index = forIndex;\n ka_elwalk(child, (el) => {\n //console.log(\"walk\", el);\n\n if (el instanceof HTMLTemplateElement) {\n //console.log(\"maintain\", el);\n let r = new this.constructor(el);\n r.render($scope);\n return false;\n }\n\n if (typeof el._ka_maintained_by !== \"undefined\" && el._ka_maintained_by !== this.template.getAttribute(\"_kaidx\")) {\n return false;\n }\n\n ka_apply(el, $scope);\n if ((el instanceof HTMLElement && (el.hasAttribute(\"ka.stop\" )) || el instanceof KaCustomElement))\n return false; // Skip Element rendering\n }, true, true);\n }\n }\n\n\n _renderIf($scope, stmt) {\n let selectVal = ka_eval(stmt, $scope, this.template);\n if (selectVal === true) {\n if (this.template.__kachilds.length === 0)\n this._appendTemplate();\n\n this._maintain($scope, this.template.__kachilds[0]);\n } else {\n this._removeLastChild();\n }\n }\n\n /**\n * Remove all rendered element\n */\n dispose() {\n for(;this.template.__kachilds.length > 0;)\n this._removeLastChild();\n }\n\n\n setScope($scope) {\n this.$scope = $scope;\n }\n\n /**\n * Render / Update the Template\n *\n * Once the scope in parameter 1 was set, it will render\n * without any parameters. Scope is available via property $scope\n *\n * @param $scope\n */\n render($scope = null) {\n if ($scope === null)\n $scope = this.$scope;\n this.$scope = $scope;\n this.__renderCount++;\n\n if (this.template.hasAttribute(\"ka.for\")) {\n this._renderFor($scope, this.template.getAttribute(\"ka.for\"));\n } else if (this.template.hasAttribute(\"ka.if\")) {\n this._renderIf($scope, this.template.getAttribute(\"ka.if\"));\n } else {\n if (typeof this.template._ka_active === \"undefined\") {\n this._appendTemplate();\n this.template._ka_active = true;\n }\n this._maintain($scope, this.template.__kachilds);\n }\n }\n\n /**\n * Return true if this template was renderd the first time\n *\n * @returns {boolean}\n */\n isFirstRender() {\n return this.__renderCount === 1;\n }\n\n};\n","import {ka_query_selector} from \"../core/query-select.js\";\nimport {ka_elwalk} from \"../core/elwalk.js\";\n\nfunction quoteattr(s, preserveCR) {\n preserveCR = preserveCR ? '&#13;' : '\\n';\n return ('' + s) /* Forces the conversion to string. */\n .replace(/&/g, '&amp;') /* This MUST be the 1st replacement. */\n .replace(/'/g, '&apos;') /* The 4 other predefined entities, required. */\n .replace(/\"/g, '&quot;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n /*\n You may add other replacements here for HTML only\n (but it's not necessary).\n Or for XML, only if the named entities are defined in its DTD.\n */\n .replace(/\\r\\n/g, preserveCR) /* Must be before the next replacement. */\n .replace(/[\\r\\n]/g, preserveCR);\n ;\n}\n\nwindow._ka_el_idx = 0;\n/**\n * Generate a renderable Template from <template> Element\n *\n * @param {HTMLElement|string} elem\n * @return {HTMLTemplateElement}\n */\nexport function ka_templatify (elem, returnMode=true) {\n if (typeof elem === \"string\")\n elem = ka_query_selector(elem);\n\n if ( ! (elem instanceof Node)) {\n console.error(\"[ka-templatify] Parameter 1 is not a html element: \", elem)\n throw `[ka-templify] Parameter 1 is not a html element: ${elem}`;\n }\n\n if (returnMode) {\n let returnTpl = document.createElement(\"template\");\n returnTpl.setAttribute(\"_kaidx\", (window._ka_el_idx++).toString())\n /* @var {HTMLTemplateElement} returnTpl */\n returnTpl.innerHTML = elem.innerHTML\n .replace(/\\[\\[(.*?)\\]\\]/g, (matches, m1) => `<span ka.textContent=\"${quoteattr(m1)}\"></span>`);\n\n ka_templatify(returnTpl.content, false);\n return returnTpl;\n }\n\n if (elem instanceof HTMLTemplateElement)\n elem = elem.content;\n\n let wrapElem = (el, attName, attVal) => {\n let tpl = document.createElement(\"template\");\n tpl.setAttribute(\"_kaidx\", (window._ka_el_idx++).toString())\n let clonedEl = el.cloneNode(true);\n clonedEl.removeAttribute(attName);\n tpl.content.append(clonedEl);\n tpl.setAttribute(attName, attVal);\n el.replaceWith(tpl);\n return tpl;\n }\n\n ka_elwalk(elem, (el) => {\n //console.log(el);\n if ( ! (el instanceof HTMLElement))\n return;\n let tpl = null;\n for (let attrName of el.getAttributeNames()) {\n if (attrName === \"ka.for\") {\n tpl = wrapElem(el, \"ka.for\", el.getAttribute(\"ka.for\"));\n ka_templatify(tpl, false);\n break;\n }\n if (attrName === \"ka.if\") {\n tpl = wrapElem(el, \"ka.if\", el.getAttribute(\"ka.if\"));\n ka_templatify(tpl, false);\n break;\n }\n }\n }, true, false);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"@leu/hyperpage-components\"\nimport \"@leu/leu-web-components\"\nimport {Leu} from \"@leu/leu-web-components\";\nlet ss = new Leu.SmoothScroll(-100);\n"],"names":["template","name","el","elem","attrs","attrMap","e","modal"],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ body>.loader>.loader-bar{position:relative;display:block;background-color:#d3d3d3;height:3px;width:70vw;max-width:500px;top:0;z-index:1;margin-top:25vh}body>.loader>.loader-bar::before{content:"";font-family:sans-serif;font-size:12px;line-height:10px;position:relative;text-align:center;color:#fff;z-index:2;-webkit-animation:leu--site-loader 60s ease-out;animation:leu--site-loader 30s ease-out;display:block;background-color:#cd5c5c;height:100%;width:35%;top:0}@keyframes leu--site-loader{3%{width:75%}5%{width:90%}10%{width:95%}100%{width:100%}}body{min-height:5000vh}body.loaded{min-height:unset}body>joda-content{opacity:0;transition:opacity .1s}body.loaded>joda-content{opacity:1}body>.loader{position:fixed;z-index:-99;top:0;left:0;width:100%;height:100%;background:#fff;transition:opacity .15s;display:flex !important;align-items:center;align-content:center;justify-content:center;opacity:1;flex-wrap:wrap;flex-direction:column}body>.loader>img{flex-direction:column;display:block !important;height:auto !important;width:70vw !important;max-width:500px}body.loaded>.loader{opacity:0;z-index:-99}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_includes/dist/style_embed.css","mappings":";;;AAAA,gBAAgB;ACEhB;EACE;ADAF;;ACGA;EACE;EACA;ADAF;;ACGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADAF;;ACGA;EACE;IACE;EDAF;ECGA;IACE;EDDF;ECGA;IACE;EDDF;ECGA;IACE;EDDF;AACF,C","sources":["webpack:///./src/style_embed.scss","webpack:///./workspaces/leu-hyperpage-components/src/style_embed.scss"],"sourcesContent":["@charset \"UTF-8\";\nbody {\n display: none;\n}\n\nleu-content {\n display: block;\n visibility: hidden;\n}\n\nhtml::before {\n content: \"Seite lädt...\";\n font-family: sans-serif;\n font-size: 12px;\n line-height: 10px;\n position: fixed;\n text-align: center;\n color: white;\n margin-top: 1px;\n -webkit-animation: leu--site-loader 60s ease-out;\n animation: leu--site-loader 60s ease-out;\n display: block;\n background-color: gray;\n height: 12px;\n width: 2%;\n}\n\n@keyframes leu--site-loader {\n 3% {\n width: 2%;\n }\n 5% {\n width: 50%;\n }\n 10% {\n width: 80%;\n }\n 100% {\n width: 100%;\n }\n}","\n// Speedup Rendering - Show nothing until style.css is laoded\nbody {\n display: none;\n}\n\nleu-content {\n display: block;\n visibility: hidden;\n}\n\nhtml::before {\n content: \"Seite lädt...\";\n font-family: sans-serif;\n font-size: 12px;\n line-height: 10px;\n position: fixed;\n text-align: center;\n color: white;\n margin-top: 1px;\n -webkit-animation: leu--site-loader 60s ease-out;\n animation: leu--site-loader 60s ease-out;\n display: block;\n background-color: gray;\n height: 12px;\n width: 2%;\n}\n\n@keyframes leu--site-loader {\n 3% {\n width: 2%;\n\n }\n 5% {\n width: 50%;\n }\n 10% {\n width: 80%;\n }\n 100% {\n width: 100%;\n }\n}\n"],"names":[],"sourceRoot":""}
@@ -0,0 +1,4 @@
1
+ (()=>{"use strict";var __webpack_modules__={438:()=>{eval(`// extracted by mini-css-extract-plugin
2
+
3
+
4
+ //# sourceURL=webpack:///./src/style_embed.scss?`)}},__webpack_exports__={};__webpack_modules__[438]()})();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_includes/dist/style_embed.js","mappings":";;UAAA;UACA;;;;;WCDA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;ACNA","sources":["webpack:///webpack/bootstrap","webpack:///webpack/runtime/make namespace object","webpack:///./src/style_embed.scss?d4fb"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// extracted by mini-css-extract-plugin\nexport {};"],"names":[],"sourceRoot":""}
@@ -0,0 +1 @@
1
+ {% assign _lpage = site.pages | where: "lang", page.lang | where: "pid", include.pid | first %}{% if _lpage.url %}{{ _lpage.url }}{% else %}javascript:alert('translation not available');{% endif %}
@@ -0,0 +1,9 @@
1
+ {% assign lines = include.text | newline_to_br | split: "<br />" %}{% assign new_content = "" %}
2
+ {% for line in lines %}
3
+ {% assign cur_line = line | replace: " ", "" %}
4
+ {{ cur_line }}
5
+ {% if cur_line != "" %}
6
+ {% assign new_content = new_content | append: line | append: "BBB\n" %}
7
+ {% endif %}
8
+ {% endfor %}
9
+ {{ new_content }}
@@ -0,0 +1 @@
1
+ {% if site.data.translations[include.val][page.lang] %}{{ site.data.translations[include.val][page.lang] }}{% else %}{{ include.val }}{% endif %}
@@ -0,0 +1,11 @@
1
+ {{ site.data.general.name}}<br>
2
+ {% if site.data.general.name2 != null %}{{site.data.general.name2}}<br>{% endif %}
3
+ {{ site.data.general.street }} <br>
4
+ {{ site.data.general.zip }} {{ site.data.general.city }}<br><br>
5
+ <span>{% include do/trans.html val="Telefon" %}:</span> <b><a href="tel:{{site.data.general.phone1}}" title="Telefon" class="text-decoration-none">{{site.data.general.phone1_text}}</a></b><br>
6
+ {%- if site.data.general.fax1_text != null -%}
7
+ <span>{% include do/trans.html val="Telefax" %}:</span> <b>{{site.data.general.fax1_text}}</b><br>
8
+ {%- endif -%}
9
+ {%- if site.data.general.email != null -%}
10
+ <span>{% include do/trans.html val="E-Mail" %}:</span> <a href="mailto:{{site.data.general.email}}" title="E-Mail" class=" text-decoration-none">{{site.data.general.email}}</a><br>
11
+ {%- endif -%}
@@ -0,0 +1,22 @@
1
+
2
+ {% assign navi2 = site.pages | where: "lang", page.lang | where: "ptags", include.ptag | sort: "order" %}
3
+ {%- for it in navi2 -%}
4
+ {%- if it.has_subnav != true -%}
5
+ <li><a href="{{ it.url }}"><i class="{% if it.nav_icon != null %}{{ it.nav_icon }}{% else %}{{ site.data.style.default_icon_class }}{% endif %}"></i>{% if it.short_title %}{{ it.short_title }}{% else %}{{ it.title }}{% endif %}</a></li>
6
+ {%- else -%}
7
+ {% assign itRootArr = it.pid | split: "/" %}
8
+ {% assign itRoot = itRootArr[0] %}
9
+ <li class="dropdown"><a href="{{ it.url }}" class="dropdown-toggle" role="button" data-bs-toggle="dropdown"><i class="{% if it.nav_icon != null %}{{ it.nav_icon }}{% else %}{{ site.data.style.default_icon_class }}{% endif %}"></i>{% if it.short_title %}{{ it.short_title }}{% else %}{{ it.title }}{% endif %}</a>
10
+ <ul>
11
+ {% assign subNavi = site.pages | where: "lang", page.lang | where: "ptags", "subnav" | sort: "order" %}
12
+ {%- for sub in subNavi -%}
13
+ {% assign curTag = sub.pid | split: "/" %}
14
+ {% assign curTag = curTag[0] %}
15
+ {% if curTag == itRoot %}
16
+ <li><a href="{{ sub.url }}">{% if sub.short_title %}{{ sub.short_title }}{% else %}{{ sub.title }}{% endif %}</a></li>
17
+ {% endif %}
18
+ {%- endfor -%}
19
+ </ul>
20
+ </li>
21
+ {%- endif -%}
22
+ {%- endfor -%}
@@ -0,0 +1,14 @@
1
+ <table class="openhours">
2
+
3
+ <tbody>
4
+ {% for hours in site.data.openhours.table %}
5
+ <tr>
6
+ <td class="pe-3 align-text-top">{{ hours.day }}</td>
7
+ <td>{{ hours.time }}</td>
8
+
9
+ </tr>
10
+ {% endfor %}
11
+ </tbody>
12
+ </table>
13
+
14
+
@@ -0,0 +1 @@
1
+ {{ site.data.general.pagebuilder }}/page?pid={{ page.pid }}&lang={{ page.lang }}
@@ -0,0 +1,7 @@
1
+ {% assign navi2 = site.pages | where: "lang", page.lang | where: "ptags", include.ptag | sort: "order" %}
2
+ {% for it in navi2 %}
3
+ <a class="{{ include.class }}" href="{{ it.url }}">
4
+ <i class="{% if it.nav_icon != null %}{{ it.nav_icon }}{% else %}{{ site.data.style.default_icon_class }}{% endif %} pe-2"></i>
5
+ {% if it.navi_name %}{{ it.navi_name }}{% else %}{{ it.title }}{% endif %}
6
+ </a>
7
+ {% endfor %}
@@ -0,0 +1,33 @@
1
+
2
+ ### Kontakt
3
+
4
+ {% include el/address.html %}
5
+
6
+ ### Info
7
+
8
+ {{page.description}}
9
+
10
+ ### Links
11
+
12
+ {% assign navi2 = site.pages | where: "lang", page.lang | where: "ptags", "footernav" | sort: "order" %}
13
+ {%- for it in navi2 -%}
14
+ {%- assign title = it.short_title | default: it.title -%}
15
+ - [{{title}}]({%- include do/link.html pid=it.pid -%})
16
+ {% endfor %}
17
+
18
+
19
+
20
+ <h2>Öffnungszeiten</h2>
21
+ <p id="minifooter">
22
+
23
+ <a class="text-decoration-none" href="{{ site.data.defaults.footer_leuffen_logo_href }}">
24
+ <img width="67" height="22" src="{{ site.data.defaults.footer_leuffen_logo_url }}" style="height: 22px; margin-top:-8px;" alt="{{ site.data.defaults.footer_leuffen_logo_url }}">
25
+ </a>
26
+ <a class="text-decoration-none" href="{{ site.data.defaults.footer_leuffen_text_href }}">{{ site.data.defaults.footer_leuffen_text }}</a>
27
+ <a class="ps-5" rel="nofollow" href="{% include el/pagebuilder-link.html %}" title="Seite editieren">
28
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pencil-square" viewBox="0 0 16 16">
29
+ <path d="M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z"/>
30
+ <path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z"/>
31
+ </svg>
32
+ </a>
33
+ </p>