@htmlbricks/hb-downloader 0.71.35 → 0.71.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,41 +1,134 @@
1
- ## `hb-downloader` — downloader
1
+ # `hb-downloader`
2
2
 
3
3
  **Category:** utilities
4
4
  **Tags:** utilities, files
5
5
 
6
- ### What it does
6
+ Web component that opens an inner **`hb-dialog`** while a download URL is active, fetches the resource with **`XMLHttpRequest`** as a **blob**, shows **Bulma** progress feedback, then triggers a **browser save** (temporary object URL + programmatic `<a download>` click). It forwards **`modalShow`** from the dialog, and emits **`downloadComplete`** or **`downloadError`** when the transfer finishes or fails. Closing the dialog clears the request URL, aborts any in-flight XHR, and resets error state.
7
7
 
8
- Opens `hb-dialog` while `uri` is set and downloads the resource with `XMLHttpRequest` as a blob: optional JSON `headers`, inferred or explicit `targetfilename`, `Content-Disposition` parsing when exposed by CORS, **Bulma** `<progress>` from `onprogress`, then triggers a browser file save. Dispatches `downloadComplete` or `downloadError` (with `downloadid`) and propagates `modalShow`; clears/aborts when the dialog closes.
8
+ ## Dependencies
9
9
 
10
- ### Custom element
10
+ - **`hb-dialog`** — used for the modal shell, title slot, and open/close lifecycle that drives the download.
11
+
12
+ ## Custom element
11
13
 
12
14
  `hb-downloader`
13
15
 
14
- ### Attributes (snake_case; use string values in HTML)
16
+ ## Attributes and properties
17
+
18
+ In HTML, attributes are **snake_case** and values are **strings** (see project conventions: booleans as `yes` / `no`, objects as JSON strings, numbers as string digits). The dialog’s visibility is driven internally from **`uri`**: a non-empty `uri` turns the inner dialog on; a successful download or closing the dialog clears `uri` and related state.
19
+
20
+ | Name | Required | Description |
21
+ | --- | --- | --- |
22
+ | `uri` | Yes (to start a download) | URL of the resource to fetch with `GET`. If empty, no dialog is shown and no request runs. |
23
+ | `downloadid` | No | String passed through to the inner dialog’s `id` and used in event `detail` where applicable. |
24
+ | `targetfilename` | No | Suggested file name for the save dialog. If omitted and `uri` is set, a default is derived from the last path segment of `uri` (query string stripped). The server may still override this via **`Content-Disposition`** when that header is readable (see CORS below). |
25
+ | `headers` | No | Optional request headers. From an HTML attribute, pass a **JSON object** as a string, e.g. `'{"Accept":"application/json"}'`. The component parses JSON strings into a plain object before opening the request. |
26
+ | `id` | No | Optional identifier for the host element (typing only; not wired to download logic in the current markup). |
27
+ | `style` | No | Present in typings for parity with other components; not applied in the current implementation. |
28
+
29
+ ## Slots
30
+
31
+ | Slot | Description |
32
+ | --- | --- |
33
+ | `title` | Content for the dialog title area. Default text: **Downloading**. |
34
+
35
+ ## Events
36
+
37
+ All events are **DOM `CustomEvent`** instances on `hb-downloader`.
38
+
39
+ | Event | `detail` shape | When it fires |
40
+ | --- | --- | --- |
41
+ | `modalShow` | `{ id: string; show: boolean }` | Propagated from the inner **`hb-dialog`** whenever its modal visibility changes (including when this component opens or closes the download UI). |
42
+ | `downloadComplete` | `{ downloaded: boolean; id: string }` | After a **successful** HTTP response (status 2xx), blob URL creation, and save trigger; internal request state is cleared. |
43
+ | `downloadError` | `{ downloaded: boolean; id: string; error: unknown }` | On network/XHR errors, non-2xx status, or thrown errors during setup. `downloaded` reflects whether a full save had completed. `error` may be a string (e.g. non-2xx status), an `Error`, or another thrown value. |
44
+
45
+ Listen in HTML with the usual `oneventname` form (e.g. `ondownloadcomplete`) or `addEventListener('downloadComplete', ...)`.
46
+
47
+ ## CSS custom properties
15
48
 
16
- - `id` optional string
17
- - `style` — optional string
18
- - `uri` — required string (resource URL)
19
- - `downloadid` — optional string (correlates emitted events)
20
- - `headers` — optional string (JSON object of request headers)
21
- - `targetfilename` — optional string (suggested download filename)
49
+ These variables theme the **Bulma** `<progress>` bar and the optional percentage label (when the response exposes a known total length).
22
50
 
23
- ### Events
51
+ | Variable | Role |
52
+ | --- | --- |
53
+ | `--bulma-primary` | Filled portion of the progress bar. |
54
+ | `--bulma-border-weak` | Track / unfilled background. |
55
+ | `--bulma-text` | Color of the centered percentage text (when total size is known). |
56
+ | `--bulma-block-spacing` | Vertical spacing above the percentage line (the label uses half of this value as top margin). |
24
57
 
25
- - `downloadError` `{ downloaded: boolean; id: string; error: Error }`
26
- - `downloadComplete` — `{ downloaded: boolean; id: string }`
27
- - `modalShow` — `{ id: string; show: boolean }`
58
+ ## CSS `::part`
28
59
 
29
- ### Usage notes
60
+ None on this component (`styleSetup.parts` is empty). Dialog chrome and parts belong to **`hb-dialog`**.
30
61
 
31
- Pass complex objects (`headers`) as JSON strings on attributes. Requires CORS and appropriate headers for progress and filename hints. Slot: `title` (dialog title). Progress styling uses Bulma `elements/progress` (`is-primary`); indeterminate bar while total length is unknown.
62
+ ## Behavior and integration notes
63
+
64
+ 1. **Method** — Single **`GET`** request with `responseType: "blob"`. Progress uses `xhr.onprogress` (`loaded` / `total`). While **`total`** is unknown (`0`), the UI shows an **indeterminate** progress bar; when `total` is known, a **determinate** bar and percentage appear.
65
+ 2. **File name** — If the response includes **`Content-Disposition`** with a `filename="..."` value and the browser can read that header, that name is preferred for `download`. If the header is missing or not exposed, the implementation falls back to **`targetfilename`** / URI inference. For cross-origin responses, the server may need to expose **`Content-Disposition`** (e.g. `Access-Control-Expose-Headers`) for filename detection to work.
66
+ 3. **CORS** — The origin must be allowed to read the resource and relevant response headers; otherwise the request or filename detection may fail.
67
+ 4. **Cleanup** — When the dialog closes (`show` becomes false), **`uri`** and **`downloadid`** are cleared, **`XMLHttpRequest.abort()`** is called if needed, and **`errorMessage`** is cleared. Errors are shown as plain text in the dialog body when present.
68
+ 5. **Headers** — Only set headers your endpoint and CORS policy allow; invalid JSON in the `headers` attribute is caught and ignored (headers then unset).
69
+
70
+ ## Examples
71
+
72
+ ### Minimal: URL only
73
+
74
+ File name is inferred from the path when possible.
75
+
76
+ ```html
77
+ <hb-downloader
78
+ uri="https://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html"
79
+ ></hb-downloader>
80
+ ```
32
81
 
33
- ### Minimal HTML example
82
+ ### Explicit file name and correlation id
34
83
 
35
84
  ```html
36
85
  <hb-downloader
37
- uri="https://example.com/file.pdf"
38
- targetfilename="document.pdf"
39
- headers="{&quot;Authorization&quot;:&quot;Bearer token&quot;}"
86
+ uri="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
87
+ targetfilename="dummy.pdf"
88
+ downloadid="demo-pdf"
40
89
  ></hb-downloader>
41
90
  ```
