From 2bafaf025485216ff1e1a185145a489cc43dd799 Mon Sep 17 00:00:00 2001 From: tedraykov Date: Wed, 3 May 2023 11:07:32 +0300 Subject: [PATCH] feat: new theme api Signed-off-by: tedraykov --- colors.ts | 12 + package.json | 48 +- pnpm-lock.yaml | 1609 +++++++++++------ src/docs/playground/button.ts | 13 +- src/lib/components/Button.svelte | 89 +- src/lib/components/Card.svelte | 10 +- src/lib/components/CardContent.svelte | 7 +- src/lib/components/CardHeader.svelte | 17 +- src/lib/components/CardTitle.svelte | 8 +- src/lib/styles/createTheme.ts | 108 +- src/lib/styles/default/README.md | 11 + src/lib/styles/default/button.ts | 120 ++ src/lib/styles/default/card.ts | 20 + src/lib/styles/default/cardAction.ts | 10 + src/lib/styles/default/cardContent.ts | 15 + src/lib/styles/default/cardHeader.ts | 15 + src/lib/styles/default/cardTitle.ts | 10 + src/lib/styles/evaluateVariantClasses.test.ts | 46 + src/lib/styles/evaluateVariantClasses.ts | 18 + src/lib/styles/getThemeContext.ts | 6 +- src/lib/types/button.ts | 26 +- src/lib/types/card.ts | 42 +- src/lib/types/index.ts | 53 +- src/lib/utils/elements.ts | 2 +- tsconfig.json | 3 +- vite.config.js | 8 - vite.config.ts | 10 + 27 files changed, 1481 insertions(+), 855 deletions(-) create mode 100644 colors.ts create mode 100644 src/lib/styles/default/README.md create mode 100644 src/lib/styles/default/button.ts create mode 100644 src/lib/styles/default/card.ts create mode 100644 src/lib/styles/default/cardAction.ts create mode 100644 src/lib/styles/default/cardContent.ts create mode 100644 src/lib/styles/default/cardHeader.ts create mode 100644 src/lib/styles/default/cardTitle.ts create mode 100644 src/lib/styles/evaluateVariantClasses.test.ts create mode 100644 src/lib/styles/evaluateVariantClasses.ts delete mode 100644 vite.config.js create mode 100644 vite.config.ts diff --git a/colors.ts b/colors.ts new file mode 100644 index 0000000..a5e4052 --- /dev/null +++ b/colors.ts @@ -0,0 +1,12 @@ +import { argbFromHex, themeFromSourceColor } from "@material/material-color-utilities"; + +// Get the theme from a hex color +const theme = themeFromSourceColor(argbFromHex('#f82506'), [ + { + name: "custom-1", + value: argbFromHex("#ff0000"), + blend: true, + }, +]); + +console.log(JSON.stringify(theme)); \ No newline at end of file diff --git a/package.json b/package.json index 8744a2c..0182543 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tedraykov/kitui", - "version": "0.0.6", + "version": "0.0.7", "scripts": { "dev": "vite dev", "build": "vite build", @@ -16,36 +16,38 @@ }, "devDependencies": { "@changesets/cli": "^2.25.2", + "@material/material-color-utilities": "^0.2.4", "@playwright/test": "^1.28.1", - "@steeze-ui/heroicons": "^2.2.1", + "@steeze-ui/heroicons": "^2.2.2", "@steeze-ui/svelte-icon": "^1.3.2", - "@sveltejs/adapter-auto": "next", - "@sveltejs/kit": "next", - "@sveltejs/package": "1.0.0-next.6", - "@tanstack/svelte-table": "^8.7.0", + "@sveltejs/adapter-auto": "^2.0.0", + "@sveltejs/kit": "^1.15.5", + "@sveltejs/package": "^2.0.2", + "@tanstack/svelte-table": "^8.8.5", "@types/lodash-es": "^4.17.6", "@types/prismjs": "^1.26.0", "@typescript-eslint/eslint-plugin": "^5.44.0", "@typescript-eslint/parser": "^5.44.0", - "autoprefixer": "^10.4.2", - "classnames": "^2.3.1", - "eslint": "8.22.0", - "eslint-config-prettier": "^8.3.0", + "autoprefixer": "^10.4.14", + "classnames": "^2.3.2", + "eslint": "8.38.0", + "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "lodash-es": "^4.17.21", - "postcss": "^8.4.5", - "prettier": "^2.8.0", - "prettier-plugin-svelte": "^2.8.1", - "prismjs": "^1.28.0", - "svelte": "^3.53.1", - "svelte-check": "^2.9.2", - "svelte-preprocess": "^4.10.1", - "svelte2tsx": "^0.5.20", - "tailwind-merge": "^1.2.1", - "tailwindcss": "^3.0.18", - "tslib": "^2.4.1", - "typescript": "~4.9.3", - "vite": "^3.1.0" + "postcss": "^8.4.21", + "prettier": "^2.8.7", + "prettier-plugin-svelte": "^2.10.0", + "prismjs": "^1.29.0", + "svelte": "^3.58.0", + "svelte-check": "^3.2.0", + "svelte-preprocess": "^5.0.3", + "svelte2tsx": "^0.6.11", + "tailwind-merge": "^1.12.0", + "tailwindcss": "^3.3.1", + "tslib": "^2.5.0", + "typescript": "~5.0.4", + "vite": "^4.2.1", + "vitest": "^0.30.1" }, "engines": { "node": ">=16.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9e09f5..5e0f605 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,72 +3,76 @@ lockfileVersion: 5.4 specifiers: '@changesets/cli': ^2.25.2 '@fontsource/lato': ^4.5.10 + '@material/material-color-utilities': ^0.2.4 '@playwright/test': ^1.28.1 - '@steeze-ui/heroicons': ^2.2.1 + '@steeze-ui/heroicons': ^2.2.2 '@steeze-ui/svelte-icon': ^1.3.2 - '@sveltejs/adapter-auto': next - '@sveltejs/kit': next - '@sveltejs/package': 1.0.0-next.6 - '@tanstack/svelte-table': ^8.7.0 + '@sveltejs/adapter-auto': ^2.0.0 + '@sveltejs/kit': ^1.15.5 + '@sveltejs/package': ^2.0.2 + '@tanstack/svelte-table': ^8.8.5 '@types/lodash-es': ^4.17.6 '@types/prismjs': ^1.26.0 '@typescript-eslint/eslint-plugin': ^5.44.0 '@typescript-eslint/parser': ^5.44.0 - autoprefixer: ^10.4.2 - classnames: ^2.3.1 - eslint: 8.22.0 - eslint-config-prettier: ^8.3.0 + autoprefixer: ^10.4.14 + classnames: ^2.3.2 + eslint: 8.38.0 + eslint-config-prettier: ^8.8.0 eslint-plugin-svelte3: ^4.0.0 lodash-es: ^4.17.21 - postcss: ^8.4.5 - prettier: ^2.8.0 - prettier-plugin-svelte: ^2.8.1 - prismjs: ^1.28.0 - svelte: ^3.53.1 - svelte-check: ^2.9.2 - svelte-preprocess: ^4.10.1 - svelte2tsx: ^0.5.20 - tailwind-merge: ^1.2.1 - tailwindcss: ^3.0.18 - tslib: ^2.4.1 - typescript: ~4.9.3 - vite: ^3.1.0 + postcss: ^8.4.21 + prettier: ^2.8.7 + prettier-plugin-svelte: ^2.10.0 + prismjs: ^1.29.0 + svelte: ^3.58.0 + svelte-check: ^3.2.0 + svelte-preprocess: ^5.0.3 + svelte2tsx: ^0.6.11 + tailwind-merge: ^1.12.0 + tailwindcss: ^3.3.1 + tslib: ^2.5.0 + typescript: ~5.0.4 + vite: ^4.2.1 + vitest: ^0.30.1 dependencies: '@fontsource/lato': 4.5.10 devDependencies: '@changesets/cli': 2.25.2 + '@material/material-color-utilities': 0.2.4 '@playwright/test': 1.28.1 - '@steeze-ui/heroicons': 2.2.1 + '@steeze-ui/heroicons': 2.2.2 '@steeze-ui/svelte-icon': 1.3.2 - '@sveltejs/adapter-auto': 1.0.0-next.89 - '@sveltejs/kit': 1.0.0-next.563_svelte@3.53.1+vite@3.2.4 - '@sveltejs/package': 1.0.0-next.6_7dvewpees4iyn2tkw2qzal77a4 - '@tanstack/svelte-table': 8.7.0_svelte@3.53.1 + '@sveltejs/adapter-auto': 2.0.0_@sveltejs+kit@1.15.5 + '@sveltejs/kit': 1.15.5_svelte@3.58.0+vite@4.2.1 + '@sveltejs/package': 2.0.2_kxq5ayp4qfv2n6flkngpsntzw4 + '@tanstack/svelte-table': 8.8.5_svelte@3.58.0 '@types/lodash-es': 4.17.6 '@types/prismjs': 1.26.0 - '@typescript-eslint/eslint-plugin': 5.44.0_yhfjt3obleoonqod3oc3n5txuq - '@typescript-eslint/parser': 5.44.0_tg6quxtr5dyl3tikvj7rwonxxi - autoprefixer: 10.4.8_postcss@8.4.16 - classnames: 2.3.1 - eslint: 8.22.0 - eslint-config-prettier: 8.5.0_eslint@8.22.0 - eslint-plugin-svelte3: 4.0.0_4q4bd7oywvqywjbc7esftey46u + '@typescript-eslint/eslint-plugin': 5.44.0_drspp6xuvlzy6p7w452kelou5u + '@typescript-eslint/parser': 5.44.0_voubu7prgxjfsfbgx5d4sqnwiy + autoprefixer: 10.4.14_postcss@8.4.21 + classnames: 2.3.2 + eslint: 8.38.0 + eslint-config-prettier: 8.8.0_eslint@8.38.0 + eslint-plugin-svelte3: 4.0.0_a4ckjr7darsrglbip3svgxgxc4 lodash-es: 4.17.21 - postcss: 8.4.16 - prettier: 2.8.0 - prettier-plugin-svelte: 2.8.1_3ndnxlh52lolrqe4kgjgbxb3xa - prismjs: 1.28.0 - svelte: 3.53.1 - svelte-check: 2.9.2_u33pgtxu3gqi357bz6g76h2s3i - svelte-preprocess: 4.10.7_7didjlxbjyvpwpuqfnb4ntirw4 - svelte2tsx: 0.5.20_7dvewpees4iyn2tkw2qzal77a4 - tailwind-merge: 1.5.1 - tailwindcss: 3.1.8_postcss@8.4.16 - tslib: 2.4.1 - typescript: 4.9.3 - vite: 3.2.4 + postcss: 8.4.21 + prettier: 2.8.7 + prettier-plugin-svelte: 2.10.0_ur5pqdgn24bclu6l6i7qojopk4 + prismjs: 1.29.0 + svelte: 3.58.0 + svelte-check: 3.2.0_hr6j3rdz3345ss7d3smrgfivne + svelte-preprocess: 5.0.3_whyegyloq3je4drn7ncry4svru + svelte2tsx: 0.6.11_kxq5ayp4qfv2n6flkngpsntzw4 + tailwind-merge: 1.12.0 + tailwindcss: 3.3.1_postcss@8.4.21 + tslib: 2.5.0 + typescript: 5.0.4 + vite: 4.2.1 + vitest: 0.30.1 packages: @@ -112,7 +116,7 @@ packages: fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 - prettier: 2.8.0 + prettier: 2.8.7 resolve-from: 5.0.0 semver: 5.7.1 dev: true @@ -279,11 +283,11 @@ packages: '@changesets/types': 5.2.0 fs-extra: 7.0.1 human-id: 1.0.2 - prettier: 2.8.0 + prettier: 2.8.7 dev: true - /@esbuild/android-arm/0.15.15: - resolution: {integrity: sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==} + /@esbuild/android-arm/0.17.16: + resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -291,8 +295,89 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.15.15: - resolution: {integrity: sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==} + /@esbuild/android-arm64/0.17.16: + resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.17.16: + resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.17.16: + resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.17.16: + resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.17.16: + resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.17.16: + resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.17.16: + resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.17.16: + resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.17.16: + resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.17.16: + resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -300,14 +385,128 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.3.3: - resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + /@esbuild/linux-mips64el/0.17.16: + resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.17.16: + resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.17.16: + resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.17.16: + resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.17.16: + resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.17.16: + resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.17.16: + resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.17.16: + resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.17.16: + resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.17.16: + resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.17.16: + resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.38.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 + dev: true + + /@eslint-community/regexpp/4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 - globals: 13.17.0 + espree: 9.5.1 + globals: 13.20.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -317,12 +516,17 @@ packages: - supports-color dev: true + /@eslint/js/8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@fontsource/lato/4.5.10: resolution: {integrity: sha512-2hYR6r661Cq9B8zugtu6yxuOKqrVhAgfOSaPSq8XoxbC4ebsl0KOTy/vPoP+9U7JuQVLfrmikirW4a9Z0nDUug==} dev: false - /@humanwhocodes/config-array/0.10.7: - resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -332,25 +536,40 @@ packages: - supports-color dev: true - /@humanwhocodes/gitignore-to-minimatch/1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@jridgewell/gen-mapping/0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} dev: true + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping/0.3.15: - resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} + /@jridgewell/trace-mapping/0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -376,6 +595,10 @@ packages: read-yaml-file: 1.1.0 dev: true + /@material/material-color-utilities/0.2.4: + resolution: {integrity: sha512-UsJO907S9/5Tf19KwGjEFggswGyCO/WYKBzfDNr8TN9V+7snfC2zV8pN0WXdqt+IS7EvDDZp0rpMXptSPSiKVw==} + dev: true + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -410,51 +633,54 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@steeze-ui/heroicons/2.2.1: - resolution: {integrity: sha512-QNFj8hzkDUrTszxqNQb5OpmugKmw12xKLV4MPm+1hr854rIXUN01yTgr6E0OPWiatysDqadURL2APZlSSn8QCg==} + /@steeze-ui/heroicons/2.2.2: + resolution: {integrity: sha512-VUkgSAbjLzsEuF4kDQDESANb/NNxqhkOMnrzD1VhB3tSGr7wVZ5FKS7aM2QZcKXjziwR6dbt7Nhs3fpZhqOi1A==} dev: true /@steeze-ui/svelte-icon/1.3.2: resolution: {integrity: sha512-Y7tH9UKeDYLfBicWLw4n4mhgfuSwgEdtq9wog7H+DjvfpTvea5SEqjHI8onoKZonJqAaUBGVjH02LAiqRWu+cw==} dev: true - /@sveltejs/adapter-auto/1.0.0-next.89: - resolution: {integrity: sha512-S+sASFX4sSZD1xEKmZ3zHxQh2DGxXBUpCGAtUakKkI2MRvFIm+zYIm+7GPekofMLd19FjdFDKkuOjBKPdmA8+w==} + /@sveltejs/adapter-auto/2.0.0_@sveltejs+kit@1.15.5: + resolution: {integrity: sha512-b+gkHFZgD771kgV3aO4avHFd7y1zhmMYy9i6xOK7m/rwmwaRO8gnF5zBc0Rgca80B2PMU1bKNxyBTHA14OzUAQ==} + peerDependencies: + '@sveltejs/kit': ^1.0.0 dependencies: + '@sveltejs/kit': 1.15.5_svelte@3.58.0+vite@4.2.1 import-meta-resolve: 2.2.0 dev: true - /@sveltejs/kit/1.0.0-next.563_svelte@3.53.1+vite@3.2.4: - resolution: {integrity: sha512-RvQSE6dOuH4vE2hM5K/DezJlm9RjC5EMQK8X46mBXIggp8unaDH+YJyF+KRvAZE5sV93Hk5xaq0WZa8jtU42Jw==} - engines: {node: '>=16.14'} + /@sveltejs/kit/1.15.5_svelte@3.58.0+vite@4.2.1: + resolution: {integrity: sha512-NyNtgIJBNo3AXMkl0iN10VrKgQS6VM6E+rcqZnZMn12dOo7SwFflj1du0ZgXNCZ1tx6VuEpSz9+FpPjswr4gEg==} + engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true peerDependencies: - svelte: ^3.44.0 - vite: ^3.2.0 + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.3.1_svelte@3.53.1+vite@3.2.4 + '@sveltejs/vite-plugin-svelte': 2.0.4_svelte@3.58.0+vite@4.2.1 '@types/cookie': 0.5.1 cookie: 0.5.0 - devalue: 4.2.0 + devalue: 4.3.0 + esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.26.7 + magic-string: 0.30.0 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.53.1 + svelte: 3.58.0 tiny-glob: 0.2.9 - undici: 5.12.0 - vite: 3.2.4 + undici: 5.20.0 + vite: 4.2.1 transitivePeerDependencies: - - diff-match-patch - supports-color dev: true - /@sveltejs/package/1.0.0-next.6_7dvewpees4iyn2tkw2qzal77a4: - resolution: {integrity: sha512-EwekVYRnD1r0deTt+9OKRvDopdX59FdfMVV+sN/LtIRO8+mEYuuDkj4uurt5yA9o2sMsv9xiAIWT5qKrq0rXuQ==} - engines: {node: '>=16.14'} + /@sveltejs/package/2.0.2_kxq5ayp4qfv2n6flkngpsntzw4: + resolution: {integrity: sha512-cCOCcO8yMHnhHyaR51nQtvKZ3o/vSU9UYI1EXLT1j2CKNPMuH1/g6JNwKcNNrtQGwwquudc69ZeYy8D/TDNwEw==} + engines: {node: ^16.14 || >=18} hasBin: true peerDependencies: svelte: ^3.44.0 @@ -462,50 +688,56 @@ packages: chokidar: 3.5.3 kleur: 4.1.5 sade: 1.8.1 - svelte: 3.53.1 - svelte2tsx: 0.5.20_7dvewpees4iyn2tkw2qzal77a4 + svelte: 3.58.0 + svelte2tsx: 0.6.11_kxq5ayp4qfv2n6flkngpsntzw4 transitivePeerDependencies: - typescript dev: true - /@sveltejs/vite-plugin-svelte/1.3.1_svelte@3.53.1+vite@3.2.4: - resolution: {integrity: sha512-2Uu2sDdIR+XQWF7QWOVSF2jR9EU6Ciw1yWfYnfLYj8HIgnNxkh/8g22Fw2pBUI8QNyW/KxtqJUWBI+8ypamSrQ==} + /@sveltejs/vite-plugin-svelte/2.0.4_svelte@3.58.0+vite@4.2.1: + resolution: {integrity: sha512-pjqhW00KwK2uzDGEr+yJBwut+D+4XfJO/+bHHdHzPRXn9+1Jeq5JcFHyrUiYaXgHtyhX0RsllCTm4ssAx4ZY7Q==} engines: {node: ^14.18.0 || >= 16} peerDependencies: - diff-match-patch: ^1.0.5 - svelte: ^3.44.0 - vite: ^3.0.0 - peerDependenciesMeta: - diff-match-patch: - optional: true + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: debug: 4.3.4 - deepmerge: 4.2.2 + deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.26.7 - svelte: 3.53.1 - svelte-hmr: 0.15.1_svelte@3.53.1 - vite: 3.2.4 - vitefu: 0.2.2_vite@3.2.4 + magic-string: 0.30.0 + svelte: 3.58.0 + svelte-hmr: 0.15.1_svelte@3.58.0 + vite: 4.2.1 + vitefu: 0.2.4_vite@4.2.1 transitivePeerDependencies: - supports-color dev: true - /@tanstack/svelte-table/8.7.0_svelte@3.53.1: - resolution: {integrity: sha512-p6PrV5smveuxqnBuTk02KB5JN+jGF9+HCaaW7BhP4oxfYOGEuoYouYZrXvSYzfAk0zhVgfi4T+Fg6KcHrPnaGQ==} + /@tanstack/svelte-table/8.8.5_svelte@3.58.0: + resolution: {integrity: sha512-d33JJwEe5AbwH6sBnRDfTL3gianA7if0fUTqxLNKK6P51IAIgMgAW+ahbCeg+5wJ9KcMSyTEOHs2Fg03oP6tvA==} engines: {node: '>=12'} peerDependencies: svelte: ^3.49.0 dependencies: - '@tanstack/table-core': 8.7.0 - svelte: 3.53.1 + '@tanstack/table-core': 8.8.5 + svelte: 3.58.0 dev: true - /@tanstack/table-core/8.7.0: - resolution: {integrity: sha512-DRiRbOAmDHapzUBd4/C4Yy+FTug4fdGp5sdZWWfCq4wxRoaXQraQgbzmK23a3QcbwLFtLeNezPkZrqbJWuX+VA==} + /@tanstack/table-core/8.8.5: + resolution: {integrity: sha512-Xnwa1qxpgvSW7ozLiexmKp2PIYcLBiY/IizbdGriYCL6OOHuZ9baRhrrH51zjyz+61ly6K59rmt6AI/3RR+97Q==} engines: {node: '>=12'} dev: true + /@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.4 + dev: true + + /@types/chai/4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true + /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} dev: true @@ -554,12 +786,6 @@ packages: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true - /@types/sass/1.43.1: - resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} - dependencies: - '@types/node': 18.7.6 - dev: true - /@types/semver/6.2.3: resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} dev: true @@ -568,7 +794,7 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.44.0_yhfjt3obleoonqod3oc3n5txuq: + /@typescript-eslint/eslint-plugin/5.44.0_drspp6xuvlzy6p7w452kelou5u: resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -579,23 +805,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.44.0_tg6quxtr5dyl3tikvj7rwonxxi + '@typescript-eslint/parser': 5.44.0_voubu7prgxjfsfbgx5d4sqnwiy '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/type-utils': 5.44.0_tg6quxtr5dyl3tikvj7rwonxxi - '@typescript-eslint/utils': 5.44.0_tg6quxtr5dyl3tikvj7rwonxxi + '@typescript-eslint/type-utils': 5.44.0_voubu7prgxjfsfbgx5d4sqnwiy + '@typescript-eslint/utils': 5.44.0_voubu7prgxjfsfbgx5d4sqnwiy debug: 4.3.4 - eslint: 8.22.0 + eslint: 8.38.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.44.0_tg6quxtr5dyl3tikvj7rwonxxi: + /@typescript-eslint/parser/5.44.0_voubu7prgxjfsfbgx5d4sqnwiy: resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -607,10 +833,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 - '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 + '@typescript-eslint/typescript-estree': 5.44.0_typescript@5.0.4 debug: 4.3.4 - eslint: 8.22.0 - typescript: 4.9.3 + eslint: 8.38.0 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -623,7 +849,7 @@ packages: '@typescript-eslint/visitor-keys': 5.44.0 dev: true - /@typescript-eslint/type-utils/5.44.0_tg6quxtr5dyl3tikvj7rwonxxi: + /@typescript-eslint/type-utils/5.44.0_voubu7prgxjfsfbgx5d4sqnwiy: resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -633,12 +859,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 - '@typescript-eslint/utils': 5.44.0_tg6quxtr5dyl3tikvj7rwonxxi + '@typescript-eslint/typescript-estree': 5.44.0_typescript@5.0.4 + '@typescript-eslint/utils': 5.44.0_voubu7prgxjfsfbgx5d4sqnwiy debug: 4.3.4 - eslint: 8.22.0 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + eslint: 8.38.0 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true @@ -648,7 +874,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.44.0_typescript@4.9.3: + /@typescript-eslint/typescript-estree/5.44.0_typescript@5.0.4: resolution: {integrity: sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -663,13 +889,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.44.0_tg6quxtr5dyl3tikvj7rwonxxi: + /@typescript-eslint/utils/5.44.0_voubu7prgxjfsfbgx5d4sqnwiy: resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -679,10 +905,10 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 - '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 - eslint: 8.22.0 + '@typescript-eslint/typescript-estree': 5.44.0_typescript@5.0.4 + eslint: 8.38.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.22.0 + eslint-utils: 3.0.0_eslint@8.38.0 semver: 7.3.7 transitivePeerDependencies: - supports-color @@ -697,6 +923,45 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@vitest/expect/0.30.1: + resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==} + dependencies: + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 + chai: 4.3.7 + dev: true + + /@vitest/runner/0.30.1: + resolution: {integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==} + dependencies: + '@vitest/utils': 0.30.1 + concordance: 5.0.4 + p-limit: 4.0.0 + pathe: 1.1.0 + dev: true + + /@vitest/snapshot/0.30.1: + resolution: {integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==} + dependencies: + magic-string: 0.30.0 + pathe: 1.1.0 + pretty-format: 27.5.1 + dev: true + + /@vitest/spy/0.30.1: + resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==} + dependencies: + tinyspy: 2.1.0 + dev: true + + /@vitest/utils/0.30.1: + resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==} + dependencies: + concordance: 5.0.4 + loupe: 2.3.6 + pretty-format: 27.5.1 + dev: true + /acorn-jsx/5.3.2_acorn@8.8.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -705,27 +970,19 @@ packages: acorn: 8.8.1 dev: true - /acorn-node/1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - xtend: 4.0.2 - dev: true - - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + /acorn-walk/8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + /acorn/8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/8.8.1: - resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -763,6 +1020,15 @@ packages: color-convert: 2.0.1 dev: true + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -805,19 +1071,23 @@ packages: engines: {node: '>=0.10.0'} dev: true - /autoprefixer/10.4.8_postcss@8.4.16: - resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==} + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /autoprefixer/10.4.14_postcss@8.4.21: + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.3 - caniuse-lite: 1.0.30001378 + browserslist: 4.21.5 + caniuse-lite: 1.0.30001478 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.16 + postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: true @@ -837,6 +1107,10 @@ packages: engines: {node: '>=8'} dev: true + /blueimp-md5/2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -857,15 +1131,15 @@ packages: wcwidth: 1.0.1 dev: true - /browserslist/4.21.3: - resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==} + /browserslist/4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001378 - electron-to-chromium: 1.4.225 - node-releases: 2.0.6 - update-browserslist-db: 1.0.5_browserslist@4.21.3 + caniuse-lite: 1.0.30001478 + electron-to-chromium: 1.4.363 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10_browserslist@4.21.5 dev: true /buffer-crc32/0.2.13: @@ -879,6 +1153,11 @@ packages: streamsearch: 1.1.0 dev: true + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -910,8 +1189,21 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite/1.0.30001378: - resolution: {integrity: sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==} + /caniuse-lite/1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} + dev: true + + /chai/4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 dev: true /chalk/2.4.2: @@ -935,6 +1227,10 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true + /check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: true + /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -954,8 +1250,8 @@ packages: resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} dev: true - /classnames/2.3.1: - resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} + /classnames/2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} dev: true /cliui/6.0.0: @@ -1000,10 +1296,29 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /concordance/5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.3.7 + well-known-symbols: 2.0.0 + dev: true + /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} @@ -1054,6 +1369,13 @@ packages: stream-transform: 2.1.3 dev: true + /date-time/3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -1083,12 +1405,19 @@ packages: resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} dev: true + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-is/0.1.4: 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==} + /deepmerge/4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} dev: true @@ -1106,27 +1435,13 @@ packages: object-keys: 1.1.1 dev: true - /defined/1.0.0: - resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} - dev: true - /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} dev: true - /detective/5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.0 - minimist: 1.2.6 - dev: true - - /devalue/4.2.0: - resolution: {integrity: sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==} + /devalue/4.3.0: + resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} dev: true /didyoumean/1.2.2: @@ -1151,8 +1466,8 @@ packages: esutils: 2.0.3 dev: true - /electron-to-chromium/1.4.225: - resolution: {integrity: sha512-ICHvGaCIQR3P88uK8aRtx8gmejbVJyC6bB4LEC3anzBrIzdzC7aiZHY4iFfXhN4st6I7lMO0x4sgBHf/7kBvRw==} + /electron-to-chromium/1.4.363: + resolution: {integrity: sha512-ReX5qgmSU7ybhzMuMdlJAdYnRhT90UB3k9M05O5nF5WH3wR5wgdJjXw0uDeFyKNhmglmQiOxkAbzrP0hMKM59g==} dev: true /emoji-regex/8.0.0: @@ -1190,244 +1505,64 @@ packages: is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.2 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - string.prototype.trimend: 1.0.5 - string.prototype.trimstart: 1.0.5 - unbox-primitive: 1.0.2 - dev: true - - /es-shim-unscopables/1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.4 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /es6-promise/3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - dev: true - - /esbuild-android-64/0.15.15: - resolution: {integrity: sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.15.15: - resolution: {integrity: sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.15.15: - resolution: {integrity: sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.15.15: - resolution: {integrity: sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.15.15: - resolution: {integrity: sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.15.15: - resolution: {integrity: sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.15.15: - resolution: {integrity: sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.15.15: - resolution: {integrity: sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.15.15: - resolution: {integrity: sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.15.15: - resolution: {integrity: sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.15.15: - resolution: {integrity: sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.15.15: - resolution: {integrity: sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.15.15: - resolution: {integrity: sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.15.15: - resolution: {integrity: sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.15.15: - resolution: {integrity: sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.15.15: - resolution: {integrity: sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.15.15: - resolution: {integrity: sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.2 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + string.prototype.trimend: 1.0.5 + string.prototype.trimstart: 1.0.5 + unbox-primitive: 1.0.2 dev: true - optional: true - /esbuild-windows-32/0.15.15: - resolution: {integrity: sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 dev: true - optional: true - /esbuild-windows-64/0.15.15: - resolution: {integrity: sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.4 + is-date-object: 1.0.5 + is-symbol: 1.0.4 dev: true - optional: true - /esbuild-windows-arm64/0.15.15: - resolution: {integrity: sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + /es6-promise/3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - optional: true - /esbuild/0.15.15: - resolution: {integrity: sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==} + /esbuild/0.17.16: + resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.15.15 - '@esbuild/linux-loong64': 0.15.15 - esbuild-android-64: 0.15.15 - esbuild-android-arm64: 0.15.15 - esbuild-darwin-64: 0.15.15 - esbuild-darwin-arm64: 0.15.15 - esbuild-freebsd-64: 0.15.15 - esbuild-freebsd-arm64: 0.15.15 - esbuild-linux-32: 0.15.15 - esbuild-linux-64: 0.15.15 - esbuild-linux-arm: 0.15.15 - esbuild-linux-arm64: 0.15.15 - esbuild-linux-mips64le: 0.15.15 - esbuild-linux-ppc64le: 0.15.15 - esbuild-linux-riscv64: 0.15.15 - esbuild-linux-s390x: 0.15.15 - esbuild-netbsd-64: 0.15.15 - esbuild-openbsd-64: 0.15.15 - esbuild-sunos-64: 0.15.15 - esbuild-windows-32: 0.15.15 - esbuild-windows-64: 0.15.15 - esbuild-windows-arm64: 0.15.15 + '@esbuild/android-arm': 0.17.16 + '@esbuild/android-arm64': 0.17.16 + '@esbuild/android-x64': 0.17.16 + '@esbuild/darwin-arm64': 0.17.16 + '@esbuild/darwin-x64': 0.17.16 + '@esbuild/freebsd-arm64': 0.17.16 + '@esbuild/freebsd-x64': 0.17.16 + '@esbuild/linux-arm': 0.17.16 + '@esbuild/linux-arm64': 0.17.16 + '@esbuild/linux-ia32': 0.17.16 + '@esbuild/linux-loong64': 0.17.16 + '@esbuild/linux-mips64el': 0.17.16 + '@esbuild/linux-ppc64': 0.17.16 + '@esbuild/linux-riscv64': 0.17.16 + '@esbuild/linux-s390x': 0.17.16 + '@esbuild/linux-x64': 0.17.16 + '@esbuild/netbsd-x64': 0.17.16 + '@esbuild/openbsd-x64': 0.17.16 + '@esbuild/sunos-x64': 0.17.16 + '@esbuild/win32-arm64': 0.17.16 + '@esbuild/win32-ia32': 0.17.16 + '@esbuild/win32-x64': 0.17.16 dev: true /escalade/3.1.1: @@ -1445,23 +1580,23 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.5.0_eslint@8.22.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + /eslint-config-prettier/8.8.0_eslint@8.38.0: + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.22.0 + eslint: 8.38.0 dev: true - /eslint-plugin-svelte3/4.0.0_4q4bd7oywvqywjbc7esftey46u: + /eslint-plugin-svelte3/4.0.0_a4ckjr7darsrglbip3svgxgxc4: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.22.0 - svelte: 3.53.1 + eslint: 8.38.0 + svelte: 3.58.0 dev: true /eslint-scope/5.1.1: @@ -1480,13 +1615,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.22.0: + /eslint-utils/3.0.0_eslint@8.38.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.22.0 + eslint: 8.38.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1500,14 +1635,23 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.22.0: - resolution: {integrity: sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==} + /eslint-visitor-keys/3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.3 - '@humanwhocodes/config-array': 0.10.7 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -1515,23 +1659,22 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.22.0 - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 - esquery: 1.4.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 - functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.17.0 - globby: 11.1.0 + globals: 13.20.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -1539,22 +1682,24 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - regexpp: 3.2.0 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/9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} + /esm-env/1.0.0: + resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + dev: true + + /espree/9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.1 acorn-jsx: 5.3.2_acorn@8.8.1 - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.0 dev: true /esprima/4.0.1: @@ -1563,8 +1708,8 @@ packages: hasBin: true dev: true - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -1609,6 +1754,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + /fast-glob/3.2.11: resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} @@ -1620,6 +1769,17 @@ packages: micromatch: 4.0.5 dev: true + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true @@ -1731,10 +1891,6 @@ packages: functions-have-names: 1.2.3 dev: true - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - dev: true - /functions-have-names/1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -1744,6 +1900,10 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true + /get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: true + /get-intrinsic/1.1.2: resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} dependencies: @@ -1774,6 +1934,17 @@ packages: is-glob: 4.0.3 dev: true + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -1785,8 +1956,8 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/13.17.0: - resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2010,6 +2181,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -2065,6 +2241,20 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /jiti/1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + dev: true + + /js-sdsl/4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + + /js-string-escape/1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -2096,6 +2286,10 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + /jsonfile/4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: @@ -2139,6 +2333,11 @@ packages: strip-bom: 3.0.0 dev: true + /local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2165,10 +2364,20 @@ packages: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /loupe/2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.4.1 + tslib: 2.5.0 dev: true /lru-cache/4.1.5: @@ -2185,17 +2394,18 @@ packages: yallist: 4.0.0 dev: true - /magic-string/0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /magic-string/0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /map-obj/1.0.1: @@ -2208,6 +2418,13 @@ packages: engines: {node: '>=8'} dev: true + /md5-hex/3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /meow/6.1.1: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} @@ -2280,6 +2497,15 @@ packages: minimist: 1.2.6 dev: true + /mlly/1.2.0: + resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} + dependencies: + acorn: 8.8.2 + pathe: 1.1.0 + pkg-types: 1.0.2 + ufo: 1.1.1 + dev: true + /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -2294,6 +2520,14 @@ packages: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2312,11 +2546,11 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.4.1 + tslib: 2.5.0 dev: true - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + /node-releases/2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} dev: true /normalize-package-data/2.5.0: @@ -2338,6 +2572,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + /object-hash/3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -2410,6 +2649,13 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -2455,7 +2701,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.5.0 dev: true /path-exists/4.0.0: @@ -2482,6 +2728,14 @@ packages: engines: {node: '>=8'} dev: true + /pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true + + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -2501,6 +2755,11 @@ packages: engines: {node: '>=6'} dev: true + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -2508,35 +2767,43 @@ packages: find-up: 4.1.0 dev: true + /pkg-types/1.0.2: + resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.2.0 + pathe: 1.1.0 + dev: true + /playwright-core/1.28.1: resolution: {integrity: sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==} engines: {node: '>=14'} hasBin: true dev: true - /postcss-import/14.1.0_postcss@8.4.16: + /postcss-import/14.1.0_postcss@8.4.21: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.16 + postcss: 8.4.21 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 dev: true - /postcss-js/4.0.0_postcss@8.4.16: + /postcss-js/4.0.0_postcss@8.4.21: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.16 + postcss: 8.4.21 dev: true - /postcss-load-config/3.1.4_postcss@8.4.16: + /postcss-load-config/3.1.4_postcss@8.4.21: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -2549,22 +2816,22 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - postcss: 8.4.16 + postcss: 8.4.21 yaml: 1.10.2 dev: true - /postcss-nested/5.0.6_postcss@8.4.16: - resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + /postcss-nested/6.0.0_postcss@8.4.21: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.16 - postcss-selector-parser: 6.0.10 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-selector-parser/6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -2575,17 +2842,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.16: - resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss/8.4.19: - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -2608,24 +2866,33 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.8.1_3ndnxlh52lolrqe4kgjgbxb3xa: - resolution: {integrity: sha512-KA3K1J3/wKDnCxW7ZDRA/QL2Q67N7Xs3gOERqJ5X1qFjq1DdnN3K1R29scSKwh+kA8FF67pXbYytUpvN/i3iQw==} + /prettier-plugin-svelte/2.10.0_ur5pqdgn24bclu6l6i7qojopk4: + resolution: {integrity: sha512-GXMY6t86thctyCvQq+jqElO+MKdB09BkL3hexyGP3Oi8XLKRFaJP1ud/xlWCZ9ZIa2BxHka32zhHfcuU+XsRQg==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.8.0 - svelte: 3.53.1 + prettier: 2.8.7 + svelte: 3.58.0 dev: true - /prettier/2.8.0: - resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} + /prettier/2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /prismjs/1.28.0: - resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==} + /pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /prismjs/1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} dev: true @@ -2652,6 +2919,10 @@ packages: engines: {node: '>=10'} dev: true + /react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /read-cache/1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: @@ -2767,9 +3038,9 @@ packages: glob: 7.2.3 dev: true - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} + /rollup/3.20.2: + resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 @@ -2854,6 +3125,10 @@ packages: object-inspect: 1.12.2 dev: true + /siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -2885,14 +3160,14 @@ packages: yargs: 15.4.1 dev: true - /sorcery/0.10.0: - resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} + /sorcery/0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} hasBin: true dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 buffer-crc32: 0.2.13 minimist: 1.2.6 sander: 0.5.1 - sourcemap-codec: 1.4.8 dev: true /source-map-js/1.0.2: @@ -2900,8 +3175,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: true /spawndamnit/2.0.0: @@ -2937,6 +3213,14 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true + /stackback/0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /std-env/3.3.2: + resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} + dev: true + /stream-transform/2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: @@ -2997,6 +3281,26 @@ packages: engines: {node: '>=8'} dev: true + /strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + dependencies: + acorn: 8.8.2 + dev: true + + /sucrase/3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3016,26 +3320,25 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.9.2_u33pgtxu3gqi357bz6g76h2s3i: - resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==} + /svelte-check/3.2.0_hr6j3rdz3345ss7d3smrgfivne: + resolution: {integrity: sha512-6ZnscN8dHEN5Eq5LgIzjj07W9nc9myyBH+diXsUAuiY/3rt0l65/LCIQYlIuoFEjp2F1NhXqZiJwV9omPj9tMw==} hasBin: true peerDependencies: - svelte: ^3.24.0 + svelte: ^3.55.0 dependencies: - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.18 chokidar: 3.5.3 fast-glob: 3.2.11 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.53.1 - svelte-preprocess: 4.10.7_7didjlxbjyvpwpuqfnb4ntirw4 - typescript: 4.9.3 + svelte: 3.58.0 + svelte-preprocess: 5.0.3_whyegyloq3je4drn7ncry4svru + typescript: 5.0.4 transitivePeerDependencies: - '@babel/core' - coffeescript - less - - node-sass - postcss - postcss-load-config - pug @@ -3044,32 +3347,31 @@ packages: - sugarss dev: true - /svelte-hmr/0.15.1_svelte@3.53.1: + /svelte-hmr/0.15.1_svelte@3.58.0: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.53.1 + svelte: 3.58.0 dev: true - /svelte-preprocess/4.10.7_7didjlxbjyvpwpuqfnb4ntirw4: - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/5.0.3_whyegyloq3je4drn7ncry4svru: + resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} + engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 - node-sass: '*' postcss: ^7 || ^8 postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 - sugarss: ^2.0.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': optional: true @@ -3077,8 +3379,6 @@ packages: optional: true less: optional: true - node-sass: - optional: true postcss: optional: true postcss-load-config: @@ -3095,39 +3395,38 @@ packages: optional: true dependencies: '@types/pug': 2.0.6 - '@types/sass': 1.43.1 detect-indent: 6.1.0 - magic-string: 0.25.9 - postcss: 8.4.16 - sorcery: 0.10.0 + magic-string: 0.27.0 + postcss: 8.4.21 + sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 3.53.1 - typescript: 4.9.3 + svelte: 3.58.0 + typescript: 5.0.4 dev: true - /svelte/3.53.1: - resolution: {integrity: sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==} + /svelte/3.58.0: + resolution: {integrity: sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==} engines: {node: '>= 8'} dev: true - /svelte2tsx/0.5.20_7dvewpees4iyn2tkw2qzal77a4: - resolution: {integrity: sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==} + /svelte2tsx/0.6.11_kxq5ayp4qfv2n6flkngpsntzw4: + resolution: {integrity: sha512-rRW/3V/6mcejYWmSqcHpmILOSPsOhLgkbKbrTOz82s2n8TywmIsqj2jYPsiL6HeGoUM/atiTD0YKguW4b7ECog==} peerDependencies: - svelte: ^3.24 - typescript: ^4.1.2 + svelte: ^3.55 + typescript: ^4.9.4 || ^5.0.0 dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 3.53.1 - typescript: 4.9.3 + svelte: 3.58.0 + typescript: 5.0.4 dev: true - /tailwind-merge/1.5.1: - resolution: {integrity: sha512-lqmJS6+3vsNQY77TMMRBVFbWyMcIAAD/09Vs+IXCt3cza58/O7X5DBbOu+7p6LPhw0efK45LL8kAJ7IORccMag==} + /tailwind-merge/1.12.0: + resolution: {integrity: sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g==} dev: true - /tailwindcss/3.1.8_postcss@8.4.16: - resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} + /tailwindcss/3.3.1_postcss@8.4.21: + resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==} engines: {node: '>=12.13.0'} hasBin: true peerDependencies: @@ -3136,25 +3435,27 @@ packages: arg: 5.0.2 chokidar: 3.5.3 color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.11 + fast-glob: 3.2.12 glob-parent: 6.0.2 is-glob: 4.0.3 + jiti: 1.18.2 lilconfig: 2.0.6 + micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.16 - postcss-import: 14.1.0_postcss@8.4.16 - postcss-js: 4.0.0_postcss@8.4.16 - postcss-load-config: 3.1.4_postcss@8.4.16 - postcss-nested: 5.0.6_postcss@8.4.16 - postcss-selector-parser: 6.0.10 + postcss: 8.4.21 + postcss-import: 14.1.0_postcss@8.4.21 + postcss-js: 4.0.0_postcss@8.4.21 + postcss-load-config: 3.1.4_postcss@8.4.21 + postcss-nested: 6.0.0_postcss@8.4.21 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 resolve: 1.22.1 + sucrase: 3.32.0 transitivePeerDependencies: - ts-node dev: true @@ -3168,6 +3469,24 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /time-zone/1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /tiny-glob/0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -3175,6 +3494,20 @@ packages: globrex: 0.1.2 dev: true + /tinybench/2.4.0: + resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} + dev: true + + /tinypool/0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy/2.1.0: + resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} + engines: {node: '>=14.0.0'} + dev: true + /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -3199,22 +3532,26 @@ packages: engines: {node: '>=8'} dev: true + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.4.1: - resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: true - /tsutils/3.21.0_typescript@4.9.3: + /tsutils/3.21.0_typescript@5.0.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.3 + typescript: 5.0.4 dev: true /tty-table/4.1.6: @@ -3238,6 +3575,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + /type-fest/0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} @@ -3258,12 +3600,16 @@ packages: engines: {node: '>=8'} dev: true - /typescript/4.9.3: - resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} - engines: {node: '>=4.2.0'} + /typescript/5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} hasBin: true dev: true + /ufo/1.1.1: + resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} + dev: true + /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -3273,8 +3619,8 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /undici/5.12.0: - resolution: {integrity: sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg==} + /undici/5.20.0: + resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 @@ -3285,13 +3631,13 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /update-browserslist-db/1.0.5_browserslist@4.21.3: - resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==} + /update-browserslist-db/1.0.10_browserslist@4.21.5: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.3 + browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -3306,10 +3652,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - /validate-npm-package-license/3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -3317,8 +3659,29 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite/3.2.4: - resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + /vite-node/0.30.1_@types+node@18.7.6: + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.2.0 + pathe: 1.1.0 + picocolors: 1.0.0 + vite: 4.2.1_@types+node@18.7.6 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite/4.2.1: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -3342,23 +3705,123 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.15 - postcss: 8.4.19 + esbuild: 0.17.16 + postcss: 8.4.21 resolve: 1.22.1 - rollup: 2.79.1 + rollup: 3.20.2 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu/0.2.2_vite@3.2.4: - resolution: {integrity: sha512-8CKEIWPm4B4DUDN+h+hVJa9pyNi7rzc5MYmbxhs1wcMakueGFNWB5/DL30USm9qU3xUPnL4/rrLEAwwFiD1tag==} + /vite/4.2.1_@types+node@18.7.6: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.7.6 + esbuild: 0.17.16 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.20.2 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitefu/0.2.4_vite@4.2.1: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: - vite: ^3.0.0 + vite: ^3.0.0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - vite: 3.2.4 + vite: 4.2.1 + dev: true + + /vitest/0.30.1: + resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.4 + '@types/chai-subset': 1.3.3 + '@types/node': 18.7.6 + '@vitest/expect': 0.30.1 + '@vitest/runner': 0.30.1 + '@vitest/snapshot': 0.30.1 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + concordance: 5.0.4 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.0 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + std-env: 3.3.2 + strip-literal: 1.0.1 + tinybench: 2.4.0 + tinypool: 0.4.0 + vite: 4.2.1_@types+node@18.7.6 + vite-node: 0.30.1_@types+node@18.7.6 + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser dev: true /wcwidth/1.0.1: @@ -3367,6 +3830,11 @@ packages: defaults: 1.0.3 dev: true + /well-known-symbols/2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -3404,6 +3872,15 @@ packages: isexe: 2.0.0 dev: true + /why-is-node-running/2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} @@ -3431,11 +3908,6 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n/4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true @@ -3505,3 +3977,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true diff --git a/src/docs/playground/button.ts b/src/docs/playground/button.ts index 51d16ed..d853059 100644 --- a/src/docs/playground/button.ts +++ b/src/docs/playground/button.ts @@ -9,18 +9,19 @@ export default function getButtonTree(defaultProps: ButtonProps): PlaygroundComp name: 'Button', propDefinitions: [ { - name: 'variant', - description: 'The variant to use', - default: defaultProps.variant, + name: 'type', + description: 'The type of the button', + default: defaultProps.type, control: { type: 'select', props: { - name: 'variant', - value: defaultProps.variant, + name: 'type', + value: defaultProps.type, options: [ 'filled', 'tonal', - 'outlined' + 'outlined', + 'text' ] } } diff --git a/src/lib/components/Button.svelte b/src/lib/components/Button.svelte index 036d4d6..76e89d3 100644 --- a/src/lib/components/Button.svelte +++ b/src/lib/components/Button.svelte @@ -1,104 +1,25 @@ diff --git a/src/lib/components/CardHeader.svelte b/src/lib/components/CardHeader.svelte index 3e26a23..b8955f6 100644 --- a/src/lib/components/CardHeader.svelte +++ b/src/lib/components/CardHeader.svelte @@ -1,17 +1,24 @@ -
- -
+ + + diff --git a/src/lib/components/CardTitle.svelte b/src/lib/components/CardTitle.svelte index 5c50086..150190c 100644 --- a/src/lib/components/CardTitle.svelte +++ b/src/lib/components/CardTitle.svelte @@ -3,9 +3,10 @@ import getThemeContext from '../styles/getThemeContext'; import type { CardTitleProps } from '../types'; import { twMerge } from 'tailwind-merge'; + import evaluateVariantClasses from '$lib/styles/evaluateVariantClasses'; const theme = getThemeContext(); - const { defaultProps, styleOverrides } = theme.components.CardTitle; + const { defaultProps, variants } = theme.components.CardTitle; let _class = ''; export { _class as class }; @@ -15,7 +16,10 @@ diff --git a/src/lib/styles/createTheme.ts b/src/lib/styles/createTheme.ts index 9ca5314..5bb6135 100644 --- a/src/lib/styles/createTheme.ts +++ b/src/lib/styles/createTheme.ts @@ -1,48 +1,49 @@ -import type { ThemeOptions } from '../types'; +import type { ThemeOptions } from '$lib'; import merge from 'lodash-es/merge.js'; +import defaultButtonOptions from '$lib/styles/default/button'; +import defaultCardOptions from '$lib/styles/default/card'; +import defaultCardTitleOptions from '$lib/styles/default/cardTitle'; +import defaultCardActionOptions from '$lib/styles/default/cardAction'; +import defaultCardContentOptions from '$lib/styles/default/cardContent'; +import defaultCardHeaderOptions from '$lib/styles/default/cardHeader'; +// import defaultChipOptions from '$lib/styles/default/chip'; +// import defaultContainerOptions from '$lib/styles/default/container'; +// import defaultDividerOptions from '$lib/styles/default/divider'; +// import defaultDrawerOptions from '$lib/styles/default/drawer'; +// import defaultHeadingOptions from '$lib/styles/default/heading'; +// import defaultIconOptions from '$lib/styles/default/icon'; +// import defaultIconButtonOptions from '$lib/styles/default/iconButton'; +// import defaultInputOptions from '$lib/styles/default/input'; +// import defaultLinkOptions from '$lib/styles/default/link'; +// import defaultListOptions from '$lib/styles/default/list'; +// import defaultListItemOptions from '$lib/styles/default/listItem'; +// import defaultMenuOptions from '$lib/styles/default/menu'; +// import defaultMenuItemOptions from '$lib/styles/default/menuItem'; +// import defaultModalOptions from '$lib/styles/default/modal'; +// import defaultPaperOptions from '$lib/styles/default/paper'; +// import defaultPopoverOptions from '$lib/styles/default/popover'; +// import defaultRadioOptions from '$lib/styles/default/radio'; +// import defaultSelectOptions from '$lib/styles/default/select'; +// import defaultSliderOptions from '$lib/styles/default/slider'; +// import defaultSnackbarOptions from '$lib/styles/default/snackbar'; +// import defaultSwitchOptions from '$lib/styles/default/switch'; +// import defaultTabOptions from '$lib/styles/default/tab'; +// import defaultTableOptions from '$lib/styles/default/table'; +// import defaultTableCellOptions from '$lib/styles/default/tableCell'; +// import defaultTableHeadOptions from '$lib/styles/default/tableHead'; +// import defaultTableRowOptions from '$lib/styles/default/tableRow'; +// import defaultTabsOptions from '$lib/styles/default/tabs'; +// import defaultTextareaOptions from '$lib/styles/default/textarea'; +// import defaultTooltipOptions from '$lib/styles/default/tooltip'; -export const defaultTheme: ThemeOptions = { +export const defaultTheme: Required = { components: { - Button: { - defaultProps: { - element: 'button', - variant: 'filled', - color: 'primary', - size: 'medium' - }, - styleOverrides: {} - }, - Card: { - defaultProps: { - element: 'div', - outlined: false - }, - styleOverrides: {} - }, - CardAction: { - defaultProps: { - element: 'div' - }, - styleOverrides: {} - }, - CardContent: { - defaultProps: { - element: 'div' - }, - styleOverrides: {} - }, - CardHeader: { - defaultProps: { - element: 'div' - }, - styleOverrides: {} - }, - CardTitle: { - defaultProps: { - element: 'h3' - }, - styleOverrides: {} - }, + Button: defaultButtonOptions, + Card: defaultCardOptions, + CardAction: defaultCardActionOptions, + CardContent: defaultCardContentOptions, + CardHeader: defaultCardHeaderOptions, + CardTitle: defaultCardTitleOptions, Chip: { defaultProps: { element: 'div', @@ -187,26 +188,7 @@ export const defaultTheme: ThemeOptions = { size: 'medium' }, styleOverrides: { - displaySmall: '', - display: '', - displayMedium: '', - displayLarge: '', - headline: '', - headlineSmall: '', - headlineMedium: '', - headlineLarge: '', - titleSmall: '', - title: '', - titleMedium: '', - titleLarge: '', - label: '', - labelSmall: '', - labelMedium: '', - labelLarge: '', - body: '', - bodySmall: '', - bodyMedium: '', - bodyLarge: '' + displaySmall: 'text' } }, Paper: { @@ -220,5 +202,5 @@ export const defaultTheme: ThemeOptions = { }; export const createTheme = (theme: ThemeOptions) => { - return merge(defaultTheme, theme); + return merge, ThemeOptions>(defaultTheme, theme); }; diff --git a/src/lib/styles/default/README.md b/src/lib/styles/default/README.md new file mode 100644 index 0000000..503cdcf --- /dev/null +++ b/src/lib/styles/default/README.md @@ -0,0 +1,11 @@ +# Default component theme + +```ts +import type { ButtonOptions } from '$lib/types'; + +const defaultOptions: ButtonOptions = { + +} + +export default defaultOptions; +``` \ No newline at end of file diff --git a/src/lib/styles/default/button.ts b/src/lib/styles/default/button.ts new file mode 100644 index 0000000..532c1f2 --- /dev/null +++ b/src/lib/styles/default/button.ts @@ -0,0 +1,120 @@ +import type { ButtonOptions } from '$lib'; + +// TODO: make return type required after styleOverrides are removed +const defaultOptions: ButtonOptions = { + defaultProps: { + element: 'button', + type: 'filled', + color: 'primary', + size: 'medium' + }, + variants: [ + { + props: {}, + class: `h-fit w-fit rounded-lg py-2 px-4 + duration-100 ring-primary-80 ring-offset-1` + }, + { + props: { type: 'tonal' }, + class: 'bg-primary-80 text-white' + }, + { + props: { type: 'outlined' }, + class: 'border transition-colors font active:bg-gray-100/70' + }, + { + props: { type: 'outlined', color: 'primary' }, + class: `text-primary border-primary-90 + shadow-sm shadow-primary-200/50 + hover:border-primary-50` + }, + { + props: { type: 'outlined', color: 'secondary' }, + class: `text-primary-900 border-secondary-200 + shadow-sm shadow-secondary-200/50 + hover:border-secondary-500` + }, + { + props: { type: 'outlined', color: 'ternary' }, + class: `text-ternary-900 border-ternary-200 + shadow-sm shadow-ternary-200/50 + hover:border-ternary-500` + }, + { + props: { type: 'outlined', color: 'success' }, + class: `text-emerald-900 border-emerald-200 + shadow-sm shadow-emerald-200/50 + hover:border-emerald-500` + }, + { + props: { type: 'outlined', color: 'warning' }, + class: `text-amber-900 border-amber-200 + shadow-sm shadow-amber-200/50 + hover:border-amber-500` + }, + { + props: { type: 'outlined', color: 'error' }, + class: `text-rose-900 border-rose-200 + shadow-sm shadow-rose-200/50 + hover:border-rose-500` + }, + { + props: { type: 'filled' }, + class: 'text-white hover:opacity-90 transition-opacity' + }, + { + props: { type: 'filled', color: 'primary' }, + class: `bg-gradient-to-b from-primary-30 to-primary-40 + shadow-md shadow-primary-200/50 + active:from-primary-600 active:to-primary-700` + }, + { + props: { type: 'filled', color: 'secondary' }, + class: `bg-gradient-to-b from-secondary-30 to-secondary-40 + shadow-md shadow-secondary-200/50 + active:from-secondary-600 active:to-secondary-700` + }, + { + props: { type: 'filled', color: 'ternary' }, + class: `bg-gradient-to-b from-ternary-30 to-ternary-40 + shadow-md shadow-ternary-200/50 + active:from-ternary-600 active:to-ternary-700` + }, + { + props: { type: 'filled', color: 'success' }, + class: `bg-gradient-to-b from-emerald-500 to-emerald-600 + shadow-md shadow-emerald-200/50 + active:from-emerald-600 active:to-emerald-700` + }, + { + props: { type: 'filled', color: 'warning' }, + class: `bg-gradient-to-b from-amber-500 to-amber-600 + shadow-md shadow-amber-200/50 + active:from-amber-600 active:to-amber-700` + }, + { + props: { type: 'filled', color: 'error' }, + class: `bg-gradient-to-b from-rose-500 to-rose-600 + shadow-md shadow-rose-200/50 + active:from-rose-600 active:to-rose-700` + }, + { + props: { type: 'text' }, + class: 'hover:bg-gray-100/80' + }, + { + props: { type: 'text', color: 'primary' }, + class: 'text-primary-30 hover:bg-primary-80/20' + }, + { + props: { size: 'small' }, + class: 'text-sm py-1.5 px-3' + }, + { + props: { size: 'large' }, + class: 'py-3 px-6' + } + ] +}; + +export default defaultOptions; \ No newline at end of file diff --git a/src/lib/styles/default/card.ts b/src/lib/styles/default/card.ts new file mode 100644 index 0000000..7fa1b27 --- /dev/null +++ b/src/lib/styles/default/card.ts @@ -0,0 +1,20 @@ +import type { CardOptions } from '$lib'; + +const defaultCardOptions: CardOptions = { + defaultProps: { + element: 'div', + outlined: false + }, + variants: [ + { + props: { outlined: false }, + class: `bg-white rounded-xl box-border bg-surface` + }, + { + props: { outlined: true }, + class: `shadow-none border border-outline-variant` + } + ] +} + +export default defaultCardOptions; \ No newline at end of file diff --git a/src/lib/styles/default/cardAction.ts b/src/lib/styles/default/cardAction.ts new file mode 100644 index 0000000..4345ad7 --- /dev/null +++ b/src/lib/styles/default/cardAction.ts @@ -0,0 +1,10 @@ +import type { CardActionOptions } from '$lib/types'; + +const defaultOptions: CardActionOptions = { + defaultProps: { + element: 'button' + }, + variants: [] +} + +export default defaultOptions; \ No newline at end of file diff --git a/src/lib/styles/default/cardContent.ts b/src/lib/styles/default/cardContent.ts new file mode 100644 index 0000000..bb894d9 --- /dev/null +++ b/src/lib/styles/default/cardContent.ts @@ -0,0 +1,15 @@ +import type { CardContentOptions } from '$lib/types'; + +const defaultOptions: CardContentOptions = { + defaultProps: { + element: 'div' + }, + variants: [ + { + props: {}, + class: 'p-4' + } + ] +} + +export default defaultOptions; \ No newline at end of file diff --git a/src/lib/styles/default/cardHeader.ts b/src/lib/styles/default/cardHeader.ts new file mode 100644 index 0000000..2af9351 --- /dev/null +++ b/src/lib/styles/default/cardHeader.ts @@ -0,0 +1,15 @@ +import type { CardContentOptions } from '$lib/types'; + +const defaultOptions: CardContentOptions = { + defaultProps: { + element: 'div' + }, + variants: [ + { + props: {}, + class: 'bg-surface-1 px-8 py-4' + } + ] +} + +export default defaultOptions; \ No newline at end of file diff --git a/src/lib/styles/default/cardTitle.ts b/src/lib/styles/default/cardTitle.ts new file mode 100644 index 0000000..d8a2ba2 --- /dev/null +++ b/src/lib/styles/default/cardTitle.ts @@ -0,0 +1,10 @@ +import type { CardTitleOptions } from '$lib/types'; + +const defaultOptions: CardTitleOptions = { + defaultProps: { + element: 'h3' + }, + variants: [] +} + +export default defaultOptions; diff --git a/src/lib/styles/evaluateVariantClasses.test.ts b/src/lib/styles/evaluateVariantClasses.test.ts new file mode 100644 index 0000000..a2804f1 --- /dev/null +++ b/src/lib/styles/evaluateVariantClasses.test.ts @@ -0,0 +1,46 @@ +import evaluateVariantClasses from '$lib/styles/evaluateVariantClasses'; +import type { ButtonProps, Variants } from '$lib'; +import { expect } from 'vitest'; + +it("should get styles for primary filled button", () => { + const props: ButtonProps = { + type: "filled", + color: "primary" + }; + + const variants: Variants = [ + { + props: {}, + class: "h-fit w-fit rounded-lg py-2 px-4" + }, + { + props: { type: "outlined" }, + class: "border transition-colors font active:bg-gray-100/70", + }, + { + props: { type: "outlined", color: "primary" }, + class: `text-primary border-outline + shadow-sm shadow-primary-200/50 + hover:border-primary-500` + }, + { + props: {type: "filled"}, + class: "text-white hover:opacity-90 transition-opacity" + }, + { + props: {type: "filled", color: "primary"}, + class: `bg-gradient-to-b from-primary-30 to-primary-40 + shadow-md shadow-primary-200/50 + active:from-primary-600 active:to-primary-700` + }, + { + props: {type: "filled", color: "secondary"}, + class: `bg-gradient-to-b from-secondary-30 to-secondary-40 + shadow-md shadow-secondary-200/50 + active:from-secondary-600 active:to-secondary-700` + } + ] + + const evaluatedClasses = evaluateVariantClasses(props, variants) + expect(evaluatedClasses).toMatchSnapshot(); +}); diff --git a/src/lib/styles/evaluateVariantClasses.ts b/src/lib/styles/evaluateVariantClasses.ts new file mode 100644 index 0000000..6714bb1 --- /dev/null +++ b/src/lib/styles/evaluateVariantClasses.ts @@ -0,0 +1,18 @@ +import type { Variants } from '$lib'; +import { twMerge } from 'tailwind-merge'; + +export default function evaluateVariantClasses>(props: T, variants: Variants) { + const applicableClasses: string[] = []; + for (const variant of variants) { + let currentVariantApplicable = true; + for (const propKey of Object.keys(variant.props)) { + if (props[propKey] !== variant.props[propKey]) { + currentVariantApplicable = false; + break; + } + } + if (currentVariantApplicable) applicableClasses.push(variant.class); + } + + return twMerge(applicableClasses); +} diff --git a/src/lib/styles/getThemeContext.ts b/src/lib/styles/getThemeContext.ts index 9aa4b6b..3bd0388 100644 --- a/src/lib/styles/getThemeContext.ts +++ b/src/lib/styles/getThemeContext.ts @@ -1,9 +1,9 @@ import { getContext } from 'svelte'; -import { themeContextKey } from '../utils/consts'; -import type { ThemeOptions } from '../types'; +import { themeContextKey } from '$lib/utils/consts'; +import type { ThemeOptions } from '$lib'; export default function getThemeContext() { - const theme = getContext(themeContextKey); + const theme = getContext>(themeContextKey); if (!theme) { throw new Error("You haven't defined a theme context!"); diff --git a/src/lib/types/button.ts b/src/lib/types/button.ts index 2e93327..e61b9a4 100644 --- a/src/lib/types/button.ts +++ b/src/lib/types/button.ts @@ -1,27 +1,9 @@ import type { ComponentOptions, Colors, ElementProps} from './index'; -export type ButtonOptions = ComponentOptions; +export type ButtonOptions = ComponentOptions; -export type ButtonProps = ElementProps& { - variant?: 'text' | 'filled' | "tonal" | 'outlined'; +export type ButtonProps = ElementProps & { + type?: 'text' | 'filled' | "tonal" | 'outlined'; color?: Colors; size?: 'small' | 'medium' | 'large'; -}; - -export type ButtonStylesOverrideOptions = { - root?: string; - filled?: string; - tonal?: string; - outlined?: string; - primary?: string; - accent?: string; - secondary?: string; - primaryFilled?: string; - primaryTonal?: string; - primaryOutlined?: string; - secondaryOutlined?: string; - secondaryFilled?: string; - secondaryTonal?: string; - small?: string; - large?: string; -}; +}; \ No newline at end of file diff --git a/src/lib/types/card.ts b/src/lib/types/card.ts index cb6e724..e85b02e 100644 --- a/src/lib/types/card.ts +++ b/src/lib/types/card.ts @@ -1,58 +1,28 @@ import type { ComponentOptions, ElementProps } from './index'; /* Card */ -export type CardOptions = ComponentOptions; +export type CardOptions = ComponentOptions; export type CardProps = ElementProps & { outlined?: boolean; }; -export type CardStylesOverrideOptions = { - root?: string; - outline?: string; -}; - /* Card Header */ -export type CardHeaderOptions = ComponentOptions< - CardHeaderProps, - CardHeaderStylesOverrideOptions ->; +export type CardHeaderOptions = ComponentOptions; export type CardHeaderProps = ElementProps; -export type CardHeaderStylesOverrideOptions = { - root?: string; -}; - /* Card Title */ -export type CardTitleOptions = ComponentOptions< - CardTitleProps, - CardTitleStyleOverrideOptions ->; +export type CardTitleOptions = ComponentOptions; export type CardTitleProps = ElementProps; -export type CardTitleStyleOverrideOptions = { - root?: string; -}; - /* Card Action */ -export type CardActionOptions = ComponentOptions; +export type CardActionOptions = ComponentOptions; export type CardActionProps = ElementProps; -export type CardActionOverrideOptions = { - root?: string; -}; - /* Card Content */ -export type CardContentOptions = ComponentOptions< - CardContentProps, - CardContentStylesOverrideOptions ->; +export type CardContentOptions = ComponentOptions; -export type CardContentProps = ElementProps; - -export type CardContentStylesOverrideOptions = { - root?: string; -}; +export type CardContentProps = ElementProps; \ No newline at end of file diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts index 7a90171..e5cf174 100644 --- a/src/lib/types/index.ts +++ b/src/lib/types/index.ts @@ -1,8 +1,6 @@ import type { ContainerOptions } from './container'; -import type { SupportedElement } from '../utils/elements'; import type { DividerOptions } from './divider'; import type { TypographyOptions } from './typography'; -import type { ButtonOptions } from './button'; import type { DrawerOptions } from './drawer'; import type { CardActionOptions, CardContentOptions, CardHeaderOptions, CardOptions, CardTitleOptions } from './card'; import type { TabGroupOptions, TabListOptions, TabOptions, TabPanelOptions, TabPanelsOptions } from './tabs'; @@ -21,35 +19,33 @@ import type { TableOptions, TableRowOptions } from './table'; +import type { ButtonOptions } from '$lib/types/button'; -export type PaletteColor = { +export type ColorPalette = { main: string; onMain: string; container: string; onContainer: string; } -export type PaletteColors = { - primary: string; - onPrimary: string; - primaryContainer: string; - onPrimaryContainer: string; - secondary: PaletteColor; - ternary: PaletteColor; - error: PaletteColor; - background: string - onBackground: string - surface: string - onSurface: string - surfaceVariant: string; - onSurfaceVariant: string; - outline: string; - outlineVariant: string; +export type SurfacePalette = { + main: string; + dim: string; + bright: string; + containerLowest: string; + containerLow: string; + container: string; + containerHigh: string; + containerHighest: string; } export type Palette = { - get: (color: keyof PaletteColors, type: "color" | "background") => string -} & PaletteColors; + primary: ColorPalette; + secondary: ColorPalette; + ternary: ColorPalette; + error: ColorPalette; + surface: SurfacePalette +} export type ThemeOptions = { components?: { @@ -90,15 +86,20 @@ export type ThemeOptions = { export type Theme = { palette: Palette -} & ThemeOptions; +} & Required; + +export type Variants = { + props: T, + class: string +}[] -export type ComponentOptions = { - defaultProps?: P; - styleOverrides?: O; +export type ComponentOptions = { + defaultProps: T; + variants: Variants }; export type ElementProps = { - element?: SupportedElement; + element?: keyof HTMLElementTagNameMap; }; export type Elevation = 'none' | 'sm' | 'default' | 'md' | 'lg' | 'xl' | '2xl'; diff --git a/src/lib/utils/elements.ts b/src/lib/utils/elements.ts index 432edf7..0d9d796 100644 --- a/src/lib/utils/elements.ts +++ b/src/lib/utils/elements.ts @@ -46,4 +46,4 @@ const components = [ 'ul' ] as const; -export type SupportedElement = typeof components[number]; +export type HTMLElement = typeof components[number]; diff --git a/tsconfig.json b/tsconfig.json index eb2ec41..56cb229 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,6 +24,7 @@ "skipLibCheck": true, "sourceMap": true, "strict": true, - "target": "es2020" + "target": "es2020", + "types": ["vitest/globals"] } } diff --git a/vite.config.js b/vite.config.js deleted file mode 100644 index 8747050..0000000 --- a/vite.config.js +++ /dev/null @@ -1,8 +0,0 @@ -import { sveltekit } from '@sveltejs/kit/vite'; - -/** @type {import('vite').UserConfig} */ -const config = { - plugins: [sveltekit()] -}; - -export default config; diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..d6f4d1d --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,10 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [sveltekit()], + test: { + include: ['src/**/*.{test,spec}.{js,ts}'], + globals: true + } +}); \ No newline at end of file