ambient-display 1.1.0 → 1.1.2

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 (162) hide show
  1. package/build/client/_app/immutable/assets/0.Dl9__I4E.css +1 -0
  2. package/build/client/_app/immutable/assets/0.Dl9__I4E.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.Dl9__I4E.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/2.BtzFOBtk.css +1 -0
  5. package/build/client/_app/immutable/assets/2.BtzFOBtk.css.br +0 -0
  6. package/build/client/_app/immutable/assets/2.BtzFOBtk.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/3.BvcZlbFP.css +1 -0
  8. package/build/client/_app/immutable/assets/3.BvcZlbFP.css.br +0 -0
  9. package/build/client/_app/immutable/assets/3.BvcZlbFP.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css +1 -0
  11. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css.br +0 -0
  12. package/build/client/_app/immutable/assets/LoadingIndicator.D0m6rSKQ.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css +1 -0
  14. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css.br +0 -0
  15. package/build/client/_app/immutable/assets/PlayingTracker.9uM5nyWg.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css +1 -0
  17. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css.br +0 -0
  18. package/build/client/_app/immutable/assets/_layout.Dl9__I4E.css.gz +0 -0
  19. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css +1 -0
  20. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css.br +0 -0
  21. package/build/client/_app/immutable/assets/_page.BtzFOBtk.css.gz +0 -0
  22. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css +1 -0
  23. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css.br +0 -0
  24. package/build/client/_app/immutable/assets/_page.BvcZlbFP.css.gz +0 -0
  25. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js +1 -0
  26. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/LoadingIndicator.COVTk436.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js +5 -0
  29. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/PlayingTracker.Cymhk9j5.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js +1 -0
  32. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/disclose-version.N57b1q78.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js +3 -0
  35. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/entry.CTcSu7Oh.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js +1 -0
  38. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/index-client.DV07uIiZ.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/index.DFULH2AN.js +1 -0
  41. package/build/client/_app/immutable/chunks/index.DFULH2AN.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/index.DFULH2AN.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js +4 -0
  44. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/index.DLR8Bvs6.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js +1 -0
  47. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/legacy.DZgMwYuQ.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/props.DYfFZGja.js +1 -0
  50. package/build/client/_app/immutable/chunks/props.DYfFZGja.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/props.DYfFZGja.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js +1 -0
  53. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/snippet.BVSCguOu.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js +1 -0
  56. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/this.EZLWgc5v.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js +1 -0
  59. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/utils.BXcQV2KO.js.gz +0 -0
  61. package/build/client/_app/immutable/entry/app.DHMJZPqS.js +2 -0
  62. package/build/client/_app/immutable/entry/app.DHMJZPqS.js.br +0 -0
  63. package/build/client/_app/immutable/entry/app.DHMJZPqS.js.gz +0 -0
  64. package/build/client/_app/immutable/entry/start.BGJKS9mR.js +1 -0
  65. package/build/client/_app/immutable/entry/start.BGJKS9mR.js.br +2 -0
  66. package/build/client/_app/immutable/entry/start.BGJKS9mR.js.gz +0 -0
  67. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js +2 -0
  68. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js.br +0 -0
  69. package/build/client/_app/immutable/nodes/0.DaJoi3FK.js.gz +0 -0
  70. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js +1 -0
  71. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js.br +0 -0
  72. package/build/client/_app/immutable/nodes/1.0EwG4xPT.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js +1 -0
  74. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/2.CIcrK0Mf.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js +1 -0
  77. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/3.vzk8SJSG.js.gz +0 -0
  79. package/build/client/_app/version.json +1 -0
  80. package/build/client/_app/version.json.br +0 -0
  81. package/build/client/_app/version.json.gz +0 -0
  82. package/build/client/manifest.json.br +0 -0
  83. package/build/client/manifest.json.gz +0 -0
  84. package/build/env.js +45 -0
  85. package/build/handler.js +1375 -0
  86. package/build/index.js +334 -0
  87. package/build/server/chunks/0-D_yciAvo.js +91 -0
  88. package/build/server/chunks/0-D_yciAvo.js.map +1 -0
  89. package/build/server/chunks/1-BA-qTHOy.js +9 -0
  90. package/build/server/chunks/1-BA-qTHOy.js.map +1 -0
  91. package/build/server/chunks/2-DPsIhdeI.js +9 -0
  92. package/build/server/chunks/2-DPsIhdeI.js.map +1 -0
  93. package/build/server/chunks/3-CZREXwZu.js +9 -0
  94. package/build/server/chunks/3-CZREXwZu.js.map +1 -0
  95. package/build/server/chunks/LoadingIndicator-CTUFEPkL.js +10 -0
  96. package/build/server/chunks/LoadingIndicator-CTUFEPkL.js.map +1 -0
  97. package/build/server/chunks/LoadingIndicator.svelte_svelte_type_style_lang-CVdBHA1v.js +172 -0
  98. package/build/server/chunks/LoadingIndicator.svelte_svelte_type_style_lang-CVdBHA1v.js.map +1 -0
  99. package/build/server/chunks/PlayingTracker-BIq1bdv_.js +18 -0
  100. package/build/server/chunks/PlayingTracker-BIq1bdv_.js.map +1 -0
  101. package/build/server/chunks/_layout.svelte-BoFI04Ng.js +24 -0
  102. package/build/server/chunks/_layout.svelte-BoFI04Ng.js.map +1 -0
  103. package/build/server/chunks/_page.svelte-C3Mw7ZhL.js +115 -0
  104. package/build/server/chunks/_page.svelte-C3Mw7ZhL.js.map +1 -0
  105. package/build/server/chunks/_page.svelte-CzGyTA7b.js +368 -0
  106. package/build/server/chunks/_page.svelte-CzGyTA7b.js.map +1 -0
  107. package/build/server/chunks/error.svelte-BZE1ioPX.js +116 -0
  108. package/build/server/chunks/error.svelte-BZE1ioPX.js.map +1 -0
  109. package/build/server/chunks/exports-DAjI6ZSp.js +125 -0
  110. package/build/server/chunks/exports-DAjI6ZSp.js.map +1 -0
  111. package/build/server/chunks/index2-BA59f76P.js +1214 -0
  112. package/build/server/chunks/index2-BA59f76P.js.map +1 -0
  113. package/build/server/index.js +4868 -0
  114. package/build/server/index.js.map +1 -0
  115. package/build/server/manifest.js +50 -0
  116. package/build/server/manifest.js.map +1 -0
  117. package/build/shims.js +32 -0
  118. package/package.json +9 -2
  119. package/server/index.js +4 -0
  120. package/server/spotify_auth.json +1 -0
  121. package/.prettierignore +0 -4
  122. package/.prettierrc +0 -17
  123. package/CHANGELOG.md +0 -34
  124. package/env.template +0 -2
  125. package/eslint.config.js +0 -24
  126. package/jsconfig.json +0 -19
  127. package/screenshot.png +0 -0
  128. package/src/app.d.ts +0 -13
  129. package/src/app.html +0 -12
  130. package/src/lib/actions/qr.svelte.js +0 -23
  131. package/src/lib/comms.js +0 -25
  132. package/src/lib/components/AuthenticateTrigger.svelte +0 -74
  133. package/src/lib/components/Controls.svelte +0 -91
  134. package/src/lib/components/ImageLoad.svelte +0 -79
  135. package/src/lib/components/LoadingIndicator.svelte +0 -75
  136. package/src/lib/components/MediaItem.svelte +0 -75
  137. package/src/lib/components/PlayingTracker.svelte +0 -94
  138. package/src/lib/components/ResultsList.svelte +0 -80
  139. package/src/lib/components/Toast/Item.svelte +0 -71
  140. package/src/lib/components/Toast/Manager.svelte +0 -34
  141. package/src/lib/icons/disc.svg +0 -1
  142. package/src/lib/index.js +0 -1
  143. package/src/lib/store.js +0 -146
  144. package/src/lib/styles.scss +0 -166
  145. package/src/lib/toast.js +0 -57
  146. package/src/lib/utils.js +0 -723
  147. package/src/routes/+layout.server.js +0 -25
  148. package/src/routes/+layout.svelte +0 -72
  149. package/src/routes/+page.svelte +0 -381
  150. package/src/routes/player/+page.svelte +0 -294
  151. package/svelte.config.js +0 -19
  152. package/tools/BuildManifest.js +0 -87
  153. package/vite.config.js +0 -46
  154. /package/{static → build/client}/favicon.ico +0 -0
  155. /package/{static → build/client}/favicon.png +0 -0
  156. /package/{static → build/client}/icons/144.favicon.png +0 -0
  157. /package/{static → build/client}/icons/168.favicon.png +0 -0
  158. /package/{static → build/client}/icons/192.favicon.png +0 -0
  159. /package/{static → build/client}/icons/48.favicon.png +0 -0
  160. /package/{static → build/client}/icons/72.favicon.png +0 -0
  161. /package/{static → build/client}/icons/96.favicon.png +0 -0
  162. /package/{static → build/client}/manifest.json +0 -0
