triiiceratops 0.10.4 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/{ArrowCounterClockwise-Bqd8M_aJ.js → ArrowCounterClockwise-CN8KGaI0.js} +1 -1
  2. package/dist/{X-DuHUJc5I.js → X-i_EmjXwW.js} +231 -206
  3. package/dist/actions/tooltip.d.ts +10 -0
  4. package/dist/actions/tooltip.js +107 -0
  5. package/dist/{annotation_tool_point-r6erVcAH.js → annotation_tool_point-BpZXtX5D.js} +1 -1
  6. package/dist/components/CanvasNavigation.svelte +57 -21
  7. package/dist/components/DemoHeader.svelte +81 -40
  8. package/dist/components/OSDViewer.svelte +2 -1
  9. package/dist/components/Toolbar.svelte +294 -0
  10. package/dist/components/Toolbar.svelte.d.ts +3 -0
  11. package/dist/components/TriiiceratopsViewer.svelte +8 -13
  12. package/dist/{image_filters_reset-GRY5dmGP.js → image_filters_reset-CyWg622b.js} +1 -1
  13. package/dist/paraglide/messages/_index.d.ts +6 -3
  14. package/dist/paraglide/messages/_index.js +6 -3
  15. package/dist/paraglide/messages/{settings_toggle_right_menu.d.ts → open_menu.d.ts} +1 -1
  16. package/dist/paraglide/messages/open_menu.js +33 -0
  17. package/dist/paraglide/messages/{settings_submenu_right_menu_items.d.ts → settings_submenu_toolbar.d.ts} +1 -1
  18. package/dist/paraglide/messages/{settings_toggle_right_menu.js → settings_submenu_toolbar.js} +9 -9
  19. package/dist/paraglide/messages/settings_toggle_show_toggle.d.ts +4 -0
  20. package/dist/paraglide/messages/{settings_submenu_right_menu_items.js → settings_toggle_show_toggle.js} +9 -9
  21. package/dist/paraglide/messages/settings_toggle_zoom_controls.d.ts +4 -0
  22. package/dist/paraglide/messages/settings_toggle_zoom_controls.js +34 -0
  23. package/dist/paraglide/messages/settings_toolbar_open.d.ts +4 -0
  24. package/dist/paraglide/messages/settings_toolbar_open.js +34 -0
  25. package/dist/paraglide/messages/{settings_toggle_left_menu.d.ts → settings_toolbar_position.d.ts} +1 -1
  26. package/dist/paraglide/messages/{settings_toggle_left_menu.js → settings_toolbar_position.js} +9 -9
  27. package/dist/plugins/annotation-editor.js +3 -3
  28. package/dist/plugins/image-manipulation.js +3 -3
  29. package/dist/state/viewer.svelte.d.ts +13 -2
  30. package/dist/state/viewer.svelte.js +40 -6
  31. package/dist/triiiceratops-bundle.js +2780 -2546
  32. package/dist/triiiceratops-element.iife.js +17 -17
  33. package/dist/triiiceratops.css +1 -1
  34. package/dist/types/config.d.ts +24 -18
  35. package/dist/utils/annotationAdapter.test.js +32 -29
  36. package/package.json +1 -1
  37. package/dist/components/FloatingMenu.svelte +0 -208
  38. package/dist/components/FloatingMenu.svelte.d.ts +0 -3
  39. package/dist/components/LeftFab.svelte +0 -81
  40. package/dist/components/LeftFab.svelte.d.ts +0 -3
