sveltekit-ui 1.1.15 → 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.
Files changed (200) hide show
  1. package/package.json +3 -3
  2. package/src/routes/+page.svelte +24 -0
  3. package/dist/Components/Alert/index.svelte +0 -88
  4. package/dist/Components/Alert/index.svelte.js +0 -101
  5. package/dist/Components/ArrowToggle/index.svelte +0 -62
  6. package/dist/Components/Attachment/index.svelte +0 -77
  7. package/dist/Components/Attachment/index.svelte.js +0 -119
  8. package/dist/Components/Audio/index.svelte +0 -193
  9. package/dist/Components/Audio/index.svelte.js +0 -463
  10. package/dist/Components/AudioEditor/index.svelte +0 -252
  11. package/dist/Components/AudioEditor/index.svelte.js +0 -977
  12. package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
  13. package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
  14. package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
  15. package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
  16. package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
  17. package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
  18. package/dist/Components/AuthCodeInput/index.svelte +0 -85
  19. package/dist/Components/AuthCodeInput/index.svelte.js +0 -95
  20. package/dist/Components/Breadcrumbs/index.svelte +0 -27
  21. package/dist/Components/Breadcrumbs/index.svelte.js +0 -88
  22. package/dist/Components/Button/index.svelte +0 -721
  23. package/dist/Components/Button/index.svelte.js +0 -375
  24. package/dist/Components/Chart/Klines/index.svelte +0 -87
  25. package/dist/Components/Chart/index.svelte +0 -226
  26. package/dist/Components/Chart/index.svelte.js +0 -1090
  27. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +0 -150
  28. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +0 -45
  29. package/dist/Components/ChartInput/DisplayNav/index.svelte +0 -297
  30. package/dist/Components/ChartInput/EditPanel/index.svelte +0 -155
  31. package/dist/Components/ChartInput/index.svelte +0 -21
  32. package/dist/Components/ChartInput/index.svelte.js +0 -671
  33. package/dist/Components/Checkbox/index.svelte +0 -411
  34. package/dist/Components/Checkbox/index.svelte.js +0 -178
  35. package/dist/Components/Code/index.svelte +0 -23
  36. package/dist/Components/Code/index.svelte.js +0 -33
  37. package/dist/Components/Color/index.svelte +0 -51
  38. package/dist/Components/Color/index.svelte.js +0 -31
  39. package/dist/Components/ColorInput/ChromaPicker/index.svelte +0 -50
  40. package/dist/Components/ColorInput/ColorPalette/index.svelte +0 -62
  41. package/dist/Components/ColorInput/OpacityPicker/index.svelte +0 -68
  42. package/dist/Components/ColorInput/ShowcasePicker/index.svelte +0 -136
  43. package/dist/Components/ColorInput/index.svelte +0 -70
  44. package/dist/Components/ColorInput/index.svelte.js +0 -386
  45. package/dist/Components/ConditionsInput/index.svelte +0 -46
  46. package/dist/Components/ConditionsInput/index.svelte.js +0 -201
  47. package/dist/Components/Confetti/index.svelte +0 -98
  48. package/dist/Components/Confetti/index.svelte.js +0 -94
  49. package/dist/Components/Content/index.svelte +0 -500
  50. package/dist/Components/Content/index.svelte.js +0 -910
  51. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +0 -31
  52. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +0 -258
  53. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +0 -31
  54. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +0 -258
  55. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +0 -58
  56. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +0 -206
  57. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +0 -28
  58. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +0 -224
  59. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +0 -44
  60. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +0 -272
  61. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +0 -41
  62. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +0 -202
  63. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +0 -19
  64. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +0 -117
  65. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +0 -60
  66. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +0 -542
  67. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +0 -47
  68. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +0 -185
  69. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +0 -35
  70. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +0 -222
  71. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +0 -20
  72. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +0 -84
  73. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +0 -25
  74. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +0 -91
  75. package/dist/Components/ContentInput/AttributesInput/index.svelte +0 -352
  76. package/dist/Components/ContentInput/AttributesInput/index.svelte.js +0 -1436
  77. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +0 -64
  78. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +0 -97
  79. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +0 -184
  80. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +0 -41
  81. package/dist/Components/ContentInput/index.svelte +0 -78
  82. package/dist/Components/ContentInput/index.svelte.js +0 -1197
  83. package/dist/Components/CronInput/index.svelte +0 -78
  84. package/dist/Components/CronInput/index.svelte.js +0 -198
  85. package/dist/Components/DataTypeInput/index.svelte +0 -174
  86. package/dist/Components/DataTypeInput/index.svelte.js +0 -565
  87. package/dist/Components/Dropdown/index.svelte +0 -116
  88. package/dist/Components/Dropdown/index.svelte.js +0 -403
  89. package/dist/Components/EmailAddress/index.svelte +0 -22
  90. package/dist/Components/EmailAddress/index.svelte.js +0 -45
  91. package/dist/Components/ErrorX/index.svelte +0 -58
  92. package/dist/Components/Eye/index.svelte +0 -57
  93. package/dist/Components/FileInput/index.svelte +0 -146
  94. package/dist/Components/FileInput/index.svelte.js +0 -225
  95. package/dist/Components/Hamburger/index.svelte +0 -99
  96. package/dist/Components/HorizScrollBox/index.svelte +0 -145
  97. package/dist/Components/Icon/index.svelte +0 -412
  98. package/dist/Components/Icon/index.svelte.js +0 -116
  99. package/dist/Components/IconInput/index.svelte +0 -77
  100. package/dist/Components/IconInput/index.svelte.js +0 -259
  101. package/dist/Components/Image/index.svelte +0 -126
  102. package/dist/Components/Image/index.svelte.js +0 -116
  103. package/dist/Components/ImageEditor/Image/CropBox/index.svelte +0 -165
  104. package/dist/Components/ImageEditor/Image/index.svelte +0 -104
  105. package/dist/Components/ImageEditor/Panels/AI/index.svelte +0 -44
  106. package/dist/Components/ImageEditor/Panels/Crop/index.svelte +0 -96
  107. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +0 -124
  108. package/dist/Components/ImageEditor/Panels/File/index.svelte +0 -74
  109. package/dist/Components/ImageEditor/Panels/Filters/index.svelte +0 -46
  110. package/dist/Components/ImageEditor/Panels/Resize/index.svelte +0 -58
  111. package/dist/Components/ImageEditor/index.svelte +0 -93
  112. package/dist/Components/ImageEditor/index.svelte.js +0 -1961
  113. package/dist/Components/ImageSlider/index.svelte +0 -124
  114. package/dist/Components/ImageSlider/index.svelte.js +0 -99
  115. package/dist/Components/InfoBox/index.svelte +0 -89
  116. package/dist/Components/Json/Nested/index.svelte +0 -157
  117. package/dist/Components/Json/index.svelte +0 -60
  118. package/dist/Components/Json/index.svelte.js +0 -594
  119. package/dist/Components/LabeledItem/index.svelte +0 -102
  120. package/dist/Components/Layout/NavBar/FullNav/index.svelte +0 -52
  121. package/dist/Components/Layout/NavBar/NavGuts/index.svelte +0 -87
  122. package/dist/Components/Layout/NavBar/index.svelte +0 -72
  123. package/dist/Components/Layout/index.svelte +0 -149
  124. package/dist/Components/Layout/index.svelte.js +0 -360
  125. package/dist/Components/Link/index.svelte +0 -47
  126. package/dist/Components/Link/index.svelte.js +0 -136
  127. package/dist/Components/LoadingSuccessDiv/index.svelte +0 -51
  128. package/dist/Components/LoadingWheel/index.svelte +0 -38
  129. package/dist/Components/Location/index.svelte +0 -79
  130. package/dist/Components/Location/index.svelte.js +0 -288
  131. package/dist/Components/LocationInput/index.svelte +0 -197
  132. package/dist/Components/LocationInput/index.svelte.js +0 -965
  133. package/dist/Components/Number/index.svelte +0 -47
  134. package/dist/Components/Number/index.svelte.js +0 -151
  135. package/dist/Components/PhoneCountryCode/index.svelte +0 -7
  136. package/dist/Components/PhoneCountryCode/index.svelte.js +0 -260
  137. package/dist/Components/PhoneNumber/index.svelte +0 -22
  138. package/dist/Components/PhoneNumber/index.svelte.js +0 -41
  139. package/dist/Components/Popover/index.svelte +0 -396
  140. package/dist/Components/Popover/index.svelte.js +0 -319
  141. package/dist/Components/Qr/index.svelte +0 -85
  142. package/dist/Components/Qr/index.svelte.js +0 -301
  143. package/dist/Components/QrInput/index.svelte +0 -47
  144. package/dist/Components/QrInput/index.svelte.js +0 -218
  145. package/dist/Components/Slider/index.svelte +0 -239
  146. package/dist/Components/Slider/index.svelte.js +0 -469
  147. package/dist/Components/Spacer/index.svelte +0 -41
  148. package/dist/Components/StoragePicker/DisplayFile/index.svelte +0 -15
  149. package/dist/Components/StoragePicker/index.svelte +0 -187
  150. package/dist/Components/StoragePicker/index.svelte.js +0 -592
  151. package/dist/Components/SuccessCheck/index.svelte +0 -56
  152. package/dist/Components/TableAdvanced/ColumnInput/index.svelte +0 -117
  153. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +0 -456
  154. package/dist/Components/TableAdvanced/FilterInput/index.svelte +0 -54
  155. package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +0 -247
  156. package/dist/Components/TableAdvanced/Pagination/index.svelte +0 -43
  157. package/dist/Components/TableAdvanced/Pagination/index.svelte.js +0 -97
  158. package/dist/Components/TableAdvanced/SortByInput/index.svelte +0 -72
  159. package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +0 -176
  160. package/dist/Components/TableAdvanced/index.svelte +0 -275
  161. package/dist/Components/TableAdvanced/index.svelte.js +0 -1565
  162. package/dist/Components/Tag/index.svelte +0 -45
  163. package/dist/Components/Tag/index.svelte.js +0 -76
  164. package/dist/Components/TextArrayInput/index.svelte +0 -108
  165. package/dist/Components/TextArrayInput/index.svelte.js +0 -239
  166. package/dist/Components/TextInput/PasswordTooltip/index.svelte +0 -89
  167. package/dist/Components/TextInput/index.svelte +0 -223
  168. package/dist/Components/TextInput/index.svelte.js +0 -447
  169. package/dist/Components/Time/index.svelte +0 -7
  170. package/dist/Components/Time/index.svelte.js +0 -38
  171. package/dist/Components/TimeInput/NumberToggler/index.svelte +0 -34
  172. package/dist/Components/TimeInput/NumberToggler/index.svelte.js +0 -79
  173. package/dist/Components/TimeInput/index.js +0 -702
  174. package/dist/Components/TimeInput/index.svelte +0 -211
  175. package/dist/Components/TimeInput/index.svelte.js +0 -638
  176. package/dist/Components/Tooltip/index.svelte +0 -143
  177. package/dist/Components/TransparentBackground/index.svelte +0 -153
  178. package/dist/Components/TypingDots/index.svelte +0 -84
  179. package/dist/Components/VariablePathInput/index.svelte +0 -63
  180. package/dist/Components/VariablePathInput/index.svelte.js +0 -273
  181. package/dist/Components/VideoTBD/index.svelte +0 -100
  182. package/dist/Components/XFollow/index.svelte +0 -42
  183. package/dist/Components/XPost/index.svelte +0 -52
  184. package/dist/Components/XPost/index.svelte.js +0 -64
  185. package/dist/Components/YoutubeChannelButton/index.svelte +0 -82
  186. package/dist/Components/YoutubeVideo/index.svelte +0 -73
  187. package/dist/Components/YoutubeVideo/index.svelte.js +0 -54
  188. package/dist/actions/draggable.js +0 -49
  189. package/dist/actions/index.js +0 -24
  190. package/dist/actions/no_spaces.js +0 -33
  191. package/dist/actions/numbers_only.js +0 -26
  192. package/dist/actions/scroll_y.js +0 -28
  193. package/dist/actions/stop_scroll_propagation_y.js +0 -42
  194. package/dist/actions/swipe_handler.js +0 -295
  195. package/dist/client/astc_formatting/index.js +0 -1128
  196. package/dist/client/docs/index.js +0 -7622
  197. package/dist/client/index.js +0 -735
  198. package/dist/client/types/index.js +0 -2812
  199. package/dist/index.js +0 -180
  200. package/dist/style.css +0 -682
