Update
This commit is contained in:
parent
b3cfba5b10
commit
7e6daf94cc
15
package.json
15
package.json
|
@ -18,17 +18,28 @@
|
|||
"@sveltejs/kit": "next",
|
||||
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
||||
"@typescript-eslint/parser": "^5.27.0",
|
||||
"attractions": "^3.7.0",
|
||||
"autoprefixer": "^10.4.8",
|
||||
"eslint": "^8.16.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-svelte3": "^4.0.0",
|
||||
"postcss": "^8.4.16",
|
||||
"prettier": "^2.6.2",
|
||||
"prettier-plugin-svelte": "^2.7.0",
|
||||
"sass": "^1.54.7",
|
||||
"svelte": "^3.44.0",
|
||||
"svelte-check": "^2.7.1",
|
||||
"svelte-preprocess": "^4.10.6",
|
||||
"svelte-preprocess": "^4.10.7",
|
||||
"tailwindcss": "^3.1.8",
|
||||
"tslib": "^2.3.1",
|
||||
"typescript": "^4.7.4",
|
||||
"vite": "^3.1.0-beta.1"
|
||||
},
|
||||
"type": "module"
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@mdi/font": "^7.0.96",
|
||||
"@mdi/js": "^7.0.96",
|
||||
"agnostic-svelte": "^1.1.27",
|
||||
"mdi-svelte": "^1.1.2"
|
||||
}
|
||||
}
|
||||
|
|
380
pnpm-lock.yaml
380
pnpm-lock.yaml
|
@ -1,40 +1,60 @@
|
|||
lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
'@mdi/font': ^7.0.96
|
||||
'@mdi/js': ^7.0.96
|
||||
'@playwright/test': ^1.25.0
|
||||
'@sveltejs/adapter-auto': next
|
||||
'@sveltejs/kit': next
|
||||
'@typescript-eslint/eslint-plugin': ^5.27.0
|
||||
'@typescript-eslint/parser': ^5.27.0
|
||||
agnostic-svelte: ^1.1.27
|
||||
attractions: ^3.7.0
|
||||
autoprefixer: ^10.4.8
|
||||
eslint: ^8.16.0
|
||||
eslint-config-prettier: ^8.3.0
|
||||
eslint-plugin-svelte3: ^4.0.0
|
||||
mdi-svelte: ^1.1.2
|
||||
postcss: ^8.4.16
|
||||
prettier: ^2.6.2
|
||||
prettier-plugin-svelte: ^2.7.0
|
||||
sass: ^1.54.7
|
||||
svelte: ^3.44.0
|
||||
svelte-check: ^2.7.1
|
||||
svelte-preprocess: ^4.10.6
|
||||
svelte-preprocess: ^4.10.7
|
||||
tailwindcss: ^3.1.8
|
||||
tslib: ^2.3.1
|
||||
typescript: ^4.7.4
|
||||
vite: ^3.1.0-beta.1
|
||||
|
||||
dependencies:
|
||||
'@mdi/font': 7.0.96
|
||||
'@mdi/js': 7.0.96
|
||||
agnostic-svelte: 1.1.27_svelte@3.49.0
|
||||
mdi-svelte: 1.1.2
|
||||
|
||||
devDependencies:
|
||||
'@playwright/test': 1.25.1
|
||||
'@sveltejs/adapter-auto': 1.0.0-next.70
|
||||
'@sveltejs/kit': 1.0.0-next.456_fhgkwirxvgjw2igda6zmhiisma
|
||||
'@sveltejs/adapter-auto': 1.0.0-next.71
|
||||
'@sveltejs/kit': 1.0.0-next.460_fhgkwirxvgjw2igda6zmhiisma
|
||||
'@typescript-eslint/eslint-plugin': 5.36.1_lbwfnm54o3pmr3ypeqp3btnera
|
||||
'@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
|
||||
attractions: 3.7.0_ufjatbtqlomsznofyumggn5xqu
|
||||
autoprefixer: 10.4.8_postcss@8.4.16
|
||||
eslint: 8.23.0
|
||||
eslint-config-prettier: 8.5.0_eslint@8.23.0
|
||||
eslint-plugin-svelte3: 4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e
|
||||
postcss: 8.4.16
|
||||
prettier: 2.7.1
|
||||
prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi
|
||||
sass: 1.54.7
|
||||
svelte: 3.49.0
|
||||
svelte-check: 2.9.0_svelte@3.49.0
|
||||
svelte-preprocess: 4.10.7_k5n4uipe6734vn7334tf7n5ml4
|
||||
svelte-check: 2.9.0_c6x723yp7pdz7iha3ksnylcgzy
|
||||
svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm
|
||||
tailwindcss: 3.1.8
|
||||
tslib: 2.4.0
|
||||
typescript: 4.8.2
|
||||
vite: 3.1.0-beta.1
|
||||
vite: 3.1.0-beta.1_sass@1.54.7
|
||||
|
||||
packages:
|
||||
|
||||
|
@ -130,6 +150,14 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@mdi/font/7.0.96:
|
||||
resolution: {integrity: sha512-rzlxTfR64hqY8yiBzDjmANfcd8rv+T5C0Yedv/TWk2QyAQYdc66e0kaN1ipmnYU3RukHRTRcBARHzzm+tIhL7w==}
|
||||
dev: false
|
||||
|
||||
/@mdi/js/7.0.96:
|
||||
resolution: {integrity: sha512-lNqhkV3cpPfYb/Avh+vXLFukUTbHbyHoFo4Jdc7Oc9UvURGVhamFIpgOVvEf2bNA78zvjXTZeVWExUTR+DLBfQ==}
|
||||
dev: false
|
||||
|
||||
/@nodelib/fs.scandir/2.1.5:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
|
@ -172,11 +200,11 @@ packages:
|
|||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/@sveltejs/adapter-auto/1.0.0-next.70:
|
||||
resolution: {integrity: sha512-FJlDO6oUqbuFJjQoguGb4gdBj3iCSM3evFXkBpQ7hvwu3y2gKbcdzsxdn9tZ5LzkHh79CeJcwiszXFQ8usKk/A==}
|
||||
/@sveltejs/adapter-auto/1.0.0-next.71:
|
||||
resolution: {integrity: sha512-Qsl82HcehWJbZztXgmU/nTPDeeIaB4jrOQpSvy3Pi8octs+rEf/CO87Wk06EP+M/zUzEHDNENMOx0DgWuHpj7Q==}
|
||||
dependencies:
|
||||
'@sveltejs/adapter-cloudflare': 1.0.0-next.32
|
||||
'@sveltejs/adapter-netlify': 1.0.0-next.75
|
||||
'@sveltejs/adapter-netlify': 1.0.0-next.76
|
||||
'@sveltejs/adapter-vercel': 1.0.0-next.72
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
@ -191,8 +219,8 @@ packages:
|
|||
worktop: 0.8.0-next.14
|
||||
dev: true
|
||||
|
||||
/@sveltejs/adapter-netlify/1.0.0-next.75:
|
||||
resolution: {integrity: sha512-1zTR/U/ceEAyqIGJ74v54G+JbIR+fSmTN9qfqGOM0gBwVoBVRUujGm4tDFJQNYzvuGzVnC7br/rhYMLZd2JluQ==}
|
||||
/@sveltejs/adapter-netlify/1.0.0-next.76:
|
||||
resolution: {integrity: sha512-XC33i13N+zkDP1rKrssQ55TPzt4DkLjKux6g1xW2MB+5KxnC9PP2rIkocKxFw/pK2XU8cUIgmOJ1y5PQrHaiKg==}
|
||||
dependencies:
|
||||
'@iarna/toml': 2.2.5
|
||||
esbuild: 0.14.54
|
||||
|
@ -210,8 +238,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@sveltejs/kit/1.0.0-next.456_fhgkwirxvgjw2igda6zmhiisma:
|
||||
resolution: {integrity: sha512-yzYoRtRPqVTcIehfxXptZzH5bDN/19cqTrrJ1KM0Ju5BrpRsRvqLYlZBYBaDv0bx1MdfJkUJlPVchLbS6bsRXw==}
|
||||
/@sveltejs/kit/1.0.0-next.460_fhgkwirxvgjw2igda6zmhiisma:
|
||||
resolution: {integrity: sha512-bwDkwzEN72+1K5FXqBQGrYOwyA6V5sSSec/A6qXMTfh4uycFTiIQh/e2ki3pxfG0SwijrUo43FEbdKLyBiuDgQ==}
|
||||
engines: {node: '>=16.14'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
|
@ -232,7 +260,7 @@ packages:
|
|||
svelte: 3.49.0
|
||||
tiny-glob: 0.2.9
|
||||
undici: 5.10.0
|
||||
vite: 3.1.0-beta.1
|
||||
vite: 3.1.0-beta.1_sass@1.54.7
|
||||
transitivePeerDependencies:
|
||||
- diff-match-patch
|
||||
- supports-color
|
||||
|
@ -256,7 +284,7 @@ packages:
|
|||
magic-string: 0.26.3
|
||||
svelte: 3.49.0
|
||||
svelte-hmr: 0.14.12_svelte@3.49.0
|
||||
vite: 3.1.0-beta.1
|
||||
vite: 3.1.0-beta.1_sass@1.54.7
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
@ -426,6 +454,12 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/a11y-dialog/7.5.2:
|
||||
resolution: {integrity: sha512-zfWtVvrbGbP3AFnEJ1aJFtu7GvedgjOEKbkyEUSeaNWDzmFJk9O5nuolDQrRDyRDE5fqSJRiBJtD5bUYKveoUg==}
|
||||
dependencies:
|
||||
focusable-selectors: 0.4.0
|
||||
dev: false
|
||||
|
||||
/abbrev/1.1.1:
|
||||
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
|
||||
dev: true
|
||||
|
@ -438,6 +472,25 @@ packages:
|
|||
acorn: 8.8.0
|
||||
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==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
dev: true
|
||||
|
||||
/acorn/7.4.1:
|
||||
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/acorn/8.8.0:
|
||||
resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
|
@ -453,6 +506,19 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/agnostic-helpers/1.0.2:
|
||||
resolution: {integrity: sha512-BizdxC9SYdd0kgY/3lcDeeiSTs4BwUsa0oc5Nsaz5j397rZgC0vO1Tlvj5XOk/1pqTtnBi0ptu0/6CQvdwnsww==}
|
||||
dev: false
|
||||
|
||||
/agnostic-svelte/1.1.27_svelte@3.49.0:
|
||||
resolution: {integrity: sha512-wV0JbTr1Jbkh8/YRWVvWsQ2aFY+std/rG0avADm7romk1Zptdyh8j2+507PvQHKSl3lqsCeDx7yLFq5SWfANIw==}
|
||||
dependencies:
|
||||
agnostic-helpers: 1.0.2
|
||||
svelte-a11y-dialog: 0.2.0_svelte@3.49.0
|
||||
transitivePeerDependencies:
|
||||
- svelte
|
||||
dev: false
|
||||
|
||||
/ajv/6.12.6:
|
||||
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||
dependencies:
|
||||
|
@ -494,6 +560,10 @@ packages:
|
|||
readable-stream: 3.6.0
|
||||
dev: true
|
||||
|
||||
/arg/5.0.2:
|
||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||
dev: true
|
||||
|
||||
/argparse/2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
dev: true
|
||||
|
@ -507,6 +577,36 @@ packages:
|
|||
resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
|
||||
dev: true
|
||||
|
||||
/attractions/3.7.0_ufjatbtqlomsznofyumggn5xqu:
|
||||
resolution: {integrity: sha512-Se8fyAr80gHJf0qClk2cK7hndjHPU0X6netBbau/g0rBPC+L6HxKAYVqwYfb5pTXxtFx6k63Uvj0LDL/6/P3rg==}
|
||||
peerDependencies:
|
||||
postcss: '>=7 <9'
|
||||
sass: '>=1.33.0'
|
||||
svelte: ^3.31.0
|
||||
svelte-preprocess: ^4.0.10
|
||||
dependencies:
|
||||
postcss: 8.4.16
|
||||
sass: 1.54.7
|
||||
svelte: 3.49.0
|
||||
svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm
|
||||
dev: true
|
||||
|
||||
/autoprefixer/10.4.8_postcss@8.4.16:
|
||||
resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
browserslist: 4.21.3
|
||||
caniuse-lite: 1.0.30001387
|
||||
fraction.js: 4.2.0
|
||||
normalize-range: 0.1.2
|
||||
picocolors: 1.0.0
|
||||
postcss: 8.4.16
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/balanced-match/1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: true
|
||||
|
@ -536,6 +636,17 @@ packages:
|
|||
fill-range: 7.0.1
|
||||
dev: true
|
||||
|
||||
/browserslist/4.21.3:
|
||||
resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001387
|
||||
electron-to-chromium: 1.4.237
|
||||
node-releases: 2.0.6
|
||||
update-browserslist-db: 1.0.5_browserslist@4.21.3
|
||||
dev: true
|
||||
|
||||
/buffer-crc32/0.2.13:
|
||||
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
||||
dev: true
|
||||
|
@ -545,6 +656,15 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/camelcase-css/2.0.1:
|
||||
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite/1.0.30001387:
|
||||
resolution: {integrity: sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA==}
|
||||
dev: true
|
||||
|
||||
/chalk/4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -611,6 +731,12 @@ packages:
|
|||
which: 2.0.2
|
||||
dev: true
|
||||
|
||||
/cssesc/3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/data-uri-to-buffer/4.0.0:
|
||||
resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==}
|
||||
engines: {node: '>= 12'}
|
||||
|
@ -637,6 +763,10 @@ packages:
|
|||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/defined/1.0.0:
|
||||
resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==}
|
||||
dev: true
|
||||
|
||||
/delegates/1.0.0:
|
||||
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
|
||||
dev: true
|
||||
|
@ -651,10 +781,24 @@ packages:
|
|||
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/3.1.2:
|
||||
resolution: {integrity: sha512-wUXbMGPAsBx79UF14nsWSsJlC7RcwPlf2w3bGheODWxKx57e9n68ceoijbqCJCEbjyo0S79nqfPwQgyijwLaqw==}
|
||||
dev: true
|
||||
|
||||
/didyoumean/1.2.2:
|
||||
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||
dev: true
|
||||
|
||||
/dir-glob/3.0.1:
|
||||
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
||||
engines: {node: '>=8'}
|
||||
|
@ -662,6 +806,10 @@ packages:
|
|||
path-type: 4.0.0
|
||||
dev: true
|
||||
|
||||
/dlv/1.1.3:
|
||||
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||
dev: true
|
||||
|
||||
/doctrine/3.0.0:
|
||||
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
@ -669,6 +817,10 @@ packages:
|
|||
esutils: 2.0.3
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium/1.4.237:
|
||||
resolution: {integrity: sha512-vxVyGJcsgArNOVUJcXm+7iY3PJAfmSapEszQD1HbyPLl0qoCmNQ1o/EX3RI7Et5/88In9oLxX3SGF8J3orkUgA==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex/8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
dev: true
|
||||
|
@ -886,6 +1038,11 @@ packages:
|
|||
esbuild-windows-arm64: 0.14.54
|
||||
dev: true
|
||||
|
||||
/escalade/3.1.1:
|
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp/4.0.0:
|
||||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -1115,6 +1272,10 @@ packages:
|
|||
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
|
||||
dev: true
|
||||
|
||||
/focusable-selectors/0.4.0:
|
||||
resolution: {integrity: sha512-tc/236hUU3xemsRLu1RKhRQ5UWHjRM9iJTli1zdac43h7b1biRSgG0mILM0qrcsKaGCHcOPJ6NKbk12ouKHLpw==}
|
||||
dev: false
|
||||
|
||||
/formdata-polyfill/4.0.10:
|
||||
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
|
||||
engines: {node: '>=12.20.0'}
|
||||
|
@ -1122,6 +1283,10 @@ packages:
|
|||
fetch-blob: 3.2.0
|
||||
dev: true
|
||||
|
||||
/fraction.js/4.2.0:
|
||||
resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
|
||||
dev: true
|
||||
|
||||
/fs-minipass/2.1.0:
|
||||
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
@ -1255,6 +1420,10 @@ packages:
|
|||
engines: {node: '>= 4'}
|
||||
dev: true
|
||||
|
||||
/immutable/4.1.0:
|
||||
resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
|
||||
dev: true
|
||||
|
||||
/import-fresh/3.3.0:
|
||||
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -1346,6 +1515,11 @@ packages:
|
|||
type-check: 0.4.0
|
||||
dev: true
|
||||
|
||||
/lilconfig/2.0.6:
|
||||
resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/locate-path/6.0.0:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -1384,6 +1558,10 @@ packages:
|
|||
semver: 6.3.0
|
||||
dev: true
|
||||
|
||||
/mdi-svelte/1.1.2:
|
||||
resolution: {integrity: sha512-jVn/CxVzOXTVWDJpUgkgbL/Dt3GTcxa51bOZHQtmrW+lPNypKXddNJIvcqSX+xW6KRIgjB4m715XjaqbDT/mFA==}
|
||||
dev: false
|
||||
|
||||
/merge2/1.4.1:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
@ -1501,6 +1679,10 @@ packages:
|
|||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/node-releases/2.0.6:
|
||||
resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
|
||||
dev: true
|
||||
|
||||
/nopt/5.0.0:
|
||||
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -1514,6 +1696,11 @@ packages:
|
|||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/normalize-range/0.1.2:
|
||||
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/npmlog/5.0.1:
|
||||
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
|
||||
dependencies:
|
||||
|
@ -1528,6 +1715,11 @@ packages:
|
|||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/object-hash/3.0.0:
|
||||
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/once/1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
|
@ -1600,12 +1792,78 @@ packages:
|
|||
engines: {node: '>=8.6'}
|
||||
dev: true
|
||||
|
||||
/pify/2.3.0:
|
||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/playwright-core/1.25.1:
|
||||
resolution: {integrity: sha512-lSvPCmA2n7LawD2Hw7gSCLScZ+vYRkhU8xH0AapMyzwN+ojoDqhkH/KIEUxwNu2PjPoE/fcE0wLAksdOhJ2O5g==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/postcss-import/14.1.0_postcss@8.4.16:
|
||||
resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.0.0
|
||||
dependencies:
|
||||
postcss: 8.4.16
|
||||
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:
|
||||
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
|
||||
dev: true
|
||||
|
||||
/postcss-load-config/3.1.4_postcss@8.4.16:
|
||||
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
|
||||
engines: {node: '>= 10'}
|
||||
peerDependencies:
|
||||
postcss: '>=8.0.9'
|
||||
ts-node: '>=9.0.0'
|
||||
peerDependenciesMeta:
|
||||
postcss:
|
||||
optional: true
|
||||
ts-node:
|
||||
optional: true
|
||||
dependencies:
|
||||
lilconfig: 2.0.6
|
||||
postcss: 8.4.16
|
||||
yaml: 1.10.2
|
||||
dev: true
|
||||
|
||||
/postcss-nested/5.0.6_postcss@8.4.16:
|
||||
resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.2.14
|
||||
dependencies:
|
||||
postcss: 8.4.16
|
||||
postcss-selector-parser: 6.0.10
|
||||
dev: true
|
||||
|
||||
/postcss-selector-parser/6.0.10:
|
||||
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/postcss-value-parser/4.2.0:
|
||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||
dev: true
|
||||
|
||||
/postcss/8.4.16:
|
||||
resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
@ -1645,6 +1903,17 @@ packages:
|
|||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||
dev: true
|
||||
|
||||
/quick-lru/5.1.1:
|
||||
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/read-cache/1.0.0:
|
||||
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
||||
dependencies:
|
||||
pify: 2.3.0
|
||||
dev: true
|
||||
|
||||
/readable-stream/3.6.0:
|
||||
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
@ -1749,6 +2018,16 @@ packages:
|
|||
rimraf: 2.7.1
|
||||
dev: true
|
||||
|
||||
/sass/1.54.7:
|
||||
resolution: {integrity: sha512-3q7MQz7sCpVG6TLhUfZwGOcd2/sm2ghYN2JEdRjNiW04ILdvahdo9GuAs+bxsxZ3hDCKv+wUT5w0iFWGU0CxlA==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chokidar: 3.5.3
|
||||
immutable: 4.1.0
|
||||
source-map-js: 1.0.2
|
||||
dev: true
|
||||
|
||||
/semver/6.3.0:
|
||||
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
|
||||
hasBin: true
|
||||
|
@ -1865,7 +2144,16 @@ packages:
|
|||
engines: {node: '>= 0.4'}
|
||||
dev: true
|
||||
|
||||
/svelte-check/2.9.0_svelte@3.49.0:
|
||||
/svelte-a11y-dialog/0.2.0_svelte@3.49.0:
|
||||
resolution: {integrity: sha512-sVJ6SbLABFfbeNNcsFpHA7VY4S1MXC8rZ9AzNtOMWjxwiwTc0Xl3ZSUYbz7ixbxLr4tDDVoZmb7xQTzLbTyZag==}
|
||||
peerDependencies:
|
||||
svelte: ^3.44.0
|
||||
dependencies:
|
||||
a11y-dialog: 7.5.2
|
||||
svelte: 3.49.0
|
||||
dev: false
|
||||
|
||||
/svelte-check/2.9.0_c6x723yp7pdz7iha3ksnylcgzy:
|
||||
resolution: {integrity: sha512-9AVrtP7WbfDgCdqTZNPdj5CCCy1OrYMxFVWAWzNw7fl93c9klFJFtqzVXa6fovfQ050CcpUyJE2dPFL9TFAREw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
@ -1878,7 +2166,7 @@ packages:
|
|||
picocolors: 1.0.0
|
||||
sade: 1.8.1
|
||||
svelte: 3.49.0
|
||||
svelte-preprocess: 4.10.7_k5n4uipe6734vn7334tf7n5ml4
|
||||
svelte-preprocess: 4.10.7_2lciotjd6bilkiadfxmz6rz2jm
|
||||
typescript: 4.8.2
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
|
@ -1902,7 +2190,7 @@ packages:
|
|||
svelte: 3.49.0
|
||||
dev: true
|
||||
|
||||
/svelte-preprocess/4.10.7_k5n4uipe6734vn7334tf7n5ml4:
|
||||
/svelte-preprocess/4.10.7_2lciotjd6bilkiadfxmz6rz2jm:
|
||||
resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==}
|
||||
engines: {node: '>= 9.11.2'}
|
||||
requiresBuild: true
|
||||
|
@ -1947,6 +2235,8 @@ packages:
|
|||
'@types/sass': 1.43.1
|
||||
detect-indent: 6.1.0
|
||||
magic-string: 0.25.9
|
||||
postcss: 8.4.16
|
||||
sass: 1.54.7
|
||||
sorcery: 0.10.0
|
||||
strip-indent: 3.0.0
|
||||
svelte: 3.49.0
|
||||
|
@ -1956,6 +2246,36 @@ packages:
|
|||
/svelte/3.49.0:
|
||||
resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
/tailwindcss/3.1.8:
|
||||
resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==}
|
||||
engines: {node: '>=12.13.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
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
|
||||
glob-parent: 6.0.2
|
||||
is-glob: 4.0.3
|
||||
lilconfig: 2.0.6
|
||||
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-value-parser: 4.2.0
|
||||
quick-lru: 5.1.1
|
||||
resolve: 1.22.1
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/tar/6.1.11:
|
||||
|
@ -2038,6 +2358,17 @@ packages:
|
|||
engines: {node: '>=12.18'}
|
||||
dev: true
|
||||
|
||||
/update-browserslist-db/1.0.5_browserslist@4.21.3:
|
||||
resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
browserslist: '>= 4.21.0'
|
||||
dependencies:
|
||||
browserslist: 4.21.3
|
||||
escalade: 3.1.1
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/uri-js/4.4.1:
|
||||
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||
dependencies:
|
||||
|
@ -2048,7 +2379,7 @@ packages:
|
|||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
dev: true
|
||||
|
||||
/vite/3.1.0-beta.1:
|
||||
/vite/3.1.0-beta.1_sass@1.54.7:
|
||||
resolution: {integrity: sha512-JGEnWSC0hfarcduTCQr6wnRjPLbT62iLCK59HBJXYt9oyWSUMtrvcnDqzvLFC+lHV6KGFQkmWlZucyIQmgUnLA==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
|
@ -2071,6 +2402,7 @@ packages:
|
|||
postcss: 8.4.16
|
||||
resolve: 1.22.1
|
||||
rollup: 2.78.1
|
||||
sass: 1.54.7
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
@ -2122,10 +2454,20 @@ 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
|
||||
|
||||
/yallist/4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
dev: true
|
||||
|
||||
/yaml/1.10.2:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/yocto-queue/0.1.0:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<script lang="ts">
|
||||
import Icon from 'mdi-svelte';
|
||||
|
||||
export let icon;
|
||||
export let text: string | undefined = undefined;
|
||||
</script>
|
||||
|
||||
<button class="bg-gray-700 hover:bg-gray-800 text-slate-400 font-bold py-2 px-2 rounded inline-flex items-center" on:click>
|
||||
<Icon path={icon} class="text-slate-400 w-4" />
|
||||
{#if text !== undefined}
|
||||
<span class="ml-2 mr-2">{text}</span>
|
||||
{/if}
|
||||
</button>
|
|
@ -0,0 +1,9 @@
|
|||
<svg role="status" class="inline h-8 w-8 animate-spin mr-2 text-gray-200 dark:text-gray-600 fill-slate-400"
|
||||
viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
|
||||
fill="currentColor" />
|
||||
<path
|
||||
d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
|
||||
fill="currentFill" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,32 @@
|
|||
<script context="module" lang="ts">
|
||||
export type Page = {
|
||||
name: string,
|
||||
target: string,
|
||||
};
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
export let pages: Array<Page>;
|
||||
|
||||
$: activeTarget = 0;
|
||||
</script>
|
||||
|
||||
<!-- This example requires Tailwind CSS v2.0+ -->
|
||||
<nav class="bg-gray-800">
|
||||
<div class="mx-auto max-w-7xl px-2 sm:px-6 lg:px-8">
|
||||
<div class="relative flex h-16 items-center justify-between">
|
||||
<div class="flex flex-1 items-center justify-center sm:items-stretch sm:justify-start">
|
||||
<div class="hidden sm:ml-6 sm:block">
|
||||
<div class="flex space-x-4">
|
||||
{#each pages as page, i}
|
||||
<a href={page.target} on:click={() => activeTarget = i} class="{i === activeTarget ? 'bg-gray-900 text-slate-400 px-3 py-2 rounded-md text-sm font-medium' : 'text-slate-400 hover:bg-gray-700 px-3 py-2 rounded-md text-sm font-medium'}" aria-current="page">{page.name}</a>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<slot />
|
||||
</div>
|
||||
</nav>
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<script context="module" lang="ts">
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import Loading from "./Loading.svelte";
|
||||
|
||||
|
||||
export let headers: Array<string>;
|
||||
export let rows: Array<Array<string>> | undefined = undefined;
|
||||
export let loading: boolean = false;
|
||||
</script>
|
||||
|
||||
|
||||
<div class="inline-block min-w-full py-2 align-middle">
|
||||
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
||||
<table class="min-w-full divide-y divide-gray-600">
|
||||
<thead class="bg-gray-800">
|
||||
<tr>
|
||||
{#each headers as header}
|
||||
<th scope="col" class="px-3 py-3.5 text-left text-sm font-semibold text-slate-400">{header}</th>
|
||||
{/each}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-gray-600 bg-gray-700">
|
||||
{#if rows !== undefined && rows !== null}
|
||||
{#each rows as row}
|
||||
<tr>
|
||||
{#each row as value}
|
||||
<td class="whitespace-nowrap px-3 py-4 text-sm text-slate-400">{value}</td>
|
||||
{/each}
|
||||
</tr>
|
||||
{/each}
|
||||
{/if}
|
||||
<slot />
|
||||
{#if loading === true}
|
||||
<tr>
|
||||
<td colspan={headers.length + 1} class="py-3">
|
||||
<div class="grid place-items-center">
|
||||
<Loading />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,3 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
// See https://kit.svelte.dev/docs/types#app
|
||||
// for information about these interfaces
|
||||
// and what to do when importing types
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body>
|
||||
<body class="base theme-dark bg-slate-900 text-slate-400">
|
||||
<div>%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<script lang="ts">
|
||||
import Navbar, { type Page } from "../Navbar.svelte";
|
||||
import "../app.css";
|
||||
|
||||
let pages: Array<Page> = [
|
||||
{ target: "/", name: "Home" },
|
||||
{ target: "/users", name: "Users" },
|
||||
{ target: "/events", name: "Events" },
|
||||
];
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.page {
|
||||
margin: 0em;
|
||||
padding: 3em;
|
||||
}
|
||||
</style>
|
||||
|
||||
<Navbar {pages} />
|
||||
|
||||
<div class="page bg-slate-900">
|
||||
<slot></slot>
|
||||
</div>
|
|
@ -1,2 +1,8 @@
|
|||
<script lang="ts">
|
||||
let name: String = "Hello World";
|
||||
</script>
|
||||
|
||||
<h1>Welcome to SvelteKit</h1>
|
||||
<p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
|
||||
|
||||
<p>{name}</p>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<h1>Events</h1>
|
|
@ -0,0 +1,142 @@
|
|||
<script context="module" lang="ts">
|
||||
export type User = {
|
||||
id: string,
|
||||
name: string,
|
||||
score: number,
|
||||
};
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import { onMount } from "svelte";
|
||||
import Table from "../../Table.svelte";
|
||||
import { mdiPlus, mdiDelete, mdiPencil, mdiCheck } from '@mdi/js';
|
||||
import Button from "../../Button.svelte";
|
||||
import { apiRequest } from "../../util";
|
||||
|
||||
let headers = ["Id", "Username", "Score", ""];
|
||||
|
||||
let users: User[] | undefined;
|
||||
|
||||
let loading = false;
|
||||
let newUsername: string | undefined;
|
||||
|
||||
let scoreEdit: string | undefined;
|
||||
let newScore: string | undefined;
|
||||
|
||||
const loadUsers = async () => {
|
||||
loading = true;
|
||||
|
||||
let response = await apiRequest('GET', '/user');
|
||||
|
||||
if (response.status == 200) {
|
||||
users = await response.json();
|
||||
} else {
|
||||
console.error(`Request failed: got code ${response.status}, expected 200`);
|
||||
}
|
||||
|
||||
loading = false;
|
||||
};
|
||||
|
||||
const addUser = async () => {
|
||||
loading = true;
|
||||
|
||||
let response = await apiRequest('POST', '/user', JSON.stringify(newUsername));
|
||||
|
||||
if (response.status == 201) {
|
||||
let user: User = await response.json();
|
||||
|
||||
if (users !== undefined) {
|
||||
users = [...users, user];
|
||||
} else {
|
||||
users = [user];
|
||||
}
|
||||
} else {
|
||||
console.error(`Request failed: got code ${response.status}, expected 201`);
|
||||
}
|
||||
|
||||
loading = false;
|
||||
};
|
||||
|
||||
const removeUser = async (id: string) => {
|
||||
loading = true;
|
||||
|
||||
let response = await apiRequest('DELETE', `/user/${id}`);
|
||||
|
||||
if (response.status == 200) {
|
||||
users = users?.filter(user => user.id != id);
|
||||
} else {
|
||||
console.error(`Request failed: got code ${response.status}, expected 200`);
|
||||
}
|
||||
|
||||
loading = false;
|
||||
};
|
||||
|
||||
const updateScore = async (id: string) => {
|
||||
loading = true;
|
||||
scoreEdit = undefined;
|
||||
|
||||
if (newScore !== undefined) {
|
||||
let response = await apiRequest('POST', `/user/${id}/score`, JSON.stringify(parseInt(newScore)));
|
||||
|
||||
if (response.status == 200) {
|
||||
users = users?.map(u => {
|
||||
if (u.id == id && newScore !== undefined) {
|
||||
u.score = parseInt(newScore);
|
||||
}
|
||||
return u
|
||||
});
|
||||
} else {
|
||||
console.error(`Request failed: got code ${response.status}, expected 200`);
|
||||
scoreEdit = id;
|
||||
}
|
||||
}
|
||||
|
||||
loading = false;
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
await loadUsers();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div class="max-w-7xl mx-auto">
|
||||
<Table {headers} {loading}>
|
||||
{#if users !== undefined}
|
||||
{#each users as user}
|
||||
<tr>
|
||||
<td class="font-mono whitespace-nowrap px-3 py-4 text-sm text-slate-500">{user.id}</td>
|
||||
<td class="whitespace-nowrap px-3 py-4 text-sm text-slate-400">{user.name}</td>
|
||||
<td class="whitespace-nowrap px-3 text-sm text-slate-400">
|
||||
{#if scoreEdit === user.id}
|
||||
<span class="inline-block">
|
||||
<input class="mx-2 appearance-none block bg-gray-700 text-slate-400 border border-gray-600 rounded py-2 px-2 w-10 leading-tight focus:outline-none focus:ring-1 focus:ring-gray-500 focus:border-gray-500" placeholder={user.score.toString()} bind:value={newScore}>
|
||||
</span>
|
||||
<Button icon={mdiCheck} on:click={() => updateScore(user.id)} />
|
||||
{:else}
|
||||
<span class="my-3 w-20">
|
||||
{user.score}
|
||||
</span>
|
||||
<Button icon={mdiPencil} on:click={() => scoreEdit = user.id} />
|
||||
{/if}
|
||||
</td>
|
||||
<td class="whitespace-nowrap py-4 text-sm text-slate-400">
|
||||
<Button icon={mdiDelete} on:click={() => removeUser(user.id)} />
|
||||
</td>
|
||||
</tr>
|
||||
{/each}
|
||||
{/if}
|
||||
<tr>
|
||||
<td colspan={1} />
|
||||
<td colspan={1}>
|
||||
<input class="mx-2 appearance-none block bg-gray-700 text-slate-400 border border-gray-600 rounded py-2 px-4 leading-tight focus:outline-none focus:ring-1 focus:ring-gray-500 focus:border-gray-500" placeholder="username" bind:value={newUsername}>
|
||||
</td>
|
||||
<td colspan={1} />
|
||||
{#if loading === false}
|
||||
<td colspan={1} class="py-3">
|
||||
<Button icon={mdiPlus} on:click={() => addUser()} />
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</Table>
|
||||
</div>
|
|
@ -0,0 +1,4 @@
|
|||
import { writable } from 'svelte/store';
|
||||
|
||||
export const apiKey = writable("7de10bf6-278d-11ed-ad60-a8a15919d1b3");
|
||||
export const apiEndpoint = writable("http://localhost:8000/api/");
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
import { apiEndpoint, apiKey } from './store';
|
||||
import { get } from 'svelte/store';
|
||||
|
||||
export const apiRequest = async (method: string, endpoint: string, body?: string) => {
|
||||
const myHeaders = new Headers();
|
||||
myHeaders.append('X-API-Key', get(apiKey));
|
||||
|
||||
const myInit: RequestInit = {
|
||||
method,
|
||||
headers: myHeaders,
|
||||
mode: 'cors',
|
||||
cache: 'default',
|
||||
body,
|
||||
};
|
||||
|
||||
const myRequest = new Request(`${get(apiEndpoint)}/${endpoint}`);
|
||||
return await fetch(myRequest, myInit);
|
||||
}
|
|
@ -5,7 +5,7 @@ import preprocess from 'svelte-preprocess';
|
|||
const config = {
|
||||
// Consult https://github.com/sveltejs/svelte-preprocess
|
||||
// for more information about preprocessors
|
||||
preprocess: preprocess(),
|
||||
preprocess: preprocess({ postcss: true }),
|
||||
|
||||
kit: {
|
||||
adapter: adapter()
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ['./src/**/*.{html,js,svelte,ts}'],
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [],
|
||||
}
|
Loading…
Reference in New Issue