refactor: skeleton to bits ui components

todo: restyle navbar layout
This commit is contained in:
2025-09-25 22:26:11 +01:00
parent 21cb4f5cfb
commit f9e581fcc2
5 changed files with 106 additions and 409 deletions

View File

@@ -17,8 +17,6 @@
"devDependencies": { "devDependencies": {
"@eslint/compat": "^1.2.5", "@eslint/compat": "^1.2.5",
"@eslint/js": "^9.18.0", "@eslint/js": "^9.18.0",
"@skeletonlabs/skeleton": "^3.1.7",
"@skeletonlabs/skeleton-svelte": "^1.3.1",
"@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/adapter-auto": "^6.0.0",
"@sveltejs/adapter-node": "^5.2.14", "@sveltejs/adapter-node": "^5.2.14",
"@sveltejs/adapter-static": "^3.0.9", "@sveltejs/adapter-static": "^3.0.9",
@@ -48,6 +46,7 @@
}, },
"dependencies": { "dependencies": {
"@lucide/svelte": "^0.540.0", "@lucide/svelte": "^0.540.0",
"bits-ui": "^2.11.4",
"next-translate": "^2.6.2", "next-translate": "^2.6.2",
"openapi-fetch": "^0.14.0" "openapi-fetch": "^0.14.0"
} }

471
web/pnpm-lock.yaml generated
View File

