sveltekit-ui 1.1.16 → 1.1.17
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.
- package/package.json +1 -1
- package/dist/Components/ArrowToggle/index.svelte +0 -62
- package/dist/Components/Attachment/index.svelte +0 -77
- package/dist/Components/Attachment/index.svelte.js +0 -119
- package/dist/Components/AudioEditor/index.svelte +0 -252
- package/dist/Components/AudioEditor/index.svelte.js +0 -977
- package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
- package/dist/Components/Breadcrumbs/index.svelte +0 -27
- package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
- package/dist/Components/Chart/Klines/index.svelte +0 -87
- package/dist/Components/Chart/index.svelte +0 -226
- package/dist/Components/Chart/index.svelte.js +0 -1090
- package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
- package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
- package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
- package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
- package/dist/Components/ChartInput/index.svelte +0 -21
- package/dist/Components/ChartInput/index.svelte.js +0 -671
- package/dist/Components/Color/index.svelte +0 -51
- package/dist/Components/Color/index.svelte.js +0 -31
- package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
- package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
- package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
- package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
- package/dist/Components/ColorInput/index.svelte +0 -70
- package/dist/Components/ColorInput/index.svelte.js +0 -386
- package/dist/Components/ConditionsInput/index.svelte +0 -46
- package/dist/Components/ConditionsInput/index.svelte.js +0 -201
- package/dist/Components/Confetti/index.svelte +0 -98
- package/dist/Components/Confetti/index.svelte.js +0 -94
- package/dist/Components/Content/index.svelte +0 -500
- package/dist/Components/Content/index.svelte.js +0 -910
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
- package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
- package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
- package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
- package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
- package/dist/Components/ContentInput/index.svelte +0 -78
- package/dist/Components/ContentInput/index.svelte.js +0 -1197
- package/dist/Components/CronInput/index.svelte +0 -78
- package/dist/Components/CronInput/index.svelte.js +0 -198
- package/dist/Components/DataTypeInput/index.svelte +0 -174
- package/dist/Components/DataTypeInput/index.svelte.js +0 -565
- package/dist/Components/Dropdown/index.svelte +0 -116
- package/dist/Components/Dropdown/index.svelte.js +0 -403
- package/dist/Components/ErrorX/index.svelte +0 -58
- package/dist/Components/FileInput/index.svelte +0 -146
- package/dist/Components/FileInput/index.svelte.js +0 -225
- package/dist/Components/Hamburger/index.svelte +0 -99
- package/dist/Components/HorizScrollBox/index.svelte +0 -145
- package/dist/Components/IconInput/index.svelte +0 -77
- package/dist/Components/IconInput/index.svelte.js +0 -259
- package/dist/Components/Image/index.svelte +0 -126
- package/dist/Components/Image/index.svelte.js +0 -116
- package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
- package/dist/Components/ImageEditor/Image/index.svelte +0 -104
- package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
- package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
- package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
- package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
- package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
- package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
- package/dist/Components/ImageEditor/index.svelte +0 -93
- package/dist/Components/ImageEditor/index.svelte.js +0 -1961
- package/dist/Components/ImageSlider/index.svelte +0 -124
- package/dist/Components/ImageSlider/index.svelte.js +0 -99
- package/dist/Components/Json/Nested/index.svelte +0 -157
- package/dist/Components/LabeledItem/index.svelte +0 -102
- package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
- package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
- package/dist/Components/Layout/NavBar/index.svelte +0 -72
- package/dist/Components/Layout/index.svelte +0 -149
- package/dist/Components/Layout/index.svelte.js +0 -360
- package/dist/Components/LoadingWheel/index.svelte +0 -38
- package/dist/Components/LocationInput/index.svelte +0 -197
- package/dist/Components/LocationInput/index.svelte.js +0 -965
- package/dist/Components/Number/index.svelte +0 -47
- package/dist/Components/Number/index.svelte.js +0 -151
- package/dist/Components/PhoneCountryCode/index.svelte +0 -7
- package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
- package/dist/Components/Popover/index.svelte +0 -396
- package/dist/Components/Popover/index.svelte.js +0 -319
- package/dist/Components/Spacer/index.svelte +0 -41
- package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
- package/dist/Components/StoragePicker/index.svelte +0 -187
- package/dist/Components/StoragePicker/index.svelte.js +0 -592
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
- package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
- package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
- package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
- package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
- package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
- package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
- package/dist/Components/Tag/index.svelte +0 -45
- package/dist/Components/Tag/index.svelte.js +0 -76
- package/dist/Components/TextArrayInput/index.svelte +0 -108
- package/dist/Components/TextArrayInput/index.svelte.js +0 -239
- package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
- package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
- package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
- package/dist/Components/TimeInput/index.js +0 -702
- package/dist/Components/TimeInput/index.svelte +0 -211
- package/dist/Components/TimeInput/index.svelte.js +0 -638
- package/dist/Components/Tooltip/index.svelte +0 -143
- package/dist/Components/TransparentBackground/index.svelte +0 -153
- package/dist/Components/TypingDots/index.svelte +0 -84
- package/dist/Components/VariablePathInput/index.svelte +0 -63
- package/dist/Components/VariablePathInput/index.svelte.js +0 -273
- package/dist/Components/XFollow/index.svelte +0 -42
- package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
- package/dist/Components/YoutubeVideo/index.svelte +0 -73
- package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
- package/dist/actions/draggable.js +0 -49
- package/dist/actions/index.js +0 -24
- package/dist/actions/no_spaces.js +0 -33
- package/dist/actions/numbers_only.js +0 -26
- package/dist/actions/scroll_y.js +0 -28
- package/dist/actions/stop_scroll_propagation_y.js +0 -42
- package/dist/actions/swipe_handler.js +0 -295
- package/dist/client/astc_formatting/index.js +0 -1128
- package/dist/client/docs/index.js +0 -7622
- package/dist/client/index.js +0 -735
- package/dist/client/types/index.js +0 -2812
- package/dist/index.js +0 -180
- package/dist/style.css +0 -682
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import NavBar from "./NavBar/index.svelte"
|
|
3
|
-
import Alert from "../Alert/index.svelte"
|
|
4
|
-
import Confetti from "../Confetti/index.svelte"
|
|
5
|
-
import Button from "../Button/index.svelte"
|
|
6
|
-
import LoadingWheel from "../LoadingWheel/index.svelte"
|
|
7
|
-
import { goto, beforeNavigate, afterNavigate } from "$app/navigation"
|
|
8
|
-
import { innerHeight } from "svelte/reactivity/window"
|
|
9
|
-
import { fade } from "svelte/transition"
|
|
10
|
-
import { onMount } from "svelte"
|
|
11
|
-
|
|
12
|
-
let { manager, content, nav_bar_logo, nav_bar_extra, full_nav, sub_bar, additional } = $props()
|
|
13
|
-
|
|
14
|
-
beforeNavigate(() => {
|
|
15
|
-
manager.set_is_navigating(true)
|
|
16
|
-
})
|
|
17
|
-
afterNavigate(() => {
|
|
18
|
-
manager.set_is_navigating(false)
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
$effect(() => {
|
|
22
|
-
manager.set_base_theme()
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
let screen_width_loc = $state(null)
|
|
26
|
-
$effect(() => {
|
|
27
|
-
manager.set_screen_width(screen_width_loc)
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
$effect(() => {
|
|
31
|
-
manager.set_screen_height(innerHeight.current)
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
onMount(() => {
|
|
35
|
-
if (manager?.favicons?.favicon_inactive) {
|
|
36
|
-
function update_favicon() {
|
|
37
|
-
const favicon = document.querySelector('link[rel="icon"][sizes="any"]')
|
|
38
|
-
const path = document.hidden ? manager?.favicons?.favicon_inactive : manager?.favicons?.favicon
|
|
39
|
-
favicon?.setAttribute("href", path)
|
|
40
|
-
}
|
|
41
|
-
document.addEventListener("visibilitychange", update_favicon)
|
|
42
|
-
return () => {
|
|
43
|
-
document.removeEventListener("visibilitychange", update_favicon)
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
})
|
|
47
|
-
</script>
|
|
48
|
-
|
|
49
|
-
<svelte:window
|
|
50
|
-
onscrollend={() => manager?.handle_scrollend()}
|
|
51
|
-
onscroll={() => manager?.handle_scroll()}
|
|
52
|
-
onkeypress={(e) => {
|
|
53
|
-
if ((e?.metaKey || e?.ctrlKey) && e?.key && e?.key.toLowerCase() === "b") {
|
|
54
|
-
event.preventDefault()
|
|
55
|
-
manager.set_is_full_nav_toggled_on(!manager?.is_full_nav_toggled_on)
|
|
56
|
-
}
|
|
57
|
-
}}
|
|
58
|
-
/>
|
|
59
|
-
|
|
60
|
-
{#if manager}
|
|
61
|
-
<div class="container" bind:clientWidth={screen_width_loc}>
|
|
62
|
-
{#if !manager?.is_all_nav_bar_hidden}
|
|
63
|
-
<NavBar {manager} logo={nav_bar_logo} {nav_bar_extra} {full_nav} {sub_bar} />
|
|
64
|
-
{/if}
|
|
65
|
-
<div class="fill_screen">
|
|
66
|
-
{#if content}
|
|
67
|
-
{@render content()}
|
|
68
|
-
{/if}
|
|
69
|
-
</div>
|
|
70
|
-
<div class="additional">
|
|
71
|
-
{#if additional}
|
|
72
|
-
{@render additional()}
|
|
73
|
-
{/if}
|
|
74
|
-
</div>
|
|
75
|
-
<Alert manager={manager.alert_manager} />
|
|
76
|
-
<Confetti manager={manager?.confetti_manager} />
|
|
77
|
-
</div>
|
|
78
|
-
{#if manager?.is_navigating}
|
|
79
|
-
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
|
|
80
|
-
<div
|
|
81
|
-
transition:fade={{ delay: 0, duration: 500 }}
|
|
82
|
-
onscroll={(e) => {
|
|
83
|
-
e.preventDefault()
|
|
84
|
-
e.stopPropagation()
|
|
85
|
-
}}
|
|
86
|
-
onclick={(e) => {
|
|
87
|
-
e.preventDefault()
|
|
88
|
-
e.stopPropagation()
|
|
89
|
-
}}
|
|
90
|
-
onkeypress={(e) => {
|
|
91
|
-
e.preventDefault()
|
|
92
|
-
e.stopPropagation()
|
|
93
|
-
}}
|
|
94
|
-
onpointerdown={(e) => {
|
|
95
|
-
e.preventDefault()
|
|
96
|
-
e.stopPropagation()
|
|
97
|
-
}}
|
|
98
|
-
ontouchdown={(e) => {
|
|
99
|
-
e.preventDefault()
|
|
100
|
-
e.stopPropagation()
|
|
101
|
-
}}
|
|
102
|
-
class="loader_container"
|
|
103
|
-
role="status"
|
|
104
|
-
aria-live="polite"
|
|
105
|
-
aria-label="Loading, please wait"
|
|
106
|
-
>
|
|
107
|
-
<div class="loader_inner_container">
|
|
108
|
-
<LoadingWheel sw={0.7} />
|
|
109
|
-
</div>
|
|
110
|
-
</div>
|
|
111
|
-
{/if}
|
|
112
|
-
{/if}
|
|
113
|
-
|
|
114
|
-
<style>
|
|
115
|
-
.container {
|
|
116
|
-
min-height: 100vh;
|
|
117
|
-
min-height: 100dvh;
|
|
118
|
-
display: flex;
|
|
119
|
-
flex-direction: column;
|
|
120
|
-
}
|
|
121
|
-
.fill_screen {
|
|
122
|
-
display: flex;
|
|
123
|
-
flex-direction: column;
|
|
124
|
-
flex: 1;
|
|
125
|
-
overflow-x: scroll;
|
|
126
|
-
/* overflow-x: hidden; tbd mainly cause image display bg blur */
|
|
127
|
-
}
|
|
128
|
-
.additional {
|
|
129
|
-
position: absolute;
|
|
130
|
-
}
|
|
131
|
-
.loader_container {
|
|
132
|
-
position: fixed;
|
|
133
|
-
left: 0;
|
|
134
|
-
top: 0;
|
|
135
|
-
right: 0;
|
|
136
|
-
height: 0;
|
|
137
|
-
min-height: 100vh;
|
|
138
|
-
min-height: 100dvh;
|
|
139
|
-
background: var(--shadow3-t);
|
|
140
|
-
display: flex;
|
|
141
|
-
align-items: center;
|
|
142
|
-
justify-content: center;
|
|
143
|
-
z-index: 14;
|
|
144
|
-
}
|
|
145
|
-
.loader_inner_container {
|
|
146
|
-
height: 14rem;
|
|
147
|
-
width: 14rem;
|
|
148
|
-
}
|
|
149
|
-
</style>
|
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
import { get_user_interface, set_closurable } from "../../client/index.js"
|
|
2
|
-
import { create_alert_manager } from "../Alert/index.svelte.js"
|
|
3
|
-
import { create_checkbox_manager } from "../Checkbox/index.svelte.js"
|
|
4
|
-
import { create_confetti_manager } from "../Confetti/index.svelte.js"
|
|
5
|
-
import { goto } from "$app/navigation"
|
|
6
|
-
|
|
7
|
-
export function create_layout_manager(config) {
|
|
8
|
-
let is_dark_theme = $state(true)
|
|
9
|
-
let full_nav_links = $state([])
|
|
10
|
-
let nav_bar_links = $state([])
|
|
11
|
-
let is_show_hamburger = $state(true)
|
|
12
|
-
let is_all_nav_bar_hidden = $state(false)
|
|
13
|
-
let is_nav_bar_hidable_from_scroll = $state(false)
|
|
14
|
-
let is_nav_bar_hidden_from_scroll = $state(false)
|
|
15
|
-
let is_full_nav_prevented = $state(false)
|
|
16
|
-
let is_full_nav_toggled_on = $state(false)
|
|
17
|
-
let border_radius = $state(0)
|
|
18
|
-
let nav_margin_x = $state(0)
|
|
19
|
-
let nav_margin_top = $state(0)
|
|
20
|
-
let nav_margin_bottom = $state(0)
|
|
21
|
-
let nav_main_padding_y = $state(0.5)
|
|
22
|
-
let nav_main_padding_x = $state(1)
|
|
23
|
-
let breakpoint_splits = $state({
|
|
24
|
-
sm: 480,
|
|
25
|
-
md: 768,
|
|
26
|
-
lg: 1024,
|
|
27
|
-
xl: 1200,
|
|
28
|
-
})
|
|
29
|
-
let is_navigating = $state(false)
|
|
30
|
-
let nav_bar_height = $state(null)
|
|
31
|
-
let screen_width = $state(null)
|
|
32
|
-
let screen_height = $state(null)
|
|
33
|
-
let nav_link_clicks = $state(0)
|
|
34
|
-
let is_at_top = $state(true)
|
|
35
|
-
let is_at_bottom = $state(true)
|
|
36
|
-
let hovered_route_name = $state(null)
|
|
37
|
-
let full_nav_height = $state(null)
|
|
38
|
-
let alert_manager = $state(null)
|
|
39
|
-
let dark_theme_manager = $state(null)
|
|
40
|
-
let confetti_manager = $state(null)
|
|
41
|
-
|
|
42
|
-
let is_full_nav_large = $derived(full_nav_height && full_nav_height / available_content_height > 0.5)
|
|
43
|
-
let is_nav_bar_shown = $derived(
|
|
44
|
-
!(is_all_nav_bar_hidden || (is_nav_bar_hidden_from_scroll && is_nav_bar_hidable_from_scroll))
|
|
45
|
-
)
|
|
46
|
-
let shown_nav_bar_height = $derived(is_nav_bar_shown && nav_bar_height ? nav_bar_height : null)
|
|
47
|
-
let is_full_nav_shown = $derived(is_full_nav_prevented || !is_full_nav_toggled_on ? false : is_nav_bar_shown)
|
|
48
|
-
let available_content_height = $derived(screen_height - shown_nav_bar_height)
|
|
49
|
-
|
|
50
|
-
let breakpoints = $derived(get_breakpoints(screen_width))
|
|
51
|
-
function get_breakpoints(wid) {
|
|
52
|
-
if (wid < breakpoint_splits?.sm) {
|
|
53
|
-
return {
|
|
54
|
-
sm: true,
|
|
55
|
-
md: false,
|
|
56
|
-
lg: false,
|
|
57
|
-
xl: false,
|
|
58
|
-
xxl: false,
|
|
59
|
-
md_and_up: false,
|
|
60
|
-
md_and_down: true,
|
|
61
|
-
lg_and_up: false,
|
|
62
|
-
lg_and_down: true,
|
|
63
|
-
}
|
|
64
|
-
} else if (wid < breakpoint_splits?.md) {
|
|
65
|
-
return {
|
|
66
|
-
sm: false,
|
|
67
|
-
md: true,
|
|
68
|
-
lg: false,
|
|
69
|
-
xl: false,
|
|
70
|
-
xxl: false,
|
|
71
|
-
md_and_up: false,
|
|
72
|
-
md_and_down: true,
|
|
73
|
-
lg_and_up: false,
|
|
74
|
-
lg_and_down: true,
|
|
75
|
-
}
|
|
76
|
-
} else if (wid < breakpoint_splits?.lg) {
|
|
77
|
-
return {
|
|
78
|
-
sm: false,
|
|
79
|
-
md: false,
|
|
80
|
-
lg: true,
|
|
81
|
-
xl: false,
|
|
82
|
-
xxl: false,
|
|
83
|
-
md_and_up: true,
|
|
84
|
-
md_and_down: true,
|
|
85
|
-
lg_and_up: false,
|
|
86
|
-
lg_and_down: true,
|
|
87
|
-
}
|
|
88
|
-
} else if (wid < breakpoint_splits?.xl) {
|
|
89
|
-
return {
|
|
90
|
-
sm: false,
|
|
91
|
-
md: false,
|
|
92
|
-
lg: false,
|
|
93
|
-
xl: true,
|
|
94
|
-
xxl: false,
|
|
95
|
-
md_and_up: true,
|
|
96
|
-
md_and_down: false,
|
|
97
|
-
lg_and_up: true,
|
|
98
|
-
lg_and_down: true,
|
|
99
|
-
}
|
|
100
|
-
} else {
|
|
101
|
-
return {
|
|
102
|
-
sm: false,
|
|
103
|
-
md: false,
|
|
104
|
-
lg: false,
|
|
105
|
-
xl: false,
|
|
106
|
-
xxl: true,
|
|
107
|
-
md_and_up: true,
|
|
108
|
-
md_and_down: false,
|
|
109
|
-
lg_and_up: true,
|
|
110
|
-
lg_and_down: false,
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
let favicons = $derived(set_closurable(config?.favicons, null))
|
|
116
|
-
|
|
117
|
-
function set_base_theme() {
|
|
118
|
-
const theme =
|
|
119
|
-
document.documentElement.dataset.theme ??
|
|
120
|
-
(window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light")
|
|
121
|
-
is_dark_theme = theme == "dark"
|
|
122
|
-
dark_theme_manager.set_val_from_bool(is_dark_theme)
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function set_is_at_top(input) {
|
|
126
|
-
is_at_top = !!input
|
|
127
|
-
}
|
|
128
|
-
function set_is_at_bottom(input) {
|
|
129
|
-
is_at_bottom = !!input
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function set_theme(is_dark_theme_input) {
|
|
133
|
-
is_dark_theme = is_dark_theme_input
|
|
134
|
-
dark_theme_manager.set_val_from_bool(is_dark_theme)
|
|
135
|
-
const theme = is_dark_theme ? "dark" : "light"
|
|
136
|
-
document.documentElement.dataset.theme = theme
|
|
137
|
-
document.cookie = `theme=${theme};max-age=31536000;path"/"`
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
function set_full_nav_height(input) {
|
|
141
|
-
full_nav_height = !!input
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function set_is_full_nav_toggled_on(input) {
|
|
145
|
-
is_full_nav_toggled_on = !!input
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function set_screen_height(input) {
|
|
149
|
-
screen_height = input
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function set_screen_width(input) {
|
|
153
|
-
screen_width = input
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
function set_nav_bar_height(input) {
|
|
157
|
-
nav_bar_height = input
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
function set_is_navigating(input) {
|
|
161
|
-
is_navigating = !!input
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function handle_scrollend() {
|
|
165
|
-
const scroll_top = window.scrollY
|
|
166
|
-
const window_height = window.innerHeight
|
|
167
|
-
const total_height = document.documentElement.scrollHeight
|
|
168
|
-
const is_at_top = scroll_top === 0
|
|
169
|
-
const is_at_bottom = scroll_top + window_height >= total_height
|
|
170
|
-
if (is_at_top) {
|
|
171
|
-
set_is_at_top(true)
|
|
172
|
-
}
|
|
173
|
-
if (is_at_bottom) {
|
|
174
|
-
set_is_at_bottom(true)
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
function handle_scroll() {
|
|
179
|
-
set_is_at_top(false)
|
|
180
|
-
set_is_at_bottom(false)
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function to_home() {
|
|
184
|
-
goto("/")
|
|
185
|
-
nav_link_clicks += 1
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
let client_interface = $derived(screen_width && screen_height ? get_user_interface() : null)
|
|
189
|
-
|
|
190
|
-
function goto_path(slashed_path) {
|
|
191
|
-
is_full_nav_toggled_on = false
|
|
192
|
-
goto(slashed_path)
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
function init(config) {
|
|
196
|
-
is_dark_theme = config?.is_dark_theme ?? true
|
|
197
|
-
full_nav_links = config?.full_nav_links ?? []
|
|
198
|
-
nav_bar_links = config?.nav_bar_links ?? []
|
|
199
|
-
is_show_hamburger = config?.is_show_hamburger ?? true
|
|
200
|
-
is_all_nav_bar_hidden = config?.is_all_nav_bar_hidden ?? false
|
|
201
|
-
is_nav_bar_hidable_from_scroll = config?.is_nav_bar_hidable_from_scroll ?? false
|
|
202
|
-
is_nav_bar_hidden_from_scroll = config?.is_nav_bar_hidden_from_scroll ?? false
|
|
203
|
-
is_full_nav_prevented = config?.is_full_nav_prevented ?? false
|
|
204
|
-
is_full_nav_toggled_on = config?.is_full_nav_toggled_on ?? false
|
|
205
|
-
border_radius = config?.border_radius ?? 0
|
|
206
|
-
nav_margin_x = config?.nav_margin_x ?? 0
|
|
207
|
-
nav_margin_top = config?.nav_margin_top ?? 0
|
|
208
|
-
nav_margin_bottom = config?.nav_margin_bottom ?? 0
|
|
209
|
-
nav_main_padding_y = config?.nav_main_padding_y ?? 0.5
|
|
210
|
-
nav_main_padding_x = config?.nav_main_padding_x ?? 1
|
|
211
|
-
breakpoint_splits = config?.breakpoint_splits ?? {
|
|
212
|
-
sm: 480,
|
|
213
|
-
md: 768,
|
|
214
|
-
lg: 1024,
|
|
215
|
-
xl: 1200,
|
|
216
|
-
}
|
|
217
|
-
alert_manager = create_alert_manager()
|
|
218
|
-
dark_theme_manager = create_checkbox_manager({
|
|
219
|
-
val: is_dark_theme,
|
|
220
|
-
type: "dark_theme",
|
|
221
|
-
mt: 0.1,
|
|
222
|
-
mb: 0.1,
|
|
223
|
-
ml: 0.1,
|
|
224
|
-
mr: 0.1,
|
|
225
|
-
on_change: (input) => set_theme(input),
|
|
226
|
-
})
|
|
227
|
-
confetti_manager = create_confetti_manager({
|
|
228
|
-
type: "full",
|
|
229
|
-
amount: () => screen_width,
|
|
230
|
-
x_range: () => [-Math.floor((screen_width + 100) * 0.06), Math.floor((screen_width + 100) * 0.06)],
|
|
231
|
-
y_range: [-2, 0],
|
|
232
|
-
time_range: 4000,
|
|
233
|
-
duration: 2500,
|
|
234
|
-
fall_distance: "100vh",
|
|
235
|
-
})
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
init(config)
|
|
239
|
-
|
|
240
|
-
return {
|
|
241
|
-
get is_dark_theme() {
|
|
242
|
-
return is_dark_theme
|
|
243
|
-
},
|
|
244
|
-
get favicons() {
|
|
245
|
-
return favicons
|
|
246
|
-
},
|
|
247
|
-
get breakpoints() {
|
|
248
|
-
return breakpoints
|
|
249
|
-
},
|
|
250
|
-
get full_nav_links() {
|
|
251
|
-
return full_nav_links
|
|
252
|
-
},
|
|
253
|
-
get nav_bar_links() {
|
|
254
|
-
return nav_bar_links
|
|
255
|
-
},
|
|
256
|
-
get is_show_hamburger() {
|
|
257
|
-
return is_show_hamburger
|
|
258
|
-
},
|
|
259
|
-
get screen_width() {
|
|
260
|
-
return screen_width
|
|
261
|
-
},
|
|
262
|
-
get screen_height() {
|
|
263
|
-
return screen_height
|
|
264
|
-
},
|
|
265
|
-
get is_all_nav_bar_hidden() {
|
|
266
|
-
return is_all_nav_bar_hidden
|
|
267
|
-
},
|
|
268
|
-
get shown_nav_bar_height() {
|
|
269
|
-
return shown_nav_bar_height
|
|
270
|
-
},
|
|
271
|
-
get is_nav_bar_hidable_from_scroll() {
|
|
272
|
-
return is_nav_bar_hidable_from_scroll
|
|
273
|
-
},
|
|
274
|
-
get is_nav_bar_hidden_from_scroll() {
|
|
275
|
-
return is_nav_bar_hidden_from_scroll
|
|
276
|
-
},
|
|
277
|
-
get is_nav_bar_shown() {
|
|
278
|
-
return is_nav_bar_shown
|
|
279
|
-
},
|
|
280
|
-
get is_full_nav_prevented() {
|
|
281
|
-
return is_full_nav_prevented
|
|
282
|
-
},
|
|
283
|
-
get is_full_nav_toggled_on() {
|
|
284
|
-
return is_full_nav_toggled_on
|
|
285
|
-
},
|
|
286
|
-
get is_full_nav_shown() {
|
|
287
|
-
return is_full_nav_shown
|
|
288
|
-
},
|
|
289
|
-
get nav_bar_height() {
|
|
290
|
-
return nav_bar_height
|
|
291
|
-
},
|
|
292
|
-
get border_radius() {
|
|
293
|
-
return border_radius
|
|
294
|
-
},
|
|
295
|
-
get nav_margin_x() {
|
|
296
|
-
return nav_margin_x
|
|
297
|
-
},
|
|
298
|
-
get nav_margin_top() {
|
|
299
|
-
return nav_margin_top
|
|
300
|
-
},
|
|
301
|
-
get nav_margin_bottom() {
|
|
302
|
-
return nav_margin_bottom
|
|
303
|
-
},
|
|
304
|
-
get nav_main_padding_y() {
|
|
305
|
-
return nav_main_padding_y
|
|
306
|
-
},
|
|
307
|
-
get nav_main_padding_x() {
|
|
308
|
-
return nav_main_padding_x
|
|
309
|
-
},
|
|
310
|
-
get is_navigating() {
|
|
311
|
-
return is_navigating
|
|
312
|
-
},
|
|
313
|
-
get client_interface() {
|
|
314
|
-
return client_interface
|
|
315
|
-
},
|
|
316
|
-
get breakpoint_splits() {
|
|
317
|
-
return breakpoint_splits
|
|
318
|
-
},
|
|
319
|
-
get nav_link_clicks() {
|
|
320
|
-
return nav_link_clicks
|
|
321
|
-
},
|
|
322
|
-
get is_at_top() {
|
|
323
|
-
return is_at_top
|
|
324
|
-
},
|
|
325
|
-
get is_at_bottom() {
|
|
326
|
-
return is_at_bottom
|
|
327
|
-
},
|
|
328
|
-
get hovered_route_name() {
|
|
329
|
-
return hovered_route_name
|
|
330
|
-
},
|
|
331
|
-
get available_content_height() {
|
|
332
|
-
return available_content_height
|
|
333
|
-
},
|
|
334
|
-
get full_nav_height() {
|
|
335
|
-
return full_nav_height
|
|
336
|
-
},
|
|
337
|
-
get is_full_nav_large() {
|
|
338
|
-
return is_full_nav_large
|
|
339
|
-
},
|
|
340
|
-
get confetti_manager() {
|
|
341
|
-
return confetti_manager
|
|
342
|
-
},
|
|
343
|
-
handle_scroll,
|
|
344
|
-
handle_scrollend,
|
|
345
|
-
set_base_theme,
|
|
346
|
-
set_is_at_top,
|
|
347
|
-
set_is_at_bottom,
|
|
348
|
-
set_is_full_nav_toggled_on,
|
|
349
|
-
set_full_nav_height,
|
|
350
|
-
set_screen_height,
|
|
351
|
-
set_screen_width,
|
|
352
|
-
set_nav_bar_height,
|
|
353
|
-
set_is_navigating,
|
|
354
|
-
set_theme,
|
|
355
|
-
to_home,
|
|
356
|
-
goto_path,
|
|
357
|
-
alert_manager,
|
|
358
|
-
dark_theme_manager,
|
|
359
|
-
}
|
|
360
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
let { size = null, sw = 0.3, color = "var(--shadow8-t)", color_bg = "var(--tint8-t)" } = $props()
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="container">
|
|
6
|
-
<div
|
|
7
|
-
class="loader"
|
|
8
|
-
style="--sw: {sw}rem; --color: {color}; --color_bg: {color_bg}; width: {size ? size + 'rem' : '100%'};"
|
|
9
|
-
></div>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<style>
|
|
13
|
-
.container {
|
|
14
|
-
aspect-ratio: 1;
|
|
15
|
-
max-height: 100%;
|
|
16
|
-
margin: auto;
|
|
17
|
-
display: grid;
|
|
18
|
-
place-items: center;
|
|
19
|
-
}
|
|
20
|
-
.loader {
|
|
21
|
-
margin: auto;
|
|
22
|
-
aspect-ratio: 1;
|
|
23
|
-
border: var(--sw) solid var(--color_bg);
|
|
24
|
-
border-top: var(--sw) solid var(--color);
|
|
25
|
-
border-radius: 50%;
|
|
26
|
-
height: 100%;
|
|
27
|
-
animation: spinner 1s ease infinite;
|
|
28
|
-
box-sizing: border-box;
|
|
29
|
-
}
|
|
30
|
-
@keyframes spinner {
|
|
31
|
-
0% {
|
|
32
|
-
transform: rotate(0deg);
|
|
33
|
-
}
|
|
34
|
-
100% {
|
|
35
|
-
transform: rotate(360deg);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
</style>
|