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,396 +0,0 @@
1
- <script>
2
- import Button from "../Button/index.svelte"
3
- import LoadingSuccessDiv from "../LoadingSuccessDiv/index.svelte"
4
- // import { onDestroy } from 'svelte';
5
-
6
- let { manager, content, content_alt, header, footer } = $props()
7
-
8
- let scroll_top = $state(null)
9
- let scroll_bottom = $state(null)
10
- function handle_content_scroll(e) {
11
- scroll_top = e?.target?.scrollTop
12
- scroll_bottom = e?.target?.scrollHeight - (e?.target.scrollTop + e?.target.clientHeight)
13
- }
14
-
15
- // onDestroy(() => { look into this later
16
- // console.log('onDestroyPopover')
17
- // manager?.close()
18
- // })
19
- </script>
20
-
21
- <svelte:window onscroll={() => manager?.handle_screen_change()} onresize={() => manager?.handle_screen_change()} />
22
-
23
- <div
24
- id={`popover_${manager?.id}`}
25
- popover={manager?.popover_type}
26
- onbeforetoggle={(e) => manager?.handle_before_toggle(e)}
27
- class:type_dropdown={manager?.positioning?.type_to_use === "dropdown"}
28
- class:type_full={manager?.positioning?.type_to_use === "full"}
29
- class:type_right_panel={manager?.positioning?.type_to_use === "panel" && manager?.panel_side != "left"}
30
- class:type_left_panel={manager?.positioning?.type_to_use === "panel" && manager?.panel_side == "left"}
31
- class:type_center={manager?.positioning?.type_to_use === "center"}
32
- class:type_center_lftb={manager?.positioning?.type_to_use === "center" && !manager?.corner}
33
- class:panel_backdrop={["full", "panel"].includes(manager?.positioning?.type_to_use)}
34
- class:corner_tl={manager?.positioning?.type_to_use === "center" && manager?.corner == "tl"}
35
- class:corner_tr={manager?.positioning?.type_to_use === "center" && manager?.corner == "tr"}
36
- class:corner_bl={manager?.positioning?.type_to_use === "center" && manager?.corner == "bl"}
37
- class:corner_br={manager?.positioning?.type_to_use === "center" && manager?.corner == "br"}
38
- style="
39
- --popover_top_pos: {manager?.positioning?.popover_top_pos}px;
40
- --popover_left_pos: {manager?.positioning?.popover_left_pos}px;
41
- --min_width: {manager?.positioning?.min_width}px;
42
- --target_width: {manager?.positioning?.target_width}px;
43
- --max_width: calc(100dvw - (2 * {manager?.positioning?.edge_forgiveness}px));
44
- --min_height: {manager?.positioning?.min_height}px;
45
- --target_height: {manager?.target_height ? `${manager?.positioning?.target_height}px` : 'fit-content'};
46
- --max_height: {manager?.positioning?.max_height
47
- ? `${manager?.positioning?.max_height ?? manager?.screen_height - 20}px`
48
- : `calc(100% - (2 * ${manager?.edge_forgiveness ?? 20}px))`};
49
- --pt: {manager?.pt}rem;
50
- --pl: {manager?.pl}rem;
51
- --pr: {manager?.pr}rem;
52
- --pb: {manager?.pb}rem;
53
- --br: {manager?.border_radius}rem;
54
- --background_color: {manager?.background_color};
55
- --border_color: {manager?.border_color};
56
- --drop_color: {manager?.drop_color};
57
- --edge_forgiveness: {manager?.positioning?.edge_forgiveness ?? 20}px;
58
- "
59
- >
60
- <div
61
- onscroll={(e) => handle_content_scroll(e)}
62
- class="content_container"
63
- style="
64
- --header_bg_color: oklch(from var(--background_color) l c h / {scroll_top ? 0.9 : 0});
65
- --header_border_color: {scroll_top ? 'var(--border_color)' : 'transparent'};
66
- --footer_bg_color: oklch(from var(--background_color) l c h / {scroll_bottom ? 0.9 : 0});
67
- --footer_border_color: {scroll_bottom ? 'var(--border_color)' : 'transparent'};
68
- "
69
- >
70
- {#if manager?.temp_message}
71
- <LoadingSuccessDiv show_screen={manager?.temp_message?.icon} message={manager?.temp_message?.message} />
72
- {:else if manager?.is_show_alt_content && content_alt}
73
- {@render content_alt()}
74
- {:else}
75
- <div class="header_and_content">
76
- {#if manager?.header}
77
- <div class="header">
78
- <h3 style="font-size: {manager?.header_font_size}rem;">{manager?.header}</h3>
79
- </div>
80
- {:else if header}
81
- <div class="header">
82
- {@render header()}
83
- </div>
84
- {/if}
85
- <div
86
- class="content"
87
- style="padding: {manager?.header || header
88
- ? 0
89
- : manager?.pt}rem {manager?.pr}rem {manager?.pb}rem {manager?.pl}rem;"
90
- >
91
- {#if content}
92
- {@render content(manager?.toggle_modal)}
93
- {/if}
94
- </div>
95
- </div>
96
- {#if footer}
97
- <div class="footer">
98
- {@render footer(manager?.toggle_modal)}
99
- </div>
100
- {/if}
101
- {/if}
102
- </div>
103
- {#if manager?.is_show_x && !manager?.is_non_closable}
104
- <div class="x_box" style="--br_offset: .2rem;">
105
- <Button manager={manager?.x_button_manager} />
106
- </div>
107
- {/if}
108
- </div>
109
-
110
- <style>
111
- [popover] {
112
- margin: 0;
113
- padding: 0;
114
- width: fit-content;
115
- height: fit-content;
116
- background-color: var(--background_color);
117
- }
118
- [popover]:popover-open {
119
- display: flex;
120
- flex-direction: column;
121
- flex: 1;
122
- justify-content: space-between;
123
- align-items: center;
124
- opacity: 1;
125
- }
126
- .type_dropdown {
127
- position: fixed;
128
- top: var(--popover_top_pos);
129
- left: var(--popover_left_pos);
130
- bottom: auto;
131
- right: auto;
132
- min-width: var(--min_width);
133
- width: var(--target_width);
134
- max-width: var(--max_width);
135
- min-height: var(--min_height);
136
- height: var(--target_height);
137
- max-height: var(--max_height);
138
- box-shadow: 0 0 1rem var(--drop_color);
139
- border-radius: var(--br);
140
- border: 1px solid var(--border_color);
141
- opacity: 0;
142
- transition:
143
- opacity 0.3s,
144
- overlay 0.3s allow-discrete,
145
- display 0.3s allow-discrete;
146
- }
147
- .type_dropdown:popover-open {
148
- opacity: 1;
149
- }
150
- @starting-style {
151
- .type_dropdown:popover-open {
152
- opacity: 0;
153
- }
154
- }
155
- .corner_bl {
156
- left: var(--edge_forgiveness);
157
- right: auto;
158
- top: auto;
159
- bottom: var(--edge_forgiveness);
160
- }
161
- .corner_br {
162
- left: auto;
163
- right: var(--edge_forgiveness);
164
- top: auto;
165
- bottom: var(--edge_forgiveness);
166
- }
167
- .corner_tl {
168
- left: var(--edge_forgiveness);
169
- right: auto;
170
- top: var(--edge_forgiveness);
171
- bottom: auto;
172
- }
173
- .corner_tr {
174
- left: auto;
175
- right: var(--edge_forgiveness);
176
- top: var(--edge_forgiveness);
177
- bottom: auto;
178
- }
179
- .type_center_lftb {
180
- top: var(--popover_top_pos);
181
- left: 50%;
182
- bottom: auto;
183
- right: auto;
184
- transform: translateX(-50%);
185
- }
186
- .type_center {
187
- position: fixed;
188
- border-radius: var(--br);
189
- border: 1px solid var(--border_color);
190
- min-width: var(--min_width);
191
- width: var(--target_width);
192
- max-width: var(--max_width);
193
- min-height: var(--min_height);
194
- height: var(--target_height);
195
- max-height: var(--max_height);
196
- box-shadow: 0 1rem 5rem var(--drop_color);
197
- opacity: 0;
198
- transition:
199
- opacity 0.5s,
200
- overlay 0.5s allow-discrete,
201
- display 0.5s allow-discrete;
202
- }
203
- .type_center:popover-open {
204
- opacity: 1;
205
- }
206
- .type_center::backdrop {
207
- background-color: transparent;
208
- transition:
209
- display 0s allow-discrete,
210
- overlay 0s allow-discrete,
211
- background-color 0.5s;
212
- }
213
- .type_center:popover-open::backdrop {
214
- background-color: var(--shadow3-t);
215
- }
216
- @starting-style {
217
- .type_center:popover-open {
218
- opacity: 0;
219
- }
220
- .type_center:popover-open::backdrop {
221
- background-color: transparent;
222
- }
223
- }
224
- .type_full {
225
- position: fixed;
226
- top: auto;
227
- left: 0;
228
- right: 0;
229
- bottom: 0;
230
- border: 1px solid var(--border_color);
231
- border-top-left-radius: var(--br);
232
- border-top-right-radius: var(--br);
233
- border-bottom-left-radius: 0;
234
- border-bottom-right-radius: 0;
235
- border-bottom-width: 0;
236
- box-shadow: 0 1rem 5rem var(--drop_color);
237
- width: 100vw;
238
- min-height: var(--min_height) !important;
239
- height: var(--target_height);
240
- max-height: 90dvh;
241
- transform: translateY(100%);
242
- transition:
243
- transform 0.7s,
244
- overlay 0.5s allow-discrete,
245
- display 0.5s allow-discrete;
246
- }
247
- .type_full:popover-open {
248
- transform: translateY(0);
249
- }
250
- @starting-style {
251
- .type_full:popover-open {
252
- transform: translateY(100%);
253
- }
254
- }
255
-
256
- .type_right_panel {
257
- position: fixed;
258
- left: auto;
259
- top: 0;
260
- right: 0;
261
- bottom: 0;
262
- border-left: 1px solid var(--border_color);
263
- border-top-width: 0;
264
- border-bottom-width: 0;
265
- border-right-width: 0;
266
- border-radius: 0;
267
- box-shadow: 0 0 5rem var(--drop_color);
268
- height: 100dvh;
269
- min-width: var(--min_width) !important;
270
- width: var(--target_width);
271
- max-width: 90dvw;
272
- transform: translateX(100%);
273
- transition:
274
- transform 0.7s,
275
- overlay 0.5s allow-discrete,
276
- display 0.5s allow-discrete;
277
- }
278
- .type_right_panel:popover-open {
279
- transform: translateX(0);
280
- }
281
- @starting-style {
282
- .type_right_panel:popover-open {
283
- transform: translateX(100%);
284
- }
285
- }
286
-
287
- .type_left_panel {
288
- position: fixed;
289
- right: auto;
290
- top: 0;
291
- left: 0;
292
- bottom: 0;
293
- border-right: 1px solid var(--border_color);
294
- border-top-width: 0;
295
- border-bottom-width: 0;
296
- border-left-width: 0;
297
- border-radius: 0;
298
- box-shadow: 0 0 5rem var(--drop_color);
299
- height: 100dvh;
300
- min-width: var(--min_width);
301
- width: var(--target_width);
302
- max-width: 90dvw;
303
- transform: translateX(-100%);
304
- transition:
305
- transform 0.7s,
306
- overlay 0.5s allow-discrete,
307
- display 0.5s allow-discrete;
308
- }
309
- .type_left_panel:popover-open {
310
- transform: translateX(0);
311
- }
312
- @starting-style {
313
- .type_left_panel:popover-open {
314
- transform: translateX(-100%);
315
- }
316
- }
317
-
318
- .panel_backdrop::backdrop {
319
- background-color: transparent;
320
- transition:
321
- display 0s allow-discrete,
322
- overlay 0s allow-discrete,
323
- background-color 0.5s ease 0.3s;
324
- }
325
- .panel_backdrop:popover-open::backdrop {
326
- background-color: var(--shadow3-t);
327
- transition:
328
- display 0s allow-discrete,
329
- overlay 0s allow-discrete,
330
- background-color 0.5s;
331
- }
332
- @starting-style {
333
- .panel_backdrop:popover-open::backdrop {
334
- background-color: transparent;
335
- }
336
- }
337
-
338
- .content_container {
339
- display: flex;
340
- flex-direction: column;
341
- justify-content: space-between;
342
- flex: 1;
343
- width: 100%;
344
- overflow: scroll;
345
- }
346
- .header_and_content {
347
- display: flex;
348
- flex-direction: column;
349
- flex: 1;
350
- }
351
- .header {
352
- position: sticky;
353
- top: 0;
354
- left: 0;
355
- right: 0;
356
- z-index: 1;
357
- text-align: center;
358
- margin: 0;
359
- border-radius: 0;
360
- padding: var(--pt) var(--pr) 0 var(--pl);
361
- border: none;
362
- transition:
363
- background-color 0.7s,
364
- border-bottom 0.7s;
365
- background-color: var(--header_bg_color);
366
- border-bottom: 1px solid var(--header_border_color);
367
- }
368
- .content {
369
- display: flex;
370
- flex-direction: column;
371
- flex: 1;
372
- }
373
- .footer {
374
- position: sticky;
375
- bottom: 0;
376
- left: 0;
377
- right: 0;
378
- z-index: 1;
379
- border: none;
380
- border-radius: 0;
381
- text-align: center;
382
- margin-top: 0.5rem;
383
- padding: 1rem var(--pr) var(--pb) var(--pl);
384
- transition:
385
- background-color 0.7s,
386
- border-top 0.7s;
387
- background-color: var(--footer_bg_color);
388
- border-top: 1px solid var(--footer_border_color);
389
- }
390
- .x_box {
391
- position: absolute;
392
- top: var(--br_offset);
393
- right: var(--br_offset);
394
- z-index: 2;
395
- }
396
- </style>
@@ -1,319 +0,0 @@
1
- import { create_unique_id, set_closurable, set_closurable_color } from "../../client/index.js"
2
- import { create_button_manager } from "../Button/index.svelte.js"
3
-
4
- export function create_popover_manager(config) {
5
- const id = create_unique_id(null, 20)
6
- let type = $derived(set_closurable(config?.type, "center")) // dropdown, center, full
7
- let anchor_id = $derived(set_closurable(config?.anchor_id, null))
8
- let pt = $derived(set_closurable(config?.pt, 1))
9
- let pb = $derived(set_closurable(config?.pb, 1))
10
- let pl = $derived(set_closurable(config?.pl, 1))
11
- let pr = $derived(set_closurable(config?.pr, 1))
12
- let min_width = $derived(set_closurable(config?.min_width, 50))
13
- let min_height = $derived(set_closurable(config?.min_height, 50))
14
- let target_width = $derived(set_closurable(config?.target_width, 400))
15
- let target_height = $derived(set_closurable(config?.target_height, type == "dropdown" ? null : 400))
16
- let max_width = $derived(set_closurable(config?.max_width, null))
17
- let max_height = $derived(set_closurable(config?.max_height, null))
18
- let edge_forgiveness = $derived(set_closurable(config?.edge_forgiveness, 10))
19
- let is_disabled = $derived(set_closurable(config?.is_disabled, false))
20
- let is_show_x = $derived(set_closurable(config?.is_show_x, true))
21
- let border_radius = $derived(set_closurable(config?.border_radius, 2))
22
- let background_color = $derived(set_closurable_color(config?.background_color, "var(--bg)"))
23
- let border_color = $derived(set_closurable_color(config?.border_color, "var(--shadow5-t)"))
24
- let contrast_color = $derived(set_closurable_color(config?.contrast_color, "var(--g14-t)"))
25
- let drop_color = $derived(set_closurable_color(config?.drop_color, "var(--shadow8)"))
26
- let header = $derived(set_closurable(config?.header, null))
27
- let header_font_size = $derived(set_closurable(config?.header_font_size, 2))
28
- let is_alt_content_shown = $derived(set_closurable(config?.is_alt_content_shown, false))
29
- let corner = $derived(set_closurable(config?.corner, null))
30
- let panel_side = $derived(set_closurable(config?.panel_side, "right"))
31
- let can_swipe_close = $derived(set_closurable(config?.can_swipe_close, false))
32
- let is_non_closable = $derived(set_closurable(config?.is_non_closable, false))
33
-
34
- let popover_type = $derived(set_closurable(config?.popover_type, "auto")) // auto or manual
35
- let positioning = $state(null)
36
- let is_show = $state(false)
37
-
38
- let x_button_manager = create_button_manager({
39
- type: "plain",
40
- support_icon: "x",
41
- l: 8,
42
- is_icon_bg_tint: false,
43
- icon_size: 1.6,
44
- icon_sw: 50,
45
- is_uniform: true,
46
- border_radius: () => border_radius * 0.6,
47
- on_click: () => close(),
48
- })
49
-
50
- let temp_message = $state(null)
51
- function show_temp_message(message, icon = "success", ms = 1800, is_close_on_end = true, on_finish) {
52
- temp_message = {
53
- message,
54
- icon,
55
- }
56
- setTimeout(() => {
57
- if (is_close_on_end) {
58
- close()
59
- setTimeout(() => {
60
- temp_message = null
61
- }, 300)
62
- } else {
63
- temp_message = null
64
- }
65
- if (typeof on_finish == "function") {
66
- on_finish()
67
- }
68
- }, ms)
69
- }
70
-
71
- function handle_screen_change() {
72
- if (typeof window === "undefined" || typeof document === "undefined") {
73
- return
74
- }
75
- const popover_el = document?.querySelector(`#popover_${id}`)
76
- const is_popover_open = popover_el?.matches(":popover-open")
77
- if (is_popover_open) {
78
- positioning = calc_positions()
79
- }
80
- }
81
-
82
- function open() {
83
- if (typeof window === "undefined" || typeof document === "undefined") {
84
- return
85
- }
86
- const popover_el = document?.querySelector(`#popover_${id}`)
87
- if (popover_el) {
88
- popover_el.showPopover()
89
- is_show = true
90
- }
91
- }
92
-
93
- function close() {
94
- if (typeof window === "undefined" || typeof document === "undefined" || is_non_closable) {
95
- return
96
- }
97
- const popover_el = document?.querySelector(`#popover_${id}`)
98
- if (popover_el) {
99
- popover_el.hidePopover()
100
- is_show = false
101
- }
102
- }
103
-
104
- function toggle() {
105
- if (typeof window === "undefined" || typeof document === "undefined" || (is_non_closable && is_show)) {
106
- return
107
- }
108
- const popover_el = document?.querySelector(`#popover_${id}`)
109
- if (popover_el) {
110
- popover_el.togglePopover()
111
- }
112
- }
113
-
114
- function handle_before_toggle(e) {
115
- if (is_show && is_non_closable) {
116
- e.preventDefault()
117
- }
118
- is_show = e?.newState === "open"
119
- if (e?.newState === "open") {
120
- positioning = calc_positions()
121
- if (config?.on_open) {
122
- config?.on_open()
123
- }
124
- } else {
125
- if (config?.on_close) {
126
- config?.on_close()
127
- }
128
- }
129
- }
130
-
131
- function calc_positions() {
132
- if (typeof window === "undefined" || typeof document === "undefined") {
133
- return null
134
- }
135
- const screen_width = window?.innerWidth
136
- const screen_height = window?.innerHeight
137
- let type_to_use =
138
- min_width && screen_width && screen_width < min_width + 2 * edge_forgiveness && type != "panel" ? "full" : type
139
- let popover_left_pos = "0"
140
- let popover_top_pos = "0"
141
- let popover_el = document?.querySelector(`#popover_${id}`)
142
- if (popover_el && !isNaN(screen_width) && !isNaN(screen_height)) {
143
- let anchor_el = document?.querySelector(anchor_id ? `#${anchor_id}` : `#anchor_el_${id}`) // if button toggle el diff than popover el use this is on toggle button
144
- const base_rect =
145
- type_to_use == "dropdown" && !!anchor_el
146
- ? anchor_el.getBoundingClientRect()
147
- : popover_el.getBoundingClientRect()
148
- type_to_use =
149
- ((target_width >= screen_width && screen_width <= target_width) ||
150
- (target_height >= screen_height && screen_height <= target_height)) &&
151
- type != "panel"
152
- ? "full"
153
- : type_to_use
154
- let is_popover_cross_base_vertically = false
155
- const space_remaining_below = screen_height - base_rect.bottom - edge_forgiveness - target_height
156
- const space_remaining_above = base_rect.top - edge_forgiveness - target_height
157
- if (space_remaining_below >= 0) {
158
- popover_top_pos = base_rect.bottom - edge_forgiveness
159
- } else if (space_remaining_above >= 0) {
160
- popover_top_pos = base_rect.top - target_height + edge_forgiveness
161
- } else {
162
- popover_top_pos = (screen_height - target_height) / 2
163
- is_popover_cross_base_vertically = true
164
- }
165
- popover_left_pos = base_rect.left
166
- let space_remaining_left = base_rect.left - target_width - edge_forgiveness
167
- const space_remaining_right = screen_width - base_rect.right - target_width - edge_forgiveness
168
- const space_remaining_left_to_end = screen_width - base_rect.left - target_width - edge_forgiveness
169
- const space_remaining_right_to_start = base_rect.right - target_width - edge_forgiveness
170
- if (is_popover_cross_base_vertically && space_remaining_right > 0) {
171
- popover_left_pos = base_rect.right - edge_forgiveness
172
- } else if (is_popover_cross_base_vertically && space_remaining_left > 0) {
173
- popover_left_pos = base_rect.left - target_width + edge_forgiveness
174
- } else if (!is_popover_cross_base_vertically && space_remaining_left_to_end < 0) {
175
- popover_left_pos = screen_width - target_width - edge_forgiveness
176
- } else if (space_remaining_left_to_end > 0) {
177
- popover_left_pos = base_rect.left - edge_forgiveness
178
- } else if (space_remaining_right_to_start > 0) {
179
- popover_left_pos = base_rect.right - target_width
180
- }
181
- if (type_to_use == "center") {
182
- popover_left_pos = (screen_width - target_width) / 2
183
- popover_top_pos = (screen_height - target_height) / 2
184
- } else if (type_to_use == "dropdown") {
185
- popover_left_pos = parseInt(popover_left_pos) + edge_forgiveness
186
- popover_top_pos = parseInt(popover_top_pos) + edge_forgiveness
187
- }
188
- }
189
- if (parseInt(target_height) > screen_height) {
190
- return {
191
- type_to_use: "full",
192
- popover_left_pos,
193
- popover_top_pos: 0,
194
- min_width,
195
- max_width,
196
- target_width,
197
- target_height: screen_height - 2 * edge_forgiveness,
198
- min_height: screen_height - 2 * edge_forgiveness,
199
- max_height: screen_height - 2 * edge_forgiveness,
200
- edge_forgiveness,
201
- }
202
- }
203
- return {
204
- type_to_use,
205
- popover_left_pos,
206
- popover_top_pos,
207
- min_width,
208
- max_width,
209
- target_width,
210
- target_height,
211
- min_height,
212
- max_height,
213
- edge_forgiveness,
214
- }
215
- }
216
-
217
- // function handledown_overflow_swipe() {
218
- // if (positioning?.type_to_use === "full" && can_swipe_close) {
219
- // toggle()
220
- // }
221
- // }
222
-
223
- function init(config) {
224
- // tbd
225
- }
226
-
227
- init(config)
228
-
229
- return {
230
- id,
231
- get type() {
232
- return type
233
- },
234
- get popover_type() {
235
- return popover_type
236
- },
237
- get anchor_id() {
238
- return anchor_id
239
- },
240
- get pt() {
241
- return pt
242
- },
243
- get pb() {
244
- return pb
245
- },
246
- get pl() {
247
- return pl
248
- },
249
- get pr() {
250
- return pr
251
- },
252
- get positioning() {
253
- return positioning
254
- },
255
- get is_disabled() {
256
- return is_disabled
257
- },
258
- get is_show_x() {
259
- return is_show_x
260
- },
261
- get border_radius() {
262
- return border_radius
263
- },
264
- get background_color() {
265
- return background_color
266
- },
267
- get border_color() {
268
- return border_color
269
- },
270
- get contrast_color() {
271
- return contrast_color
272
- },
273
- get drop_color() {
274
- return drop_color
275
- },
276
- get header() {
277
- return header
278
- },
279
- get header_font_size() {
280
- return header_font_size
281
- },
282
- get is_alt_content_shown() {
283
- return is_alt_content_shown
284
- },
285
- get corner() {
286
- return corner
287
- },
288
- get panel_side() {
289
- return panel_side
290
- },
291
- get can_swipe_close() {
292
- return can_swipe_close
293
- },
294
- get is_non_closable() {
295
- return is_non_closable
296
- },
297
- get target_width() {
298
- return target_width
299
- },
300
- get target_height() {
301
- return target_height
302
- },
303
- get x_button_manager() {
304
- return x_button_manager
305
- },
306
- get temp_message() {
307
- return temp_message
308
- },
309
- get is_show() {
310
- return is_show
311
- },
312
- handle_screen_change,
313
- open,
314
- close,
315
- toggle,
316
- handle_before_toggle,
317
- show_temp_message,
318
- }
319
- }