@@ -11,6 +11,9 @@ importers:
'@lucide/svelte': '@lucide/svelte':
specifier: ^0.540.0 specifier: ^0.540.0
version: 0.540.0(svelte@5.38.0) version: 0.540.0(svelte@5.38.0)
bits-ui:
specifier: ^2.11.4
version: 2.11.4(@internationalized/date@3.9.0)(svelte@5.38.0)
next-translate: next-translate:
specifier: ^2.6.2 specifier: ^2.6.2
version: 2.6.2(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1) version: 2.6.2(next@15.5.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react@19.1.1)
@@ -24,12 +27,6 @@ importers:
'@eslint/js': '@eslint/js':
specifier: ^9.18.0 specifier: ^9.18.0
version: 9.32.0 version: 9.32.0
'@skeletonlabs/skeleton':
specifier: ^3.1.7
version: 3.1.7(tailwindcss@4.1.11)
'@skeletonlabs/skeleton-svelte':
specifier: ^1.3.1
version: 1.3.1(svelte@5.38.0)
'@sveltejs/adapter-auto': '@sveltejs/adapter-auto':
specifier: ^6.0.0 specifier: ^6.0.0
version: 6.0.1(@sveltejs/kit@2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.38.0)(vite@7.0.6(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.0)(vite@7.0.6(jiti@2.5.1)(lightningcss@1.30.1))) version: 6.0.1(@sveltejs/kit@2.27.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.38.0)(vite@7.0.6(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.0)(vite@7.0.6(jiti@2.5.1)(lightningcss@1.30.1)))
@@ -317,8 +314,8 @@ packages:
'@floating-ui/core@1.7.3': '@floating-ui/core@1.7.3':
resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
'@floating-ui/dom@1.7.2': '@floating-ui/dom@1.7.4':
resolution: {integrity: sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==} resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
'@floating-ui/utils@0.2.10': '@floating-ui/utils@0.2.10':
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
@@ -465,6 +462,9 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@internationalized/date@3.9.0':
resolution: {integrity: sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==}
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
@@ -699,16 +699,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@skeletonlabs/skeleton-svelte@1.3.1':
resolution: {integrity: sha512-XXQMU+2k3/HM0Vbs0f3CKkDfyIQE6nXUpyEYV5QZ7ga8DcDgQ9gsJ6CVHQtqBnObtI+Qoj9nV2I0KpZz+OgxRw==}
peerDependencies:
svelte: ^5.20.0
'@skeletonlabs/skeleton@3.1.7':
resolution: {integrity: sha512-ozq4aYjn6eslQTxh5DqexXrPMioWWNLLTlsYPV8iWAAao7BfS4HJDpd2RRGxi0Ux+kndm4Hig/jTlGsy9bFPSA==}
peerDependencies:
tailwindcss: ^4.0.0
'@standard-schema/spec@1.0.0': '@standard-schema/spec@1.0.0':
resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
@@ -925,113 +915,6 @@ packages:
resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==} resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@zag-js/accordion@1.21.1':
resolution: {integrity: sha512-CYyFR2qx62yv+h+No0N8344R+i6zLyAdzcpeVzt9YMX9BaYTcfTM9om0oavpiTvtaM2ONXO+51QawHtLCdOrlg==}
'@zag-js/anatomy@1.21.1':
resolution: {integrity: sha512-KFDf1kMLJblsuzAPpfqt2Ti1B0jVtC3ZAQUYLixgUIzI+bnyq7T3IlPK38wpczqvruUijFSKtjS+tXBfR/P4fg==}
'@zag-js/aria-hidden@1.21.1':
resolution: {integrity: sha512-57b33PE43oSzwXxxopDEro4rm5cT8s5DfwTpypr4DqbKpH1KFOYveZsNf56+mvmeNZnQDcamxofvj0WUYkwwAw==}
'@zag-js/auto-resize@1.21.1':
resolution: {integrity: sha512-bX45BtGyY8t5zrGbais2dM2L8XA1I2TACTXbhbNcONMevGb8vGyy0YqXLAvXeThrR8M0/3VvyBIZxW8QV4nPYg==}
'@zag-js/avatar@1.21.1':
resolution: {integrity: sha512-1s2PBYvP8XyoGbpAsDlJ7KP71i//BUusGG+GpSvZkO4KgRCTZbBkfQDkLVysguVCf4/JFYJn2sa/SpQ1RCmtHg==}
'@zag-js/collection@1.21.1':
resolution: {integrity: sha512-3a/ycmIlu9vv9Cf2um+vGamgDoFadEG0dM/JxM4O/hxxi/VMKT91B55C2d9Lg+5WnYd0KJ/BOAttrPPKrjbOvQ==}
'@zag-js/combobox@1.21.1':
resolution: {integrity: sha512-IrE6LWzyA1JOC//cWJXskzDt2tFDD98CZWrcpsFN1CycQaAlNZSwANaaexo/aqXrWTaVDdJXKy0RrC/7OiXWkQ==}
'@zag-js/core@1.21.1':
resolution: {integrity: sha512-bxkrKpT2F6oyy4NovQDRvFhFEf13Owyr100aty+xiYxvrWz0rNAOaid+hmjIP4f+QDvxGF1XiYFmXgqls3sUTw==}
'@zag-js/dialog@1.21.1':
resolution: {integrity: sha512-DsnVfyQnml2Q3r7nw0HYDoro0GSmGlR8oeVt284IRtaR2BiPsmYVpDswn3jXps0PzFlHir8yImKxn7D4mvLGdQ==}
'@zag-js/dismissable@1.21.1':
resolution: {integrity: sha512-Q1oxibCjBM1NXlcp1/5nr45DHYTUzep7Zs3+ViEpSWjC8sQA2acNm2Xg0GdDNzwwgqAo+evTzStY6hleNDKZ3A==}
'@zag-js/dom-query@1.21.1':
resolution: {integrity: sha512-O4db9iYvKeHPjBOtE92p01WXKHngzRRsR7Y5p1cNZ4cbBq15PH2lICcWwUyIxx5zjADZHx6HIv3E+Mg/KCauKA==}
'@zag-js/file-upload@1.21.1':
resolution: {integrity: sha512-oqR2emaCQj4Mkbxetj3fkx/MvAJRcwFt92eK5rvU1qXvdzm/PA8cfBRWr/XnCKSozjAE0F3cnkxSSc4U7rG/fA==}
'@zag-js/file-utils@1.21.1':
resolution: {integrity: sha512-itYcXHFJ8Yj4hpAYlJ8wEM14SMSFT9SuU/FAIMOfmgnfJIjay7MhVUuj9i/TBnBdReNE3fk+I/JKFd6VxriyWA==}
'@zag-js/focus-trap@1.21.1':
resolution: {integrity: sha512-330flR2wL7ymh7UI+n02/VYulLdJMWJH6ez3ERiu8VGah83X7aWGqCQizwfIVWs1wJ6FJ2yKRHBW9iCE2nSkLA==}
'@zag-js/focus-visible@1.21.1':
resolution: {integrity: sha512-kHt2SR6vq0RIlLFEiWkw7/X8f5kEoizqUEnDrB93IUVXfaianQx3+NYD3AFoLsY8zBh8IkifZaQ+rAuCqwzvvw==}
'@zag-js/i18n-utils@1.21.1':
resolution: {integrity: sha512-S0LDT9vIPDRFqqQMEIzikEsLFkT9oicl7hNIFhlBqPY1uglwmXkpxNsfzHiQ1o0tAn5Jzvv2a8uuoYTkpftQ+w==}
'@zag-js/interact-outside@1.21.1':
resolution: {integrity: sha512-levryguVZWrjTXTEPH6X9ZZ47huMTgscnFmeFL+eRsnDuvUFq48jVgysECO4KHbZLJmcUTlSpRC3mrOSsksH/g==}
'@zag-js/live-region@1.21.1':
resolution: {integrity: sha512-SrNVeHOjDmjEacCLyVFui2WgGb6fRCBE/pgYlAY4G/Fuqz8kIt+3cTTNsf76h9ur9eG0DknECHxV8F1419bzqQ==}
'@zag-js/pagination@1.21.1':
resolution: {integrity: sha512-nQnrqnDZFx4yZHZdRcZEnJkbUzjRzjhmIQIWn/KI7fLWS98oX7RKXJuHavjfAKe1qojipf6BqlrfaQn70tQzXQ==}
'@zag-js/popover@1.21.1':
resolution: {integrity: sha512-nPv83s5grcvoAsvxCLfgInCyeLuLAMBN5IJmepWLeu7sa3t+mTCYZCSpdg4YNBtZmP7RsuwJuSLjRUkAviQapA==}
'@zag-js/popper@1.21.1':
resolution: {integrity: sha512-MbLCIy95lBGbGYmAhmmaSczQ9RYicNyPJ1+3qb/c3D6OK9PX3E98/GWCp12UQGJhanzEkGLdEFqjYrrTp5pZQw==}
'@zag-js/progress@1.21.1':
resolution: {integrity: sha512-05qYgVvk9lQJQfPVLo6tk1cI1Nn41CtyV8mX6XoH+FRNyBiywP9l6+ctpZdOWhIubu/GU28tt48nSSsddduscw==}
'@zag-js/radio-group@1.21.1':
resolution: {integrity: sha512-Fj2WwkObeV1OvytFOC7fWdrw1DAhQiDbgbLsUx2wAsWvYYWlp2OJFowrwZOO6QLna0YfHUDV4Xw7VX3ehs/aSQ==}
'@zag-js/rating-group@1.21.1':
resolution: {integrity: sha512-xlZayD43eUouQ/ISmcI4z7WtmlOVktLp3E8GVT+CaDwqi28TLwrkYo4CS7I6ItoTmivGBsZcbYHXerjv/Z5fvQ==}
'@zag-js/remove-scroll@1.21.1':
resolution: {integrity: sha512-OzkY9XP7beoZKVTZtWEzeCFh8spxR+4VQmbPy2VY5c9/zAZGb9SfLAAqLiXf5YDEfjic/aV4gt8o7n/ef0akqg==}
'@zag-js/slider@1.21.1':
resolution: {integrity: sha512-xGWDO+qOnjA5GarApmw74i9FiNwVZocp2sdaXw+llMlAr7vqIS/1xBXzkdOZftiAyP+wb4r2pZFt5Ab0XjX7zg==}
'@zag-js/store@1.21.1':
resolution: {integrity: sha512-nuRIWUmL6I80Uxvap54ubuC6wTUBdGrY/LF7snnuK+/bZmcuif/202Oeepo+mlaaiyJ+z3abj2LNosPLKJT4eg==}
'@zag-js/svelte@1.21.1':
resolution: {integrity: sha512-SQN96z1b64099H/2JjUjs6ZT3EYTE5GlMQ6xhHLYYDazPgLJJ2OixAd6cTA76bcXCC2ItKMXxiNVink9u3JJvw==}
peerDependencies:
svelte: ^5.0.0-next.1
'@zag-js/switch@1.21.1':
resolution: {integrity: sha512-3iGtYesU0iDCp8pq64RCH8766CQaGoD0bZVoOheddIuHqsmOP0ollJrvYLaUTdCB/157BtmpW3vWTa+TYdDSGg==}
'@zag-js/tabs@1.21.1':
resolution: {integrity: sha512-0xal2kTTV/CXLx8xgDo0fIQU3cwVrmtP5V0K/sphOVn/q4ti1b0RK0yKtl4+tTEQf9BkjlNJnaVbssdiMnW3yA==}
'@zag-js/tags-input@1.21.1':
resolution: {integrity: sha512-e+oCY3Cf47mMKpRkA1h0QuXnMdBo2402nWCVPl17w6TjOxsDBaL17p7FU2Fa+isSs5ztkAXvvJfiyu6/hK+WHQ==}
'@zag-js/toast@1.21.1':
resolution: {integrity: sha512-ZXp4YdIr3dRKHLQ26eKlj8dH7huEdYFc4FNG7ITjr3zetbmteiBtpGM5CQQ12Ffwavv1qKAtQXyO5OBOeJDxdQ==}
'@zag-js/tooltip@1.21.1':
resolution: {integrity: sha512-carGZJ66Jm2YqummJDgc3oWdwcyJXjiRX3hgLvOCvQlaGxPjaIccwL73kTkomnRmfVpcW1flAYja4Syp/5OKNA==}
'@zag-js/types@1.21.1':
resolution: {integrity: sha512-KbKMwJnrj6wmi4FOcaIMwqBVPz4KZRAn0D7Il8QjvAaJc5SdqkK18lcxQz4/v02EmQ4uOrHgKchcnB+ZHcBFCw==}
'@zag-js/utils@1.21.1':
resolution: {integrity: sha512-YXkmKoQilMaCQolPnfyyF1xIDOkvSGUQ3RfNlGCxcfnXZeuLWhV/9kalXql5OhtDMChaSeI5IgoV6zH2KEeN0A==}
acorn-jsx@5.3.2: acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies: peerDependencies:
@@ -1071,6 +954,13 @@ packages:
balanced-match@1.0.2: balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
bits-ui@2.11.4:
resolution: {integrity: sha512-OlVBJhNUMDHbIAf8oDAyPchIrU8b1S5NAMm6enMZSKx5HKcf/QPI485/BL1r4EPlv4O3m45e59hBRCETtYFdxg==}
engines: {node: '>=20'}
peerDependencies:
'@internationalized/date': ^3.8.1
svelte: ^5.33.0
brace-expansion@1.1.12: brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
@@ -1146,9 +1036,6 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
hasBin: true hasBin: true
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
debug@4.4.1: debug@4.4.1:
resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
@@ -1357,6 +1244,9 @@ packages:
resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==} resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==}
engines: {node: '>=18'} engines: {node: '>=18'}
inline-style-parser@0.2.4:
resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
is-arrayish@0.3.2: is-arrayish@0.3.2:
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
@@ -1769,9 +1659,6 @@ packages:
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
proxy-compare@3.0.1:
resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==}
punycode@2.3.1: punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -1817,6 +1704,16 @@ packages:
run-parallel@1.2.0: run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
runed@0.29.2:
resolution: {integrity: sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==}
peerDependencies:
svelte: ^5.7.0
runed@0.31.1:
resolution: {integrity: sha512-v3czcTnO+EJjiPvD4dwIqfTdHLZ8oH0zJheKqAHh9QMViY7Qb29UlAMRpX7ZtHh7AFqV60KmfxaJ9QMy+L1igQ==}
peerDependencies:
svelte: ^5.7.0
sade@1.8.1: sade@1.8.1:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -1859,6 +1756,9 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'} engines: {node: '>=8'}
style-to-object@1.0.9:
resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
styled-jsx@5.1.6: styled-jsx@5.1.6:
resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
@@ -1901,10 +1801,19 @@ packages:
svelte: svelte:
optional: true optional: true
svelte-toolbelt@0.10.5:
resolution: {integrity: sha512-8e+eWTgxw1aiLxhDE8Rb1X6AoLitqpJz+WhAul2W7W58C8KoLoJQf1TgQdFPBiCPJ0Jg5y0Zi1uyua9em4VS0w==}
engines: {node: '>=18', pnpm: '>=8.7.0'}
peerDependencies:
svelte: ^5.30.2
svelte@5.38.0: svelte@5.38.0:
resolution: {integrity: sha512-cWF1Oc2IM/QbktdK89u5lt9MdKxRtQnRKnf2tq6KOhYuhLOd2hbMuTiJ+vWMzAeMDe81AzbCgLd4GVtOJ4fDRg==} resolution: {integrity: sha512-cWF1Oc2IM/QbktdK89u5lt9MdKxRtQnRKnf2tq6KOhYuhLOd2hbMuTiJ+vWMzAeMDe81AzbCgLd4GVtOJ4fDRg==}
engines: {node: '>=18'} engines: {node: '>=18'}
tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
tailwindcss@4.1.11: tailwindcss@4.1.11:
resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==}
@@ -2195,7 +2104,7 @@ snapshots:
dependencies: dependencies:
'@floating-ui/utils': 0.2.10 '@floating-ui/utils': 0.2.10
'@floating-ui/dom@1.7.2': '@floating-ui/dom@1.7.4':
dependencies: dependencies:
'@floating-ui/core': 1.7.3 '@floating-ui/core': 1.7.3
'@floating-ui/utils': 0.2.10 '@floating-ui/utils': 0.2.10
@@ -2301,6 +2210,10 @@ snapshots:
'@img/sharp-win32-x64@0.34.3': '@img/sharp-win32-x64@0.34.3':
optional: true optional: true
'@internationalized/date@3.9.0':
dependencies:
'@swc/helpers': 0.5.15
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
dependencies: dependencies:
minipass: 7.1.2 minipass: 7.1.2
@@ -2482,31 +2395,6 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.46.2': '@rollup/rollup-win32-x64-msvc@4.46.2':
optional: true optional: true
'@skeletonlabs/skeleton-svelte@1.3.1(svelte@5.38.0)':
dependencies:
'@zag-js/accordion': 1.21.1
'@zag-js/avatar': 1.21.1
'@zag-js/combobox': 1.21.1
'@zag-js/dialog': 1.21.1
'@zag-js/file-upload': 1.21.1
'@zag-js/pagination': 1.21.1
'@zag-js/popover': 1.21.1
'@zag-js/progress': 1.21.1
'@zag-js/radio-group': 1.21.1
'@zag-js/rating-group': 1.21.1
'@zag-js/slider': 1.21.1
'@zag-js/svelte': 1.21.1(svelte@5.38.0)
'@zag-js/switch': 1.21.1
'@zag-js/tabs': 1.21.1
'@zag-js/tags-input': 1.21.1
'@zag-js/toast': 1.21.1
'@zag-js/tooltip': 1.21.1
svelte: 5.38.0
'@skeletonlabs/skeleton@3.1.7(tailwindcss@4.1.11)':
dependencies:
tailwindcss: 4.1.11
'@standard-schema/spec@1.0.0': {} '@standard-schema/spec@1.0.0': {}
'@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)':
@@ -2754,235 +2642,6 @@ snapshots:
'@typescript-eslint/types': 8.39.0 '@typescript-eslint/types': 8.39.0
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
'@zag-js/accordion@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/anatomy@1.21.1': {}
'@zag-js/aria-hidden@1.21.1': {}
'@zag-js/auto-resize@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/avatar@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/collection@1.21.1':
dependencies:
'@zag-js/utils': 1.21.1
'@zag-js/combobox@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/aria-hidden': 1.21.1
'@zag-js/collection': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dismissable': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/popper': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/core@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/dialog@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/aria-hidden': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dismissable': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-trap': 1.21.1
'@zag-js/remove-scroll': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/dismissable@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/interact-outside': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/dom-query@1.21.1':
dependencies:
'@zag-js/types': 1.21.1
'@zag-js/file-upload@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/file-utils': 1.21.1
'@zag-js/i18n-utils': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/file-utils@1.21.1':
dependencies:
'@zag-js/i18n-utils': 1.21.1
'@zag-js/focus-trap@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-visible@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/i18n-utils@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/interact-outside@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/live-region@1.21.1': {}
'@zag-js/pagination@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/popover@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/aria-hidden': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dismissable': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-trap': 1.21.1
'@zag-js/popper': 1.21.1
'@zag-js/remove-scroll': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/popper@1.21.1':
dependencies:
'@floating-ui/dom': 1.7.2
'@zag-js/dom-query': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/progress@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/radio-group@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-visible': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/rating-group@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/remove-scroll@1.21.1':
dependencies:
'@zag-js/dom-query': 1.21.1
'@zag-js/slider@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/store@1.21.1':
dependencies:
proxy-compare: 3.0.1
'@zag-js/svelte@1.21.1(svelte@5.38.0)':
dependencies:
'@zag-js/core': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
svelte: 5.38.0
'@zag-js/switch@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-visible': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/tabs@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/tags-input@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/auto-resize': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/interact-outside': 1.21.1
'@zag-js/live-region': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/toast@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dismissable': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/tooltip@1.21.1':
dependencies:
'@zag-js/anatomy': 1.21.1
'@zag-js/core': 1.21.1
'@zag-js/dom-query': 1.21.1
'@zag-js/focus-visible': 1.21.1
'@zag-js/popper': 1.21.1
'@zag-js/store': 1.21.1
'@zag-js/types': 1.21.1
'@zag-js/utils': 1.21.1
'@zag-js/types@1.21.1':
dependencies:
csstype: 3.1.3
'@zag-js/utils@1.21.1': {}
acorn-jsx@5.3.2(acorn@8.15.0): acorn-jsx@5.3.2(acorn@8.15.0):
dependencies: dependencies:
acorn: 8.15.0 acorn: 8.15.0
@@ -3012,6 +2671,17 @@ snapshots:
balanced-match@1.0.2: {} balanced-match@1.0.2: {}
bits-ui@2.11.4(@internationalized/date@3.9.0)(svelte@5.38.0):
dependencies:
'@floating-ui/core': 1.7.3
'@floating-ui/dom': 1.7.4
'@internationalized/date': 3.9.0
esm-env: 1.2.2
runed: 0.31.1(svelte@5.38.0)
svelte: 5.38.0
svelte-toolbelt: 0.10.5(svelte@5.38.0)
tabbable: 6.2.0
brace-expansion@1.1.12: brace-expansion@1.1.12:
dependencies: dependencies:
balanced-match: 1.0.2 balanced-match: 1.0.2
@@ -3080,8 +2750,6 @@ snapshots:
cssesc@3.0.0: {} cssesc@3.0.0: {}
csstype@3.1.3: {}
debug@4.4.1(supports-color@10.1.0): debug@4.4.1(supports-color@10.1.0):
dependencies: dependencies:
ms: 2.1.3 ms: 2.1.3
@@ -3320,6 +2988,8 @@ snapshots:
index-to-position@1.1.0: {} index-to-position@1.1.0: {}
inline-style-parser@0.2.4: {}
is-arrayish@0.3.2: is-arrayish@0.3.2:
optional: true optional: true
@@ -3615,8 +3285,6 @@ snapshots:
prettier@3.6.2: {} prettier@3.6.2: {}
proxy-compare@3.0.1: {}
punycode@2.3.1: {} punycode@2.3.1: {}
queue-microtask@1.2.3: {} queue-microtask@1.2.3: {}
@@ -3672,6 +3340,16 @@ snapshots:
dependencies: dependencies:
queue-microtask: 1.2.3 queue-microtask: 1.2.3
runed@0.29.2(svelte@5.38.0):
dependencies:
esm-env: 1.2.2
svelte: 5.38.0
runed@0.31.1(svelte@5.38.0):
dependencies:
esm-env: 1.2.2
svelte: 5.38.0
sade@1.8.1: sade@1.8.1:
dependencies: dependencies:
mri: 1.2.0 mri: 1.2.0
@@ -3733,6 +3411,10 @@ snapshots:
strip-json-comments@3.1.1: {} strip-json-comments@3.1.1: {}
style-to-object@1.0.9:
dependencies:
inline-style-parser: 0.2.4
styled-jsx@5.1.6(react@19.1.1): styled-jsx@5.1.6(react@19.1.1):
dependencies: dependencies:
client-only: 0.0.1 client-only: 0.0.1
@@ -3769,6 +3451,13 @@ snapshots:
optionalDependencies: optionalDependencies:
svelte: 5.38.0 svelte: 5.38.0
svelte-toolbelt@0.10.5(svelte@5.38.0):
dependencies:
clsx: 2.1.1
runed: 0.29.2(svelte@5.38.0)
style-to-object: 1.0.9
svelte: 5.38.0
svelte@5.38.0: svelte@5.38.0:
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
@@ -3786,6 +3475,8 @@ snapshots:
magic-string: 0.30.17 magic-string: 0.30.17
zimmerframe: 1.1.2 zimmerframe: 1.1.2
tabbable@6.2.0: {}
tailwindcss@4.1.11: {} tailwindcss@4.1.11: {}
tapable@2.2.2: {} tapable@2.2.2: {}

