diff --git a/environmentVariables.js b/environmentVariables.js new file mode 100644 index 0000000..825ed8d --- /dev/null +++ b/environmentVariables.js @@ -0,0 +1,10 @@ +module.exports = { + environmentVariables: { + '--xsmall-viewport': '480px', + '--small-viewport': '640px', + '--medium-viewport': '768px', + '--large-viewport': '1024px', + '--xlarge-viewport': '1280px', + '--xxlarge-viewport': '1536px', + } +} \ No newline at end of file diff --git a/package.json b/package.json index 96f42fc..17acc2d 100644 --- a/package.json +++ b/package.json @@ -22,10 +22,19 @@ "@types/node": "^18.11.9", "@typescript-eslint/eslint-plugin": "^5.42.1", "@typescript-eslint/parser": "^5.42.1", + "autoprefixer": "^10.4.13", "eslint": "^8.27.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-svelte3": "^4.0.0", "just-debounce-it": "^3.1.1", + "postcss": "^8.4.19", + "postcss-color-functional-notation": "^4.2.4", + "postcss-custom-media": "^9.0.1", + "postcss-env-function": "^4.0.6", + "postcss-import": "^15.0.0", + "postcss-load-config": "^4.0.1", + "postcss-media-minmax": "^5.0.0", + "postcss-nested": "^6.0.0", "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.8.0", "sass": "^1.56.1", @@ -47,6 +56,6 @@ "feather-icons": "^4.29.0", "svelte-lazy-loader": "^1.0.0", "zod": "^3.19.1", - "zod-to-json-schema": "^3.18.1" + "zod-to-json-schema": "^3.19.3" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8da28f3..0c6046e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,12 +15,21 @@ specifiers: '@types/node': ^18.11.9 '@typescript-eslint/eslint-plugin': ^5.42.1 '@typescript-eslint/parser': ^5.42.1 + autoprefixer: ^10.4.13 cookie: ^0.5.0 eslint: ^8.27.0 eslint-config-prettier: ^8.1.0 eslint-plugin-svelte3: ^4.0.0 feather-icons: ^4.29.0 just-debounce-it: ^3.1.1 + postcss: ^8.4.19 + postcss-color-functional-notation: ^4.2.4 + postcss-custom-media: ^9.0.1 + postcss-env-function: ^4.0.6 + postcss-import: ^15.0.0 + postcss-load-config: ^4.0.1 + postcss-media-minmax: ^5.0.0 + postcss-nested: ^6.0.0 prettier: ^2.7.1 prettier-plugin-svelte: ^2.8.0 sass: ^1.56.1 @@ -32,7 +41,7 @@ specifiers: typescript: ^4.8.4 vite: ^3.2.3 zod: ^3.19.1 - zod-to-json-schema: ^3.18.1 + zod-to-json-schema: ^3.19.3 dependencies: '@fontsource/fira-mono': 4.5.10 @@ -51,27 +60,61 @@ devDependencies: '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.53.1 '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.53.1 '@sveltejs/adapter-auto': 1.0.0-next.90 - '@sveltejs/kit': 1.0.0-next.570_svelte@3.53.1+vite@3.2.4 + '@sveltejs/kit': 1.0.0-next.571_svelte@3.53.1+vite@3.2.4 '@types/cookie': 0.5.1 '@types/node': 18.11.10 '@typescript-eslint/eslint-plugin': 5.45.0_czs5uoqkd3podpy6vgtsxfc7au '@typescript-eslint/parser': 5.45.0_hsf322ms6xhhd4b5ne6lb74y4a + autoprefixer: 10.4.13_postcss@8.4.19 eslint: 8.28.0 eslint-config-prettier: 8.5.0_eslint@8.28.0 eslint-plugin-svelte3: 4.0.0_xgu65rlhscpnxffotiaicv6m5i just-debounce-it: 3.1.1 + postcss: 8.4.19 + postcss-color-functional-notation: 4.2.4_postcss@8.4.19 + postcss-custom-media: 9.0.1_postcss@8.4.19 + postcss-env-function: 4.0.6_postcss@8.4.19 + postcss-import: 15.0.0_postcss@8.4.19 + postcss-load-config: 4.0.1_postcss@8.4.19 + postcss-media-minmax: 5.0.0_postcss@8.4.19 + postcss-nested: 6.0.0_postcss@8.4.19 prettier: 2.8.0 prettier-plugin-svelte: 2.8.1_3ndnxlh52lolrqe4kgjgbxb3xa sass: 1.56.1 svelte: 3.53.1 - svelte-check: 2.10.0_sass@1.56.1+svelte@3.53.1 - svelte-preprocess: 4.10.7_xysbxxmdqcznjs3sfrwdyjxdzm + svelte-check: 2.10.0_lae5lhfxexyizvi5yxbuu4veoq + svelte-preprocess: 4.10.7_lucnjuyigjdgzzplgxx36nk3ki tslib: 2.4.1 typescript: 4.9.3 vite: 3.2.4_clvymlzunojxjbv3h6i2warera packages: + /@csstools/css-parser-algorithms/1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu: + resolution: {integrity: sha512-lPphY34yfV15tEXiz/SYaU8hwqAhbAwqiTExv5tOfc7QZxT70VVYrsiPBaX1osdWZFowrDEAhHe4H3JnyzbjhA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^1.0.0 + dependencies: + '@csstools/css-tokenizer': 1.0.0 + dev: true + + /@csstools/css-tokenizer/1.0.0: + resolution: {integrity: sha512-xdFjdQ+zqqkOsmee+kYRieZD9Cqh4hr01YBQ2/8NtTkMMxbtRX18MC50LX6cMrtaLryqmIdZHN9e16/l0QqnQw==} + engines: {node: ^14 || ^16 || >=18} + dev: true + + /@csstools/media-query-list-parser/1.0.0_oycmb73qbeg4xspzoh5ywrqikm: + resolution: {integrity: sha512-HsTj5ejI8NKKZ4IEd6kK2kQZA/JmIVlUV8+XvO/YS9ntrlYPnbmFT3rkqtbxOVfEafblYCNOpeNw1c+fKGkAqw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^1.0.0 + '@csstools/css-tokenizer': ^1.0.0 + dependencies: + '@csstools/css-parser-algorithms': 1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu + '@csstools/css-tokenizer': 1.0.0 + dev: true + /@esbuild/android-arm/0.15.16: resolution: {integrity: sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ==} engines: {node: '>=12'} @@ -225,8 +268,8 @@ packages: import-meta-resolve: 2.2.0 dev: true - /@sveltejs/kit/1.0.0-next.570_svelte@3.53.1+vite@3.2.4: - resolution: {integrity: sha512-7CUoYidoWlKdTGxL/5RsPPkgGTb36TwFBnhSZmspHFeiIST5qQEXyzqicFk8+4M5qQhxvOZ0NuP8uy7Pc+xf/Q==} + /@sveltejs/kit/1.0.0-next.571_svelte@3.53.1+vite@3.2.4: + resolution: {integrity: sha512-J+J0UXBiAh569l4ZxKm6eIZJS4lbcP8MgF9fU+DbVplCJ8nqo9wUmirUHZkJoBoB0FUlZSgA0R7N471MnUNNBw==} engines: {node: '>=16.14'} hasBin: true requiresBuild: true @@ -487,6 +530,22 @@ packages: engines: {node: '>=8'} dev: true + /autoprefixer/10.4.13_postcss@8.4.19: + resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.4 + caniuse-lite: 1.0.30001435 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true @@ -510,6 +569,17 @@ packages: fill-range: 7.0.1 dev: true + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001435 + electron-to-chromium: 1.4.284 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10_browserslist@4.21.4 + dev: true + /buffer-crc32/0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -526,6 +596,10 @@ packages: engines: {node: '>=6'} dev: true + /caniuse-lite/1.0.30001435: + resolution: {integrity: sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==} + dev: true + /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -586,6 +660,12 @@ packages: which: 2.0.2 dev: true + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -630,6 +710,10 @@ packages: esutils: 2.0.3 dev: true + /electron-to-chromium/1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + dev: true + /es6-promise/3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true @@ -844,6 +928,11 @@ packages: esbuild-windows-arm64: 0.15.16 dev: true + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1060,6 +1149,10 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -1260,6 +1353,11 @@ packages: type-check: 0.4.0 dev: true + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} + dev: true + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1364,11 +1462,20 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -1441,12 +1548,109 @@ packages: engines: {node: '>=8.6'} dev: true + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + /playwright-core/1.28.1: resolution: {integrity: sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==} engines: {node: '>=14'} hasBin: true dev: true + /postcss-color-functional-notation/4.2.4_postcss@8.4.19: + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-custom-media/9.0.1_postcss@8.4.19: + resolution: {integrity: sha512-CimS72gZZ0V4WPFg7t7EqFVLxJ0mqwAJSsuk+LNHSo9ApC7d/SuOr65sKrUY/D8locOh+3s4yO7IdqQ9cRSR7Q==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/css-parser-algorithms': 1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu + '@csstools/css-tokenizer': 1.0.0 + '@csstools/media-query-list-parser': 1.0.0_oycmb73qbeg4xspzoh5ywrqikm + postcss: 8.4.19 + dev: true + + /postcss-env-function/4.0.6_postcss@8.4.19: + resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-import/15.0.0_postcss@8.4.19: + resolution: {integrity: sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: true + + /postcss-load-config/4.0.1_postcss@8.4.19: + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.19 + yaml: 2.1.3 + dev: true + + /postcss-media-minmax/5.0.0_postcss@8.4.19: + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-nested/6.0.0_postcss@8.4.19: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + /postcss/8.4.19: resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} engines: {node: ^10 || ^12 || >=14} @@ -1486,6 +1690,12 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -1626,6 +1836,7 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /streamsearch/1.1.0: @@ -1664,7 +1875,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.10.0_sass@1.56.1+svelte@3.53.1: + /svelte-check/2.10.0_lae5lhfxexyizvi5yxbuu4veoq: resolution: {integrity: sha512-5iLCoja/WsithyRkNtIeDQ0euJlgWj3Zzo2IA6iuHMuuX9D9OrRYZj2WlA5ACnAFQnN5L9mxWcwUW9VxDNEoGg==} hasBin: true peerDependencies: @@ -1677,7 +1888,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.53.1 - svelte-preprocess: 4.10.7_xysbxxmdqcznjs3sfrwdyjxdzm + svelte-preprocess: 4.10.7_lucnjuyigjdgzzplgxx36nk3ki typescript: 4.9.3 transitivePeerDependencies: - '@babel/core' @@ -1705,7 +1916,7 @@ packages: resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==} dev: false - /svelte-preprocess/4.10.7_xysbxxmdqcznjs3sfrwdyjxdzm: + /svelte-preprocess/4.10.7_lucnjuyigjdgzzplgxx36nk3ki: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -1750,6 +1961,8 @@ packages: '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.25.9 + postcss: 8.4.19 + postcss-load-config: 4.0.1_postcss@8.4.19 sass: 1.56.1 sorcery: 0.10.0 strip-indent: 3.0.0 @@ -1828,12 +2041,27 @@ packages: busboy: 1.6.0 dev: true + /update-browserslist-db/1.0.10_browserslist@4.21.4: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.4 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + /vite/3.2.4_clvymlzunojxjbv3h6i2warera: resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1901,6 +2129,11 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + /yaml/2.1.3: + resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==} + engines: {node: '>= 14'} + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..01f5c21 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,19 @@ +const autoprefixer = require('autoprefixer'); +const postcssMediaMinmax = require('postcss-media-minmax'); +const customMedia = require('postcss-custom-media'); +const atImport = require('postcss-import'); +const postcssNested = require('postcss-nested'); +const postcssEnvFunction = require('postcss-env-function'); + +const config = { + plugins: [ + autoprefixer(), + postcssMediaMinmax, + customMedia, + atImport(), + postcssNested, + postcssEnvFunction(), + ] +}; + +module.exports = config; diff --git a/src/app.postcss b/src/app.postcss deleted file mode 100644 index 1c562ab..0000000 --- a/src/app.postcss +++ /dev/null @@ -1,111 +0,0 @@ -/* Write your global styles here, in PostCSS syntax */ - -@import '@fontsource/fira-mono'; - -:root { - font-family: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, - Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; - --font-mono: 'Fira Mono', monospace; - --pure-white: #ffffff; - --primary-color: #b9c6d2; - --secondary-color: #d0dde9; - --tertiary-color: #edf0f8; - --accent-color: #ff3e00; - --heading-color: rgba(0, 0, 0, 0.7); - --text-color: #444444; - --background-without-opacity: rgba(255, 255, 255, 0.7); - --column-width: 42rem; - --column-margin-top: 4rem; - --z-highest: 100; - --cardBorderRadius: 12px; -} - -body { - min-height: 100vh; - margin: 0; - background-color: var(--primary-color); - background: linear-gradient( - 180deg, - var(--primary-color) 0%, - var(--secondary-color) 10.45%, - var(--tertiary-color) 41.35% - ); -} - -body::before { - content: ''; - width: 80vw; - height: 100vh; - position: absolute; - top: 0; - left: 10vw; - z-index: -1; - background: radial-gradient( - 50% 50% at 50% 50%, - var(--pure-white) 0%, - rgba(255, 255, 255, 0) 100% - ); - opacity: 0.05; -} - -#svelte { - min-height: 100vh; - display: flex; - flex-direction: column; -} - -h1, -h2, -p { - font-weight: 400; - color: var(--heading-color); -} - -p { - line-height: 1.5; -} - -a { - color: var(--accent-color); - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -h1 { - font-size: 2rem; - text-align: center; -} - -h2 { - font-size: 1rem; -} - -pre { - font-size: 16px; - font-family: var(--font-mono); - background-color: rgba(255, 255, 255, 0.45); - border-radius: 3px; - box-shadow: 2px 2px 6px rgb(255 255 255 / 25%); - padding: 0.5em; - overflow-x: auto; - color: var(--text-color); -} - -input, -button { - font-size: inherit; - font-family: inherit; -} - -button:focus:not(:focus-visible) { - outline: none; -} - -@media (min-width: 720px) { - h1 { - font-size: 2.4rem; - } -} diff --git a/src/lib/components/dialog/ClearWishlistDialog.svelte b/src/lib/components/dialog/ClearWishlistDialog.svelte index 180ca80..4d29abd 100644 --- a/src/lib/components/dialog/ClearWishlistDialog.svelte +++ b/src/lib/components/dialog/ClearWishlistDialog.svelte @@ -1,14 +1,8 @@ - { - boredState.update((n) => ({ ...n, dialog: { isOpen: false } })); - }} - static -> -
- -
- Clear wishlist - Are you sure you want to clear your wishlist? + - -
-
-
- - diff --git a/src/lib/components/pagination/index.svelte b/src/lib/components/pagination/index.svelte index 6413515..e87ee5b 100644 --- a/src/lib/components/pagination/index.svelte +++ b/src/lib/components/pagination/index.svelte @@ -19,6 +19,7 @@ export let pageSize: number; // Reactive, bind export let page: number = 1; // Reactive, bind export let totalItems: number; + export let showItemsLeft = false; export let pageSizeInputDisabled: boolean = false; export let pageSizes: ReadonlyArray = [10]; export let forwardText: string; @@ -74,9 +75,11 @@

Page {page || 1} of {totalPages || 1}

-

- {itemsLeft} Item{itemsLeft > 1 || itemsLeft === 0 ? 's' : ''} Left -

+ {#if showItemsLeft} +

+ {itemsLeft} Item{itemsLeft > 1 || itemsLeft === 0 ? 's' : ''} Left +

+ {/if}