@@ -0,0 +1,1214 @@
1
+ const BROWSER = false;
2
+ var is_array = Array.isArray;
3
+ var array_from = Array.from;
4
+ var define_property = Object.defineProperty;
5
+ var get_descriptor = Object.getOwnPropertyDescriptor;
6
+ const noop = () => {
7
+ };
8
+ function run_all(arr) {
9
+ for (var i = 0; i < arr.length; i++) {
10
+ arr[i]();
11
+ }
12
+ }
13
+ function equals(value) {
14
+ return value === this.v;
15
+ }
16
+ function safe_not_equal(a, b) {
17
+ return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function";
18
+ }
19
+ function safe_equals(value) {
20
+ return !safe_not_equal(value, this.v);
21
+ }
22
+ const DERIVED = 1 << 1;
23
+ const EFFECT = 1 << 2;
24
+ const RENDER_EFFECT = 1 << 3;
25
+ const BLOCK_EFFECT = 1 << 4;
26
+ const BRANCH_EFFECT = 1 << 5;
27
+ const ROOT_EFFECT = 1 << 6;
28
+ const BOUNDARY_EFFECT = 1 << 7;
29
+ const UNOWNED = 1 << 8;
30
+ const DISCONNECTED = 1 << 9;
31
+ const CLEAN = 1 << 10;
32
+ const DIRTY = 1 << 11;
33
+ const MAYBE_DIRTY = 1 << 12;
34
+ const INERT = 1 << 13;
35
+ const DESTROYED = 1 << 14;
36
+ const EFFECT_RAN = 1 << 15;
37
+ const EFFECT_TRANSPARENT = 1 << 16;
38
+ const HEAD_EFFECT = 1 << 19;
39
+ const EFFECT_HAS_DERIVED = 1 << 20;
40
+ const LEGACY_PROPS = Symbol("legacy props");
41
+ function effect_update_depth_exceeded() {
42
+ {
43
+ throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);
44
+ }
45
+ }
46
+ function hydration_failed() {
47
+ {
48
+ throw new Error(`https://svelte.dev/e/hydration_failed`);
49
+ }
50
+ }
51
+ function state_unsafe_local_read() {
52
+ {
53
+ throw new Error(`https://svelte.dev/e/state_unsafe_local_read`);
54
+ }
55
+ }
56
+ function state_unsafe_mutation() {
57
+ {
58
+ throw new Error(`https://svelte.dev/e/state_unsafe_mutation`);
59
+ }
60
+ }
61
+ let legacy_mode_flag = false;
62
+ const HYDRATION_START = "[";
63
+ const HYDRATION_END = "]";
64
+ const HYDRATION_ERROR = {};
65
+ const ELEMENT_IS_NAMESPACED = 1;
66
+ const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;
67
+ var $window;
68
+ var first_child_getter;
69
+ var next_sibling_getter;
70
+ function init_operations() {
71
+ if ($window !== void 0) {
72
+ return;
73
+ }
74
+ $window = window;
75
+ var element_prototype = Element.prototype;
76
+ var node_prototype = Node.prototype;
77
+ first_child_getter = get_descriptor(node_prototype, "firstChild").get;
78
+ next_sibling_getter = get_descriptor(node_prototype, "nextSibling").get;
79
+ element_prototype.__click = void 0;
80
+ element_prototype.__className = "";
81
+ element_prototype.__attributes = null;
82
+ element_prototype.__styles = null;
83
+ element_prototype.__e = void 0;
84
+ Text.prototype.__t = void 0;
85
+ }
86
+ function create_text(value = "") {
87
+ return document.createTextNode(value);
88
+ }
89
+ // @__NO_SIDE_EFFECTS__
90
+ function get_first_child(node) {
91
+ return first_child_getter.call(node);
92
+ }
93
+ // @__NO_SIDE_EFFECTS__
94
+ function get_next_sibling(node) {
95
+ return next_sibling_getter.call(node);
96
+ }
97
+ function clear_text_content(node) {
98
+ node.textContent = "";
99
+ }
100
+ function destroy_derived_children(derived) {
101
+ var children = derived.children;
102
+ if (children !== null) {
103
+ derived.children = null;
104
+ for (var i = 0; i < children.length; i += 1) {
105
+ var child = children[i];
106
+ if ((child.f & DERIVED) !== 0) {
107
+ destroy_derived(
108
+ /** @type {Derived} */
109
+ child
110
+ );
111
+ } else {
112
+ destroy_effect(
113
+ /** @type {Effect} */
114
+ child
115
+ );
116
+ }
117
+ }
118
+ }
119
+ }
120
+ function get_derived_parent_effect(derived) {
121
+ var parent = derived.parent;
122
+ while (parent !== null) {
123
+ if ((parent.f & DERIVED) === 0) {
124
+ return (
125
+ /** @type {Effect} */
126
+ parent
127
+ );
128
+ }
129
+ parent = parent.parent;
130
+ }
131
+ return null;
132
+ }
133
+ function execute_derived(derived) {
134
+ var value;
135
+ var prev_active_effect = active_effect;
136
+ set_active_effect(get_derived_parent_effect(derived));
137
+ {
138
+ try {
139
+ destroy_derived_children(derived);
140
+ value = update_reaction(derived);
141
+ } finally {
142
+ set_active_effect(prev_active_effect);
143
+ }
144
+ }
145
+ return value;
146
+ }
147
+ function update_derived(derived) {
148
+ var value = execute_derived(derived);
149
+ var status = (skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;
150
+ set_signal_status(derived, status);
151
+ if (!derived.equals(value)) {
152
+ derived.v = value;
153
+ derived.version = increment_version();
154
+ }
155
+ }
156
+ function destroy_derived(derived) {
157
+ destroy_derived_children(derived);
158
+ remove_reactions(derived, 0);
159
+ set_signal_status(derived, DESTROYED);
160
+ derived.v = derived.children = derived.deps = derived.ctx = derived.reactions = null;
161
+ }
162
+ function push_effect(effect2, parent_effect) {
163
+ var parent_last = parent_effect.last;
164
+ if (parent_last === null) {
165
+ parent_effect.last = parent_effect.first = effect2;
166
+ } else {
167
+ parent_last.next = effect2;
168
+ effect2.prev = parent_last;
169
+ parent_effect.last = effect2;
170
+ }
171
+ }
172
+ function create_effect(type, fn, sync, push2 = true) {
173
+ var is_root = (type & ROOT_EFFECT) !== 0;
174
+ var parent_effect = active_effect;
175
+ var effect2 = {
176
+ ctx: component_context,
177
+ deps: null,
178
+ deriveds: null,
179
+ nodes_start: null,
180
+ nodes_end: null,
181
+ f: type | DIRTY,
182
+ first: null,
183
+ fn,
184
+ last: null,
185
+ next: null,
186
+ parent: is_root ? null : parent_effect,
187
+ prev: null,
188
+ teardown: null,
189
+ transitions: null,
190
+ version: 0
191
+ };
192
+ if (sync) {
193
+ var previously_flushing_effect = is_flushing_effect;
194
+ try {
195
+ set_is_flushing_effect(true);
196
+ update_effect(effect2);
197
+ effect2.f |= EFFECT_RAN;
198
+ } catch (e) {
199
+ destroy_effect(effect2);
200
+ throw e;
201
+ } finally {
202
+ set_is_flushing_effect(previously_flushing_effect);
203
+ }
204
+ } else if (fn !== null) {
205
+ schedule_effect(effect2);
206
+ }
207
+ var inert = sync && effect2.deps === null && effect2.first === null && effect2.nodes_start === null && effect2.teardown === null && (effect2.f & EFFECT_HAS_DERIVED) === 0;
208
+ if (!inert && !is_root && push2) {
209
+ if (parent_effect !== null) {
210
+ push_effect(effect2, parent_effect);
211
+ }
212
+ if (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {
213
+ var derived = (
214
+ /** @type {Derived} */
215
+ active_reaction
216
+ );
217
+ (derived.children ??= []).push(effect2);
218
+ }
219
+ }
220
+ return effect2;
221
+ }
222
+ function component_root(fn) {
223
+ const effect2 = create_effect(ROOT_EFFECT, fn, true);
224
+ return (options = {}) => {
225
+ return new Promise((fulfil) => {
226
+ if (options.outro) {
227
+ pause_effect(effect2, () => {
228
+ destroy_effect(effect2);
229
+ fulfil(void 0);
230
+ });
231
+ } else {
232
+ destroy_effect(effect2);
233
+ fulfil(void 0);
234
+ }
235
+ });
236
+ };
237
+ }
238
+ function effect(fn) {
239
+ return create_effect(EFFECT, fn, false);
240
+ }
241
+ function branch(fn, push2 = true) {
242
+ return create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push2);
243
+ }
244
+ function execute_effect_teardown(effect2) {
245
+ var teardown = effect2.teardown;
246
+ if (teardown !== null) {
247
+ const previous_reaction = active_reaction;
248
+ set_active_reaction(null);
249
+ try {
250
+ teardown.call(null);
251
+ } finally {
252
+ set_active_reaction(previous_reaction);
253
+ }
254
+ }
255
+ }
256
+ function destroy_effect_deriveds(signal) {
257
+ var deriveds = signal.deriveds;
258
+ if (deriveds !== null) {
259
+ signal.deriveds = null;
260
+ for (var i = 0; i < deriveds.length; i += 1) {
261
+ destroy_derived(deriveds[i]);
262
+ }
263
+ }
264
+ }
265
+ function destroy_effect_children(signal, remove_dom = false) {
266
+ var effect2 = signal.first;
267
+ signal.first = signal.last = null;
268
+ while (effect2 !== null) {
269
+ var next = effect2.next;
270
+ destroy_effect(effect2, remove_dom);
271
+ effect2 = next;
272
+ }
273
+ }
274
+ function destroy_block_effect_children(signal) {
275
+ var effect2 = signal.first;
276
+ while (effect2 !== null) {
277
+ var next = effect2.next;
278
+ if ((effect2.f & BRANCH_EFFECT) === 0) {
279
+ destroy_effect(effect2);
280
+ }
281
+ effect2 = next;
282
+ }
283
+ }
284
+ function destroy_effect(effect2, remove_dom = true) {
285
+ var removed = false;
286
+ if ((remove_dom || (effect2.f & HEAD_EFFECT) !== 0) && effect2.nodes_start !== null) {
287
+ var node = effect2.nodes_start;
288
+ var end = effect2.nodes_end;
289
+ while (node !== null) {
290
+ var next = node === end ? null : (
291
+ /** @type {TemplateNode} */
292
+ /* @__PURE__ */ get_next_sibling(node)
293
+ );
294
+ node.remove();
295
+ node = next;
296
+ }
297
+ removed = true;
298
+ }
299
+ destroy_effect_children(effect2, remove_dom && !removed);
300
+ destroy_effect_deriveds(effect2);
301
+ remove_reactions(effect2, 0);
302
+ set_signal_status(effect2, DESTROYED);
303
+ var transitions = effect2.transitions;
304
+ if (transitions !== null) {
305
+ for (const transition of transitions) {
306
+ transition.stop();
307
+ }
308
+ }
309
+ execute_effect_teardown(effect2);
310
+ var parent = effect2.parent;
311
+ if (parent !== null && parent.first !== null) {
312
+ unlink_effect(effect2);
313
+ }
314
+ effect2.next = effect2.prev = effect2.teardown = effect2.ctx = effect2.deps = effect2.fn = effect2.nodes_start = effect2.nodes_end = null;
315
+ }
316
+ function unlink_effect(effect2) {
317
+ var parent = effect2.parent;
318
+ var prev = effect2.prev;
319
+ var next = effect2.next;
320
+ if (prev !== null) prev.next = next;
321
+ if (next !== null) next.prev = prev;
322
+ if (parent !== null) {
323
+ if (parent.first === effect2) parent.first = next;
324
+ if (parent.last === effect2) parent.last = prev;
325
+ }
326
+ }
327
+ function pause_effect(effect2, callback) {
328
+ var transitions = [];
329
+ pause_children(effect2, transitions, true);
330
+ run_out_transitions(transitions, () => {
331
+ destroy_effect(effect2);
332
+ callback();
333
+ });
334
+ }
335
+ function run_out_transitions(transitions, fn) {
336
+ var remaining = transitions.length;
337
+ if (remaining > 0) {
338
+ var check = () => --remaining || fn();
339
+ for (var transition of transitions) {
340
+ transition.out(check);
341
+ }
342
+ } else {
343
+ fn();
344
+ }
345
+ }
346
+ function pause_children(effect2, transitions, local) {
347
+ if ((effect2.f & INERT) !== 0) return;
348
+ effect2.f ^= INERT;
349
+ if (effect2.transitions !== null) {
350
+ for (const transition of effect2.transitions) {
351
+ if (transition.is_global || local) {
352
+ transitions.push(transition);
353
+ }
354
+ }
355
+ }
356
+ var child = effect2.first;
357
+ while (child !== null) {
358
+ var sibling = child.next;
359
+ var transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;
360
+ pause_children(child, transitions, transparent ? local : false);
361
+ child = sibling;
362
+ }
363
+ }
364
+ function flush_tasks() {
365
+ }
366
+ function lifecycle_outside_component(name) {
367
+ {
368
+ throw new Error(`https://svelte.dev/e/lifecycle_outside_component`);
369
+ }
370
+ }
371
+ const FLUSH_MICROTASK = 0;
372
+ const FLUSH_SYNC = 1;
373
+ let is_throwing_error = false;
374
+ let scheduler_mode = FLUSH_MICROTASK;
375
+ let is_micro_task_queued = false;
376
+ let last_scheduled_effect = null;
377
+ let is_flushing_effect = false;
378
+ function set_is_flushing_effect(value) {
379
+ is_flushing_effect = value;
380
+ }
381
+ let queued_root_effects = [];
382
+ let flush_count = 0;
383
+ let active_reaction = null;
384
+ function set_active_reaction(reaction) {
385
+ active_reaction = reaction;
386
+ }
387
+ let active_effect = null;
388
+ function set_active_effect(effect2) {
389
+ active_effect = effect2;
390
+ }
391
+ let derived_sources = null;
392
+ let new_deps = null;
393
+ let skipped_deps = 0;
394
+ let untracked_writes = null;
395
+ function set_untracked_writes(value) {
396
+ untracked_writes = value;
397
+ }
398
+ let current_version = 1;
399
+ let skip_reaction = false;
400
+ let component_context = null;
401
+ function increment_version() {
402
+ return ++current_version;
403
+ }
404
+ function is_runes() {
405
+ return !legacy_mode_flag;
406
+ }
407
+ function check_dirtiness(reaction) {
408
+ var flags = reaction.f;
409
+ if ((flags & DIRTY) !== 0) {
410
+ return true;
411
+ }
412
+ if ((flags & MAYBE_DIRTY) !== 0) {
413
+ var dependencies = reaction.deps;
414
+ var is_unowned = (flags & UNOWNED) !== 0;
415
+ if (dependencies !== null) {
416
+ var i;
417
+ if ((flags & DISCONNECTED) !== 0) {
418
+ for (i = 0; i < dependencies.length; i++) {
419
+ (dependencies[i].reactions ??= []).push(reaction);
420
+ }
421
+ reaction.f ^= DISCONNECTED;
422
+ }
423
+ for (i = 0; i < dependencies.length; i++) {
424
+ var dependency = dependencies[i];
425
+ if (check_dirtiness(
426
+ /** @type {Derived} */
427
+ dependency
428
+ )) {
429
+ update_derived(
430
+ /** @type {Derived} */
431
+ dependency
432
+ );
433
+ }
434
+ if (is_unowned && active_effect !== null && !skip_reaction && !dependency?.reactions?.includes(reaction)) {
435
+ (dependency.reactions ??= []).push(reaction);
436
+ }
437
+ if (dependency.version > reaction.version) {
438
+ return true;
439
+ }
440
+ }
441
+ }
442
+ if (!is_unowned || active_effect !== null && !skip_reaction) {
443
+ set_signal_status(reaction, CLEAN);
444
+ }
445
+ }
446
+ return false;
447
+ }
448
+ function propagate_error(error, effect2) {
449
+ var current = effect2;
450
+ while (current !== null) {
451
+ if ((current.f & BOUNDARY_EFFECT) !== 0) {
452
+ try {
453
+ current.fn(error);
454
+ return;
455
+ } catch {
456
+ current.f ^= BOUNDARY_EFFECT;
457
+ }
458
+ }
459
+ current = current.parent;
460
+ }
461
+ is_throwing_error = false;
462
+ throw error;
463
+ }
464
+ function should_rethrow_error(effect2) {
465
+ return (effect2.f & DESTROYED) === 0 && (effect2.parent === null || (effect2.parent.f & BOUNDARY_EFFECT) === 0);
466
+ }
467
+ function handle_error(error, effect2, previous_effect, component_context2) {
468
+ if (is_throwing_error) {
469
+ if (previous_effect === null) {
470
+ is_throwing_error = false;
471
+ }
472
+ if (should_rethrow_error(effect2)) {
473
+ throw error;
474
+ }
475
+ return;
476
+ }
477
+ if (previous_effect !== null) {
478
+ is_throwing_error = true;
479
+ }
480
+ {
481
+ propagate_error(error, effect2);
482
+ return;
483
+ }
484
+ }
485
+ function update_reaction(reaction) {
486
+ var previous_deps = new_deps;
487
+ var previous_skipped_deps = skipped_deps;
488
+ var previous_untracked_writes = untracked_writes;
489
+ var previous_reaction = active_reaction;
490
+ var previous_skip_reaction = skip_reaction;
491
+ var prev_derived_sources = derived_sources;
492
+ var previous_component_context = component_context;
493
+ var flags = reaction.f;
494
+ new_deps = /** @type {null | Value[]} */
495
+ null;
496
+ skipped_deps = 0;
497
+ untracked_writes = null;
498
+ active_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;
499
+ skip_reaction = !is_flushing_effect && (flags & UNOWNED) !== 0;
500
+ derived_sources = null;
501
+ component_context = reaction.ctx;
502
+ try {
503
+ var result = (
504
+ /** @type {Function} */
505
+ (0, reaction.fn)()
506
+ );
507
+ var deps = reaction.deps;
508
+ if (new_deps !== null) {
509
+ var i;
510
+ remove_reactions(reaction, skipped_deps);
511
+ if (deps !== null && skipped_deps > 0) {
512
+ deps.length = skipped_deps + new_deps.length;
513
+ for (i = 0; i < new_deps.length; i++) {
514
+ deps[skipped_deps + i] = new_deps[i];
515
+ }
516
+ } else {
517
+ reaction.deps = deps = new_deps;
518
+ }
519
+ if (!skip_reaction) {
520
+ for (i = skipped_deps; i < deps.length; i++) {
521
+ (deps[i].reactions ??= []).push(reaction);
522
+ }
523
+ }
524
+ } else if (deps !== null && skipped_deps < deps.length) {
525
+ remove_reactions(reaction, skipped_deps);
526
+ deps.length = skipped_deps;
527
+ }
528
+ return result;
529
+ } finally {
530
+ new_deps = previous_deps;
531
+ skipped_deps = previous_skipped_deps;
532
+ untracked_writes = previous_untracked_writes;
533
+ active_reaction = previous_reaction;
534
+ skip_reaction = previous_skip_reaction;
535
+ derived_sources = prev_derived_sources;
536
+ component_context = previous_component_context;
537
+ }
538
+ }
539
+ function remove_reaction(signal, dependency) {
540
+ let reactions = dependency.reactions;
541
+ if (reactions !== null) {
542
+ var index = reactions.indexOf(signal);
543
+ if (index !== -1) {
544
+ var new_length = reactions.length - 1;
545
+ if (new_length === 0) {
546
+ reactions = dependency.reactions = null;
547
+ } else {
548
+ reactions[index] = reactions[new_length];
549
+ reactions.pop();
550
+ }
551
+ }
552
+ }
553
+ if (reactions === null && (dependency.f & DERIVED) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
554
+ // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
555
+ // allows us to skip the expensive work of disconnecting and immediately reconnecting it
556
+ (new_deps === null || !new_deps.includes(dependency))) {
557
+ set_signal_status(dependency, MAYBE_DIRTY);
558
+ if ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {
559
+ dependency.f ^= DISCONNECTED;
560
+ }
561
+ remove_reactions(
562
+ /** @type {Derived} **/
563
+ dependency,
564
+ 0
565
+ );
566
+ }
567
+ }
568
+ function remove_reactions(signal, start_index) {
569
+ var dependencies = signal.deps;
570
+ if (dependencies === null) return;
571
+ for (var i = start_index; i < dependencies.length; i++) {
572
+ remove_reaction(signal, dependencies[i]);
573
+ }
574
+ }
575
+ function update_effect(effect2) {
576
+ var flags = effect2.f;
577
+ if ((flags & DESTROYED) !== 0) {
578
+ return;
579
+ }
580
+ set_signal_status(effect2, CLEAN);
581
+ var previous_effect = active_effect;
582
+ var previous_component_context = component_context;
583
+ active_effect = effect2;
584
+ try {
585
+ if ((flags & BLOCK_EFFECT) !== 0) {
586
+ destroy_block_effect_children(effect2);
587
+ } else {
588
+ destroy_effect_children(effect2);
589
+ }
590
+ destroy_effect_deriveds(effect2);
591
+ execute_effect_teardown(effect2);
592
+ var teardown = update_reaction(effect2);
593
+ effect2.teardown = typeof teardown === "function" ? teardown : null;
594
+ effect2.version = current_version;
595
+ if (BROWSER) ;
596
+ } catch (error) {
597
+ handle_error(error, effect2, previous_effect, previous_component_context || effect2.ctx);
598
+ } finally {
599
+ active_effect = previous_effect;
600
+ }
601
+ }
602
+ function infinite_loop_guard() {
603
+ if (flush_count > 1e3) {
604
+ flush_count = 0;
605
+ try {
606
+ effect_update_depth_exceeded();
607
+ } catch (error) {
608
+ if (last_scheduled_effect !== null) {
609
+ {
610
+ handle_error(error, last_scheduled_effect, null);
611
+ }
612
+ } else {
613
+ throw error;
614
+ }
615
+ }
616
+ }
617
+ flush_count++;
618
+ }
619
+ function flush_queued_root_effects(root_effects) {
620
+ var length = root_effects.length;
621
+ if (length === 0) {
622
+ return;
623
+ }
624
+ infinite_loop_guard();
625
+ var previously_flushing_effect = is_flushing_effect;
626
+ is_flushing_effect = true;
627
+ try {
628
+ for (var i = 0; i < length; i++) {
629
+ var effect2 = root_effects[i];
630
+ if ((effect2.f & CLEAN) === 0) {
631
+ effect2.f ^= CLEAN;
632
+ }
633
+ var collected_effects = [];
634
+ process_effects(effect2, collected_effects);
635
+ flush_queued_effects(collected_effects);
636
+ }
637
+ } finally {
638
+ is_flushing_effect = previously_flushing_effect;
639
+ }
640
+ }
641
+ function flush_queued_effects(effects) {
642
+ var length = effects.length;
643
+ if (length === 0) return;
644
+ for (var i = 0; i < length; i++) {
645
+ var effect2 = effects[i];
646
+ if ((effect2.f & (DESTROYED | INERT)) === 0) {
647
+ try {
648
+ if (check_dirtiness(effect2)) {
649
+ update_effect(effect2);
650
+ if (effect2.deps === null && effect2.first === null && effect2.nodes_start === null) {
651
+ if (effect2.teardown === null) {
652
+ unlink_effect(effect2);
653
+ } else {
654
+ effect2.fn = null;
655
+ }
656
+ }
657
+ }
658
+ } catch (error) {
659
+ handle_error(error, effect2, null, effect2.ctx);
660
+ }
661
+ }
662
+ }
663
+ }
664
+ function process_deferred() {
665
+ is_micro_task_queued = false;
666
+ if (flush_count > 1001) {
667
+ return;
668
+ }
669
+ const previous_queued_root_effects = queued_root_effects;
670
+ queued_root_effects = [];
671
+ flush_queued_root_effects(previous_queued_root_effects);
672
+ if (!is_micro_task_queued) {
673
+ flush_count = 0;
674
+ last_scheduled_effect = null;
675
+ }
676
+ }
677
+ function schedule_effect(signal) {
678
+ if (scheduler_mode === FLUSH_MICROTASK) {
679
+ if (!is_micro_task_queued) {
680
+ is_micro_task_queued = true;
681
+ queueMicrotask(process_deferred);
682
+ }
683
+ }
684
+ last_scheduled_effect = signal;
685
+ var effect2 = signal;
686
+ while (effect2.parent !== null) {
687
+ effect2 = effect2.parent;
688
+ var flags = effect2.f;
689
+ if ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {
690
+ if ((flags & CLEAN) === 0) return;
691
+ effect2.f ^= CLEAN;
692
+ }
693
+ }
694
+ queued_root_effects.push(effect2);
695
+ }
696
+ function process_effects(effect2, collected_effects) {
697
+ var current_effect = effect2.first;
698
+ var effects = [];
699
+ main_loop: while (current_effect !== null) {
700
+ var flags = current_effect.f;
701
+ var is_branch = (flags & BRANCH_EFFECT) !== 0;
702
+ var is_skippable_branch = is_branch && (flags & CLEAN) !== 0;
703
+ var sibling = current_effect.next;
704
+ if (!is_skippable_branch && (flags & INERT) === 0) {
705
+ if ((flags & RENDER_EFFECT) !== 0) {
706
+ if (is_branch) {
707
+ current_effect.f ^= CLEAN;
708
+ } else {
709
+ try {
710
+ if (check_dirtiness(current_effect)) {
711
+ update_effect(current_effect);
712
+ }
713
+ } catch (error) {
714
+ handle_error(error, current_effect, null, current_effect.ctx);
715
+ }
716
+ }
717
+ var child = current_effect.first;
718
+ if (child !== null) {
719
+ current_effect = child;
720
+ continue;
721
+ }
722
+ } else if ((flags & EFFECT) !== 0) {
723
+ effects.push(current_effect);
724
+ }
725
+ }
726
+ if (sibling === null) {
727
+ let parent = current_effect.parent;
728
+ while (parent !== null) {
729
+ if (effect2 === parent) {
730
+ break main_loop;
731
+ }
732
+ var parent_sibling = parent.next;
733
+ if (parent_sibling !== null) {
734
+ current_effect = parent_sibling;
735
+ continue main_loop;
736
+ }
737
+ parent = parent.parent;
738
+ }
739
+ }
740
+ current_effect = sibling;
741
+ }
742
+ for (var i = 0; i < effects.length; i++) {
743
+ child = effects[i];
744
+ collected_effects.push(child);
745
+ process_effects(child, collected_effects);
746
+ }
747
+ }
748
+ function flush_sync(fn) {
749
+ var previous_scheduler_mode = scheduler_mode;
750
+ var previous_queued_root_effects = queued_root_effects;
751
+ try {
752
+ infinite_loop_guard();
753
+ const root_effects = [];
754
+ scheduler_mode = FLUSH_SYNC;
755
+ queued_root_effects = root_effects;
756
+ is_micro_task_queued = false;
757
+ flush_queued_root_effects(previous_queued_root_effects);
758
+ var result = fn?.();
759
+ flush_tasks();
760
+ if (queued_root_effects.length > 0 || root_effects.length > 0) {
761
+ flush_sync();
762
+ }
763
+ flush_count = 0;
764
+ last_scheduled_effect = null;
765
+ if (BROWSER) ;
766
+ return result;
767
+ } finally {
768
+ scheduler_mode = previous_scheduler_mode;
769
+ queued_root_effects = previous_queued_root_effects;
770
+ }
771
+ }
772
+ function get(signal) {
773
+ var flags = signal.f;
774
+ var is_derived = (flags & DERIVED) !== 0;
775
+ if (is_derived && (flags & DESTROYED) !== 0) {
776
+ var value = execute_derived(
777
+ /** @type {Derived} */
778
+ signal
779
+ );
780
+ destroy_derived(
781
+ /** @type {Derived} */
782
+ signal
783
+ );
784
+ return value;
785
+ }
786
+ if (active_reaction !== null) {
787
+ if (derived_sources !== null && derived_sources.includes(signal)) {
788
+ state_unsafe_local_read();
789
+ }
790
+ var deps = active_reaction.deps;
791
+ if (new_deps === null && deps !== null && deps[skipped_deps] === signal) {
792
+ skipped_deps++;
793
+ } else if (new_deps === null) {
794
+ new_deps = [signal];
795
+ } else {
796
+ new_deps.push(signal);
797
+ }
798
+ if (untracked_writes !== null && active_effect !== null && (active_effect.f & CLEAN) !== 0 && (active_effect.f & BRANCH_EFFECT) === 0 && untracked_writes.includes(signal)) {
799
+ set_signal_status(active_effect, DIRTY);
800
+ schedule_effect(active_effect);
801
+ }
802
+ } else if (is_derived && /** @type {Derived} */
803
+ signal.deps === null) {
804
+ var derived = (
805
+ /** @type {Derived} */
806
+ signal
807
+ );
808
+ var parent = derived.parent;
809
+ var target = derived;
810
+ while (parent !== null) {
811
+ if ((parent.f & DERIVED) !== 0) {
812
+ var parent_derived = (
813
+ /** @type {Derived} */
814
+ parent
815
+ );
816
+ target = parent_derived;
817
+ parent = parent_derived.parent;
818
+ } else {
819
+ var parent_effect = (
820
+ /** @type {Effect} */
821
+ parent
822
+ );
823
+ if (!parent_effect.deriveds?.includes(target)) {
824
+ (parent_effect.deriveds ??= []).push(target);
825
+ }
826
+ break;
827
+ }
828
+ }
829
+ }
830
+ if (is_derived) {
831
+ derived = /** @type {Derived} */
832
+ signal;
833
+ if (check_dirtiness(derived)) {
834
+ update_derived(derived);
835
+ }
836
+ }
837
+ return signal.v;
838
+ }
839
+ function untrack(fn) {
840
+ const previous_reaction = active_reaction;
841
+ try {
842
+ active_reaction = null;
843
+ return fn();
844
+ } finally {
845
+ active_reaction = previous_reaction;
846
+ }
847
+ }
848
+ const STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);
849
+ function set_signal_status(signal, status) {
850
+ signal.f = signal.f & STATUS_MASK | status;
851
+ }
852
+ function push$1(props, runes = false, fn) {
853
+ component_context = {
854
+ p: component_context,
855
+ c: null,
856
+ e: null,
857
+ m: false,
858
+ s: props,
859
+ x: null,
860
+ l: null
861
+ };
862
+ }
863
+ function pop$1(component) {
864
+ const context_stack_item = component_context;
865
+ if (context_stack_item !== null) {
866
+ const component_effects = context_stack_item.e;
867
+ if (component_effects !== null) {
868
+ var previous_effect = active_effect;
869
+ var previous_reaction = active_reaction;
870
+ context_stack_item.e = null;
871
+ try {
872
+ for (var i = 0; i < component_effects.length; i++) {
873
+ var component_effect = component_effects[i];
874
+ set_active_effect(component_effect.effect);
875
+ set_active_reaction(component_effect.reaction);
876
+ effect(component_effect.fn);
877
+ }
878
+ } finally {
879
+ set_active_effect(previous_effect);
880
+ set_active_reaction(previous_reaction);
881
+ }
882
+ }
883
+ component_context = context_stack_item.p;
884
+ context_stack_item.m = true;
885
+ }
886
+ return (
887
+ /** @type {T} */
888
+ {}
889
+ );
890
+ }
891
+ const DOM_BOOLEAN_ATTRIBUTES = [
892
+ "allowfullscreen",
893
+ "async",
894
+ "autofocus",
895
+ "autoplay",
896
+ "checked",
897
+ "controls",
898
+ "default",
899
+ "disabled",
900
+ "formnovalidate",
901
+ "hidden",
902
+ "indeterminate",
903
+ "ismap",
904
+ "loop",
905
+ "multiple",
906
+ "muted",
907
+ "nomodule",
908
+ "novalidate",
909
+ "open",
910
+ "playsinline",
911
+ "readonly",
912
+ "required",
913
+ "reversed",
914
+ "seamless",
915
+ "selected",
916
+ "webkitdirectory"
917
+ ];
918
+ function is_boolean_attribute(name) {
919
+ return DOM_BOOLEAN_ATTRIBUTES.includes(name);
920
+ }
921
+ const PASSIVE_EVENTS = ["touchstart", "touchmove"];
922
+ function is_passive_event(name) {
923
+ return PASSIVE_EVENTS.includes(name);
924
+ }
925
+ const ATTR_REGEX = /[&"<]/g;
926
+ const CONTENT_REGEX = /[&<]/g;
927
+ function escape_html(value, is_attr) {
928
+ const str = String(value ?? "");
929
+ const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
930
+ pattern.lastIndex = 0;
931
+ let escaped = "";
932
+ let last = 0;
933
+ while (pattern.test(str)) {
934
+ const i = pattern.lastIndex - 1;
935
+ const ch = str[i];
936
+ escaped += str.substring(last, i) + (ch === "&" ? "&amp;" : ch === '"' ? "&quot;" : "&lt;");
937
+ last = i + 1;
938
+ }
939
+ return escaped + str.substring(last);
940
+ }
941
+ const replacements = {
942
+ translate: /* @__PURE__ */ new Map([
943
+ [true, "yes"],
944
+ [false, "no"]
945
+ ])
946
+ };
947
+ function attr(name, value, is_boolean = false) {
948
+ if (value == null || !value && is_boolean || value === "" && name === "class") return "";
949
+ const normalized = name in replacements && replacements[name].get(value) || value;
950
+ const assignment = is_boolean ? "" : `="${escape_html(normalized, true)}"`;
951
+ return ` ${name}${assignment}`;
952
+ }
953
+ function subscribe_to_store(store, run, invalidate) {
954
+ if (store == null) {
955
+ run(void 0);
956
+ if (invalidate) invalidate(void 0);
957
+ return noop;
958
+ }
959
+ const unsub = untrack(
960
+ () => store.subscribe(
961
+ run,
962
+ // @ts-expect-error
963
+ invalidate
964
+ )
965
+ );
966
+ return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
967
+ }
968
+ var current_component = null;
969
+ function getContext(key) {
970
+ const context_map = get_or_init_context_map();
971
+ const result = (
972
+ /** @type {T} */
973
+ context_map.get(key)
974
+ );
975
+ return result;
976
+ }
977
+ function setContext(key, context) {
978
+ get_or_init_context_map().set(key, context);
979
+ return context;
980
+ }
981
+ function get_or_init_context_map(name) {
982
+ if (current_component === null) {
983
+ lifecycle_outside_component();
984
+ }
985
+ return current_component.c ??= new Map(get_parent_context(current_component) || void 0);
986
+ }
987
+ function push(fn) {
988
+ current_component = { p: current_component, c: null, d: null };
989
+ }
990
+ function pop() {
991
+ var component = (
992
+ /** @type {Component} */
993
+ current_component
994
+ );
995
+ var ondestroy = component.d;
996
+ if (ondestroy) {
997
+ on_destroy.push(...ondestroy);
998
+ }
999
+ current_component = component.p;
1000
+ }
1001
+ function get_parent_context(component_context2) {
1002
+ let parent = component_context2.p;
1003
+ while (parent !== null) {
1004
+ const context_map = parent.c;
1005
+ if (context_map !== null) {
1006
+ return context_map;
1007
+ }
1008
+ parent = parent.p;
1009
+ }
1010
+ return null;
1011
+ }
1012
+ const BLOCK_OPEN = `<!--${HYDRATION_START}-->`;
1013
+ const BLOCK_CLOSE = `<!--${HYDRATION_END}-->`;
1014
+ const INVALID_ATTR_NAME_CHAR_REGEX = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u;
1015
+ function copy_payload({ out, css, head: head2 }) {
1016
+ return {
1017
+ out,
1018
+ css: new Set(css),
1019
+ head: {
1020
+ title: head2.title,
1021
+ out: head2.out
1022
+ }
1023
+ };
1024
+ }
1025
+ function assign_payload(p1, p2) {
1026
+ p1.out = p2.out;
1027
+ p1.head = p2.head;
1028
+ }
1029
+ let on_destroy = [];
1030
+ function render(component, options = {}) {
1031
+ const payload = { out: "", css: /* @__PURE__ */ new Set(), head: { title: "", out: "" } };
1032
+ const prev_on_destroy = on_destroy;
1033
+ on_destroy = [];
1034
+ payload.out += BLOCK_OPEN;
1035
+ if (options.context) {
1036
+ push();
1037
+ current_component.c = options.context;
1038
+ }
1039
+ component(payload, options.props ?? {}, {}, {});
1040
+ if (options.context) {
1041
+ pop();
1042
+ }
1043
+ payload.out += BLOCK_CLOSE;
1044
+ for (const cleanup of on_destroy) cleanup();
1045
+ on_destroy = prev_on_destroy;
1046
+ let head2 = payload.head.out + payload.head.title;
1047
+ for (const { hash, code } of payload.css) {
1048
+ head2 += `<style id="${hash}">${code}</style>`;
1049
+ }
1050
+ return {
1051
+ head: head2,
1052
+ html: payload.out,
1053
+ body: payload.out
1054
+ };
1055
+ }
1056
+ function head(payload, fn) {
1057
+ const head_payload = payload.head;
1058
+ head_payload.out += BLOCK_OPEN;
1059
+ fn(head_payload);
1060
+ head_payload.out += BLOCK_CLOSE;
1061
+ }
1062
+ function spread_attributes(attrs, classes, styles, flags = 0) {
1063
+ let attr_str = "";
1064
+ let name;
1065
+ const is_html = (flags & ELEMENT_IS_NAMESPACED) === 0;
1066
+ const lowercase = (flags & ELEMENT_PRESERVE_ATTRIBUTE_CASE) === 0;
1067
+ for (name in attrs) {
1068
+ if (typeof attrs[name] === "function") continue;
1069
+ if (name[0] === "$" && name[1] === "$") continue;
1070
+ if (INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue;
1071
+ var value = attrs[name];
1072
+ if (lowercase) {
1073
+ name = name.toLowerCase();
1074
+ }
1075
+ attr_str += attr(name, value, is_html && is_boolean_attribute(name));
1076
+ }
1077
+ return attr_str;
1078
+ }
1079
+ function stringify(value) {
1080
+ return typeof value === "string" ? value : value == null ? "" : value + "";
1081
+ }
1082
+ function store_get(store_values, store_name, store) {
1083
+ if (store_name in store_values && store_values[store_name][0] === store) {
1084
+ return store_values[store_name][2];
1085
+ }
1086
+ store_values[store_name]?.[1]();
1087
+ store_values[store_name] = [store, null, void 0];
1088
+ const unsub = subscribe_to_store(
1089
+ store,
1090
+ /** @param {any} v */
1091
+ (v) => store_values[store_name][2] = v
1092
+ );
1093
+ store_values[store_name][1] = unsub;
1094
+ return store_values[store_name][2];
1095
+ }
1096
+ function unsubscribe_stores(store_values) {
1097
+ for (const store_name in store_values) {
1098
+ store_values[store_name][1]();
1099
+ }
1100
+ }
1101
+ function bind_props(props_parent, props_now) {
1102
+ for (const key in props_now) {
1103
+ const initial_value = props_parent[key];
1104
+ const value = props_now[key];
1105
+ if (initial_value === void 0 && value !== void 0 && Object.getOwnPropertyDescriptor(props_parent, key)?.set) {
1106
+ props_parent[key] = value;
1107
+ }
1108
+ }
1109
+ }
1110
+
1111
+ const subscriber_queue = [];
1112
+ function readable(value, start) {
1113
+ return {
1114
+ subscribe: writable(value, start).subscribe
1115
+ };
1116
+ }
1117
+ function writable(value, start = noop) {
1118
+ let stop = null;
1119
+ const subscribers = /* @__PURE__ */ new Set();
1120
+ function set(new_value) {
1121
+ if (safe_not_equal(value, new_value)) {
1122
+ value = new_value;
1123
+ if (stop) {
1124
+ const run_queue = !subscriber_queue.length;
1125
+ for (const subscriber of subscribers) {
1126
+ subscriber[1]();
1127
+ subscriber_queue.push(subscriber, value);
1128
+ }
1129
+ if (run_queue) {
1130
+ for (let i = 0; i < subscriber_queue.length; i += 2) {
1131
+ subscriber_queue[i][0](subscriber_queue[i + 1]);
1132
+ }
1133
+ subscriber_queue.length = 0;
1134
+ }
1135
+ }
1136
+ }
1137
+ }
1138
+ function update(fn) {
1139
+ set(fn(
1140
+ /** @type {T} */
1141
+ value
1142
+ ));
1143
+ }
1144
+ function subscribe(run, invalidate = noop) {
1145
+ const subscriber = [run, invalidate];
1146
+ subscribers.add(subscriber);
1147
+ if (subscribers.size === 1) {
1148
+ stop = start(set, update) || noop;
1149
+ }
1150
+ run(
1151
+ /** @type {T} */
1152
+ value
1153
+ );
1154
+ return () => {
1155
+ subscribers.delete(subscriber);
1156
+ if (subscribers.size === 0 && stop) {
1157
+ stop();
1158
+ stop = null;
1159
+ }
1160
+ };
1161
+ }
1162
+ return { set, update, subscribe };
1163
+ }
1164
+ function derived(stores, fn, initial_value) {
1165
+ const single = !Array.isArray(stores);
1166
+ const stores_array = single ? [stores] : stores;
1167
+ if (!stores_array.every(Boolean)) {
1168
+ throw new Error("derived() expects stores as input, got a falsy value");
1169
+ }
1170
+ const auto = fn.length < 2;
1171
+ return readable(initial_value, (set, update) => {
1172
+ let started = false;
1173
+ const values = [];
1174
+ let pending = 0;
1175
+ let cleanup = noop;
1176
+ const sync = () => {
1177
+ if (pending) {
1178
+ return;
1179
+ }
1180
+ cleanup();
1181
+ const result = fn(single ? values[0] : values, set, update);
1182
+ if (auto) {
1183
+ set(result);
1184
+ } else {
1185
+ cleanup = typeof result === "function" ? result : noop;
1186
+ }
1187
+ };
1188
+ const unsubscribers = stores_array.map(
1189
+ (store, i) => subscribe_to_store(
1190
+ store,
1191
+ (value) => {
1192
+ values[i] = value;
1193
+ pending &= ~(1 << i);
1194
+ if (started) {
1195
+ sync();
1196
+ }
1197
+ },
1198
+ () => {
1199
+ pending |= 1 << i;
1200
+ }
1201
+ )
1202
+ );
1203
+ started = true;
1204
+ sync();
1205
+ return function stop() {
1206
+ run_all(unsubscribers);
1207
+ cleanup();
1208
+ started = false;
1209
+ };
1210
+ });
1211
+ }
1212
+
1213
+ export { unsubscribe_stores as $, new_deps as A, BLOCK_EFFECT as B, CLEAN as C, DERIVED as D, untracked_writes as E, set_untracked_writes as F, safe_equals as G, HYDRATION_START as H, set_active_reaction as I, set_active_effect as J, is_array as K, LEGACY_PROPS as L, MAYBE_DIRTY as M, is_passive_event as N, create_text as O, branch as P, push$1 as Q, pop$1 as R, equals as S, component_context as T, UNOWNED as U, BROWSER as V, readable as W, writable as X, head as Y, attr as Z, store_get as _, active_reaction as a, noop as a0, escape_html as a1, getContext as a2, copy_payload as a3, assign_payload as a4, spread_attributes as a5, stringify as a6, bind_props as a7, derived as a8, derived_sources as b, increment_version as c, define_property as d, DIRTY as e, flush_sync as f, get as g, set_signal_status as h, is_runes as i, schedule_effect as j, init_operations as k, get_first_child as l, get_next_sibling as m, HYDRATION_ERROR as n, HYDRATION_END as o, hydration_failed as p, clear_text_content as q, render as r, state_unsafe_mutation as s, array_from as t, component_root as u, push as v, setContext as w, pop as x, active_effect as y, BRANCH_EFFECT as z };
1214
+ //# sourceMappingURL=index2-BA59f76P.js.map