Drop stimulus, migrate to alpinejs

This commit is contained in:
Björn Fromme
2021-07-27 14:06:12 +02:00
committed by Björn Fromme
parent 74fa9ee952
commit 6b59f5a699
48 changed files with 456 additions and 514 deletions
+159 -90
View File
@@ -1,5 +1,5 @@
{
"name": "epevents",
"name": "eptheme",
"version": "5.0.0",
"lockfileVersion": 1,
"requires": true,
@@ -1154,15 +1154,11 @@
"integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
"dev": true
},
"@fancyapps/fancybox": {
"version": "3.5.7",
"resolved": "https://registry.npmjs.org/@fancyapps/fancybox/-/fancybox-3.5.7.tgz",
"integrity": "sha512-rcEtu8t+WnmqIDV/Wfm1yvy/nDdwc7YV25j9HLxGC2/WOsUhk9rcWg2nB8g1BrjRt9zaoADdjHTU6ILYTJzBBg=="
},
"@fullhuman/postcss-purgecss": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz",
"integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==",
"dev": true,
"requires": {
"postcss": "7.0.32",
"purgecss": "^2.3.0"
@@ -1172,6 +1168,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -1182,6 +1179,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -1192,6 +1190,7 @@
"version": "7.0.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
"integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -1265,32 +1264,6 @@
"resolved": "https://registry.npmjs.org/@splidejs/splide/-/splide-2.4.21.tgz",
"integrity": "sha512-LdIwSnmNsGybCCnA3QG2dOeRv/rQl46jf7FflXxMGX0ADYWyL6UJHWJbMZvHBi5I67uRJY1ga/W+CvJ39nH26A=="
},
"@stimulus/core": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@stimulus/core/-/core-2.0.0.tgz",
"integrity": "sha512-ff70GafKtzc8zQ1/cG+UvL06GcifPWovf2wBEdjLMh9xO2GOYURO3y2RYgzIGYUIBefQwyfX2CLfJdZFJrEPTw==",
"requires": {
"@stimulus/mutation-observers": "^2.0.0"
}
},
"@stimulus/multimap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@stimulus/multimap/-/multimap-2.0.0.tgz",
"integrity": "sha512-pMBCewkZCFVB3e5mEMoyO9+9aKzHDITmf3OnPun51YWxlcPdHcwbjqm1ylK63fsoduIE+RowBpFwFqd3poEz4w=="
},
"@stimulus/mutation-observers": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@stimulus/mutation-observers/-/mutation-observers-2.0.0.tgz",
"integrity": "sha512-kx4VAJdPhIGBQKGIoUDC2tupEKorG3A+ckc2b1UiwInKTMAC1axOHU8ebcwhaJIxRqIrs8//4SJo9YAAOx6FEg==",
"requires": {
"@stimulus/multimap": "^2.0.0"
}
},
"@stimulus/webpack-helpers": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@stimulus/webpack-helpers/-/webpack-helpers-2.0.0.tgz",
"integrity": "sha512-D6tJWsAC024MwGEIKlUVYU8Ln87mlrmiwHvYAjipg+s8H4eLxUMQ3PZkWyPevfipH+oR3leuHsjYsK1gN5ViQA=="
},
"@symfony/webpack-encore": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@symfony/webpack-encore/-/webpack-encore-1.5.0.tgz",
@@ -1338,6 +1311,7 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@tailwindcss/custom-forms/-/custom-forms-0.2.1.tgz",
"integrity": "sha512-XdP5XY6kxo3x5o50mWUyoYWxOPV16baagLoZ5uM41gh6IhXzhz/vJYzqrTb/lN58maGIKlpkxgVsQUNSsbAS3Q==",
"dev": true,
"requires": {
"lodash": "^4.17.11",
"mini-svg-data-uri": "^1.0.3",
@@ -1758,12 +1732,14 @@
"acorn": {
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
"acorn-node": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
"integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
"dev": true,
"requires": {
"acorn": "^7.0.0",
"acorn-walk": "^7.0.0",
@@ -1773,7 +1749,8 @@
"acorn-walk": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
"dev": true
},
"adjust-sourcemap-loader": {
"version": "3.0.0",
@@ -1849,6 +1826,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -1994,6 +1972,7 @@
"version": "9.8.6",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
"integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
"dev": true,
"requires": {
"browserslist": "^4.12.0",
"caniuse-lite": "^1.0.30001109",
@@ -2008,6 +1987,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -2018,6 +1998,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -2028,6 +2009,7 @@
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -2158,7 +2140,8 @@
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"batch": {
"version": "0.6.1",
@@ -2270,6 +2253,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2288,6 +2272,7 @@
"version": "4.16.6",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
"integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30001219",
"colorette": "^1.2.2",
@@ -2311,7 +2296,8 @@
"bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
},
"call-bind": {
"version": "1.0.2",
@@ -2338,7 +2324,8 @@
"camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
"dev": true
},
"camelcase-keys": {
"version": "2.1.0",
@@ -2373,7 +2360,8 @@
"caniuse-lite": {
"version": "1.0.30001239",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz",
"integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ=="
"integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==",
"dev": true
},
"caseless": {
"version": "0.12.0",
@@ -2385,6 +2373,7 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -2394,6 +2383,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
@@ -2402,6 +2392,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
@@ -2409,17 +2400,20 @@
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
@@ -2524,6 +2518,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
"integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==",
"dev": true,
"requires": {
"color-convert": "^1.9.1",
"color-string": "^1.5.4"
@@ -2533,6 +2528,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -2540,12 +2536,14 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-string": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz",
"integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==",
"dev": true,
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
@@ -2560,7 +2558,8 @@
"colorette": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
"integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
"integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
"dev": true
},
"combined-stream": {
"version": "1.0.8",
@@ -2574,7 +2573,8 @@
"commander": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
"dev": true
},
"commondir": {
"version": "1.0.1",
@@ -2635,7 +2635,8 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"connect-history-api-fallback": {
"version": "1.6.0",
@@ -2889,7 +2890,8 @@
"css-unit-converter": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz",
"integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA=="
"integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==",
"dev": true
},
"css-what": {
"version": "4.0.0",
@@ -2900,7 +2902,8 @@
"cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true
},
"cssnano": {
"version": "5.0.6",
@@ -3059,7 +3062,8 @@
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
"dev": true
},
"del": {
"version": "4.1.1",
@@ -3110,6 +3114,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
"integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
"dev": true,
"requires": {
"acorn-node": "^1.6.1",
"defined": "^1.0.0",
@@ -3215,7 +3220,8 @@
"electron-to-chromium": {
"version": "1.3.752",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz",
"integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A=="
"integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==",
"dev": true
},
"emoji-regex": {
"version": "7.0.3",
@@ -3324,7 +3330,8 @@
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
"escape-html": {
"version": "1.0.3",
@@ -3335,7 +3342,8 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"eslint-scope": {
"version": "5.1.1",
@@ -3684,6 +3692,7 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -3699,7 +3708,8 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fsevents": {
"version": "2.3.2",
@@ -3723,7 +3733,8 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"gauge": {
"version": "2.7.4",
@@ -3831,10 +3842,16 @@
"assert-plus": "^1.0.0"
}
},
"glightbox": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/glightbox/-/glightbox-3.0.9.tgz",
"integrity": "sha512-XI5xLiwJAdia/WVcb0ftjLZHz0MAXo6D5NDURFlhIBm1dG3e4XxP5DQFVUutOBa5sNjVXwyVXCAC7ab5uttMLg=="
},
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -3900,7 +3917,8 @@
"graceful-fs": {
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
"dev": true
},
"handle-thing": {
"version": "2.0.1",
@@ -3928,6 +3946,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
@@ -3952,7 +3971,8 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-symbols": {
"version": "1.0.2",
@@ -4040,7 +4060,8 @@
"html-tags": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg=="
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
"dev": true
},
"htmlparser2": {
"version": "6.1.0",
@@ -4185,6 +4206,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -4193,7 +4215,8 @@
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"internal-ip": {
"version": "6.2.0",
@@ -4257,7 +4280,8 @@
"is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
"dev": true
},
"is-binary-path": {
"version": "2.1.0",
@@ -4299,6 +4323,7 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
"integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
"dev": true,
"requires": {
"has": "^1.0.3"
}
@@ -4563,6 +4588,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
@@ -4672,7 +4698,8 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"lodash.debounce": {
"version": "4.0.8",
@@ -4689,7 +4716,8 @@
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=",
"dev": true
},
"lodash.uniq": {
"version": "4.5.0",
@@ -4899,7 +4927,8 @@
"mini-svg-data-uri": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.3.3.tgz",
"integrity": "sha512-+fA2oRcR1dJI/7ITmeQJDrYWks0wodlOz0pAEhKYJ2IVc1z0AnwJUsKY2fzFmPAM3Jo9J0rBx8JAA9QQSJ5PuA=="
"integrity": "sha512-+fA2oRcR1dJI/7ITmeQJDrYWks0wodlOz0pAEhKYJ2IVc1z0AnwJUsKY2fzFmPAM3Jo9J0rBx8JAA9QQSJ5PuA==",
"dev": true
},
"minimalistic-assert": {
"version": "1.0.1",
@@ -4911,6 +4940,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -4918,7 +4948,8 @@
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"mkdirp": {
"version": "0.5.5",
@@ -4984,6 +5015,7 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz",
"integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==",
"dev": true,
"requires": {
"lodash.toarray": "^4.4.0"
}
@@ -5034,7 +5066,8 @@
"node-releases": {
"version": "1.1.73",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
"integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg=="
"integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
"dev": true
},
"node-sass": {
"version": "4.14.1",
@@ -5176,7 +5209,8 @@
"normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"normalize-url": {
"version": "6.0.1",
@@ -5222,7 +5256,8 @@
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"number-is-nan": {
"version": "1.0.1",
@@ -5239,12 +5274,14 @@
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"object-hash": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
"integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw=="
"integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
"dev": true
},
"object-is": {
"version": "1.1.5",
@@ -5299,6 +5336,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
@@ -5450,7 +5488,8 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
"version": "1.0.2",
@@ -5467,7 +5506,8 @@
"path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"path-to-regexp": {
"version": "0.1.7",
@@ -5671,6 +5711,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz",
"integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=",
"dev": true,
"requires": {
"glob": "^7.1.2",
"object-assign": "^4.1.1",
@@ -5682,6 +5723,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -5692,6 +5734,7 @@
"version": "6.0.23",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true,
"requires": {
"chalk": "^2.4.1",
"source-map": "^0.6.1",
@@ -5701,12 +5744,14 @@
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -5717,6 +5762,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz",
"integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==",
"dev": true,
"requires": {
"camelcase-css": "^2.0.1",
"postcss": "^7.0.18"
@@ -5726,6 +5772,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -5736,6 +5783,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -5746,6 +5794,7 @@
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -5882,6 +5931,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz",
"integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==",
"dev": true,
"requires": {
"postcss": "^7.0.32",
"postcss-selector-parser": "^6.0.2"
@@ -5891,6 +5941,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -5901,6 +5952,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -5911,6 +5963,7 @@
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -6037,6 +6090,7 @@
"version": "6.0.6",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
"integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -6066,7 +6120,8 @@
"postcss-value-parser": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
"prettier": {
"version": "1.19.1",
@@ -6088,7 +6143,8 @@
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
"process-nextick-args": {
"version": "2.0.1",
@@ -6136,6 +6192,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz",
"integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==",
"dev": true,
"requires": {
"commander": "^5.0.0",
"glob": "^7.0.0",
@@ -6147,6 +6204,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -6157,6 +6215,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -6167,6 +6226,7 @@
"version": "7.0.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
"integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -6335,6 +6395,7 @@
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz",
"integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==",
"dev": true,
"requires": {
"css-unit-converter": "^1.1.1",
"postcss-value-parser": "^3.3.0"
@@ -6343,7 +6404,8 @@
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
"dev": true
}
}
},
@@ -6546,6 +6608,7 @@
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
"dev": true,
"requires": {
"is-core-module": "^2.2.0",
"path-parse": "^1.0.6"
@@ -6797,7 +6860,8 @@
"sass-mq": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/sass-mq/-/sass-mq-3.3.2.tgz",
"integrity": "sha1-NHLgTDGkMrzVWztgTtxyrppN7xo="
"integrity": "sha1-NHLgTDGkMrzVWztgTtxyrppN7xo=",
"dev": true
},
"schema-utils": {
"version": "2.7.1",
@@ -7015,6 +7079,7 @@
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
"dev": true,
"requires": {
"is-arrayish": "^0.3.1"
}
@@ -7056,7 +7121,8 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"source-map-js": {
"version": "0.6.2",
@@ -7252,15 +7318,6 @@
"resolved": "https://registry.npmjs.org/sticky-js/-/sticky-js-1.3.0.tgz",
"integrity": "sha512-X5zWjFrw7c2xE4tUtSeK7I+1o252JOyZOlzxsu1Q9qZ6hlk2NCd9Sr/AFxf8hfGkLnE1Pak+iLaDyd883LFRgw=="
},
"stimulus": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/stimulus/-/stimulus-2.0.0.tgz",
"integrity": "sha512-xipy7BS5TVpg4fX6S8LhrYZp7cmHGjmk09WSAiVx1gF5S5g43IWsuetfUhIk8HfHUG+4MQ9nY0FQz4dRFLs/8w==",
"requires": {
"@stimulus/core": "^2.0.0",
"@stimulus/webpack-helpers": "^2.0.0"
}
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
@@ -7350,6 +7407,7 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -7381,6 +7439,7 @@
"version": "1.9.6",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz",
"integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==",
"dev": true,
"requires": {
"@fullhuman/postcss-purgecss": "^2.1.2",
"autoprefixer": "^9.4.5",
@@ -7409,12 +7468,14 @@
"normalize.css": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==",
"dev": true
},
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
@@ -7425,6 +7486,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -7435,6 +7497,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
@@ -7564,7 +7627,8 @@
"tinycolor2": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
"integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA=="
"integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==",
"dev": true
},
"tmp": {
"version": "0.2.1",
@@ -7620,7 +7684,8 @@
"traverse": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
"dev": true
},
"trim-newlines": {
"version": "1.0.0",
@@ -7705,7 +7770,8 @@
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true
},
"unpipe": {
"version": "1.0.0",
@@ -7749,7 +7815,8 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"utila": {
"version": "0.4.0",
@@ -8292,7 +8359,8 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"ws": {
"version": "7.5.0",
@@ -8303,7 +8371,8 @@
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
},
"y18n": {
"version": "4.0.3",
+8 -13
View File
@@ -1,5 +1,5 @@
{
"name": "epevents",
"name": "eptheme",
"description": "EP Reisen TYPO3 website package",
"version": "5.0.0",
"author": "Björn Fromme, [email protected]",
@@ -9,9 +9,7 @@
"build": "NODE_ENV=production ./node_modules/.bin/encore production"
},
"dependencies": {
"@fancyapps/fancybox": "^3.5.7",
"@splidejs/splide": "^2.4.21",
"@tailwindcss/custom-forms": "^0.2.1",
"alpinejs": "^3.1.1",
"axios": "^0.21.1",
"axios-auth-refresh": "^1.0.7",
@@ -21,18 +19,15 @@
"dayjs": "^1.10.6",
"flatpickr": "^4.6.9",
"font-awesome": "^4.7.0",
"glightbox": "^3.0.9",
"jquery": "^1.12.4",
"lazysizes": "^4.1.8",
"leaflet": "^1.7.1",
"microtip": "^0.2.2",
"normalize.css": "^7.0.0",
"picturefill": "^3.0.3",
"sass-mq": "^3.3.2",
"slick-carousel": "^1.8.0",
"slick-carousel": "^1.8.1",
"sticky-js": "^1.3.0",
"stimulus": "^2.0.0",
"tailwindcss": "^1.8.10",
"tinycolor2": "^1.4.1",
"vue": "^2.6.14",
"vue-router": "^3.5.1",
"vue-scrollto": "^2.20.0",
@@ -44,6 +39,7 @@
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/preset-env": "^7.14.5",
"@symfony/webpack-encore": "^1.5.0",
"@tailwindcss/custom-forms": "^0.2.1",
"autoprefixer": "^9.4.6",
"core-js": "^3.15.0",
"file-loader": "^6.2.0",
@@ -51,12 +47,11 @@
"postcss": "^8.3.5",
"postcss-loader": "^5.3.0",
"sass-loader": "^9.0.3",
"sass-mq": "^3.3.2",
"smoothscroll-polyfill": "^0.4.4",
"tailwindcss": "^1.8.10",
"tinycolor2": "^1.4.1",
"vue-loader": "^15.9.7",
"vue-template-compiler": "^2.6.14"
},
"browserslist": [
"last 2 versions",
"ios >= 9"
]
}
}
@@ -3,12 +3,13 @@ require('cookieconsent')
require('lazysizes')
require('lazysizes/plugins/unveilhooks/ls.unveilhooks')
require('picturefill')
require('leaflet')
import Glightbox from 'glightbox'
// Polyfills
import smoothscroll from 'smoothscroll-polyfill'
smoothscroll.polyfill()
// Alpine stuff
import Alpine from 'alpinejs'
import parseAppConfig from './components/appconfig'
import initSliders from './components/sliders'
@@ -16,6 +17,10 @@ import appendPaCode from './components/pacode'
import scrollTop from './components/scoll-top'
import sticky from './components/sticky'
import watchlistToggle from './components/watchlist-toggle'
import watchlistButton from './components/watchlist-button'
import collapse from './components/collapse'
import fbpixel from './components/fbpixel'
import ajaxContent from './components/ajax-content'
// Executed on document ready
document.addEventListener('DOMContentLoaded', () => {
@@ -32,7 +37,16 @@ document.addEventListener('DOMContentLoaded', () => {
Alpine.data('scrollTop', scrollTop)
Alpine.data('sticky', sticky)
Alpine.data('watchlistToggle', watchlistToggle)
Alpine.data('watchlistButton', watchlistButton)
Alpine.data('collapse', collapse)
Alpine.data('fbpixel', fbpixel)
Alpine.data('ajaxContent', ajaxContent)
Alpine.start()
Glightbox({
selector: 'data-glightbox',
slideEffect: 'fade',
})
})
@@ -43,7 +57,6 @@ import Vue from 'vue'
import $ from 'jquery'
import dayjs from 'dayjs'
import 'dayjs/locale/de'
import '@fancyapps/fancybox'
global.$ = global.jQuery = $;
@@ -53,23 +66,15 @@ require('bootstrap-sass/assets/javascripts/bootstrap/modal')
require('bootstrap-sass/assets/javascripts/bootstrap/transition')
// Import components
import EventBus from './_bus'
import SearchBar from './components/SearchBar.vue'
import SearchBox from './components/SearchBox.vue'
import ProductDetail from './components/ProductDetail.vue'
import OsmMap from './components/OsmMap.vue'
import Calendar from './components/Calendar.vue'
import EventPricetable from './components/EventPriceTable.vue'
import ContactForm from './components/ContactForm.vue'
import Watchlist from './components/Watchlist.vue'
import HotelList from './components/HotelList.vue'
// Define global constants
const $window = $(window);
// Configure fancybox
$.fancybox.defaults.iframe.css.width = '800px';
// Define date filter for vue templates
Vue.filter('date', (value) => {
return dayjs(value).format('DD.MM.YY');
@@ -87,7 +92,7 @@ new Vue({
SearchBox,
SearchResult: () => import('./components/SearchResult.vue'),
ProductDetail,
OsmMap,
OsmMap: () => import('./components/OsmMap.vue'),
Calendar,
EventPricetable,
ContactForm,
@@ -99,76 +104,10 @@ new Vue({
data () {
return {
maxWindowWidth: 991,
searchBoxVisible: false,
searchbarFixed: false,
mobileMode: false,
backgroundImageMode: 'mobile'
}
},
methods: {
setMobileMode () {
this.mobileMode = $window.outerWidth() < this.maxWindowWidth;
},
scrollTop () {
this.scroll(0);
},
scrollTo (anchorId) {
document.getElementById(anchorId).scrollIntoView({ behavior: 'smooth' })
},
scroll (top) {
window.scrollTo({ top: top, behavior: 'smooth' })
},
toggleSearchbox () {
this.searchBoxVisible = !this.searchBoxVisible;
},
toggleMobileNavigation () {
$('[data-mobile-menu]').collapse('toggle');
},
toggleAreaNavigation () {
const $nav = $('.area-nav');
if ($nav.hasClass('open')) {
$nav.removeClass('open').find('ul').slideUp('fast');
} else {
$nav.addClass('open').find('ul').slideDown('fast');
}
},
initDropdownMenuBehavior () {
const $dropdownLinks = $('.navbar-main').find('a.dropdown-toggle');
if (this.mobileMode) {
$dropdownLinks.each(function () {
$(this).attr('data-toggle', 'dropdown');
});
} else {
$dropdownLinks.each(function () {
$(this).removeAttr('data-toggle');
});
}
},
initListeners () {
$window.on('resize', () => {
this.setMobileMode();
this.initDropdownMenuBehavior();
});
$(document).on('click', event => {
const $clickedElement = $(event.target);
const isNavExpanded = $('#ep-navbar-burger-menu').hasClass('collapse in');
if (isNavExpanded && !$clickedElement.hasClass('navbar-toggle')) {
this.toggleMobileNavigation();
}
});
},
},
created () {
this.$store.dispatch('init');
EventBus.$on('scrollTo', (anchorId, offset) => {
document.getElementById(anchorId).scrollIntoView({ behavior: 'smooth' })
});
},
mounted () {
Vue.nextTick(() => {
this.setMobileMode();
this.initListeners();
this.initDropdownMenuBehavior();
});
}
});
@@ -1,7 +1,5 @@
'use strict';
require('font-awesome/css/font-awesome.min.css');
require('cookieconsent/build/cookieconsent.min.css');
require('@fancyapps/fancybox/dist/jquery.fancybox.min.css');
require('leaflet/dist/leaflet.css');
require('flatpickr/dist/flatpickr.css');
require('font-awesome/css/font-awesome.min.css')
require('cookieconsent/build/cookieconsent.min.css')
require('glightbox/dist/css/glightbox.css')
require('leaflet/dist/leaflet.css')
require('flatpickr/dist/flatpickr.css')
@@ -16,9 +16,9 @@
</div>
</div>
<div ref="table">
<div class="ajax-content-wrapper" data-controller="ajax-content" :data-ajax-content-uri-value="uri">
<div class="ajax-content" data-ajax-content-target="container"></div>
<div data-ajax-content-target="trigger">
<div class="ajax-content-wrapper" x-data="ajaxContent" :data-uri="uri">
<div class="ajax-content" x-ref="container"></div>
<div x-ref="trigger">
<img :src="loaderUri" alt="Loading" title="Loading">
</div>
</div>
@@ -43,7 +43,6 @@
loading: false,
activeSection: null,
singleDate: false,
referringPage: null
}
},
props: {
@@ -195,10 +194,6 @@
}
},
created () {
if (sessionStorage.getItem('referringPage')) {
this.referringPage = JSON.parse(sessionStorage.getItem('referringPage'));
sessionStorage.removeItem('referringPage');
}
EventBus.$on('loadDatesTable', () => {
this.loadDatesView();
});
@@ -61,9 +61,9 @@
</a>
</div>
</div>
<a href="#" x-data="watchlistToggle" :data-uid="item.key" x-on:click.prevent="toggle()">
<span data-microtip-position="top" x-bind:aria-label="label()" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon()"></i>
<a href="#" x-data="watchlistToggle" x-bind="trigger" :data-uid="item.key">
<span data-microtip-position="top" x-bind:aria-label="label" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon"></i>
</span>
</a>
</div>
@@ -0,0 +1,42 @@
import axios from 'axios'
import { debounce } from './throttle-debounce'
export default () => ({
uri: '',
loaded: false,
loading: false,
init() {
this.uri = this.$el.dataset.uri
window.addEventListener('scroll', debounce(() => {
this.load()
}, 250))
},
load() {
if (true === this.loaded || false === this.inViewport()) {
return
}
this.loading = true
axios({
url: this.uri,
responseType: 'text'
}).then((response) => {
this.loaded = true
this.$refs.container.innerHTML = response.data
this.$refs.trigger.remove()
}).catch(() => {
this.loaded = false
}).finally(() => {
this.loading = false
})
},
inViewport () {
const rect = this.$refs.trigger.getBoundingClientRect()
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
)
}
})
@@ -1,9 +1,7 @@
const parseAppConfig = () => {
export default () => {
const configElement = document.getElementById('appconfig');
if (null === configElement) {
return {}
}
return JSON.parse(configElement.innerHTML);
}
export default parseAppConfig
@@ -0,0 +1,35 @@
import { debounce } from './throttle-debounce'
export default () => ({
collapsed: false,
init() {
const initialState = this.$el.dataset.collapsed
if (initialState !== undefined) {
this.collapsed = true
}
this.checkBreakpoints()
window.addEventListener('resize', debounce(() => {
this.checkBreakpoints()
}, 250))
},
checkBreakpoints() {
const until = this.$el.dataset.collapseUntil
if (until !== undefined) {
this.collapsed = window.innerWidth < parseInt(until)
}
const from = this.$el.dataset.collapseFrom
if (from !== undefined) {
this.collapsed = window.innerWidth > parseInt(from)
}
},
trigger: {
['@click.prevent']() {
this.collapsed = !this.collapsed
}
},
container: {
['x-show']() {
return this.collapsed === false
},
}
})
@@ -1,7 +0,0 @@
export default (callback, interval) => {
let debounceId
return (...args) => {
clearTimeout(debounceId)
debounceId = setTimeout(() => callback.apply(this, args), interval)
}
}
@@ -0,0 +1,6 @@
export default () => ({
init() {
const props = JSON.parse(this.$el.dataset.fbpixelProps)
fbq('track', 'ViewContent', props)
}
})
@@ -1,4 +1,4 @@
const appendPaCode = appConfig => {
export default appConfig => {
const paCode = appConfig.paCode
const externalDomains = appConfig.externalDomains
if (!paCode) {
@@ -23,5 +23,3 @@ const appendPaCode = appConfig => {
element.href = url
})
}
export default appendPaCode
@@ -1,15 +1,18 @@
import debounce from './debounce'
import { debounce } from './throttle-debounce'
export default function () {
return {
show: false,
init() {
window.addEventListener('scroll', debounce(() => {
this.show = window.scrollY > window.innerHeight/3
}, 250))
export default () => ({
show: false,
trigger: {
['@click.prevent']() {
window.scroll({top: 0, left: 0, behavior: 'smooth'})
},
scroll() {
window.scroll({ top: 0, left: 0, behavior: 'smooth' })
['x-show']() {
return this.show
}
}
}
},
init() {
window.addEventListener('scroll', debounce(() => {
this.show = window.scrollY > window.innerHeight / 3
}, 250))
},
})
@@ -96,7 +96,7 @@ const presets = {
},
}
const initSliders = () => {
export default () => {
document.querySelectorAll( '[data-slider]').forEach(element => {
let options = {}
const preset = element.dataset.slider
@@ -106,5 +106,3 @@ const initSliders = () => {
new Splide(element, options).mount()
})
}
export default initSliders
@@ -1,16 +1,14 @@
import debounce from './debounce'
import { debounce } from './throttle-debounce'
export default function () {
return {
sticky: false,
offset: 0,
init() {
if (this.$el.dataset.offset) {
this.offset = this.$el.dataset.offset
}
window.addEventListener('scroll', debounce(() => {
this.sticky = window.scrollY > this.offset
}, 250))
export default () => ({
sticky: false,
offset: 0,
init() {
if (this.$el.dataset.offset) {
this.offset = this.$el.dataset.offset
}
window.addEventListener('scroll', debounce(() => {
this.sticky = window.scrollY > this.offset
}, 250))
}
}
})
@@ -0,0 +1,19 @@
const debounce = (callback, interval) => {
let debounceId
return (...args) => {
clearTimeout(debounceId)
debounceId = setTimeout(() => callback.apply(this, args), interval)
}
}
const throttle = (callback, interval) => {
let enableCall = true
return (...args) => {
if (!enableCall) return
enableCall = false
callback.apply(this, args)
setTimeout(() => enableCall = true, interval)
}
}
export { debounce, throttle }
@@ -0,0 +1,8 @@
export default () => ({
show() {
return this.$store.watchlist.length > 0
},
label() {
return `Merkliste (${this.$store.watchlist.length})`
}
})
@@ -1,19 +1,7 @@
export default function () {
return {
uid: null,
init() {
this.uid = this.$el.dataset.uid
},
onList() {
return -1 !== this.$store.watchlist.indexOf(this.uid)
},
label() {
return this.onList() ? 'von der Merkliste entfernen' : 'auf die Merkliste setzen'
},
icon() {
return this.onList() ? 'fa-minus-circle' : 'fa-plus-circle'
},
toggle() {
export default () => ({
uid: null,
trigger: {
['@click.prevent']() {
const watchlistIndex = this.$store.watchlist.indexOf(this.uid)
if (-1 !== watchlistIndex) {
this.$store.watchlist.splice(watchlistIndex, 1)
@@ -22,5 +10,17 @@ export default function () {
}
sessionStorage.setItem('myep-watchlist', JSON.stringify(this.$store.watchlist))
}
}
}
},
init() {
this.uid = this.$el.dataset.uid
},
onList() {
return -1 !== this.$store.watchlist.indexOf(this.uid)
},
icon() {
return this.onList() ? 'fa-minus-circle' : 'fa-plus-circle'
},
label() {
return this.onList() ? 'von der Merkliste entfernen' : 'auf die Merkliste setzen'
},
})
@@ -1,57 +0,0 @@
import { Controller } from 'stimulus'
import { useDebounce } from '../mixins/useDebounce'
import axios from 'axios'
export default class extends Controller {
static targets = [ 'trigger', 'container' ]
static values = {
uri: String,
loaded: Boolean,
loading: Boolean
}
connect() {
useDebounce(this)
window.addEventListener('scroll', this.debounce(() => {
this.loadContent()
}, 250))
}
loadContent () {
if (true === this.loadedValue || false === this.isInViewport()) {
return
}
this.loadingValue = true
axios({
url: this.uriValue,
responseType: 'text'
}).then((response) => {
this.loadingValue = false
this.loadedValue = true
this.containerTarget.innerHTML = response.data
this.triggerTarget.remove()
}).catch(() => {
this.loadingValue = false
this.loadedValue = false
})
}
isInViewport () {
const rect = this.triggerTarget.getBoundingClientRect()
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
loadingValueChanged () {
if (false === this.loadedValue) {
this.triggerTarget.classList.toggle('loading', this.loadingValue)
}
}
}
@@ -1,27 +0,0 @@
import { Controller } from 'stimulus'
export default class extends Controller {
static classes = [ 'collapsed' ]
static targets = [ 'container' ]
static values = { collapsed: Boolean, until: Number, from: Number }
connect() {
if (this.hasUntilValue && window.innerWidth < this.untilValue) {
this.collapsedValue = true
}
if (this.hasFromValue && window.innerWidth > this.fromValue) {
this.collapsedValue = true
}
}
toggle(e) {
e.preventDefault()
this.collapsedValue = !this.collapsedValue
}
collapsedValueChanged() {
const collapsedClass = this.hasCollapsedClass ? this.collapsedClass : 'hidden'
this.containerTarget.classList.toggle(collapsedClass, this.collapsedValue)
}
}
@@ -1,30 +0,0 @@
import { Controller } from 'stimulus'
export default class extends Controller {
static targets = [ 'watchlist', 'watchlistLabel' ]
static values = { watchlist: Array }
connect() {
const initialList = JSON.parse(sessionStorage.getItem('myep-watchlist'))
this.watchlistValue = initialList ? initialList : []
}
toggleWatchlist(e) {
const uid = e.detail
const currentList = this.watchlistValue
const listIndex = currentList.indexOf(uid)
if (-1 === listIndex) {
currentList.push(uid)
} else {
currentList.splice(listIndex, 1)
}
this.watchlistValue = currentList
sessionStorage.setItem('myep-watchlist', JSON.stringify(currentList))
}
watchlistValueChanged() {
this.watchlistTarget.style.display = this.watchlistValue.length > 0 ? 'block' : 'none'
this.watchlistLabelTarget.textContent = `Merkliste (${this.watchlistValue.length})`
}
}
@@ -1,10 +0,0 @@
import { Controller } from 'stimulus'
export default class extends Controller {
static values = { props: Object }
connect() {
fbq('track', 'ViewContent', this.propsValue);
}
}
@@ -1,11 +0,0 @@
export const useDebounce = controller => {
Object.assign(controller, {
debounce: (callback, interval) => {
let debounceId
return (...args) => {
clearTimeout(debounceId)
debounceId = setTimeout(() => callback.apply(this, args), interval)
}
}
})
}
@@ -1,14 +0,0 @@
export const useThrottle = controller => {
Object.assign(controller, {
throttle: (callback, interval) => {
let enableCall = true
return (...args) => {
if (!enableCall) return
enableCall = false
callback.apply(this, args)
setTimeout(() => enableCall = true, interval)
}
}
})
}
@@ -6,7 +6,7 @@
[x-cloak] {
@apply hidden;
}
@import "variables";
@import "color";
@@ -22,7 +22,6 @@
@import "remix/breakpoints";
@import "remix/mixins";
@import "remix/base";
@import "remix/overrides";
@import "remix/badges";
@import "remix/buttons";
@import "remix/area-nav";
@@ -18,7 +18,6 @@ $output-bourbon-deprecation-warnings: false;
@import "remix/breakpoints";
@import "remix/mixins";
@import "remix/base";
@import "remix/overrides";
@import "remix/badges";
@import "remix/buttons";
@import "remix/area-nav";
@@ -18,7 +18,6 @@ $output-bourbon-deprecation-warnings: false;
@import "remix/breakpoints";
@import "remix/mixins";
@import "remix/base";
@import "remix/overrides";
@import "remix/badges";
@import "remix/buttons";
@import "remix/area-nav";
@@ -18,7 +18,6 @@ $output-bourbon-deprecation-warnings: false;
@import "remix/breakpoints";
@import "remix/mixins";
@import "remix/base";
@import "remix/overrides";
@import "remix/badges";
@import "remix/buttons";
@import "remix/area-nav";
@@ -17,7 +17,6 @@
}
.area-nav__list {
display: none;
position: absolute;
top: $area-nav-height;
left: 0;
@@ -1,6 +0,0 @@
.fancybox-navigation .fancybox-button {
@include mq($from: desktop) {
width: 105px;
height: 150px;
}
}
@@ -1,41 +1,46 @@
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<div class="ep-contactnav" data-controller="contactbar" data-action="watchlist-toggle@window->contactbar#toggleWatchlist">
<a href="{f:uri.typolink(parameter: settings.watchlistPageUid)}" class="bg-red watchlist"
data-contactbar-target="watchlist" rel="nofollow">
<span class="fa fa-list" aria-hidden="true"></span>
<div data-contactbar-target="watchlistLabel"></div>
</a>
<a href="tel:{settings.phoneNumberLink}" class="bg-red phone" title="Telefonische Beratung" rel="nofollow">
<span class="fa fa-phone" aria-hidden="true"></span>
<div>{settings.phoneNumber}</div>
</a>
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}" target="_blank"
class="bg-red whatsapp" title="Whatsapp" rel="nofollow">
<span class="fa fa-whatsapp" aria-hidden="true"></span>
<div>{settings.whatsApp} als Kontakt speichern</div>
</a>
<a href="{settings.facebookUrl}" class="bg-yellow facebook" target="_blank">
<span class="fa fa-facebook" aria-hidden="true"></span>
<div>Facebook</div>
</a>
<a href="{settings.instagramUrl}" class="bg-yellow instagram" target="_blank">
<span class="fa fa-instagram" aria-hidden="true"></span>
<div>Instagram</div>
</a>
<a href="{settings.youtubeUrl}" class="bg-yellow youtube" target="_blank">
<span class="fa fa-youtube-play" aria-hidden="true"></span>
<div>Youtube</div>
</a>
<f:if condition="{settings.englishPageUid}">
<f:link.typolink parameter="{settings.englishPageUid}" title="English" class="bg-yellow english">
<span><f:image src="EXT:ep_theme/Resources/Public/images/gb.png" alt="English" class="ep-contactnav__icon"/></span>
<div>English</div>
</f:link.typolink>
</f:if>
<f:if condition="{settings.germanPageUid}">
<f:link.typolink parameter="{settings.germanPageUid}" title="English" class="bg-yellow german">
<span><f:image src="EXT:ep_theme/Resources/Public/images/de.png" alt="Deutsch" class="ep-contactnav__icon"/></span>
<div>Deutsch</div>
</f:link.typolink>
</f:if>
</div>
<html data-namespace-typo3-fluid="true" lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<div class="ep-contactnav">
<a href="{f:uri.typolink(parameter: settings.watchlistPageUid)}" class="bg-red watchlist"
x-data="watchlistButton" x-show="show" x-transition x-cloak rel="nofollow">
<span class="fa fa-list" aria-hidden="true"></span>
<div x-text="label"></div>
</a>
<a href="tel:{settings.phoneNumberLink}" class="bg-red phone" title="Telefonische Beratung" rel="nofollow">
<span class="fa fa-phone" aria-hidden="true"></span>
<div>{settings.phoneNumber}</div>
</a>
<a href="https://api.whatsapp.com/send?phone={settings.whatsAppNumberLink}" target="_blank"
class="bg-red whatsapp" title="Whatsapp" rel="nofollow">
<span class="fa fa-whatsapp" aria-hidden="true"></span>
<div>{settings.whatsApp} als Kontakt speichern</div>
</a>
<a href="{settings.facebookUrl}" class="bg-yellow facebook" target="_blank">
<span class="fa fa-facebook" aria-hidden="true"></span>
<div>Facebook</div>
</a>
<a href="{settings.instagramUrl}" class="bg-yellow instagram" target="_blank">
<span class="fa fa-instagram" aria-hidden="true"></span>
<div>Instagram</div>
</a>
<a href="{settings.youtubeUrl}" class="bg-yellow youtube" target="_blank">
<span class="fa fa-youtube-play" aria-hidden="true"></span>
<div>Youtube</div>
</a>
<f:if condition="{settings.englishPageUid}">
<f:link.typolink parameter="{settings.englishPageUid}" title="English" class="bg-yellow english">
<span><f:image src="EXT:ep_theme/Resources/Public/images/gb.png" alt="English" class="ep-contactnav__icon"/></span>
<div>English</div>
</f:link.typolink>
</f:if>
<f:if condition="{settings.germanPageUid}">
<f:link.typolink parameter="{settings.germanPageUid}" title="English" class="bg-yellow german">
<span><f:image src="EXT:ep_theme/Resources/Public/images/de.png" alt="Deutsch" class="ep-contactnav__icon"/></span>
<div>Deutsch</div>
</f:link.typolink>
</f:if>
</div>
</html>
@@ -9,7 +9,7 @@
</div>
<div class="slider__items">
<f:alias map="{image: images.0}">
<a href="javascript:;" data-fancybox-trigger="gallery-{id}">
<a href="javascript:;" data-glightbox="gallery-{id}">
<f:image image="{image}" width="770" height="430c+100" class="slider__image"
alt="{image.alternative}" title="{image.title}"/>
</a>
@@ -21,7 +21,7 @@
<f:for each="{images}" as="image" iteration="iteration">
<f:if condition="{iteration.cycle} <= 5">
<a href="{f:uri.image(image: image, cropVariant: 'zoom', maxWidth: '2560')}"
data-fancybox="gallery-{id}" data-caption="{image.originalResource.description}" class="slider__thumb">
data-glightbox data-gallery="gallery-{id}" data-caption="{image.originalResource.description}" class="slider__thumb">
<f:image image="{image}" width="150" height="85c+100" class="img-responsive"
alt="{image.originalResource.alternative}" title="{image.originalResource.title}"/>
</a>
@@ -37,7 +37,7 @@
<f:then>
<f:alias map="{image: images.0}">
<a href="{f:uri.image(image: image, cropVariant: 'zoom', maxWidth: '2560')}"
data-fancybox="gallery-{id}" data-caption="{image.originalResource.description}"
data-glightbox data-gallery="gallery-{id}" data-caption="{image.originalResource.description}"
title="{image.title}">1</a>
</f:alias>
</f:then>
@@ -45,7 +45,7 @@
<f:for each="{images}" as="image" iteration="iteration">
<f:if condition="{iteration.cycle} > 5">
<a href="{f:uri.image(image: image, cropVariant: 'zoom', maxWidth: '2560')}"
data-fancybox="gallery-{id}" data-caption="{image.originalResource.description}"
data-glightbox data-gallery="gallery-{id}" data-caption="{image.originalResource.description}"
title="{image.originalResource.title}">{iteration.index}</a>
</f:if>
</f:for>
@@ -55,7 +55,7 @@
<f:else>
<f:for each="{images}" as="image">
<a href="{f:uri.image(image: image, cropVariant: 'zoom', maxWidth: '2560')}"
data-fancybox="gallery-{id}" data-caption="{image.originalResource.description}"
data-glightbox data-gallery="gallery-{id}" data-caption="{image.originalResource.description}"
title="{image.originalResource.title}">{iteration.index}</a>
</f:for>
</f:else>
@@ -6,13 +6,13 @@
<div class="row accordion panel-group" id="ep-travel-accordion" role="tablist" aria-multiselectable="true">
<v:menu pageUid="{settings.footerNavPid}" levels="2" expandAll="true">
<f:for each="{menu}" as="menuheader" iteration="iteration">
<div class="col-sm-3" data-controller="collapse" data-collapse-until-value="991" data-collapse-collapsed-class="hidden">
<div class="col-sm-3" x-data="collapse" data-collapse-until="991">
<span class="headline headline--4 headline--footer hidden-xs">{menuheader.title}</span>
<a class="headline headline--4 headline--footer visible-xs" role="button" data-action="collapse#toggle" href="#">
<a class="headline headline--4 headline--footer visible-xs" role="button" x-bind="trigger" href="#">
{menuheader.title}
</a>
<v:menu pageUid="{menuheader.uid}" useShortcutUid="true" as="submenu">
<ul class="list-disc lg:block" data-collapse-target="container">
<ul class="list-disc lg:block" x-bind="container" x-transition>
<f:for each="{submenu}" as="submenuitem">
<f:if condition="{submenuitem.doktype} == 3">
<f:then>
@@ -90,6 +90,6 @@
</div>
</div>
</div>
<button x-data="scrollTop" x-on:click.prevent="scroll()" x-show="show" class="arrowtop " x-cloak>
<button x-data="scrollTop" x-bind="trigger" class="arrowtop" x-cloak>
<i class="fa fa-angle-up"></i>
</button>
@@ -117,9 +117,9 @@
</f:else>
</f:if>
</div>
<a href="#" class="teaserbox-watchlist" x-data="watchlistToggle" :data-uid="item.key" x-on:click.prevent="toggle()">
<span data-microtip-position="top" x-bind:aria-label="label()" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon()"></i>
<a href="#" class="teaserbox-watchlist" x-data="watchlistToggle" x-bind="trigger" :data-uid="item.key">
<span data-microtip-position="top" x-bind:aria-label="label" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon"></i>
</span>
</a>
</div>
@@ -5,7 +5,7 @@
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers" >
<f:section name="Mainnav">
<div class="navbar-main-wrapper" :class="{ 'searchbar-fixed': searchbarFixed }" x-data>
<div class="navbar-main-wrapper" x-data>
<nav class="container navbar navbar-default navbar-main{f:if(condition: data.tx_eptheme_hide_searchbar, then: ' navbar-main--no-searchbar')}">
<f:render section="NavbarHeader" arguments="{_all}"/>
<div class="hidden-xs hidden-sm">
@@ -3,7 +3,8 @@
{product.conceptDescription -> f:format.html()}
</div>
<f:if condition="{product.calendarHotel} && {hotel.groupsPriceConfigs}">
<a class="button button--full" data-fancybox data-type="iframe" href="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
<a class="button button--full" data-glightbox
href="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
Preisberechnung
</a>
</f:if>
@@ -115,9 +115,9 @@
</a>
</div>
</div>
<a href="#" x-data="watchlistToggle" data-uid="{item.key}" x-on:click.prevent="toggle()">
<span data-microtip-position="top" x-bind:aria-label="onList() ? 'von der Merkliste entfernen' : 'auf die Merkliste setzen'" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="onList() ? 'fa-minus-circle' : 'fa-plus-circle'"></i>
<a href="#" x-data="watchlistToggle" x-bind="trigger" data-uid="{item.key}">
<span data-microtip-position="top" x-bind="label" role="tooltip">
<i class="fa fa-plus-circle" x-bind="icon"></i>
</span>
</a>
</div>
@@ -92,9 +92,9 @@
</a>
</div>
</div>
<a href="#" class="teaserbox-watchlist" x-data="watchlistToggle" :data-uid="item.key" x-on:click.prevent="toggle()">
<span data-microtip-position="top" x-bind:aria-label="label()" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon()"></i>
<a href="#" class="teaserbox-watchlist" x-data="watchlistToggle" x-bind="trigger" :data-uid="item.key">
<span data-microtip-position="top" x-bind:aria-label="label" role="tooltip">
<i class="fa fa-plus-circle" x-bind:class="icon"></i>
</span>
</a>
</div>
@@ -3,7 +3,7 @@
<p><strong>Webcam</strong></p>
<div>
<a href="{region.webcam.url}"
data-fancybox data-caption="Webcam {region.name}"
data-glightbox data-caption="Webcam {region.name}"
title="Webcam {region.name}">
<img src="{ep:uri.externalImage(url: region.webcam.url)}" width="330" class="img-responsive"/>
</a>
@@ -4,7 +4,7 @@
<div>
<f:for each="{region.regionMaps}" as="regionMap">
<a href="{f:uri.image(src: '{regionMap.uid}', treatIdAsReference: '1', maxWidth: '2560')}"
data-fancybox="regionmap-{region.uid}" data-caption="Pistenplan {region.name}"
data-glightbox data-gallery="regionmap-{region.uid}" data-caption="Pistenplan {region.name}"
title="Pistenplan {region.name}">
<img class="img-responsive lazyload"
data-src="{f:uri.image(image: regionMap, width: '330')}"
@@ -1,15 +1,15 @@
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
{namespace ep=EP\EpTheme\ViewHelpers}
<div class="area-nav">
<div class="area-nav__inner">
<div class="area-nav__inner" x-data="{ open: false }">
<f:spaceless>
<f:if condition="{settings.hideAreaNavigation}">
<f:else>
<a class="area-nav__trigger area-nav__link" href="#" @click.prevent="toggleAreaNavigation()">
<a class="area-nav__trigger area-nav__link" href="#" x-on:click.prevent="open = !open">
Bereich wechseln <i class="area-nav__trigger-icon fa fa-lg fa-caret-down"></i>
</a>
<nav role="navigation">
<ul class="area-nav__list">
<ul class="area-nav__list" x-bind:class="open ? 'open' : ''" x-show="open" x-transition x-cloak>
<v:menu levels="1" useShortcutUid="1" pageUid="{settings.topNavPid}">
<f:for each="{menu}" as="menuitem">
<li class="area-nav__list-item">
@@ -24,10 +24,10 @@
<div class="col-xs-12">
<h2>Buchungsoptionen</h2>
<div class="ajax-content-wrapper"
data-controller="ajax-content"
data-ajax-content-uri-value="{ep:uri.ajax(action: 'pricetableHtml', controller: 'AjaxTable', pageUid: settings.defaultAjaxUid, arguments: '{product: product, hotel: hotel}', format: 'html')}">
<div class="ajax-content" data-ajax-content-target="container"></div>
<div data-ajax-content-target="trigger">
x-data="ajaxContent"
data-uri="{ep:uri.ajax(action: 'pricetableHtml', controller: 'AjaxTable', pageUid: settings.defaultAjaxUid, arguments: '{product: product, hotel: hotel}', format: 'html')}">
<div class="ajax-content" x-ref="container"></div>
<div x-ref="trigger">
<img src="{f:uri.image(src: 'EXT:ep_theme/Resources/Public/images/ajax-loader-white.gif')}" alt="Loading" title="Loading">
</div>
</div>
@@ -83,11 +83,11 @@
</div>
<div class="col-xs-12">
<p>
<a href="#" x-data="watchlistToggle" data-uid="{hotel.uid}:{product.uid}" x-on:click.prevent="toggle()">
<span data-microtip-position="top" x-bind:aria-label="label()" role="tooltip">
<i class="fa" x-bind:class="icon()"></i>
<a href="#" x-data="watchlistToggle" x-bind="trigger" data-uid="{hotel.uid}:{product.uid}">
<span data-microtip-position="top" x-bind:aria-label="label" role="tooltip">
<i class="fa" x-bind:class="icon"></i>
</span>
<span x-text="label()"></span>
<span x-text="label"></span>
</a>
</p>
<p>
@@ -260,14 +260,16 @@
</div>
</article>
</product-detail>
<div data-controller="facebook-pixel" data-facebook-pixel-props-value='{ "content_ids": [ {product.busProId -> f:format.raw()} ], "content_name": "{product.nameInternal -> f:format.raw()}", "content_type": "product" }'></div>
<div x-data="fbpixel" data-fbpixel-props='{ "content_ids": [ {product.busProId -> f:format.raw()} ], "content_name": "{product.nameInternal -> f:format.raw()}", "content_type": "product" }'></div>
<f:render partial="Faq" arguments="{faqs: product.faqs, settings: settings}"/>
</f:section>
<f:section name="Calendar">
<f:if condition="{product.calendarHotel}">
<f:if condition="{hotel.groupsPriceConfigs}">
<a class="button button--full" data-fancybox data-type="iframe" href="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
<a class="button button--full"
data-glightbox
href="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
Preisberechnung
</a>
</f:if>
@@ -47,7 +47,7 @@
</div>
</div>
</div>
<div data-controller="facebook-pixel" data-facebook-pixel-props-value='{ "content_ids": [ {region.uid -> f:format.raw()} ], "content_name": "{region.nameInternal -> f:format.raw()}", "content_type": "product" }'></div>
<div x-data="fbpixel" data-fbpixel-props='{ "content_ids": [ {region.uid -> f:format.raw()} ], "content_name": "{region.nameInternal -> f:format.raw()}", "content_type": "product" }'></div>
</f:section>
</html>
@@ -43,15 +43,15 @@
</f:section>
<f:section name="CollapsibleSimple">
<div class="panel panel-default" data-controller="collapse" data-collapse-collapsed-value="true">
<div class="panel panel-default" x-data="collapse" data-collapsed>
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" href="#" data-action="collapse#toggle">
<a role="button" href="#" x-bind="trigger">
{label}
</a>
</h4>
</div>
<div class="hidden" data-collapse-target="container">
<div class="hidden" x-bind="container">
<div class="panel-body">
<f:if condition="{name}">
<div class="form-group">
@@ -77,15 +77,15 @@
</f:section>
<f:section name="CollapsibleHotel">
<div class="panel panel-default" data-controller="collapse" data-collapse-collapsed-value="true">
<div class="panel panel-default" x-data="collapse" data-collapsed>
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" href="#" data-action="collapse#toggle">
<a role="button" href="#" data-bind="trigger">
{label}
</a>
</h4>
</div>
<div class="hidden" data-collapse-target="container">
<div class="hidden" data-bind="container">
<div class="panel-body">
<div class="form-group">
<label class="control-label">Name</label>
@@ -237,15 +237,15 @@
</f:section>
<f:section name="CollapsibleCity">
<div class="panel panel-default" data-controller="collapse" data-collapse-collapsed-value="true">
<div class="panel panel-default" x-data="collapse" data-collapsed>
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" href="#" data-action="collapse#toggle">
<a role="button" href="#" x-bind="trigger">
{label}
</a>
</h4>
</div>
<div class="hidden" data-collapse-target="container">
<div class="hidden" x-bind="container">
<div class="panel-body">
<div class="col-xs-12">
<div class="form-group">
@@ -271,15 +271,15 @@
</f:section>
<f:section name="CollapsibleRegion">
<div class="panel panel-default" data-controller="collapse" data-collapse-collapsed-value="true">
<div class="panel panel-default" x-data="collapse" data-collapsed>
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" href="#" data-action="collapse#toggle">
<a role="button" href="#" x-bind="trigger">
{label}
</a>
</h4>
</div>
<div class="hidden" data-collapse-target="container">
<div class="hidden" x-bind="container">
<div class="panel-body">
<div class="col-xs-12">
<div class="form-group">
@@ -333,15 +333,15 @@
</f:section>
<f:section name="CollapsibleImages">
<div class="panel panel-default" data-controller="collapse" data-collapse-collapsed-value="true">
<div class="panel panel-default" x-data="collapse" data-collapsed>
<div class="panel-heading">
<h4 class="panel-title">
<a role="button" href="#" data-action="collapse#toggle">
<a role="button" href="#" x-bind="trigger">
{label}
</a>
</h4>
</div>
<div class="hidden" data-collapse-target="containet">
<div class="hidden" x-bind="container">
<div class="panel-body">
<f:for each="{images}" as="image">
<a href="{image}" target="_blank">{image}</a><br>
@@ -5,7 +5,7 @@
<f:layout name="Default"/>
<f:section name="Main">
<div id="searchbox" class="searchbox hidden-lg" x-data x-show="$store.show.searchBox" x-cloak>
<div id="searchbox" class="searchbox hidden-lg" x-data x-show="$store.show.searchBox" x-transition x-cloak>
<search-box
options-uri='<ep:uri.ajax controller="AjaxSearchbar" action="options" pageUid="{settings.defaultAjaxUid}" />'
reset-uri='<ep:uri.ajax controller="AjaxSearchbar" action="reset" pageUid="{settings.defaultAjaxUid}" />'
@@ -21,13 +21,13 @@
</div>
<div class="container">
<div class="row">
<div class="col-md-3" data-controller="collapse" data-collapse-collapsed-class="hidden" data-collapse-until-value="991">
<div class="col-md-3" x-data="collapse" data-collapse-until="991">
<p class="lg:hidden">
<button class="button button--full button--small" role="button" data-action="collapse#toggle">
<button class="button button--full button--small" role="button" x-bind="trigger">
<i class="fa fa-toggle-on"></i> Filter ein-/ausblenden
</button>
</p>
<div id="filterpanel" class="hidden lg:block" v-cloak data-collapse-target="container">
<div id="filterpanel" class="lg:block" v-cloak x-bind="container" x-transition x-cloak>
<concept-buttons :concepts="filterOptions.concepts"></concept-buttons>
<h3>Filter</h3>
<a v-if="filterCount > 0"