From 98baab4d0340468ab42801dff311478fc2c47643 Mon Sep 17 00:00:00 2001 From: venashial Date: Tue, 29 Mar 2022 00:44:23 -0700 Subject: [PATCH] Update docs examples + Add Select component + Add Card, Base, Title classes --- .idea/inspectionProfiles/Project_Default.xml | 10 + mdsvex.config.js | 3 +- package.json | 14 +- plugins/sveld.js | 30 ++ pnpm-lock.yaml | 505 +++++++++++------- postcss.config.cjs | 2 + src/lib/components/Avatar.svelte | 4 +- src/lib/components/Badge.svelte | 2 +- src/lib/components/Button.svelte | 10 +- src/lib/components/Chips.svelte | 1 - src/lib/components/Link.svelte | 15 - src/lib/components/Select.svelte | 204 +++++++ src/lib/styles.postcss | 7 +- src/lib/styles/classes/base.postcss | 26 + src/lib/styles/classes/card.postcss | 97 ++++ src/lib/styles/classes/link.postcss | 7 + src/lib/styles/classes/title.postcss | 8 + src/lib/styles/themes.postcss | 4 - src/lib/styles/variables.postcss | 3 - src/routes/__layout.svelte | 59 +- .../_internal/components/Example.svelte | 41 +- src/routes/_internal/components/Header.svelte | 2 +- .../_internal/components/Sidebar.svelte | 20 +- src/routes/_internal/layout/page.svelte | 37 +- src/routes/_internal/styles/gh-markdown.css | 373 ------------- .../_internal/styles/gh-markdown.postcss | 383 +++++++++++++ src/routes/classes/Card.md | 31 ++ src/routes/classes/Link.md | 3 + src/routes/components/Avatar.md | 19 +- src/routes/components/Badge.md | 10 +- src/routes/components/Button.md | 10 +- src/routes/components/Chips.md | 51 +- src/routes/components/Link.md | 8 - src/routes/components/NavRow.md | 32 +- src/routes/components/Pagination.md | 15 +- src/routes/components/Select.md | 19 + src/routes/getting-started/css.md | 30 +- src/routes/getting-started/postcss.md | 31 ++ src/routes/index.md | 13 +- svelte.config.js | 73 +-- tsconfig.json | 11 + 41 files changed, 1374 insertions(+), 849 deletions(-) create mode 100644 plugins/sveld.js delete mode 100644 src/lib/components/Link.svelte create mode 100644 src/lib/components/Select.svelte create mode 100644 src/lib/styles/classes/base.postcss create mode 100644 src/lib/styles/classes/card.postcss create mode 100644 src/lib/styles/classes/link.postcss create mode 100644 src/lib/styles/classes/title.postcss delete mode 100644 src/lib/styles/themes.postcss delete mode 100644 src/lib/styles/variables.postcss delete mode 100644 src/routes/_internal/styles/gh-markdown.css create mode 100644 src/routes/_internal/styles/gh-markdown.postcss create mode 100644 src/routes/classes/Card.md create mode 100644 src/routes/classes/Link.md delete mode 100644 src/routes/components/Link.md create mode 100644 src/routes/components/Select.md create mode 100644 src/routes/getting-started/postcss.md diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 5e0744cf9..584448f9d 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -13,5 +13,15 @@ + + + \ No newline at end of file diff --git a/mdsvex.config.js b/mdsvex.config.js index d46083269..71cdaa7fb 100644 --- a/mdsvex.config.js +++ b/mdsvex.config.js @@ -1,4 +1,5 @@ import { defineMDSveXConfig as defineConfig } from 'mdsvex'; +import examples from 'mdsvexamples' const config = defineConfig({ extensions: ['.svelte.md', '.md', '.svx'], @@ -7,7 +8,7 @@ const config = defineConfig({ dashes: 'oldschool', }, - remarkPlugins: [], + remarkPlugins: [[examples, { ExampleComponent: '$routes/_internal/components/Example.svelte' }]], rehypePlugins: [], layout: { diff --git a/package.json b/package.json index ea5bc9cfd..1530dd467 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,9 @@ "@iconify-json/heroicons-outline": "^1.1.1", "@iconify-json/lucide": "^1.1.7", "@poppanator/sveltekit-svg": "^0.3.1", - "@sveltejs/adapter-auto": "^1.0.0-next.33", + "@sveltejs/adapter-static": "^1.0.0-next.29", "@sveltejs/kit": "next", + "@types/prismjs": "^1.26.0", "@typescript-eslint/eslint-plugin": "^5.10.1", "@typescript-eslint/parser": "^5.10.1", "autoprefixer": "^10.4.2", @@ -30,21 +31,22 @@ "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.1", "mdsvex": "^0.10.5", + "mdsvexamples": "^0.0.8", "nodemon": "^2.0.15", "postcss": "^8.4.8", "postcss-extend-rule": "^4.0.0", "postcss-import": "^14.0.2", + "postcss-import-ext-glob": "^2.0.1", "postcss-load-config": "^3.1.1", "postcss-nested": "^5.0.6", "postcss-preset-env": "^7.4.2", + "postcss-pxtorem": "^6.0.0", "postcss-strip-inline-comments": "^0.1.5", - "prism-svelte": "^0.5.0", - "prismjs": "^1.27.0", + "sveld": "^0.13.4", "svelte": "^3.44.0", "svelte-check": "^2.2.6", "svelte-preprocess": "^4.10.1", "svelte2tsx": "^0.5.5", - "sveltedoc-parser": "^4.2.1", "tslib": "^2.3.1", "typescript": "~4.6.2", "unplugin-icons": "^0.13.3" @@ -67,6 +69,8 @@ }, "homepage": "https://omorphia.modrinth.com", "dependencies": { - "sanitize.css": "^13.0.0" + "sanitize.css": "^13.0.0", + "svelte-use-click-outside": "^1.0.0", + "throttle-debounce": "^3.0.1" } } diff --git a/plugins/sveld.js b/plugins/sveld.js new file mode 100644 index 000000000..2a048322d --- /dev/null +++ b/plugins/sveld.js @@ -0,0 +1,30 @@ +import { ComponentParser } from 'sveld' +import sveltePreprocess from 'svelte-preprocess' +import * as svelte from 'svelte/compiler' + +export default function sveld() { + return { + name: 'vite-plugin-sveld', + async transform(src, id) { + if (id.endsWith('?raw&sveld')) { + const raw = JSON.parse(src.split('export default ')[1]) + + let { code } = await svelte.preprocess(raw, sveltePreprocess({ postcss: true }), { + filename: id + }) + const data = new ComponentParser({ + verbose: false + }).parseSvelteComponent(code, { + filePath: id, + moduleName: id + }) + + + return { + code: `export default ${JSON.stringify(data)}`, + map: null + } + } + } + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4c29d038..7876c8e41 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,9 @@ specifiers: '@iconify-json/heroicons-outline': ^1.1.1 '@iconify-json/lucide': ^1.1.7 '@poppanator/sveltekit-svg': ^0.3.1 - '@sveltejs/adapter-auto': ^1.0.0-next.33 + '@sveltejs/adapter-static': ^1.0.0-next.29 '@sveltejs/kit': next + '@types/prismjs': ^1.26.0 '@typescript-eslint/eslint-plugin': ^5.10.1 '@typescript-eslint/parser': ^5.10.1 autoprefixer: ^10.4.2 @@ -15,36 +16,42 @@ specifiers: eslint-config-prettier: ^8.3.0 eslint-plugin-svelte3: ^3.2.1 mdsvex: ^0.10.5 + mdsvexamples: ^0.0.8 nodemon: ^2.0.15 postcss: ^8.4.8 postcss-extend-rule: ^4.0.0 postcss-import: ^14.0.2 + postcss-import-ext-glob: ^2.0.1 postcss-load-config: ^3.1.1 postcss-nested: ^5.0.6 postcss-preset-env: ^7.4.2 + postcss-pxtorem: ^6.0.0 postcss-strip-inline-comments: ^0.1.5 - prism-svelte: ^0.5.0 - prismjs: ^1.27.0 sanitize.css: ^13.0.0 + sveld: ^0.13.4 svelte: ^3.44.0 svelte-check: ^2.2.6 svelte-preprocess: ^4.10.1 + svelte-use-click-outside: ^1.0.0 svelte2tsx: ^0.5.5 - sveltedoc-parser: ^4.2.1 + throttle-debounce: ^3.0.1 tslib: ^2.3.1 typescript: ~4.6.2 unplugin-icons: ^0.13.3 dependencies: sanitize.css: 13.0.0 + svelte-use-click-outside: 1.0.0 + throttle-debounce: 3.0.1 devDependencies: '@iconify-json/carbon': 1.1.1 '@iconify-json/heroicons-outline': 1.1.1 '@iconify-json/lucide': 1.1.7 '@poppanator/sveltekit-svg': 0.3.1_svelte@3.46.4 - '@sveltejs/adapter-auto': 1.0.0-next.33 - '@sveltejs/kit': 1.0.0-next.301_svelte@3.46.4 + '@sveltejs/adapter-static': 1.0.0-next.29 + '@sveltejs/kit': 1.0.0-next.303_svelte@3.46.4 + '@types/prismjs': 1.26.0 '@typescript-eslint/eslint-plugin': 5.14.0_e3f5f4efe2bd492e36eb6c1c619dfc98 '@typescript-eslint/parser': 5.14.0_eslint@7.32.0+typescript@4.6.2 autoprefixer: 10.4.2_postcss@8.4.8 @@ -53,21 +60,22 @@ devDependencies: eslint-config-prettier: 8.5.0_eslint@7.32.0 eslint-plugin-svelte3: 3.4.1_eslint@7.32.0+svelte@3.46.4 mdsvex: 0.10.5_svelte@3.46.4 + mdsvexamples: 0.0.8 nodemon: 2.0.15 postcss: 8.4.8 postcss-extend-rule: 4.0.0_postcss@8.4.8 postcss-import: 14.0.2_postcss@8.4.8 + postcss-import-ext-glob: 2.0.1_postcss@8.4.8 postcss-load-config: 3.1.3 postcss-nested: 5.0.6_postcss@8.4.8 postcss-preset-env: 7.4.2_postcss@8.4.8 + postcss-pxtorem: 6.0.0_postcss@8.4.8 postcss-strip-inline-comments: 0.1.5 - prism-svelte: 0.5.0 - prismjs: 1.27.0 + sveld: 0.13.4_c518e768a841b289340ac9217a6c6fc9 svelte: 3.46.4 svelte-check: 2.4.5_33233005e4be8b4492b63cc9de0a2fd4 svelte-preprocess: 4.10.4_8c88c4f1b7a55bcfafd385f58ef1abcd svelte2tsx: 0.5.5_svelte@3.46.4+typescript@4.6.2 - sveltedoc-parser: 4.2.1 tslib: 2.3.1 typescript: 4.6.2 unplugin-icons: 0.13.3 @@ -211,23 +219,6 @@ packages: - supports-color dev: true - /@eslint/eslintrc/1.2.1: - resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.3 - espree: 9.3.1 - globals: 13.12.1 - ignore: 5.2.0 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/config-array/0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} @@ -239,25 +230,10 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.9.5: - resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.3 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@iarna/toml/2.2.5: - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - dev: true - /@iconify-json/carbon/1.1.1: resolution: {integrity: sha512-ClOYc+82CKlDAKH1tfDTJTzNz4oHhYD04ALA5uemw9PdWXg05yIJb9bxWjSz4UgdUbH5N/yd8s9hNPI3h6jnlg==} dependencies: @@ -323,6 +299,33 @@ packages: svgo: 2.8.0 dev: true + /@rollup/plugin-node-resolve/11.2.1_rollup@2.70.0: + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.70.0 + '@types/resolve': 1.17.1 + builtin-modules: 3.2.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.22.0 + rollup: 2.70.0 + dev: true + + /@rollup/pluginutils/3.1.0_rollup@2.70.0: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.70.0 + dev: true + /@rollup/pluginutils/4.2.0: resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==} engines: {node: '>= 8.0.0'} @@ -336,36 +339,14 @@ packages: engines: {node: '>=6'} dev: true - /@sveltejs/adapter-auto/1.0.0-next.33: - resolution: {integrity: sha512-FVEBSw5XIYCrqMPY2VGmaGyT4ZvbahcdQJ613O4lgAoafRdUy7ZaE8GoeDmCJxtTUsqhAQUFu7jx9IIhz+QrsQ==} + /@sveltejs/adapter-static/1.0.0-next.29: + resolution: {integrity: sha512-0hjGnfT3BRyoHnzJ2w0/xL+xICRpKneDTm45ZzggiRrc0r71WJfF6toGeg8N4QUQnj8EJ3Itm453gsS1kt7VUQ==} dependencies: - '@sveltejs/adapter-cloudflare': 1.0.0-next.16 - '@sveltejs/adapter-netlify': 1.0.0-next.51 - '@sveltejs/adapter-vercel': 1.0.0-next.47 - dev: true - - /@sveltejs/adapter-cloudflare/1.0.0-next.16: - resolution: {integrity: sha512-ripTRtOasAtxDJEIF3kwwji/9WHfX069i5LuRwGUzOi4/cbcGfgV1RFBVfo/8G6hr3ehqLeKCdloet1yTsp34A==} - dependencies: - esbuild: 0.14.25 - dev: true - - /@sveltejs/adapter-netlify/1.0.0-next.51: - resolution: {integrity: sha512-P7/cW/0z8zd8J6DOI2yxKZG0+HRMMuzfOf0yzFXX0vRwBePhKlZ/H4qhTOo2NrCmj3Len545o+ugj5gyMXl1+g==} - dependencies: - '@iarna/toml': 2.2.5 - esbuild: 0.14.25 tiny-glob: 0.2.9 dev: true - /@sveltejs/adapter-vercel/1.0.0-next.47: - resolution: {integrity: sha512-VV3vP8KqL9XOc7xfQLVhXTM5jrTme+r1qJy98u5/dhAhkdjqrGDwAKo/s7MoB3rTYxLb2b8I4QxAaoz2Y2aIBg==} - dependencies: - esbuild: 0.14.25 - dev: true - - /@sveltejs/kit/1.0.0-next.301_svelte@3.46.4: - resolution: {integrity: sha512-F/XP1VEu+fpvgY04JekNxAFupccNMKOyXtbox0LwNJvBulL15/Tzy6tf4g+9t2Jy7mprwI3h0ZC9G/nVujRFnQ==} + /@sveltejs/kit/1.0.0-next.303_svelte@3.46.4: + resolution: {integrity: sha512-WdxDc8OiF1WEd/bEza7CBdzA+3qIcCi1GKBj/gieKX9I3N8iDJt/Cg2POrLo9wQoJ47nZcAd1eOhfr7XEX1aIQ==} engines: {node: '>=14.13'} hasBin: true peerDependencies: @@ -417,6 +398,10 @@ packages: engines: {node: '>=10.13.0'} dev: true + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + /@types/json-schema/7.0.9: resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: true @@ -425,10 +410,20 @@ packages: resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} dev: true + /@types/prismjs/1.26.0: + resolution: {integrity: sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==} + dev: true + /@types/pug/2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 17.0.21 + dev: true + /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: @@ -573,6 +568,18 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true + /abstract-syntax-tree/2.20.5: + resolution: {integrity: sha512-xxmZemmrsmzXHxdEzy9mSM3c22hCjMcLWMUbg1LQeK1FMDLHurxnMmOAN46B0NkFgembXR17D6lDctyFhVjotQ==} + engines: {node: '>=14.0.0'} + dependencies: + ast-types: 0.14.2 + astring: 1.8.1 + esquery: 1.4.0 + estraverse: 5.3.0 + meriyah: 4.2.0 + source-map: 0.7.3 + dev: true + /acorn-jsx/5.3.2_acorn@7.4.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -581,14 +588,6 @@ packages: acorn: 7.4.1 dev: true - /acorn-jsx/5.3.2_acorn@8.7.0: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.7.0 - dev: true - /acorn/7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -673,20 +672,33 @@ packages: sprintf-js: 1.0.3 dev: true - /argparse/2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true + /ast-types/0.14.2: + resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} + engines: {node: '>=4'} + dependencies: + tslib: 2.3.1 + dev: true + /astral-regex/2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} dev: true + /astring/1.8.1: + resolution: {integrity: sha512-Aj3mbwVzj7Vve4I/v2JYOPFkCGM2YS7OqQTNSxmUR+LECRpokuPgAYghePgr6SALDo5bD5DlfbSaYjOzGJZOLQ==} + hasBin: true + dev: true + + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + /autoprefixer/10.4.2_postcss@8.4.8: resolution: {integrity: sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==} engines: {node: ^10 || ^12 || >=14} @@ -760,6 +772,11 @@ packages: resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} dev: true + /builtin-modules/3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} + dev: true + /cacheable-request/6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} engines: {node: '>=8'} @@ -884,6 +901,11 @@ packages: engines: {node: '>= 10'} dev: true + /comment-parser/0.7.6: + resolution: {integrity: sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==} + engines: {node: '>= 6.0.0'} + dev: true + /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -1093,6 +1115,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + /defer-to-connect/1.1.3: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true @@ -1128,13 +1155,6 @@ packages: resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} dev: true - /domhandler/3.3.0: - resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.2.0 - dev: true - /domhandler/4.3.0: resolution: {integrity: sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==} engines: {node: '>= 4'} @@ -1446,14 +1466,6 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope/7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - /eslint-utils/2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -1471,16 +1483,6 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-utils/3.0.0_eslint@8.4.1: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.4.1 - eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys/1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -1545,53 +1547,6 @@ packages: - supports-color dev: true - /eslint/8.4.1: - resolution: {integrity: sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint/eslintrc': 1.2.1 - '@humanwhocodes/config-array': 0.9.5 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.3 - doctrine: 3.0.0 - enquirer: 2.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.4.1 - eslint-visitor-keys: 3.3.0 - espree: 9.2.0 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 6.0.2 - globals: 13.12.1 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.5 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /espree/7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1601,24 +1556,6 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /espree/9.2.0: - resolution: {integrity: sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.2_acorn@8.7.0 - eslint-visitor-keys: 3.3.0 - dev: true - - /espree/9.3.1: - resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.7.0 - acorn-jsx: 5.3.2_acorn@8.7.0 - eslint-visitor-keys: 3.3.0 - dev: true - /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -1649,6 +1586,14 @@ packages: engines: {node: '>=4.0'} dev: true + /estree-walker/0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + dev: true + + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + /estree-walker/2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true @@ -1696,6 +1641,10 @@ packages: resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} dev: true + /fast-sort/2.2.0: + resolution: {integrity: sha512-W7zqnn2zsYoQA87FKmYtgOsbJohOrh7XrtZrCVHN5XZKqTBTv5UG+rSS3+iWbg/nepRQUOu+wnas8BwtK8kiCg==} + dev: true + /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: @@ -1740,6 +1689,16 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.9 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true @@ -1786,13 +1745,6 @@ packages: is-glob: 4.0.3 dev: true - /glob-parent/6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob/7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: @@ -1893,15 +1845,6 @@ packages: function-bind: 1.1.1 dev: true - /htmlparser2-svelte/4.1.0: - resolution: {integrity: sha512-+4f4RBFz7Rj2Hp0ZbFbXC+Kzbd6S9PgjiuFtdT76VMNgKogrEZy0pG2UrPycPbrZzVEIM5lAT3lAdkSTCHLPjg==} - dependencies: - domelementtype: 2.2.0 - domhandler: 3.3.0 - domutils: 2.8.0 - entities: 2.2.0 - dev: true - /http-cache-semantics/4.1.0: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true @@ -2008,6 +1951,10 @@ packages: is-path-inside: 3.0.3 dev: true + /is-module/1.0.0: + resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} + dev: true + /is-npm/5.0.0: resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} engines: {node: '>=10'} @@ -2061,13 +2008,6 @@ packages: esprima: 4.0.1 dev: true - /js-yaml/4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - /json-buffer/3.0.0: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true @@ -2084,6 +2024,14 @@ packages: resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} dev: true + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.9 + dev: true + /keyv/3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} dependencies: @@ -2199,6 +2147,22 @@ packages: vfile-message: 2.0.4 dev: true + /mdsvexamples/0.0.8: + resolution: {integrity: sha512-BFyJeke4r/PbWWk4+jXVXjuR0/YNMJK10rXjRGarmr7+bqg3kIlfTFjew/uMx9KBYchWLaJlnVQPrh5nQN5/lg==} + dependencies: + abstract-syntax-tree: 2.20.5 + prism-svelte: 0.5.0 + prismjs: 1.27.0 + unist-util-visit: 4.1.0 + unplugin: 0.5.2 + upath: 2.0.1 + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -2208,6 +2172,11 @@ packages: engines: {node: '>= 8'} dev: true + /meriyah/4.2.0: + resolution: {integrity: sha512-fCVh5GB9YT53Bq14l00HLYE3i9DywrY0JVZxbk0clXWDuMsUKKwluvC5sY0bMBqHbnIbpIjfSSIsnrzbauA8Yw==} + engines: {node: '>=10.4.0'} + dev: true + /micromatch/4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} @@ -2667,6 +2636,17 @@ packages: postcss-value-parser: 4.2.0 dev: true + /postcss-import-ext-glob/2.0.1_postcss@8.4.8: + resolution: {integrity: sha512-cCvzsZBPuhLCOAfkPeBnJ31uz5azlAjNb5Aug1f2nlomgZK+WD7Uwfrk+epFU9PI20rsMAineDUK4Ty+jEQHcg==} + peerDependencies: + postcss: ^8.2.0 + dependencies: + fast-glob: 3.2.11 + fast-sort: 2.2.0 + postcss: 8.4.8 + postcss-value-parser: 4.2.0 + dev: true + /postcss-import/14.0.2_postcss@8.4.8: resolution: {integrity: sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==} engines: {node: '>=10.0.0'} @@ -3012,6 +2992,14 @@ packages: postcss-selector-parser: 6.0.9 dev: true + /postcss-pxtorem/6.0.0_postcss@8.4.8: + resolution: {integrity: sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.8 + dev: true + /postcss-reduce-initial/5.1.0_postcss@8.4.8: resolution: {integrity: sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==} engines: {node: ^10 || ^12 || >=14.0} @@ -3118,6 +3106,12 @@ packages: engines: {node: '>=4'} dev: true + /prettier/2.6.1: + resolution: {integrity: sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + /prism-svelte/0.4.7: resolution: {integrity: sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==} dev: true @@ -3210,6 +3204,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-relative/0.8.7: + resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} + dev: true + /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3249,6 +3247,25 @@ packages: glob: 7.2.0 dev: true + /rollup-plugin-svelte/7.1.0_rollup@2.70.0+svelte@3.46.4: + resolution: {integrity: sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==} + engines: {node: '>=10'} + peerDependencies: + rollup: '>=2.0.0' + svelte: '>=3.5.0' + dependencies: + require-relative: 0.8.7 + rollup: 2.70.0 + rollup-pluginutils: 2.8.2 + svelte: 3.46.4 + dev: true + + /rollup-pluginutils/2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + dependencies: + estree-walker: 0.6.1 + dev: true + /rollup/2.70.0: resolution: {integrity: sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==} engines: {node: '>=10.0.0'} @@ -3467,6 +3484,34 @@ packages: engines: {node: '>= 0.4'} dev: true + /sveld/0.13.4_c518e768a841b289340ac9217a6c6fc9: + resolution: {integrity: sha512-LY9G/4aNv+WYnybqHfRFVHN3JZzDcnJEYX5/LYpD+/Jgr+Iby5bBSwm/YMtM7D4tvV7tPchv1Z0T7P3RiJIiJA==} + hasBin: true + dependencies: + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.70.0 + acorn: 8.7.0 + comment-parser: 0.7.6 + fast-glob: 3.2.11 + fs-extra: 9.1.0 + prettier: 2.6.1 + rollup: 2.70.0 + rollup-plugin-svelte: 7.1.0_rollup@2.70.0+svelte@3.46.4 + svelte: 3.46.4 + svelte-preprocess: 4.10.4_8c88c4f1b7a55bcfafd385f58ef1abcd + typescript: 4.6.2 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - node-sass + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + /svelte-check/2.4.5_33233005e4be8b4492b63cc9de0a2fd4: resolution: {integrity: sha512-nRft8BbG2wcxyCdHDZ7X43xLcvDzua3xLwq6wzHGcAF3ka3Jyhv2rvgq0+SF9NwHLMefp9C2XkM6etzsxK/cMQ==} hasBin: true @@ -3558,6 +3603,10 @@ packages: typescript: 4.6.2 dev: true + /svelte-use-click-outside/1.0.0: + resolution: {integrity: sha512-tOWeMPxeIoW9RshS0WbogRhdYdbxcJV0ebkzSh1lwR7Ihl0hSZMmB4YyCHHoXJK4xcbxCCFh0AnQ1vkzGZfLVQ==} + dev: false + /svelte/3.46.4: resolution: {integrity: sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==} engines: {node: '>= 8'} @@ -3575,17 +3624,6 @@ packages: typescript: 4.6.2 dev: true - /sveltedoc-parser/4.2.1: - resolution: {integrity: sha512-sWJRa4qOfRdSORSVw9GhfDEwsbsYsegnDzBevUCF6k/Eis/QqCu9lJ6I0+d/E2wOWCjOhlcJ3+jl/Iur+5mmCw==} - engines: {node: '>=10.0.0'} - dependencies: - eslint: 8.4.1 - espree: 9.2.0 - htmlparser2-svelte: 4.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /svgo/2.8.0: resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} engines: {node: '>=10.13.0'} @@ -3615,6 +3653,11 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true + /throttle-debounce/3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: false + /timsort/0.3.0: resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} dev: true @@ -3698,12 +3741,36 @@ packages: crypto-random-string: 2.0.0 dev: true + /unist-util-is/5.1.1: + resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} + dev: true + /unist-util-stringify-position/2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 dev: true + /unist-util-visit-parents/5.1.0: + resolution: {integrity: sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + dev: true + + /unist-util-visit/4.1.0: + resolution: {integrity: sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + unist-util-visit-parents: 5.1.0 + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + /unplugin-icons/0.13.3: resolution: {integrity: sha512-HkNCexbEYNkvZkCH+ytUUXgxvLsd/cTCzNQCsBjpJrZ9bhNVxosf9sYGxJdc2BbdEhnaKYNNrwaP11EzmiW6gQ==} peerDependencies: @@ -3756,6 +3823,33 @@ packages: webpack-virtual-modules: 0.4.3 dev: true + /unplugin/0.5.2: + resolution: {integrity: sha512-3SPYtus/56cxyD4jfjrnqCvb6jPxvdqJNaRXnEaG2BhNEMaoygu/39AG+LwKmiIUzj4XHyitcfZ7scGlWfEigA==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.3 + dev: true + + /upath/2.0.1: + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} + engines: {node: '>=4'} + dev: true + /update-notifier/5.1.0: resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} engines: {node: '>=10'} @@ -3828,6 +3922,11 @@ packages: fsevents: 2.3.2 dev: true + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + /webpack-virtual-modules/0.4.3: resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} dev: true diff --git a/postcss.config.cjs b/postcss.config.cjs index 2690b963f..69b265672 100644 --- a/postcss.config.cjs +++ b/postcss.config.cjs @@ -1,10 +1,12 @@ const config = { plugins: [ + require('postcss-import-ext-glob'), require('postcss-import'), require('postcss-strip-inline-comments'), require('postcss-extend-rule'), require('postcss-nested'), require('postcss-preset-env'), + require('postcss-pxtorem'), require('autoprefixer'), process.env.NODE_ENV === 'development' && require('cssnano')({ preset: 'default', diff --git a/src/lib/components/Avatar.svelte b/src/lib/components/Avatar.svelte index ba726340d..0a29f4a20 100644 --- a/src/lib/components/Avatar.svelte +++ b/src/lib/components/Avatar.svelte @@ -2,7 +2,8 @@ import { onMount } from 'svelte' import { classCombine } from '$lib/utils/classCombine' - export let src: string | null + /** Optional, as a default icon will be substituted if no image was specified */ + export let src: string | undefined export let size: 'xs' | 'sm' | 'md' | 'lg' export let circle = false export let floatUp = false @@ -85,6 +86,7 @@ &--float-up { margin-top: calc(var(--size) * (-2 / 3)); + z-index: 1; } &--circle { diff --git a/src/lib/components/Badge.svelte b/src/lib/components/Badge.svelte index 9f85757f0..f85ee182b 100644 --- a/src/lib/components/Badge.svelte +++ b/src/lib/components/Badge.svelte @@ -1,6 +1,6 @@ diff --git a/src/lib/components/Button.svelte b/src/lib/components/Button.svelte index e5e17f737..abc6c2fa5 100644 --- a/src/lib/components/Button.svelte +++ b/src/lib/components/Button.svelte @@ -1,18 +1,18 @@ - - - - \ No newline at end of file diff --git a/src/lib/components/Select.svelte b/src/lib/components/Select.svelte new file mode 100644 index 000000000..8707ff389 --- /dev/null +++ b/src/lib/components/Select.svelte @@ -0,0 +1,204 @@ + + +
{ + open = false; + }} + bind:this={element} + tabindex="0" + on:keydown={keydown} +> +
{ + open = !open; + }} + > + {#if icon} + + {/if} + {label || selected?.label || value || 'Choose...'} + {#if !icon} +
+ + + +
+ {/if} +
+ {#if open} +
    + {#each options as option (option.value)} +
  • { + selected = option; + open = false; + }} + class:is-selected={selected?.value === option.value} + > + {option.label || option.value} +
  • + {/each} +
+ {/if} +
+ + diff --git a/src/lib/styles.postcss b/src/lib/styles.postcss index 0645e9b86..962420f45 100644 --- a/src/lib/styles.postcss +++ b/src/lib/styles.postcss @@ -1,3 +1,4 @@ -@import "./styles/normalize.postcss"; -@import "./styles/themes.postcss"; -@import "./styles/variables.postcss"; +@import-glob "./styles/normalize.postcss"; /* Doesn't need to glob but fixes warning */ +@import-glob "./styles/themes/**.postcss"; +@import-glob "./styles/variables/**.postcss"; +@import-glob "./styles/classes/**.postcss"; \ No newline at end of file diff --git a/src/lib/styles/classes/base.postcss b/src/lib/styles/classes/base.postcss new file mode 100644 index 000000000..50b0b5d6e --- /dev/null +++ b/src/lib/styles/classes/base.postcss @@ -0,0 +1,26 @@ +.base { + display: flex; + justify-content: center; + background-color: var(--color-bg); + color: var(--color-text); + font-family: var(--font-standard); + font-size: var(--font-size-nm); + font-weight: var(--font-weight-regular); + padding: 1rem; + + scrollbar-color: var(--color-scrollbar) var(--color-bg); + + &::-webkit-scrollbar { + width: 14px; + } + + &::-webkit-scrollbar-track { + background-color: var(--color-bg); + } + + &::-webkit-scrollbar-thumb { + background-color: var(--color-scrollbar); + border-radius: 999px; + border: 3px solid var(--color-bg); + } +} diff --git a/src/lib/styles/classes/card.postcss b/src/lib/styles/classes/card.postcss new file mode 100644 index 000000000..4c3f75e10 --- /dev/null +++ b/src/lib/styles/classes/card.postcss @@ -0,0 +1,97 @@ +.card { + --padding: 1rem; + + display: flex; + flex-direction: column; + position: relative; + + background-color: var(--color-raised-bg); + border-radius: var(--rounded); + overflow: hidden; + box-shadow: var(--shadow-raised), var(--shadow-inset); + + padding: var(--padding); + grid-gap: 1rem; + max-width: 100%; + + .profile-picture { + z-index: 1; + } + + &--gap { + &-compressed { + grid-gap: 0.6rem; + } + + &-none { + grid-gap: 0; + } + } + + &--pad { + &-top { + padding-top: 2.5rem; + } + } + + &--overflow-visible { + overflow: visible; + } + + &__banner { + --inverse-padding: calc(var(--padding) * -1); + margin: var(--inverse-padding) var(--inverse-padding) 0 var(--inverse-padding); + z-index: 0; + background-color: var(--color-divider); + + &:-moz-loading { + visibility: hidden; + } + + &--short { + height: 6.5rem; + object-fit: cover; + object-position: center; + } + + &--dark { + filter: brightness(0.7); + } + } + + &__overlay { + position: absolute; + top: 1rem; + right: 1rem; + + display: flex; + flex-direction: column; + align-items: flex-end; + grid-gap: 0.5rem; + + z-index: 1; + + &--row { + flex-direction: row; + } + } + + &--row { + flex-direction: row; + align-items: center; + } + + &--strip { + flex-direction: row; + justify-content: space-between; + align-items: center; + } + + &--pad-x { + --padding: 1rem 1.3rem; + } + + &.text { + --padding: 1.5rem; + } +} \ No newline at end of file diff --git a/src/lib/styles/classes/link.postcss b/src/lib/styles/classes/link.postcss new file mode 100644 index 000000000..81c003f11 --- /dev/null +++ b/src/lib/styles/classes/link.postcss @@ -0,0 +1,7 @@ +.link { + color: var(--color-link); + + &:hover { + text-decoration: underline; + } +} \ No newline at end of file diff --git a/src/lib/styles/classes/title.postcss b/src/lib/styles/classes/title.postcss new file mode 100644 index 000000000..26681d598 --- /dev/null +++ b/src/lib/styles/classes/title.postcss @@ -0,0 +1,8 @@ +.title { + font-size: 1.5rem; + font-weight: var(--font-weight-bold); +} + +.title-secondary { + font-size: 1.25rem; +} \ No newline at end of file diff --git a/src/lib/styles/themes.postcss b/src/lib/styles/themes.postcss deleted file mode 100644 index 7c6e826e1..000000000 --- a/src/lib/styles/themes.postcss +++ /dev/null @@ -1,4 +0,0 @@ -@import "themes/base.postcss"; -@import "themes/light.postcss"; -@import "themes/dark.postcss"; -@import "themes/oled.postcss"; diff --git a/src/lib/styles/variables.postcss b/src/lib/styles/variables.postcss deleted file mode 100644 index 9c5988746..000000000 --- a/src/lib/styles/variables.postcss +++ /dev/null @@ -1,3 +0,0 @@ -@import "variables/borders.postcss"; -@import "variables/typography.postcss"; -@import "variables/spacing.postcss"; \ No newline at end of file diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index 8d824bed6..21f5069ca 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -1,34 +1,39 @@
-
- +
+
- +