91
+
92
+ ### Custom headers (JSON string on the attribute)
93
+
94
+ Using single quotes around the attribute value avoids escaping inner double quotes.
95
+
96
+ ```html
97
+ <hb-downloader
98
+ uri="https://httpbin.org/json"
99
+ downloadid="json-sample"
100
+ headers='{"Accept":"application/json"}'
101
+ ></hb-downloader>
102
+ ```
103
+
104
+ ### Custom title slot
105
+
106
+ ```html
107
+ <hb-downloader uri="https://example.com/report.pdf" targetfilename="report.pdf">
108
+ <span slot="title">Saving report…</span>
109
+ </hb-downloader>
110
+ ```
111
+
112
+ ### Script listener (vanilla)
113
+
114
+ ```js
115
+ const el = document.querySelector('hb-downloader');
116
+ el.addEventListener('downloadComplete', (e) => {
117
+ console.log('saved', e.detail.downloaded, e.detail.id);
118
+ });
119
+ el.addEventListener('downloadError', (e) => {
120
+ console.error('failed', e.detail.id, e.detail.error);
121
+ });
122
+ el.addEventListener('modalShow', (e) => {
123
+ console.log('dialog', e.detail.show, e.detail.id);
124
+ });
125
+ ```
126
+
127
+ ## TypeScript (authoring)
128
+
129
+ For local typings used when wrapping or typing the element, see `types/webcomponent.type.d.ts`:
130
+
131
+ - **`Component`** — `uri`, optional `headers` as `IHeader` (string keys and string values), optional `targetfilename`, `downloadid`, `id`, `style`.
132
+ - **`Events`** — `downloadError`, `downloadComplete`, `modalShow` with the `detail` shapes listed above.
133
+
134
+ Generated consumer typings also appear under `types/html-elements.d.ts` and `types/svelte-elements.d.ts` after a web component build.
package/main.iife.js CHANGED
@@ -1,6 +1,6 @@
1
1
  (function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var t={},n=Symbol(),r=`http://www.w3.org/1999/xhtml`,i=Array.isArray,a=Array.prototype.indexOf,o=Array.prototype.includes,s=Array.from,c=Object.keys,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.prototype,p=Array.prototype,m=Object.getPrototypeOf,h=Object.isExtensible,g=()=>{};function _(e){for(var t=0;t<e.length;t++)e[t]()}function v(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var y=1024,b=2048,x=4096,ee=8192,te=16384,ne=32768,re=1<<25,ie=65536,ae=1<<19,oe=1<<20,se=65536,ce=1<<21,le=1<<22,ue=1<<23,de=Symbol(`$state`),fe=Symbol(`legacy props`),pe=Symbol(``),S=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},me=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function he(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ge(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function _e(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ve(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function ye(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function be(){throw Error(`https://svelte.dev/e/hydration_failed`)}function xe(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Se(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ce(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function we(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Te(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}function Ee(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function De(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var C=!1;function w(e){C=e}var T;function E(e){if(e===null)throw Ee(),t;return T=e}function Oe(){return E(R(T))}function ke(e){if(C){if(R(T)!==null)throw Ee(),t;T=e}}function Ae(e=1){if(C){for(var t=e,n=T;t--;)n=R(n);T=n}}function je(e=!0){for(var t=0,n=T;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=R(n);e&&n.remove(),n=i}}function Me(e){if(!e||e.nodeType!==8)throw Ee(),t;return e.data}function Ne(e){return e===this.v}function Pe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Fe(e){return!Pe(e,this.v)}var Ie=!1,Le=!1,D=null;function Re(e){D=e}function ze(e,t=!1,n){D={p:D,i:!1,c:null,e:null,s:e,x:null,r:K,l:Le&&!t?{s:null,u:null,$:[]}:null}}function Be(e){var t=D,n=t.e;if(n!==null){t.e=null;for(var r of n)cn(r)}return e!==void 0&&(t.x=e),t.i=!0,D=t.p,e??{}}function Ve(){return!Le||D!==null&&D.l===null}var He=[];function Ue(){var e=He;He=[],_(e)}function We(e){if(He.length===0&&!tt){var t=He;queueMicrotask(()=>{t===He&&Ue()})}He.push(e)}function Ge(){for(;He.length>0;)Ue()}function Ke(e){var t=K;if(t===null)return U.f|=ue,e;if(!(t.f&32768)&&!(t.f&4))throw e;O(e,t)}function O(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var qe=~(b|x|y);function k(e,t){e.f=e.f&qe|t}function Je(e){e.f&512||e.deps===null?k(e,y):k(e,x)}function Ye(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=se,Ye(t.deps))}function Xe(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Ye(e.deps),k(e,y)}var Ze=!1,Qe=!1;function $e(e){var t=Qe;try{return Qe=!1,[e(),Qe]}finally{Qe=t}}var A=new Set,j=null,M=null,et=null,tt=!1,nt=!1,rt=null,it=null,at=0,ot=1,st=class e{id=ot++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Map;#r=new Map;#i=null;#a=[];#o=new Set;#s=new Set;#c=new Map;is_fork=!1;#l=!1;#u=new Set;#d(){return this.is_fork||this.#r.size>0}#f(){for(let n of this.#u)for(let r of n.#r.keys()){for(var e=!1,t=r;t.parent!==null;){if(this.#c.has(t)){e=!0;break}t=t.parent}if(!e)return!0}return!1}skip_effect(e){this.#c.has(e)||this.#c.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#c.get(e);if(t){this.#c.delete(e);for(var n of t.d)k(n,b),this.schedule(n);for(n of t.m)k(n,x),this.schedule(n)}}#p(){if(at++>1e3&&(A.delete(this),lt()),!this.#d()){for(let e of this.#o)this.#s.delete(e),k(e,b),this.schedule(e);for(let e of this.#s)k(e,x),this.schedule(e)}let t=this.#a;this.#a=[],this.apply();var n=rt=[],r=[],i=it=[];for(let e of t)try{this.#m(e,n,r)}catch(t){throw ht(e),t}if(j=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(rt=null,it=null,this.#d()||this.#f()){this.#h(r),this.#h(n);for(let[e,t]of this.#c)mt(e,t)}else{this.#n.size===0&&A.delete(this),this.#o.clear(),this.#s.clear();for(let e of this.#e)e(this);this.#e.clear(),ut(r),ut(n),this.#i?.resolve()}var o=j;if(this.#a.length>0){let e=o??=this;e.#a.push(...this.#a.filter(t=>!e.#a.includes(t)))}o!==null&&(A.add(o),o.#p()),A.has(this)||this.#g()}#m(e,t,n){e.f^=y;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#c.has(r))&&r.fn!==null){a?r.f^=y:i&4?t.push(r):Ie&&i&16777224?n.push(r):Fn(r)&&(i&16&&this.#s.add(r),Bn(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#h(e){for(var t=0;t<e.length;t+=1)Xe(e[t],this.#o,this.#s)}capture(e,t,r=!1){t!==n&&!this.previous.has(e)&&this.previous.set(e,t),e.f&8388608||(this.current.set(e,[e.v,r]),M?.set(e,e.v))}activate(){j=this}deactivate(){j=null,M=null}flush(){try{nt=!0,j=this,this.#p()}finally{at=0,et=null,rt=null,it=null,nt=!1,j=null,M=null,P.clear()}}discard(){for(let e of this.#t)e(this);this.#t.clear(),A.delete(this)}#g(){for(let c of A){var e=c.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(c.current.has(r)){var n=c.current.get(r)[0];if(e&&i!==n)c.current.set(r,[i,a]);else continue}t.push(r)}var r=[...c.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&c.discard();else if(t.length>0){c.activate();var i=new Set,a=new Map;for(var o of t)dt(o,r,i,a);if(c.#a.length>0){c.apply();for(var s of c.#a)c.#m(s,[],[]);c.#a=[]}c.deactivate()}}for(let e of A)e.#u.has(this)&&(e.#u.delete(this),e.#u.size===0&&!e.#d()&&(e.activate(),e.#p()))}increment(e,t){let n=this.#n.get(t)??0;if(this.#n.set(t,n+1),e){let e=this.#r.get(t)??0;this.#r.set(t,e+1)}}decrement(e,t,n){let r=this.#n.get(t)??0;if(r===1?this.#n.delete(t):this.#n.set(t,r-1),e){let e=this.#r.get(t)??0;e===1?this.#r.delete(t):this.#r.set(t,e-1)}this.#l||n||(this.#l=!0,We(()=>{this.#l=!1,this.flush()}))}transfer_effects(e,t){for(let t of e)this.#o.add(t);for(let e of t)this.#s.add(e);e.clear(),t.clear()}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=v()).promise}static ensure(){if(j===null){let t=j=new e;nt||(A.add(j),tt||We(()=>{j===t&&t.flush()}))}return j}apply(){if(!Ie||!this.is_fork&&A.size===1){M=null;return}M=new Map;for(let[e,[t]]of this.current)M.set(e,t);for(let n of A)if(!(n===this||n.is_fork)){var e=!1,t=!1;if(n.id<this.id)for(let[r,[,i]]of n.current)i||(e||=this.current.has(r),t||=!this.current.has(r));if(e&&t)this.#u.add(n);else for(let[e,t]of n.previous)M.has(e)||M.set(e,t)}}schedule(e){if(et=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(rt!==null&&t===K&&(Ie||(U===null||!(U.f&2))&&!Ze))return;if(n&96){if(!(n&1024))return;t.f^=y}}this.#a.push(t)}};function ct(e){var t=tt;tt=!0;try{var n;for(e&&(j!==null&&!j.is_fork&&j.flush(),n=e());;){if(Ge(),j===null)return n;j.flush()}}finally{tt=t}}function lt(){try{ye()}catch(e){O(e,et)}}var N=null;function ut(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Fn(r)&&(N=new Set,Bn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&bn(r),N?.size>0)){P.clear();for(let e of N){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)N.has(n)&&(N.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Bn(n)}}N.clear()}}N=null}}function dt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?dt(i,t,n,r):e&4194320&&!(e&2048)&&ft(i,t,r)&&(k(i,b),pt(i))}}function ft(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(o.call(t,r))return!0;if(r.f&2&&ft(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function pt(e){j.schedule(e)}function mt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),k(e,y);for(var n=e.first;n!==null;)mt(n,t),n=n.next}}function ht(e){k(e,y);for(var t=e.first;t!==null;)ht(t),t=t.next}function gt(e){let t=0,n=Ft(0),r;return()=>{an()&&($(n),pn(()=>(t===0&&(r=Un(()=>e(()=>zt(n)))),t+=1,()=>{We(()=>{--t,t===0&&(r?.(),r=void 0,zt(n))})})))}}var _t=ie|ae;function vt(e,t,n,r){new yt(e,t,n,r)}var yt=class{parent;is_pending=!1;transform_error;#e;#t=C?T:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=gt(()=>(this.#m=Ft(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=hn(()=>{if(C){let e=this.#t;Oe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},_t),C&&(this.#e=T)}#g(){try{this.#a=B(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=B(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=B(()=>e(this.#e)),We(()=>{var e=this.#c=document.createDocumentFragment(),t=L();e.append(t),this.#a=this.#x(()=>B(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,xn(this.#o,()=>{this.#o=null}),this.#b(j))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=B(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Tn(this.#a,e);let t=this.#n.pending;this.#o=B(()=>t(this.#e))}else this.#b(j)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Xe(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=U,r=D;q(this.#i),G(this.#i),Re(this.#i.ctx);try{return st.ensure(),e()}catch(e){return Ke(e),null}finally{q(t),G(n),Re(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&xn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,We(()=>{this.#d=!1,this.#m&&Lt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),$(this.#m)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#a&&=(V(this.#a),null),this.#o&&=(V(this.#o),null),this.#s&&=(V(this.#s),null),C&&(E(this.#t),Ae(),E(je()));var r=!1,i=!1;let a=()=>{if(r){De();return}r=!0,i&&Te(),this.#s!==null&&xn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){O(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return B(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return O(e,this.#i.parent),null}}))};We(()=>{var t;try{t=this.transform_error(e)}catch(e){O(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>O(e,this.#i&&this.#i.parent)):o(t)})}};function bt(e,t,n,r){let i=Ve()?wt:Et;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=xt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||O(e,o)}St()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=Ct();function d(){Promise.all(n.map(e=>Tt(e))).then(e=>l([...t.map(i),...e])).catch(e=>O(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),St()}):d()}function xt(){var e=K,t=U,n=D,r=j;return function(i=!0){q(e),G(t),Re(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function St(e=!0){q(null),G(null),Re(null),e&&j?.deactivate()}function Ct(){var e=K,t=e.b,n=j,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function wt(e){var t=2|b,r=U!==null&&U.f&2?U:null;return K!==null&&(K.f|=ae),{ctx:D,deps:null,effects:null,equals:Ne,f:t,fn:e,reactions:null,rv:0,v:n,wv:0,parent:r??K,ac:null}}function Tt(e,t,r){let i=K;i===null&&he();var a=void 0,o=Ft(n),s=!U,c=new Map;return fn(()=>{var t=K,n=v();a=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(St)}catch(e){n.reject(e),St()}var r=j;if(s){if(t.f&32768)var l=Ct();if(i.b.is_rendered())c.get(r)?.reject(S),c.delete(r);else{for(let e of c.values())e.reject(S);c.clear()}c.set(r,n)}let u=(e,n=void 0)=>{if(l&&l(n===S),!(n===S||t.f&16384)){if(r.activate(),n)o.f|=ue,Lt(o,n);else{o.f&8388608&&(o.f^=ue),Lt(o,e);for(let[e,t]of c){if(c.delete(e),e===r)break;t.reject(S)}}r.deactivate()}};n.promise.then(u,e=>u(null,e||`unknown`))}),on(()=>{for(let e of c.values())e.reject(S)}),new Promise(e=>{function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}t(a)})}function Et(e){let t=wt(e);return t.equals=Fe,t}function Dt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)V(t[n])}}function Ot(e){for(var t=e.parent;t!==null;){if(!(t.f&2))return t.f&16384?null:t;t=t.parent}return null}function kt(e){var t,n=K;q(Ot(e));try{e.f&=~se,Dt(e),t=Ln(e)}finally{q(n)}return t}function At(e){var t=e.v,n=kt(e);if(!e.equals(n)&&(e.wv=Pn(),(!j?.is_fork||e.deps===null)&&(e.v=n,j?.capture(e,t,!0),e.deps===null))){k(e,y);return}H||(M===null?Je(e):(an()||j?.is_fork)&&M.set(e,n))}function jt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(S),t.teardown=g,t.ac=null,zn(t,0),_n(t))}function Mt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Bn(t)}var Nt=new Set,P=new Map,Pt=!1;function Ft(e,t){return{f:0,v:e,reactions:null,equals:Ne,rv:0,wv:0}}function F(e,t){let n=Ft(e,t);return kn(n),n}function It(e,t=!1,n=!0){let r=Ft(e);return t||(r.equals=Fe),Le&&n&&D!==null&&D.l!==null&&(D.l.s??=[]).push(r),r}function I(e,t,n=!1){return U!==null&&(!W||U.f&131072)&&Ve()&&U.f&4325394&&(J===null||!o.call(J,e))&&we(),Lt(e,n?Vt(t):t,it)}function Lt(e,t,n=null){if(!e.equals(t)){var r=e.v;H?P.set(e,t):P.set(e,r),e.v=t;var i=st.ensure();if(i.capture(e,r),e.f&2){let t=e;e.f&2048&&kt(t),M===null&&Je(t)}e.wv=Pn(),Bt(e,b,n),Ve()&&K!==null&&K.f&1024&&!(K.f&96)&&(Z===null?An([e]):Z.push(e)),!i.is_fork&&Nt.size>0&&!Pt&&Rt()}return t}function Rt(){Pt=!1;for(let e of Nt)e.f&1024&&k(e,x),Fn(e)&&Bn(e);Nt.clear()}function zt(e){I(e,e.v+1)}function Bt(e,t,n){var r=e.reactions;if(r!==null)for(var i=Ve(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&b)===0;if(l&&k(s,t),c&2){var u=s;M?.delete(u),c&65536||(c&512&&(s.f|=se),Bt(u,x,n))}else if(l){var d=s;c&16&&N!==null&&N.add(d),n===null?pt(d):n.push(d)}}}}function Vt(e){if(typeof e!=`object`||!e||de in e)return e;let t=m(e);if(t!==f&&t!==p)return e;var r=new Map,a=i(e),o=F(0),s=null,c=Mn,l=e=>{if(Mn===c)return e();var t=U,n=Mn;G(null),Nn(c);var r=e();return G(t),Nn(n),r};return a&&r.set(`length`,F(e.length,s)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Se();var i=r.get(t);return i===void 0?l(()=>{var e=F(n.value,s);return r.set(t,e),e}):I(i,n.value,!0),!0},deleteProperty(e,t){var i=r.get(t);if(i===void 0){if(t in e){let e=l(()=>F(n,s));r.set(t,e),zt(o)}}else I(i,n),zt(o);return!0},get(t,i,a){if(i===de)return e;var o=r.get(i),c=i in t;if(o===void 0&&(!c||u(t,i)?.writable)&&(o=l(()=>F(Vt(c?t[i]:n),s)),r.set(i,o)),o!==void 0){var d=$(o);return d===n?void 0:d}return Reflect.get(t,i,a)},getOwnPropertyDescriptor(e,t){var i=Reflect.getOwnPropertyDescriptor(e,t);if(i&&`value`in i){var a=r.get(t);a&&(i.value=$(a))}else if(i===void 0){var o=r.get(t),s=o?.v;if(o!==void 0&&s!==n)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(e,t){if(t===de)return!0;var i=r.get(t),a=i!==void 0&&i.v!==n||Reflect.has(e,t);return(i!==void 0||K!==null&&(!a||u(e,t)?.writable))&&(i===void 0&&(i=l(()=>F(a?Vt(e[t]):n,s)),r.set(t,i)),$(i)===n)?!1:a},set(e,t,i,c){var d=r.get(t),f=t in e;if(a&&t===`length`)for(var p=i;p<d.v;p+=1){var m=r.get(p+``);m===void 0?p in e&&(m=l(()=>F(n,s)),r.set(p+``,m)):I(m,n)}if(d===void 0)(!f||u(e,t)?.writable)&&(d=l(()=>F(void 0,s)),I(d,Vt(i)),r.set(t,d));else{f=d.v!==n;var h=l(()=>Vt(i));I(d,h)}var g=Reflect.getOwnPropertyDescriptor(e,t);if(g?.set&&g.set.call(c,i),!f){if(a&&typeof t==`string`){var _=r.get(`length`),v=Number(t);Number.isInteger(v)&&v>=_.v&&I(_,v+1)}zt(o)}return!0},ownKeys(e){$(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==n});for(var[i,a]of r)a.v!==n&&!(i in e)&&t.push(i);return t},setPrototypeOf(){Ce()}})}var Ht,Ut,Wt,Gt;function Kt(){if(Ht===void 0){Ht=window,Ut=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wt=u(t,`firstChild`).get,Gt=u(t,`nextSibling`).get,h(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),h(n)&&(n.__t=void 0)}}function L(e=``){return document.createTextNode(e)}function qt(e){return Wt.call(e)}function R(e){return Gt.call(e)}function Jt(e,t){if(!C)return qt(e);var n=qt(T);if(n===null)n=T.appendChild(L());else if(t&&n.nodeType!==3){var r=L();return n?.before(r),E(r),r}return t&&en(n),E(n),n}function Yt(e,t=!1){if(!C){var n=qt(e);return n instanceof Comment&&n.data===``?R(n):n}if(t){if(T?.nodeType!==3){var r=L();return T?.before(r),E(r),r}en(T)}return T}function Xt(e,t=1,n=!1){let r=C?T:e;for(var i;t--;)i=r,r=R(r);if(!C)return r;if(n){if(r?.nodeType!==3){var a=L();return r===null?i?.after(a):r.before(a),E(a),a}en(r)}return E(r),r}function Zt(e){e.textContent=``}function Qt(){return!Ie||N!==null?!1:(K.f&ne)!==0}function $t(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function en(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function tn(e){var t=U,n=K;G(null),q(null);try{return e()}finally{G(t),q(n)}}function nn(e){K===null&&(U===null&&ve(e),_e()),H&&ge(e)}function rn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function z(e,t){var n=K;n!==null&&n.f&8192&&(e|=ee);var r={ctx:D,deps:null,nodes:null,f:e|b|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if(e&4)rt===null?st.ensure().schedule(r):rt.push(r);else if(t!==null){try{Bn(r)}catch(e){throw V(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ie))}if(i!==null&&(i.parent=n,n!==null&&rn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function an(){return U!==null&&!W}function on(e){let t=z(8,null);return k(t,y),t.teardown=e,t}function sn(e){nn(`$effect`);var t=K.f;if(!U&&t&32&&!(t&32768)){var n=D;(n.e??=[]).push(e)}else return cn(e)}function cn(e){return z(4|oe,e)}function ln(e){st.ensure();let t=z(64|ae,e);return()=>{V(t)}}function un(e){st.ensure();let t=z(64|ae,e);return(e={})=>new Promise(n=>{e.outro?xn(t,()=>{V(t),n(void 0)}):(V(t),n(void 0))})}function dn(e){return z(4,e)}function fn(e){return z(le|ae,e)}function pn(e,t=0){return z(8|t,e)}function mn(e,t=[],n=[],r=[]){bt(r,t,n,t=>{z(8,()=>e(...t.map($)))})}function hn(e,t=0){return z(16|t,e)}function B(e){return z(32|ae,e)}function gn(e){var t=e.teardown;if(t!==null){let e=H,n=U;On(!0),G(null);try{t.call(null)}finally{On(e),G(n)}}}function _n(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&tn(()=>{e.abort(S)});var r=n.next;n.f&64?n.parent=null:V(n,t),n=r}}function vn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||V(t),t=n}}function V(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(yn(e.nodes.start,e.nodes.end),n=!0),k(e,re),_n(e,t&&!n),zn(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();gn(e),e.f^=re,e.f|=te;var i=e.parent;i!==null&&i.first!==null&&bn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function yn(e,t){for(;e!==null;){var n=e===t?null:R(e);e.remove(),e=n}}function bn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function xn(e,t,n=!0){var r=[];Sn(e,r,!0);var i=()=>{n&&V(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Sn(e,t,n){if(!(e.f&8192)){e.f^=ee;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next,o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Sn(i,t,o?n:!1),i=a}}}function Cn(e){wn(e,!0)}function wn(e,t){if(e.f&8192){e.f^=ee,e.f&1024||(k(e,b),st.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;wn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Tn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:R(n);t.append(n),n=i}}var En=null,Dn=!1,H=!1;function On(e){H=e}var U=null,W=!1;function G(e){U=e}var K=null;function q(e){K=e}var J=null;function kn(e){U!==null&&(!Ie||U.f&2)&&(J===null?J=[e]:J.push(e))}var Y=null,X=0,Z=null;function An(e){Z=e}var jn=1,Q=0,Mn=Q;function Nn(e){Mn=e}function Pn(){return++jn}function Fn(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~se),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Fn(a)&&At(a),a.wv>e.wv)return!0}t&512&&M===null&&k(e,y)}return!1}function In(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!Ie&&J!==null&&o.call(J,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?In(a,t,!1):t===a&&(n?k(a,b):a.f&1024&&k(a,x),pt(a))}}function Ln(e){var t=Y,n=X,r=Z,i=U,a=J,o=D,s=W,c=Mn,l=e.f;Y=null,X=0,Z=null,U=l&96?null:e,J=null,Re(e.ctx),W=!1,Mn=++Q,e.ac!==null&&(tn(()=>{e.ac.abort(S)}),e.ac=null);try{e.f|=ce;var u=e.fn,d=u();e.f|=ne;var f=e.deps,p=j?.is_fork;if(Y!==null){var m;if(p||zn(e,X),f!==null&&X>0)for(f.length=X+Y.length,m=0;m<Y.length;m++)f[X+m]=Y[m];else e.deps=f=Y;if(an()&&e.f&512)for(m=X;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&X<f.length&&(zn(e,X),f.length=X);if(Ve()&&Z!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<Z.length;m++)In(Z[m],e);if(i!==null&&i!==e){if(Q++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=Q;if(t!==null)for(let e of t)e.rv=Q;Z!==null&&(r===null?r=Z:r.push(...Z))}return e.f&8388608&&(e.f^=ue),d}catch(e){return Ke(e)}finally{e.f^=ce,Y=t,X=n,Z=r,U=i,J=a,Re(o),W=s,Mn=c}}function Rn(e,t){let n=t.reactions;if(n!==null){var r=a.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(Y===null||!o.call(Y,t))){var s=t;s.f&512&&(s.f^=512,s.f&=~se),Je(s),jt(s),zn(s,0)}}function zn(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Rn(e,n[r])}function Bn(e){var t=e.f;if(!(t&16384)){k(e,y);var n=K,r=Dn;K=e,Dn=!0;try{t&16777232?vn(e):_n(e),gn(e);var i=Ln(e);e.teardown=typeof i==`function`?i:null,e.wv=jn}finally{Dn=r,K=n}}}function $(e){var t=(e.f&2)!=0;if(En?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(J===null||!o.call(J,e))){var n=U.deps;if(U.f&2097152)e.rv<Q&&(e.rv=Q,Y===null&&n!==null&&n[X]===e?X++:Y===null?Y=[e]:Y.push(e));else{(U.deps??=[]).push(e);var r=e.reactions;r===null?e.reactions=[U]:o.call(r,U)||r.push(U)}}if(H&&P.has(e))return P.get(e);if(t){var i=e;if(H){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||Hn(i))&&(a=kt(i)),P.set(i,a),a}var s=(i.f&512)==0&&!W&&U!==null&&(Dn||(U.f&512)!=0),c=(i.f&ne)===0;Fn(i)&&(s&&(i.f|=512),At(i)),s&&!c&&(Mt(i),Vn(i))}if(M?.has(e))return M.get(e);if(e.f&8388608)throw e.v;return e.v}function Vn(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Mt(t),Vn(t))}function Hn(e){if(e.v===n)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(P.has(t)||t.f&2&&Hn(t))return!0;return!1}function Un(e){var t=W;try{return W=!0,e()}finally{W=t}}var Wn=Symbol(`events`),Gn=new Set,Kn=new Set;function qn(e,t,n,r={}){function i(e){if(r.capture||Xn.call(t,e),!e.cancelBubble)return tn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?We(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Jn(e,t,n,r,i){var a={capture:r,passive:i},o=qn(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&on(()=>{t.removeEventListener(e,o,a)})}var Yn=null;function Xn(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;Yn=e;var o=0,s=Yn===e&&e[Wn];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[Wn]=t;return}var u=i.indexOf(t);if(u===-1)return;c<=u&&(o=c)}if(a=i[o]||e.target,a!==t){l(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=U,f=K;G(null),q(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Wn]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Wn]=t,delete e.currentTarget,G(d),q(f)}}}var Zn=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Qn(e){return Zn?.createHTML(e)??e}function $n(e){var t=$t(`template`);return t.innerHTML=Qn(e.replaceAll(`<!>`,`<!---->`)),t.content}function er(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function tr(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(C)return er(T,null),T;i===void 0&&(i=$n(a?e:`<!>`+e),n||(i=qt(i)));var t=r||Ut?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=qt(t),s=t.lastChild;er(o,s)}else er(t,t);return t}}function nr(e=``){if(!C){var t=L(e+``);return er(t,t),t}var n=T;return n.nodeType===3?en(n):(n.before(n=L()),E(n)),er(n,n),n}function rr(e,t){if(C){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=T),Oe();return}e!==null&&e.before(t)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var ir=[`touchstart`,`touchmove`];function ar(e){return ir.includes(e)}function or(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function sr(e,t){return ur(e,t)}function cr(e,n){Kt(),n.intro=n.intro??!1;let r=n.target,i=C,a=T;try{for(var o=qt(r);o&&(o.nodeType!==8||o.data!==`[`);)o=R(o);if(!o)throw t;w(!0),E(o);let i=ur(e,{...n,anchor:o});return w(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
2
2
  `).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw i;return i!==t&&console.warn(`Failed to hydrate: `,i),n.recover===!1&&be(),Kt(),Zt(r),w(!1),sr(e,n)}finally{w(i),E(a)}}var lr=new Map;function ur(e,{target:n,anchor:r,props:i={},events:a,context:o,intro:c=!0,transformError:l}){Kt();var u=void 0,d=un(()=>{var c=r??n.appendChild(L());vt(c,{pending:()=>{}},n=>{ze({});var r=D;if(o&&(r.c=o),a&&(i.$$events=a),C&&er(n,null),u=e(n,i)||{},C&&(K.nodes.end=T,T===null||T.nodeType!==8||T.data!==`]`))throw Ee(),t;Be()},l);var d=new Set,f=e=>{for(var t=0;t<e.length;t++){var r=e[t];if(!d.has(r)){d.add(r);var i=ar(r);for(let e of[n,document]){var a=lr.get(e);a===void 0&&(a=new Map,lr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Xn,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(s(Gn)),Kn.add(f),()=>{for(var e of d)for(let r of[n,document]){var t=lr.get(r),i=t.get(e);--i==0?(r.removeEventListener(e,Xn),t.delete(e),t.size===0&&lr.delete(r)):t.set(e,i)}Kn.delete(f),c!==r&&c.parentNode?.removeChild(c)}});return dr.set(u,d),u}var dr=new WeakMap;function fr(e,t){let n=dr.get(e);return n?(dr.delete(e),n(t)):Promise.resolve()}var pr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Cn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(V(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Tn(r,t),t.append(L()),this.#n.set(e,{effect:r,fragment:t})}else V(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),xn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(V(n.effect),this.#n.delete(e))};ensure(e,t){var n=j,r=Qt();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=L();i.append(a),this.#n.set(e,{effect:B(()=>t(a)),fragment:i})}else this.#t.set(e,B(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else C&&(this.anchor=T),this.#a(n)}};function mr(e,t,n=!1){var r;C&&(r=T,Oe());var i=new pr(e),a=n?ie:0;function o(e,t){if(C){var n=Me(r);if(e!==parseInt(n.substring(1))){var a=je();E(a),i.anchor=a,w(!1),i.ensure(e,t),w(!0);return}}i.ensure(e,t)}hn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function hr(e,t,n,r,i){C&&Oe();var a=t.$$slots?.[n],o=!1;a===!0&&(a=t[n===`default`?`children`:n],o=!0),a===void 0?i!==null&&i(e):a(e,o?()=>r:r)}function gr(e,t){dn(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector(`#`+t.hash)){let e=$t(`style`);e.id=t.hash,e.textContent=t.code,r.appendChild(e)}})}var _r=[...`
3
- \r\f\xA0\v`];function vr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||_r.includes(r[o-1]))&&(s===r.length||_r.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function yr(e,t,n,r,i,a){var o=e.__className;if(C||o!==n||o===void 0){var s=vr(n,r,a);(!C||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var br=Symbol(`is custom element`),xr=Symbol(`is html`),Sr=me?`link`:`LINK`,Cr=me?`progress`:`PROGRESS`;function wr(e,t){var n=Dr(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Cr)||(e.value=t??``)}function Tr(e,t,n,r){var i=Dr(e);C&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Sr)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[pe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&kr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Er(e,t,n){var r=U,i=K;let a=C;C&&w(!1),G(null),q(null);try{t!==`style`&&(Or.has(e.getAttribute(`is`)||e.nodeName)||!customElements||customElements.get(e.getAttribute(`is`)||e.nodeName.toLowerCase())?kr(e).includes(t):n&&typeof n==`object`)?e[t]=n:Tr(e,t,n==null?n:String(n))}finally{G(r),q(i),a&&w(!0)}}function Dr(e){return e.__attributes??={[br]:e.nodeName.includes(`-`),[xr]:e.namespaceURI===r}}var Or=new Map;function kr(e){var t=e.getAttribute(`is`)||e.nodeName,n=Or.get(t);if(n)return n;Or.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=d(i),r)r[o].set&&n.push(o);i=m(i)}return n}function Ar(e,t,n,r){var i=!Le||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=()=>(c&&(c=!1,s=o?Un(r):r),s);let d;if(a){var f=de in e||fe in e;d=u(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=$e(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=l(),d&&(i&&xe(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?l():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?wt:Et)(()=>(_=!1,h()));a&&$(v);var y=K;return(function(e,t){if(arguments.length>0){let n=t?$(v):i&&a?Vt(e):e;return I(v,n),_=!0,s!==void 0&&(s=n),e}return H&&_||y.f&16384?v.v:$(v)})}function jr(e){return new Mr(e)}var Mr=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=It(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return $(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===fe?!0:($(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return I(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?cr:sr)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!Ie&&(!e?.props?.$$host||e.sync===!1)&&ct(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||l(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{fr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}},Nr;typeof HTMLElement==`function`&&(Nr=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){if(await Promise.resolve(),!this.$$cn||this.$$c)return;function e(e){return t=>{let n=$t(`slot`);e!==`default`&&(n.name=e),rr(t,n)}}let t={},n=Fr(this);for(let r of this.$$s)r in n&&(r===`default`&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(let e of this.attributes){let t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=Pr(t,e.value,this.$$p_d,`toProp`))}for(let e in this.$$p_d)!(e in this.$$d)&&this[e]!==void 0&&(this.$$d[e]=this[e],delete this[e]);this.$$c=jr({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=ln(()=>{pn(()=>{this.$$r=!0;for(let e of c(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];let t=Pr(e,this.$$d[e],this.$$p_d,`toAttribute`);t==null?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(let e in this.$$l)for(let t of this.$$l[e]){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Pr(e,n,this.$$p_d,`toProp`),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return c(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Pr(e,t,n,r){let i=n[e]?.type;if(t=i===`Boolean`&&typeof t!=`boolean`?t!=null:t,!r||!n[e])return t;if(r===`toAttribute`)switch(i){case`Object`:case`Array`:return t==null?null:JSON.stringify(t);case`Boolean`:return t?``:null;case`Number`:return t??null;default:return t}else switch(i){case`Object`:case`Array`:return t&&JSON.parse(t);case`Boolean`:return t;case`Number`:return t==null?t:+t;default:return t}}function Fr(e){let t={};return e.childNodes.forEach(e=>{t[e.slot||`default`]=!0}),t}function Ir(e,t,n,r,i,a){let o=class extends Nr{constructor(){super(e,n,i),this.$$p_d=t}static get observedAttributes(){return c(t).map(e=>(t[e].attribute||e).toLowerCase())}};return c(t).forEach(e=>{l(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=Pr(e,n,t),this.$$d[e]=n;var r=this.$$c;r&&(u(r,e)?.get?r[e]=n:r.$set({[e]:n}))}})}),r.forEach(e=>{l(o.prototype,e,{get(){return this.$$c?.[e]}})}),a&&(o=a(o)),e.element=o,o}var Lr={name:`@htmlbricks/svelte-webcomponent`,private:!0,version:`0.71.35`,type:`module`,scripts:{dev:`vite --open`,build:`vite build`,"publish:wc":`node publish.ts`,"build:wc":`node build.ts`,"watch:wc":`node watch.ts`,preview:`vite preview`,check:`svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json`,"release:patch":`npm version patch && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:minor":`npm version minor && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:major":`npm version major && git push && git push --tags && npm run build:wc && npm run publish:wc`},devDependencies:{"@google-pay/button-element":`^3.2.1`,"@paypal/paypal-js":`^9.5.0`,"@sveltejs/vite-plugin-svelte":`^7.0.0`,"@tsconfig/svelte":`^5.0.8`,"@types/debounce":`^1.2.4`,"@types/node":`^24.10.1`,"@types/rgb-hex":`^3.0.0`,"chart.js":`^4.5.1`,"date-holidays":`^3.26.12`,dayjs:`^1.11.20`,"hls.js":`^1.6.15`,"html5-joystick-new":`^0.0.6`,ol:`^10.8.0`,"perfect-freehand":`^1.2.3`,prettier:`^3.8.1`,"rollup-plugin-terser":`^7.0.2`,"sass-embedded":`^1.98.0`,"simple-serverless-auth-client":`^0.0.6`,"simple-webrtc-element":`^0.0.1`,"simple-webrtc-element-whep":`^0.2.3`,"style-to-object":`^1.0.14`,svelte:`^5.55.0`,"svelte-check":`^4.4.5`,terser:`^5.46.1`,"ts-json-schema-generator":`^2.9.0`,typescript:`^6.0.2`,vite:`^8.0.3`},dependencies:{"@floating-ui/dom":`^1.7.6`,"@popperjs/core":`^2.11.8`,debounce:`^3.0.0`,"html-colors":`^0.0.6`,marked:`^17.0.5`,raphael:`^2.3.0`,"rgb-hex":`^4.1.0`,"wc-js-utils":`^0.5.4`}};function Rr(e){let t=e?.repoName.split(`/`)?.[1]||e?.repoName;if(!t)throw Error(`wrong componentPath `+e?.repoName);if(!e?.version)throw Error(`wrong version `+e?.version);let n=e?.iifePath||`main.iife.js`;if(!document.getElementById(t+`-script`)&&!customElements?.get?.(t)&&!window?.customElements?.get?.(t))try{let r=document.createElement(`script`);if(r.id=t+`-script`,r.src=`https://cdn.jsdelivr.net/npm/${e.repoName}@${e.version}/${n}`,e?.local)r.src=`${e.local}`;else if(location.href.includes(`localhost:6006`)){let e=t.split(`-`)[0];r.src=`http://localhost:6006/webcomponents/${t.replace(e+`-`,``)}/${n}`}document.head.appendChild(r)}catch(e){console.warn(e)}}var zr=tr(`<progress class="progress is-primary svelte-vj77ev" max="100" aria-busy="true" title="Loading"></progress>`),Br=tr(`<progress class="progress is-primary svelte-vj77ev" max="100" aria-valuemin="0" aria-valuemax="100"></progress> <span class="hb-downloader-percent is-block has-text-centered is-size-7 svelte-vj77ev"> </span>`,1),Vr=tr(`<hb-dialog><span slot="title" class="svelte-vj77ev"><!></span> <div slot="body-content" class="svelte-vj77ev"><!></div> <span slot="modal-footer" class="svelte-vj77ev"></span></hb-dialog>`,2),Hr={hash:`svelte-vj77ev`,code:`@charset "UTF-8";
3
+ \r\f\xA0\v`];function vr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||_r.includes(r[o-1]))&&(s===r.length||_r.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function yr(e,t,n,r,i,a){var o=e.__className;if(C||o!==n||o===void 0){var s=vr(n,r,a);(!C||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var br=Symbol(`is custom element`),xr=Symbol(`is html`),Sr=me?`link`:`LINK`,Cr=me?`progress`:`PROGRESS`;function wr(e,t){var n=Dr(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Cr)||(e.value=t??``)}function Tr(e,t,n,r){var i=Dr(e);C&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Sr)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[pe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&kr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Er(e,t,n){var r=U,i=K;let a=C;C&&w(!1),G(null),q(null);try{t!==`style`&&(Or.has(e.getAttribute(`is`)||e.nodeName)||!customElements||customElements.get(e.getAttribute(`is`)||e.nodeName.toLowerCase())?kr(e).includes(t):n&&typeof n==`object`)?e[t]=n:Tr(e,t,n==null?n:String(n))}finally{G(r),q(i),a&&w(!0)}}function Dr(e){return e.__attributes??={[br]:e.nodeName.includes(`-`),[xr]:e.namespaceURI===r}}var Or=new Map;function kr(e){var t=e.getAttribute(`is`)||e.nodeName,n=Or.get(t);if(n)return n;Or.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=d(i),r)r[o].set&&n.push(o);i=m(i)}return n}function Ar(e,t,n,r){var i=!Le||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=()=>(c&&(c=!1,s=o?Un(r):r),s);let d;if(a){var f=de in e||fe in e;d=u(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=$e(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=l(),d&&(i&&xe(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?l():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?wt:Et)(()=>(_=!1,h()));a&&$(v);var y=K;return(function(e,t){if(arguments.length>0){let n=t?$(v):i&&a?Vt(e):e;return I(v,n),_=!0,s!==void 0&&(s=n),e}return H&&_||y.f&16384?v.v:$(v)})}function jr(e){return new Mr(e)}var Mr=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=It(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return $(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===fe?!0:($(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return I(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?cr:sr)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!Ie&&(!e?.props?.$$host||e.sync===!1)&&ct(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||l(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{fr(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}},Nr;typeof HTMLElement==`function`&&(Nr=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){let e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){if(await Promise.resolve(),!this.$$cn||this.$$c)return;function e(e){return t=>{let n=$t(`slot`);e!==`default`&&(n.name=e),rr(t,n)}}let t={},n=Fr(this);for(let r of this.$$s)r in n&&(r===`default`&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(let e of this.attributes){let t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=Pr(t,e.value,this.$$p_d,`toProp`))}for(let e in this.$$p_d)!(e in this.$$d)&&this[e]!==void 0&&(this.$$d[e]=this[e],delete this[e]);this.$$c=jr({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=ln(()=>{pn(()=>{this.$$r=!0;for(let e of c(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];let t=Pr(e,this.$$d[e],this.$$p_d,`toAttribute`);t==null?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1})});for(let e in this.$$l)for(let t of this.$$l[e]){let n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Pr(e,n,this.$$p_d,`toProp`),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return c(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Pr(e,t,n,r){let i=n[e]?.type;if(t=i===`Boolean`&&typeof t!=`boolean`?t!=null:t,!r||!n[e])return t;if(r===`toAttribute`)switch(i){case`Object`:case`Array`:return t==null?null:JSON.stringify(t);case`Boolean`:return t?``:null;case`Number`:return t??null;default:return t}else switch(i){case`Object`:case`Array`:return t&&JSON.parse(t);case`Boolean`:return t;case`Number`:return t==null?t:+t;default:return t}}function Fr(e){let t={};return e.childNodes.forEach(e=>{t[e.slot||`default`]=!0}),t}function Ir(e,t,n,r,i,a){let o=class extends Nr{constructor(){super(e,n,i),this.$$p_d=t}static get observedAttributes(){return c(t).map(e=>(t[e].attribute||e).toLowerCase())}};return c(t).forEach(e=>{l(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=Pr(e,n,t),this.$$d[e]=n;var r=this.$$c;r&&(u(r,e)?.get?r[e]=n:r.$set({[e]:n}))}})}),r.forEach(e=>{l(o.prototype,e,{get(){return this.$$c?.[e]}})}),a&&(o=a(o)),e.element=o,o}var Lr={name:`@htmlbricks/svelte-webcomponent`,private:!0,version:`0.71.37`,type:`module`,scripts:{dev:`vite --open`,build:`vite build`,"publish:wc":`node publish.ts`,"build:wc":`node build.ts`,"watch:wc":`node watch.ts`,preview:`vite preview`,check:`svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json`,"release:patch":`npm version patch && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:minor":`npm version minor && git push && git push --tags && npm run build:wc && npm run publish:wc`,"release:major":`npm version major && git push && git push --tags && npm run build:wc && npm run publish:wc`},devDependencies:{"@google-pay/button-element":`^3.2.1`,"@paypal/paypal-js":`^9.5.0`,"@sveltejs/vite-plugin-svelte":`^7.0.0`,"@tsconfig/svelte":`^5.0.8`,"@types/debounce":`^1.2.4`,"@types/node":`^24.10.1`,"@types/rgb-hex":`^3.0.0`,"chart.js":`^4.5.1`,"date-holidays":`^3.26.12`,dayjs:`^1.11.20`,"hls.js":`^1.6.15`,"html5-joystick-new":`^0.0.6`,ol:`^10.8.0`,"perfect-freehand":`^1.2.3`,prettier:`^3.8.1`,"rollup-plugin-terser":`^7.0.2`,"sass-embedded":`^1.98.0`,"simple-serverless-auth-client":`^0.0.6`,"simple-webrtc-element":`^0.0.1`,"simple-webrtc-element-whep":`^0.2.3`,"style-to-object":`^1.0.14`,svelte:`^5.55.0`,"svelte-check":`^4.4.5`,terser:`^5.46.1`,"ts-json-schema-generator":`^2.9.0`,typescript:`^6.0.2`,vite:`^8.0.3`},dependencies:{"@floating-ui/dom":`^1.7.6`,"@popperjs/core":`^2.11.8`,debounce:`^3.0.0`,"html-colors":`^0.0.6`,marked:`^17.0.5`,raphael:`^2.3.0`,"rgb-hex":`^4.1.0`,"wc-js-utils":`^0.5.4`}};function Rr(e){let t=e?.repoName.split(`/`)?.[1]||e?.repoName;if(!t)throw Error(`wrong componentPath `+e?.repoName);if(!e?.version)throw Error(`wrong version `+e?.version);let n=e?.iifePath||`main.iife.js`;if(!document.getElementById(t+`-script`)&&!customElements?.get?.(t)&&!window?.customElements?.get?.(t))try{let r=document.createElement(`script`);if(r.id=t+`-script`,r.src=`https://cdn.jsdelivr.net/npm/${e.repoName}@${e.version}/${n}`,e?.local)r.src=`${e.local}`;else if(location.href.includes(`localhost:6006`)){let e=t.split(`-`)[0];r.src=`http://localhost:6006/webcomponents/${t.replace(e+`-`,``)}/${n}`}document.head.appendChild(r)}catch(e){console.warn(e)}}var zr=tr(`<progress class="progress is-primary svelte-vj77ev" max="100" aria-busy="true" title="Loading"></progress>`),Br=tr(`<progress class="progress is-primary svelte-vj77ev" max="100" aria-valuemin="0" aria-valuemax="100"></progress> <span class="hb-downloader-percent is-block has-text-centered is-size-7 svelte-vj77ev"> </span>`,1),Vr=tr(`<hb-dialog><span slot="title" class="svelte-vj77ev"><!></span> <div slot="body-content" class="svelte-vj77ev"><!></div> <span slot="modal-footer" class="svelte-vj77ev"></span></hb-dialog>`,2),Hr={hash:`svelte-vj77ev`,code:`@charset "UTF-8";
4
4
  /*!
5
5
  * Bulma 1.x (Sass) for hb-downloader — progress element.
6
6
  */:host {--bulma-hb-def-control-radius: var(--bulma-radius, var(--bulma-hb-def-radius));--bulma-hb-def-control-radius-small: var(--bulma-radius-small, var(--bulma-hb-def-radius-small));--bulma-hb-def-control-border-width: 1px;--bulma-hb-def-control-height: 2.5em;--bulma-hb-def-control-line-height: 1.5;--bulma-hb-def-control-padding-vertical: calc(0.5em - 1px);--bulma-hb-def-control-padding-horizontal: calc(0.75em - 1px);--bulma-hb-def-control-size: var(--bulma-size-normal, var(--bulma-hb-def-size-normal));--bulma-hb-def-control-focus-shadow-l: 50%;}
@@ -111,5 +111,5 @@
111
111
  * Load after Bulma theme in the component style block so \`--bulma-*\` tokens apply.
112
112
  */:host {box-sizing:border-box;max-width:100%;font-family:var(--bulma-family-primary, "Inter", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif);}.svelte-vj77ev,
113
113
  .svelte-vj77ev::before,
114
- .svelte-vj77ev::after {box-sizing:inherit;}.hb-downloader-percent.svelte-vj77ev {margin-top:calc(var(--bulma-block-spacing) * 0.5);color:var(--bulma-text);}`};function Ur(e,t){ze(t,!0),gr(e,Hr);function n(e,n){t.$$host.dispatchEvent(new CustomEvent(e,{detail:n}))}Rr({repoName:`@htmlbricks/hb-dialog`,version:Lr.version});let r=Ar(t,`id`,7,``),i=Ar(t,`downloadid`,7,``),a=Ar(t,`uri`,7,``),o=Ar(t,`headers`,7,void 0),s=Ar(t,`targetfilename`,7,void 0),c=F(0),l=F(0),u=F(null),d=F(!1),f=F(null);sn(()=>{try{o()&&typeof o()==`string`&&o(JSON.parse(o()))}catch{}!s()&&a()&&s(a().split(`/`)[a().split(`/`).length-1].split(`?`)[0])});function p(){function e(e){console.error(`error downloading uri: ${a()}`,e),e&&I(f,e,!0),I(u,null),n(`downloadError`,{downloaded:$(d),id:i(),error:e})}I(l,0),I(u,new XMLHttpRequest,!0);try{if($(u).open(`GET`,a(),!0),o())for(let e of Object.keys(o()))$(u).setRequestHeader(e,o()[e]);$(u).responseType=`blob`,$(u).onload=function(){if(!$(u))return;if($(u).status>299||$(u).status<200)return e(`request error`);let t=s(),r=$(u).getResponseHeader(`Content-Disposition`);if(r){let e=r.match(/filename="([^"]+)"/);e&&e[1]&&(t=e[1])}else console.warn(`no content disposition, try adding header 'Access-Control-Expose-Headers: Content-Disposition'`);let o=(window.URL||window.webkitURL).createObjectURL(this.response),c=document.createElement(`a`);return c.href=o,c.target=`_blank`,c.download=t,document.body.appendChild(c),c.click(),document.body.removeChild(c),console.log(`loadEnd`),i(``),a(``),I(u,null),I(d,!0),I(f,null),n(`downloadComplete`,{downloaded:$(d),id:i()||`default`})},$(u).onerror=t=>e(t),$(u).onprogress=function(e){I(c,e?.total||0,!0),I(l,e?.loaded||0,!0)},$(u).onloadend=function(e){},$(u).send()}catch(t){return console.error(`download err `,t),e(t)}}function m(e){e.show?(i(e.id),p()):(a(``),i(``),I(f,null),$(u)&&$(u).abort(),I(u,null)),n(`modalShow`,e)}var h={get id(){return r()},set id(e=``){r(e),ct()},get downloadid(){return i()},set downloadid(e=``){i(e),ct()},get uri(){return a()},set uri(e=``){a(e),ct()},get headers(){return o()},set headers(e=void 0){o(e),ct()},get targetfilename(){return s()},set targetfilename(e=void 0){s(e),ct()}},g=Vr();mn(()=>Er(g,`id`,i())),mn(()=>Er(g,`show`,a()?`yes`:`no`)),yr(g,1,`svelte-vj77ev`);var _=Jt(g);hr(Jt(_),t,`title`,{},e=>{rr(e,nr(`Downloading`))}),ke(_);var v=Xt(_,2),y=Jt(v),b=e=>{rr(e,zr())},x=e=>{var t=Br(),n=Yt(t),r=Xt(n,2),i=Jt(r);ke(r),mn((e,t,r,a)=>{wr(n,e),Tr(n,`aria-valuenow`,t),Tr(n,`title`,`${r??``}%`),or(i,`${a??``}%`)},[()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100)]),rr(e,t)},ee=e=>{var t=nr();mn(()=>or(t,$(f))),rr(e,t)};return mr(y,e=>{!$(c)&&!$(f)?e(b):$(f)?$(f)&&e(ee,2):e(x,1)}),ke(v),Ae(2),ke(g),Jn(`modalShow`,g,e=>m(e.detail)),rr(e,g),Be(h)}customElements.define(`hb-downloader`,Ir(Ur,{id:{},downloadid:{},uri:{},headers:{},targetfilename:{}},[`title`],[],{mode:`open`})),e.Component=Ur})(this.downloader=this.downloader||{});
114
+ .svelte-vj77ev::after {box-sizing:inherit;}.hb-downloader-percent.svelte-vj77ev {margin-top:calc(var(--bulma-block-spacing) * 0.5);color:var(--bulma-text);}`};function Ur(e,t){ze(t,!0),gr(e,Hr);function n(e,n){t.$$host.dispatchEvent(new CustomEvent(e,{detail:n}))}Rr({repoName:`@htmlbricks/hb-dialog`,version:Lr.version});let r=Ar(t,`id`,7,``),i=Ar(t,`downloadid`,7,``),a=Ar(t,`uri`,7,``),o=Ar(t,`headers`,7,void 0),s=Ar(t,`targetfilename`,7,void 0),c=F(0),l=F(0),u=F(null),d=F(!1),f=F(null);sn(()=>{try{o()&&typeof o()==`string`&&o(JSON.parse(o()))}catch{}!s()&&a()&&s(a().split(`/`)[a().split(`/`).length-1].split(`?`)[0])});function p(){function e(e){console.error(`error downloading uri: ${a()}`,e),e&&I(f,e,!0),I(u,null),n(`downloadError`,{downloaded:$(d),id:i(),error:e})}I(l,0),I(u,new XMLHttpRequest,!0);try{if($(u).open(`GET`,a(),!0),o())for(let e of Object.keys(o()))$(u).setRequestHeader(e,o()[e]);$(u).responseType=`blob`,$(u).onload=function(){if(!$(u))return;if($(u).status>299||$(u).status<200)return e(`request error`);let t=s(),r=$(u).getResponseHeader(`Content-Disposition`);if(r){let e=r.match(/filename="([^"]+)"/);e&&e[1]&&(t=e[1])}else console.warn(`no content disposition, try adding header 'Access-Control-Expose-Headers: Content-Disposition'`);let o=(window.URL||window.webkitURL).createObjectURL(this.response),c=document.createElement(`a`);c.href=o,c.target=`_blank`,c.download=t,document.body.appendChild(c),c.click(),document.body.removeChild(c),console.log(`loadEnd`);let l=i()||`default`;return i(``),a(``),I(u,null),I(d,!0),I(f,null),n(`downloadComplete`,{downloaded:$(d),id:l})},$(u).onerror=t=>e(t),$(u).onprogress=function(e){I(c,e?.total||0,!0),I(l,e?.loaded||0,!0)},$(u).onloadend=function(e){},$(u).send()}catch(t){return console.error(`download err `,t),e(t)}}function m(e){e.show?(i(e.id),p()):(a(``),i(``),I(f,null),$(u)&&$(u).abort(),I(u,null)),n(`modalShow`,e)}var h={get id(){return r()},set id(e=``){r(e),ct()},get downloadid(){return i()},set downloadid(e=``){i(e),ct()},get uri(){return a()},set uri(e=``){a(e),ct()},get headers(){return o()},set headers(e=void 0){o(e),ct()},get targetfilename(){return s()},set targetfilename(e=void 0){s(e),ct()}},g=Vr();mn(()=>Er(g,`id`,i())),mn(()=>Er(g,`show`,a()?`yes`:`no`)),yr(g,1,`svelte-vj77ev`);var _=Jt(g);hr(Jt(_),t,`title`,{},e=>{rr(e,nr(`Downloading`))}),ke(_);var v=Xt(_,2),y=Jt(v),b=e=>{rr(e,zr())},x=e=>{var t=Br(),n=Yt(t),r=Xt(n,2),i=Jt(r);ke(r),mn((e,t,r,a)=>{wr(n,e),Tr(n,`aria-valuenow`,t),Tr(n,`title`,`${r??``}%`),or(i,`${a??``}%`)},[()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100),()=>Math.round($(l)/$(c)*100)]),rr(e,t)},ee=e=>{var t=nr();mn(()=>or(t,$(f))),rr(e,t)};return mr(y,e=>{!$(c)&&!$(f)?e(b):$(f)?$(f)&&e(ee,2):e(x,1)}),ke(v),Ae(2),ke(g),Jn(`modalShow`,g,e=>m(e.detail)),rr(e,g),Be(h)}customElements.define(`hb-downloader`,Ir(Ur,{id:{},downloadid:{},uri:{},headers:{},targetfilename:{}},[`title`],[],{mode:`open`})),e.Component=Ur})(this.downloader=this.downloader||{});
115
115
  //# sourceMappingURL=main.iife.js.map