From 06d878436d9477f8331f49dd4b557bb2f894cdc0 Mon Sep 17 00:00:00 2001 From: Paul Isaris Date: Fri, 5 Jul 2024 16:59:45 +0300 Subject: [PATCH] V2 Initial commit --- .gitignore | 2 + config/cookies_consent.php | 10 +- package-lock.json | 1061 +++++++++++++++++ package.json | 29 + resources/assets/css/style.css | 188 --- resources/images/cookie.png | Bin 0 -> 44660 bytes resources/js/cookies-consent.js | 122 ++ resources/scss/_variables.scss | 12 + resources/scss/cookies-consent.scss | 487 ++++++++ .../components/_cookie-categories.blade.php | 107 ++ .../laravel-cookies-consent.blade.php | 94 +- resources/views/cookie-policy.blade.php | 51 + routes/web.php | 6 +- src/LaravelCookiesConsentServiceProvider.php | 11 +- vite.config.js | 29 + 15 files changed, 1970 insertions(+), 239 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json delete mode 100644 resources/assets/css/style.css create mode 100644 resources/images/cookie.png create mode 100644 resources/js/cookies-consent.js create mode 100644 resources/scss/_variables.scss create mode 100644 resources/scss/cookies-consent.scss create mode 100644 resources/views/components/_cookie-categories.blade.php create mode 100644 resources/views/cookie-policy.blade.php create mode 100644 vite.config.js diff --git a/.gitignore b/.gitignore index 83c9b9f..a97f7fb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ phpstan.neon testbench.yaml vendor node_modules +public +storage diff --git a/config/cookies_consent.php b/config/cookies_consent.php index 0b7b2b9..06a8df8 100644 --- a/config/cookies_consent.php +++ b/config/cookies_consent.php @@ -10,6 +10,8 @@ * (for example "my_app_", in order for the cookies not to be mingled when running locally. */ 'cookie_prefix' => '', + 'display_floating_button' => false, // Set to false to display the footer link instead + 'use_separate_page' => false, // Set to true to use a separate page for cookies explanation /* |-------------------------------------------------------------------------- | Editor @@ -24,7 +26,13 @@ | */ 'cookies' => [ - 'strictly_necessary', + 'strictly_necessary' => [ + [ + 'name' => 'cookies_consent_selection', + 'description' => 'This cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.', + 'policy' => 'https://www.example.com/privacy-policy', + ], + ], 'targeting', 'performance', 'functionality', diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..195ed64 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1061 @@ +{ + "name": "laravel-cookies-consent", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "laravel-cookies-consent", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "sass": "^1.77.6", + "vite": "^5.3.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/vite": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.3.tgz", + "integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.39", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..ca63a86 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "laravel-cookies-consent", + "version": "1.0.0", + "description": "

\"logo\"

", + "main": "index.js", + "directories": { + "test": "tests" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "vite", + "build": "vite build && cp resources/images/cookie.png public/cookie.png" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/scify/laravel-cookies-consent.git" + }, + "keywords": [], + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/scify/laravel-cookies-consent/issues" + }, + "homepage": "https://github.com/scify/laravel-cookies-consent#readme", + "devDependencies": { + "sass": "^1.77.6", + "vite": "^5.3.3" + } +} diff --git a/resources/assets/css/style.css b/resources/assets/css/style.css deleted file mode 100644 index 099711d..0000000 --- a/resources/assets/css/style.css +++ /dev/null @@ -1,188 +0,0 @@ -.laravel-cookies-consent { - border: 1px solid #2D2D2D; - border-radius: 10px; - background-color: #2D2D2D; - position: fixed; - left: 25px; - z-index: 999999; - color: #FFFFFF; - -webkit-animation-name: slide_to_top; - -webkit-animation-duration: 1.5s; - -webkit-animation-timing-function: ease; - -webkit-animation-iteration-count: 1; - -webkit-animation-direction: normal; - -webkit-animation-delay: 0s; - -webkit-animation-play-state: running; - -webkit-animation-fill-mode: forwards; -} - -.laravel-cookies-consent.slide_down { - -webkit-animation-name: slide_to_bottom; -} - -@-webkit-keyframes slide_to_top { - 0% { - bottom: -800px; - } - 100% { - bottom: 25px; - } -} - -@-webkit-keyframes slide_to_bottom { - 0% { - bottom: 25px; - } - 100% { - bottom: -800px; - display: none; - } -} - -.laravel-cookies-consent .outer-wrapper { - padding: 20px; -} - -.laravel-cookies-consent .cookies-title { - margin-top: 0; -} - -.laravel-cookies-consent .cookies-text { - color: lightgrey; -} - -.laravel-cookies-consent .cookies-text a { - color: #FFFFFF; - font-weight: bold; -} - -.laravel-cookies-consent .cookies-close { - position: absolute; - top: 0; - right: 0; - display: block; - width: 30px; - height: 30px; - font-size: 0; - /* declare the background-color as bootstrap seems to reset it to default body's color:*/ - background-color: #2d2d2d; -} - -.laravel-cookies-consent .cookies-close:before, -.laravel-cookies-consent .cookies-close:after { - position: absolute; - top: 50%; - left: 50%; - width: 2px; - height: 10px; - background-color: #F0F0F0; - transform: rotate(45deg) translate(-50%, -50%); - transform-origin: top left; - content: ''; -} - -.laravel-cookies-consent .cookies-close:after { - transform: rotate(-45deg) translate(-50%, -50%); -} - -.laravel-cookies-consent .consent-form-container { - margin-top: 15px; -} - -.laravel-cookies-consent .consent-form-container .consent-checkboxes { - margin-bottom: 25px; -} - -.laravel-cookies-consent .consent-form-container .consent-checkboxes .form-group label { - font-size: small; - letter-spacing: 1px; -} - -.laravel-cookies-consent .consent-form-container .consent-checkboxes .form-group input:hover { - cursor: pointer; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons { - display: inline-block; - width: 100%; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit { - height: 35px; - color: #FFFFFF; - border-radius: 35px; - text-align: center; - border: 1px solid; - width: 48%; - font-size: small; - line-height: 35px; - padding: 0; - margin: 0; - text-decoration: none; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit.hidden { - display: none; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit:hover { - cursor: pointer; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit { - background-color: transparent; - border-color: #FFFFFF; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit.consent-accept { - float: left; -} - -.laravel-cookies-consent .consent-form-container .consent-buttons .consent-submit.consent-decline-all { - float: right; -} - -/* Extra small devices (phones, 600px and down) */ -@media only screen and (max-width: 600px) { - .laravel-cookies-consent { - bottom: 10px; - left: 5px; - width: calc(100% - 10px); - } - - .laravel-cookies-consent .outer-wrapper { - padding: 10px; - } -} - -/* Small devices (portrait tablets and large phones, 600px and up) */ -@media only screen and (min-width: 600px) { - .laravel-cookies-consent { - width: 75%; - } - - .laravel-cookies-consent .outer-wrapper { - padding: 15px; - } -} - -/* Medium devices (landscape tablets, 768px and up) */ -@media only screen and (min-width: 768px) { - .laravel-cookies-consent { - width: 55%; - } -} - -/* Large devices (laptops/desktops, 992px and up) */ -@media only screen and (min-width: 992px) { - .laravel-cookies-consent { - width: 420px; - } -} - -/* Extra large devices (large laptops and desktops, 1200px and up) */ -@media only screen and (min-width: 1200px) { - .laravel-cookies-consent { - width: 420px; - } -} diff --git a/resources/images/cookie.png b/resources/images/cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea291ca19ccf8fd387849666cae4f945e1b76ff GIT binary patch literal 44660 zcmXtf1yoeu+w}}X_keWC03s67T_T9I4k+D7Bi%J9KRN^nk(35W=^T(2>F$#5u7UY3 z|95??#k$0ubM8Io$-Vapf1|EQginhP0)dE>UdzKlAPnF~3=l3ha5?iDzX2|ou5wCR zxWJbmu06=M|>KUU}kpbzq~ak%gg)gdw6#1n<4p{|8m~^^+wvI z)>~!MN*y^SXgCgkP>EiE1qM$Wq!4mnG7!jg)nH~qSJ4t7QwNqvgfk-j$+;*a`8vfx zlqyH0P^#fa)|$s7!No*AwqM52ut+MtzLdbZ4fx1ep~sQP#45#|RM_)yFNidbK8xFk z1$mfRiU@vOOldy}=?^mIyf+}`(pGlBD}GO@^2me%6xl@ziyvrz)q280pRxEdd;zsj zy0=STQptfG*+n=BuF&z5m&e=!5rS^Op({dHDedE&%1^=Xe<59u2#%`U3ArejDu@wX za0o0O;|zSG?RN&*!F}W&g%Q<6|rB$4?5Cb^T1a zor2&ycP5->mBIYLE%HJzG6J_XNAo2nYkI9bu6!>@y$(l>*mQ&r*N-rF5Z7A;h39wB zHj`#-q{tU~)pV|a4>-K495sUfyCVd+0~#AP4t@n$3wkT7=OpwC^P58(Y2NtB|E3^& zn1U5H`iL4wwe7Z=iOL|F>xCsb?`w{8{R#?TL$G#1IxuYLcElw|AjYs%?~aaK>`)^7 z<>%7iF0yAjIBjILT91y1e%qb(Kn6Y+e_^8+Rp&TYuSl%Wkplyt{f!S*!iwp>O$a3P zxQgi#34n+{%~Sqd8rDT-Uji|~^Ok1?i!zF0iNNOweK$%SAUrVrrLIlARg8+ zHX5WO2Rtpt6AXc)i)}?o9_V-B-mG^yT(g3I@;`i}Jl|pUjrMMw`ev2K7MBr^P+^_k zd9U&|d~WyA-r8gP+x{0v_x=O<3nfO#&u~xgit+i9ggy#>mfK{oyehf1_qP^1$ z8y34Is)E~$iKb3Q|FT(l8aWwVWer>?#dKLa6{d1mTw=`z@(oK2>e49!KU#G)GL-1l zMN{m0e9?YGk4w?`G%obB|Q0JE`%&22YqIZXyS%ACGZl3PLSibY5vBr5R z?T5JUkC^Pwe}Cd`!oT;xzn||e2S!|PWU!xZ?fEBUzE=iPsWu0OX@kaPctzhU1s`j* z{tFiMsqN2m?0IswI~;7Z@6tC|q50pP!i%>YoRbc~r}t4en;seHBb?ez3ULb0X1HyV z(j8ZlQwJqj593o%(GSpFr#A<*eIl)@i4e`n8y(3*XY+RR~_?*sWXYAw`X{g|6w*s zKYqmV%-MAYxv?EliG}#TsdBd9xexow2n}mmcsv-%P~c=rBxCm6bPU+5mQH@|B`B=#^qmKeC(LM-=|*unds0( z;K~#54?+$JmgfHv*+q5$OtXp$r3sokA|b5h!5PgBz&5|B`JjsQAlw`M`+i3e*U|4n zz!+8kUi+`d^3u($4%bR7V8_zTu%2Zhl>evF{#G~J5k%$P9AAE*eq&9orV&fDl&?zt z%@R{8se2~8xGnf`B-=djSb4AH<&WN<8k3yi{t^!ysdC`?8scsSOeN?@9XIxwn_~V9 z#c6NpYYJ)K!>dEH#rth`dzg*LFF@HBt@fvGVdv~rECVe{t&9@US zhI}8F=|50q>TunfGJps`uy|YpumJ?qJx6VcI64J*rXHe$*YHnw&}hq#0V@K8-}Y}4 z;T}h^T`r)Dg^5pLQ4mIu9=1xTcu{y7e=|Wr>`uGszz&uQkqYkd{`1{y>k(T+zCe%& z-NSQd*A1L&g(#^t3Av>j?M7OtohEl8a1FcG$6vfA(xl1mflXO!fL+c zoI?s#>X;k##3Mb5XuO)HR;O7^jEp&aIrqdJ;@`qXc(oTQ#HDi+TK3H|5$>wC1uQXa z5*)@aZ-MV5LV9E)7Jgi*$}kh%|AZ*ZS*l5I3N9ofgH9<6Gh2p1igmc4k?x>uOz1YT zBnBbw*+L(lbDFa%2~Wy&W{9o_I5y8m`pSb1ee3?Y>>GOmd{=eLyod&B13AN>UGcB) z1@C}A$eMO3f-A@lpLBmvE>deBnS_VCgJAT~KJ0tEG%QTFrvbKbNrCQ*)$Fxfc)7ar z1a=GLmOyq$Z3i zy|OlywU=5RkBBvcUXyyg;W*C&&m`%YFd%T{86m~;QZP6bb@bG7EC{7r{}q>>fSwb!v~nlnr^vB>yq5kJ@EaH* zRE(-V8ANJd)g@XNf*wJo=R|~RQVSXnX!y1S0voF0M9==E@Jpz$AoY= z7F0mQxdmy)LOq39JwZWDAJY`OT3q<+`3$wsM(R`dfJP&E4LhPor zj;fMwLrhq@7ml8;ZFr{KZT=RvA3N+4BJwOR;#29HTvOoXWaVS9GB7blwKC(r_x|Ph zEOz=W!^11K3-`cICR2cSq9Cpra*ot8?lg&>35ITwuOEU|VNa+v< znMQ;WVj8i^GB~Bl}6&^(os&b`Y=Io*$|pil+egI z{YM^S5{xS#&q`d6RUZNJIzAWBtp9Msn@@Nc5{7iFl4ntQ@3@hgS)+&k6BI}TXSat! z!6D!=gmbWm^%4iqvN}{rQ`wNp{=;vET~II-HVXEl**Z9EGBYJ6?p~PBfn-kDTw&G zKqu)k7F4$=L607I5hySYFN~kYi@x`4Qwnfj1My0kWDQ1HAPU7*V8)0bb@Dl3#ToYs zxim-E;EWTR-<^=>k*_r**xNk!n*4ELu<$nWHm$%Vq1r%+14&=Z0lLZK%XgIh0SOIK zfA4p+8K4qD+Jr^qCtA3UO*nOotA9(*X zW^ZORb4rKn-O2Xq(sW|^`S68Yb@hFCuS}5LQAo?n_|7XGy$#EeXChzUNB^=;OjWr1 z`^e*f!>oT0<9_~oPr(v;kV)U;cI}2h{$IMa3eL6}1A>tthdb_K1iwgue@>wOu#HRf;{;!eF#$DMOq`$2Xyzq6-%+{^NsY0m35(%8%X z0(OEQp;iQIYk`fbaOA1tMZ0wdl*>V&DIp?zhjq4#A-YA90W&(U=oe>=wRN~^vg^my zs+2C@zR}vz>U2~t3PZo3j8iN56e{Gp$dRD^<}bvN`=4=D zYfeS(--HPAM7U!L8RfPP&g0&&*My7v{>fLT8F&zqwYbPwW=^TThh?f+T_{g-{Zp!U zIEIcod%+7k;a#LeX2mC^wY`kCAQ`nhEJapnrLAvM-{ZARPpMbslSHeT6IA z{nV-kLeygzOt)?Kst z!>z>LSY4_u=9En6CC4Y7Gf!o?fynu#P-l>j&U(FE0^8lD`>S?Lfz2IZprL8yRTO;K z@5JAJ$khOOSp_eyQc9P@gKlH^5nyr|Sn&fc3ilLaDffyyOe&wE5Ypxl8VpvCi{Zu~ z#DMV=AHH4^4D8hii(KipdD(Du)mpy?3RDR@KK;%u-p%ybj2#*NTKq^D%zJ-Nynn0g zXHQtZAQ~4$B{|T&e=VNj^H;1gd74N8a3% zI#ybr&XCx-Dae;V5OtXgj$P3~4}*RFt7U|A=I?kOn6V14)8wmcQ)=tj5R6m>ocFOj zD-G~$;rCw-$yTz-Z(KUYf3SA`H~GA#>(}$|#BG<#94z6hZ(hoauNm%`Cp*Xp=v+fD@>W_fPX*US#^kTB<5D%_X7u4eJvj6&J9kjM4$_fCr2A|{s{U^MdEav` z=V#e#E~%;bMObbsQXV#9(xhmKKt_tOUjWm zUI!^ujP8nBh8hhNxZ5L7k{jwYR(cr& z=>nm6{btLqJ(rUcP30VhFd&*;;XzXnp1(4Wy_?i_td6!JW8b{w700r3;*_nw6>zWuV$k>u-8Wr*eJeZ zd!{qCo9!R%*bJrQ_e6Khi)P1kSPFTl!zm(hn6yxyO4tv>E6<&$%*r!Q^7PCND-V53EMfoPU!2L-^Jg0%!(|I|3ugKONql^Jm}{z zJnOQ%kBO;W(VC&~ch!06YL8?$!6@{o=rVy%#?kuT4Fbjm)S+cr(cz08m}`J!>380?Cf**hN_GwBPmFcQ85pEolfZ$p;q7gB_n?lAj+o{6Yso*NeaADb`zD+iV)Wgz# zV;@V%Qs<^U>K^!NJ((555l5*qtaCGGnZ9QHeUzosX%7UH5UvwSLQ}+zzo)^|wZ7$p z&ZXYJA3Dyzr%iawN=V(*VckpIkeYI=`ch(etm0^z9UG z;lL=Q3*erYl0dJaxn}qKYJ~}LK6m04W9LmWB72n-8uFCF|Br^4SnBsjLqDf9EH)n5 zp}6C^G<>iSc8PGkq{s5klD#aYU+D}vt{{%gdlFz| z&VYEiEQ;}F4$qrW&kwtb zifePM3wgR8U&G4YIU>paRh@gsbtd%yuO|bJx?<42YK!Ms4ZH1 z3htz=3e%?d%-Y}(J-e4t9cheFk77i&n!X7MyL+X_<6S7$nMUQx%Trxp%+|WuH7pn%g z{&Lyw9vz`Fk4$QiDoV_ZjC7Anutt`~DZdR*oiXONIxdbz)!Pb$<5jvjetmg(5lypD zSDL=$ge%B^aL+%(<)fDX?c1iH%RBckf)^m+mREt%@Er{xmhex)#Vjswr-Zq9xQ!1M zd#;)c8fVZLE$Q|4|lHTz(y5--+RI7!%t?k|jZ;E`=!h2Ujyx@&o9$KRrazbfM5n@BLGr9b)~jdD<-~}l`In-JZ>Ld#%fJrC z?tK#w_*q@z_g~Ze*UH1quViKp&jW*h*$=$`=o27a<4wZN@9KSxoWv`%=D~3B&MjY?nU!SMDTIB;Z9q0Ud z#@+k-?)qT))XUh{lFH75cdmXukn^Wq4VOb$75kafu(p@W(_riLRJEwj2iftXF18XW zg46$d$k-A@m>@;m6r$8CG{!Ha?y~-kJR^DBUNcEqB)6+?Qd7SaPS+AVezhV9-D@$? z$iQW^eJgpQ%>HT!D=Fi0W?lbp(jY*;?WVr z3FegL9E&xG^x?bG5UTqx|0YL%uC7#;qwv{EV`+T(KgI9uCx0EYsFnR2r zz3k7UABDLk8&vPqegLiz$lT^a#f(k2eyB8HCr4(Mgcg7 zxqOTw$6%wCFpSq*=S&p*9r_UF=oLZyV`t(wD$4yzVFU}+>&YtF>}cZ=VsZR$peStq zVwp-N359=B%ZAHHbrzreQ@_KtpN~0SptoDH3QOK|mj*r2J3+(Zd0=%AeZ*AI*Q0@} z&m#Ozv_|^1O7dk?&`jTft<6vVNG%>9 z46oyC=PnAS^FhQ46Jxoy;)QkZX^uYPa&b-GcpejApP-Gu4R;uay-o`=z(ipiK)SI7 z^TBnXpYs2>phfOTD=je)%mvJAsQAi7jvmi+RKt$1BV5sAV{5TAx^M2+PXs3;y7yc2 zn^yuDq(#JtwaNH_Cj6+UZ{T|BHo6T^-TdLd=<;{UHom0ya`NIJ88FF@IE>;T`emhM zU#N|4D&*}ND6E%s8Eh!VEmZ8pz0zNW7EStCIxr3aHQ#mdD=+*w$KE5chb}Wa?}19L zTvPejE+`ZK8xL-KJ%EnvwKid1#6ZdpQ|M@!o))t`qX$84u$#k!vU`ARu*+$IC$W?J zu+QIa6lT#1C%zYh=4!mmq*IKN$YzjZTCFW*UOK2_^tkG|3QG@SO*2 zsTW(CGLB}V<>@K|2tb_|U*w$U#{95AOuhXv;9st14w0COG;i=7^;C~>Z{G#y>){XZU`|OqQ_X1*GMfr;{P8hJv zHbl)KL1<)fJ@vio8Y`_u{tl;Q_*4F8wirG&rvrFl&Umo~eo>j#_}uoGS<2NnvgQ6a z=1DdOMTHS3E+oGA%1?QmaV$*U1h1p5FmSk|381qW$p^RLK<0SX%{lnWe0H)`(r<)M z8riO&9eS34xv{vCO73)wcPHBH&mv<>A)d=RgDXp6Ed~NYt}4=wa?az{N;ez+MrZHI z^CfhQZ0z z#Y^=M7Kg&Oc~Rei7V4^<;p*a;#=y;QsgRbXR2M?J?Oi9~j>TnE6UWJzxk=U0{9KtM zLV12~QB&@I5pJ%Dsf}uof&tqy3KeCW_8E__Qpn|y9~PE{rnE_CL=#8v=AG`GlZQu# z3!-~h9dA5s<2qqn`4Q;8AGkQ%`&jT4Q=3wG`xT2e-)6_<1J%+w74E8P`_hOIxM~`l7m5pNSAVo(4Jky55 z1_W&&tRLFG7LKmcy_zPBC$r6rTdJxHHWJ7%>9~+mFUJyPDfv22;XpM@cMl42b7*%j zAgb(MGUHQ?Fk+B(eQ6uarCc=QrIuUfO)ask zLjRI0!ec_E3fuh(Sar9hLN3aFW@{}C&S>MGEgR4_wl=*$yd@wd^;kVO+sYf__t@xf zK3ihyo73Mb-zCm&Zq813(!d*PMt-xBzB1DO*Z<7z_f(9PPbPmeXA6m|F!{gU3~m~k ztd_B#V3*&MU=R-|WCveKDQa`(XAGN!RLWJo)4d14>MHf8siv=$s%}I7Jk2`^8avvs zy!#XTQ-tqyJ9e9Ijc?G`ggEoA;)zL4pjBW?nhN7}Tc^nnDu9>4?;&mj*oYdQgC*Tv zKXsj2aKvjm!n5Isw$D^i`3_$jS=mC?>i}}q`}?jKXoL(b%TbeM_TQci#M$^mgvr5g zit!=U6~MVu+~nEyME+d#`vW8sx%S;H3%LM6tEO@(?~kv>(n~V`UkkuYUl+B_gE=Od zN$2riL*5KQ#am&&lD&4r_sf%R)y%N7YqlUTvWv<36)3wK40@xyzyqL~=RwV$yJans z(!S8xAtU*^NikLNZ1OeiYIc^qjpDP}-qxEU^vN;0R5*(RG?Yq~tI~x`%%RsdD2en? z+qGR-YEXcruMzzo1cS;zH{19$i&YfK8nn13nfKh3GNZqNQt(GY;|qC%wwm^Obk9WU zmGk+Nk3OcY@2Oq{nBqD5-3weIuZ4UslD@$m#R8sw8_&Xg+96@k!w$6H0N|M&kbml} zt?ywY)cYtnah*I)y^XukWydnt>Ciie^tkrVba)_TBpT@P^uoe|-?VGXzEL*RUcodV z=VBmMg+?8W#k3oKA1OE2g#Xkz(K6WCC|D9Xy|I!J*i1F%c*Y@66pvvEu;6O=6E8UO ztpdVB+=t z3=?&1plHOoWevW60$hMIs(%5~yYKI$p|5wqqFF{}-M49KDu(Y<1s{F*Il`S;*}65~ z===uAU-SKqh5LDxqiXmLXCU5`3Hi!4$R3}4*OOt`P`kI2Ii1?M{*o?(l!^Rkg_=^O z8Vc~QN_T{l_Ot6+@+#TG51S~(1vADd2kS{0=Q}0)0(i%UtZ@@o{j=fZ$@pk>l2+6) z8INRZc}{6c(@CV)T2*Gc5m5ynm)R0*l;B$tCp)`DbgIT>nHj~A_tmE^Gv^RX+Q-lI zz(3_U&RG^s1ztVL2;rdO%%gu!bR-aCby7A{9ch<&Gd(iXe=ig}AW>rr3Lx>uk(DPq zdVgo9zk55#prrRpBtGd2X=MMyGJ$_6s57Lm8LDkV%bw=pC&H~(3_Z(QM3BfWfG)?(!l4*h=hmi~dTs*J~Wf z_NMyph~D_jQUc>j4BVF3DAZcA;%V;=<|o~@Y7@@45Mz+uNVt+n>tKyWpq#VKxr6|I zgmS~#2#MI*$NdTDZX$dsv>Ngl1_|nSTNku@6S}J|wOWp3f6@u7G0?TC)H$))Ou@K(%FoL*E%+;PT`>;KqL^*&!^qR=F5 z>>%cCzy~Cn`va=20incCb^7Y1O)`grB{MvHe{sRGYlU|JtfTiPj`2#BLx{o}H!Wr= zE5x$UGw{(7F0UTPJ8Jt6elIxQVH+^mOWF2OBz~@u8wG<7UR3SK2zPhAq@sW6XYe;5 zvq}@qm9#v3%gc=;>x=TN{*mwuu&m>`%dcnR3zdPo+`dvd3;Y+#iXl^B=*9WxMuvZ{643K8_$FW9HC7 zF96uwq!KgkqXTU`X~DUK^%&^8RxWPq8|CyE5d~hNtEgq_(sk6`I8)g<{_T$hJ=}R} zd#U1Om%Q;`{xVQFF=){*adJ2oNYaeWCTA~x1OVV((lQwn-OIX3z1#j$hzXzsGRhk# zP%bj{io|i0H!n8i?!(CdV?WCim+#d?2hC$Q)7Y~SFWcmeci;r@TL2x9QrB(t*lL6l z#Afc_GDCm(gOKS{j3x8(8%-ab3q_8a_Z;p7!?e^GlDH@{WywXkP8-=6_>OAc_*95R zC_M$1$Jo*Pxljya@Fvp^!4E+~G?Uj$c+B=h8PqCP0+lt?)6+FwiA*Y#<+$1@kkM&& zVUa1j;IZFcd=i?m??N+NWb>uwrxR$=!>_qC%uSLv%7#zzzvG)faqzsgyo-yI02B8ajTl9xKuz>+< zv&t)`yaYuKceX_=bFLN{VGIsg4AW#Cfp_%M)me6MS+T<&ZnLmYB;hSxy?!3Ri)UOUbj}ZS^`- ze6{C8WI@d*$7F-8Qw_)E7JZKG&LB`Xk$t)AJeDeNZbTQERswwPnTK#%R>DqULNO#4 z!{L}1X$xWH%=?u9PfvuiKg%;cr?#mv6TNlidcc*O-h^%$cDrq`Z~nN ze$4#HLGUC`w+0d=l`Q`CCD1;)ujABh^`Oi9XyrJnyRAfcFq-xtPSVO0w#XM_JT(Cu z-5kcId7^z^0fjaWCRQYXYlL_>_BAWSEG@-6iVIOLTKYAxJ7)zx$8V+i?XSU_Q)IG1SS!NKH*ZYZb$HH#-Vr zAG>0R`&;rn&~#_NDvAbulfr?zpZ)NHJKp~|hv~s>#bF3W)bCD|d!gqj_Gaj&BaVm%b_EWI1HAm8RQ=SC`MO1Z~bjeB@yScu0W=i{M1D@fGMbM#CN9H ze)V&e9z#Y{+=89R;l`Q7lIie&8rotV(%)wq3c~7;f;9<5J~jR8 zBPyTxl2F4@OojVl^e+7=U1mio2mqEF#U21NO3nV`FAF?(q;__$y*iWy%Hxc0r!wN| z{=pK)x@`~o$)9edG9|N}TY=4;!FI;$n?m}ZO4WNG$ewPCbKB(pd5QclN%Z1Pd@&4e zI*G25wtc+N5k_w7N_m!`>ZIh|MNfdTYzJIYI~6&u0t`t7NR71P++{8kts1 z6vf4&4@GX$Zy%Ag)bLIh2V>^@ocq?E)1uE3hWYM6KnF}CB5U^q0otU61LCY_7^^_# z05K_!iE@U_jsfD8n)1pO^xZX*f{w;*W$aZZP=hIQSW2Jc2^^&7jIlF9Eedw))Gw@4 zJLVhQ$(+q=8X>52*S8DKdcj+ywm$luv%bdTd3eNTMB*nHp0g9?`q3`oS#Y~ zjGuCGn9nj)UHwA`5Y#>cZ;nG3s3&tilo~IUx)UER33WODdrbX6h5k9>X*BytA%WRx zRwQ&EU@uK`SV64VSsz^Wlji1hYS;cMlP)uT2xqB`u$DF;Z$3wKKSsAi56J>7XBw3i zW6wX+^q>CGxM|YGIHw0X8hPZelU#+nOV^j6U z3uC45%C{}v2Y{=&Y%ElLE`8PZP*Xl<{LU!6;_&saes#oyHESRpuYY#40C?AdgG>E= zH4F88jkgoUxW&K3=f6z0nZ#l5F&Or|O!|W!BqKsiHaMshTrN%JI~w`(PoHEM5PXQq z{8*9$$>>3DI)EyTs>U?S7R0EqzQ%rKbp2^*Zk={qDbM|*u=|*1VRD>Y%bC`WC99^v zj-~$MB2v2c-+C2ls5C|dcQPr*r^alulwDyT*#wA}Ph@JLYh<%RrBr-Np`MgnR(~8E zwvr={oJ2XT?TwU{`b4WSnW(tm-vN8D@@!yys=L*!(1)l)u~$BEu3ClGT` zWQY=^0YYmj?+fP`TCY$6S@;ILwAJgiJ{w+xZ}o(&Gd_XZe+3=?%O%90MYyVSq2<^epSM8{^gcZZ+{u<0!MN9vl3G{t= z*|*aKcx>u$4;iCYRB$V!BSV-{P6c^AmKWD(nsT5R=nzDnmT@@UEPZ-Vwy@k5HST40 zW*HvJ285C?DH{G}S{u-GeV6v>`)cbiAGCN7JvrZ+ti?3^j=1$t{}QqPQPwbe3aa{?RS%7KVL?HHH}*hSEitY_mgGsnO|viUXKMhToKjlapa}v;8R5D4@LwM zmIllN5L(&9t^rTD@>(XKL0TyH|DbBL)<`4idn|t-;TmNOWJh#q_vLYm5KK`UsS{!>^WtHy^@~|@9l5nZ~prDZh>GC-%C@z^--K< zKr83ts}3KdaL*T^EVNVoCaTC;?#qbDMYOLG`uhTwC8K>~P47xxKl@ls-eT{}Y&
W5wCA_HQyVBc2zuINqgH89!a!#_~vJty-~9t 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