@@ -0,0 +1,294 @@
1
+ <script lang="ts">
2
+ import { getContext } from 'svelte';
3
+ import MagnifyingGlass from 'phosphor-svelte/lib/MagnifyingGlass';
4
+ import Slideshow from 'phosphor-svelte/lib/Slideshow';
5
+ import CornersIn from 'phosphor-svelte/lib/CornersIn';
6
+ import CornersOut from 'phosphor-svelte/lib/CornersOut';
7
+ import ChatCenteredText from 'phosphor-svelte/lib/ChatCenteredText';
8
+ import Info from 'phosphor-svelte/lib/Info';
9
+ import List from 'phosphor-svelte/lib/List';
10
+ import X from 'phosphor-svelte/lib/X';
11
+ import { VIEWER_STATE_KEY, type ViewerState } from '../state/viewer.svelte';
12
+ import { m, language } from '../state/i18n.svelte';
13
+ import { tooltip } from '../actions/tooltip';
14
+
15
+ const viewerState = getContext<ViewerState>(VIEWER_STATE_KEY);
16
+
17
+ // Use centralized toolbar state
18
+ const isOpen = $derived(viewerState.toolbarOpen);
19
+
20
+ // --- Configuration ---
21
+ // Default to 'left' if not specified
22
+ const position = $derived(viewerState.config.toolbarPosition || 'left');
23
+ const isLeft = $derived(position === 'left');
24
+ const isTop = $derived(position === 'top');
25
+ const tooltipPos = $derived(
26
+ isTop ? 'bottom' : isLeft ? 'right' : 'left',
27
+ ) as 'bottom' | 'right' | 'left';
28
+ const showToggle = $derived(viewerState.config.showToggle !== false);
29
+
30
+ // --- Standard Viewer Actions ---
31
+ const toolbarConfig = $derived(viewerState.config.toolbar || {});
32
+ const showSearch = $derived(toolbarConfig.showSearch !== false);
33
+ const showGallery = $derived(toolbarConfig.showGallery !== false);
34
+ const showFullscreen = $derived(toolbarConfig.showFullscreen !== false);
35
+ const showAnnotations = $derived(toolbarConfig.showAnnotations !== false);
36
+ const showInfo = $derived(toolbarConfig.showInfo !== false);
37
+
38
+ // Derived list of sorted plugin buttons
39
+ let sortedPluginButtons = $derived.by(() => {
40
+ language.current;
41
+ return [...viewerState.pluginMenuButtons].sort(
42
+ (a, b) => (a.order ?? 100) - (b.order ?? 100),
43
+ );
44
+ });
45
+
46
+ function toggleOpen() {
47
+ viewerState.toggleToolbar();
48
+ }
49
+ </script>
50
+
51
+ <div
52
+ class={[
53
+ 'absolute z-50 pointer-events-none flex',
54
+ isTop && 'top-0 w-full items-end flex-col pt-0 pr-2',
55
+ !isTop && 'top-0 h-full items-start pt-4 pb-4',
56
+ !isTop && isLeft && 'left-0 flex-row',
57
+ !isTop && !isLeft && 'right-0 flex-row-reverse',
58
+ ]}
59
+ >
60
+ <!-- Collapsible Toolbar -->
61
+ <div
62
+ class={[
63
+ 'pointer-events-auto bg-base-100/95 backdrop-blur shadow-xl transition-all duration-300 ease-in-out flex overflow-hidden',
64
+ // Layout based on position
65
+ isTop &&
66
+ 'flex-row-reverse h-12 w-auto max-w-full rounded-b-xl border-x border-b border-base-200 origin-top',
67
+ !isTop &&
68
+ 'flex-col h-auto max-h-full border-y border-base-200 w-12',
69
+ !isTop && isLeft && 'rounded-r-xl border-r origin-left',
70
+ !isTop && !isLeft && 'rounded-l-xl border-l origin-right',
71
+
72
+ // Animation state based on open/closed and position
73
+ isOpen && isTop && 'opacity-100 translate-y-0',
74
+ isOpen && !isTop && 'w-12 opacity-100 translate-x-0',
75
+ !isOpen && isTop && 'h-0 opacity-0 -translate-y-full',
76
+ !isOpen && !isTop && 'w-0 opacity-0',
77
+ !isOpen && !isTop && isLeft && '-translate-x-full',
78
+ !isOpen && !isTop && !isLeft && 'translate-x-full',
79
+ ]}
80
+ >
81
+ <!-- Close Button (Inside Menu) -->
82
+ {#if showToggle}
83
+ <div
84
+ class={[
85
+ 'shrink-0',
86
+ isTop && 'h-full flex items-center px-2',
87
+ !isTop && 'w-full flex justify-center py-2',
88
+ ]}
89
+ >
90
+ <button
91
+ class="btn btn-ghost btn-circle btn-sm"
92
+ onclick={toggleOpen}
93
+ use:tooltip={{
94
+ content: m.close_menu(),
95
+ position: tooltipPos,
96
+ }}
97
+ aria-label={m.close_menu()}
98
+ >
99
+ <X size={20} weight="bold" />
100
+ </button>
101
+ </div>
102
+ {:else}
103
+ <!-- Add some padding if no close button -->
104
+ <div class={isTop ? 'w-2' : 'h-2'}></div>
105
+ {/if}
106
+
107
+ <ul
108
+ class={[
109
+ 'menu menu-md gap-2 flex-nowrap items-center min-h-0',
110
+ isTop &&
111
+ 'px-2 py-1 menu-horizontal w-auto overflow-x-auto overflow-y-hidden flex-row-reverse',
112
+ !isTop &&
113
+ 'py-2 px-1 flex-1 overflow-y-auto overflow-x-hidden w-12',
114
+ ]}
115
+ >
116
+ <!-- --- Standard Actions --- -->
117
+
118
+ {#if showSearch}
119
+ <li>
120
+ <button
121
+ class={[
122
+ 'flex items-center justify-center',
123
+ viewerState.showSearchPanel && 'active',
124
+ ]}
125
+ use:tooltip={{
126
+ content: m.search(),
127
+ position: tooltipPos,
128
+ }}
129
+ aria-label={m.toggle_search()}
130
+ onclick={() => viewerState.toggleSearchPanel()}
131
+ >
132
+ <MagnifyingGlass size={24} weight="bold" />
133
+ </button>
134
+ </li>
135
+ {/if}
136
+
137
+ {#if showGallery}
138
+ <li>
139
+ <button
140
+ class={[
141
+ 'flex items-center justify-center',
142
+ viewerState.showThumbnailGallery && 'active',
143
+ ]}
144
+ use:tooltip={{
145
+ content: viewerState.showThumbnailGallery
146
+ ? m.hide_gallery()
147
+ : m.show_gallery(),
148
+ position: tooltipPos,
149
+ }}
150
+ aria-label={viewerState.showThumbnailGallery
151
+ ? m.hide_gallery()
152
+ : m.show_gallery()}
153
+ onclick={() => viewerState.toggleThumbnailGallery()}
154
+ >
155
+ <Slideshow size={24} weight="bold" />
156
+ </button>
157
+ </li>
158
+ {/if}
159
+
160
+ {#if showFullscreen}
161
+ <li>
162
+ <button
163
+ class={[
164
+ 'flex items-center justify-center',
165
+ viewerState.isFullScreen && 'active',
166
+ ]}
167
+ use:tooltip={{
168
+ content: viewerState.isFullScreen
169
+ ? m.exit_full_screen()
170
+ : m.enter_full_screen(),
171
+ position: tooltipPos,
172
+ }}
173
+ aria-label={viewerState.isFullScreen
174
+ ? m.exit_full_screen()
175
+ : m.enter_full_screen()}
176
+ onclick={() => viewerState.toggleFullScreen()}
177
+ >
178
+ {#if viewerState.isFullScreen}
179
+ <CornersIn size={24} weight="bold" />
180
+ {:else}
181
+ <CornersOut size={24} weight="bold" />
182
+ {/if}
183
+ </button>
184
+ </li>
185
+ {/if}
186
+
187
+ {#if showAnnotations}
188
+ <li>
189
+ <button
190
+ class={[
191
+ 'flex items-center justify-center',
192
+ viewerState.showAnnotations && 'active',
193
+ ]}
194
+ use:tooltip={{
195
+ content: viewerState.showAnnotations
196
+ ? m.hide_annotations()
197
+ : m.show_annotations(),
198
+ position: tooltipPos,
199
+ }}
200
+ aria-label={viewerState.showAnnotations
201
+ ? m.hide_annotations()
202
+ : m.show_annotations()}
203
+ onclick={() => viewerState.toggleAnnotations()}
204
+ >
205
+ <ChatCenteredText size={24} weight="bold" />
206
+ </button>
207
+ </li>
208
+ {/if}
209
+
210
+ {#if showInfo}
211
+ <li>
212
+ <button
213
+ class={[
214
+ 'flex items-center justify-center',
215
+ viewerState.showMetadataDialog && 'active',
216
+ ]}
217
+ use:tooltip={{
218
+ content: m.metadata(),
219
+ position: tooltipPos,
220
+ }}
221
+ aria-label={m.toggle_metadata()}
222
+ onclick={() => viewerState.toggleMetadataDialog()}
223
+ >
224
+ <Info size={24} weight="bold" />
225
+ </button>
226
+ </li>
227
+ {/if}
228
+
229
+ <!-- Separator if both groups exist -->
230
+ {#if (showSearch || showGallery || showFullscreen || showAnnotations || showInfo) && sortedPluginButtons.length > 0}
231
+ <div
232
+ class={[
233
+ 'divider',
234
+ isTop && 'divider-horizontal mx-0',
235
+ !isTop && 'my-0',
236
+ ]}
237
+ ></div>
238
+ {/if}
239
+
240
+ <!-- --- Plugin Actions --- -->
241
+ {#each sortedPluginButtons as button (button.id)}
242
+ {@const Icon = button.icon}
243
+ {@const tooltipText =
244
+ // @ts-ignore
245
+ typeof m[button.tooltip] === 'function'
246
+ ? // @ts-ignore
247
+ m[button.tooltip]()
248
+ : button.tooltip}
249
+ <li>
250
+ <button
251
+ class={[
252
+ 'flex items-center justify-center',
253
+ button.isActive?.() && 'active',
254
+ ]}
255
+ use:tooltip={{
256
+ content: tooltipText,
257
+ position: tooltipPos,
258
+ }}
259
+ aria-label={tooltipText}
260
+ onclick={() => {
261
+ button.onClick();
262
+ }}
263
+ >
264
+ <Icon size={24} weight="bold" />
265
+ </button>
266
+ </li>
267
+ {/each}
268
+ </ul>
269
+ </div>
270
+
271
+ <!-- Toggle Handle (Only visible when closed) -->
272
+ {#if showToggle}
273
+ <button
274
+ class={[
275
+ 'pointer-events-auto btn btn-circle btn-sm btn-neutral shadow-md z-40 transition-opacity duration-300 absolute mt-2',
276
+ isOpen && 'opacity-0 pointer-events-none',
277
+ !isOpen && 'opacity-100',
278
+ ]}
279
+ style={isTop
280
+ ? 'right: 0.5rem;'
281
+ : isLeft
282
+ ? 'left: 0.5rem;'
283
+ : 'right: 0.5rem;'}
284
+ aria-label={m.open_menu()}
285
+ use:tooltip={{
286
+ content: m.open_menu(),
287
+ position: tooltipPos,
288
+ }}
289
+ onclick={toggleOpen}
290
+ >
291
+ <List size={20} weight="bold" />
292
+ </button>
293
+ {/if}
294
+ </div>
@@ -0,0 +1,3 @@
1
+ declare const Toolbar: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type Toolbar = ReturnType<typeof Toolbar>;
3
+ export default Toolbar;
@@ -9,8 +9,7 @@
9
9
  import CanvasNavigation from './CanvasNavigation.svelte';
10
10
  import AnnotationOverlay from './AnnotationOverlay.svelte';
11
11
  import ThumbnailGallery from './ThumbnailGallery.svelte';
12
- import FloatingMenu from './FloatingMenu.svelte';
13
- import LeftFab from './LeftFab.svelte';
12
+ import Toolbar from './Toolbar.svelte';
14
13
  import MetadataDialog from './MetadataDialog.svelte';
15
14
  import SearchPanel from './SearchPanel.svelte';
16
15
  import { m, language } from '../state/i18n.svelte';
@@ -49,6 +48,7 @@
49
48
  $effect(() => {
50
49
  if (rootElement) {
51
50
  applyTheme(rootElement, theme, themeConfig);
51
+ internalViewerState.setViewerElement(rootElement);
52
52
  }
53
53
  });
54
54
 
@@ -411,7 +411,7 @@
411
411
  <!-- Top Area (Gallery) -->
412
412
  {#if internalViewerState.showThumbnailGallery && internalViewerState.dockSide === 'top'}
413
413
  <div
414
- class="flex-none h-[160px] w-full pointer-events-auto relative z-20"
414
+ class="flex-none h-40 w-full pointer-events-auto relative z-20"
415
415
  >
416
416
  <ThumbnailGallery {canvases} />
417
417
  </div>
@@ -455,13 +455,8 @@
455
455
  <AnnotationOverlay />
456
456
  <MetadataDialog />
457
457
 
458
- <!-- Floating Menu / FABs -->
459
- {#if internalViewerState.showRightMenu}
460
- <FloatingMenu />
461
- {/if}
462
- {#if internalViewerState.showLeftMenu}
463
- <LeftFab />
464
- {/if}
458
+ <!-- Floating Toolbar (Replaced Unified Side Menu) -->
459
+ <Toolbar />
465
460
 
466
461
  <!-- Overlay Plugin Panels -->
467
462
  {#each internalViewerState.pluginPanels as panel (panel.id)}
@@ -476,7 +471,7 @@
476
471
  {/each}
477
472
 
478
473
  <!-- Canvas Nav (Absolute positioned inside center, or floating?) currently assumes absolute -->
479
- {#if canvases.length > 1 && internalViewerState.showCanvasNav}
474
+ {#if (canvases.length > 1 && internalViewerState.showCanvasNav) || (internalViewerState.config.showZoomControls ?? true)}
480
475
  <CanvasNavigation viewerState={internalViewerState} />
481
476
  {/if}
482
477
 
@@ -489,7 +484,7 @@
489
484
  <!-- Bottom Area (Gallery) -->
490
485
  {#if internalViewerState.showThumbnailGallery && internalViewerState.dockSide === 'bottom'}
491
486
  <div
492
- class="flex-none h-[160px] w-full pointer-events-auto relative z-20"
487
+ class="flex-none h-40 w-full pointer-events-auto relative z-20"
493
488
  >
494
489
  <ThumbnailGallery {canvases} />
495
490
  </div>
@@ -514,7 +509,7 @@
514
509
  class="flex-none flex flex-row z-20 transition-all {internalViewerState
515
510
  .config.transparentBackground
516
511
  ? ''
517
- : 'bg-base-200 border-l border-base-300'}"
512
+ : 'bg-base-100'}"
518
513
  >
519
514
  <!-- Search Panel -->
520
515
  {#if internalViewerState.showSearchPanel && internalViewerState.config.search?.position !== 'left'}
@@ -1,4 +1,4 @@
1
- import { a as t } from "./X-DuHUJc5I.js";
1
+ import { a as t } from "./X-i_EmjXwW.js";
2
2
  const s = (
3
3
  /** @type {(inputs: {}) => LocalizedString} */
4
4
  () => (
@@ -45,17 +45,20 @@ export * from "./plugins_tooltip.js";
45
45
  export * from "./demo_header_external_controls.js";
46
46
  export * from "./demo_header_active_canvas.js";
47
47
  export * from "./image_adjustments.js";
48
+ export * from "./open_menu.js";
48
49
  export * from "./close_menu.js";
49
50
  export * from "./gallery.js";
50
51
  export * from "./close_gallery.js";
51
52
  export * from "./close_search.js";
52
53
  export * from "./settings_label.js";
53
54
  export * from "./settings_category_general.js";
54
- export * from "./settings_toggle_left_menu.js";
55
- export * from "./settings_toggle_right_menu.js";
55
+ export * from "./settings_toggle_show_toggle.js";
56
+ export * from "./settings_toolbar_open.js";
57
+ export * from "./settings_toolbar_position.js";
56
58
  export * from "./settings_toggle_canvas_nav.js";
59
+ export * from "./settings_toggle_zoom_controls.js";
57
60
  export * from "./settings_category_configuration.js";
58
- export * from "./settings_submenu_right_menu_items.js";
61
+ export * from "./settings_submenu_toolbar.js";
59
62
  export * from "./settings_toggle_show_search.js";
60
63
  export * from "./settings_toggle_show_gallery.js";
61
64
  export * from "./settings_toggle_show_annotations.js";
@@ -47,17 +47,20 @@ export * from './plugins_tooltip.js'
47
47
  export * from './demo_header_external_controls.js'
48
48
  export * from './demo_header_active_canvas.js'
49
49
  export * from './image_adjustments.js'
50
+ export * from './open_menu.js'
50
51
  export * from './close_menu.js'
51
52
  export * from './gallery.js'
52
53
  export * from './close_gallery.js'
53
54
  export * from './close_search.js'
54
55
  export * from './settings_label.js'
55
56
  export * from './settings_category_general.js'
56
- export * from './settings_toggle_left_menu.js'
57
- export * from './settings_toggle_right_menu.js'
57
+ export * from './settings_toggle_show_toggle.js'
58
+ export * from './settings_toolbar_open.js'
59
+ export * from './settings_toolbar_position.js'
58
60
  export * from './settings_toggle_canvas_nav.js'
61
+ export * from './settings_toggle_zoom_controls.js'
59
62
  export * from './settings_category_configuration.js'
60
- export * from './settings_submenu_right_menu_items.js'
63
+ export * from './settings_submenu_toolbar.js'
61
64
  export * from './settings_toggle_show_search.js'
62
65
  export * from './settings_toggle_show_gallery.js'
63
66
  export * from './settings_toggle_show_annotations.js'
@@ -1,4 +1,4 @@
1
- export function settings_toggle_right_menu(inputs?: {}, options?: {
1
+ export function open_menu(inputs?: {}, options?: {
2
2
  locale?: "en" | "de";
3
3
  }): LocalizedString;
4
4
  export type LocalizedString = import("../runtime.js").LocalizedString;
@@ -0,0 +1,33 @@
1
+ /* eslint-disable */
2
+ import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
3
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
4
+
5
+ const en_open_menu = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
+ return /** @type {LocalizedString} */ (`Open Menu`)
7
+ };
8
+
9
+ /** @type {(inputs: {}) => LocalizedString} */
10
+ const de_open_menu = en_open_menu;
11
+
12
+ /**
13
+ * This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
14
+ *
15
+ * - Changing this function will be over-written by the next build.
16
+ *
17
+ * - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
18
+ * use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
19
+ *
20
+ * @param {{}} inputs
21
+ * @param {{ locale?: "en" | "de" }} options
22
+ * @returns {LocalizedString}
23
+ */
24
+ /* @__NO_SIDE_EFFECTS__ */
25
+ export const open_menu = (inputs = {}, options = {}) => {
26
+ if (experimentalMiddlewareLocaleSplitting && isServer === false) {
27
+ return /** @type {any} */ (globalThis).__paraglide_ssr.open_menu(inputs)
28
+ }
29
+ const locale = options.locale ?? getLocale()
30
+ trackMessageCall("open_menu", locale)
31
+ if (locale === "en") return en_open_menu(inputs)
32
+ return de_open_menu(inputs)
33
+ };
@@ -1,4 +1,4 @@
1
- export function settings_submenu_right_menu_items(inputs?: {}, options?: {
1
+ export function settings_submenu_toolbar(inputs?: {}, options?: {
2
2
  locale?: "en" | "de";
3
3
  }): LocalizedString;
4
4
  export type LocalizedString = import("../runtime.js").LocalizedString;
@@ -2,12 +2,12 @@
2
2
  import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
3
3
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
4
4
 
5
- const en_settings_toggle_right_menu = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
- return /** @type {LocalizedString} */ (`Right Menu`)
5
+ const en_settings_submenu_toolbar = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
+ return /** @type {LocalizedString} */ (`Toolbar`)
7
7
  };
8
8
 
9
- const de_settings_toggle_right_menu = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
- return /** @type {LocalizedString} */ (`Rechtes Menü`)
9
+ const de_settings_submenu_toolbar = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
+ return /** @type {LocalizedString} */ (`Werkzeugleiste`)
11
11
  };
12
12
 
13
13
  /**
@@ -23,12 +23,12 @@ const de_settings_toggle_right_menu = /** @type {(inputs: {}) => LocalizedString
23
23
  * @returns {LocalizedString}
24
24
  */
25
25
  /* @__NO_SIDE_EFFECTS__ */
26
- export const settings_toggle_right_menu = (inputs = {}, options = {}) => {
26
+ export const settings_submenu_toolbar = (inputs = {}, options = {}) => {
27
27
  if (experimentalMiddlewareLocaleSplitting && isServer === false) {
28
- return /** @type {any} */ (globalThis).__paraglide_ssr.settings_toggle_right_menu(inputs)
28
+ return /** @type {any} */ (globalThis).__paraglide_ssr.settings_submenu_toolbar(inputs)
29
29
  }
30
30
  const locale = options.locale ?? getLocale()
31
- trackMessageCall("settings_toggle_right_menu", locale)
32
- if (locale === "en") return en_settings_toggle_right_menu(inputs)
33
- return de_settings_toggle_right_menu(inputs)
31
+ trackMessageCall("settings_submenu_toolbar", locale)
32
+ if (locale === "en") return en_settings_submenu_toolbar(inputs)
33
+ return de_settings_submenu_toolbar(inputs)
34
34
  };
@@ -0,0 +1,4 @@
1
+ export function settings_toggle_show_toggle(inputs?: {}, options?: {
2
+ locale?: "en" | "de";
3
+ }): LocalizedString;
4
+ export type LocalizedString = import("../runtime.js").LocalizedString;
@@ -2,12 +2,12 @@
2
2
  import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
3
3
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
4
4
 
5
- const en_settings_submenu_right_menu_items = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
- return /** @type {LocalizedString} */ (`Right Menu Items`)
5
+ const en_settings_toggle_show_toggle = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
+ return /** @type {LocalizedString} */ (`Show Open/Close`)
7
7
  };
8
8
 
9
- const de_settings_submenu_right_menu_items = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
- return /** @type {LocalizedString} */ (`Rechte Menüelemente`)
9
+ const de_settings_toggle_show_toggle = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
+ return /** @type {LocalizedString} */ (`Auf/Zu-Button`)
11
11
  };
12
12
 
13
13
  /**
@@ -23,12 +23,12 @@ const de_settings_submenu_right_menu_items = /** @type {(inputs: {}) => Localize
23
23
  * @returns {LocalizedString}
24
24
  */
25
25
  /* @__NO_SIDE_EFFECTS__ */
26
- export const settings_submenu_right_menu_items = (inputs = {}, options = {}) => {
26
+ export const settings_toggle_show_toggle = (inputs = {}, options = {}) => {
27
27
  if (experimentalMiddlewareLocaleSplitting && isServer === false) {
28
- return /** @type {any} */ (globalThis).__paraglide_ssr.settings_submenu_right_menu_items(inputs)
28
+ return /** @type {any} */ (globalThis).__paraglide_ssr.settings_toggle_show_toggle(inputs)
29
29
  }
30
30
  const locale = options.locale ?? getLocale()
31
- trackMessageCall("settings_submenu_right_menu_items", locale)
32
- if (locale === "en") return en_settings_submenu_right_menu_items(inputs)
33
- return de_settings_submenu_right_menu_items(inputs)
31
+ trackMessageCall("settings_toggle_show_toggle", locale)
32
+ if (locale === "en") return en_settings_toggle_show_toggle(inputs)
33
+ return de_settings_toggle_show_toggle(inputs)
34
34
  };
@@ -0,0 +1,4 @@
1
+ export function settings_toggle_zoom_controls(inputs?: {}, options?: {
2
+ locale?: "en" | "de";
3
+ }): LocalizedString;
4
+ export type LocalizedString = import("../runtime.js").LocalizedString;
@@ -0,0 +1,34 @@
1
+ /* eslint-disable */
2
+ import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
3
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
4
+
5
+ const en_settings_toggle_zoom_controls = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
+ return /** @type {LocalizedString} */ (`Zoom Controls`)
7
+ };
8
+
9
+ const de_settings_toggle_zoom_controls = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
+ return /** @type {LocalizedString} */ (`Zoom-Steuerelemente`)
11
+ };
12
+
13
+ /**
14
+ * This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
15
+ *
16
+ * - Changing this function will be over-written by the next build.
17
+ *
18
+ * - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
19
+ * use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
20
+ *
21
+ * @param {{}} inputs
22
+ * @param {{ locale?: "en" | "de" }} options
23
+ * @returns {LocalizedString}
24
+ */
25
+ /* @__NO_SIDE_EFFECTS__ */
26
+ export const settings_toggle_zoom_controls = (inputs = {}, options = {}) => {
27
+ if (experimentalMiddlewareLocaleSplitting && isServer === false) {
28
+ return /** @type {any} */ (globalThis).__paraglide_ssr.settings_toggle_zoom_controls(inputs)
29
+ }
30
+ const locale = options.locale ?? getLocale()
31
+ trackMessageCall("settings_toggle_zoom_controls", locale)
32
+ if (locale === "en") return en_settings_toggle_zoom_controls(inputs)
33
+ return de_settings_toggle_zoom_controls(inputs)
34
+ };
@@ -0,0 +1,4 @@
1
+ export function settings_toolbar_open(inputs?: {}, options?: {
2
+ locale?: "en" | "de";
3
+ }): LocalizedString;
4
+ export type LocalizedString = import("../runtime.js").LocalizedString;
@@ -0,0 +1,34 @@
1
+ /* eslint-disable */
2
+ import { getLocale, trackMessageCall, experimentalMiddlewareLocaleSplitting, isServer } from '../runtime.js';
3
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
4
+
5
+ const en_settings_toolbar_open = /** @type {(inputs: {}) => LocalizedString} */ () => {
6
+ return /** @type {LocalizedString} */ (`Toolbar Open`)
7
+ };
8
+
9
+ const de_settings_toolbar_open = /** @type {(inputs: {}) => LocalizedString} */ () => {
10
+ return /** @type {LocalizedString} */ (`Werkzeugleiste geöffnet`)
11
+ };
12
+
13
+ /**
14
+ * This function has been compiled by [Paraglide JS](https://inlang.com/m/gerre34r).
15
+ *
16
+ * - Changing this function will be over-written by the next build.
17
+ *
18
+ * - If you want to change the translations, you can either edit the source files e.g. `en.json`, or
19
+ * use another inlang app like [Fink](https://inlang.com/m/tdozzpar) or the [VSCode extension Sherlock](https://inlang.com/m/r7kp499g).
20
+ *
21
+ * @param {{}} inputs
22
+ * @param {{ locale?: "en" | "de" }} options
23
+ * @returns {LocalizedString}
24
+ */
25
+ /* @__NO_SIDE_EFFECTS__ */
26
+ export const settings_toolbar_open = (inputs = {}, options = {}) => {
27
+ if (experimentalMiddlewareLocaleSplitting && isServer === false) {
28
+ return /** @type {any} */ (globalThis).__paraglide_ssr.settings_toolbar_open(inputs)
29
+ }
30
+ const locale = options.locale ?? getLocale()
31
+ trackMessageCall("settings_toolbar_open", locale)
32
+ if (locale === "en") return en_settings_toolbar_open(inputs)
33
+ return de_settings_toolbar_open(inputs)
34
+ };
@@ -1,4 +1,4 @@
1
- export function settings_toggle_left_menu(inputs?: {}, options?: {
1
+ export function settings_toolbar_position(inputs?: {}, options?: {
2
2
  locale?: "en" | "de";
3
3
  }): LocalizedString;
4
4
  export type LocalizedString = import("../runtime.js").LocalizedString;