@@ -1,52 +0,0 @@
1
- <script>
2
- import { fly } from "svelte/transition"
3
-
4
- let { manager, full_nav } = $props()
5
- </script>
6
-
7
- {#if manager?.is_full_nav_shown}
8
- <div
9
- role="button"
10
- tabindex="0"
11
- class="underlay"
12
- onwheel={(e) => e.stopPropagation()}
13
- ontouchmove={(e) => e.stopPropagation()}
14
- onclick={() => manager.set_is_full_nav_toggled_on(false)}
15
- onkeydown={(event) => {
16
- if (event.key === "Enter" || event.key === " ") {
17
- manager.set_is_full_nav_toggled_on(false)
18
- }
19
- }}
20
- ></div>
21
- <div
22
- class="container"
23
- style="height: {manager?.available_content_height + 1}px; top: {manager?.shown_nav_bar_height - 1}px;"
24
- in:fly={{ duration: 300, x: -255, opacity: "100%" }}
25
- out:fly={{ duration: 300, x: -255, opacity: "100%" }}
26
- >
27
- {#if full_nav}
28
- {@render full_nav()}
29
- {/if}
30
- </div>
31
- {/if}
32
-
33
- <style>
34
- .underlay {
35
- position: fixed;
36
- top: 0;
37
- left: 0;
38
- right: 0;
39
- bottom: 0;
40
- background-color: var(--shadow8);
41
- }
42
- .container {
43
- position: fixed;
44
- left: 0;
45
- bottom: 0;
46
- width: 25rem;
47
- z-index: 9;
48
- border-right: 1px solid var(--shadow7-t);
49
- background-color: var(--bg);
50
- overflow: scroll;
51
- }
52
- </style>
@@ -1,87 +0,0 @@
1
- <script>
2
- import Hamburger from "../../../Hamburger/index.svelte"
3
-
4
- let { manager, logo, nav_bar_extra } = $props()
5
-
6
- let nav_bar_width = $state(null)
7
- let logo_width = $state(null)
8
- let nav_links_width = $state(null)
9
- let nav_hamburger_width = $state(null)
10
-
11
- // let is_room_for_links = $derived(
12
- // nav_bar_width && logo_width && nav_links_width && nav_hamburger_width
13
- // ? nav_bar_width - logo_width - nav_links_width - nav_hamburger_width > 0
14
- // : true
15
- // )
16
- // class:hide_but_maintain_width={!is_room_for_links}
17
- </script>
18
-
19
- <div class="container" bind:offsetWidth={nav_bar_width}>
20
- <div style="display: flex; align-items: center; gap: 1rem;">
21
- {#if manager?.is_show_hamburger}
22
- <div class="nav_hamburger" bind:offsetWidth={nav_hamburger_width}>
23
- <Hamburger
24
- val={manager.is_full_nav_toggled_on}
25
- on_change={(input) => manager.set_is_full_nav_toggled_on(input)}
26
- />
27
- </div>
28
- {/if}
29
- <div
30
- class="logo_container"
31
- role="button"
32
- tabindex="0"
33
- onclick={() => manager.to_home()}
34
- onkeydown={(event) => {
35
- if (event.key === "Enter" || event.key === " ") {
36
- manager.to_home()
37
- }
38
- }}
39
- bind:offsetWidth={logo_width}
40
- >
41
- {#if logo}
42
- {@render logo()}
43
- {/if}
44
- </div>
45
- </div>
46
- <div class="nav_links" bind:offsetWidth={nav_links_width}>
47
- {#if nav_bar_extra}
48
- {@render nav_bar_extra()}
49
- {/if}
50
- </div>
51
- </div>
52
-
53
- <style>
54
- .container {
55
- display: flex;
56
- flex: 1;
57
- overflow: scroll;
58
- justify-content: space-between;
59
- align-items: center;
60
- }
61
- .logo_container {
62
- display: flex;
63
- align-self: center;
64
- flex: 0;
65
- padding: 0.1rem;
66
- margin-right: 0.5rem;
67
- min-height: 3rem;
68
- min-width: fit-content;
69
- }
70
- .nav_links {
71
- display: flex;
72
- align-items: center;
73
- }
74
- /* .hide_but_maintain_width {
75
- position: fixed;
76
- top: 0;
77
- left: 0;
78
- visibility: hidden;
79
- z-index: -1;
80
- } */
81
- .nav_hamburger {
82
- display: flex;
83
- align-items: center;
84
- height: 3rem;
85
- margin-left: 0.1rem;
86
- }
87
- </style>
@@ -1,72 +0,0 @@
1
- <script>
2
- import NavGuts from "./NavGuts/index.svelte"
3
- import FullNav from "./FullNav/index.svelte"
4
-
5
- let { manager, logo, sub_bar, nav_bar_extra, full_nav } = $props()
6
-
7
- let nav_bar_height_loc = $state(null)
8
- $effect(() => {
9
- manager.set_nav_bar_height(nav_bar_height_loc)
10
- })
11
- </script>
12
-
13
- <div class="container">
14
- <div class="navbar" bind:offsetHeight={nav_bar_height_loc}>
15
- <div
16
- class="navbar_body"
17
- class:floated_nav={!manager?.is_at_top}
18
- class:below_top={!manager?.is_at_top || manager?.is_full_nav_toggled_on}
19
- class:flat_card={manager?.is_at_top}
20
- style="--br: {manager?.border_radius}rem; --nav_margin_x: {manager?.nav_margin_x}rem; --nav_margin_top: {manager?.nav_margin_top}rem; --nav_margin_bottom: {manager?.nav_margin_bottom}rem;"
21
- >
22
- <div
23
- class="mainbar"
24
- style="--nav_main_padding_x: {manager?.nav_main_padding_x}rem; --nav_main_padding_y: {manager?.nav_main_padding_y}rem;"
25
- >
26
- <NavGuts {manager} {logo} {nav_bar_extra} />
27
- </div>
28
- {#if sub_bar}
29
- {@render sub_bar()}
30
- {/if}
31
- </div>
32
- </div>
33
- <div class="full_nav">
34
- <FullNav {manager} {full_nav} />
35
- </div>
36
- </div>
37
-
38
- <style>
39
- .container {
40
- position: sticky;
41
- top: 0;
42
- left: 0;
43
- right: 0;
44
- z-index: 10;
45
- display: flex;
46
- flex-direction: column;
47
- flex: 0;
48
- }
49
- .navbar_body {
50
- border-radius: var(--br);
51
- margin: var(--nav_margin_top) var(--nav_margin_x) var(--nav_margin_bottom) var(--nav_margin_x);
52
- min-height: 5rem;
53
- padding: 0;
54
- background-color: var(--bg);
55
- border-bottom: 1px solid transparent;
56
- }
57
- .mainbar {
58
- display: flex;
59
- flex: 1;
60
- padding: var(--nav_main_padding_y) var(--nav_main_padding_x);
61
- }
62
- .below_top {
63
- border-bottom: 1px solid var(--shadow7-t);
64
- }
65
- /* .floated_nav {
66
- box-shadow: 0 0.1rem 1rem var(--g2);
67
- } */
68
- .full_nav {
69
- position: relative;
70
- z-index: -1;
71
- }
72
- </style>
@@ -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
- }