uRrutK00x`GIOVIo5(hEM+_`SLf5T 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 literal 0 HcmV?d00001 diff --git a/resources/js/cookies-consent.js b/resources/js/cookies-consent.js new file mode 100644 index 0000000..4a3ced1 --- /dev/null +++ b/resources/js/cookies-consent.js @@ -0,0 +1,122 @@ +import '../scss/cookies-consent.scss'; + +document.addEventListener('DOMContentLoaded', function () { + const acceptAllButton = document.getElementById('accept-all-cookies'); + const acceptSelectedButton = document.getElementById('accept-selected-cookies'); + const rejectOptionalButton = document.getElementById('reject-optional-cookies'); + const cookieBanner = document.getElementById('cookies-consent-banner'); + const cookieButton = document.getElementById('cookieButton'); + const showFloatingButton = cookieBanner.dataset.showFloatingButton === 'true'; + const useSeparatePage = cookieBanner.dataset.useSeparatePage === 'true'; + + // Check if preferences are stored + if (getCookie('cookieConsent') && !window.location.href.includes('/cookie-policy')) { + cookieBanner.style.display = 'none'; + if (showFloatingButton) { + cookieButton.style.display = 'block'; + } + } else { + cookieBanner.style.display = 'block'; + if (showFloatingButton) { + cookieButton.style.display = 'none'; + } + } + + acceptAllButton.addEventListener('click', function () { + handleCookieConsent({ + necessary: true, + analytics: true, + }); + }); + + acceptSelectedButton.addEventListener('click', function () { + handleCookieConsent({ + necessary: true, + analytics: document.getElementById('statistics') ? document.getElementById('statistics').checked : false, + }); + }); + + rejectOptionalButton.addEventListener('click', function () { + handleCookieConsent({ + necessary: true, + analytics: false, + }); + }); + + function handleCookieConsent(consent) { + fetch(cookieBanner.dataset.ajaxUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content') + }, + body: JSON.stringify(consent) + }).then(response => response.json()) + .then(data => { + if (data.success) { + setCookie('cookieConsent', JSON.stringify(consent), 30); + cookieBanner.style.display = 'none'; + if (showFloatingButton) { + cookieButton.style.display = 'block'; + } + } + }); + } + + window.toggleCookieBanner = function () { + if (cookieBanner.style.display === 'none' || cookieBanner.style.display === '') { + cookieBanner.style.display = 'block'; + if (showFloatingButton) { + cookieButton.style.display = 'none'; + } + } else { + cookieBanner.style.display = 'none'; + if (showFloatingButton) { + cookieButton.style.display = 'block'; + } + } + }; + + if (!useSeparatePage || window.location.href.includes('/cookie-policy')) { + document.querySelectorAll('.accordion-button').forEach(button => { + button.addEventListener('click', () => { + const target = document.querySelector(button.dataset.target); + target.classList.toggle('show'); + }); + }); + } + + // Clear cookieConsent when navigating to the cookie policy page + const cookiePolicyLink = document.getElementById('cookie-policy-link'); + if (cookiePolicyLink) { + cookiePolicyLink.addEventListener('click', function() { + eraseCookie('cookieConsent'); + }); + } + + // Helper functions to manage cookies + function setCookie(name, value, days) { + let expires = ""; + if (days) { + const date = new Date(); + date.setTime(date.getTime() + (days*24*60*60*1000)); + expires = "; expires=" + date.toUTCString(); + } + document.cookie = name + "=" + (value || "") + expires + "; path=/"; + } + + function getCookie(name) { + const nameEQ = name + "="; + const ca = document.cookie.split(';'); + for(let i=0;i < ca.length;i++) { + let c = ca[i]; + while (c.charAt(0) === ' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length); + } + return null; + } + + function eraseCookie(name) { + document.cookie = name + '=; Max-Age=-99999999;'; + } +}); diff --git a/resources/scss/_variables.scss b/resources/scss/_variables.scss new file mode 100644 index 0000000..144a23b --- /dev/null +++ b/resources/scss/_variables.scss @@ -0,0 +1,12 @@ +// Custom CSS Variables +$gutter: 1.5rem; +$primary-color: #0d6efd; +$secondary-color: #6c757d; +$light-color: #f8f9fa; +$dark-color: #212529; +$border-color: #dee2e6; +$border-radius: 0.375rem; +$font-size-base: 1rem; +$font-size-small: 80%; +$h5-font-size: 1.25rem; +$checkbox-size: 1rem; diff --git a/resources/scss/cookies-consent.scss b/resources/scss/cookies-consent.scss new file mode 100644 index 0000000..6df2965 --- /dev/null +++ b/resources/scss/cookies-consent.scss @@ -0,0 +1,487 @@ +@import 'variables'; + +.cookies-policy-body { + color: #222; + font-family: Roboto, sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 1.6; + min-height: 100vh; +} + +.cookies-policy-body.banner { + min-height: auto; +} + +.cookies-consent-banner { + + button, input, optgroup, select, textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; + margin: 0; + } + + // Container + .container { + width: 100%; + padding-right: $gutter; + padding-left: $gutter; + margin-right: auto; + margin-left: auto; + } + + // Row + .row { + display: flex; + flex-wrap: wrap; + margin-right: calc($gutter / -2); + margin-left: calc($gutter / -2); + } + + .g-0 { + --bs-gutter-x: 0; + --bs-gutter-y: 0; + } + + @media (min-width: 576px) { + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + } + + @media (min-width: 992px) { + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + } + + // Button + .btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: $font-size-base; + border-radius: $border-radius; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-light { + color: #212529; + background-color: $light-color; + border-color: $light-color; + } + + .btn-light:hover { + color: #212529; + background-color: darken($light-color, 10%); + border-color: darken($light-color, 10%); + } + + .w-100 { + width: 100% !important; + } + + // Accordion + .accordion { + --bs-accordion-border-color: $border-color; + } + + .accordion-item { + background-color: #fff; + border: 1px solid $border-color; + color: #212529; + } + + .accordion-header { + margin-bottom: 0; + } + + .accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: $font-size-base; + color: #212529; + text-align: left; + background-color: $border-color; + border: 1px solid transparent; + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + cursor: pointer; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .accordion-button:not(.collapsed) { + color: $primary-color; + background-color: $border-color; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); + } + + .accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ""; + background: no-repeat center/50% url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); + transition: transform 0.2s ease-in-out; + } + + .accordion-button:not(.collapsed)::after { + transform: rotate(90deg); + } + + .accordion-collapse { + border-top: 1px solid $border-color; + } + + .accordion-body { + padding: 1rem 1.25rem; + } + + // Form check + .form-check { + position: relative; + display: block; + padding-left: 1.25rem; + } + + .form-check-input { + float: left; + margin-left: -1.25rem; + width: $checkbox-size; + height: $checkbox-size; + border: 1px solid $border-color; + border-radius: $border-radius; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .form-check-input[type='checkbox'] { + border-radius: 0.25em; + } + + .form-check-input:checked { + background-color: $primary-color; + border-color: $primary-color; + } + + .form-check-input:focus { + border-color: $primary-color; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba($primary-color, 0.25); + } + + .form-check-input:disabled { + filter: none; + opacity: .5; + pointer-events: none; + } + + .form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label { + cursor: default; + opacity: .5; + } + + dl, ol, ul { + margin-bottom: 1rem; + margin-top: 0; + } + + dd { + margin-bottom: .5rem; + margin-left: 0; + } + + dt { + font-weight: 700; + } + + b, strong { + font-weight: bolder; + } + + .form-switch { + padding-left: 2.5rem; + } + + .form-switch .form-check-input { + width: 2em; + height: 18px; + background-color: #adb5bd; + border-radius: 1em; + position: relative; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + + &:hover { + cursor: pointer; + } + } + + .form-switch .form-check-input { + --bs-form-switch-bg: none; + background-image: none; + } + + .form-switch .form-check-input::before { + content: ""; + position: absolute; + top: 0.125em; + left: 0.125em; + width: 0.75em; + height: 0.75em; + border-radius: 0.75em; + background-color: #fff; + transition: transform 0.15s ease-in-out; + } + + .form-switch .form-check-input:checked::before { + transform: translateX(1em); + } + + .form-switch .form-check-input:checked { + background-color: $primary-color; + } + + // List group + .list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + } + + .list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); + } + + .mt-3 { + margin-top: 1rem !important; + } + + // Typography + .h5 { + font-size: $h5-font-size; + } + + .small { + font-size: $font-size-small; + } + + .m-0 { + margin: 0 !important; + } + + .pt-0 { + padding-top: 0 !important; + } + + .pb-2 { + padding-bottom: 0.5rem !important; + } + + // Definition List + dl { + margin-top: 0; + margin-bottom: 1rem; + } + + dt { + font-weight: bold; + } + + code { + font-size: 87.5%; + color: #d63384; + word-wrap: break-word; + } + + + /* Accordion styles */ + .accordion { + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + margin-bottom: 10px; + } + + .accordion-item { + border-bottom: 1px solid #ddd; + } + + .accordion-header { + margin-top: 0; + padding: 10px 15px; + cursor: pointer; + font-weight: bold; + background-color: #f7f7f7; + } + + .accordion-button { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + background: none; + border: none; + padding: 10px; + cursor: pointer; + } + + .accordion-button:focus { + outline: none; + } + + .accordion-collapse { + display: none; + } + + .accordion-collapse.show { + display: block; + padding: 10px 15px; + } + + /* Form switch styles */ + .form-check { + display: flex; + align-items: center; + } + + .form-check-input { + width: 20px; + height: 20px; + margin-right: 10px; + } + + .form-check-label { + margin-bottom: 0; + } + + /* Button styles */ + .btn { + display: inline-block; + font-size: 100%; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + user-select: none; + border: 1px solid #222222; + padding: 0.375rem 0.75rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-light { + color: #212529; + background-color: #f8f9fa; + cursor: pointer; + } + + .btn-light:hover { + background-color: #e2e6ea; + } + + /* Other styles */ + .cookies-consent-banner { + padding: 20px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + max-width: 800px; + margin: 20px auto; + } + + .cookie-actions { + margin-top: 20px; + } + + .cookie-button { + position: fixed; + bottom: 10px; + left: 10px; + background-color: #f8f9fa; + border: 1px solid #ddd; + border-radius: 10px; + padding: 5px; + cursor: pointer; + + img { + width: 40px; + height: 40px; + } + } + +} + +.cookies-consent-banner { + + #cookie-consent-title { + font-size: large; + } + + background-color: #f8f9fa; + color: #000; + padding: 20px; + border: 1px solid #ccc; + border-radius: 5px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + + /* Query for mobile */ + @media (max-width: 575.98px) { + width: calc(100% - 20px); + left: 10px; + right: 10px; + } + + .accordion-button { + font-size: medium; + } +} + +.cookies-consent-banner.banner { + position: fixed; + bottom: 1.25rem; + left: 1.25rem; + z-index: 1000; + width: 550px; + display: none; +} + +.cookies-consent-banner .cookie-actions { + button#accept-all-cookies, button#accept-selected-cookies { + /*Query for non-mobile */ + @media (min-width: 576px) { + border-right: 0; + } + /* Query for mobile */ + @media (max-width: 575.98px) { + border-bottom: 0; + } + } +} \ No newline at end of file diff --git a/resources/views/components/_cookie-categories.blade.php b/resources/views/components/_cookie-categories.blade.php new file mode 100644 index 0000000..3e970fd --- /dev/null +++ b/resources/views/components/_cookie-categories.blade.php @@ -0,0 +1,107 @@ +

+ + +
diff --git a/resources/views/components/laravel-cookies-consent.blade.php b/resources/views/components/laravel-cookies-consent.blade.php index 6ec2081..59af21a 100644 --- a/resources/views/components/laravel-cookies-consent.blade.php +++ b/resources/views/components/laravel-cookies-consent.blade.php @@ -1,51 +1,53 @@ -@if(!isset($_COOKIE[config('cookies_consent.cookie_prefix') . 'cookies_consent_selection'])) - -