From 5aaacccef981d8be5b7c55479923fe6611b6b0c0 Mon Sep 17 00:00:00 2001 From: vcoppe Date: Mon, 6 Apr 2026 18:22:01 +0200 Subject: [PATCH] update components --- website/package-lock.json | 53 +---- website/package.json | 4 +- .../src/lib/components/GPXStatistics.svelte | 2 +- website/src/lib/components/Menu.svelte | 20 +- .../CollapsibleTreeNode.svelte | 4 +- .../elevation-profile/ElevationProfile.svelte | 44 +--- .../file-list/FileListNodeLabel.svelte | 10 +- .../map/gpx-layer/CopyCoordinates.svelte | 1 - .../map/gpx-layer/TrackpointPopup.svelte | 1 - .../map/gpx-layer/WaypointPopup.svelte | 1 - .../map/layer-control/CustomLayers.svelte | 223 +++++++++--------- .../layer-control/LayerControlSettings.svelte | 14 +- .../StreetViewControl.svelte | 2 +- .../components/toolbar/tools/Elevation.svelte | 2 +- .../lib/components/toolbar/tools/Merge.svelte | 2 +- .../lib/components/toolbar/tools/Time.svelte | 114 ++++----- .../toolbar/tools/reduce/Reduce.svelte | 6 +- .../toolbar/tools/routing/Routing.svelte | 8 +- .../toolbar/tools/waypoint/Waypoint.svelte | 129 +++++----- .../ui/accordion/accordion-content.svelte | 9 +- .../ui/accordion/accordion-item.svelte | 2 +- .../ui/accordion/accordion-trigger.svelte | 10 +- .../components/ui/accordion/accordion.svelte | 3 + .../alert-dialog/alert-dialog-action.svelte | 15 +- .../alert-dialog/alert-dialog-cancel.svelte | 15 +- .../alert-dialog/alert-dialog-content.svelte | 13 +- .../alert-dialog-description.svelte | 2 +- .../alert-dialog/alert-dialog-footer.svelte | 5 +- .../alert-dialog/alert-dialog-header.svelte | 2 +- .../ui/alert-dialog/alert-dialog-media.svelte | 20 ++ .../alert-dialog/alert-dialog-overlay.svelte | 5 +- .../alert-dialog/alert-dialog-portal.svelte | 6 +- .../ui/alert-dialog/alert-dialog-title.svelte | 2 +- .../ui/alert-dialog/alert-dialog.svelte | 7 + .../lib/components/ui/alert-dialog/index.ts | 9 +- .../components/ui/alert/alert-action.svelte | 20 ++ .../ui/alert/alert-description.svelte | 2 +- .../components/ui/alert/alert-title.svelte | 5 +- .../src/lib/components/ui/alert/alert.svelte | 7 +- website/src/lib/components/ui/alert/index.ts | 3 + .../lib/components/ui/button/button.svelte | 28 +-- .../ui/calendar/calendar-cell.svelte | 2 +- .../ui/calendar/calendar-day.svelte | 10 +- .../ui/calendar/calendar-grid.svelte | 2 +- .../ui/calendar/calendar-header.svelte | 2 +- .../ui/calendar/calendar-month-select.svelte | 10 +- .../ui/calendar/calendar-month.svelte | 2 +- .../ui/calendar/calendar-next-button.svelte | 11 +- .../ui/calendar/calendar-prev-button.svelte | 11 +- .../ui/calendar/calendar-year-select.svelte | 10 +- .../components/ui/calendar/calendar.svelte | 2 +- .../lib/components/ui/card/card-action.svelte | 5 +- .../components/ui/card/card-content.svelte | 7 +- .../lib/components/ui/card/card-footer.svelte | 2 +- .../lib/components/ui/card/card-header.svelte | 2 +- .../lib/components/ui/card/card-title.svelte | 2 +- .../src/lib/components/ui/card/card.svelte | 9 +- .../components/ui/checkbox/checkbox.svelte | 15 +- .../context-menu-checkbox-item.svelte | 11 +- .../context-menu/context-menu-content.svelte | 11 +- .../context-menu-group-heading.svelte | 2 +- .../ui/context-menu/context-menu-item.svelte | 2 +- .../ui/context-menu/context-menu-label.svelte | 2 +- .../context-menu/context-menu-portal.svelte | 7 + .../context-menu-radio-item.svelte | 14 +- .../context-menu/context-menu-shortcut.svelte | 2 +- .../context-menu-sub-content.svelte | 5 +- .../context-menu-sub-trigger.svelte | 4 +- .../ui/context-menu/context-menu-sub.svelte | 7 + .../context-menu/context-menu-trigger.svelte | 14 +- .../ui/context-menu/context-menu.svelte | 7 + .../lib/components/ui/context-menu/index.ts | 11 +- .../components/ui/dialog/dialog-close.svelte | 8 +- .../ui/dialog/dialog-content.svelte | 25 +- .../ui/dialog/dialog-description.svelte | 2 +- .../components/ui/dialog/dialog-footer.svelte | 16 +- .../components/ui/dialog/dialog-header.svelte | 2 +- .../ui/dialog/dialog-overlay.svelte | 5 +- .../components/ui/dialog/dialog-portal.svelte | 7 + .../components/ui/dialog/dialog-title.svelte | 2 +- .../ui/dialog/dialog-trigger.svelte | 8 +- .../lib/components/ui/dialog/dialog.svelte | 7 + website/src/lib/components/ui/dialog/index.ts | 7 +- .../dropdown-menu-checkbox-group.svelte | 16 ++ .../dropdown-menu-checkbox-item.svelte | 17 +- .../dropdown-menu-content.svelte | 14 +- .../dropdown-menu-group-heading.svelte | 2 +- .../dropdown-menu/dropdown-menu-item.svelte | 2 +- .../dropdown-menu/dropdown-menu-label.svelte | 2 +- .../dropdown-menu/dropdown-menu-portal.svelte | 7 + .../dropdown-menu-radio-item.svelte | 11 +- .../dropdown-menu-shortcut.svelte | 2 +- .../dropdown-menu-sub-content.svelte | 5 +- .../dropdown-menu-sub-trigger.svelte | 6 +- .../ui/dropdown-menu/dropdown-menu-sub.svelte | 7 + .../ui/dropdown-menu/dropdown-menu.svelte | 7 + .../lib/components/ui/dropdown-menu/index.ts | 11 +- .../src/lib/components/ui/input/input.svelte | 8 +- .../lib/components/ui/kbd/kbd-group.svelte | 16 +- website/src/lib/components/ui/kbd/kbd.svelte | 14 +- .../src/lib/components/ui/label/label.svelte | 2 +- .../src/lib/components/ui/menubar/index.ts | 11 +- .../ui/menubar/menubar-checkbox-item.svelte | 21 +- .../ui/menubar/menubar-content.svelte | 14 +- .../ui/menubar/menubar-group-heading.svelte | 2 +- .../components/ui/menubar/menubar-item.svelte | 5 +- .../ui/menubar/menubar-label.svelte | 2 +- .../components/ui/menubar/menubar-menu.svelte | 7 + .../ui/menubar/menubar-portal.svelte | 7 + .../ui/menubar/menubar-radio-group.svelte | 11 + .../ui/menubar/menubar-radio-item.svelte | 16 +- .../ui/menubar/menubar-shortcut.svelte | 2 +- .../ui/menubar/menubar-sub-content.svelte | 5 +- .../ui/menubar/menubar-sub-trigger.svelte | 6 +- .../components/ui/menubar/menubar-sub.svelte | 7 + .../ui/menubar/menubar-trigger.svelte | 5 +- .../lib/components/ui/menubar/menubar.svelte | 5 +- .../src/lib/components/ui/popover/index.ts | 17 +- .../ui/popover/popover-close.svelte | 7 + .../ui/popover/popover-content.svelte | 12 +- .../ui/popover/popover-description.svelte | 20 ++ .../ui/popover/popover-header.svelte | 20 ++ .../ui/popover/popover-portal.svelte | 7 + .../ui/popover/popover-title.svelte | 20 ++ .../lib/components/ui/popover/popover.svelte | 7 + .../ui/radio-group/radio-group-item.svelte | 10 +- .../ui/radio-group/radio-group.svelte | 2 +- .../scroll-area/scroll-area-scrollbar.svelte | 7 +- .../ui/scroll-area/scroll-area.svelte | 5 +- website/src/lib/components/ui/select/index.ts | 8 +- .../ui/select/select-content.svelte | 15 +- .../components/ui/select/select-group.svelte | 14 +- .../components/ui/select/select-item.svelte | 8 +- .../components/ui/select/select-label.svelte | 2 +- .../components/ui/select/select-portal.svelte | 7 + .../select/select-scroll-down-button.svelte | 6 +- .../ui/select/select-scroll-up-button.svelte | 6 +- .../ui/select/select-separator.svelte | 2 +- .../ui/select/select-trigger.svelte | 6 +- .../lib/components/ui/select/select.svelte | 11 + .../components/ui/separator/separator.svelte | 4 +- website/src/lib/components/ui/sheet/index.ts | 6 +- .../components/ui/sheet/sheet-content.svelte | 53 ++--- .../components/ui/sheet/sheet-footer.svelte | 2 +- .../components/ui/sheet/sheet-header.svelte | 2 +- .../components/ui/sheet/sheet-overlay.svelte | 5 +- .../components/ui/sheet/sheet-portal.svelte | 10 +- .../components/ui/sheet/sheet-title.svelte | 2 +- .../src/lib/components/ui/sheet/sheet.svelte | 7 + .../lib/components/ui/slider/slider.svelte | 16 +- .../lib/components/ui/sonner/sonner.svelte | 23 +- .../lib/components/ui/switch/switch.svelte | 12 +- .../components/ui/textarea/textarea.svelte | 2 +- .../ui/toggle-group/toggle-group-item.svelte | 3 +- .../ui/toggle-group/toggle-group.svelte | 42 +++- .../lib/components/ui/toggle/toggle.svelte | 11 +- .../src/lib/components/ui/tooltip/index.ts | 8 +- .../ui/tooltip/tooltip-content.svelte | 21 +- .../ui/tooltip/tooltip-portal.svelte | 7 + .../ui/tooltip/tooltip-provider.svelte | 7 + .../lib/components/ui/tooltip/tooltip.svelte | 10 + website/src/routes/[[language]]/+page.svelte | 6 +- .../routes/[[language]]/help/+layout.svelte | 4 +- 163 files changed, 1155 insertions(+), 724 deletions(-) create mode 100644 website/src/lib/components/ui/alert-dialog/alert-dialog-media.svelte create mode 100644 website/src/lib/components/ui/alert-dialog/alert-dialog.svelte create mode 100644 website/src/lib/components/ui/alert/alert-action.svelte create mode 100644 website/src/lib/components/ui/context-menu/context-menu-portal.svelte create mode 100644 website/src/lib/components/ui/context-menu/context-menu-sub.svelte create mode 100644 website/src/lib/components/ui/context-menu/context-menu.svelte create mode 100644 website/src/lib/components/ui/dialog/dialog-portal.svelte create mode 100644 website/src/lib/components/ui/dialog/dialog.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte create mode 100644 website/src/lib/components/ui/menubar/menubar-menu.svelte create mode 100644 website/src/lib/components/ui/menubar/menubar-portal.svelte create mode 100644 website/src/lib/components/ui/menubar/menubar-radio-group.svelte create mode 100644 website/src/lib/components/ui/menubar/menubar-sub.svelte create mode 100644 website/src/lib/components/ui/popover/popover-close.svelte create mode 100644 website/src/lib/components/ui/popover/popover-description.svelte create mode 100644 website/src/lib/components/ui/popover/popover-header.svelte create mode 100644 website/src/lib/components/ui/popover/popover-portal.svelte create mode 100644 website/src/lib/components/ui/popover/popover-title.svelte create mode 100644 website/src/lib/components/ui/popover/popover.svelte create mode 100644 website/src/lib/components/ui/select/select-portal.svelte create mode 100644 website/src/lib/components/ui/select/select.svelte create mode 100644 website/src/lib/components/ui/sheet/sheet.svelte create mode 100644 website/src/lib/components/ui/tooltip/tooltip-portal.svelte create mode 100644 website/src/lib/components/ui/tooltip/tooltip-provider.svelte create mode 100644 website/src/lib/components/ui/tooltip/tooltip.svelte diff --git a/website/package-lock.json b/website/package-lock.json index e7300a9d4..4df98f70a 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9,7 +9,6 @@ "version": "0.0.1", "dependencies": { "@docsearch/js": "^3.9.0", - "@internationalized/date": "^3.8.2", "@mapbox/sphericalmercator": "^2.0.1", "@mapbox/tilebelt": "^2.0.2", "@maplibre/maplibre-gl-geocoder": "^1.9.4", @@ -28,6 +27,7 @@ "tailwind-merge": "^3.3.0" }, "devDependencies": { + "@internationalized/date": "^3.12.0", "@lucide/svelte": "^0.544.0", "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/enhanced-img": "^0.6.0", @@ -44,7 +44,7 @@ "@types/sortablejs": "^1.15.8", "@typescript-eslint/eslint-plugin": "^8.33.1", "@typescript-eslint/parser": "^8.33.1", - "bits-ui": "^2.14.4", + "bits-ui": "^2.17.2", "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-svelte": "^3.9.1", @@ -1884,16 +1884,6 @@ } } }, - "node_modules/@emnapi/core": { - "version": "1.9.2", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, "node_modules/@emnapi/runtime": { "version": "1.9.2", "dev": true, @@ -1903,15 +1893,6 @@ "tslib": "^2.4.0" } }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.27.7", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", @@ -3170,6 +3151,9 @@ }, "node_modules/@internationalized/date": { "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.0.tgz", + "integrity": "sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" @@ -3366,23 +3350,6 @@ "pbf": "bin/pbf" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, "node_modules/@polka/url": { "version": "1.0.0-next.29", "dev": true, @@ -3922,6 +3889,7 @@ }, "node_modules/@swc/helpers": { "version": "0.5.21", + "dev": true, "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" @@ -4203,15 +4171,6 @@ "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "node_modules/@types/cookie": { "version": "0.6.0", "dev": true, diff --git a/website/package.json b/website/package.json index c9b5a0568..a5110d5f9 100644 --- a/website/package.json +++ b/website/package.json @@ -14,6 +14,7 @@ "format": "prettier --write . --config ../.prettierrc --ignore-path ../.prettierignore --ignore-path ./.gitignore" }, "devDependencies": { + "@internationalized/date": "^3.12.0", "@lucide/svelte": "^0.544.0", "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/enhanced-img": "^0.6.0", @@ -30,7 +31,7 @@ "@types/sortablejs": "^1.15.8", "@typescript-eslint/eslint-plugin": "^8.33.1", "@typescript-eslint/parser": "^8.33.1", - "bits-ui": "^2.14.4", + "bits-ui": "^2.17.2", "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-svelte": "^3.9.1", @@ -59,7 +60,6 @@ "type": "module", "dependencies": { "@docsearch/js": "^3.9.0", - "@internationalized/date": "^3.8.2", "@mapbox/sphericalmercator": "^2.0.1", "@mapbox/tilebelt": "^2.0.2", "@maplibre/maplibre-gl-geocoder": "^1.9.4", diff --git a/website/src/lib/components/GPXStatistics.svelte b/website/src/lib/components/GPXStatistics.svelte index 8ead6658c..484351eca 100644 --- a/website/src/lib/components/GPXStatistics.svelte +++ b/website/src/lib/components/GPXStatistics.svelte @@ -33,7 +33,7 @@
- {i18n._('menu.distance_units')} + {i18n._('menu.distance_units')} @@ -407,7 +407,7 @@ - {i18n._('menu.velocity_units')} + {i18n._('menu.velocity_units')} @@ -422,7 +422,7 @@ - {i18n._('menu.temperature_units')} + {i18n._('menu.temperature_units')} @@ -438,7 +438,7 @@ - + {i18n._('menu.language')} @@ -454,9 +454,9 @@ {#if mode.current === 'light' || !mode.current} - + {:else} - + {/if} {i18n._('menu.mode')} @@ -479,7 +479,7 @@ - + {i18n._('menu.street_view_source')} @@ -500,12 +500,12 @@ -
+
+ +
+ {/each}
+ {/if} -
{ - if (element) { - element.style.opacity = '0.5'; - } - }, - }} - onconsider={(e) => { - customBasemapItems = e.detail.items; - }} - onfinalize={(e) => { - customBasemapItems = e.detail.items; - $customBasemapOrder = customBasemapItems.map((item) => item.id); - $selectedBasemapTree.basemaps['custom'] = customBasemapItems.reduce((acc, item) => { - acc[item.id] = true; - return acc; - }, {}); - }} - > - {#each customBasemapItems as item (item.id)} -
- - {item.name} - - -
- {/each} -
{#if $customOverlayOrder.length > 0} -
- - {i18n._('layers.label.overlays')} -
- +
+
+ + {i18n._('layers.label.overlays')} +
+
+
{ + if (element) { + element.style.opacity = '0.5'; + } + }, + }} + onconsider={(e) => { + customOverlayItems = e.detail.items; + }} + onfinalize={(e) => { + customOverlayItems = e.detail.items; + $customOverlayOrder = customOverlayItems.map((item) => item.id); + $selectedOverlayTree.overlays['custom'] = customOverlayItems.reduce( + (acc, item) => { + acc[item.id] = true; + return acc; + }, + {} + ); + }} + > + {#each customOverlayItems as item (item.id)} +
+ + {item.name} + + +
+ {/each}
+ {/if} -
{ - if (element) { - element.style.opacity = '0.5'; - } - }, - }} - onconsider={(e) => { - customOverlayItems = e.detail.items; - }} - onfinalize={(e) => { - customOverlayItems = e.detail.items; - $customOverlayOrder = customOverlayItems.map((item) => item.id); - $selectedOverlayTree.overlays['custom'] = customOverlayItems.reduce((acc, item) => { - acc[item.id] = true; - return acc; - }, {}); - }} - > - {#each customOverlayItems as item (item.id)} -
- - {item.name} - - -
- {/each} -
- + - + {#if selectedLayerId} {i18n._('layers.custom_layers.edit')} {:else} @@ -353,7 +360,7 @@ {/if} - +
@@ -410,7 +417,7 @@
{#if selectedLayerId} -
+