add icons lib (#41)
Browse files- package-lock.json +249 -0
- package.json +2 -0
- src/app.d.ts +3 -0
- src/lib/components/chat/ChatWindow.svelte +7 -17
- src/routes/+layout.svelte +15 -10
- vite.config.ts +7 -1
package-lock.json
CHANGED
@@ -20,6 +20,7 @@
|
|
20 |
"tailwindcss": "^3.3.1"
|
21 |
},
|
22 |
"devDependencies": {
|
|
|
23 |
"@sveltejs/adapter-node": "^1.2.0",
|
24 |
"@sveltejs/kit": "^1.5.0",
|
25 |
"@tailwindcss/typography": "^0.5.9",
|
@@ -35,9 +36,32 @@
|
|
35 |
"svelte-check": "^3.0.1",
|
36 |
"tslib": "^2.4.1",
|
37 |
"typescript": "^4.9.3",
|
|
|
38 |
"vite": "^4.0.0"
|
39 |
}
|
40 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
"node_modules/@esbuild/android-arm": {
|
42 |
"version": "0.17.16",
|
43 |
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.16.tgz",
|
@@ -487,6 +511,35 @@
|
|
487 |
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
|
488 |
"dev": true
|
489 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
"node_modules/@jridgewell/gen-mapping": {
|
491 |
"version": "0.3.3",
|
492 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
|
@@ -1871,6 +1924,29 @@
|
|
1871 |
"node": ">=0.10.0"
|
1872 |
}
|
1873 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1874 |
"node_modules/fast-deep-equal": {
|
1875 |
"version": "3.1.3",
|
1876 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
@@ -2016,6 +2092,18 @@
|
|
2016 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
2017 |
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
2018 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019 |
"node_modules/glob": {
|
2020 |
"version": "7.2.3",
|
2021 |
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
@@ -2134,6 +2222,15 @@
|
|
2134 |
"node": ">=12.0.0"
|
2135 |
}
|
2136 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2137 |
"node_modules/ignore": {
|
2138 |
"version": "5.2.4",
|
2139 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
|
@@ -2275,6 +2372,18 @@
|
|
2275 |
"@types/estree": "*"
|
2276 |
}
|
2277 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2278 |
"node_modules/isexe": {
|
2279 |
"version": "2.0.0",
|
2280 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
@@ -2332,6 +2441,12 @@
|
|
2332 |
"node": ">=6"
|
2333 |
}
|
2334 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
2335 |
"node_modules/levn": {
|
2336 |
"version": "0.4.1",
|
2337 |
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
|
@@ -2358,6 +2473,18 @@
|
|
2358 |
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
2359 |
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
2360 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2361 |
"node_modules/locate-path": {
|
2362 |
"version": "6.0.0",
|
2363 |
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
@@ -2432,6 +2559,12 @@
|
|
2432 |
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
|
2433 |
"optional": true
|
2434 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
2435 |
"node_modules/merge2": {
|
2436 |
"version": "1.4.1",
|
2437 |
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
@@ -2464,6 +2597,15 @@
|
|
2464 |
"node": ">=10.0.0"
|
2465 |
}
|
2466 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2467 |
"node_modules/min-indent": {
|
2468 |
"version": "1.0.1",
|
2469 |
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
|
@@ -2630,6 +2772,18 @@
|
|
2630 |
"node": ">=0.10.0"
|
2631 |
}
|
2632 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2633 |
"node_modules/object-assign": {
|
2634 |
"version": "4.1.1",
|
2635 |
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
@@ -2654,6 +2808,21 @@
|
|
2654 |
"wrappy": "1"
|
2655 |
}
|
2656 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2657 |
"node_modules/optionator": {
|
2658 |
"version": "0.9.1",
|
2659 |
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
@@ -3202,6 +3371,12 @@
|
|
3202 |
"node": ">=8"
|
3203 |
}
|
3204 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
3205 |
"node_modules/sirv": {
|
3206 |
"version": "2.0.2",
|
3207 |
"resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
|
@@ -3300,6 +3475,15 @@
|
|
3300 |
"node": ">=8"
|
3301 |
}
|
3302 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3303 |
"node_modules/strip-indent": {
|
3304 |
"version": "3.0.0",
|
3305 |
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
|
@@ -3704,6 +3888,56 @@
|
|
3704 |
"node": ">=12.18"
|
3705 |
}
|
3706 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3707 |
"node_modules/update-browserslist-db": {
|
3708 |
"version": "1.0.10",
|
3709 |
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
|
@@ -3814,6 +4048,21 @@
|
|
3814 |
"node": ">=12"
|
3815 |
}
|
3816 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3817 |
"node_modules/whatwg-url": {
|
3818 |
"version": "11.0.0",
|
3819 |
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
|
|
20 |
"tailwindcss": "^3.3.1"
|
21 |
},
|
22 |
"devDependencies": {
|
23 |
+
"@iconify-json/carbon": "^1.1.16",
|
24 |
"@sveltejs/adapter-node": "^1.2.0",
|
25 |
"@sveltejs/kit": "^1.5.0",
|
26 |
"@tailwindcss/typography": "^0.5.9",
|
|
|
36 |
"svelte-check": "^3.0.1",
|
37 |
"tslib": "^2.4.1",
|
38 |
"typescript": "^4.9.3",
|
39 |
+
"unplugin-icons": "^0.16.1",
|
40 |
"vite": "^4.0.0"
|
41 |
}
|
42 |
},
|
43 |
+
"node_modules/@antfu/install-pkg": {
|
44 |
+
"version": "0.1.1",
|
45 |
+
"resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz",
|
46 |
+
"integrity": "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==",
|
47 |
+
"dev": true,
|
48 |
+
"dependencies": {
|
49 |
+
"execa": "^5.1.1",
|
50 |
+
"find-up": "^5.0.0"
|
51 |
+
},
|
52 |
+
"funding": {
|
53 |
+
"url": "https://github.com/sponsors/antfu"
|
54 |
+
}
|
55 |
+
},
|
56 |
+
"node_modules/@antfu/utils": {
|
57 |
+
"version": "0.7.2",
|
58 |
+
"resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz",
|
59 |
+
"integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==",
|
60 |
+
"dev": true,
|
61 |
+
"funding": {
|
62 |
+
"url": "https://github.com/sponsors/antfu"
|
63 |
+
}
|
64 |
+
},
|
65 |
"node_modules/@esbuild/android-arm": {
|
66 |
"version": "0.17.16",
|
67 |
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.16.tgz",
|
|
|
511 |
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
|
512 |
"dev": true
|
513 |
},
|
514 |
+
"node_modules/@iconify-json/carbon": {
|
515 |
+
"version": "1.1.16",
|
516 |
+
"resolved": "https://registry.npmjs.org/@iconify-json/carbon/-/carbon-1.1.16.tgz",
|
517 |
+
"integrity": "sha512-AD8bcnRSGA0WfcGEass2FbA0sagrUzrpFx5WchuDy3uf7yKBWumdypdQK121DH321fQDl5+zZQ26T6gC9knwUQ==",
|
518 |
+
"dev": true,
|
519 |
+
"dependencies": {
|
520 |
+
"@iconify/types": "*"
|
521 |
+
}
|
522 |
+
},
|
523 |
+
"node_modules/@iconify/types": {
|
524 |
+
"version": "2.0.0",
|
525 |
+
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
|
526 |
+
"integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
|
527 |
+
"dev": true
|
528 |
+
},
|
529 |
+
"node_modules/@iconify/utils": {
|
530 |
+
"version": "2.1.5",
|
531 |
+
"resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.5.tgz",
|
532 |
+
"integrity": "sha512-6MvDI+I6QMvXn5rK9KQGdpEE4mmLTcuQdLZEiX5N+uZB+vc4Yw9K1OtnOgkl8mp4d9X0UrILREyZgF1NUwUt+Q==",
|
533 |
+
"dev": true,
|
534 |
+
"dependencies": {
|
535 |
+
"@antfu/install-pkg": "^0.1.1",
|
536 |
+
"@antfu/utils": "^0.7.2",
|
537 |
+
"@iconify/types": "^2.0.0",
|
538 |
+
"debug": "^4.3.4",
|
539 |
+
"kolorist": "^1.7.0",
|
540 |
+
"local-pkg": "^0.4.3"
|
541 |
+
}
|
542 |
+
},
|
543 |
"node_modules/@jridgewell/gen-mapping": {
|
544 |
"version": "0.3.3",
|
545 |
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
|
|
|
1924 |
"node": ">=0.10.0"
|
1925 |
}
|
1926 |
},
|
1927 |
+
"node_modules/execa": {
|
1928 |
+
"version": "5.1.1",
|
1929 |
+
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
1930 |
+
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
1931 |
+
"dev": true,
|
1932 |
+
"dependencies": {
|
1933 |
+
"cross-spawn": "^7.0.3",
|
1934 |
+
"get-stream": "^6.0.0",
|
1935 |
+
"human-signals": "^2.1.0",
|
1936 |
+
"is-stream": "^2.0.0",
|
1937 |
+
"merge-stream": "^2.0.0",
|
1938 |
+
"npm-run-path": "^4.0.1",
|
1939 |
+
"onetime": "^5.1.2",
|
1940 |
+
"signal-exit": "^3.0.3",
|
1941 |
+
"strip-final-newline": "^2.0.0"
|
1942 |
+
},
|
1943 |
+
"engines": {
|
1944 |
+
"node": ">=10"
|
1945 |
+
},
|
1946 |
+
"funding": {
|
1947 |
+
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
1948 |
+
}
|
1949 |
+
},
|
1950 |
"node_modules/fast-deep-equal": {
|
1951 |
"version": "3.1.3",
|
1952 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
|
|
2092 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
2093 |
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
2094 |
},
|
2095 |
+
"node_modules/get-stream": {
|
2096 |
+
"version": "6.0.1",
|
2097 |
+
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
2098 |
+
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
2099 |
+
"dev": true,
|
2100 |
+
"engines": {
|
2101 |
+
"node": ">=10"
|
2102 |
+
},
|
2103 |
+
"funding": {
|
2104 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
2105 |
+
}
|
2106 |
+
},
|
2107 |
"node_modules/glob": {
|
2108 |
"version": "7.2.3",
|
2109 |
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
|
|
2222 |
"node": ">=12.0.0"
|
2223 |
}
|
2224 |
},
|
2225 |
+
"node_modules/human-signals": {
|
2226 |
+
"version": "2.1.0",
|
2227 |
+
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
2228 |
+
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
2229 |
+
"dev": true,
|
2230 |
+
"engines": {
|
2231 |
+
"node": ">=10.17.0"
|
2232 |
+
}
|
2233 |
+
},
|
2234 |
"node_modules/ignore": {
|
2235 |
"version": "5.2.4",
|
2236 |
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
|
|
|
2372 |
"@types/estree": "*"
|
2373 |
}
|
2374 |
},
|
2375 |
+
"node_modules/is-stream": {
|
2376 |
+
"version": "2.0.1",
|
2377 |
+
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
2378 |
+
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
2379 |
+
"dev": true,
|
2380 |
+
"engines": {
|
2381 |
+
"node": ">=8"
|
2382 |
+
},
|
2383 |
+
"funding": {
|
2384 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
2385 |
+
}
|
2386 |
+
},
|
2387 |
"node_modules/isexe": {
|
2388 |
"version": "2.0.0",
|
2389 |
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
|
2441 |
"node": ">=6"
|
2442 |
}
|
2443 |
},
|
2444 |
+
"node_modules/kolorist": {
|
2445 |
+
"version": "1.7.0",
|
2446 |
+
"resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.7.0.tgz",
|
2447 |
+
"integrity": "sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==",
|
2448 |
+
"dev": true
|
2449 |
+
},
|
2450 |
"node_modules/levn": {
|
2451 |
"version": "0.4.1",
|
2452 |
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
|
|
|
2473 |
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
2474 |
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
2475 |
},
|
2476 |
+
"node_modules/local-pkg": {
|
2477 |
+
"version": "0.4.3",
|
2478 |
+
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
|
2479 |
+
"integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
|
2480 |
+
"dev": true,
|
2481 |
+
"engines": {
|
2482 |
+
"node": ">=14"
|
2483 |
+
},
|
2484 |
+
"funding": {
|
2485 |
+
"url": "https://github.com/sponsors/antfu"
|
2486 |
+
}
|
2487 |
+
},
|
2488 |
"node_modules/locate-path": {
|
2489 |
"version": "6.0.0",
|
2490 |
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
|
|
2559 |
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
|
2560 |
"optional": true
|
2561 |
},
|
2562 |
+
"node_modules/merge-stream": {
|
2563 |
+
"version": "2.0.0",
|
2564 |
+
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
2565 |
+
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
2566 |
+
"dev": true
|
2567 |
+
},
|
2568 |
"node_modules/merge2": {
|
2569 |
"version": "1.4.1",
|
2570 |
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
|
|
2597 |
"node": ">=10.0.0"
|
2598 |
}
|
2599 |
},
|
2600 |
+
"node_modules/mimic-fn": {
|
2601 |
+
"version": "2.1.0",
|
2602 |
+
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
2603 |
+
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
2604 |
+
"dev": true,
|
2605 |
+
"engines": {
|
2606 |
+
"node": ">=6"
|
2607 |
+
}
|
2608 |
+
},
|
2609 |
"node_modules/min-indent": {
|
2610 |
"version": "1.0.1",
|
2611 |
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
|
|
|
2772 |
"node": ">=0.10.0"
|
2773 |
}
|
2774 |
},
|
2775 |
+
"node_modules/npm-run-path": {
|
2776 |
+
"version": "4.0.1",
|
2777 |
+
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
2778 |
+
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
2779 |
+
"dev": true,
|
2780 |
+
"dependencies": {
|
2781 |
+
"path-key": "^3.0.0"
|
2782 |
+
},
|
2783 |
+
"engines": {
|
2784 |
+
"node": ">=8"
|
2785 |
+
}
|
2786 |
+
},
|
2787 |
"node_modules/object-assign": {
|
2788 |
"version": "4.1.1",
|
2789 |
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
|
|
2808 |
"wrappy": "1"
|
2809 |
}
|
2810 |
},
|
2811 |
+
"node_modules/onetime": {
|
2812 |
+
"version": "5.1.2",
|
2813 |
+
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
2814 |
+
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
2815 |
+
"dev": true,
|
2816 |
+
"dependencies": {
|
2817 |
+
"mimic-fn": "^2.1.0"
|
2818 |
+
},
|
2819 |
+
"engines": {
|
2820 |
+
"node": ">=6"
|
2821 |
+
},
|
2822 |
+
"funding": {
|
2823 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
2824 |
+
}
|
2825 |
+
},
|
2826 |
"node_modules/optionator": {
|
2827 |
"version": "0.9.1",
|
2828 |
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
|
|
3371 |
"node": ">=8"
|
3372 |
}
|
3373 |
},
|
3374 |
+
"node_modules/signal-exit": {
|
3375 |
+
"version": "3.0.7",
|
3376 |
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
3377 |
+
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
3378 |
+
"dev": true
|
3379 |
+
},
|
3380 |
"node_modules/sirv": {
|
3381 |
"version": "2.0.2",
|
3382 |
"resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
|
|
|
3475 |
"node": ">=8"
|
3476 |
}
|
3477 |
},
|
3478 |
+
"node_modules/strip-final-newline": {
|
3479 |
+
"version": "2.0.0",
|
3480 |
+
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
3481 |
+
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
3482 |
+
"dev": true,
|
3483 |
+
"engines": {
|
3484 |
+
"node": ">=6"
|
3485 |
+
}
|
3486 |
+
},
|
3487 |
"node_modules/strip-indent": {
|
3488 |
"version": "3.0.0",
|
3489 |
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
|
|
|
3888 |
"node": ">=12.18"
|
3889 |
}
|
3890 |
},
|
3891 |
+
"node_modules/unplugin": {
|
3892 |
+
"version": "1.3.1",
|
3893 |
+
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz",
|
3894 |
+
"integrity": "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==",
|
3895 |
+
"dev": true,
|
3896 |
+
"dependencies": {
|
3897 |
+
"acorn": "^8.8.2",
|
3898 |
+
"chokidar": "^3.5.3",
|
3899 |
+
"webpack-sources": "^3.2.3",
|
3900 |
+
"webpack-virtual-modules": "^0.5.0"
|
3901 |
+
}
|
3902 |
+
},
|
3903 |
+
"node_modules/unplugin-icons": {
|
3904 |
+
"version": "0.16.1",
|
3905 |
+
"resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.16.1.tgz",
|
3906 |
+
"integrity": "sha512-qTunFUkpAyDnwzwV7YV1ZgCWRYfLuURcCurhhXOWMy2ipY88qx1pADvral2hJu4Xymh0X0t3Zcll3BIru2AVLQ==",
|
3907 |
+
"dev": true,
|
3908 |
+
"dependencies": {
|
3909 |
+
"@antfu/install-pkg": "^0.1.1",
|
3910 |
+
"@antfu/utils": "^0.7.2",
|
3911 |
+
"@iconify/utils": "^2.1.5",
|
3912 |
+
"debug": "^4.3.4",
|
3913 |
+
"kolorist": "^1.7.0",
|
3914 |
+
"local-pkg": "^0.4.3",
|
3915 |
+
"unplugin": "^1.3.1"
|
3916 |
+
},
|
3917 |
+
"funding": {
|
3918 |
+
"url": "https://github.com/sponsors/antfu"
|
3919 |
+
},
|
3920 |
+
"peerDependencies": {
|
3921 |
+
"@svgr/core": ">=7.0.0",
|
3922 |
+
"@vue/compiler-sfc": "^3.0.2 || ^2.7.0",
|
3923 |
+
"vue-template-compiler": "^2.6.12",
|
3924 |
+
"vue-template-es2015-compiler": "^1.9.0"
|
3925 |
+
},
|
3926 |
+
"peerDependenciesMeta": {
|
3927 |
+
"@svgr/core": {
|
3928 |
+
"optional": true
|
3929 |
+
},
|
3930 |
+
"@vue/compiler-sfc": {
|
3931 |
+
"optional": true
|
3932 |
+
},
|
3933 |
+
"vue-template-compiler": {
|
3934 |
+
"optional": true
|
3935 |
+
},
|
3936 |
+
"vue-template-es2015-compiler": {
|
3937 |
+
"optional": true
|
3938 |
+
}
|
3939 |
+
}
|
3940 |
+
},
|
3941 |
"node_modules/update-browserslist-db": {
|
3942 |
"version": "1.0.10",
|
3943 |
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
|
|
|
4048 |
"node": ">=12"
|
4049 |
}
|
4050 |
},
|
4051 |
+
"node_modules/webpack-sources": {
|
4052 |
+
"version": "3.2.3",
|
4053 |
+
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
|
4054 |
+
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
|
4055 |
+
"dev": true,
|
4056 |
+
"engines": {
|
4057 |
+
"node": ">=10.13.0"
|
4058 |
+
}
|
4059 |
+
},
|
4060 |
+
"node_modules/webpack-virtual-modules": {
|
4061 |
+
"version": "0.5.0",
|
4062 |
+
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
|
4063 |
+
"integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==",
|
4064 |
+
"dev": true
|
4065 |
+
},
|
4066 |
"node_modules/whatwg-url": {
|
4067 |
"version": "11.0.0",
|
4068 |
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
package.json
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
"format": "prettier --plugin-search-dir . --write ."
|
13 |
},
|
14 |
"devDependencies": {
|
|
|
15 |
"@sveltejs/adapter-node": "^1.2.0",
|
16 |
"@sveltejs/kit": "^1.5.0",
|
17 |
"@tailwindcss/typography": "^0.5.9",
|
@@ -27,6 +28,7 @@
|
|
27 |
"svelte-check": "^3.0.1",
|
28 |
"tslib": "^2.4.1",
|
29 |
"typescript": "^4.9.3",
|
|
|
30 |
"vite": "^4.0.0"
|
31 |
},
|
32 |
"type": "module",
|
|
|
12 |
"format": "prettier --plugin-search-dir . --write ."
|
13 |
},
|
14 |
"devDependencies": {
|
15 |
+
"@iconify-json/carbon": "^1.1.16",
|
16 |
"@sveltejs/adapter-node": "^1.2.0",
|
17 |
"@sveltejs/kit": "^1.5.0",
|
18 |
"@tailwindcss/typography": "^0.5.9",
|
|
|
28 |
"svelte-check": "^3.0.1",
|
29 |
"tslib": "^2.4.1",
|
30 |
"typescript": "^4.9.3",
|
31 |
+
"unplugin-icons": "^0.16.1",
|
32 |
"vite": "^4.0.0"
|
33 |
},
|
34 |
"type": "module",
|
src/app.d.ts
CHANGED
@@ -1,3 +1,6 @@
|
|
|
|
|
|
|
|
1 |
// See https://kit.svelte.dev/docs/types#app
|
2 |
// for information about these interfaces
|
3 |
declare global {
|
|
|
1 |
+
/// <reference types="@sveltejs/kit" />
|
2 |
+
/// <reference types="unplugin-icons/types/svelte" />
|
3 |
+
|
4 |
// See https://kit.svelte.dev/docs/types#app
|
5 |
// for information about these interfaces
|
6 |
declare global {
|
src/lib/components/chat/ChatWindow.svelte
CHANGED
@@ -1,6 +1,9 @@
|
|
1 |
<script lang="ts">
|
2 |
import type { Message } from '$lib/types/Message';
|
3 |
import { createEventDispatcher } from 'svelte';
|
|
|
|
|
|
|
4 |
import ChatMessages from './ChatMessages.svelte';
|
5 |
import ChatInput from './ChatInput.svelte';
|
6 |
|
@@ -38,26 +41,13 @@
|
|
38 |
maxRows={10}
|
39 |
/>
|
40 |
<button
|
41 |
-
class="p-1 px-[0.7rem] self-end my-1 h-[2.4rem] rounded-lg hover:bg-gray-100 enabled:dark:hover:text-gray-400 dark:hover:bg-gray-900 disabled:hover:bg-transparent dark:disabled:hover:bg-transparent disabled:opacity-60 dark:disabled:opacity-40 flex-shrink-0 transition-all mx-1"
|
42 |
disabled={!message || disabled}
|
43 |
type="submit"
|
44 |
>
|
45 |
-
<
|
46 |
-
class="text-gray-
|
47 |
-
|
48 |
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
49 |
-
aria-hidden="true"
|
50 |
-
focusable="false"
|
51 |
-
role="img"
|
52 |
-
width="1em"
|
53 |
-
height="1em"
|
54 |
-
preserveAspectRatio="xMidYMid meet"
|
55 |
-
viewBox="0 0 32 32"
|
56 |
-
><path
|
57 |
-
d="M30 28.59L22.45 21A11 11 0 1 0 21 22.45L28.59 30zM5 14a9 9 0 1 1 9 9a9 9 0 0 1-9-9z"
|
58 |
-
fill="currentColor"
|
59 |
-
/></svg
|
60 |
-
>
|
61 |
</button>
|
62 |
</div>
|
63 |
</form>
|
|
|
1 |
<script lang="ts">
|
2 |
import type { Message } from '$lib/types/Message';
|
3 |
import { createEventDispatcher } from 'svelte';
|
4 |
+
|
5 |
+
import CarbonSendAltFilled from '~icons/carbon/send-alt-filled';
|
6 |
+
|
7 |
import ChatMessages from './ChatMessages.svelte';
|
8 |
import ChatInput from './ChatInput.svelte';
|
9 |
|
|
|
41 |
maxRows={10}
|
42 |
/>
|
43 |
<button
|
44 |
+
class="p-1 px-[0.7rem] group self-end my-1 h-[2.4rem] rounded-lg hover:bg-gray-100 enabled:dark:hover:text-gray-400 dark:hover:bg-gray-900 disabled:hover:bg-transparent dark:disabled:hover:bg-transparent disabled:opacity-60 dark:disabled:opacity-40 flex-shrink-0 transition-all mx-1"
|
45 |
disabled={!message || disabled}
|
46 |
type="submit"
|
47 |
>
|
48 |
+
<CarbonSendAltFilled
|
49 |
+
class="text-gray-400 group-hover:text-gray-800 group-disabled:text-gray-300"
|
50 |
+
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</button>
|
52 |
</div>
|
53 |
</form>
|
src/routes/+layout.svelte
CHANGED
@@ -4,6 +4,9 @@
|
|
4 |
import '../styles/main.css';
|
5 |
import type { LayoutData } from './$types';
|
6 |
|
|
|
|
|
|
|
7 |
export let data: LayoutData;
|
8 |
|
9 |
function switchTheme() {
|
@@ -83,7 +86,7 @@
|
|
83 |
<div class="flex-none sticky top-0 p-3 flex flex-col">
|
84 |
<a
|
85 |
href="/"
|
86 |
-
class="border px-12 py-2.5 rounded-lg shadow bg-white dark:bg-gray-700 dark:border-gray-600"
|
87 |
>
|
88 |
New Chat
|
89 |
</a>
|
@@ -92,27 +95,29 @@
|
|
92 |
{#each data.conversations as conv}
|
93 |
<a
|
94 |
href="/conversation/{conv.id}"
|
95 |
-
class="
|
96 |
$page.params.id
|
97 |
? 'bg-gray-100 dark:bg-gray-700'
|
98 |
: ''}"
|
99 |
>
|
100 |
-
{conv.title}
|
101 |
|
102 |
-
<span class="grow" />
|
103 |
<button
|
104 |
type="button"
|
105 |
-
class="
|
106 |
-
|
|
|
107 |
>
|
108 |
-
|
109 |
</button>
|
|
|
110 |
<button
|
111 |
type="button"
|
112 |
-
class="
|
113 |
-
|
|
|
114 |
>
|
115 |
-
|
116 |
</button>
|
117 |
</a>
|
118 |
{/each}
|
|
|
4 |
import '../styles/main.css';
|
5 |
import type { LayoutData } from './$types';
|
6 |
|
7 |
+
import CarbonTrashCan from '~icons/carbon/trash-can';
|
8 |
+
import CarbonExport from '~icons/carbon/export';
|
9 |
+
|
10 |
export let data: LayoutData;
|
11 |
|
12 |
function switchTheme() {
|
|
|
86 |
<div class="flex-none sticky top-0 p-3 flex flex-col">
|
87 |
<a
|
88 |
href="/"
|
89 |
+
class="border px-12 py-2.5 rounded-lg shadow bg-white dark:bg-gray-700 dark:border-gray-600 text-center"
|
90 |
>
|
91 |
New Chat
|
92 |
</a>
|
|
|
95 |
{#each data.conversations as conv}
|
96 |
<a
|
97 |
href="/conversation/{conv.id}"
|
98 |
+
class="pl-3 pr-2 h-12 group rounded-lg flex-none text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 flex items-center gap-1 {conv.id ===
|
99 |
$page.params.id
|
100 |
? 'bg-gray-100 dark:bg-gray-700'
|
101 |
: ''}"
|
102 |
>
|
103 |
+
<div class="flex-1 truncate">{conv.title}</div>
|
104 |
|
|
|
105 |
<button
|
106 |
type="button"
|
107 |
+
class="w-6 h-6 items-center justify-center hidden group-hover:flex hover:bg-gray-100"
|
108 |
+
title="Share conversation"
|
109 |
+
on:click|preventDefault={() => shareConversation(conv.id, conv.title)}
|
110 |
>
|
111 |
+
<CarbonExport class="text-gray-400 hover:text-gray-600" />
|
112 |
</button>
|
113 |
+
|
114 |
<button
|
115 |
type="button"
|
116 |
+
class="w-6 h-6 items-center justify-center hidden group-hover:flex hover:bg-gray-100"
|
117 |
+
title="Delete conversation"
|
118 |
+
on:click|preventDefault={() => deleteConversation(conv.id)}
|
119 |
>
|
120 |
+
<CarbonTrashCan class="text-gray-400 hover:text-gray-600" />
|
121 |
</button>
|
122 |
</a>
|
123 |
{/each}
|
vite.config.ts
CHANGED
@@ -1,6 +1,12 @@
|
|
1 |
import { sveltekit } from '@sveltejs/kit/vite';
|
2 |
import { defineConfig } from 'vite';
|
|
|
3 |
|
4 |
export default defineConfig({
|
5 |
-
plugins: [
|
|
|
|
|
|
|
|
|
|
|
6 |
});
|
|
|
1 |
import { sveltekit } from '@sveltejs/kit/vite';
|
2 |
import { defineConfig } from 'vite';
|
3 |
+
import Icons from 'unplugin-icons/vite';
|
4 |
|
5 |
export default defineConfig({
|
6 |
+
plugins: [
|
7 |
+
sveltekit(),
|
8 |
+
Icons({
|
9 |
+
compiler: 'svelte'
|
10 |
+
})
|
11 |
+
]
|
12 |
});
|