View File

@@ -1,11 +1,6 @@
@import 'tailwindcss'; @import 'tailwindcss';
@import '@skeletonlabs/skeleton';
@import '@skeletonlabs/skeleton/optional/presets';
@import '@skeletonlabs/skeleton/themes/catppuccin';
@plugin '@tailwindcss/typography'; @plugin '@tailwindcss/typography';
/* @source '../node_modules/@skeletonlabs/skeleton-svelte/dist'; */
[data-theme='catppuccin'] { [data-theme='catppuccin'] {
--text-scaling: 1.067; --text-scaling: 1.067;

View File

@@ -1,5 +1,5 @@
<script lang="ts"> <script lang="ts">
import { Switch } from '@skeletonlabs/skeleton-svelte'; import { Label, Switch } from "bits-ui";
let checked = $state(false); let checked = $state(false);
@@ -24,6 +24,16 @@
</script> </script>
</svelte:head> </svelte:head>
<div> <div class="flex items-center space-x-3">
<Switch {checked} {onCheckedChange}></Switch> <Switch.Root
id="light-dark"
checked={checked}
onCheckedChange={(change) => { onCheckedChange({ checked: change }) }}
class="focus-visible:ring-foreground focus-visible:ring-offset-background data-[state=checked]:bg-foreground data-[state=unchecked]:bg-dark-10 data-[state=unchecked]:shadow-mini-inset dark:data-[state=checked]:bg-foreground focus-visible:outline-hidden peer inline-flex h-[36px] min-h-[36px] w-[60px] shrink-0 cursor-pointer items-center rounded-full px-[3px] transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
>
<Switch.Thumb
class="bg-background data-[state=unchecked]:shadow-mini dark:border-background/30 dark:bg-foreground dark:shadow-popover pointer-events-none block size-[30px] shrink-0 rounded-full transition-transform data-[state=checked]:translate-x-6 data-[state=unchecked]:translate-x-0 dark:border dark:data-[state=unchecked]:border"
/>
</Switch.Root>
<Label.Root for="light-dark" class="text-sm font-medium">Light / Dark</Label.Root>
</div> </div>

View File

@@ -1,7 +1,6 @@
<script lang="ts"> <script lang="ts">
import "../app.css"; import "../app.css";
import { Navigation } from '@skeletonlabs/skeleton-svelte';
import { ShoppingCart, User } from '@lucide/svelte'; import { ShoppingCart, User } from '@lucide/svelte';
</script> </script>
@@ -15,19 +14,22 @@
</a> </a>
</div> </div>
<Navigation.Bar classes="bg-transparent w-auto p-0 mx-12">
<Navigation.Tile href="/" label="Home" /> <div class="bg-transparent w-auto p-0 mx-12">
<Navigation.Tile href="/about" label="About" /> <a href="/">Home</a>
<a href="/about">About</a>
<div class="flex flex-row gap-4"> <div class="flex flex-row gap-4">
<Navigation.Tile href="#" labelExpanded="Cart" title="Cart"> <a href="/" title="Cart">
<p>Cart</p>
<ShoppingCart class="h-6 w-6" /> <ShoppingCart class="h-6 w-6" />
</Navigation.Tile> </a>
<Navigation.Tile href="#" labelExpanded="User" title="User"> <a href="/" title="User">
<p>User</p>
<User class="h-6 w-6" /> <User class="h-6 w-6" />
</Navigation.Tile> </a>
</div>
</div> </div>
</Navigation.Bar>
</div> </div>
</div> </div>
</header> </header>