@batijs/elements 0.0.3 → 0.0.5

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 (2) hide show
  1. package/dist/elements/full.js +1587 -1676
  2. package/package.json +23 -30
@@ -1,836 +1,648 @@
1
- function cloneProps(props) {
2
- const propKeys = Object.keys(props);
3
- return propKeys.reduce((memo, k) => {
4
- const prop = props[k];
5
- memo[k] = Object.assign({}, prop);
6
- if (isObject(prop.value) && !isFunction(prop.value) && !Array.isArray(prop.value)) memo[k].value = Object.assign({}, prop.value);
7
- if (Array.isArray(prop.value)) memo[k].value = prop.value.slice(0);
8
- return memo;
1
+ function Ie(t) {
2
+ return Object.keys(t).reduce((i, r) => {
3
+ const o = t[r];
4
+ return i[r] = Object.assign({}, o), Ft(o.value) && !Le(o.value) && !Array.isArray(o.value) && (i[r].value = Object.assign({}, o.value)), Array.isArray(o.value) && (i[r].value = o.value.slice(0)), i;
9
5
  }, {});
10
6
  }
11
-
12
- function normalizePropDefs(props) {
13
- if (!props) return {};
14
- const propKeys = Object.keys(props);
15
- return propKeys.reduce((memo, k) => {
16
- const v = props[k];
17
- memo[k] = !(isObject(v) && "value" in v) ? {
18
- value: v
19
- } : v;
20
- memo[k].attribute || (memo[k].attribute = toAttribute(k));
21
- memo[k].parse = "parse" in memo[k] ? memo[k].parse : typeof memo[k].value !== "string";
22
- return memo;
23
- }, {});
24
- }
25
- function propValues(props) {
26
- const propKeys = Object.keys(props);
27
- return propKeys.reduce((memo, k) => {
28
- memo[k] = props[k].value;
29
- return memo;
30
- }, {});
31
- }
32
- function initializeProps(element, propDefinition) {
33
- const props = cloneProps(propDefinition),
34
- propKeys = Object.keys(propDefinition);
35
- propKeys.forEach(key => {
36
- const prop = props[key],
37
- attr = element.getAttribute(prop.attribute),
38
- value = element[key];
39
- if (attr) prop.value = prop.parse ? parseAttributeValue(attr) : attr;
40
- if (value != null) prop.value = Array.isArray(value) ? value.slice(0) : value;
41
- prop.reflect && reflect(element, prop.attribute, prop.value);
42
- Object.defineProperty(element, key, {
7
+ function ye(t) {
8
+ return t ? Object.keys(t).reduce((i, r) => {
9
+ const o = t[r];
10
+ return i[r] = Ft(o) && "value" in o ? o : {
11
+ value: o
12
+ }, i[r].attribute || (i[r].attribute = we(r)), i[r].parse = "parse" in i[r] ? i[r].parse : typeof i[r].value != "string", i;
13
+ }, {}) : {};
14
+ }
15
+ function De(t) {
16
+ return Object.keys(t).reduce((i, r) => (i[r] = t[r].value, i), {});
17
+ }
18
+ function be(t, e) {
19
+ const i = Ie(e);
20
+ return Object.keys(e).forEach((o) => {
21
+ const M = i[o], n = t.getAttribute(M.attribute), l = t[o];
22
+ n && (M.value = M.parse ? Ht(n) : n), l != null && (M.value = Array.isArray(l) ? l.slice(0) : l), M.reflect && Yt(t, M.attribute, M.value), Object.defineProperty(t, o, {
43
23
  get() {
44
- return prop.value;
24
+ return M.value;
45
25
  },
46
-
47
- set(val) {
48
- const oldValue = prop.value;
49
- prop.value = val;
50
- prop.reflect && reflect(this, prop.attribute, prop.value);
51
-
52
- for (let i = 0, l = this.__propertyChangedCallbacks.length; i < l; i++) {
53
- this.__propertyChangedCallbacks[i](key, val, oldValue);
54
- }
26
+ set(c) {
27
+ const s = M.value;
28
+ M.value = c, M.reflect && Yt(this, M.attribute, M.value);
29
+ for (let a = 0, u = this.__propertyChangedCallbacks.length; a < u; a++)
30
+ this.__propertyChangedCallbacks[a](o, c, s);
55
31
  },
56
-
57
- enumerable: true,
58
- configurable: true
32
+ enumerable: !0,
33
+ configurable: !0
59
34
  });
60
- });
61
- return props;
62
- }
63
- function parseAttributeValue(value) {
64
- if (!value) return;
65
-
66
- try {
67
- return JSON.parse(value);
68
- } catch (err) {
69
- return value;
70
- }
35
+ }), i;
36
+ }
37
+ function Ht(t) {
38
+ if (t)
39
+ try {
40
+ return JSON.parse(t);
41
+ } catch {
42
+ return t;
43
+ }
71
44
  }
72
- function reflect(node, attribute, value) {
73
- if (value == null || value === false) return node.removeAttribute(attribute);
74
- let reflect = JSON.stringify(value);
75
- node.__updating[attribute] = true;
76
- if (reflect === "true") reflect = "";
77
- node.setAttribute(attribute, reflect);
78
- Promise.resolve().then(() => delete node.__updating[attribute]);
45
+ function Yt(t, e, i) {
46
+ if (i == null || i === !1)
47
+ return t.removeAttribute(e);
48
+ let r = JSON.stringify(i);
49
+ t.__updating[e] = !0, r === "true" && (r = ""), t.setAttribute(e, r), Promise.resolve().then(() => delete t.__updating[e]);
79
50
  }
80
- function toAttribute(propName) {
81
- return propName.replace(/\.?([A-Z]+)/g, (x, y) => "-" + y.toLowerCase()).replace("_", "-").replace(/^-/, "");
51
+ function we(t) {
52
+ return t.replace(/\.?([A-Z]+)/g, (e, i) => "-" + i.toLowerCase()).replace("_", "-").replace(/^-/, "");
82
53
  }
83
- function isObject(obj) {
84
- return obj != null && (typeof obj === "object" || typeof obj === "function");
54
+ function Ft(t) {
55
+ return t != null && (typeof t == "object" || typeof t == "function");
85
56
  }
86
- function isFunction(val) {
87
- return Object.prototype.toString.call(val) === "[object Function]";
57
+ function Le(t) {
58
+ return Object.prototype.toString.call(t) === "[object Function]";
88
59
  }
89
- function isConstructor(f) {
90
- return typeof f === "function" && f.toString().indexOf("class") === 0;
60
+ function Te(t) {
61
+ return typeof t == "function" && t.toString().indexOf("class") === 0;
91
62
  }
92
-
93
- let currentElement;
94
- function createElementType(BaseElement, propDefinition) {
95
- const propKeys = Object.keys(propDefinition);
96
- return class CustomElement extends BaseElement {
63
+ let Lt;
64
+ function Ae(t, e) {
65
+ const i = Object.keys(e);
66
+ return class extends t {
97
67
  static get observedAttributes() {
98
- return propKeys.map(k => propDefinition[k].attribute);
68
+ return i.map((o) => e[o].attribute);
99
69
  }
100
-
101
70
  constructor() {
102
- super();
103
- this.__initialized = false;
104
- this.__released = false;
105
- this.__releaseCallbacks = [];
106
- this.__propertyChangedCallbacks = [];
107
- this.__updating = {};
108
- this.props = {};
71
+ super(), this.__initialized = !1, this.__released = !1, this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = {};
109
72
  }
110
-
111
73
  connectedCallback() {
112
- if (this.__initialized) return;
113
- this.__releaseCallbacks = [];
114
- this.__propertyChangedCallbacks = [];
115
- this.__updating = {};
116
- this.props = initializeProps(this, propDefinition);
117
- const props = propValues(this.props),
118
- ComponentType = this.Component,
119
- outerElement = currentElement;
120
-
74
+ if (this.__initialized)
75
+ return;
76
+ this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = be(this, e);
77
+ const o = De(this.props), M = this.Component, n = Lt;
121
78
  try {
122
- currentElement = this;
123
- this.__initialized = true;
124
- if (isConstructor(ComponentType)) new ComponentType(props, {
79
+ Lt = this, this.__initialized = !0, Te(M) ? new M(o, {
125
80
  element: this
126
- });else ComponentType(props, {
81
+ }) : M(o, {
127
82
  element: this
128
83
  });
129
84
  } finally {
130
- currentElement = outerElement;
85
+ Lt = n;
131
86
  }
132
87
  }
133
-
134
88
  async disconnectedCallback() {
135
- // prevent premature releasing when element is only temporarely removed from DOM
136
- await Promise.resolve();
137
- if (this.isConnected) return;
89
+ if (await Promise.resolve(), this.isConnected)
90
+ return;
138
91
  this.__propertyChangedCallbacks.length = 0;
139
- let callback = null;
140
-
141
- while (callback = this.__releaseCallbacks.pop()) callback(this);
142
-
143
- delete this.__initialized;
144
- this.__released = true;
92
+ let o = null;
93
+ for (; o = this.__releaseCallbacks.pop(); )
94
+ o(this);
95
+ delete this.__initialized, this.__released = !0;
145
96
  }
146
-
147
- attributeChangedCallback(name, oldVal, newVal) {
148
- if (!this.__initialized) return;
149
- if (this.__updating[name]) return;
150
- name = this.lookupProp(name);
151
-
152
- if (name in propDefinition) {
153
- if (newVal == null && !this[name]) return;
154
- this[name] = propDefinition[name].parse ? parseAttributeValue(newVal) : newVal;
97
+ attributeChangedCallback(o, M, n) {
98
+ if (this.__initialized && !this.__updating[o] && (o = this.lookupProp(o), o in e)) {
99
+ if (n == null && !this[o])
100
+ return;
101
+ this[o] = e[o].parse ? Ht(n) : n;
155
102
  }
156
103
  }
157
-
158
- lookupProp(attrName) {
159
- if (!propDefinition) return;
160
- return propKeys.find(k => attrName === k || attrName === propDefinition[k].attribute);
104
+ lookupProp(o) {
105
+ if (e)
106
+ return i.find((M) => o === M || o === e[M].attribute);
161
107
  }
162
-
163
108
  get renderRoot() {
164
109
  return this.shadowRoot || this.attachShadow({
165
110
  mode: "open"
166
111
  });
167
112
  }
168
-
169
- addReleaseCallback(fn) {
170
- this.__releaseCallbacks.push(fn);
113
+ addReleaseCallback(o) {
114
+ this.__releaseCallbacks.push(o);
171
115
  }
172
-
173
- addPropertyChangedCallback(fn) {
174
- this.__propertyChangedCallbacks.push(fn);
116
+ addPropertyChangedCallback(o) {
117
+ this.__propertyChangedCallbacks.push(o);
175
118
  }
176
-
177
119
  };
178
120
  }
179
-
180
- function register(tag, props = {}, options = {}) {
121
+ function xe(t, e = {}, i = {}) {
181
122
  const {
182
- BaseElement = HTMLElement,
183
- extension
184
- } = options;
185
- return ComponentType => {
186
- if (!tag) throw new Error("tag is required to register a Component");
187
- let ElementType = customElements.get(tag);
188
-
189
- if (ElementType) {
190
- // Consider disabling this in a production mode
191
- ElementType.prototype.Component = ComponentType;
192
- return ElementType;
193
- }
194
-
195
- ElementType = createElementType(BaseElement, normalizePropDefs(props));
196
- ElementType.prototype.Component = ComponentType;
197
- ElementType.prototype.registeredTag = tag;
198
- customElements.define(tag, ElementType, extension);
199
- return ElementType;
123
+ BaseElement: r = HTMLElement,
124
+ extension: o
125
+ } = i;
126
+ return (M) => {
127
+ if (!t)
128
+ throw new Error("tag is required to register a Component");
129
+ let n = customElements.get(t);
130
+ return n ? (n.prototype.Component = M, n) : (n = Ae(r, ye(e)), n.prototype.Component = M, n.prototype.registeredTag = t, customElements.define(t, n, o), n);
200
131
  };
201
132
  }
202
-
203
- const sharedConfig = {
204
- context: undefined,
205
- registry: undefined
133
+ const Xt = (t, e) => t === e, U = Symbol("solid-proxy"), xt = Symbol("solid-track"), nt = {
134
+ equals: Xt
206
135
  };
207
-
208
- const equalFn = (a, b) => a === b;
209
- const $PROXY = Symbol("solid-proxy");
210
- const $TRACK = Symbol("solid-track");
211
- const signalOptions = {
212
- equals: equalFn
213
- };
214
- let runEffects = runQueue;
215
- const STALE = 1;
216
- const PENDING = 2;
217
- const UNOWNED = {
136
+ let $t = ie;
137
+ const R = 1, lt = 2, _t = {
218
138
  owned: null,
219
139
  cleanups: null,
220
140
  context: null,
221
141
  owner: null
222
142
  };
223
- var Owner = null;
224
- let Transition = null;
225
- let Listener = null;
226
- let Updates = null;
227
- let Effects = null;
228
- let ExecCount = 0;
229
- function createRoot(fn, detachedOwner) {
230
- const listener = Listener,
231
- owner = Owner,
232
- unowned = fn.length === 0,
233
- root = unowned ? UNOWNED : {
234
- owned: null,
235
- cleanups: null,
236
- context: null,
237
- owner: detachedOwner === undefined ? owner : detachedOwner
238
- },
239
- updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));
240
- Owner = root;
241
- Listener = null;
143
+ var y = null;
144
+ let Tt = null, b = null, x = null, P = null, jt = 0;
145
+ function Mt(t, e) {
146
+ const i = b, r = y, o = t.length === 0, M = e === void 0 ? r : e, n = o ? _t : {
147
+ owned: null,
148
+ cleanups: null,
149
+ context: M ? M.context : null,
150
+ owner: M
151
+ }, l = o ? t : () => t(() => Z(() => yt(n)));
152
+ y = n, b = null;
242
153
  try {
243
- return runUpdates(updateFn, true);
154
+ return _(l, !0);
244
155
  } finally {
245
- Listener = listener;
246
- Owner = owner;
156
+ b = i, y = r;
247
157
  }
248
158
  }
249
- function createSignal(value, options) {
250
- options = options ? Object.assign({}, signalOptions, options) : signalOptions;
251
- const s = {
252
- value,
159
+ function J(t, e) {
160
+ e = e ? Object.assign({}, nt, e) : nt;
161
+ const i = {
162
+ value: t,
253
163
  observers: null,
254
164
  observerSlots: null,
255
- comparator: options.equals || undefined
256
- };
257
- const setter = value => {
258
- if (typeof value === "function") {
259
- value = value(s.value);
165
+ comparator: e.equals || void 0
166
+ }, r = (o) => (typeof o == "function" && (o = o(i.value)), ee(i, o));
167
+ return [te.bind(i), r];
168
+ }
169
+ function h(t, e, i) {
170
+ const r = It(t, e, !1, R);
171
+ $(r);
172
+ }
173
+ function Kt(t, e, i) {
174
+ $t = Ee;
175
+ const r = It(t, e, !1, R);
176
+ (!i || !i.render) && (r.user = !0), P ? P.push(r) : $(r);
177
+ }
178
+ function m(t, e, i) {
179
+ i = i ? Object.assign({}, nt, i) : nt;
180
+ const r = It(t, e, !0, 0);
181
+ return r.observers = null, r.observerSlots = null, r.comparator = i.equals || void 0, $(r), te.bind(r);
182
+ }
183
+ function ze(t, e = Xt, i) {
184
+ const r = /* @__PURE__ */ new Map(), o = It((M) => {
185
+ const n = t();
186
+ for (const [l, c] of r.entries())
187
+ if (e(l, n) !== e(l, M))
188
+ for (const s of c.values())
189
+ s.state = R, s.pure ? x.push(s) : P.push(s);
190
+ return n;
191
+ }, void 0, !0, R);
192
+ return $(o), (M) => {
193
+ const n = b;
194
+ if (n) {
195
+ let l;
196
+ (l = r.get(M)) ? l.add(n) : r.set(M, l = /* @__PURE__ */ new Set([n])), Et(() => {
197
+ l.delete(n), !l.size && r.delete(M);
198
+ });
260
199
  }
261
- return writeSignal(s, value);
200
+ return e(M, o.value);
262
201
  };
263
- return [readSignal.bind(s), setter];
264
- }
265
- function createRenderEffect(fn, value, options) {
266
- const c = createComputation(fn, value, false, STALE);
267
- updateComputation(c);
268
- }
269
- function createMemo(fn, value, options) {
270
- options = options ? Object.assign({}, signalOptions, options) : signalOptions;
271
- const c = createComputation(fn, value, true, 0);
272
- c.observers = null;
273
- c.observerSlots = null;
274
- c.comparator = options.equals || undefined;
275
- updateComputation(c);
276
- return readSignal.bind(c);
277
- }
278
- function batch(fn) {
279
- return runUpdates(fn, false);
280
- }
281
- function untrack(fn) {
282
- if (Listener === null) return fn();
283
- const listener = Listener;
284
- Listener = null;
202
+ }
203
+ function qt(t) {
204
+ return _(t, !1);
205
+ }
206
+ function Z(t) {
207
+ if (b === null)
208
+ return t();
209
+ const e = b;
210
+ b = null;
285
211
  try {
286
- return fn();
212
+ return t();
287
213
  } finally {
288
- Listener = listener;
214
+ b = e;
289
215
  }
290
216
  }
291
- function onCleanup(fn) {
292
- if (Owner === null) ;else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);
293
- return fn;
217
+ function he(t, e, i) {
218
+ const r = Array.isArray(t);
219
+ let o, M = i && i.defer;
220
+ return (n) => {
221
+ let l;
222
+ if (r) {
223
+ l = Array(t.length);
224
+ for (let s = 0; s < t.length; s++)
225
+ l[s] = t[s]();
226
+ } else
227
+ l = t();
228
+ if (M) {
229
+ M = !1;
230
+ return;
231
+ }
232
+ const c = Z(() => e(l, o, n));
233
+ return o = l, c;
234
+ };
294
235
  }
295
- function getListener() {
296
- return Listener;
236
+ function me(t) {
237
+ Kt(() => Z(t));
297
238
  }
298
- function createContext(defaultValue, options) {
299
- const id = Symbol("context");
300
- return {
301
- id,
302
- Provider: createProvider(id),
303
- defaultValue
304
- };
239
+ function Et(t) {
240
+ return y === null || (y.cleanups === null ? y.cleanups = [t] : y.cleanups.push(t)), t;
305
241
  }
306
- function useContext(context) {
307
- let ctx;
308
- return (ctx = lookup(Owner, context.id)) !== undefined ? ctx : context.defaultValue;
242
+ function zt() {
243
+ return b;
309
244
  }
310
- function children(fn) {
311
- const children = createMemo(fn);
312
- const memo = createMemo(() => resolveChildren(children()));
313
- memo.toArray = () => {
314
- const c = memo();
315
- return Array.isArray(c) ? c : c != null ? [c] : [];
245
+ function fe(t, e) {
246
+ const i = Symbol("context");
247
+ return {
248
+ id: i,
249
+ Provider: ve(i),
250
+ defaultValue: t
316
251
  };
317
- return memo;
318
- }
319
- function readSignal() {
320
- if (this.sources && (this.state)) {
321
- if ((this.state) === STALE) updateComputation(this);else {
322
- const updates = Updates;
323
- Updates = null;
324
- runUpdates(() => lookUpstream(this), false);
325
- Updates = updates;
326
- }
327
- }
328
- if (Listener) {
329
- const sSlot = this.observers ? this.observers.length : 0;
330
- if (!Listener.sources) {
331
- Listener.sources = [this];
332
- Listener.sourceSlots = [sSlot];
333
- } else {
334
- Listener.sources.push(this);
335
- Listener.sourceSlots.push(sSlot);
336
- }
337
- if (!this.observers) {
338
- this.observers = [Listener];
339
- this.observerSlots = [Listener.sources.length - 1];
340
- } else {
341
- this.observers.push(Listener);
342
- this.observerSlots.push(Listener.sources.length - 1);
252
+ }
253
+ function St(t) {
254
+ return y && y.context && y.context[t.id] !== void 0 ? y.context[t.id] : t.defaultValue;
255
+ }
256
+ function vt(t) {
257
+ const e = m(t), i = m(() => ht(e()));
258
+ return i.toArray = () => {
259
+ const r = i();
260
+ return Array.isArray(r) ? r : r != null ? [r] : [];
261
+ }, i;
262
+ }
263
+ function te() {
264
+ if (this.sources && this.state)
265
+ if (this.state === R)
266
+ $(this);
267
+ else {
268
+ const t = x;
269
+ x = null, _(() => ct(this), !1), x = t;
343
270
  }
271
+ if (b) {
272
+ const t = this.observers ? this.observers.length : 0;
273
+ b.sources ? (b.sources.push(this), b.sourceSlots.push(t)) : (b.sources = [this], b.sourceSlots = [t]), this.observers ? (this.observers.push(b), this.observerSlots.push(b.sources.length - 1)) : (this.observers = [b], this.observerSlots = [b.sources.length - 1]);
344
274
  }
345
275
  return this.value;
346
276
  }
347
- function writeSignal(node, value, isComp) {
348
- let current = node.value;
349
- if (!node.comparator || !node.comparator(current, value)) {
350
- node.value = value;
351
- if (node.observers && node.observers.length) {
352
- runUpdates(() => {
353
- for (let i = 0; i < node.observers.length; i += 1) {
354
- const o = node.observers[i];
355
- const TransitionRunning = Transition && Transition.running;
356
- if (TransitionRunning && Transition.disposed.has(o)) ;
357
- if (TransitionRunning ? !o.tState : !o.state) {
358
- if (o.pure) Updates.push(o);else Effects.push(o);
359
- if (o.observers) markDownstream(o);
360
- }
361
- if (!TransitionRunning) o.state = STALE;
362
- }
363
- if (Updates.length > 10e5) {
364
- Updates = [];
365
- if (false) ;
366
- throw new Error();
367
- }
368
- }, false);
277
+ function ee(t, e, i) {
278
+ let r = t.value;
279
+ return (!t.comparator || !t.comparator(r, e)) && (t.value = e, t.observers && t.observers.length && _(() => {
280
+ for (let o = 0; o < t.observers.length; o += 1) {
281
+ const M = t.observers[o], n = Tt && Tt.running;
282
+ n && Tt.disposed.has(M), (n ? !M.tState : !M.state) && (M.pure ? x.push(M) : P.push(M), M.observers && re(M)), n || (M.state = R);
369
283
  }
370
- }
371
- return value;
372
- }
373
- function updateComputation(node) {
374
- if (!node.fn) return;
375
- cleanNode(node);
376
- const owner = Owner,
377
- listener = Listener,
378
- time = ExecCount;
379
- Listener = Owner = node;
380
- runComputation(node, node.value, time);
381
- Listener = listener;
382
- Owner = owner;
383
- }
384
- function runComputation(node, value, time) {
385
- let nextValue;
284
+ if (x.length > 1e6)
285
+ throw x = [], new Error();
286
+ }, !1)), e;
287
+ }
288
+ function $(t) {
289
+ if (!t.fn)
290
+ return;
291
+ yt(t);
292
+ const e = y, i = b, r = jt;
293
+ b = y = t, pe(t, t.value, r), b = i, y = e;
294
+ }
295
+ function pe(t, e, i) {
296
+ let r;
386
297
  try {
387
- nextValue = node.fn(value);
388
- } catch (err) {
389
- if (node.pure) {
390
- {
391
- node.state = STALE;
392
- node.owned && node.owned.forEach(cleanNode);
393
- node.owned = null;
394
- }
395
- }
396
- node.updatedAt = time + 1;
397
- return handleError(err);
398
- }
399
- if (!node.updatedAt || node.updatedAt <= time) {
400
- if (node.updatedAt != null && "observers" in node) {
401
- writeSignal(node, nextValue);
402
- } else node.value = nextValue;
403
- node.updatedAt = time;
298
+ r = t.fn(e);
299
+ } catch (o) {
300
+ return t.pure && (t.state = R, t.owned && t.owned.forEach(yt), t.owned = null), t.updatedAt = i + 1, oe(o);
404
301
  }
302
+ (!t.updatedAt || t.updatedAt <= i) && (t.updatedAt != null && "observers" in t ? ee(t, r) : t.value = r, t.updatedAt = i);
405
303
  }
406
- function createComputation(fn, init, pure, state = STALE, options) {
407
- const c = {
408
- fn,
409
- state: state,
304
+ function It(t, e, i, r = R, o) {
305
+ const M = {
306
+ fn: t,
307
+ state: r,
410
308
  updatedAt: null,
411
309
  owned: null,
412
310
  sources: null,
413
311
  sourceSlots: null,
414
312
  cleanups: null,
415
- value: init,
416
- owner: Owner,
417
- context: null,
418
- pure
313
+ value: e,
314
+ owner: y,
315
+ context: y ? y.context : null,
316
+ pure: i
419
317
  };
420
- if (Owner === null) ;else if (Owner !== UNOWNED) {
421
- {
422
- if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);
318
+ return y === null || y !== _t && (y.owned ? y.owned.push(M) : y.owned = [M]), M;
319
+ }
320
+ function at(t) {
321
+ if (t.state === 0)
322
+ return;
323
+ if (t.state === lt)
324
+ return ct(t);
325
+ if (t.suspense && Z(t.suspense.inFallback))
326
+ return t.suspense.effects.push(t);
327
+ const e = [t];
328
+ for (; (t = t.owner) && (!t.updatedAt || t.updatedAt < jt); )
329
+ t.state && e.push(t);
330
+ for (let i = e.length - 1; i >= 0; i--)
331
+ if (t = e[i], t.state === R)
332
+ $(t);
333
+ else if (t.state === lt) {
334
+ const r = x;
335
+ x = null, _(() => ct(t, e[0]), !1), x = r;
423
336
  }
424
- }
425
- return c;
426
- }
427
- function runTop(node) {
428
- if ((node.state) === 0) return;
429
- if ((node.state) === PENDING) return lookUpstream(node);
430
- if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);
431
- const ancestors = [node];
432
- while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
433
- if (node.state) ancestors.push(node);
434
- }
435
- for (let i = ancestors.length - 1; i >= 0; i--) {
436
- node = ancestors[i];
437
- if ((node.state) === STALE) {
438
- updateComputation(node);
439
- } else if ((node.state) === PENDING) {
440
- const updates = Updates;
441
- Updates = null;
442
- runUpdates(() => lookUpstream(node, ancestors[0]), false);
443
- Updates = updates;
444
- }
445
- }
446
337
  }
447
- function runUpdates(fn, init) {
448
- if (Updates) return fn();
449
- let wait = false;
450
- if (!init) Updates = [];
451
- if (Effects) wait = true;else Effects = [];
452
- ExecCount++;
338
+ function _(t, e) {
339
+ if (x)
340
+ return t();
341
+ let i = !1;
342
+ e || (x = []), P ? i = !0 : P = [], jt++;
453
343
  try {
454
- const res = fn();
455
- completeUpdates(wait);
456
- return res;
457
- } catch (err) {
458
- if (!wait) Effects = null;
459
- Updates = null;
460
- handleError(err);
344
+ const r = t();
345
+ return Ce(i), r;
346
+ } catch (r) {
347
+ i || (P = null), x = null, oe(r);
461
348
  }
462
349
  }
463
- function completeUpdates(wait) {
464
- if (Updates) {
465
- runQueue(Updates);
466
- Updates = null;
350
+ function Ce(t) {
351
+ if (x && (ie(x), x = null), t)
352
+ return;
353
+ const e = P;
354
+ P = null, e.length && _(() => $t(e), !1);
355
+ }
356
+ function ie(t) {
357
+ for (let e = 0; e < t.length; e++)
358
+ at(t[e]);
359
+ }
360
+ function Ee(t) {
361
+ let e, i = 0;
362
+ for (e = 0; e < t.length; e++) {
363
+ const r = t[e];
364
+ r.user ? t[i++] = r : at(r);
467
365
  }
468
- if (wait) return;
469
- const e = Effects;
470
- Effects = null;
471
- if (e.length) runUpdates(() => runEffects(e), false);
472
- }
473
- function runQueue(queue) {
474
- for (let i = 0; i < queue.length; i++) runTop(queue[i]);
475
- }
476
- function lookUpstream(node, ignore) {
477
- node.state = 0;
478
- for (let i = 0; i < node.sources.length; i += 1) {
479
- const source = node.sources[i];
480
- if (source.sources) {
481
- const state = source.state;
482
- if (state === STALE) {
483
- if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);
484
- } else if (state === PENDING) lookUpstream(source, ignore);
366
+ for (e = 0; e < i; e++)
367
+ at(t[e]);
368
+ }
369
+ function ct(t, e) {
370
+ t.state = 0;
371
+ for (let i = 0; i < t.sources.length; i += 1) {
372
+ const r = t.sources[i];
373
+ if (r.sources) {
374
+ const o = r.state;
375
+ o === R ? r !== e && (!r.updatedAt || r.updatedAt < jt) && at(r) : o === lt && ct(r, e);
485
376
  }
486
377
  }
487
378
  }
488
- function markDownstream(node) {
489
- for (let i = 0; i < node.observers.length; i += 1) {
490
- const o = node.observers[i];
491
- if (!o.state) {
492
- o.state = PENDING;
493
- if (o.pure) Updates.push(o);else Effects.push(o);
494
- o.observers && markDownstream(o);
495
- }
379
+ function re(t) {
380
+ for (let e = 0; e < t.observers.length; e += 1) {
381
+ const i = t.observers[e];
382
+ i.state || (i.state = lt, i.pure ? x.push(i) : P.push(i), i.observers && re(i));
496
383
  }
497
384
  }
498
- function cleanNode(node) {
499
- let i;
500
- if (node.sources) {
501
- while (node.sources.length) {
502
- const source = node.sources.pop(),
503
- index = node.sourceSlots.pop(),
504
- obs = source.observers;
505
- if (obs && obs.length) {
506
- const n = obs.pop(),
507
- s = source.observerSlots.pop();
508
- if (index < obs.length) {
509
- n.sourceSlots[s] = index;
510
- obs[index] = n;
511
- source.observerSlots[index] = s;
512
- }
385
+ function yt(t) {
386
+ let e;
387
+ if (t.sources)
388
+ for (; t.sources.length; ) {
389
+ const i = t.sources.pop(), r = t.sourceSlots.pop(), o = i.observers;
390
+ if (o && o.length) {
391
+ const M = o.pop(), n = i.observerSlots.pop();
392
+ r < o.length && (M.sourceSlots[n] = r, o[r] = M, i.observerSlots[r] = n);
513
393
  }
514
394
  }
395
+ if (t.owned) {
396
+ for (e = t.owned.length - 1; e >= 0; e--)
397
+ yt(t.owned[e]);
398
+ t.owned = null;
515
399
  }
516
- if (node.owned) {
517
- for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
518
- node.owned = null;
400
+ if (t.cleanups) {
401
+ for (e = t.cleanups.length - 1; e >= 0; e--)
402
+ t.cleanups[e]();
403
+ t.cleanups = null;
519
404
  }
520
- if (node.cleanups) {
521
- for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
522
- node.cleanups = null;
523
- }
524
- node.state = 0;
525
- node.context = null;
526
- }
527
- function handleError(err) {
528
- throw err;
529
- }
530
- function lookup(owner, key) {
531
- return owner ? owner.context && owner.context[key] !== undefined ? owner.context[key] : lookup(owner.owner, key) : undefined;
532
- }
533
- function resolveChildren(children) {
534
- if (typeof children === "function" && !children.length) return resolveChildren(children());
535
- if (Array.isArray(children)) {
536
- const results = [];
537
- for (let i = 0; i < children.length; i++) {
538
- const result = resolveChildren(children[i]);
539
- Array.isArray(result) ? results.push.apply(results, result) : results.push(result);
405
+ t.state = 0;
406
+ }
407
+ function Se(t) {
408
+ return t instanceof Error ? t : new Error(typeof t == "string" ? t : "Unknown error", {
409
+ cause: t
410
+ });
411
+ }
412
+ function oe(t, e = y) {
413
+ throw Se(t);
414
+ }
415
+ function ht(t) {
416
+ if (typeof t == "function" && !t.length)
417
+ return ht(t());
418
+ if (Array.isArray(t)) {
419
+ const e = [];
420
+ for (let i = 0; i < t.length; i++) {
421
+ const r = ht(t[i]);
422
+ Array.isArray(r) ? e.push.apply(e, r) : e.push(r);
540
423
  }
541
- return results;
424
+ return e;
542
425
  }
543
- return children;
544
- }
545
- function createProvider(id, options) {
546
- return function provider(props) {
547
- let res;
548
- createRenderEffect(() => res = untrack(() => {
549
- Owner.context = {
550
- [id]: props.value
551
- };
552
- return children(() => props.children);
553
- }), undefined);
554
- return res;
426
+ return t;
427
+ }
428
+ function ve(t, e) {
429
+ return function(r) {
430
+ let o;
431
+ return h(() => o = Z(() => (y.context = {
432
+ ...y.context,
433
+ [t]: r.value
434
+ }, vt(() => r.children))), void 0), o;
555
435
  };
556
436
  }
557
-
558
- const FALLBACK = Symbol("fallback");
559
- function dispose(d) {
560
- for (let i = 0; i < d.length; i++) d[i]();
561
- }
562
- function mapArray(list, mapFn, options = {}) {
563
- let items = [],
564
- mapped = [],
565
- disposers = [],
566
- len = 0,
567
- indexes = mapFn.length > 1 ? [] : null;
568
- onCleanup(() => dispose(disposers));
569
- return () => {
570
- let newItems = list() || [],
571
- i,
572
- j;
573
- newItems[$TRACK];
574
- return untrack(() => {
575
- let newLen = newItems.length,
576
- newIndices,
577
- newIndicesNext,
578
- temp,
579
- tempdisposers,
580
- tempIndexes,
581
- start,
582
- end,
583
- newEnd,
584
- item;
585
- if (newLen === 0) {
586
- if (len !== 0) {
587
- dispose(disposers);
588
- disposers = [];
589
- items = [];
590
- mapped = [];
591
- len = 0;
592
- indexes && (indexes = []);
593
- }
594
- if (options.fallback) {
595
- items = [FALLBACK];
596
- mapped[0] = createRoot(disposer => {
597
- disposers[0] = disposer;
598
- return options.fallback();
599
- });
600
- len = 1;
601
- }
602
- }
603
- else if (len === 0) {
604
- mapped = new Array(newLen);
605
- for (j = 0; j < newLen; j++) {
606
- items[j] = newItems[j];
607
- mapped[j] = createRoot(mapper);
608
- }
609
- len = newLen;
437
+ const Oe = Symbol("fallback");
438
+ function Qt(t) {
439
+ for (let e = 0; e < t.length; e++)
440
+ t[e]();
441
+ }
442
+ function ke(t, e, i = {}) {
443
+ let r = [], o = [], M = [], n = 0, l = e.length > 1 ? [] : null;
444
+ return Et(() => Qt(M)), () => {
445
+ let c = t() || [], s, a;
446
+ return c[xt], Z(() => {
447
+ let g = c.length, d, f, p, S, W, v, O, E, C;
448
+ if (g === 0)
449
+ n !== 0 && (Qt(M), M = [], r = [], o = [], n = 0, l && (l = [])), i.fallback && (r = [Oe], o[0] = Mt((wt) => (M[0] = wt, i.fallback())), n = 1);
450
+ else if (n === 0) {
451
+ for (o = new Array(g), a = 0; a < g; a++)
452
+ r[a] = c[a], o[a] = Mt(u);
453
+ n = g;
610
454
  } else {
611
- temp = new Array(newLen);
612
- tempdisposers = new Array(newLen);
613
- indexes && (tempIndexes = new Array(newLen));
614
- for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);
615
- for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {
616
- temp[newEnd] = mapped[end];
617
- tempdisposers[newEnd] = disposers[end];
618
- indexes && (tempIndexes[newEnd] = indexes[end]);
619
- }
620
- newIndices = new Map();
621
- newIndicesNext = new Array(newEnd + 1);
622
- for (j = newEnd; j >= start; j--) {
623
- item = newItems[j];
624
- i = newIndices.get(item);
625
- newIndicesNext[j] = i === undefined ? -1 : i;
626
- newIndices.set(item, j);
627
- }
628
- for (i = start; i <= end; i++) {
629
- item = items[i];
630
- j = newIndices.get(item);
631
- if (j !== undefined && j !== -1) {
632
- temp[j] = mapped[i];
633
- tempdisposers[j] = disposers[i];
634
- indexes && (tempIndexes[j] = indexes[i]);
635
- j = newIndicesNext[j];
636
- newIndices.set(item, j);
637
- } else disposers[i]();
638
- }
639
- for (j = start; j < newLen; j++) {
640
- if (j in temp) {
641
- mapped[j] = temp[j];
642
- disposers[j] = tempdisposers[j];
643
- if (indexes) {
644
- indexes[j] = tempIndexes[j];
645
- indexes[j](j);
646
- }
647
- } else mapped[j] = createRoot(mapper);
648
- }
649
- mapped = mapped.slice(0, len = newLen);
650
- items = newItems.slice(0);
455
+ for (p = new Array(g), S = new Array(g), l && (W = new Array(g)), v = 0, O = Math.min(n, g); v < O && r[v] === c[v]; v++)
456
+ ;
457
+ for (O = n - 1, E = g - 1; O >= v && E >= v && r[O] === c[E]; O--, E--)
458
+ p[E] = o[O], S[E] = M[O], l && (W[E] = l[O]);
459
+ for (d = /* @__PURE__ */ new Map(), f = new Array(E + 1), a = E; a >= v; a--)
460
+ C = c[a], s = d.get(C), f[a] = s === void 0 ? -1 : s, d.set(C, a);
461
+ for (s = v; s <= O; s++)
462
+ C = r[s], a = d.get(C), a !== void 0 && a !== -1 ? (p[a] = o[s], S[a] = M[s], l && (W[a] = l[s]), a = f[a], d.set(C, a)) : M[s]();
463
+ for (a = v; a < g; a++)
464
+ a in p ? (o[a] = p[a], M[a] = S[a], l && (l[a] = W[a], l[a](a))) : o[a] = Mt(u);
465
+ o = o.slice(0, n = g), r = c.slice(0);
651
466
  }
652
- return mapped;
467
+ return o;
653
468
  });
654
- function mapper(disposer) {
655
- disposers[j] = disposer;
656
- if (indexes) {
657
- const [s, set] = createSignal(j);
658
- indexes[j] = set;
659
- return mapFn(newItems[j], s);
469
+ function u(g) {
470
+ if (M[a] = g, l) {
471
+ const [d, f] = J(a);
472
+ return l[a] = f, e(c[a], d);
660
473
  }
661
- return mapFn(newItems[j]);
474
+ return e(c[a]);
662
475
  }
663
476
  };
664
477
  }
665
- function createComponent(Comp, props) {
666
- return untrack(() => Comp(props || {}));
478
+ function A(t, e) {
479
+ return Z(() => t(e || {}));
667
480
  }
668
- function trueFn() {
669
- return true;
481
+ function rt() {
482
+ return !0;
670
483
  }
671
- const propTraps = {
672
- get(_, property, receiver) {
673
- if (property === $PROXY) return receiver;
674
- return _.get(property);
484
+ const mt = {
485
+ get(t, e, i) {
486
+ return e === U ? i : t.get(e);
675
487
  },
676
- has(_, property) {
677
- if (property === $PROXY) return true;
678
- return _.has(property);
488
+ has(t, e) {
489
+ return e === U ? !0 : t.has(e);
679
490
  },
680
- set: trueFn,
681
- deleteProperty: trueFn,
682
- getOwnPropertyDescriptor(_, property) {
491
+ set: rt,
492
+ deleteProperty: rt,
493
+ getOwnPropertyDescriptor(t, e) {
683
494
  return {
684
- configurable: true,
685
- enumerable: true,
495
+ configurable: !0,
496
+ enumerable: !0,
686
497
  get() {
687
- return _.get(property);
498
+ return t.get(e);
688
499
  },
689
- set: trueFn,
690
- deleteProperty: trueFn
500
+ set: rt,
501
+ deleteProperty: rt
691
502
  };
692
503
  },
693
- ownKeys(_) {
694
- return _.keys();
504
+ ownKeys(t) {
505
+ return t.keys();
695
506
  }
696
507
  };
697
- function resolveSource(s) {
698
- return !(s = typeof s === "function" ? s() : s) ? {} : s;
699
- }
700
- function resolveSources() {
701
- for (let i = 0, length = this.length; i < length; ++i) {
702
- const v = this[i]();
703
- if (v !== undefined) return v;
508
+ function At(t) {
509
+ return (t = typeof t == "function" ? t() : t) ? t : {};
510
+ }
511
+ function Ye() {
512
+ for (let t = 0, e = this.length; t < e; ++t) {
513
+ const i = this[t]();
514
+ if (i !== void 0)
515
+ return i;
704
516
  }
705
517
  }
706
- function mergeProps(...sources) {
707
- let proxy = false;
708
- for (let i = 0; i < sources.length; i++) {
709
- const s = sources[i];
710
- proxy = proxy || !!s && $PROXY in s;
711
- sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
518
+ function Qe(...t) {
519
+ let e = !1;
520
+ for (let M = 0; M < t.length; M++) {
521
+ const n = t[M];
522
+ e = e || !!n && U in n, t[M] = typeof n == "function" ? (e = !0, m(n)) : n;
712
523
  }
713
- if (proxy) {
524
+ if (e)
714
525
  return new Proxy({
715
- get(property) {
716
- for (let i = sources.length - 1; i >= 0; i--) {
717
- const v = resolveSource(sources[i])[property];
718
- if (v !== undefined) return v;
526
+ get(M) {
527
+ for (let n = t.length - 1; n >= 0; n--) {
528
+ const l = At(t[n])[M];
529
+ if (l !== void 0)
530
+ return l;
719
531
  }
720
532
  },
721
- has(property) {
722
- for (let i = sources.length - 1; i >= 0; i--) {
723
- if (property in resolveSource(sources[i])) return true;
724
- }
725
- return false;
533
+ has(M) {
534
+ for (let n = t.length - 1; n >= 0; n--)
535
+ if (M in At(t[n]))
536
+ return !0;
537
+ return !1;
726
538
  },
727
539
  keys() {
728
- const keys = [];
729
- for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));
730
- return [...new Set(keys)];
540
+ const M = [];
541
+ for (let n = 0; n < t.length; n++)
542
+ M.push(...Object.keys(At(t[n])));
543
+ return [...new Set(M)];
731
544
  }
732
- }, propTraps);
733
- }
734
- const target = {};
735
- const sourcesMap = {};
736
- let someNonTargetKey = false;
737
- for (let i = sources.length - 1; i >= 0; i--) {
738
- const source = sources[i];
739
- if (!source) continue;
740
- const sourceKeys = Object.getOwnPropertyNames(source);
741
- someNonTargetKey = someNonTargetKey || i !== 0 && !!sourceKeys.length;
742
- for (let i = 0, length = sourceKeys.length; i < length; i++) {
743
- const key = sourceKeys[i];
744
- if (key === "__proto__" || key === "constructor") {
545
+ }, mt);
546
+ const i = {}, r = {}, o = /* @__PURE__ */ new Set();
547
+ for (let M = t.length - 1; M >= 0; M--) {
548
+ const n = t[M];
549
+ if (!n)
550
+ continue;
551
+ const l = Object.getOwnPropertyNames(n);
552
+ for (let c = 0, s = l.length; c < s; c++) {
553
+ const a = l[c];
554
+ if (a === "__proto__" || a === "constructor")
745
555
  continue;
746
- } else if (!(key in target)) {
747
- const desc = Object.getOwnPropertyDescriptor(source, key);
748
- if (desc.get) {
749
- Object.defineProperty(target, key, {
750
- enumerable: true,
751
- configurable: true,
752
- get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
753
- });
754
- } else target[key] = desc.value;
755
- } else {
756
- const sources = sourcesMap[key];
757
- const desc = Object.getOwnPropertyDescriptor(source, key);
758
- if (sources) {
759
- if (desc.get) {
760
- sources.push(desc.get.bind(source));
761
- } else if (desc.value !== undefined) {
762
- sources.push(() => desc.value);
763
- }
764
- } else if (target[key] === undefined) target[key] = desc.value;
556
+ const u = Object.getOwnPropertyDescriptor(n, a);
557
+ if (!o.has(a))
558
+ u.get ? (o.add(a), Object.defineProperty(i, a, {
559
+ enumerable: !0,
560
+ configurable: !0,
561
+ get: Ye.bind(r[a] = [u.get.bind(n)])
562
+ })) : (u.value !== void 0 && o.add(a), i[a] = u.value);
563
+ else {
564
+ const g = r[a];
565
+ g ? u.get ? g.push(u.get.bind(n)) : u.value !== void 0 && g.push(() => u.value) : i[a] === void 0 && (i[a] = u.value);
765
566
  }
766
567
  }
767
568
  }
768
- return target;
769
- }
770
- function splitProps(props, ...keys) {
771
- if ($PROXY in props) {
772
- const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
773
- const res = keys.map(k => {
774
- return new Proxy({
775
- get(property) {
776
- return k.includes(property) ? props[property] : undefined;
777
- },
778
- has(property) {
779
- return k.includes(property) && property in props;
780
- },
781
- keys() {
782
- return k.filter(property => property in props);
783
- }
784
- }, propTraps);
785
- });
786
- res.push(new Proxy({
787
- get(property) {
788
- return blocked.has(property) ? undefined : props[property];
569
+ return i;
570
+ }
571
+ function Ue(t, ...e) {
572
+ if (U in t) {
573
+ const o = new Set(e.length > 1 ? e.flat() : e[0]), M = e.map((n) => new Proxy({
574
+ get(l) {
575
+ return n.includes(l) ? t[l] : void 0;
789
576
  },
790
- has(property) {
791
- return blocked.has(property) ? false : property in props;
577
+ has(l) {
578
+ return n.includes(l) && l in t;
792
579
  },
793
580
  keys() {
794
- return Object.keys(props).filter(k => !blocked.has(k));
581
+ return n.filter((l) => l in t);
795
582
  }
796
- }, propTraps));
797
- return res;
798
- }
799
- const otherObject = {};
800
- const objects = keys.map(() => ({}));
801
- for (const propName of Object.getOwnPropertyNames(props)) {
802
- const desc = Object.getOwnPropertyDescriptor(props, propName);
803
- const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;
804
- let blocked = false;
805
- let objectIndex = 0;
806
- for (const k of keys) {
807
- if (k.includes(propName)) {
808
- blocked = true;
809
- isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);
583
+ }, mt));
584
+ return M.push(new Proxy({
585
+ get(n) {
586
+ return o.has(n) ? void 0 : t[n];
587
+ },
588
+ has(n) {
589
+ return o.has(n) ? !1 : n in t;
590
+ },
591
+ keys() {
592
+ return Object.keys(t).filter((n) => !o.has(n));
810
593
  }
811
- ++objectIndex;
812
- }
813
- if (!blocked) {
814
- isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);
815
- }
594
+ }, mt)), M;
595
+ }
596
+ const i = {}, r = e.map(() => ({}));
597
+ for (const o of Object.getOwnPropertyNames(t)) {
598
+ const M = Object.getOwnPropertyDescriptor(t, o), n = !M.get && !M.set && M.enumerable && M.writable && M.configurable;
599
+ let l = !1, c = 0;
600
+ for (const s of e)
601
+ s.includes(o) && (l = !0, n ? r[c][o] = M.value : Object.defineProperty(r[c], o, M)), ++c;
602
+ l || (n ? i[o] = M.value : Object.defineProperty(i, o, M));
816
603
  }
817
- return [...objects, otherObject];
604
+ return [...r, i];
818
605
  }
819
- function For(props) {
820
- const fallback = "fallback" in props && {
821
- fallback: () => props.fallback
606
+ const Ze = (t) => `Stale read from <${t}>.`;
607
+ function Me(t) {
608
+ const e = "fallback" in t && {
609
+ fallback: () => t.fallback
822
610
  };
823
- return createMemo(mapArray(() => props.each, props.children, fallback || undefined));
824
- }
825
-
826
- const booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"];
827
- const Properties = /*#__PURE__*/new Set(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]);
828
- const ChildProperties = /*#__PURE__*/new Set(["innerHTML", "textContent", "innerText", "children"]);
829
- const Aliases = /*#__PURE__*/Object.assign(Object.create(null), {
611
+ return m(ke(() => t.each, t.children, e || void 0));
612
+ }
613
+ function We(t) {
614
+ let e = !1;
615
+ const i = (M, n) => M[0] === n[0] && (e ? M[1] === n[1] : !M[1] == !n[1]) && M[2] === n[2], r = vt(() => t.children), o = m(() => {
616
+ let M = r();
617
+ Array.isArray(M) || (M = [M]);
618
+ for (let n = 0; n < M.length; n++) {
619
+ const l = M[n].when;
620
+ if (l)
621
+ return e = !!M[n].keyed, [n, l, M[n]];
622
+ }
623
+ return [-1];
624
+ }, void 0, {
625
+ equals: i
626
+ });
627
+ return m(() => {
628
+ const [M, n, l] = o();
629
+ if (M < 0)
630
+ return t.fallback;
631
+ const c = l.children;
632
+ return typeof c == "function" && c.length > 0 ? Z(() => c(e ? n : () => {
633
+ if (Z(o)[0] !== M)
634
+ throw Ze("Match");
635
+ return l.when;
636
+ })) : c;
637
+ }, void 0, void 0);
638
+ }
639
+ function Ut(t) {
640
+ return t;
641
+ }
642
+ const Ge = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"], Pe = /* @__PURE__ */ new Set(["className", "value", "readOnly", "formNoValidate", "isMap", "noModule", "playsInline", ...Ge]), Re = /* @__PURE__ */ new Set(["innerHTML", "textContent", "innerText", "children"]), Be = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
830
643
  className: "class",
831
644
  htmlFor: "for"
832
- });
833
- const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
645
+ }), Ve = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
834
646
  class: "className",
835
647
  formnovalidate: {
836
648
  $: "formNoValidate",
@@ -855,1108 +667,1207 @@ const PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {
855
667
  TEXTAREA: 1
856
668
  }
857
669
  });
858
- function getPropAlias(prop, tagName) {
859
- const a = PropAliases[prop];
860
- return typeof a === "object" ? a[tagName] ? a["$"] : undefined : a;
670
+ function Je(t, e) {
671
+ const i = Ve[t];
672
+ return typeof i == "object" ? i[e] ? i.$ : void 0 : i;
861
673
  }
862
- const DelegatedEvents = /*#__PURE__*/new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]);
863
- const SVGNamespace = {
674
+ const He = /* @__PURE__ */ new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]), Fe = {
864
675
  xlink: "http://www.w3.org/1999/xlink",
865
676
  xml: "http://www.w3.org/XML/1998/namespace"
866
677
  };
867
-
868
- function reconcileArrays(parentNode, a, b) {
869
- let bLength = b.length,
870
- aEnd = a.length,
871
- bEnd = bLength,
872
- aStart = 0,
873
- bStart = 0,
874
- after = a[aEnd - 1].nextSibling,
875
- map = null;
876
- while (aStart < aEnd || bStart < bEnd) {
877
- if (a[aStart] === b[bStart]) {
878
- aStart++;
879
- bStart++;
678
+ function Xe(t, e, i) {
679
+ let r = i.length, o = e.length, M = r, n = 0, l = 0, c = e[o - 1].nextSibling, s = null;
680
+ for (; n < o || l < M; ) {
681
+ if (e[n] === i[l]) {
682
+ n++, l++;
880
683
  continue;
881
684
  }
882
- while (a[aEnd - 1] === b[bEnd - 1]) {
883
- aEnd--;
884
- bEnd--;
885
- }
886
- if (aEnd === aStart) {
887
- const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
888
- while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
889
- } else if (bEnd === bStart) {
890
- while (aStart < aEnd) {
891
- if (!map || !map.has(a[aStart])) a[aStart].remove();
892
- aStart++;
893
- }
894
- } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {
895
- const node = a[--aEnd].nextSibling;
896
- parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);
897
- parentNode.insertBefore(b[--bEnd], node);
898
- a[aEnd] = b[bEnd];
685
+ for (; e[o - 1] === i[M - 1]; )
686
+ o--, M--;
687
+ if (o === n) {
688
+ const a = M < r ? l ? i[l - 1].nextSibling : i[M - l] : c;
689
+ for (; l < M; )
690
+ t.insertBefore(i[l++], a);
691
+ } else if (M === l)
692
+ for (; n < o; )
693
+ (!s || !s.has(e[n])) && e[n].remove(), n++;
694
+ else if (e[n] === i[M - 1] && i[l] === e[o - 1]) {
695
+ const a = e[--o].nextSibling;
696
+ t.insertBefore(i[l++], e[n++].nextSibling), t.insertBefore(i[--M], a), e[o] = i[M];
899
697
  } else {
900
- if (!map) {
901
- map = new Map();
902
- let i = bStart;
903
- while (i < bEnd) map.set(b[i], i++);
698
+ if (!s) {
699
+ s = /* @__PURE__ */ new Map();
700
+ let u = l;
701
+ for (; u < M; )
702
+ s.set(i[u], u++);
904
703
  }
905
- const index = map.get(a[aStart]);
906
- if (index != null) {
907
- if (bStart < index && index < bEnd) {
908
- let i = aStart,
909
- sequence = 1,
910
- t;
911
- while (++i < aEnd && i < bEnd) {
912
- if ((t = map.get(a[i])) == null || t !== index + sequence) break;
913
- sequence++;
914
- }
915
- if (sequence > index - bStart) {
916
- const node = a[aStart];
917
- while (bStart < index) parentNode.insertBefore(b[bStart++], node);
918
- } else parentNode.replaceChild(b[bStart++], a[aStart++]);
919
- } else aStart++;
920
- } else a[aStart++].remove();
704
+ const a = s.get(e[n]);
705
+ if (a != null)
706
+ if (l < a && a < M) {
707
+ let u = n, g = 1, d;
708
+ for (; ++u < o && u < M && !((d = s.get(e[u])) == null || d !== a + g); )
709
+ g++;
710
+ if (g > a - l) {
711
+ const f = e[n];
712
+ for (; l < a; )
713
+ t.insertBefore(i[l++], f);
714
+ } else
715
+ t.replaceChild(i[l++], e[n++]);
716
+ } else
717
+ n++;
718
+ else
719
+ e[n++].remove();
921
720
  }
922
721
  }
923
722
  }
924
-
925
- const $$EVENTS = "_$DX_DELEGATE";
926
- function template(html, isCE, isSVG) {
927
- let node;
928
- const create = () => {
929
- const t = document.createElement("template");
930
- t.innerHTML = html;
931
- return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;
932
- };
933
- const fn = isCE ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
934
- fn.cloneNode = fn;
935
- return fn;
936
- }
937
- function delegateEvents(eventNames, document = window.document) {
938
- const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());
939
- for (let i = 0, l = eventNames.length; i < l; i++) {
940
- const name = eventNames[i];
941
- if (!e.has(name)) {
942
- e.add(name);
943
- document.addEventListener(name, eventHandler);
944
- }
723
+ const Zt = "_$DX_DELEGATE";
724
+ function Y(t, e, i) {
725
+ let r;
726
+ const o = () => {
727
+ const n = document.createElement("template");
728
+ return n.innerHTML = t, i ? n.content.firstChild.firstChild : n.content.firstChild;
729
+ }, M = e ? () => Z(() => document.importNode(r || (r = o()), !0)) : () => (r || (r = o())).cloneNode(!0);
730
+ return M.cloneNode = M, M;
731
+ }
732
+ function Dt(t, e = window.document) {
733
+ const i = e[Zt] || (e[Zt] = /* @__PURE__ */ new Set());
734
+ for (let r = 0, o = t.length; r < o; r++) {
735
+ const M = t[r];
736
+ i.has(M) || (i.add(M), e.addEventListener(M, ei));
945
737
  }
946
738
  }
947
- function setAttribute(node, name, value) {
948
- if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);
949
- }
950
- function setAttributeNS(node, namespace, name, value) {
951
- if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);
952
- }
953
- function className(node, value) {
954
- if (value == null) node.removeAttribute("class");else node.className = value;
955
- }
956
- function addEventListener(node, name, handler, delegate) {
957
- if (delegate) {
958
- if (Array.isArray(handler)) {
959
- node[`$$${name}`] = handler[0];
960
- node[`$$${name}Data`] = handler[1];
961
- } else node[`$$${name}`] = handler;
962
- } else if (Array.isArray(handler)) {
963
- const handlerFn = handler[0];
964
- node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));
965
- } else node.addEventListener(name, handler);
966
- }
967
- function classList(node, value, prev = {}) {
968
- const classKeys = Object.keys(value || {}),
969
- prevKeys = Object.keys(prev);
970
- let i, len;
971
- for (i = 0, len = prevKeys.length; i < len; i++) {
972
- const key = prevKeys[i];
973
- if (!key || key === "undefined" || value[key]) continue;
974
- toggleClassKey(node, key, false);
975
- delete prev[key];
976
- }
977
- for (i = 0, len = classKeys.length; i < len; i++) {
978
- const key = classKeys[i],
979
- classValue = !!value[key];
980
- if (!key || key === "undefined" || prev[key] === classValue || !classValue) continue;
981
- toggleClassKey(node, key, true);
982
- prev[key] = classValue;
739
+ function z(t, e, i) {
740
+ i == null ? t.removeAttribute(e) : t.setAttribute(e, i);
741
+ }
742
+ function $e(t, e, i, r) {
743
+ r == null ? t.removeAttributeNS(e, i) : t.setAttributeNS(e, i, r);
744
+ }
745
+ function st(t, e) {
746
+ e == null ? t.removeAttribute("class") : t.className = e;
747
+ }
748
+ function _e(t, e, i, r) {
749
+ if (r)
750
+ Array.isArray(i) ? (t[`$$${e}`] = i[0], t[`$$${e}Data`] = i[1]) : t[`$$${e}`] = i;
751
+ else if (Array.isArray(i)) {
752
+ const o = i[0];
753
+ t.addEventListener(e, i[0] = (M) => o.call(t, i[1], M));
754
+ } else
755
+ t.addEventListener(e, i);
756
+ }
757
+ function Ot(t, e, i = {}) {
758
+ const r = Object.keys(e || {}), o = Object.keys(i);
759
+ let M, n;
760
+ for (M = 0, n = o.length; M < n; M++) {
761
+ const l = o[M];
762
+ !l || l === "undefined" || e[l] || (Wt(t, l, !1), delete i[l]);
983
763
  }
984
- return prev;
985
- }
986
- function style(node, value, prev) {
987
- if (!value) return prev ? setAttribute(node, "style") : value;
988
- const nodeStyle = node.style;
989
- if (typeof value === "string") return nodeStyle.cssText = value;
990
- typeof prev === "string" && (nodeStyle.cssText = prev = undefined);
991
- prev || (prev = {});
992
- value || (value = {});
993
- let v, s;
994
- for (s in prev) {
995
- value[s] == null && nodeStyle.removeProperty(s);
996
- delete prev[s];
764
+ for (M = 0, n = r.length; M < n; M++) {
765
+ const l = r[M], c = !!e[l];
766
+ !l || l === "undefined" || i[l] === c || !c || (Wt(t, l, !0), i[l] = c);
997
767
  }
998
- for (s in value) {
999
- v = value[s];
1000
- if (v !== prev[s]) {
1001
- nodeStyle.setProperty(s, v);
1002
- prev[s] = v;
1003
- }
1004
- }
1005
- return prev;
1006
- }
1007
- function spread(node, props = {}, isSVG, skipChildren) {
1008
- const prevProps = {};
1009
- if (!skipChildren) {
1010
- createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
1011
- }
1012
- createRenderEffect(() => props.ref && props.ref(node));
1013
- createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));
1014
- return prevProps;
1015
- }
1016
- function use(fn, element, arg) {
1017
- return untrack(() => fn(element, arg));
1018
- }
1019
- function insert(parent, accessor, marker, initial) {
1020
- if (marker !== undefined && !initial) initial = [];
1021
- if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
1022
- createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);
1023
- }
1024
- function assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {
1025
- props || (props = {});
1026
- for (const prop in prevProps) {
1027
- if (!(prop in props)) {
1028
- if (prop === "children") continue;
1029
- prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef);
768
+ return i;
769
+ }
770
+ function ne(t, e, i) {
771
+ if (!e)
772
+ return i ? z(t, "style") : e;
773
+ const r = t.style;
774
+ if (typeof e == "string")
775
+ return r.cssText = e;
776
+ typeof i == "string" && (r.cssText = i = void 0), i || (i = {}), e || (e = {});
777
+ let o, M;
778
+ for (M in i)
779
+ e[M] == null && r.removeProperty(M), delete i[M];
780
+ for (M in e)
781
+ o = e[M], o !== i[M] && (r.setProperty(M, o), i[M] = o);
782
+ return i;
783
+ }
784
+ function Ke(t, e = {}, i, r) {
785
+ const o = {};
786
+ return r || h(() => o.children = X(t, e.children, o.children)), h(() => e.ref && e.ref(t)), h(() => qe(t, e, i, !0, o, !0)), o;
787
+ }
788
+ function tt(t, e, i) {
789
+ return Z(() => t(e, i));
790
+ }
791
+ function w(t, e, i, r) {
792
+ if (i !== void 0 && !r && (r = []), typeof e != "function")
793
+ return X(t, e, r, i);
794
+ h((o) => X(t, e(), o, i), r);
795
+ }
796
+ function qe(t, e, i, r, o = {}, M = !1) {
797
+ e || (e = {});
798
+ for (const n in o)
799
+ if (!(n in e)) {
800
+ if (n === "children")
801
+ continue;
802
+ o[n] = Gt(t, n, null, o[n], i, M);
1030
803
  }
1031
- }
1032
- for (const prop in props) {
1033
- if (prop === "children") {
1034
- if (!skipChildren) insertExpression(node, props.children);
804
+ for (const n in e) {
805
+ if (n === "children") {
806
+ r || X(t, e.children);
1035
807
  continue;
1036
808
  }
1037
- const value = props[prop];
1038
- prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef);
1039
- }
1040
- }
1041
- function getNextElement(template) {
1042
- let key;
1043
- {
1044
- if (!template) throw new Error("Unrecoverable Hydration Mismatch. No template for key: " + key);
1045
- return template();
809
+ const l = e[n];
810
+ o[n] = Gt(t, n, l, o[n], i, M);
1046
811
  }
1047
812
  }
1048
- function getNextMarker(start) {
1049
- let end = start,
1050
- current = [];
1051
- return [end, current];
1052
- }
1053
- function runHydrationEvents() {
1054
- if (sharedConfig.events && !sharedConfig.events.queued) {
1055
- queueMicrotask(() => {
1056
- const {
1057
- completed,
1058
- events
1059
- } = sharedConfig;
1060
- events.queued = false;
1061
- while (events.length) {
1062
- const [el, e] = events[0];
1063
- if (!completed.has(el)) return;
1064
- eventHandler(e);
1065
- events.shift();
1066
- }
1067
- });
1068
- sharedConfig.events.queued = true;
1069
- }
1070
- }
1071
- function toPropertyName(name) {
1072
- return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());
1073
- }
1074
- function toggleClassKey(node, key, value) {
1075
- const classNames = key.trim().split(/\s+/);
1076
- for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
1077
- }
1078
- function assignProp(node, prop, value, prev, isSVG, skipRef) {
1079
- let isCE, isProp, isChildProp, propAlias, forceProp;
1080
- if (prop === "style") return style(node, value, prev);
1081
- if (prop === "classList") return classList(node, value, prev);
1082
- if (value === prev) return prev;
1083
- if (prop === "ref") {
1084
- if (!skipRef) value(node);
1085
- } else if (prop.slice(0, 3) === "on:") {
1086
- const e = prop.slice(3);
1087
- prev && node.removeEventListener(e, prev);
1088
- value && node.addEventListener(e, value);
1089
- } else if (prop.slice(0, 10) === "oncapture:") {
1090
- const e = prop.slice(10);
1091
- prev && node.removeEventListener(e, prev, true);
1092
- value && node.addEventListener(e, value, true);
1093
- } else if (prop.slice(0, 2) === "on") {
1094
- const name = prop.slice(2).toLowerCase();
1095
- const delegate = DelegatedEvents.has(name);
1096
- if (!delegate && prev) {
1097
- const h = Array.isArray(prev) ? prev[0] : prev;
1098
- node.removeEventListener(name, h);
1099
- }
1100
- if (delegate || value) {
1101
- addEventListener(node, name, value, delegate);
1102
- delegate && delegateEvents([name]);
1103
- }
1104
- } else if (prop.slice(0, 5) === "attr:") {
1105
- setAttribute(node, prop.slice(5), value);
1106
- } else if ((forceProp = prop.slice(0, 5) === "prop:") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-"))) {
1107
- if (forceProp) {
1108
- prop = prop.slice(5);
1109
- isProp = true;
813
+ function ti(t) {
814
+ return t.toLowerCase().replace(/-([a-z])/g, (e, i) => i.toUpperCase());
815
+ }
816
+ function Wt(t, e, i) {
817
+ const r = e.trim().split(/\s+/);
818
+ for (let o = 0, M = r.length; o < M; o++)
819
+ t.classList.toggle(r[o], i);
820
+ }
821
+ function Gt(t, e, i, r, o, M) {
822
+ let n, l, c, s, a;
823
+ if (e === "style")
824
+ return ne(t, i, r);
825
+ if (e === "classList")
826
+ return Ot(t, i, r);
827
+ if (i === r)
828
+ return r;
829
+ if (e === "ref")
830
+ M || i(t);
831
+ else if (e.slice(0, 3) === "on:") {
832
+ const u = e.slice(3);
833
+ r && t.removeEventListener(u, r), i && t.addEventListener(u, i);
834
+ } else if (e.slice(0, 10) === "oncapture:") {
835
+ const u = e.slice(10);
836
+ r && t.removeEventListener(u, r, !0), i && t.addEventListener(u, i, !0);
837
+ } else if (e.slice(0, 2) === "on") {
838
+ const u = e.slice(2).toLowerCase(), g = He.has(u);
839
+ if (!g && r) {
840
+ const d = Array.isArray(r) ? r[0] : r;
841
+ t.removeEventListener(u, d);
1110
842
  }
1111
- if (prop === "class" || prop === "className") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[propAlias || prop] = value;
1112
- } else {
1113
- const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
1114
- if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);
843
+ (g || i) && (_e(t, u, i, g), g && Dt([u]));
844
+ } else if (e.slice(0, 5) === "attr:")
845
+ z(t, e.slice(5), i);
846
+ else if ((a = e.slice(0, 5) === "prop:") || (c = Re.has(e)) || !o && ((s = Je(e, t.tagName)) || (l = Pe.has(e))) || (n = t.nodeName.includes("-")))
847
+ a && (e = e.slice(5), l = !0), e === "class" || e === "className" ? st(t, i) : n && !l && !c ? t[ti(e)] = i : t[s || e] = i;
848
+ else {
849
+ const u = o && e.indexOf(":") > -1 && Fe[e.split(":")[0]];
850
+ u ? $e(t, u, e, i) : z(t, Be[e] || e, i);
1115
851
  }
1116
- return value;
1117
- }
1118
- function eventHandler(e) {
1119
- const key = `$$${e.type}`;
1120
- let node = e.composedPath && e.composedPath()[0] || e.target;
1121
- if (e.target !== node) {
1122
- Object.defineProperty(e, "target", {
1123
- configurable: true,
1124
- value: node
1125
- });
1126
- }
1127
- Object.defineProperty(e, "currentTarget", {
1128
- configurable: true,
852
+ return i;
853
+ }
854
+ function ei(t) {
855
+ const e = `$$${t.type}`;
856
+ let i = t.composedPath && t.composedPath()[0] || t.target;
857
+ for (t.target !== i && Object.defineProperty(t, "target", {
858
+ configurable: !0,
859
+ value: i
860
+ }), Object.defineProperty(t, "currentTarget", {
861
+ configurable: !0,
1129
862
  get() {
1130
- return node || document;
863
+ return i || document;
1131
864
  }
1132
- });
1133
- while (node) {
1134
- const handler = node[key];
1135
- if (handler && !node.disabled) {
1136
- const data = node[`${key}Data`];
1137
- data !== undefined ? handler.call(node, data, e) : handler.call(node, e);
1138
- if (e.cancelBubble) return;
865
+ }); i; ) {
866
+ const r = i[e];
867
+ if (r && !i.disabled) {
868
+ const o = i[`${e}Data`];
869
+ if (o !== void 0 ? r.call(i, o, t) : r.call(i, t), t.cancelBubble)
870
+ return;
1139
871
  }
1140
- node = node._$host || node.parentNode || node.host;
872
+ i = i._$host || i.parentNode || i.host;
1141
873
  }
1142
874
  }
1143
- function insertExpression(parent, value, current, marker, unwrapArray) {
1144
- while (typeof current === "function") current = current();
1145
- if (value === current) return current;
1146
- const t = typeof value,
1147
- multi = marker !== undefined;
1148
- parent = multi && current[0] && current[0].parentNode || parent;
1149
- if (t === "string" || t === "number") {
1150
- if (t === "number") value = value.toString();
1151
- if (multi) {
1152
- let node = current[0];
1153
- if (node && node.nodeType === 3) {
1154
- node.data = value;
1155
- } else node = document.createTextNode(value);
1156
- current = cleanChildren(parent, current, marker, node);
1157
- } else {
1158
- if (current !== "" && typeof current === "string") {
1159
- current = parent.firstChild.data = value;
1160
- } else current = parent.textContent = value;
1161
- }
1162
- } else if (value == null || t === "boolean") {
1163
- current = cleanChildren(parent, current, marker);
1164
- } else if (t === "function") {
1165
- createRenderEffect(() => {
1166
- let v = value();
1167
- while (typeof v === "function") v = v();
1168
- current = insertExpression(parent, v, current, marker);
1169
- });
1170
- return () => current;
1171
- } else if (Array.isArray(value)) {
1172
- const array = [];
1173
- const currentArray = current && Array.isArray(current);
1174
- if (normalizeIncomingArray(array, value, current, unwrapArray)) {
1175
- createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
1176
- return () => current;
1177
- }
1178
- if (array.length === 0) {
1179
- current = cleanChildren(parent, current, marker);
1180
- if (multi) return current;
1181
- } else if (currentArray) {
1182
- if (current.length === 0) {
1183
- appendNodes(parent, array, marker);
1184
- } else reconcileArrays(parent, current, array);
1185
- } else {
1186
- current && cleanChildren(parent);
1187
- appendNodes(parent, array);
1188
- }
1189
- current = array;
1190
- } else if (value.nodeType) {
1191
- if (Array.isArray(current)) {
1192
- if (multi) return current = cleanChildren(parent, current, marker, value);
1193
- cleanChildren(parent, current, null, value);
1194
- } else if (current == null || current === "" || !parent.firstChild) {
1195
- parent.appendChild(value);
1196
- } else parent.replaceChild(value, parent.firstChild);
1197
- current = value;
1198
- } else console.warn(`Unrecognized value. Skipped inserting`, value);
1199
- return current;
1200
- }
1201
- function normalizeIncomingArray(normalized, array, current, unwrap) {
1202
- let dynamic = false;
1203
- for (let i = 0, len = array.length; i < len; i++) {
1204
- let item = array[i],
1205
- prev = current && current[i],
1206
- t;
1207
- if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
1208
- normalized.push(item);
1209
- } else if (Array.isArray(item)) {
1210
- dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
1211
- } else if (t === "function") {
1212
- if (unwrap) {
1213
- while (typeof item === "function") item = item();
1214
- dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
1215
- } else {
1216
- normalized.push(item);
1217
- dynamic = true;
875
+ function X(t, e, i, r, o) {
876
+ for (; typeof i == "function"; )
877
+ i = i();
878
+ if (e === i)
879
+ return i;
880
+ const M = typeof e, n = r !== void 0;
881
+ if (t = n && i[0] && i[0].parentNode || t, M === "string" || M === "number")
882
+ if (M === "number" && (e = e.toString()), n) {
883
+ let l = i[0];
884
+ l && l.nodeType === 3 ? l.data = e : l = document.createTextNode(e), i = H(t, i, r, l);
885
+ } else
886
+ i !== "" && typeof i == "string" ? i = t.firstChild.data = e : i = t.textContent = e;
887
+ else if (e == null || M === "boolean")
888
+ i = H(t, i, r);
889
+ else {
890
+ if (M === "function")
891
+ return h(() => {
892
+ let l = e();
893
+ for (; typeof l == "function"; )
894
+ l = l();
895
+ i = X(t, l, i, r);
896
+ }), () => i;
897
+ if (Array.isArray(e)) {
898
+ const l = [], c = i && Array.isArray(i);
899
+ if (ft(l, e, i, o))
900
+ return h(() => i = X(t, l, i, r, !0)), () => i;
901
+ if (l.length === 0) {
902
+ if (i = H(t, i, r), n)
903
+ return i;
904
+ } else
905
+ c ? i.length === 0 ? Pt(t, l, r) : Xe(t, i, l) : (i && H(t), Pt(t, l));
906
+ i = l;
907
+ } else if (e.nodeType) {
908
+ if (Array.isArray(i)) {
909
+ if (n)
910
+ return i = H(t, i, r, e);
911
+ H(t, i, null, e);
912
+ } else
913
+ i == null || i === "" || !t.firstChild ? t.appendChild(e) : t.replaceChild(e, t.firstChild);
914
+ i = e;
915
+ } else
916
+ console.warn("Unrecognized value. Skipped inserting", e);
917
+ }
918
+ return i;
919
+ }
920
+ function ft(t, e, i, r) {
921
+ let o = !1;
922
+ for (let M = 0, n = e.length; M < n; M++) {
923
+ let l = e[M], c = i && i[M], s;
924
+ if (!(l == null || l === !0 || l === !1))
925
+ if ((s = typeof l) == "object" && l.nodeType)
926
+ t.push(l);
927
+ else if (Array.isArray(l))
928
+ o = ft(t, l, c) || o;
929
+ else if (s === "function")
930
+ if (r) {
931
+ for (; typeof l == "function"; )
932
+ l = l();
933
+ o = ft(t, Array.isArray(l) ? l : [l], Array.isArray(c) ? c : [c]) || o;
934
+ } else
935
+ t.push(l), o = !0;
936
+ else {
937
+ const a = String(l);
938
+ c && c.nodeType === 3 && c.data === a ? t.push(c) : t.push(document.createTextNode(a));
1218
939
  }
1219
- } else {
1220
- const value = String(item);
1221
- if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
1222
- }
1223
940
  }
1224
- return dynamic;
1225
- }
1226
- function appendNodes(parent, array, marker = null) {
1227
- for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
1228
- }
1229
- function cleanChildren(parent, current, marker, replacement) {
1230
- if (marker === undefined) return parent.textContent = "";
1231
- const node = replacement || document.createTextNode("");
1232
- if (current.length) {
1233
- let inserted = false;
1234
- for (let i = current.length - 1; i >= 0; i--) {
1235
- const el = current[i];
1236
- if (node !== el) {
1237
- const isParent = el.parentNode === parent;
1238
- if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();
1239
- } else inserted = true;
1240
- }
1241
- } else parent.insertBefore(node, marker);
1242
- return [node];
1243
- }
1244
-
1245
- function createProps(raw) {
1246
- const keys = Object.keys(raw);
1247
- const props = {};
1248
- for (let i = 0; i < keys.length; i++) {
1249
- const [get, set] = createSignal(raw[keys[i]]);
1250
- Object.defineProperty(props, keys[i], {
1251
- get,
1252
- set(v) {
1253
- set(() => v);
1254
- }
1255
- });
941
+ return o;
942
+ }
943
+ function Pt(t, e, i = null) {
944
+ for (let r = 0, o = e.length; r < o; r++)
945
+ t.insertBefore(e[r], i);
946
+ }
947
+ function H(t, e, i, r) {
948
+ if (i === void 0)
949
+ return t.textContent = "";
950
+ const o = r || document.createTextNode("");
951
+ if (e.length) {
952
+ let M = !1;
953
+ for (let n = e.length - 1; n >= 0; n--) {
954
+ const l = e[n];
955
+ if (o !== l) {
956
+ const c = l.parentNode === t;
957
+ !M && !n ? c ? t.replaceChild(o, l) : t.insertBefore(o, i) : c && l.remove();
958
+ } else
959
+ M = !0;
1256
960
  }
1257
- return props;
1258
- }
1259
- function lookupContext(el) {
1260
- if (el.assignedSlot && el.assignedSlot._$owner)
1261
- return el.assignedSlot._$owner;
1262
- let next = el.parentNode;
1263
- while (next &&
1264
- !next._$owner &&
1265
- !(next.assignedSlot && next.assignedSlot._$owner))
1266
- next = next.parentNode;
1267
- return next && next.assignedSlot
1268
- ? next.assignedSlot._$owner
1269
- : el._$owner;
1270
- }
1271
- function withSolid(ComponentType) {
1272
- return (rawProps, options) => {
1273
- const { element } = options;
1274
- return createRoot((dispose) => {
1275
- const props = createProps(rawProps);
1276
- element.addPropertyChangedCallback((key, val) => (props[key] = val));
1277
- element.addReleaseCallback(() => {
1278
- element.renderRoot.textContent = "";
1279
- dispose();
1280
- });
1281
- const comp = ComponentType(props, options);
1282
- return insert(element.renderRoot, comp);
1283
- }, lookupContext(element));
1284
- };
1285
- }
1286
- function customElement(tag, props, ComponentType) {
1287
- if (arguments.length === 2) {
1288
- ComponentType = props;
1289
- props = {};
1290
- }
1291
- return register(tag, props)(withSolid(ComponentType));
1292
- }
1293
-
1294
- var css_248z = ".bati-widget,\n[data-theme] {\n background-color: hsl(var(--b1) / var(--tw-bg-opacity, 1));\n color: hsl(var(--bc) / var(--tw-text-opacity, 1))\n}\nhtml {\n -webkit-tap-highlight-color: transparent\n}\n.bati-widget {\n color-scheme: light;\n --pf: 259 94% 44%;\n --sf: 314 100% 40%;\n --af: 174 75% 39%;\n --nf: 214 20% 14%;\n --in: 198 93% 60%;\n --su: 158 64% 52%;\n --wa: 43 96% 56%;\n --er: 0 91% 71%;\n --inc: 198 100% 12%;\n --suc: 158 100% 10%;\n --wac: 43 100% 11%;\n --erc: 0 100% 14%;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-text-case: uppercase;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 259 94% 51%;\n --pc: 259 96% 91%;\n --s: 314 100% 47%;\n --sc: 314 100% 91%;\n --a: 174 75% 46%;\n --ac: 174 75% 11%;\n --n: 214 20% 21%;\n --nc: 212 19% 87%;\n --b1: 0 0% 100%;\n --b2: 0 0% 95%;\n --b3: 180 2% 90%;\n --bc: 215 28% 17%\n}\n@media (prefers-color-scheme: dark) {\n .bati-widget {\n color-scheme: dark;\n --pf: 262 80% 43%;\n --sf: 316 70% 43%;\n --af: 175 70% 34%;\n --in: 198 93% 60%;\n --su: 158 64% 52%;\n --wa: 43 96% 56%;\n --er: 0 91% 71%;\n --inc: 198 100% 12%;\n --suc: 158 100% 10%;\n --wac: 43 100% 11%;\n --erc: 0 100% 14%;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-text-case: uppercase;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 262 80% 50%;\n --pc: 0 0% 100%;\n --s: 316 70% 50%;\n --sc: 0 0% 100%;\n --a: 175 70% 41%;\n --ac: 0 0% 100%;\n --n: 213 18% 20%;\n --nf: 212 17% 17%;\n --nc: 220 13% 69%;\n --b1: 212 18% 14%;\n --b2: 213 18% 12%;\n --b3: 213 18% 10%;\n --bc: 220 13% 69%\n }\n}\n[data-theme=light] {\n color-scheme: light;\n --pf: 259 94% 44%;\n --sf: 314 100% 40%;\n --af: 174 75% 39%;\n --nf: 214 20% 14%;\n --in: 198 93% 60%;\n --su: 158 64% 52%;\n --wa: 43 96% 56%;\n --er: 0 91% 71%;\n --inc: 198 100% 12%;\n --suc: 158 100% 10%;\n --wac: 43 100% 11%;\n --erc: 0 100% 14%;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-text-case: uppercase;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 259 94% 51%;\n --pc: 259 96% 91%;\n --s: 314 100% 47%;\n --sc: 314 100% 91%;\n --a: 174 75% 46%;\n --ac: 174 75% 11%;\n --n: 214 20% 21%;\n --nc: 212 19% 87%;\n --b1: 0 0% 100%;\n --b2: 0 0% 95%;\n --b3: 180 2% 90%;\n --bc: 215 28% 17%\n}\n[data-theme=dark] {\n color-scheme: dark;\n --pf: 262 80% 43%;\n --sf: 316 70% 43%;\n --af: 175 70% 34%;\n --in: 198 93% 60%;\n --su: 158 64% 52%;\n --wa: 43 96% 56%;\n --er: 0 91% 71%;\n --inc: 198 100% 12%;\n --suc: 158 100% 10%;\n --wac: 43 100% 11%;\n --erc: 0 100% 14%;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-text-case: uppercase;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 262 80% 50%;\n --pc: 0 0% 100%;\n --s: 316 70% 50%;\n --sc: 0 0% 100%;\n --a: 175 70% 41%;\n --ac: 0 0% 100%;\n --n: 213 18% 20%;\n --nf: 212 17% 17%;\n --nc: 220 13% 69%;\n --b1: 212 18% 14%;\n --b2: 213 18% 12%;\n --b3: 213 18% 10%;\n --bc: 220 13% 69%\n}\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: \n}\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: \n}\n@media (hover:hover) {\n .checkbox-success:hover {\n --tw-border-opacity: 1;\n border-color: hsl(var(--su) / var(--tw-border-opacity))\n }\n .label a:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--bc) / var(--tw-text-opacity))\n }\n .menu :where(li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):where(.active), .menu :where(li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):where(.active) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--n) / var(--tw-bg-opacity));\n --tw-text-opacity: 1;\n color: hsl(var(--nc) / var(--tw-text-opacity))\n }\n}\n.checkbox {\n flex-shrink: 0;\n --chkbg: var(--bc);\n --chkfg: var(--b1);\n height: 1.5rem;\n width: 1.5rem;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-width: 1px;\n border-color: hsl(var(--bc) / var(--tw-border-opacity));\n --tw-border-opacity: 0.2;\n border-radius: var(--rounded-btn, 0.5rem)\n}\n.divider {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n margin-top: 1rem;\n margin-bottom: 1rem;\n height: 1rem;\n white-space: nowrap\n}\n.divider:before,\n .divider:after {\n content: \"\";\n flex-grow: 1;\n height: 0.125rem;\n width: 100%\n}\n@media (hover: hover) {\n .btm-nav > *.disabled:hover,\n .btm-nav > *[disabled]:hover {\n pointer-events: none;\n --tw-border-opacity: 0;\n background-color: hsl(var(--n) / var(--tw-bg-opacity));\n --tw-bg-opacity: 0.1;\n color: hsl(var(--bc) / var(--tw-text-opacity));\n --tw-text-opacity: 0.2\n }\n .menu :where(li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(.active):hover, .menu :where(li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(.active):hover {\n cursor: pointer;\n background-color: hsl(var(--bc) / 0.1);\n --tw-text-opacity: 1;\n color: hsl(var(--bc) / var(--tw-text-opacity));\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n}\n.form-control {\n display: flex;\n flex-direction: column\n}\n.label {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: space-between;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.input {\n flex-shrink: 1;\n height: 3rem;\n padding-left: 1rem;\n padding-right: 1rem;\n font-size: 1rem;\n line-height: 2;\n line-height: 1.5rem;\n border-width: 1px;\n border-color: hsl(var(--bc) / var(--tw-border-opacity));\n --tw-border-opacity: 0;\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b1) / var(--tw-bg-opacity));\n border-radius: var(--rounded-btn, 0.5rem)\n}\n.input-group > .input {\n isolation: isolate\n}\n.input-group > *,\n .input-group > .input,\n .input-group > .textarea,\n .input-group > .select {\n border-radius: 0px\n}\n.join {\n display: inline-flex;\n align-items: stretch;\n border-radius: var(--rounded-btn, 0.5rem)\n}\n.join :where(.join-item) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0\n}\n.join .join-item:not(:first-child):not(:last-child),\n .join *:not(:first-child):not(:last-child) .join-item {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0\n}\n.join .join-item:first-child:not(:last-child),\n .join *:first-child:not(:last-child) .join-item {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0\n}\n.join :where(.join-item:first-child:not(:last-child)),\n .join :where(*:first-child:not(:last-child) .join-item) {\n border-bottom-left-radius: inherit;\n border-top-left-radius: inherit\n}\n.join .join-item:last-child:not(:first-child),\n .join *:last-child:not(:first-child) .join-item {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0\n}\n.join :where(.join-item:last-child:not(:first-child)),\n .join :where(*:last-child:not(:first-child) .join-item) {\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit\n}\n:where(.join *) {\n border-radius: inherit\n}\n.kbd {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-width: 1px;\n border-color: hsl(var(--bc) / var(--tw-border-opacity));\n --tw-border-opacity: 0.2;\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b2) / var(--tw-bg-opacity));\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n border-radius: var(--rounded-btn, 0.5rem);\n border-bottom-width: 2px;\n min-height: 2.2em;\n min-width: 2.2em\n}\n.link {\n cursor: pointer;\n text-decoration-line: underline\n}\n.menu li.disabled {\n cursor: not-allowed;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n color: hsl(var(--bc) / 0.3)\n}\n.select {\n display: inline-flex;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 3rem;\n padding-left: 1rem;\n padding-right: 2.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n min-height: 3rem;\n border-width: 1px;\n border-color: hsl(var(--bc) / var(--tw-border-opacity));\n --tw-border-opacity: 0;\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b1) / var(--tw-bg-opacity));\n font-weight: 600;\n border-radius: var(--rounded-btn, 0.5rem);\n background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),\n linear-gradient(135deg, currentColor 50%, transparent 50%);\n background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16px) calc(1px + 50%);\n background-size: 4px 4px, 4px 4px;\n background-repeat: no-repeat\n}\n.select[multiple] {\n height: auto\n}\n.btm-nav > *.disabled,\n .btm-nav > *[disabled] {\n pointer-events: none;\n --tw-border-opacity: 0;\n background-color: hsl(var(--n) / var(--tw-bg-opacity));\n --tw-bg-opacity: 0.1;\n color: hsl(var(--bc) / var(--tw-text-opacity));\n --tw-text-opacity: 0.2\n}\n.btm-nav > * .label {\n font-size: 1rem;\n line-height: 1.5rem\n}\n@keyframes button-pop {\n 0% {\n transform: scale(var(--btn-focus-scale, 0.98))\n }\n 40% {\n transform: scale(1.02)\n }\n 100% {\n transform: scale(1)\n }\n}\n.checkbox:focus-visible {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: hsl(var(--bc) / 1)\n}\n.checkbox:checked,\n .checkbox[checked=\"true\"],\n .checkbox[aria-checked=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--bc) / var(--tw-bg-opacity));\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-in-out;\n background-image: linear-gradient(-45deg, transparent 65%, hsl(var(--chkbg)) 65.99%),\n linear-gradient(45deg, transparent 75%, hsl(var(--chkbg)) 75.99%),\n linear-gradient(-45deg, hsl(var(--chkbg)) 40%, transparent 40.99%),\n linear-gradient(\n 45deg,\n hsl(var(--chkbg)) 30%,\n hsl(var(--chkfg)) 30.99%,\n hsl(var(--chkfg)) 40%,\n transparent 40.99%\n ),\n linear-gradient(-45deg, hsl(var(--chkfg)) 50%, hsl(var(--chkbg)) 50.99%)\n}\n.checkbox:indeterminate {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--bc) / var(--tw-bg-opacity));\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-in-out;\n background-image: linear-gradient(90deg, transparent 80%, hsl(var(--chkbg)) 80%),\n linear-gradient(-90deg, transparent 80%, hsl(var(--chkbg)) 80%),\n linear-gradient(\n 0deg,\n hsl(var(--chkbg)) 43%,\n hsl(var(--chkfg)) 43%,\n hsl(var(--chkfg)) 57%,\n hsl(var(--chkbg)) 57%\n )\n}\n.checkbox-success {\n --chkbg: var(--su);\n --chkfg: var(--suc);\n --tw-border-opacity: 1;\n border-color: hsl(var(--su) / var(--tw-border-opacity))\n}\n.checkbox-success:focus-visible {\n outline-color: hsl(var(--su) / 1)\n}\n.checkbox-success:checked,\n .checkbox-success[checked=\"true\"],\n .checkbox-success[aria-checked=\"true\"] {\n --tw-border-opacity: 1;\n border-color: hsl(var(--su) / var(--tw-border-opacity));\n --tw-bg-opacity: 1;\n background-color: hsl(var(--su) / var(--tw-bg-opacity));\n --tw-text-opacity: 1;\n color: hsl(var(--suc) / var(--tw-text-opacity))\n}\n.checkbox:disabled {\n cursor: not-allowed;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: hsl(var(--bc) / var(--tw-bg-opacity));\n opacity: 0.2\n}\n@keyframes checkmark {\n 0% {\n background-position-y: 5px\n }\n 50% {\n background-position-y: -2px\n }\n 100% {\n background-position-y: 0\n }\n}\n[dir=\"rtl\"] .checkbox:checked,\n [dir=\"rtl\"] .checkbox[checked=\"true\"],\n [dir=\"rtl\"] .checkbox[aria-checked=\"true\"] {\n background-image: linear-gradient(45deg, transparent 65%, hsl(var(--chkbg)) 65.99%),\n linear-gradient(-45deg, transparent 75%, hsl(var(--chkbg)) 75.99%),\n linear-gradient(45deg, hsl(var(--chkbg)) 40%, transparent 40.99%),\n linear-gradient(\n -45deg,\n hsl(var(--chkbg)) 30%,\n hsl(var(--chkfg)) 30.99%,\n hsl(var(--chkfg)) 40%,\n transparent 40.99%\n ),\n linear-gradient(45deg, hsl(var(--chkfg)) 50%, hsl(var(--chkbg)) 50.99%)\n}\n.divider:before {\n background-color: hsl(var(--bc) / var(--tw-bg-opacity));\n --tw-bg-opacity: 0.1\n}\n.divider:after {\n background-color: hsl(var(--bc) / var(--tw-bg-opacity));\n --tw-bg-opacity: 0.1\n}\n.divider:not(:empty) {\n gap: 1rem\n}\n.label-text {\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: hsl(var(--bc) / var(--tw-text-opacity))\n}\n.input[list]::-webkit-calendar-picker-indicator {\n line-height: 1em\n}\n.input:focus {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: hsl(var(--bc) / 0.2)\n}\n.input-disabled,\n .input:disabled,\n .input[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: hsl(var(--b2) / var(--tw-border-opacity));\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b2) / var(--tw-bg-opacity));\n --tw-text-opacity: 0.2\n}\n.input-disabled::-moz-placeholder, .input:disabled::-moz-placeholder, .input[disabled]::-moz-placeholder {\n color: hsl(var(--bc) / var(--tw-placeholder-opacity));\n --tw-placeholder-opacity: 0.2\n}\n.input-disabled::placeholder,\n .input:disabled::placeholder,\n .input[disabled]::placeholder {\n color: hsl(var(--bc) / var(--tw-placeholder-opacity));\n --tw-placeholder-opacity: 0.2\n}\n.join > :where(*:not(:first-child)) {\n margin-top: 0px;\n margin-bottom: 0px;\n margin-left: -1px\n}\n.join-item:focus {\n isolation: isolate\n}\n.link:focus {\n outline: 2px solid transparent;\n outline-offset: 2px\n}\n.link:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px\n}\n@keyframes modal-pop {\n 0% {\n opacity: 0\n }\n}\n@keyframes progress-loading {\n 50% {\n background-position-x: -115%\n }\n}\n@keyframes radiomark {\n 0% {\n box-shadow: 0 0 0 12px hsl(var(--b1)) inset, 0 0 0 12px hsl(var(--b1)) inset\n }\n 50% {\n box-shadow: 0 0 0 3px hsl(var(--b1)) inset, 0 0 0 3px hsl(var(--b1)) inset\n }\n 100% {\n box-shadow: 0 0 0 4px hsl(var(--b1)) inset, 0 0 0 4px hsl(var(--b1)) inset\n }\n}\n@keyframes rating-pop {\n 0% {\n transform: translateY(-0.125em)\n }\n 40% {\n transform: translateY(-0.125em)\n }\n 100% {\n transform: translateY(0)\n }\n}\n.select:focus {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: hsl(var(--bc) / 0.2)\n}\n.select-primary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--p) / var(--tw-border-opacity))\n}\n.select-primary:focus {\n outline-color: hsl(var(--p) / 1)\n}\n.select-success {\n --tw-border-opacity: 1;\n border-color: hsl(var(--su) / var(--tw-border-opacity))\n}\n.select-success:focus {\n outline-color: hsl(var(--su) / 1)\n}\n.select-disabled,\n .select:disabled,\n .select[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: hsl(var(--b2) / var(--tw-border-opacity));\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b2) / var(--tw-bg-opacity));\n --tw-text-opacity: 0.2\n}\n.select-disabled::-moz-placeholder, .select:disabled::-moz-placeholder, .select[disabled]::-moz-placeholder {\n color: hsl(var(--bc) / var(--tw-placeholder-opacity));\n --tw-placeholder-opacity: 0.2\n}\n.select-disabled::placeholder,\n .select:disabled::placeholder,\n .select[disabled]::placeholder {\n color: hsl(var(--bc) / var(--tw-placeholder-opacity));\n --tw-placeholder-opacity: 0.2\n}\n.select-multiple,\n .select[multiple],\n .select[size].select:not([size=\"1\"]) {\n background-image: none;\n padding-right: 1rem\n}\n[dir=\"rtl\"] .select {\n background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%)\n}\n@keyframes toast-pop {\n 0% {\n transform: scale(0.9);\n opacity: 0\n }\n 100% {\n transform: scale(1);\n opacity: 1\n }\n}\n.tooltip.tooltip-primary {\n --tooltip-color: hsl(var(--p));\n --tooltip-text-color: hsl(var(--pc))\n}\n.tooltip.tooltip-secondary {\n --tooltip-color: hsl(var(--s));\n --tooltip-text-color: hsl(var(--sc))\n}\n.tooltip.tooltip-accent {\n --tooltip-color: hsl(var(--a));\n --tooltip-text-color: hsl(var(--ac))\n}\n.tooltip.tooltip-info {\n --tooltip-color: hsl(var(--in));\n --tooltip-text-color: hsl(var(--inc))\n}\n.tooltip.tooltip-success {\n --tooltip-color: hsl(var(--su));\n --tooltip-text-color: hsl(var(--suc))\n}\n.tooltip.tooltip-warning {\n --tooltip-color: hsl(var(--wa));\n --tooltip-text-color: hsl(var(--wac))\n}\n.tooltip.tooltip-error {\n --tooltip-color: hsl(var(--er));\n --tooltip-text-color: hsl(var(--erc))\n}\n.join.join-vertical {\n flex-direction: column\n}\n.join.join-vertical .join-item:first-child:not(:last-child),\n .join.join-vertical *:first-child:not(:last-child) .join-item {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: inherit;\n border-top-right-radius: inherit\n}\n.join.join-vertical .join-item:last-child:not(:first-child),\n .join.join-vertical *:last-child:not(:first-child) .join-item {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit\n}\n.join.join-horizontal {\n flex-direction: row\n}\n.join.join-horizontal .join-item:first-child:not(:last-child),\n .join.join-horizontal *:first-child:not(:last-child) .join-item {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: inherit;\n border-top-left-radius: inherit\n}\n.join.join-horizontal .join-item:last-child:not(:first-child),\n .join.join-horizontal *:last-child:not(:first-child) .join-item {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: inherit;\n border-top-right-radius: inherit\n}\n.kbd-lg {\n padding-left: 1rem;\n padding-right: 1rem;\n font-size: 1.125rem;\n line-height: 1.75rem;\n min-height: 2.5em;\n min-width: 2.5em\n}\n.tooltip {\n position: relative;\n display: inline-block;\n --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px))\n}\n.tooltip:before {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n content: var(--tw-content);\n --tw-content: attr(data-tip)\n}\n.tooltip:before, .tooltip-top:before {\n transform: translateX(-50%);\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-offset)\n}\n.tooltip-bottom:before {\n transform: translateX(-50%);\n top: var(--tooltip-offset);\n left: 50%;\n right: auto;\n bottom: auto\n}\n.join.join-vertical > :where(*:not(:first-child)) {\n margin-left: 0px;\n margin-right: 0px;\n margin-top: -1px\n}\n.join.join-horizontal > :where(*:not(:first-child)) {\n margin-top: 0px;\n margin-bottom: 0px;\n margin-left: -1px\n}\n.tooltip {\n position: relative;\n display: inline-block;\n text-align: center;\n --tooltip-tail: 0.1875rem;\n --tooltip-color: hsl(var(--n));\n --tooltip-text-color: hsl(var(--nc));\n --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail))\n}\n.tooltip:before,\n.tooltip:after {\n opacity: 0;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-delay: 100ms;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)\n}\n.tooltip:after {\n position: absolute;\n content: \"\";\n border-style: solid;\n border-width: var(--tooltip-tail, 0);\n width: 0;\n height: 0;\n display: block\n}\n.tooltip:before {\n max-width: 20rem;\n border-radius: 0.25rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n background-color: var(--tooltip-color);\n color: var(--tooltip-text-color);\n width: -moz-max-content;\n width: max-content\n}\n.tooltip.tooltip-open:before,\n.tooltip.tooltip-open:after,\n.tooltip:hover:before,\n.tooltip:hover:after {\n opacity: 1;\n transition-delay: 75ms\n}\n.tooltip:has(:focus-visible):after,\n.tooltip:has(:focus-visible):before {\n opacity: 1;\n transition-delay: 75ms\n}\n.tooltip:not([data-tip]):hover:before,\n.tooltip:not([data-tip]):hover:after {\n visibility: hidden;\n opacity: 0\n}\n.tooltip:after, .tooltip-top:after {\n transform: translateX(-50%);\n border-color: var(--tooltip-color) transparent transparent transparent;\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-tail-offset)\n}\n.tooltip-bottom:after {\n transform: translateX(-50%);\n border-color: transparent transparent var(--tooltip-color) transparent;\n top: var(--tooltip-tail-offset);\n left: 50%;\n right: auto;\n bottom: auto\n}\n.absolute {\n position: absolute\n}\n.relative {\n position: relative\n}\n.bottom-2 {\n bottom: 0.5rem\n}\n.left-2 {\n left: 0.5rem\n}\n.left-2\\.5 {\n left: 0.625rem\n}\n.right-2 {\n right: 0.5rem\n}\n.top-2 {\n top: 0.5rem\n}\n.top-2\\.5 {\n top: 0.625rem\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto\n}\n.mb-2 {\n margin-bottom: 0.5rem\n}\n.mt-8 {\n margin-top: 2rem\n}\n.inline-block {\n display: inline-block\n}\n.flex {\n display: flex\n}\n.inline-flex {\n display: inline-flex\n}\n.hidden {\n display: none\n}\n.w-4\\/5 {\n width: 80%\n}\n.w-full {\n width: 100%\n}\n.max-w-xs {\n max-width: 20rem\n}\n.flex-1 {\n flex: 1 1 0%\n}\n.select-all {\n -webkit-user-select: all;\n -moz-user-select: all;\n user-select: all\n}\n.flex-row {\n flex-direction: row\n}\n.flex-col {\n flex-direction: column\n}\n.flex-wrap {\n flex-wrap: wrap\n}\n.items-end {\n align-items: flex-end\n}\n.items-center {\n align-items: center\n}\n.justify-start {\n justify-content: flex-start\n}\n.justify-center {\n justify-content: center\n}\n.gap-2 {\n gap: 0.5rem\n}\n.gap-2\\.5 {\n gap: 0.625rem\n}\n.gap-4 {\n gap: 1rem\n}\n.gap-8 {\n gap: 2rem\n}\n.overflow-hidden {\n overflow: hidden\n}\n.whitespace-nowrap {\n white-space: nowrap\n}\n.rounded {\n border-radius: 0.25rem\n}\n.rounded-md {\n border-radius: 0.375rem\n}\n.rounded-sm {\n border-radius: 0.125rem\n}\n.rounded-xl {\n border-radius: 0.75rem\n}\n.border {\n border-width: 1px\n}\n.border-l-0 {\n border-left-width: 0px\n}\n.border-l-8 {\n border-left-width: 8px\n}\n.border-solid {\n border-style: solid\n}\n.border-base-200 {\n --tw-border-opacity: 1;\n border-color: hsl(var(--b2) / var(--tw-border-opacity))\n}\n.border-primary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--p) / var(--tw-border-opacity))\n}\n.border-success {\n --tw-border-opacity: 1;\n border-color: hsl(var(--su) / var(--tw-border-opacity))\n}\n.border-l-\\[\\#de624e\\] {\n --tw-border-opacity: 1;\n border-left-color: rgb(222 98 78 / var(--tw-border-opacity))\n}\n.bg-\\[\\#ec7259\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(236 114 89 / var(--tw-bg-opacity))\n}\n.bg-base-100 {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b1) / var(--tw-bg-opacity))\n}\n.bg-base-200 {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b2) / var(--tw-bg-opacity))\n}\n.bg-base-300 {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--b3) / var(--tw-bg-opacity))\n}\n.p-1 {\n padding: 0.25rem\n}\n.p-1\\.5 {\n padding: 0.375rem\n}\n.p-5 {\n padding: 1.25rem\n}\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem\n}\n.py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem\n}\n.pb-4 {\n padding-bottom: 1rem\n}\n.pl-1 {\n padding-left: 0.25rem\n}\n.pl-10 {\n padding-left: 2.5rem\n}\n.font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"\n}\n.text-8xl {\n font-size: 6rem;\n line-height: 1\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem\n}\n.font-bold {\n font-weight: 700\n}\n.leading-10 {\n line-height: 2.5rem\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity))\n}\n.opacity-50 {\n opacity: 0.5\n}\n.opacity-60 {\n opacity: 0.6\n}\n.opacity-70 {\n opacity: 0.7\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)\n}\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)\n}\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n.group:hover .group-hover\\:inline {\n display: inline\n}\n";
1295
-
1296
- const $RAW = Symbol("store-raw"),
1297
- $NODE = Symbol("store-node");
1298
- function wrap$1(value) {
1299
- let p = value[$PROXY];
1300
- if (!p) {
1301
- Object.defineProperty(value, $PROXY, {
1302
- value: p = new Proxy(value, proxyTraps$1)
1303
- });
1304
- if (!Array.isArray(value)) {
1305
- const keys = Object.keys(value),
1306
- desc = Object.getOwnPropertyDescriptors(value);
1307
- for (let i = 0, l = keys.length; i < l; i++) {
1308
- const prop = keys[i];
1309
- if (desc[prop].get) {
1310
- Object.defineProperty(value, prop, {
1311
- enumerable: desc[prop].enumerable,
1312
- get: desc[prop].get.bind(p)
1313
- });
1314
- }
961
+ } else
962
+ t.insertBefore(o, i);
963
+ return [o];
964
+ }
965
+ function ii(t) {
966
+ const e = Object.keys(t), i = {};
967
+ for (let r = 0; r < e.length; r++) {
968
+ const [o, M] = J(t[e[r]]);
969
+ Object.defineProperty(i, e[r], {
970
+ get: o,
971
+ set(n) {
972
+ M(() => n);
1315
973
  }
1316
- }
974
+ });
1317
975
  }
1318
- return p;
1319
- }
1320
- function isWrappable(obj) {
1321
- let proto;
1322
- return obj != null && typeof obj === "object" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));
1323
- }
1324
- function unwrap(item, set = new Set()) {
1325
- let result, unwrapped, v, prop;
1326
- if (result = item != null && item[$RAW]) return result;
1327
- if (!isWrappable(item) || set.has(item)) return item;
1328
- if (Array.isArray(item)) {
1329
- if (Object.isFrozen(item)) item = item.slice(0);else set.add(item);
1330
- for (let i = 0, l = item.length; i < l; i++) {
1331
- v = item[i];
1332
- if ((unwrapped = unwrap(v, set)) !== v) item[i] = unwrapped;
1333
- }
1334
- } else {
1335
- if (Object.isFrozen(item)) item = Object.assign({}, item);else set.add(item);
1336
- const keys = Object.keys(item),
1337
- desc = Object.getOwnPropertyDescriptors(item);
1338
- for (let i = 0, l = keys.length; i < l; i++) {
1339
- prop = keys[i];
1340
- if (desc[prop].get) continue;
1341
- v = item[prop];
1342
- if ((unwrapped = unwrap(v, set)) !== v) item[prop] = unwrapped;
976
+ return i;
977
+ }
978
+ function ri(t) {
979
+ if (t.assignedSlot && t.assignedSlot._$owner)
980
+ return t.assignedSlot._$owner;
981
+ let e = t.parentNode;
982
+ for (; e && !e._$owner && !(e.assignedSlot && e.assignedSlot._$owner); )
983
+ e = e.parentNode;
984
+ return e && e.assignedSlot ? e.assignedSlot._$owner : t._$owner;
985
+ }
986
+ function oi(t) {
987
+ return (e, i) => {
988
+ const { element: r } = i;
989
+ return Mt((o) => {
990
+ const M = ii(e);
991
+ r.addPropertyChangedCallback((l, c) => M[l] = c), r.addReleaseCallback(() => {
992
+ r.renderRoot.textContent = "", o();
993
+ });
994
+ const n = t(M, i);
995
+ return w(r.renderRoot, n);
996
+ }, ri(r));
997
+ };
998
+ }
999
+ function Mi(t, e, i) {
1000
+ return arguments.length === 2 && (i = e, e = {}), xe(t, e)(oi(i));
1001
+ }
1002
+ const ni = `.bati-widget,[data-theme]{background-color:hsl(var(--b1) / var(--tw-bg-opacity, 1));color:hsl(var(--bc) / var(--tw-text-opacity, 1))}html{-webkit-tap-highlight-color:transparent}.bati-widget{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}@media (prefers-color-scheme: dark){.bati-widget{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}}[data-theme=light]{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}[data-theme=dark]{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }@media (hover:hover){.link-hover:hover{text-decoration-line:underline}.checkbox-success:hover{--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity))}.label a:hover{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.menu li>*:not(ul):not(.menu-title):not(details):active,.menu li>*:not(ul):not(.menu-title):not(details).active,.menu li>details>summary:active{--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity))}}.card{position:relative;display:flex;flex-direction:column;border-radius:var(--rounded-box, 1rem)}.card:focus{outline:2px solid transparent;outline-offset:2px}.card-body{display:flex;flex:1 1 auto;flex-direction:column;padding:var(--padding-card, 2rem);gap:.5rem}.card-body :where(p){flex-grow:1}.card figure{display:flex;align-items:center;justify-content:center}.card.image-full{display:grid}.card.image-full:before{position:relative;content:"";z-index:10;--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));opacity:.75;border-radius:var(--rounded-box, 1rem)}.card.image-full:before,.card.image-full>*{grid-column-start:1;grid-row-start:1}.card.image-full>figure img{height:100%;-o-object-fit:cover;object-fit:cover}.card.image-full>.card-body{position:relative;z-index:20;--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity))}.checkbox{flex-shrink:0;--chkbg: var(--bc);--chkfg: var(--b1);height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2;border-radius:var(--rounded-btn, .5rem)}.divider{display:flex;flex-direction:row;align-items:center;align-self:stretch;margin-top:1rem;margin-bottom:1rem;height:1rem;white-space:nowrap}.divider:before,.divider:after{content:"";flex-grow:1;height:.125rem;width:100%}@media (hover: hover){.btm-nav>*.disabled:hover,.btm-nav>*[disabled]:hover{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}:where(.menu li:not(.menu-title):not(.disabled)>*:not(ul):not(details):not(.menu-title)):not(.active):hover,:where(.menu li:not(.menu-title):not(.disabled)>details>summary:not(.menu-title)):not(.active):hover{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}}.footer{display:grid;width:100%;grid-auto-flow:row;place-items:start;row-gap:2.5rem;-moz-column-gap:1rem;column-gap:1rem;font-size:.875rem;line-height:1.25rem}.footer>*{display:grid;place-items:start;gap:.5rem}.footer-center{place-items:center;text-align:center}.footer-center>*{place-items:center}@media (min-width: 48rem){.footer{grid-auto-flow:column}.footer-center{grid-auto-flow:row dense}}.form-control{display:flex;flex-direction:column}.label{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding:.5rem .25rem}.input{flex-shrink:1;height:3rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:2;line-height:1.5rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.input-group>.input{isolation:isolate}.input-group>*,.input-group>.input,.input-group>.textarea,.input-group>.select{border-radius:0}.join{display:inline-flex;align-items:stretch;border-radius:var(--rounded-btn, .5rem)}.join :where(.join-item){border-radius:0}.join .join-item:not(:first-child):not(:last-child),.join *:not(:first-child):not(:last-child) .join-item{border-radius:0}.join .join-item:first-child:not(:last-child),.join *:first-child:not(:last-child) .join-item{border-top-right-radius:0;border-bottom-right-radius:0}.join :where(.join-item:first-child:not(:last-child)),.join :where(*:first-child:not(:last-child) .join-item){border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join .join-item:last-child:not(:first-child),.join *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0}.join :where(.join-item:last-child:not(:first-child)),.join :where(*:last-child:not(:first-child) .join-item){border-top-right-radius:inherit;border-bottom-right-radius:inherit}:where(.join *){border-radius:inherit}.kbd{display:inline-flex;align-items:center;justify-content:center;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2;--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));padding-left:.5rem;padding-right:.5rem;border-radius:var(--rounded-btn, .5rem);border-bottom-width:2px;min-height:2.2em;min-width:2.2em}.link{cursor:pointer;text-decoration-line:underline}.link-hover{text-decoration-line:none}.menu li.disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:hsl(var(--bc) / .3)}.select{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3rem;padding-left:1rem;padding-right:2.5rem;font-size:.875rem;line-height:1.25rem;line-height:2;min-height:3rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));font-weight:600;border-radius:var(--rounded-btn, .5rem);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16px) calc(1px + 50%);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.select[multiple]{height:auto}.stack{display:inline-grid;place-items:center;align-items:flex-end}.stack>*{grid-column-start:1;grid-row-start:1;transform:translateY(10%) scale(.9);z-index:1;width:100%;opacity:.6}.stack>*:nth-child(2){transform:translateY(5%) scale(.95);z-index:2;opacity:.8}.stack>*:nth-child(1){transform:translateY(0) scale(1);z-index:3;opacity:1}.btm-nav>*:where(.active){border-top-width:2px;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity))}.btm-nav>*.disabled,.btm-nav>*[disabled]{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btm-nav>* .label{font-size:1rem;line-height:1.5rem}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale, .98))}40%{transform:scale(1.02)}to{transform:scale(1)}}.card :where(figure:first-child){overflow:hidden;border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:unset;border-end-end-radius:unset}.card :where(figure:last-child){overflow:hidden;border-start-start-radius:unset;border-start-end-radius:unset;border-end-start-radius:inherit;border-end-end-radius:inherit}.card:focus-visible{outline:2px solid currentColor;outline-offset:2px}.card.bordered{border-width:1px;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity))}.card.compact .card-body{padding:1rem;font-size:.875rem;line-height:1.25rem}.card-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.card.image-full :where(figure){overflow:hidden;border-radius:inherit}.checkbox:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.checkbox:checked,.checkbox[checked=true],.checkbox[aria-checked=true]{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-out;background-image:linear-gradient(-45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}.checkbox:indeterminate{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-out;background-image:linear-gradient(90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(-90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(0deg,hsl(var(--chkbg)) 43%,hsl(var(--chkfg)) 43%,hsl(var(--chkfg)) 57%,hsl(var(--chkbg)) 57%)}.checkbox-success{--chkbg: var(--su);--chkfg: var(--suc);--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity))}.checkbox-success:focus-visible{outline-color:hsl(var(--su) / 1)}.checkbox-success:checked,.checkbox-success[checked=true],.checkbox-success[aria-checked=true]{--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--su) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--suc) / var(--tw-text-opacity))}.checkbox:disabled{cursor:not-allowed;border-color:transparent;--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));opacity:.2}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}[dir=rtl] .checkbox:checked,[dir=rtl] .checkbox[checked=true],[dir=rtl] .checkbox[aria-checked=true]{background-image:linear-gradient(45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(-45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}.divider:before{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:after{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:not(:empty){gap:1rem}.label-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.input[list]::-webkit-calendar-picker-indicator{line-height:1em}.input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.input-disabled,.input:disabled,.input[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.input-disabled::-moz-placeholder,.input:disabled::-moz-placeholder,.input[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.input-disabled::placeholder,.input:disabled::placeholder,.input[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.join>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.join-item:focus{isolation:isolate}.link:focus{outline:2px solid transparent;outline-offset:2px}.link:focus-visible{outline:2px solid currentColor;outline-offset:2px}:where(.menu li:not(.menu-title):not(.disabled)>*:not(ul):not(details):not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled)>*:not(ul):not(details):not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled)>*:not(ul):not(details):not(.menu-title)):is(summary):not(.active):focus-visible,:where(.menu li:not(.menu-title):not(.disabled)>details>summary:not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled)>details>summary:not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled)>details>summary:not(.menu-title)):is(summary):not(.active):focus-visible{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.menu li>*:not(ul):not(.menu-title):not(details):active,.menu li>*:not(ul):not(.menu-title):not(details).active,.menu li>details>summary:active{--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity))}.mockup-browser .mockup-browser-toolbar .input{position:relative;margin-left:auto;margin-right:auto;display:block;height:1.75rem;width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));padding-left:2rem}.mockup-browser .mockup-browser-toolbar .input:before{content:"";position:absolute;top:50%;left:.5rem;aspect-ratio:1 / 1;height:.75rem;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:2px;border-color:currentColor;opacity:.6}.mockup-browser .mockup-browser-toolbar .input:after{content:"";position:absolute;top:50%;left:1.25rem;height:.5rem;--tw-translate-y: 25%;--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:1px;border-color:currentColor;opacity:.6}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}@keyframes radiomark{0%{box-shadow:0 0 0 12px hsl(var(--b1)) inset,0 0 0 12px hsl(var(--b1)) inset}50%{box-shadow:0 0 0 3px hsl(var(--b1)) inset,0 0 0 3px hsl(var(--b1)) inset}to{box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.select:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.select-disabled,.select:disabled,.select[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.select-disabled::-moz-placeholder,.select:disabled::-moz-placeholder,.select[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-disabled::placeholder,.select:disabled::placeholder,.select[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-multiple,.select[multiple],.select[size].select:not([size="1"]){background-image:none;padding-right:1rem}[dir=rtl] .select{background-position:calc(0% + 12px) calc(1px + 50%),calc(0% + 16px) calc(1px + 50%)}.table tr.active,.table tr.active:nth-child(2n),.table-zebra tbody tr:nth-child(2n){--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.table-zebra tr.active,.table-zebra tr.active:nth-child(2n),.table-zebra-zebra tbody tr:nth-child(2n){--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}@keyframes toast-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.tooltip.tooltip-primary{--tooltip-color: hsl(var(--p));--tooltip-text-color: hsl(var(--pc))}.tooltip.tooltip-secondary{--tooltip-color: hsl(var(--s));--tooltip-text-color: hsl(var(--sc))}.tooltip.tooltip-accent{--tooltip-color: hsl(var(--a));--tooltip-text-color: hsl(var(--ac))}.tooltip.tooltip-info{--tooltip-color: hsl(var(--in));--tooltip-text-color: hsl(var(--inc))}.tooltip.tooltip-success{--tooltip-color: hsl(var(--su));--tooltip-text-color: hsl(var(--suc))}.tooltip.tooltip-warning{--tooltip-color: hsl(var(--wa));--tooltip-text-color: hsl(var(--wac))}.tooltip.tooltip-error{--tooltip-color: hsl(var(--er));--tooltip-text-color: hsl(var(--erc))}.btm-nav-xs>*:where(.active){border-top-width:1px}.btm-nav-sm>*:where(.active){border-top-width:2px}.btm-nav-md>*:where(.active){border-top-width:2px}.btm-nav-lg>*:where(.active){border-top-width:4px}.join.join-vertical{flex-direction:column}.join.join-vertical .join-item:first-child:not(:last-child),.join.join-vertical *:first-child:not(:last-child) .join-item{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.join.join-vertical .join-item:last-child:not(:first-child),.join.join-vertical *:last-child:not(:first-child) .join-item{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.join.join-horizontal{flex-direction:row}.join.join-horizontal .join-item:first-child:not(:last-child),.join.join-horizontal *:first-child:not(:last-child) .join-item{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join.join-horizontal .join-item:last-child:not(:first-child),.join.join-horizontal *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:inherit;border-top-right-radius:inherit}.kbd-lg{padding-left:1rem;padding-right:1rem;font-size:1.125rem;line-height:1.75rem;min-height:2.5em;min-width:2.5em}.tooltip{position:relative;display:inline-block;--tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px))}.tooltip:before{position:absolute;pointer-events:none;z-index:1;content:var(--tw-content);--tw-content: attr(data-tip)}.tooltip:before,.tooltip-top:before{transform:translate(-50%);top:auto;left:50%;right:auto;bottom:var(--tooltip-offset)}.tooltip-bottom:before{transform:translate(-50%);top:var(--tooltip-offset);left:50%;right:auto;bottom:auto}.card-compact .card-body{padding:1rem;font-size:.875rem;line-height:1.25rem}.card-compact .card-title{margin-bottom:.25rem}.card-normal .card-body{padding:var(--padding-card, 2rem);font-size:1rem;line-height:1.5rem}.card-normal .card-title{margin-bottom:.75rem}.join.join-vertical>:where(*:not(:first-child)){margin-left:0;margin-right:0;margin-top:-1px}.join.join-horizontal>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.tooltip{position:relative;display:inline-block;text-align:center;--tooltip-tail: .1875rem;--tooltip-color: hsl(var(--n));--tooltip-text-color: hsl(var(--nc));--tooltip-tail-offset: calc(100% + .0625rem - var(--tooltip-tail))}.tooltip:before,.tooltip:after{opacity:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-delay:.1s;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tooltip:after{position:absolute;content:"";border-style:solid;border-width:var(--tooltip-tail, 0);width:0;height:0;display:block}.tooltip:before{max-width:20rem;border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;background-color:var(--tooltip-color);color:var(--tooltip-text-color);width:-moz-max-content;width:max-content}.tooltip.tooltip-open:before,.tooltip.tooltip-open:after,.tooltip:hover:before,.tooltip:hover:after{opacity:1;transition-delay:75ms}.tooltip:has(:focus-visible):after,.tooltip:has(:focus-visible):before{opacity:1;transition-delay:75ms}.tooltip:not([data-tip]):hover:before,.tooltip:not([data-tip]):hover:after{visibility:hidden;opacity:0}.tooltip:after,.tooltip-top:after{transform:translate(-50%);border-color:var(--tooltip-color) transparent transparent transparent;top:auto;left:50%;right:auto;bottom:var(--tooltip-tail-offset)}.tooltip-bottom:after{transform:translate(-50%);border-color:transparent transparent var(--tooltip-color) transparent;top:var(--tooltip-tail-offset);left:50%;right:auto;bottom:auto}.bati-widget{--lm: "";--lm2: ""}.listbox{position:relative;display:inline-flex;cursor:pointer;align-items:center;min-height:3rem;height:3rem;padding-left:1rem;padding-right:2.5rem;font-size:.875rem;line-height:1.25rem;line-height:2}.listbox[multiple]{height:auto}.listbox [role=combobox]{flex-grow:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:2px solid transparent;outline-offset:2px}.listbox [role=listbox]{position:absolute;top:100%;left:0;z-index:50;width:100%;overflow-y:auto}.listbox [role=combobox]:not([aria-expanded=true])~[role=listbox]{display:none}.listbox [role=listbox] [role=option]{min-height:3rem;box-sizing:border-box;display:inline-flex;height:3rem;width:100%;align-items:center;border-radius:0;padding-left:1rem;padding-right:2.5rem;font-size:.875rem;line-height:1.25rem;line-height:2}.listbox{border-radius:var(--rounded-btn, .5rem);border-width:1px;border-style:solid;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));padding-right:2.5rem;font-weight:600;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16px) calc(1px + 50%);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.listbox:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.listbox [role=listbox]{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.listbox [role=listbox] [role=option][aria-selected=true]{border-width:2px;border-style:solid;border-color:hsl(var(--bc) / .2)}.listbox [role=listbox] [role=option][aria-disabled=true]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));opacity:.2}.listbox [role=listbox] [role=option]:last-of-type{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.listbox-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.listbox-primary:focus{outline-color:hsl(var(--p) / 1)}.listbox-primary [role=listbox] [role=option][aria-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.listbox-success{--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity))}.listbox-success:focus{outline-color:hsl(var(--su) / 1)}.listbox-success [role=listbox] [role=option][aria-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity))}.listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.listbox-disabled::-moz-placeholder,.listbox:disabled::-moz-placeholder,.listbox[disabled]::-moz-placeholder,.listbox[aria-disabled=true]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.listbox-disabled::placeholder,.listbox:disabled::placeholder,.listbox[disabled]::placeholder,.listbox[aria-disabled=true]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.listbox-disabled,.listbox:disabled,.listbox[disabled],.listbox[aria-disabled=true]{outline:2px solid transparent!important;outline-offset:2px!important}.listbox-multiple,.listbox[multiple],.listbox[size].listbox:not([size="1"]){background-image:none;padding-right:1rem}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-top-2{top:-.5rem}.bottom-0{bottom:0}.left-2{left:.5rem}.left-2\\.5{left:.625rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-2\\.5{top:.625rem}.z-10{z-index:10}.z-30{z-index:30}.mx-auto{margin-left:auto;margin-right:auto}.mt-8{margin-top:2rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.max-h-4{max-height:1rem}.w-4\\/5{width:80%}.w-full{width:100%}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.cursor-default{cursor:default}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\\[repeat\\(auto-fit\\,_minmax\\(14rem\\,_1fr\\)\\)\\]{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-l-0{border-left-width:0px}.border-solid{border-style:solid}.border-base-200{--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity))}.border-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.border-success{--tw-border-opacity: 1;border-color:hsl(var(--su) / var(--tw-border-opacity))}.bg-base-100{--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity))}.bg-base-200{--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.bg-base-300{--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}.fill-base-100{fill:hsl(var(--b1) / 1)}.fill-neutral-800{fill:#262626}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.text-left{text-align:left}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-8xl{font-size:6rem;line-height:1}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.leading-10{line-height:2.5rem}.text-base-content{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-amber-500{text-decoration-color:#f59e0b}.decoration-fuchsia-700{text-decoration-color:#a21caf}.decoration-sky-500{text-decoration-color:#0ea5e9}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-1{outline-width:1px}.outline-offset-2{outline-offset:2px}.outline-amber-500{outline-color:#f59e0b}.outline-fuchsia-700{outline-color:#a21caf}.outline-sky-500{outline-color:#0ea5e9}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:opacity-100:hover{opacity:1}.hover\\:outline:hover{outline-style:solid}.group:hover .group-hover\\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-color-scheme: dark){.dark\\:fill-neutral-200{fill:#e5e5e5}}@media (min-width: 640px){.sm\\:w-auto{width:auto}}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
1003
+ `, pt = Symbol("store-raw"), F = Symbol("store-node"), V = Symbol("store-has"), le = Symbol("store-self");
1004
+ function ae(t) {
1005
+ let e = t[U];
1006
+ if (!e && (Object.defineProperty(t, U, {
1007
+ value: e = new Proxy(t, ci)
1008
+ }), !Array.isArray(t))) {
1009
+ const i = Object.keys(t), r = Object.getOwnPropertyDescriptors(t);
1010
+ for (let o = 0, M = i.length; o < M; o++) {
1011
+ const n = i[o];
1012
+ r[n].get && Object.defineProperty(t, n, {
1013
+ enumerable: r[n].enumerable,
1014
+ get: r[n].get.bind(e)
1015
+ });
1343
1016
  }
1344
1017
  }
1345
- return item;
1346
- }
1347
- function getDataNodes(target) {
1348
- let nodes = target[$NODE];
1349
- if (!nodes) Object.defineProperty(target, $NODE, {
1350
- value: nodes = Object.create(null)
1351
- });
1352
- return nodes;
1353
- }
1354
- function getDataNode(nodes, property, value) {
1355
- return nodes[property] || (nodes[property] = createDataNode(value));
1356
- }
1357
- function proxyDescriptor$1(target, property) {
1358
- const desc = Reflect.getOwnPropertyDescriptor(target, property);
1359
- if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE) return desc;
1360
- delete desc.value;
1361
- delete desc.writable;
1362
- desc.get = () => target[$PROXY][property];
1363
- return desc;
1364
- }
1365
- function trackSelf(target) {
1366
- if (getListener()) {
1367
- const nodes = getDataNodes(target);
1368
- (nodes._ || (nodes._ = createDataNode()))();
1018
+ return e;
1019
+ }
1020
+ function ut(t) {
1021
+ let e;
1022
+ return t != null && typeof t == "object" && (t[U] || !(e = Object.getPrototypeOf(t)) || e === Object.prototype || Array.isArray(t));
1023
+ }
1024
+ function et(t, e = /* @__PURE__ */ new Set()) {
1025
+ let i, r, o, M;
1026
+ if (i = t != null && t[pt])
1027
+ return i;
1028
+ if (!ut(t) || e.has(t))
1029
+ return t;
1030
+ if (Array.isArray(t)) {
1031
+ Object.isFrozen(t) ? t = t.slice(0) : e.add(t);
1032
+ for (let n = 0, l = t.length; n < l; n++)
1033
+ o = t[n], (r = et(o, e)) !== o && (t[n] = r);
1034
+ } else {
1035
+ Object.isFrozen(t) ? t = Object.assign({}, t) : e.add(t);
1036
+ const n = Object.keys(t), l = Object.getOwnPropertyDescriptors(t);
1037
+ for (let c = 0, s = n.length; c < s; c++)
1038
+ M = n[c], !l[M].get && (o = t[M], (r = et(o, e)) !== o && (t[M] = r));
1369
1039
  }
1370
- }
1371
- function ownKeys(target) {
1372
- trackSelf(target);
1373
- return Reflect.ownKeys(target);
1374
- }
1375
- function createDataNode(value) {
1376
- const [s, set] = createSignal(value, {
1377
- equals: false,
1378
- internal: true
1040
+ return t;
1041
+ }
1042
+ function gt(t, e) {
1043
+ let i = t[e];
1044
+ return i || Object.defineProperty(t, e, {
1045
+ value: i = /* @__PURE__ */ Object.create(null)
1046
+ }), i;
1047
+ }
1048
+ function it(t, e, i) {
1049
+ if (t[e])
1050
+ return t[e];
1051
+ const [r, o] = J(i, {
1052
+ equals: !1,
1053
+ internal: !0
1379
1054
  });
1380
- s.$ = set;
1381
- return s;
1382
- }
1383
- const proxyTraps$1 = {
1384
- get(target, property, receiver) {
1385
- if (property === $RAW) return target;
1386
- if (property === $PROXY) return receiver;
1387
- if (property === $TRACK) {
1388
- trackSelf(target);
1389
- return receiver;
1390
- }
1391
- const nodes = getDataNodes(target);
1392
- const tracked = nodes[property];
1393
- let value = tracked ? tracked() : target[property];
1394
- if (property === $NODE || property === "__proto__") return value;
1395
- if (!tracked) {
1396
- const desc = Object.getOwnPropertyDescriptor(target, property);
1397
- if (getListener() && (typeof value !== "function" || target.hasOwnProperty(property)) && !(desc && desc.get)) value = getDataNode(nodes, property, value)();
1055
+ return r.$ = o, t[e] = r;
1056
+ }
1057
+ function li(t, e) {
1058
+ const i = Reflect.getOwnPropertyDescriptor(t, e);
1059
+ return !i || i.get || !i.configurable || e === U || e === F || (delete i.value, delete i.writable, i.get = () => t[U][e]), i;
1060
+ }
1061
+ function ce(t) {
1062
+ zt() && it(gt(t, F), le)();
1063
+ }
1064
+ function ai(t) {
1065
+ return ce(t), Reflect.ownKeys(t);
1066
+ }
1067
+ const ci = {
1068
+ get(t, e, i) {
1069
+ if (e === pt)
1070
+ return t;
1071
+ if (e === U)
1072
+ return i;
1073
+ if (e === xt)
1074
+ return ce(t), i;
1075
+ const r = gt(t, F), o = r[e];
1076
+ let M = o ? o() : t[e];
1077
+ if (e === F || e === V || e === "__proto__")
1078
+ return M;
1079
+ if (!o) {
1080
+ const n = Object.getOwnPropertyDescriptor(t, e);
1081
+ zt() && (typeof M != "function" || t.hasOwnProperty(e)) && !(n && n.get) && (M = it(r, e, M)());
1398
1082
  }
1399
- return isWrappable(value) ? wrap$1(value) : value;
1083
+ return ut(M) ? ae(M) : M;
1400
1084
  },
1401
- has(target, property) {
1402
- if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === "__proto__") return true;
1403
- this.get(target, property, target);
1404
- return property in target;
1085
+ has(t, e) {
1086
+ return e === pt || e === U || e === xt || e === F || e === V || e === "__proto__" ? !0 : (zt() && it(gt(t, V), e)(), e in t);
1405
1087
  },
1406
1088
  set() {
1407
- return true;
1089
+ return !0;
1408
1090
  },
1409
1091
  deleteProperty() {
1410
- return true;
1092
+ return !0;
1411
1093
  },
1412
- ownKeys: ownKeys,
1413
- getOwnPropertyDescriptor: proxyDescriptor$1
1094
+ ownKeys: ai,
1095
+ getOwnPropertyDescriptor: li
1414
1096
  };
1415
- function setProperty(state, property, value, deleting = false) {
1416
- if (!deleting && state[property] === value) return;
1417
- const prev = state[property],
1418
- len = state.length;
1419
- if (value === undefined) delete state[property];else state[property] = value;
1420
- let nodes = getDataNodes(state),
1421
- node;
1422
- if (node = getDataNode(nodes, property, prev)) node.$(() => value);
1423
- if (Array.isArray(state) && state.length !== len) {
1424
- for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
1425
- (node = getDataNode(nodes, "length", len)) && node.$(state.length);
1097
+ function dt(t, e, i, r = !1) {
1098
+ if (!r && t[e] === i)
1099
+ return;
1100
+ const o = t[e], M = t.length;
1101
+ i === void 0 ? (delete t[e], t[V] && t[V][e] && o !== void 0 && t[V][e].$()) : (t[e] = i, t[V] && t[V][e] && o === void 0 && t[V][e].$());
1102
+ let n = gt(t, F), l;
1103
+ if ((l = it(n, e, o)) && l.$(() => i), Array.isArray(t) && t.length !== M) {
1104
+ for (let c = t.length; c < M; c++)
1105
+ (l = n[c]) && l.$();
1106
+ (l = it(n, "length", M)) && l.$(t.length);
1426
1107
  }
1427
- (node = nodes._) && node.$();
1108
+ (l = n[le]) && l.$();
1428
1109
  }
1429
- function mergeStoreNode(state, value) {
1430
- const keys = Object.keys(value);
1431
- for (let i = 0; i < keys.length; i += 1) {
1432
- const key = keys[i];
1433
- setProperty(state, key, value[key]);
1110
+ function se(t, e) {
1111
+ const i = Object.keys(e);
1112
+ for (let r = 0; r < i.length; r += 1) {
1113
+ const o = i[r];
1114
+ dt(t, o, e[o]);
1434
1115
  }
1435
1116
  }
1436
- function updateArray(current, next) {
1437
- if (typeof next === "function") next = next(current);
1438
- next = unwrap(next);
1439
- if (Array.isArray(next)) {
1440
- if (current === next) return;
1441
- let i = 0,
1442
- len = next.length;
1443
- for (; i < len; i++) {
1444
- const value = next[i];
1445
- if (current[i] !== value) setProperty(current, i, value);
1117
+ function si(t, e) {
1118
+ if (typeof e == "function" && (e = e(t)), e = et(e), Array.isArray(e)) {
1119
+ if (t === e)
1120
+ return;
1121
+ let i = 0, r = e.length;
1122
+ for (; i < r; i++) {
1123
+ const o = e[i];
1124
+ t[i] !== o && dt(t, i, o);
1446
1125
  }
1447
- setProperty(current, "length", len);
1448
- } else mergeStoreNode(current, next);
1449
- }
1450
- function updatePath(current, path, traversed = []) {
1451
- let part,
1452
- prev = current;
1453
- if (path.length > 1) {
1454
- part = path.shift();
1455
- const partType = typeof part,
1456
- isArray = Array.isArray(current);
1457
- if (Array.isArray(part)) {
1458
- for (let i = 0; i < part.length; i++) {
1459
- updatePath(current, [part[i]].concat(path), traversed);
1460
- }
1126
+ dt(t, "length", r);
1127
+ } else
1128
+ se(t, e);
1129
+ }
1130
+ function q(t, e, i = []) {
1131
+ let r, o = t;
1132
+ if (e.length > 1) {
1133
+ r = e.shift();
1134
+ const n = typeof r, l = Array.isArray(t);
1135
+ if (Array.isArray(r)) {
1136
+ for (let c = 0; c < r.length; c++)
1137
+ q(t, [r[c]].concat(e), i);
1461
1138
  return;
1462
- } else if (isArray && partType === "function") {
1463
- for (let i = 0; i < current.length; i++) {
1464
- if (part(current[i], i)) updatePath(current, [i].concat(path), traversed);
1465
- }
1139
+ } else if (l && n === "function") {
1140
+ for (let c = 0; c < t.length; c++)
1141
+ r(t[c], c) && q(t, [c].concat(e), i);
1466
1142
  return;
1467
- } else if (isArray && partType === "object") {
1143
+ } else if (l && n === "object") {
1468
1144
  const {
1469
- from = 0,
1470
- to = current.length - 1,
1471
- by = 1
1472
- } = part;
1473
- for (let i = from; i <= to; i += by) {
1474
- updatePath(current, [i].concat(path), traversed);
1475
- }
1145
+ from: c = 0,
1146
+ to: s = t.length - 1,
1147
+ by: a = 1
1148
+ } = r;
1149
+ for (let u = c; u <= s; u += a)
1150
+ q(t, [u].concat(e), i);
1476
1151
  return;
1477
- } else if (path.length > 1) {
1478
- updatePath(current[part], path, [part].concat(traversed));
1152
+ } else if (e.length > 1) {
1153
+ q(t[r], e, [r].concat(i));
1479
1154
  return;
1480
1155
  }
1481
- prev = current[part];
1482
- traversed = [part].concat(traversed);
1156
+ o = t[r], i = [r].concat(i);
1483
1157
  }
1484
- let value = path[0];
1485
- if (typeof value === "function") {
1486
- value = value(prev, traversed);
1487
- if (value === prev) return;
1488
- }
1489
- if (part === undefined && value == undefined) return;
1490
- value = unwrap(value);
1491
- if (part === undefined || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {
1492
- mergeStoreNode(prev, value);
1493
- } else setProperty(current, part, value);
1494
- }
1495
- function createStore(...[store, options]) {
1496
- const unwrappedStore = unwrap(store || {});
1497
- const isArray = Array.isArray(unwrappedStore);
1498
- const wrappedStore = wrap$1(unwrappedStore);
1499
- function setStore(...args) {
1500
- batch(() => {
1501
- isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);
1158
+ let M = e[0];
1159
+ typeof M == "function" && (M = M(o, i), M === o) || r === void 0 && M == null || (M = et(M), r === void 0 || ut(o) && ut(M) && !Array.isArray(M) ? se(o, M) : dt(t, r, M));
1160
+ }
1161
+ function ui(...[t, e]) {
1162
+ const i = et(t || {}), r = Array.isArray(i), o = ae(i);
1163
+ function M(...n) {
1164
+ qt(() => {
1165
+ r && n.length === 1 ? si(i, n[0]) : q(i, n);
1502
1166
  });
1503
1167
  }
1504
- return [wrappedStore, setStore];
1505
- }
1506
-
1507
- var framework = {
1508
- label: "Framework",
1509
- inview: true,
1510
- features: [
1511
- {
1512
- label: "SolidJS ★",
1513
- value: "solid",
1514
- selected: true
1515
- },
1516
- {
1517
- label: "React - Coming Soon",
1518
- value: "react",
1519
- disabled: true
1520
- },
1521
- {
1522
- label: "Vue - Coming Soon",
1523
- value: "vue",
1524
- disabled: true
1525
- }
1526
- ]
1527
- };
1528
- var auth = {
1529
- label: "Auth",
1530
- features: [
1531
- {
1532
- label: "AuthJS ★",
1533
- value: "authjs",
1534
- selected: true
1535
- },
1536
- {
1537
- label: "Auth0 - Coming Soon",
1538
- value: "auth0",
1539
- disabled: true
1540
- },
1541
- {
1542
- label: "Firebase - Coming Soon",
1543
- value: "firebase",
1544
- disabled: true
1545
- }
1546
- ]
1547
- };
1548
- var rpc = {
1549
- label: "RPC",
1550
- features: [
1551
- {
1552
- label: "Telefunc ★",
1553
- value: "telefunc",
1554
- selected: true
1555
- },
1556
- {
1557
- label: "tRPC - Coming Soon",
1558
- value: "trpc",
1559
- disabled: true
1560
- }
1561
- ]
1562
- };
1563
- var server = {
1564
- label: "Server",
1565
- features: [
1566
- {
1567
- label: "Hattip ★",
1568
- value: "hattip",
1569
- selected: true
1570
- },
1571
- {
1572
- label: "Express",
1573
- value: "express"
1574
- }
1575
- ]
1576
- };
1577
- var uikit = {
1578
- label: "CSS",
1579
- features: [
1580
- {
1581
- label: "TailwindCSS",
1582
- value: "tailwindcss",
1583
- selected: true
1584
- },
1585
- {
1586
- label: "UnoCSS - Coming Soon",
1587
- value: "unocss",
1588
- disabled: true
1589
- },
1590
- {
1591
- label: "MUI - Coming Soon",
1592
- value: "mui",
1593
- disabled: true
1594
- }
1595
- ]
1596
- };
1597
- var db = {
1598
- label: "Database",
1599
- features: [
1600
- {
1601
- label: "Prisma",
1602
- value: "prisma",
1603
- selected: true
1604
- },
1605
- {
1606
- label: "EdgeDB",
1607
- value: "edgedb"
1608
- }
1609
- ]
1610
- };
1611
- var hosting = {
1612
- disabled: true,
1613
- label: "Hosting",
1614
- features: [
1615
- {
1616
- label: "Coming Soon",
1617
- selected: true
1618
- },
1619
- {
1620
- label: "Vercel - Coming Soon",
1621
- value: "vercel",
1622
- disabled: true
1623
- },
1624
- {
1625
- label: "Netlify - Coming Soon",
1626
- value: "netlify",
1627
- disabled: true
1628
- }
1629
- ]
1630
- };
1631
- var analytics = {
1632
- label: "Analytics",
1633
- features: [
1634
- {
1635
- label: "Plausible.io",
1636
- value: "plausible.io",
1637
- selected: true
1638
- },
1639
- {
1640
- label: "Google Analytics - Coming Soon",
1641
- value: "google-analytics",
1642
- disabled: true
1643
- },
1644
- {
1645
- label: "Segment - Coming Soon",
1646
- value: "segment",
1647
- disabled: true
1648
- }
1649
- ]
1650
- };
1651
- var error = {
1652
- disabled: true,
1653
- label: "Error tracking",
1654
- features: [
1655
- {
1656
- label: "Coming Soon",
1657
- selected: true
1658
- },
1659
- {
1660
- label: "Sentry - Coming Soon",
1661
- value: "sentry",
1662
- disabled: true
1663
- },
1664
- {
1665
- label: "Logrocket - Coming Soon",
1666
- value: "logrocket",
1667
- disabled: true
1668
- }
1669
- ]
1670
- };
1671
- var features = {
1672
- framework: framework,
1673
- auth: auth,
1674
- rpc: rpc,
1675
- server: server,
1676
- uikit: uikit,
1677
- db: db,
1678
- hosting: hosting,
1679
- analytics: analytics,
1680
- error: error
1168
+ return [o, M];
1169
+ }
1170
+ const gi = {
1171
+ label: "Framework",
1172
+ inview: !0,
1173
+ features: [
1174
+ {
1175
+ label: "SolidJS ★",
1176
+ value: "solid",
1177
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjA4ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIyNTYgMjM5IDI1NiAyMzkiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjAiIHgxPSIyNy41IiB4Mj0iMTUyIiB5MT0iMyIgeTI9IjYzLjUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4xIiBzdG9wLWNvbG9yPSIjNzZiM2UxIi8+PHN0b3Agb2Zmc2V0PSIuMyIgc3RvcC1jb2xvcj0iI2RjZjJmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1NvbGlkanNJY29uMSIgeDE9Ijk1LjgiIHgyPSI3NCIgeTE9IjMyLjYiIHkyPSIxMDUuMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgyNDkuNTYgMjMzLjEyKSBzY2FsZSgxLjYxMDA2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzc2YjNlMSIvPjxzdG9wIG9mZnNldD0iLjUiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxZjNiNzciLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0ibG9nb3NTb2xpZGpzSWNvbjIiIHgxPSIxOC40IiB4Mj0iMTQ0LjMiIHkxPSI2NC4yIiB5Mj0iMTQ5LjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzMTVhYTkiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjNTE4YWM4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzE1YWE5Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImxvZ29zU29saWRqc0ljb24zIiB4MT0iNzUuMiIgeDI9IjI0LjQiIHkxPSI3NC41IiB5Mj0iMjYwLjgiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ5LjU2IDIzMy4xMikgc2NhbGUoMS42MTAwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzc3YmIiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMWEzMzZiIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbD0iIzc2YjNlMSIgZD0iTTUxMiAyODkuNDcycy04NS4zMzMtNjIuNzkxLTE1MS4zNDctNDguMzAxbC00LjgyOSAxLjYxYy05LjY2IDMuMjIxLTE3LjcxMSA4LjA1LTIyLjU0MiAxNC40OTFsLTMuMjE5IDQuODI5bC0yNC4xNTIgNDEuODYybDQxLjg2MyA4LjA1MWMxNy43MSAxMS4yNyA0MC4yNTEgMTYuMTAxIDYxLjE4MiAxMS4yN2w3NC4wNjMgMTQuNDkxTDUxMiAyODkuNDcyWiIvPjxwYXRoIGZpbGw9InVybCgjbG9nb3NTb2xpZGpzSWNvbjApIiBkPSJNNTEyIDI4OS40NzJzLTg1LjMzMy02Mi43OTEtMTUxLjM0Ny00OC4zMDFsLTQuODI5IDEuNjFjLTkuNjYgMy4yMjEtMTcuNzExIDguMDUtMjIuNTQyIDE0LjQ5MWwtMy4yMTkgNC44MjlsLTI0LjE1MiA0MS44NjJsNDEuODYzIDguMDUxYzE3LjcxIDExLjI3IDQwLjI1MSAxNi4xMDEgNjEuMTgyIDExLjI3bDc0LjA2MyAxNC40OTFMNTEyIDI4OS40NzJaIiBvcGFjaXR5PSIuMyIvPjxwYXRoIGZpbGw9IiM1MThhYzgiIGQ9Im0zMzMuMjgyIDI4OS40NzJsLTYuNDM5IDEuNjExYy0yNy4zNzEgOC4wNS0zNS40MjEgMzMuODExLTIwLjkzMiA1Ni4zNTJjMTYuMTAxIDIwLjkzMSA0OS45MTMgMzIuMjAxIDc3LjI4NCAyNC4xNTFsOTkuODI0LTMzLjgxMXMtODUuMzM0LTYyLjc5Mi0xNDkuNzM3LTQ4LjMwM1oiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24xKSIgZD0ibTMzMy4yODIgMjg5LjQ3MmwtNi40MzkgMS42MTFjLTI3LjM3MSA4LjA1LTM1LjQyMSAzMy44MTEtMjAuOTMyIDU2LjM1MmMxNi4xMDEgMjAuOTMxIDQ5LjkxMyAzMi4yMDEgNzcuMjg0IDI0LjE1MWw5OS44MjQtMzMuODExcy04NS4zMzQtNjIuNzkyLTE0OS43MzctNDguMzAzWiIgb3BhY2l0eT0iLjMiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24yKSIgZD0iTTQ2NS4zMDggMzYxLjkyNWMtMTguNDM5LTIzLjAzNi00OS4wMDgtMzIuNTg4LTc3LjI4My0yNC4xNWwtOTkuODIzIDMyLjIwMUwyNTYgNDI2LjMyOGwxODAuMzI3IDMwLjU5MmwzMi4yMDEtNTcuOTYzYzYuNDQxLTExLjI3MSA0LjgzMS0yNC4xNS0zLjIyLTM3LjAzMloiLz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zU29saWRqc0ljb24zKSIgZD0iTTQzMy4xMDYgNDE4LjI3N2MtMTguNDM5LTIzLjAzNi00OS4wMDYtMzIuNTg4LTc3LjI4Mi0yNC4xNUwyNTYgNDI2LjMyOHM4NS4zMzMgNjQuNDAyIDE1MS4zNDYgNDguMzAzbDQuODMtMS42MTJjMjcuMzcxLTguMDQ5IDM3LjAzMS0zMy44MSAyMC45My01NC43NDJaIi8+PC9zdmc+",
1178
+ selected: !0
1179
+ },
1180
+ {
1181
+ label: "React",
1182
+ value: "react",
1183
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyOCI+PHBhdGggZmlsbD0iIzAwRDhGRiIgZD0iTTIxMC40ODMgNzMuODI0YTE3MS40OSAxNzEuNDkgMCAwIDAtOC4yNC0yLjU5N2MuNDY1LTEuOS44OTMtMy43NzcgMS4yNzMtNS42MjFjNi4yMzgtMzAuMjgxIDIuMTYtNTQuNjc2LTExLjc2OS02Mi43MDhjLTEzLjM1NS03LjctMzUuMTk2LjMyOS01Ny4yNTQgMTkuNTI2YTE3MS4yMyAxNzEuMjMgMCAwIDAtNi4zNzUgNS44NDhhMTU1Ljg2NiAxNTUuODY2IDAgMCAwLTQuMjQxLTMuOTE3QzEwMC43NTkgMy44MjkgNzcuNTg3LTQuODIyIDYzLjY3MyAzLjIzM0M1MC4zMyAxMC45NTcgNDYuMzc5IDMzLjg5IDUxLjk5NSA2Mi41ODhhMTcwLjk3NCAxNzAuOTc0IDAgMCAwIDEuODkyIDguNDhjLTMuMjguOTMyLTYuNDQ1IDEuOTI0LTkuNDc0IDIuOThDMTcuMzA5IDgzLjQ5OCAwIDk4LjMwNyAwIDExMy42NjhjMCAxNS44NjUgMTguNTgyIDMxLjc3OCA0Ni44MTIgNDEuNDI3YTE0NS41MiAxNDUuNTIgMCAwIDAgNi45MjEgMi4xNjVhMTY3LjQ2NyAxNjcuNDY3IDAgMCAwLTIuMDEgOS4xMzhjLTUuMzU0IDI4LjItMS4xNzMgNTAuNTkxIDEyLjEzNCA1OC4yNjZjMTMuNzQ0IDcuOTI2IDM2LjgxMi0uMjIgNTkuMjczLTE5Ljg1NWExNDUuNTY3IDE0NS41NjcgMCAwIDAgNS4zNDItNC45MjNhMTY4LjA2NCAxNjguMDY0IDAgMCAwIDYuOTIgNi4zMTRjMjEuNzU4IDE4LjcyMiA0My4yNDYgMjYuMjgyIDU2LjU0IDE4LjU4NmMxMy43MzEtNy45NDkgMTguMTk0LTMyLjAwMyAxMi40LTYxLjI2OGExNDUuMDE2IDE0NS4wMTYgMCAwIDAtMS41MzUtNi44NDJjMS42Mi0uNDggMy4yMS0uOTc0IDQuNzYtMS40ODhjMjkuMzQ4LTkuNzIzIDQ4LjQ0My0yNS40NDMgNDguNDQzLTQxLjUyYzAtMTUuNDE3LTE3Ljg2OC0zMC4zMjYtNDUuNTE3LTM5Ljg0NFptLTYuMzY1IDcwLjk4NGMtMS40LjQ2My0yLjgzNi45MS00LjMgMS4zNDVjLTMuMjQtMTAuMjU3LTcuNjEyLTIxLjE2My0xMi45NjMtMzIuNDMyYzUuMTA2LTExIDkuMzEtMjEuNzY3IDEyLjQ1OS0zMS45NTdjMi42MTkuNzU4IDUuMTYgMS41NTcgNy42MSAyLjRjMjMuNjkgOC4xNTYgMzguMTQgMjAuMjEzIDM4LjE0IDI5LjUwNGMwIDkuODk2LTE1LjYwNiAyMi43NDMtNDAuOTQ2IDMxLjE0Wm0tMTAuNTE0IDIwLjgzNGMyLjU2MiAxMi45NCAyLjkyNyAyNC42NCAxLjIzIDMzLjc4N2MtMS41MjQgOC4yMTktNC41OSAxMy42OTgtOC4zODIgMTUuODkzYy04LjA2NyA0LjY3LTI1LjMyLTEuNC00My45MjctMTcuNDEyYTE1Ni43MjYgMTU2LjcyNiAwIDAgMS02LjQzNy01Ljg3YzcuMjE0LTcuODg5IDE0LjQyMy0xNy4wNiAyMS40NTktMjcuMjQ2YzEyLjM3Ni0xLjA5OCAyNC4wNjgtMi44OTQgMzQuNjcxLTUuMzQ1YTEzNC4xNyAxMzQuMTcgMCAwIDEgMS4zODYgNi4xOTNaTTg3LjI3NiAyMTQuNTE1Yy03Ljg4MiAyLjc4My0xNC4xNiAyLjg2My0xNy45NTUuNjc1Yy04LjA3NS00LjY1Ny0xMS40MzItMjIuNjM2LTYuODUzLTQ2Ljc1MmExNTYuOTIzIDE1Ni45MjMgMCAwIDEgMS44NjktOC40OTljMTAuNDg2IDIuMzIgMjIuMDkzIDMuOTg4IDM0LjQ5OCA0Ljk5NGM3LjA4NCA5Ljk2NyAxNC41MDEgMTkuMTI4IDIxLjk3NiAyNy4xNWExMzQuNjY4IDEzNC42NjggMCAwIDEtNC44NzcgNC40OTJjLTkuOTMzIDguNjgyLTE5Ljg4NiAxNC44NDItMjguNjU4IDE3Ljk0Wk01MC4zNSAxNDQuNzQ3Yy0xMi40ODMtNC4yNjctMjIuNzkyLTkuODEyLTI5Ljg1OC0xNS44NjNjLTYuMzUtNS40MzctOS41NTUtMTAuODM2LTkuNTU1LTE1LjIxNmMwLTkuMzIyIDEzLjg5Ny0yMS4yMTIgMzcuMDc2LTI5LjI5M2MyLjgxMy0uOTggNS43NTctMS45MDUgOC44MTItMi43NzNjMy4yMDQgMTAuNDIgNy40MDYgMjEuMzE1IDEyLjQ3NyAzMi4zMzJjLTUuMTM3IDExLjE4LTkuMzk5IDIyLjI0OS0xMi42MzQgMzIuNzkyYTEzNC43MTggMTM0LjcxOCAwIDAgMS02LjMxOC0xLjk3OVptMTIuMzc4LTg0LjI2Yy00LjgxMS0yNC41ODctMS42MTYtNDMuMTM0IDYuNDI1LTQ3Ljc4OWM4LjU2NC00Ljk1OCAyNy41MDIgMi4xMTEgNDcuNDYzIDE5LjgzNWExNDQuMzE4IDE0NC4zMTggMCAwIDEgMy44NDEgMy41NDVjLTcuNDM4IDcuOTg3LTE0Ljc4NyAxNy4wOC0yMS44MDggMjYuOTg4Yy0xMi4wNCAxLjExNi0yMy41NjUgMi45MDgtMzQuMTYxIDUuMzA5YTE2MC4zNDIgMTYwLjM0MiAwIDAgMS0xLjc2LTcuODg3Wm0xMTAuNDI3IDI3LjI2OGEzNDcuOCAzNDcuOCAwIDAgMC03Ljc4NS0xMi44MDNjOC4xNjggMS4wMzMgMTUuOTk0IDIuNDA0IDIzLjM0MyA0LjA4Yy0yLjIwNiA3LjA3Mi00Ljk1NiAxNC40NjUtOC4xOTMgMjIuMDQ1YTM4MS4xNTEgMzgxLjE1MSAwIDAgMC03LjM2NS0xMy4zMjJabS00NS4wMzItNDMuODYxYzUuMDQ0IDUuNDY1IDEwLjA5NiAxMS41NjYgMTUuMDY1IDE4LjE4NmEzMjIuMDQgMzIyLjA0IDAgMCAwLTMwLjI1Ny0uMDA2YzQuOTc0LTYuNTU5IDEwLjA2OS0xMi42NTIgMTUuMTkyLTE4LjE4Wk04Mi44MDIgODcuODNhMzIzLjE2NyAzMjMuMTY3IDAgMCAwLTcuMjI3IDEzLjIzOGMtMy4xODQtNy41NTMtNS45MDktMTQuOTgtOC4xMzQtMjIuMTUyYzcuMzA0LTEuNjM0IDE1LjA5My0yLjk3IDIzLjIwOS0zLjk4NGEzMjEuNTI0IDMyMS41MjQgMCAwIDAtNy44NDggMTIuODk3Wm04LjA4MSA2NS4zNTJjLTguMzg1LS45MzYtMTYuMjkxLTIuMjAzLTIzLjU5My0zLjc5M2MyLjI2LTcuMyA1LjA0NS0xNC44ODUgOC4yOTgtMjIuNmEzMjEuMTg3IDMyMS4xODcgMCAwIDAgNy4yNTcgMTMuMjQ2YzIuNTk0IDQuNDggNS4yOCA4Ljg2OCA4LjAzOCAxMy4xNDdabTM3LjU0MiAzMS4wM2MtNS4xODQtNS41OTItMTAuMzU0LTExLjc3OS0xNS40MDMtMTguNDMzYzQuOTAyLjE5MiA5Ljg5OS4yOSAxNC45NzguMjljNS4yMTggMCAxMC4zNzYtLjExNyAxNS40NTMtLjM0M2MtNC45ODUgNi43NzQtMTAuMDE4IDEyLjk3LTE1LjAyOCAxOC40ODZabTUyLjE5OC01Ny44MTdjMy40MjIgNy44IDYuMzA2IDE1LjM0NSA4LjU5NiAyMi41MmMtNy40MjIgMS42OTQtMTUuNDM2IDMuMDU4LTIzLjg4IDQuMDcxYTM4Mi40MTcgMzgyLjQxNyAwIDAgMCA3Ljg1OS0xMy4wMjZhMzQ3LjQwMyAzNDcuNDAzIDAgMCAwIDcuNDI1LTEzLjU2NVptLTE2Ljg5OCA4LjEwMWEzNTguNTU3IDM1OC41NTcgMCAwIDEtMTIuMjgxIDE5LjgxNWEzMjkuNCAzMjkuNCAwIDAgMS0yMy40NDQuODIzYy03Ljk2NyAwLTE1LjcxNi0uMjQ4LTIzLjE3OC0uNzMyYTMxMC4yMDIgMzEwLjIwMiAwIDAgMS0xMi41MTMtMTkuODQ2aC4wMDFhMzA3LjQxIDMwNy40MSAwIDAgMS0xMC45MjMtMjAuNjI3YTMxMC4yNzggMzEwLjI3OCAwIDAgMSAxMC44OS0yMC42MzdsLS4wMDEuMDAxYTMwNy4zMTggMzA3LjMxOCAwIDAgMSAxMi40MTMtMTkuNzYxYzcuNjEzLS41NzYgMTUuNDItLjg3NiAyMy4zMS0uODc2SDEyOGM3LjkyNiAwIDE1Ljc0My4zMDMgMjMuMzU0Ljg4M2EzMjkuMzU3IDMyOS4zNTcgMCAwIDEgMTIuMzM1IDE5LjY5NWEzNTguNDg5IDM1OC40ODkgMCAwIDEgMTEuMDM2IDIwLjU0YTMyOS40NzIgMzI5LjQ3MiAwIDAgMS0xMSAyMC43MjJabTIyLjU2LTEyMi4xMjRjOC41NzIgNC45NDQgMTEuOTA2IDI0Ljg4MSA2LjUyIDUxLjAyNmMtLjM0NCAxLjY2OC0uNzMgMy4zNjctMS4xNSA1LjA5Yy0xMC42MjItMi40NTItMjIuMTU1LTQuMjc1LTM0LjIzLTUuNDA4Yy03LjAzNC0xMC4wMTctMTQuMzIzLTE5LjEyNC0yMS42NC0yNy4wMDhhMTYwLjc4OSAxNjAuNzg5IDAgMCAxIDUuODg4LTUuNGMxOC45LTE2LjQ0NyAzNi41NjQtMjIuOTQxIDQ0LjYxMi0xOC4zWk0xMjggOTAuODA4YzEyLjYyNSAwIDIyLjg2IDEwLjIzNSAyMi44NiAyMi44NnMtMTAuMjM1IDIyLjg2LTIyLjg2IDIyLjg2cy0yMi44Ni0xMC4yMzUtMjIuODYtMjIuODZzMTAuMjM1LTIyLjg2IDIyLjg2LTIyLjg2WiIvPjwvc3ZnPg=="
1184
+ },
1185
+ {
1186
+ label: "Vue - Coming Soon",
1187
+ value: "vue",
1188
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMSI+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0iTTIwNC44IDBIMjU2TDEyOCAyMjAuOEwwIDBoOTcuOTJMMTI4IDUxLjJMMTU3LjQ0IDBoNDcuMzZaIi8+PHBhdGggZmlsbD0iIzQxQjg4MyIgZD0ibTAgMGwxMjggMjIwLjhMMjU2IDBoLTUxLjJMMTI4IDEzMi40OEw1MC41NiAwSDBaIi8+PHBhdGggZmlsbD0iIzM1NDk1RSIgZD0iTTUwLjU2IDBMMTI4IDEzMy4xMkwyMDQuOCAwaC00Ny4zNkwxMjggNTEuMkw5Ny45MiAwSDUwLjU2WiIvPjwvc3ZnPg==",
1189
+ disabled: !0
1190
+ }
1191
+ ]
1192
+ }, di = {
1193
+ label: "Auth",
1194
+ features: [
1195
+ {
1196
+ label: "AuthJS ★",
1197
+ value: "authjs",
1198
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0iIzg4ODg4OCIgZD0ibTUwLjAyNyAxMC40NTlsLS4wMTgtLjAzMmwtMzMuNjA2IDE5LjQwNGwuMDc2LjEzMnYyMi44OTNoLjAxNGMuMjg2IDE5LjExMSAxNC44NTkgMzQuNzU1IDMzLjUxOSAzNi43MThjMTguNjYtMS45NjIgMzMuMjM0LTE3LjYwNiAzMy41MTktMzYuNzE4VjI5Ljk1M2wuMDY2LS4xMTRsLTMzLjU3LTE5LjM4em0tLjAxNSA2OS4wOTdWNTEuNjc3SDI2LjQzNVYzNS42NTFMNTAuMDEyIDIyLjA0djI5LjYzN2gyMy41NjN2MS4xNzloLjAxN2MtLjI3OCAxMy41OTMtMTAuNDM5IDI0Ljc5OC0yMy41OCAyNi43eiIvPjwvc3ZnPg==",
1199
+ selected: !0
1200
+ },
1201
+ {
1202
+ label: "Auth0 - Coming Soon",
1203
+ value: "auth0",
1204
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjllbSIgaGVpZ2h0PSIxZW0iIHZpZXdCb3g9IjAgMCAyNTYgMjg1Ij48cGF0aCBkPSJNMjIwLjQxMiAwaC05Mi40MTVsMjguNTYyIDg5LjAwNmg5Mi40MTZsLTc0Ljc3IDUzLjA3N2wyOC41NyA4OS41MTFjNDguMTI4LTM1LjA2IDYzLjg1NC04OC4xMiA0Ni4yMDgtMTQyLjU4OEwyMjAuNDEzIDBaTTcuMDE4IDg5LjAwNmg5Mi40MTZMMTI3Ljk5NyAwSDM1LjU4OUw3LjAxOSA4OS4wMDZjLTE3LjY1NSA1NC40NjgtMS45MiAxMDcuNTI5IDQ2LjIwNyAxNDIuNTg4bDI4LjU2My04OS41MWwtNzQuNzctNTMuMDc4Wm00Ni4yMDggMTQyLjU4OGw3NC43NyA1Mi45N2w3NC43Ny01Mi45N2wtNzQuNzctNTMuODQ3bC03NC43NyA1My44NDdaIi8+PC9zdmc+",
1205
+ disabled: !0
1206
+ },
1207
+ {
1208
+ label: "Firebase - Coming Soon",
1209
+ value: "firebase",
1210
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjczZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDM1MSI+PGRlZnM+PGZpbHRlciBpZD0ibG9nb3NGaXJlYmFzZTAiIHdpZHRoPSIyMDAlIiBoZWlnaHQ9IjIwMCUiIHg9Ii01MCUiIHk9Ii01MCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+PGZlR2F1c3NpYW5CbHVyIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIiBzdGREZXZpYXRpb249IjE3LjUiLz48ZmVPZmZzZXQgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIGsyPSItMSIgazM9IjEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIi8+PGZlQ29sb3JNYXRyaXggaW49InNoYWRvd0lubmVySW5uZXIxIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDYgMCIvPjwvZmlsdGVyPjxmaWx0ZXIgaWQ9ImxvZ29zRmlyZWJhc2UxIiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIiB4PSItNTAlIiB5PSItNTAlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjxmZUdhdXNzaWFuQmx1ciBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93Qmx1cklubmVyMSIgc3RkRGV2aWF0aW9uPSIzLjUiLz48ZmVPZmZzZXQgZHg9IjEiIGR5PSItOSIgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIi8+PGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIGsyPSItMSIgazM9IjEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIi8+PGZlQ29sb3JNYXRyaXggaW49InNoYWRvd0lubmVySW5uZXIxIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMDkgMCIvPjwvZmlsdGVyPjxwYXRoIGlkPSJsb2dvc0ZpcmViYXNlMiIgZD0ibTEuMjUzIDI4MC43MzJsMS42MDUtMy4xMzFsOTkuMzUzLTE4OC41MThsLTQ0LjE1LTgzLjQ3NUM1NC4zOTItMS4yODMgNDUuMDc0LjQ3NCA0My44NyA4LjE4OEwxLjI1MyAyODAuNzMyWiIvPjxwYXRoIGlkPSJsb2dvc0ZpcmViYXNlMyIgZD0ibTEzNC40MTcgMTQ4Ljk3NGwzMi4wMzktMzIuODEybC0zMi4wMzktNjEuMDA3Yy0zLjA0Mi01Ljc5MS0xMC40MzMtNi4zOTgtMTMuNDQzLS41OWwtMTcuNzA1IDM0LjEwOWwtLjUzIDEuNzQ0bDMxLjY3OCA1OC41NTZaIi8+PC9kZWZzPjxwYXRoIGZpbGw9IiNGRkMyNEEiIGQ9Im0wIDI4Mi45OThsMi4xMjMtMi45NzJMMTAyLjUyNyA4OS41MTJsLjIxMi0yLjAxN0w1OC40OCA0LjM1OEM1NC43Ny0yLjYwNiA0NC4zMy0uODQ1IDQzLjExNCA2Ljk1MUwwIDI4Mi45OThaIi8+PHVzZSBmaWxsPSIjRkZBNzEyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGhyZWY9IiNsb2dvc0ZpcmViYXNlMiIvPjx1c2UgZmlsdGVyPSJ1cmwoI2xvZ29zRmlyZWJhc2UwKSIgaHJlZj0iI2xvZ29zRmlyZWJhc2UyIi8+PHBhdGggZmlsbD0iI0Y0QkQ2MiIgZD0ibTEzNS4wMDUgMTUwLjM4bDMyLjk1NS0zMy43NWwtMzIuOTY1LTYyLjkzYy0zLjEyOS01Ljk1Ny0xMS44NjYtNS45NzUtMTQuOTYyIDBMMTAyLjQyIDg3LjI4N3YyLjg2bDMyLjU4NCA2MC4yMzNaIi8+PHVzZSBmaWxsPSIjRkZBNTBFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGhyZWY9IiNsb2dvc0ZpcmViYXNlMyIvPjx1c2UgZmlsdGVyPSJ1cmwoI2xvZ29zRmlyZWJhc2UxKSIgaHJlZj0iI2xvZ29zRmlyZWJhc2UzIi8+PHBhdGggZmlsbD0iI0Y2ODIwQyIgZD0ibTAgMjgyLjk5OGwuOTYyLS45NjhsMy40OTYtMS40MmwxMjguNDc3LTEyOGwxLjYyOC00LjQzMWwtMzIuMDUtNjEuMDc0eiIvPjxwYXRoIGZpbGw9IiNGREUwNjgiIGQ9Im0xMzkuMTIxIDM0Ny41NTFsMTE2LjI3NS02NC44NDdsLTMzLjIwNC0yMDQuNDk1Yy0xLjAzOS02LjM5OC04Ljg4OC04LjkyNy0xMy40NjgtNC4zNEwwIDI4Mi45OThsMTE1LjYwOCA2NC41NDhhMjQuMTI2IDI0LjEyNiAwIDAgMCAyMy41MTMuMDA1Ii8+PHBhdGggZmlsbD0iI0ZDQ0EzRiIgZD0iTTI1NC4zNTQgMjgyLjE2TDIyMS40MDIgNzkuMjE4Yy0xLjAzLTYuMzUtNy41NTgtOC45NzctMTIuMTAzLTQuNDI0TDEuMjkgMjgyLjZsMTE0LjMzOSA2My45MDhhMjMuOTQzIDIzLjk0MyAwIDAgMCAyMy4zMzQuMDA2bDExNS4zOTItNjQuMzU1WiIvPjxwYXRoIGZpbGw9IiNFRUFCMzciIGQ9Ik0xMzkuMTIgMzQ1LjY0YTI0LjEyNiAyNC4xMjYgMCAwIDEtMjMuNTEyLS4wMDVMLjkzMSAyODIuMDE1bC0uOTMuOTgzbDExNS42MDcgNjQuNTQ4YTI0LjEyNiAyNC4xMjYgMCAwIDAgMjMuNTEzLjAwNWwxMTYuMjc1LTY0Ljg0N2wtLjI4NS0xLjc1MmwtMTE1Ljk5IDY0LjY4OVoiLz48L3N2Zz4=",
1211
+ disabled: !0
1212
+ }
1213
+ ]
1214
+ }, Ni = {
1215
+ label: "RPC",
1216
+ features: [
1217
+ {
1218
+ label: "Telefunc ★",
1219
+ value: "telefunc",
1220
+ image: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDcuMDIiIGhlaWdodD0iNDcuMDIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ3LjAyIDQ3LjAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGNpcmNsZSBjeD0iMjMuNTEiIGN5PSIyMy41MSIgcj0iMjEuOTUiIGZpbGw9IiNmN2UwMTgiIHN0cm9rZT0iIzMxMzQzZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzLjEyIiBzdHlsZT0icGFpbnQtb3JkZXI6bm9ybWFsIi8+CiA8ZyB0cmFuc2Zvcm09Im1hdHJpeCguOTU1MDMgMCAwIC45NTUwMyAuMzQ0MDUgMS4wMTE3KSIgZmlsbD0iIzMxMzQzZCIgc2hhcGUtcmVuZGVyaW5nPSJhdXRvIj4KICA8cGF0aCBkPSJtMjEuODA0IDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0bDMuNDkzLTUuMjM1MiAzLjQ5MTMgNS4yMzUyaDUuODgyNGwtMTIuODY3LTE5LjI5eiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGltYWdlLXJlbmRlcmluZz0iYXV0byIgc29saWQtY29sb3I9IiMwMDAwMDAiIHN0eWxlPSJmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LW51bWVyaWM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7aXNvbGF0aW9uOmF1dG87bWl4LWJsZW5kLW1vZGU6bm9ybWFsO3NoYXBlLXBhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb24tY29sb3I6IzAwMDAwMDt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZDt0ZXh0LWluZGVudDowO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWwiLz4KICA8cGF0aCBkPSJtMTQuODgyIDEzLjkxMyA2LjQzMzMgOS42NDU4LTYuNDMzMyA5LjY0NDFoNS44ODI0YzIuMDg1NS0zLjI5MTEgNC4wNDUyLTYuMjk1OSA2LjIyMjEtOS45NjE4bC02LjIyMjEtOS4zMjgxeiIgY29sb3I9IiMwMDAwMDAiIGNvbG9yLXJlbmRlcmluZz0iYXV0byIgZG9taW5hbnQtYmFzZWxpbmU9ImF1dG8iIGZpbGwtb3BhY2l0eT0iLjU3MzE1IiBpbWFnZS1yZW5kZXJpbmc9ImF1dG8iIHNvbGlkLWNvbG9yPSIjMDAwMDAwIiBzdHlsZT0iZm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtcG9zaXRpb246bm9ybWFsO2lzb2xhdGlvbjphdXRvO21peC1ibGVuZC1tb2RlOm5vcm1hbDtzaGFwZS1wYWRkaW5nOjA7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiMwMDAwMDA7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1pbmRlbnQ6MDt0ZXh0LW9yaWVudGF0aW9uOm1peGVkO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsIi8+CiAgPHBhdGggZD0ibTcuOTYwNCAxMy45MTMgNi40MzMzIDkuNjQ1OC02LjQzMzMgOS42NDQxaDUuODgyNGMyLjA4NTUtMy4yOTExIDQuMDQ1Mi02LjI5NTkgNi4yMjIxLTkuOTYxOGwtNi4yMjIxLTkuMzI4MXoiIGNvbG9yPSIjMDAwMDAwIiBjb2xvci1yZW5kZXJpbmc9ImF1dG8iIGRvbWluYW50LWJhc2VsaW5lPSJhdXRvIiBmaWxsLW9wYWNpdHk9Ii4yNzY1NSIgaW1hZ2UtcmVuZGVyaW5nPSJhdXRvIiBzb2xpZC1jb2xvcj0iIzAwMDAwMCIgc3R5bGU9ImZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYW50LWFsdGVybmF0ZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwMDAwO3RleHQtZGVjb3JhdGlvbi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtaW5kZW50OjA7dGV4dC1vcmllbnRhdGlvbjptaXhlZDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbCIvPgogPC9nPgo8L3N2Zz4K",
1221
+ selected: !0
1222
+ },
1223
+ {
1224
+ label: "tRPC - Coming Soon",
1225
+ value: "trpc",
1226
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjg0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDMwNSI+PHBhdGggZmlsbD0iIzM5OENDQiIgZD0iTTI4LjU3IDI0NC40ODRoMjEuOTgydjExLjE1M0gyOC41NzF2MjUuMzA4YTE2Ljg4IDE2Ljg4IDAgMCAwIC43MzggNS4zNjRhOC4xNTIgOC4xNTIgMCAwIDAgMi4wODggMy40YTcuODE1IDcuODE1IDAgMCAwIDMuMyAxLjg1MWMxLjIzNS4zMyAyLjUwNC41MSAzLjc4LjUzNmwuNTQ3LjAwMmMxLjE1IDAgMi4zMzggMCAzLjU2My0uMTYybC43MjctLjA5bDEuNDA5LS4xNmMuNDYxLS4wNTQuOTE1LS4xMTMgMS4zNjYtLjE4OGwuNjYtLjEwNWwxLjI0LS4xODRjLjQwMS0uMDYuNzktLjEyNCAxLjE3NS0uMTk5bC45MTgtLjE4NGwuNDI3LS4wOWwuNzktLjE3NmwuMzY2LS4wODdsMS40NzYgMTAuMzlhMTguNTA1IDE4LjUwNSAwIDAgMS0zLjc1MiAxLjZhMzUuOSAzNS45IDAgMCAxLTQuNTEzIDEuMTEzYy0xLjYuMy0zLjI2NC41MjYtNS4wMDIuNjg4YTU0LjI4IDU0LjI4IDAgMCAxLTUuMDg5LjIzOGEyOC4zOTYgMjguMzk2IDAgMCAxLTguNzUyLTEuMjVhMTYuODMgMTYuODMgMCAwIDEtNi43MjctNC4wMDJhMTcuMzQzIDE3LjM0MyAwIDAgMS00LjMwMi02Ljg1MmEyOS4xOTYgMjkuMTk2IDAgMCAxLTEuNTI1LTEwLjAwM3YtMjYuNzU4SDB2LTExLjE1M2gxMy40NDF2LTE0LjQxN2gxNS4xM3YxNC40MTdabTUzLjg4IDI5LjI3MXYyOS42MDlINjcuMTU2di03OS4yMzZoMjYuNjJhNDIuNTIgNDIuNTIgMCAwIDEgMTEuOTE2IDEuNTVhMjYuNjcgMjYuNjcgMCAwIDEgOS4xNCA0LjU1MmExOS44OCAxOS44OCAwIDAgMSA1Ljc5IDcuNTAyYTI0LjU3IDI0LjU3IDAgMCAxIDIuMDUgMTAuMzRhMjYuNzIgMjYuNzIgMCAwIDEtMS4wMTIgNy42NGEyMC4zMzEgMjAuMzMxIDAgMCAxLTcuNDAzIDEwLjgwNGEzMC4wOTYgMzAuMDk2IDAgMCAxLTUuOTAxIDMuNDg4bDE3LjAzIDMyLjY5N3YuNzEzaC0xNi40NDNMOTQuMDQgMjczLjc1NUg4Mi40NVptLjAxMi0xMi40MjhoMTEuMzE1YTE3Ljg2OCAxNy44NjggMCAwIDAgNi4yNTItMWExMC44NjYgMTAuODY2IDAgMCAwIDQuMzktMi45MTRhMTAuNTI4IDEwLjUyOCAwIDAgMCAyLjExMi0zLjU4OWMuNDQ4LTEuMzU4LjY5Mi0yLjc3NS43MjMtNC4yMDNsLjAwMi0uNTM2YTE1LjEwNCAxNS4xMDQgMCAwIDAtLjk1LTUuNTc2YTkuODY1IDkuODY1IDAgMCAwLTIuODUtNC4wMDFhMTIuMDY2IDEyLjA2NiAwIDAgMC00LjE0LTIuMTc2YTE5LjE0MyAxOS4xNDMgMCAwIDAtNC45Ny0uNzZsLTExLjg4NC0uMDAzdjI0Ljc1OFptNjcuODQ1IDQyLjAzN0gxMzUuMDR2LTc5LjIzNmgyNy4wOTVhMzQuNDEgMzQuNDEgMCAwIDEgMTEuNzAzIDEuODc2YTI2LjYzMyAyNi42MzMgMCAwIDEgOC45MjggNS4yMDFhMjMuMzA3IDIzLjMwNyAwIDAgMSA1LjYyNyA4LjA1M2EyNi4zNTggMjYuMzU4IDAgMCAxIDEuOTg4IDkuNzIzdi42NjdhMjQuMTcgMjQuMTcgMCAwIDEtMS45ODggOS44NTNhMjIuNTA3IDIyLjUwNyAwIDAgMS01LjYyNyA3Ljc3N2EyNi4zNyAyNi4zNyAwIDAgMS04Ljk2NSA1LjE3N2EzNC43MjMgMzQuNzIzIDAgMCAxLTExLjcwNCAxLjg1aC0xMS44MDNsLjAxMyAyOS4wNTlabTAtNDEuNDYyaDExLjgwM2ExNS4wMDQgMTUuMDA0IDAgMCAwIDUuNjY0LS45ODhhMTEuNTUzIDExLjU1MyAwIDAgMCA0LjAyNi0yLjY2M2ExMS4xNzggMTEuMTc4IDAgMCAwIDIuMzY0LTMuODg5Yy41My0xLjQ3Ni44LTMuMDMzLjgtNC42MDFhMTYuMzY3IDE2LjM2NyAwIDAgMC0uOC01LjE2NGExMS45NjYgMTEuOTY2IDAgMCAwLTIuMzY0LTQuMjAyYTExLjU5IDExLjU5IDAgMCAwLTQuMDI2LTIuODI1YTE0LjI2NyAxNC4yNjcgMCAwIDAtNS42NjQtMS4wMzhoLTExLjgwM3YyNS4zN1ptMTAzLjA0MiAyNy40MmEyNS4zMDcgMjUuMzA3IDAgMCAxLTUuOTAyIDguMTY1YTI2LjA0NSAyNi4wNDUgMCAwIDEtOC44MTUgNS4yMDJhMzMuNjQ3IDMzLjY0NyAwIDAgMS0xMC41NTggMS44MTRsLS43Ny0uMDAxYTMwLjc1OSAzMC43NTkgMCAwIDEtOS4wNTMtMS4yNWEyNS4zNDUgMjUuMzQ1IDAgMCAxLTcuNTAyLTMuNjc3YTI1LjcwNyAyNS43MDcgMCAwIDEtNS40MTQtNS4zODlhMzMuNjcyIDMzLjY3MiAwIDAgMS00LjAwMS02Ljk2NGE0MS41NzUgNDEuNTc1IDAgMCAxLTIuNDEzLTguMzc4YTUzLjQwOCA1My40MDggMCAwIDEtLjg1MS05LjY5di0xMC42NjZhNTMuNDMgNTMuNDMgMCAwIDEgLjc2My05LjExNWEzOS40MTEgMzkuNDExIDAgMCAxIDEuOTUtNy4xNjFsLjMzOC0uODY2YTMwLjQwOSAzMC40MDkgMCAwIDEgNC41NzctOC4wNTNhMjkuMjcxIDI5LjI3MSAwIDAgMSA2LjQxNC01Ljk3NmEyNi4xNTggMjYuMTU4IDAgMCAxIDcuMDUyLTMuMTg5YTI5LjEwOCAyOS4xMDggMCAwIDEgNy40OC0xLjExbC43Ni0uMDAzYTMzLjc2IDMzLjc2IDAgMCAxIDExLjYxNiAxLjg1YTIzLjc1NyAyMy43NTcgMCAwIDEgMTQuMzQyIDEzLjY1NWEzNy40MTEgMzcuNDExIDAgMCAxIDIuNjEzIDExLjE1M2gtMTUuMjNjLS4wOS0yLjEyLS40NDItNC4yMi0xLjA1LTYuMjUyYTEyLjM1NCAxMi4zNTQgMCAwIDAtMi40MjUtNC40NjNhMTAuNDE2IDEwLjQxNiAwIDAgMC00LjA1Mi0yLjYzOWExNi43MyAxNi43MyAwIDAgMC01LjgwMS0uOWExNC4yNDIgMTQuMjQyIDAgMCAwLTMuMzUxLjM4OGMtMSAuMjQzLTEuOTU5LjYyNi0yLjg1MSAxLjEzN2ExMS4zMjggMTEuMzI4IDAgMCAwLTMuNzUxIDMuNzUyYTIxLjk2OSAyMS45NjkgMCAwIDAtMi41MDEgNS42MzlhMzQuMDEgMzQuMDEgMCAwIDAtMS4wMjUgNS41MjZhNTguNzY3IDU4Ljc2NyAwIDAgMC0uMzI1IDYuNTAydjEwLjc2NmE2MS4yOCA2MS4yOCAwIDAgMCAuNTEyIDguNDY1YTI4LjkyIDI4LjkyIDAgMCAwIDEuNiA2LjUwMmExNS45OTIgMTUuOTkyIDAgMCAwIDEuODI2IDMuMzc2Yy42NjcuOTYgMS40ODcgMS44MDQgMi40MjYgMi41YTEwLjAwMyAxMC4wMDMgMCAwIDAgMy4yODggMS42YTE0LjU2IDE0LjU2IDAgMCAwIDQuMDUyLjUyNmExNy45MTggMTcuOTE4IDAgMCAwIDUuMzg5LS43NjNhMTAuMzAzIDEwLjMwMyAwIDAgMCA0LjA4OC0yLjRhMTEuMjUzIDExLjI1MyAwIDAgMCAyLjY2NC00LjE5YTIwLjk2OSAyMC45NjkgMCAwIDAgMS4yNS02LjE1SDI1NmEzMC4zOTYgMzAuMzk2IDAgMCAxLTIuNjUgMTAuNzI3Wk0xODYuMzggOTIuNDAybDM4LjQ4NiAyMi4yMnY0NC40NjJsLTM4LjQ4NiAyMi4yMmwtMTcuMDg1LTkuODgxbC00MS41NDUgMjMuOTg0bC00MS4yOTYtMjMuODQ3bC0xNi44NDYgOS43NDNsLTM4LjQ4Ni0yMi4yNTZWMTE0LjYybDM4LjQ4Ni0yMi4yMTlsMzguNDg2IDIyLjIydjQ0LjQyNWwtMTEuNjQzIDYuNzMzbDMxLjI5OSAxOC4wNzRsMzEuNTQ4LTE4LjIxMmwtMTEuNDA1LTYuNTk1VjExNC42MmwzOC40ODctMjIuMjE5Wk0xNTcuODk2IDEyNi4ydjI3LjEybDIzLjQ4MiAxMy41NTV2LTI3LjEyTDE1Ny44OTYgMTI2LjJabTU2Ljk2Ny0uMDM3bC0yMy40ODIgMTMuNTU0djI3LjE1OGwyMy40ODItMTMuNTkydi0yNy4xMlptLTE3My43MzggMHYyNy4xMmwyMy40ODEgMTMuNTU0di0yNy4xMmwtMjMuNDgxLTEzLjU1NFptNTYuOTY2IDBMNzQuNjEgMTM5LjcxNnYyNy4xMmwyMy40ODItMTMuNTU0di0yNy4xMlptODguMjg5LTIyLjE4MmwtMjMuNDgyIDEzLjU1NGwyMy40ODIgMTMuNTY3bDIzLjQ4MS0xMy41NjdsLTIzLjQ4MS0xMy41NTRabS0xMTYuNzcyLS4wMzdsLTIzLjQ4MiAxMy41OTFsMjMuNDgyIDEzLjUzbDIzLjQ4Mi0xMy41M2wtMjMuNDgyLTEzLjU5MVptMTkuMTQzLTY4LjkydjExLjU0bC0zNS42MSAyMC41N3YzNC43NzJsLTEwLjAwMyA1Ljc3N1Y2MS4zNTVMODguNzUgMzUuMDIzWk0xMjcuMjM3IDBsMzguNTEyIDIyLjIxOXYxMi4yMTlsNDYuNjEzIDI2LjkxN3Y0Ni4wMzlsLTEwLjAwMy01Ljc3N1Y2Ny4xMzJsLTM2LjYxLTIxLjE0MXYyMC42NjZsLTM4LjQ4NyAyMi4yMTlsLTM4LjQ4Ni0yMi4yMTlWMjIuMjE5TDEyNy4yMzcgMFpNOTguNzggMzMuNzZ2MjcuMTJsMjMuNDU3IDEzLjU1NFY0Ny4zMjZMOTguNzc5IDMzLjc2Wm01Ni45NDIgMGwtMjMuNDU3IDEzLjU2NnYyNy4wOTZMMTU1LjcyIDYwLjg4VjMzLjc2Wm0tMjguNDg0LTIyLjIwN0wxMDMuNzggMjUuMTA3bDIzLjQ1NyAxMy41NTRsMjMuNDgyLTEzLjU1NGwtMjMuNDgyLTEzLjU1NFoiLz48L3N2Zz4=",
1227
+ disabled: !0
1228
+ }
1229
+ ]
1230
+ }, ji = {
1231
+ label: "Server",
1232
+ features: [
1233
+ {
1234
+ label: "Hattip ★",
1235
+ value: "hattip",
1236
+ image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMjYzIDIyOCIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBpZD0iSGF0VGlwTG9nbyIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMC43MTcxMDUsIDcuODg4MTU4KSI+CiAgICA8cGF0aCBkPSJNMzQuNjMsMTYyLjMxMWMtMCwwIC0xMi4xNjEsLTYxLjc4IC0xMi42NzksLTgxLjAxOGMwLC0wIDEuODkyLC01My4zNDIgNzUuMDU3LC02OC41OGMwLDAgNzkuMTcxLC0zMC4wNzYgMTA1LjUzOCwyNC4zMzZjMCwtMCAyMy4wNDMsNTcuMzIzIDI1LjM0LDc2Ljg5Yy0wLC0wIC01NC40NywzOS4wNzMgLTE5MS44MjEsNTQuMzY3bC0xLjQzNSwtNS45OTVaIiBzdHlsZT0iZmlsbDojMjMzNjNmO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgPHBhdGggZD0iTTM5LjI3NywxODEuNjkybC0zLjIxMiwtMTMuMzg2YzAsMCAxMjEuOTM0LC0xMS4yMzUgMTkxLjgyMSwtNTQuMzY3bDMuODg3LDE2LjIwNGMtMCwwIC04OS4xLDU5LjYzNyAtMTkyLjQ5Niw1MS41NDlaIiBzdHlsZT0iZmlsbDojMDRiNTc4O2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgPHBhdGggZD0iTTMzLjg1MiwxNTguMDI0bDUuNDI1LDIzLjY2OGMtMCwtMCA4OS4wNTksMTEuMTM3IDE5Mi40OTYsLTUxLjU0OWwtMy44ODcsLTE2LjIwNGwyNC44ODksLTEyLjAwNmMwLDAgNy4yMzEsLTMuOTczIDQuNTI0LDcuNDgxYy0wLC0wIDEuNjM5LDU3Ljk1MyAtMTMwLjI1MSw4Ny4zMTRjLTEyNi43NTQsMjguMjE4IC0xMzEuMzg1LC0zMi41NzUgLTExNy4wOTQsLTM1LjYxM2wyMy44OTgsLTMuMDkxWiIgc3R5bGU9ImZpbGw6IzIzMzY0MDtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICA8L2c+Cjwvc3ZnPg==",
1237
+ selected: !0
1238
+ },
1239
+ {
1240
+ label: "Express",
1241
+ value: "express"
1242
+ }
1243
+ ]
1244
+ }, Ii = {
1245
+ label: "CSS",
1246
+ features: [
1247
+ {
1248
+ label: "TailwindCSS",
1249
+ value: "tailwindcss",
1250
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjY3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDE1NCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJsb2dvc1RhaWx3aW5kY3NzSWNvbjAiIHgxPSItMi43NzglIiB4Mj0iMTAwJSIgeTE9IjMyJSIgeTI9IjY3LjU1NiUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMyMjk4QkQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwRUQ3QjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSJ1cmwoI2xvZ29zVGFpbHdpbmRjc3NJY29uMCkiIGQ9Ik0xMjggMEM5My44NjcgMCA3Mi41MzMgMTcuMDY3IDY0IDUxLjJDNzYuOCAzNC4xMzMgOTEuNzMzIDI3LjczMyAxMDguOCAzMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEMxNDUuNzUxIDYyLjA1NyAxNjAuMjc1IDc2LjggMTkyIDc2LjhjMzQuMTMzIDAgNTUuNDY3LTE3LjA2NyA2NC01MS4yYy0xMi44IDE3LjA2Ny0yNy43MzMgMjMuNDY3LTQ0LjggMTkuMmMtOS43MzctMi40MzQtMTYuNjk3LTkuNDk5LTI0LjQwMS0xNy4zMThDMTc0LjI0OSAxNC43NDMgMTU5LjcyNSAwIDEyOCAwWk02NCA3Ni44QzI5Ljg2NyA3Ni44IDguNTMzIDkzLjg2NyAwIDEyOGMxMi44LTE3LjA2NyAyNy43MzMtMjMuNDY3IDQ0LjgtMTkuMmM5LjczNyAyLjQzNCAxNi42OTcgOS40OTkgMjQuNDAxIDE3LjMxOEM4MS43NTEgMTM4Ljg1NyA5Ni4yNzUgMTUzLjYgMTI4IDE1My42YzM0LjEzMyAwIDU1LjQ2Ny0xNy4wNjcgNjQtNTEuMmMtMTIuOCAxNy4wNjctMjcuNzMzIDIzLjQ2Ny00NC44IDE5LjJjLTkuNzM3LTIuNDM0LTE2LjY5Ny05LjQ5OS0yNC40MDEtMTcuMzE4QzExMC4yNDkgOTEuNTQzIDk1LjcyNSA3Ni44IDY0IDc2LjhaIi8+PC9zdmc+",
1251
+ selected: !0
1252
+ },
1253
+ {
1254
+ label: "MUI - Coming Soon",
1255
+ value: "mui",
1256
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMiI+PHBhdGggZmlsbD0iIzAwN0ZGRiIgZD0iTTIxNS43NzEgMTUxLjEwN2E3LjExMSA3LjExMSAwIDAgMCAzLjU3LTYuMTQ0bC4xMjgtNDEuMTUzYTcuMTExIDcuMTExIDAgMCAxIDMuNTctNi4xNDVsMjIuMzA4LTEyLjgxNEE3LjExMSA3LjExMSAwIDAgMSAyNTYgOTEuMDE2djc0LjgxOGE3LjExIDcuMTEgMCAwIDEtMy41NyA2LjE2NmwtODQuMTkgNDguMzU3YTcuMTExIDcuMTExIDAgMCAxLTcuMDcuMDA3bC02Ni4wNy0zNy43OWE3LjExMSA3LjExMSAwIDAgMS0zLjU4NS02LjE3MnYtMzcuNzI2YzAtLjA0Mi4wNS0uMDcuMDkzLS4wNWMuMDM1LjAyMi4wODUgMCAuMDg1LS4wNXYtLjA0MmMwLS4wMjguMDE0LS4wNTcuMDQzLS4wNzFsNTQuNDE2LTMxLjI2MWMuMDUtLjAyOS4wMjgtLjEwNy0uMDI5LS4xMDdhLjA1Ny4wNTcgMCAwIDEtLjA1Ny0uMDU3bC4xMDctMzYuOTg2YTcuMTExIDcuMTExIDAgMCAwLTEwLjY2Ny02LjE4N0w5NS4wNjQgODcuMTdhNy4xMTEgNy4xMTEgMCAwIDEtNy4wOTcgMGwtNDAuNTctMjMuMzZhNy4xMTEgNy4xMTEgMCAwIDAtMTAuNjYgNi4xNTh2NjYuODQ2YTcuMTExIDcuMTExIDAgMCAxLTEwLjYzOCA2LjE4TDMuNTg0IDEzMC4xMkE3LjExMSA3LjExMSAwIDAgMSAwIDEyMy45MzVMLjIgNy4wOTVBNy4xMTEgNy4xMTEgMCAwIDEgMTAuODUxLjk0Nkw4Ny45NzQgNDUuMjRhNy4xMTEgNy4xMTEgMCAwIDAgNy4wODMgMGw3Ny4xLTQ0LjI5NmE3LjExMSA3LjExMSAwIDAgMSAxMC42NTMgNi4xNzJ2MTE2Ljg2N2E3LjExMSA3LjExMSAwIDAgMS0zLjU2MiA2LjE2NmwtNDAuMzc4IDIzLjI1NGE3LjExMSA3LjExMSAwIDAgMCAuMDI4IDEyLjMzOGwyMi4yNzMgMTIuNjhhNy4xMTEgNy4xMTEgMCAwIDAgNy4wNjEtLjAxNWw0Ny41NC0yNy4zWm00LjY3Mi0xMDQuODM1YTcuMTExIDcuMTExIDAgMCAwIDEwLjc2NyA2LjA5NGwyMS4zMzQtMTIuOEE3LjExMSA3LjExMSAwIDAgMCAyNTYgMzMuNDcyVjcuMzg3QTcuMTExIDcuMTExIDAgMCAwIDI0NS4yMzMgMS4zTDIyMy45IDE0LjFhNy4xMTEgNy4xMTEgMCAwIDAtMy40NTcgNi4wOTV2MjYuMDg0di0uMDA3WiIvPjwvc3ZnPg==",
1257
+ disabled: !0
1258
+ }
1259
+ ]
1260
+ }, yi = {
1261
+ label: "Database",
1262
+ features: [
1263
+ {
1264
+ label: "Prisma",
1265
+ value: "prisma",
1266
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjgzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDMxMCI+PHBhdGggZD0iTTI1NC4zMTMgMjM1LjUxOUwxNDggOS43NDlBMTcuMDYzIDE3LjA2MyAwIDAgMCAxMzMuNDczLjAzN2ExNi44NyAxNi44NyAwIDAgMC0xNS41MzMgOC4wNTJMMi42MzMgMTk0Ljg0OGExNy40NjUgMTcuNDY1IDAgMCAwIC4xOTMgMTguNzQ3TDU5LjIgMzAwLjg5NmExOC4xMyAxOC4xMyAwIDAgMCAyMC4zNjMgNy40ODlsMTYzLjU5OS00OC4zOTJhMTcuOTI5IDE3LjkyOSAwIDAgMCAxMS4yNi05LjcyMmExNy41NDIgMTcuNTQyIDAgMCAwLS4xMDEtMTQuNzZsLS4wMDguMDA4Wm0tMjMuODAyIDkuNjgzbC0xMzguODIzIDQxLjA1Yy00LjIzNSAxLjI2LTguMy0yLjQxMS03LjQxOS02LjY4NWw0OS41OTgtMjM3LjQ4NGMuOTI3LTQuNDQzIDcuMDYzLTUuMTQ3IDkuMDAzLTEuMDM1bDkxLjgxNCAxOTQuOTczYTYuNjMgNi42MyAwIDAgMS00LjE4IDkuMThoLjAwN1oiLz48L3N2Zz4=",
1267
+ selected: !0
1268
+ },
1269
+ {
1270
+ label: "EdgeDB",
1271
+ value: "edgedb",
1272
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyLjIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgNTEyIDIzMi43MjciPjxwYXRoIGZpbGw9IiM0RDRENEQiIGQ9Ik00MzMuNjY3IDExNS4yMzhjMCAzNS4zMzMtMTQuMTY3IDQxLjY2Ni0zMC4wMDIgNDEuNjY2SDM3MFY3My41NzFoMzMuNjY2YzE1LjgzNSAwIDMwLjAwMiA2LjMzNCAzMC4wMDIgNDEuNjY3Wm0tMTcuMTY3LjAwNGMwLTI0LjY2Ny03LjUtMjUuODMzLTE4LjMzMy0yNS44MzNoLTEwLjQ5OXY1MS42NjZoMTAuNWMxMC44MzMgMCAxOC4zMzItMS4xNjcgMTguMzMyLTI1LjgzM1ptLTE3OC4zMzYgNDEuNjYyVjczLjU3MWg1My4wMDF2MTUuODM0aC0zNS4zMzR2MTdoMjYuNjY2djE1LjY2NmgtMjYuNjY2djE5aDM1LjMzNHYxNS44MzNoLTUzWk0zMjAgMjMyLjcyN2gxNy40NTVWMEgzMjB2MjMyLjcyN1pNNDY4Ljk5NSAxMTkuOTF2MjEuMTY2aDE0LjY2OGM5LjE2NiAwIDExLjUtNiAxMS41LTEwLjVjMC0zLjUtMS42NjgtMTAuNjY2LTE0LjE2OC0xMC42NjZoLTEyWm0wLTMwLjUwMnYxNS44MzNoMTJjNi44MzMgMCAxMC44MzMtMyAxMC44MzMtOHMtNC03LjgzMy0xMC44MzMtNy44MzNoLTEyWk00NTEuMzM0IDczLjU3aDMzLjk5OGMxNy44MzYgMCAyMy4xNjggMTIuNSAyMy4xNjggMjEuNWMwIDguMzM0LTUuMzMyIDE0LjMzNC05IDE2YzEwLjY2NyA1LjE2NyAxMi41IDE1LjY2NyAxMi41IDIxYzAgNy0zLjUgMjQuODMzLTI2LjY2OCAyNC44MzNoLTMzLjk5OFY3My41NzFabS0zMTQuNjY1IDQxLjY2N2MwIDM1LjMzMy0xNC4xNjcgNDEuNjY2LTMwIDQxLjY2Nkg3My4wMDJWNzMuNTcxaDMzLjY2N2MxNS44MzMgMCAzMCA2LjMzNCAzMCA0MS42NjdabTUxLjk5NyAyNi41MDdjOSAwIDEzLjY2Ni0zIDE1LjMzMy01di05LjE2NmgtMTQuMzM0di0xNC4zMzRoMjguNXYzMy4xNjdjLTIuNSAzLjgzMy0xNi4xNjYgMTEuMzMzLTI4LjY2NiAxMS4zMzNjLTIwLjUgMC0zNy44MzMtOC0zNy44MzMtNDMuMzMzczE3LjUtNDEuNjY2IDMzLjMzMy00MS42NjZjMjQuODMzIDAgMzEgMTMgMzMgMjQuNWwtMTQuNjY3IDMuMzMzYy0uODMzLTUuMzM0LTUuNS0xMi0xNi4xNjYtMTJjLTEwLjgzNCAwLTE4LjMzNCAxLjE2Ni0xOC4zMzQgMjUuODMzYzAgMjQuNjY3IDcuODM0IDI3LjMzMyAxOS44MzQgMjcuMzMzWk0xMTkuNSAxMTUuMjQyYzAtMjQuNjY3LTcuNS0yNS44MzMtMTguMzMzLTI1LjgzM2gtMTAuNXY1MS42NjZoMTAuNWMxMC44MzMgMCAxOC4zMzMtMS4xNjcgMTguMzMzLTI1LjgzM1pNMCAxNTYuOTA0VjczLjU3MWg1M3YxNS44MzRIMTcuNjY3djE3aDI2LjY2NnYxNS42NjZIMTcuNjY3djE5SDUzdjE1LjgzM0gwWiIvPjwvc3ZnPg=="
1273
+ }
1274
+ ]
1275
+ }, Di = {
1276
+ label: "Analytics",
1277
+ features: [
1278
+ {
1279
+ label: "Plausible.io",
1280
+ value: "plausible.io",
1281
+ image: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bG9nbzwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8cmFkaWFsR3JhZGllbnQgY3g9Ijc5LjEzMDUyNjMlIiBjeT0iODcuNjQ0ODE1OCUiIGZ4PSI3OS4xMzA1MjYzJSIgZnk9Ijg3LjY0NDgxNTglIiByPSI5Ni45ODk3NzYzJSIgaWQ9InJhZGlhbEdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjQ0MEU2IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1NjYxQjMiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIxLjUwNjEwNDU3ZS0wNSUiIGN5PSIzMC4yMTk4OTQxJSIgZng9IjEuNTA2MTA0NTdlLTA1JSIgZnk9IjMwLjIxOTg5NDElIiByPSI2Mi4yNjg4NzczJSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwwLjMwMjE5OSksc2NhbGUoMS4wMDAwMDAsMC43MjI1MTkpLHJvdGF0ZSg2MS43MzQ1MjIpLHRyYW5zbGF0ZSgtMC4wMDAwMDAsLTAuMzAyMTk5KSIgaWQ9InJhZGlhbEdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBzdG9wLW9wYWNpdHk9IjAuNSIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjU3NENEIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxvZ28iPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9IkJpdG1hcCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMi41MzEwMTcsIDAuMDQ5NjI4KSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy40Njg5ODMsIDkuOTY3NTIzKSBzY2FsZSgtMSwgMSkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTcuNDY4OTgzLCAtOS45Njc1MjMpIHRyYW5zbGF0ZSgwLjAwMDAwMCwgMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSJ1cmwoI3JhZGlhbEdyYWRpZW50LTEpIiBjeD0iNy40Njg5ODI2NCIgY3k9IjEyLjQ2NjA2MjciIHI9IjcuNDY4OTgyNjQiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02LjE4ODU4NTYyLDE5Ljg1MTExNjYgQzQuNjQ1MTYxMywxOS41ODMxMjY2IDMuMzQ0OTEzMTgsMTguOTI4MDM5NyAyLjI2Nzk5MDEsMTcuODc1OTMwNSBDMS4xNjEyOTAzNCwxNi43OTQwNDQ3IDAuNDc2NDI2ODE4LDE1LjUzMzQ5ODggMC4xNDM5MjA2MTUsMTMuOTYwMjk3OCBMMC4wMjk3NzY2OTQsMTMuNDI0MzE3NiBMMC4wMTQ4ODgzNTY2LDYuNzE0NjQwMTkgTDEuOTE2MDAwMDNlLTA4LC00LjkyOTM5MDIzZS0xNiBMMC4xMzg5NTc4MzYsLTQuOTI5MzkwMjNlLTE2IEMwLjIxODM2MjMwMiwtNC45MjkzOTAyM2UtMTYgMC40NzE0NjQwNCwwLjAyNDgxMzg5NTggMC42OTk3NTE4OCwwLjA0OTYyNzc5MTYgQzIuNjUwMTI0MDgsMC4yODc4NDExOTEgNC4zMDc2OTIzMiwxLjQ2ODk4MjYzIDUuMjEwOTE4MTQsMy4yNjA1NDU5MSBDNS40MzkyMDU5OCwzLjcxNzEyMTU5IDUuNjAyOTc3NjgsNC4yNDMxNzYxNyA1LjcxNzEyMTYsNC44OTgyNjMwMyBDNS44MTE0MTQ0Miw1LjQ1NDA5NDI5IDUuODE2Mzc3Miw1LjYzNzcxNzEzIDUuODAxNDg4ODYsOC41MzU5ODAxNSBMNS43ODY2MDA1MiwxMS41ODgwODkzIEw1LjkwNTcwNzIyLDExLjg4NTg1NjEgQzYuMDY5NDc4OTIsMTIuMjkyODA0IDYuNTIxMDkxODQsMTIuNzQ0NDE2OSA2LjkyODAzOTcyLDEyLjkwODE4ODYgTDcuMjI1ODA2NDgsMTMuMDI3Mjk1MyBMMTAuMDA0OTYyOCwxMy4wMzIyNTgxIEMxMS41MzM0OTg4LDEzLjAzMjI1ODEgMTIuODczNDQ5MiwxMy4wNTIxMDkyIDEyLjk3NzY2NzUsMTMuMDcxOTYwMyBDMTMuNDY0MDE5OSwxMy4xNjYyNTMxIDEzLjk4NTExMTcsMTMuNTczMjAxIDE0LjE5MzU0ODQsMTQuMDI0ODEzOSBDMTQuMjUzMTAxOCwxNC4xNDg4ODM0IDE0LjMzMjUwNjIsMTQuMzkyMDU5NiAxNC4zNjcyNDU3LDE0LjU1NTgzMTMgQzE0LjQyMTgzNjIsMTQuODI4Nzg0MSAxNC40MTY4NzM1LDE0LjkwMzIyNTggMTQuMzM3NDY5LDE1LjIxMDkxODEgQzE0LjA4OTMzLDE2LjEyNDA2OTUgMTMuMjE1ODgwOSwxNy4zODk1NzgyIDEyLjMyMjU4MDcsMTguMTI5MDMyMyBDMTEuMzEwMTczNywxOC45Njc3NDE5IDEwLjE5MzU0ODQsMTkuNTI4NTM2IDguOTg3NTkzMDgsMTkuODExNDE0NCBDOC4zNTIzNTczNCwxOS45NTUzMzUgNi45MTMxNTEzOCwxOS45ODAxNDg5IDYuMTg4NTg1NjIsMTkuODUxMTE2NiBaIiBpZD0iUGF0aCIgZmlsbD0idXJsKCNyYWRpYWxHcmFkaWVudC0yKSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",
1282
+ selected: !0
1283
+ },
1284
+ {
1285
+ label: "Google Analytics - Coming Soon",
1286
+ value: "google-analytics",
1287
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjkxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI4NCI+PHBhdGggZmlsbD0iI0Y5QUIwMCIgZD0iTTI1Ni4wMDMgMjQ3LjkzM2EzNS4yMjQgMzUuMjI0IDAgMCAxLTM5LjM3NiAzNS4xNjFjLTE4LjA0NC0yLjY3LTMxLjI2Ni0xOC4zNzEtMzAuODI2LTM2LjYwNlYzNi44NDVDMTg1LjM2NSAxOC41OTEgMTk4LjYyIDIuODgxIDIxNi42ODcuMjRhMzUuMjIxIDM1LjIyMSAwIDAgMSAzOS4zMTYgMzUuMTZ2MjEyLjUzM1oiLz48cGF0aCBmaWxsPSIjRTM3NDAwIiBkPSJNMzUuMTAxIDIxMy4xOTNjMTkuMzg2IDAgMzUuMTAxIDE1LjcxNiAzNS4xMDEgMzUuMTAxYzAgMTkuMzg2LTE1LjcxNSAzNS4xMDEtMzUuMTAxIDM1LjEwMVMwIDI2Ny42OCAwIDI0OC4yOTVjMC0xOS4zODYgMTUuNzE1LTM1LjEwMiAzNS4xMDEtMzUuMTAyWm05Mi4zNTgtMTA2LjM4N2MtMTkuNDc3IDEuMDY4LTM0LjU5IDE3LjQwNi0zNC4xMzcgMzYuOTA4djk0LjI4NWMwIDI1LjU4OCAxMS4yNTkgNDEuMTIyIDI3Ljc1NSA0NC40MzNhMzUuMTYxIDM1LjE2MSAwIDAgMCA0Mi4xNDYtMzQuNTZWMTQyLjA4OWEzNS4yMjIgMzUuMjIyIDAgMCAwLTM1Ljc2NC0zNS4yODJaIi8+PC9zdmc+",
1288
+ disabled: !0
1289
+ },
1290
+ {
1291
+ label: "Segment - Coming Soon",
1292
+ value: "segment",
1293
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIwLjk3ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDI2NSI+PHBhdGggZmlsbD0iIzRGQjU4QiIgZD0ibTIzMy41NiAxNDEuOTI3bC4xNy4wMTNsMTcuODkyIDEuODdhNC45MjcgNC45MjcgMCAwIDEgMy4yMjUgMS43MDdsLjEzMy4xNjNsLS4xNy4wODVhNC45MyA0LjkzIDAgMCAxIDEuMDIgMy43NGExMzMuMjcyIDEzMy4yNzIgMCAwIDEtNDEuNjA0IDgxLjA4M2ExMjguODYgMTI4Ljg2IDAgMCAxLTg3LjYyOSAzNC4zOGExMjcuNDg4IDEyNy40ODggMCAwIDEtNDYuMTU2LTguNTdsLS44MDItLjMxMmE0LjcxNiA0LjcxNiAwIDAgMS0yLjY4Ni0yLjUzM2wtLjA3Ny0uMTg3YTQuODkxIDQuODkxIDAgMCAxLS4wODMtMy42Nmw3LjA2Mi0xNy4yM2E0Ljg0NiA0Ljg0NiAwIDAgMSA2LjExOC0yLjc5OWwuMTYzLjA2YzM2LjA5NyAxMy45MzkgNzYuOTggNi4wODkgMTA1LjM0OS0yMC4yMjdhMTA0LjQ1NSAxMDQuNDU1IDAgMCAwIDMyLjg5MS02My4zMmE0LjkzIDQuOTMgMCAwIDEgNS4wMTMtNC4yN2wuMTcuMDA3Wm0tMTkwLjA4IDY0LjMxbC4yNTEtLjAwMmwuMjUzLjAwMmM4LjEyLjA5MyAxNC42NTggNi42NTkgMTQuNzQ2IDE0Ljc0OXYuMjUzYzAgLjA4NCAwIC4xNjgtLjAwMi4yNTJjLS4xNDEgOC4yODQtNi45NyAxNC44ODYtMTUuMjU0IDE0Ljc0NWMtOC4yODQtLjE0MS0xNC44ODUtNi45Ny0xNC43NDUtMTUuMjU0Yy4xMzktOC4xMTUgNi42OTUtMTQuNjE1IDE0Ljc1LTE0Ljc0NVpNNC45MyAxNDcuMDgyaDE0Ni4zMTZhNC45NzMgNC45NzMgMCAwIDEgNC45MjggNC44NDRsLjAwMi4xNzF2MTguMzE2YTQuOTc0IDQuOTc0IDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUg0LjkzQTQuOTc1IDQuOTc1IDAgMCAxIDAgMTcwLjU4NHYtMTguNjU5YTQuOTc1IDQuOTc1IDAgMCAxIDQuNzU1LTQuODM4bC4xNzUtLjAwNVpNMTY5LjU2IDcuMzExYTQuOTc0IDQuOTc0IDAgMCAxIDIuODQ4IDIuNjM1YTUuMDk2IDUuMDk2IDAgMCAxIDAgMy44NjdsLTYuMzc1IDE2Ljk5OWE0Ljg0NSA0Ljg0NSAwIDAgMS02LjE2MiAyLjk3NEExMDEuMjI4IDEwMS4yMjggMCAwIDAgNjIuMTMgNTEuMjUyYTEwNS4yNjcgMTA1LjI2NyAwIDAgMC0zNC41MDcgNTQuOTlhNC45MyA0LjkzIDAgMCAxLTQuNzYgMy42OThoLTEuMTA1TDQuMjUgMTA1LjczM2E0Ljg4NiA0Ljg4NiAwIDAgMS0zLjEwMy0yLjI5NWgtLjA4NUE0LjkyOSA0LjkyOSAwIDAgMSAuNTEgOTkuNTdhMTMzLjM5MyAxMzMuMzkzIDAgMCAxIDQ0LjQxLTcwLjIwNEM3OS43MzkuNyAxMjcuMDE5LTcuNjY2IDE2OS41NiA3LjMxMVptLTY0LjgwNyA3My40MzRIMjUxLjA3YTQuOTcyIDQuOTcyIDAgMCAxIDQuOTIyIDQuNjdsLjAwOC4xNzR2MTguMzE3YTQuOTczIDQuOTczIDAgMCAxLTQuNzYgNS4wMWwtLjE3LjAwNUgxMDQuNzU0YTQuOTcyIDQuOTcyIDAgMCAxLTQuODg2LTQuODQybC0uMDAyLS4xNzNWODUuNzU5YTQuOTcyIDQuOTcyIDAgMCAxIDQuNzE1LTUuMDA4bC4xNzMtLjAwNlptMTAxLjU3Mi01NS44ODNsLjI1Mi0uMDAybC4yNTMuMDAyYzguMTIuMDkzIDE0LjY1OCA2LjY1OSAxNC43NDYgMTQuNzQ4di4yNTNjMCAuMDg1IDAgLjE3LS4wMDIuMjUzYy0uMTQgOC4yODQtNi45NyAxNC44ODUtMTUuMjU0IDE0Ljc0NGMtOC4yODQtLjE0LTE0Ljg4NS02Ljk3LTE0Ljc0NC0xNS4yNTNjLjEzOC04LjExNiA2LjY5NC0xNC42MTYgMTQuNzQ5LTE0Ljc0NVoiLz48L3N2Zz4=",
1294
+ disabled: !0
1295
+ }
1296
+ ]
1297
+ }, bi = {
1298
+ disabled: !0,
1299
+ label: "Hosting",
1300
+ features: [
1301
+ {
1302
+ label: "Coming Soon",
1303
+ selected: !0
1304
+ },
1305
+ {
1306
+ label: "Vercel - Coming Soon",
1307
+ value: "vercel",
1308
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE2ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyMiI+PHBhdGggZD0ibTEyOCAwbDEyOCAyMjEuNzA1SDB6Ii8+PC9zdmc+",
1309
+ disabled: !0
1310
+ },
1311
+ {
1312
+ label: "Netlify - Coming Soon",
1313
+ value: "netlify",
1314
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjE0ZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNiI+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTY5LjE4MSAxODguMDg3aC0yLjQxN2wtMTIuMDY1LTEyLjA2NXYtMi40MTdsMTguNDQ0LTE4LjQ0NGgxMi43NzhsMS43MDQgMS43MDR2MTIuNzc4ek01NC42OTkgNTEuNjI4di0yLjQxN2wxMi4wNjUtMTIuMDY1aDIuNDE3TDg3LjYyNSA1NS41OXYxMi43NzhsLTEuNzA0IDEuNzA0SDczLjE0M3oiLz48cGF0aCBmaWxsPSIjMDE0ODQ3IiBkPSJNMTYwLjkwNiAxNDkuMTk4aC0xNy41NTJsLTEuNDY2LTEuNDY2di00MS4wODljMC03LjMxLTIuODczLTEyLjk3Ni0xMS42ODktMTMuMTc0Yy00LjUzNy0uMTE5LTkuNzI3IDAtMTUuMjc0LjIxOGwtLjgzMy44NTJ2NTMuMTczbC0xLjQ2NiAxLjQ2Nkg5NS4wNzRsLTEuNDY2LTEuNDY2di03MC4xOWwxLjQ2Ni0xLjQ2N2gzOS41MDNjMTUuMzU0IDAgMjcuNzk1IDEyLjQ0MSAyNy43OTUgMjcuNzk1djQzLjg4MmwtMS40NjYgMS40NjZaIi8+PHBhdGggZmlsbD0iIzA1QkRCQSIgZD0iTTcxLjY3NyAxMjIuODg5SDEuNDY2TDAgMTIxLjQyM1YxMDMuODNsMS40NjYtMS40NjZoNzAuMjExbDEuNDY2IDEuNDY2djE3LjU5M3ptMTgyLjg1NyAwaC03MC4yMTFsLTEuNDY2LTEuNDY2VjEwMy44M2wxLjQ2Ni0xLjQ2Nmg3MC4yMTFMMjU2IDEwMy44M3YxNy41OTN6TTExNy44NzYgNTQuMTI0VjEuNDY2TDExOS4zNDIgMGgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NmgtMTcuNTkzem0wIDE2OS42NjN2LTUyLjY1OGwxLjQ2Ni0xLjQ2NmgxNy41OTNsMS40NjYgMS40NjZ2NTIuNjU4bC0xLjQ2NiAxLjQ2NWgtMTcuNTkzeiIvPjwvc3ZnPg==",
1315
+ disabled: !0
1316
+ }
1317
+ ]
1318
+ }, wi = {
1319
+ disabled: !0,
1320
+ label: "Error tracking",
1321
+ features: [
1322
+ {
1323
+ label: "Coming Soon",
1324
+ selected: !0
1325
+ },
1326
+ {
1327
+ label: "Sentry - Coming Soon",
1328
+ value: "sentry",
1329
+ image: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxLjEzZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjU2IDIyNyI+PHBhdGggZmlsbD0iIzM2MkQ1OSIgZD0iTTE0OC4zNjggMTIuNDAzYTIzLjkzNSAyMy45MzUgMCAwIDAtNDEuMDAzIDBMNzMuNjQgNzAuMTY1YzUyLjQyNiAyNi4xNzQgODcuMDUgNzguMTc3IDkwLjk3NSAxMzYuNjQyaC0yMy42NzljLTMuOTE4LTUwLjExMy0zNC4wNjEtOTQuNDEtNzkuMjM4LTExNi40NDhsLTMxLjIxMyA1My45N2E4MS41OTUgODEuNTk1IDAgMCAxIDQ3LjMwNyA2Mi4zNzVoLTU0LjM4YTMuODk1IDMuODk1IDAgMCAxLTMuMTc4LTUuNjlsMTUuMDY5LTI1LjYyNmE1NS4wNDYgNTUuMDQ2IDAgMCAwLTE3LjIyMS05LjczOEwzLjE2NyAxOTEuMjc3YTIzLjI2OSAyMy4yNjkgMCAwIDAgOC42NjIgMzEuOTgyYTIzLjg4NCAyMy44ODQgMCAwIDAgMTEuNTgzIDMuMDc1aDc0LjQ3MWE5OS40MzIgOTkuNDMyIDAgMCAwLTQxLjAwMy04OC43MmwxMS44NC0yMC41YzM1LjY3OSAyNC41MDQgNTUuNzU0IDY2LjAzOCA1Mi43OSAxMDkuMjJoNjMuMDk0YzIuOTktNjUuNDMtMjkuMDQ3LTEyNy41MTItODQuMTA3LTE2Mi45ODZsMjMuOTM1LTQxLjAwMmEzLjk0NyAzLjk0NyAwIDAgMSA1LjM4Mi0xLjM4NGMyLjcxNiAxLjQ4NiAxMDMuOTkzIDE3OC4yMDggMTA1Ljg5IDE4MC4yNThhMy44OTUgMy44OTUgMCAwIDEtMy40ODYgNS43OTJoLTI0LjM5NmMuMzA3IDYuNTI2LjMwNyAxMy4wMzUgMCAxOS41MjhoMjQuNDk5QTIzLjUyOCAyMy41MjggMCAwIDAgMjU2IDIwMi45MWEyMy4wMTUgMjMuMDE1IDAgMCAwLTMuMTc4LTExLjY4NUwxNDguMzY4IDEyLjQwM1oiLz48L3N2Zz4=",
1330
+ disabled: !0
1331
+ },
1332
+ {
1333
+ label: "Logrocket - Coming Soon",
1334
+ value: "logrocket",
1335
+ image: "",
1336
+ disabled: !0
1337
+ }
1338
+ ]
1339
+ }, Ct = {
1340
+ framework: gi,
1341
+ auth: di,
1342
+ rpc: Ni,
1343
+ server: ji,
1344
+ uikit: Ii,
1345
+ db: yi,
1346
+ analytics: Di,
1347
+ hosting: bi,
1348
+ error: wi
1681
1349
  };
1682
-
1683
- function filteredObject(obj, filter) {
1684
- return Object.keys(obj).reduce(function (r, e) {
1685
- if (filter(obj, e)) r[e] = obj[e];
1686
- return r;
1350
+ function Rt(t, e) {
1351
+ return Object.keys(t).reduce(function(i, r) {
1352
+ return e(t, r) && (i[r] = t[r]), i;
1687
1353
  }, {});
1688
1354
  }
1689
- function initStore() {
1690
- const [currentFeatures, setCurrentFeatures] = createStore(features);
1691
- const inViewFeatures = createMemo(() => filteredObject(currentFeatures, (o, k) => Boolean(o[k].inview)));
1692
- const drawerFeatures = createMemo(() => filteredObject(currentFeatures, (o, k) => !o[k].inview));
1693
- function moveFeature(k) {
1694
- setCurrentFeatures(k, "inview", val => !val);
1355
+ function Li() {
1356
+ const [t, e] = ui(Ct), i = m(() => Rt(t, (a, u) => !!a[u].inview)), r = m(() => Rt(t, (a, u) => !a[u].inview));
1357
+ function o(a) {
1358
+ e(a, "inview", (u) => !u);
1695
1359
  }
1696
- function selectFeature(k, value) {
1697
- setCurrentFeatures(k, "features", fs => {
1698
- return fs.map(f => ({
1699
- ...f,
1700
- selected: value ? value === f.value : features[k].features.find(f2 => f2.value === f.value)?.selected
1701
- }));
1360
+ function M(a, u) {
1361
+ e(a, "features", (g) => g.map((d) => {
1362
+ var f;
1363
+ return {
1364
+ ...d,
1365
+ selected: u ? u === d.value : (f = Ct[a].features.find((p) => p.value === d.value)) == null ? void 0 : f.selected
1366
+ };
1367
+ }));
1368
+ }
1369
+ const n = m(() => Object.assign({}, ...Object.entries(i()).map(([a, u]) => {
1370
+ var g;
1371
+ return {
1372
+ [a]: (g = u.features.find((d) => d.selected)) == null ? void 0 : g.value
1373
+ };
1374
+ }))), [l, c] = J(0);
1375
+ function s(a) {
1376
+ qt(() => {
1377
+ Object.keys(t).forEach((u) => {
1378
+ e(u, "inview", a.includes(u));
1379
+ }), c(1);
1702
1380
  });
1703
1381
  }
1704
- const featuresValues = createMemo(() => Object.assign({}, ...Object.entries(inViewFeatures()).map(([ns, fs]) => ({
1705
- [ns]: fs.features.find(f => f.selected)?.value
1706
- }))));
1707
1382
  return {
1708
- inViewFeatures,
1709
- drawerFeatures,
1710
- moveFeature,
1711
- selectFeature,
1712
- featuresValues,
1713
- currentFeatures
1383
+ inViewFeatures: i,
1384
+ drawerFeatures: r,
1385
+ moveFeature: o,
1386
+ selectFeature: M,
1387
+ featuresValues: n,
1388
+ currentFeatures: t,
1389
+ getBottomPanel: l,
1390
+ setBottomPanel: c,
1391
+ selectPreset: s
1714
1392
  };
1715
1393
  }
1716
- const StoreContext = createContext(void 0);
1717
- function StoreProvider(props) {
1718
- const store = initStore();
1719
- return createComponent(StoreContext.Provider, {
1720
- value: store,
1394
+ const bt = fe(void 0);
1395
+ function Ti(t) {
1396
+ const e = Li();
1397
+ return A(bt.Provider, {
1398
+ value: e,
1721
1399
  get children() {
1722
- return props.children;
1400
+ return t.children;
1723
1401
  }
1724
1402
  });
1725
1403
  }
1726
-
1727
- function flip(el, accessor) {
1728
- const name = accessor();
1729
- if (!name) return;
1730
- el.setAttribute("data-flip-name", name);
1731
- el.style.viewTransitionName = name;
1732
- }
1733
-
1734
- const _tmpl$$4 = /*#__PURE__*/template(`<div><label class="label"><span class="label-text"></span></label><!#><!/>`);
1735
- function FormControl(props) {
1404
+ function Ai(t, e) {
1405
+ const i = e();
1406
+ i && (t.setAttribute("data-flip-name", i), t.style.viewTransitionName = i);
1407
+ }
1408
+ function ue(t) {
1409
+ var e, i, r = "";
1410
+ if (typeof t == "string" || typeof t == "number")
1411
+ r += t;
1412
+ else if (typeof t == "object")
1413
+ if (Array.isArray(t))
1414
+ for (e = 0; e < t.length; e++)
1415
+ t[e] && (i = ue(t[e])) && (r && (r += " "), r += i);
1416
+ else
1417
+ for (e in t)
1418
+ t[e] && (r && (r += " "), r += e);
1419
+ return r;
1420
+ }
1421
+ function Nt() {
1422
+ for (var t, e, i = 0, r = ""; i < arguments.length; )
1423
+ (t = arguments[i++]) && (e = ue(t)) && (r && (r += " "), r += e);
1424
+ return r;
1425
+ }
1426
+ const xi = /* @__PURE__ */ Y('<div><label class="label"><span class="label-text">');
1427
+ function zi(t) {
1736
1428
  return (() => {
1737
- const _el$ = getNextElement(_tmpl$$4),
1738
- _el$2 = _el$.firstChild,
1739
- _el$3 = _el$2.firstChild,
1740
- _el$4 = _el$2.nextSibling,
1741
- [_el$5, _co$] = getNextMarker(_el$4.nextSibling);
1742
- use(flip, _el$, () => props.flipLabel);
1743
- insert(_el$3, () => props.label);
1744
- insert(_el$, () => props.children, _el$5, _co$);
1745
- createRenderEffect(() => className(_el$, "form-control max-w-xs " + (props.class ?? "")));
1746
- return _el$;
1429
+ const e = xi(), i = e.firstChild, r = i.firstChild;
1430
+ return tt(Ai, e, () => t.flipLabel), w(r, () => t.label), w(e, () => t.children, null), h((o) => {
1431
+ const M = Nt("form-control", t.class), n = t.style;
1432
+ return M !== o._v$ && st(e, o._v$ = M), o._v$2 = ne(e, n, o._v$2), o;
1433
+ }, {
1434
+ _v$: void 0,
1435
+ _v$2: void 0
1436
+ }), e;
1747
1437
  })();
1748
1438
  }
1749
-
1750
- const _tmpl$$3 = /*#__PURE__*/template(`<select>`),
1751
- _tmpl$2$2 = /*#__PURE__*/template(`<option>`);
1752
- function Select(props) {
1753
- const [local, others] = splitProps(props, ["options", "class"]);
1439
+ const hi = /* @__PURE__ */ Y('<div><div class="inline-flex gap-2" aria-haspopup="listbox" role="combobox" tabindex="-1"></div><div role="listbox" tabindex="-1">'), Bt = /* @__PURE__ */ Y('<img class="max-w-5 max-h-4">'), mi = /* @__PURE__ */ Y('<div class="inline-flex gap-2" role="option">'), I = {
1440
+ Close: 0,
1441
+ CloseSelect: 1,
1442
+ First: 2,
1443
+ Last: 3,
1444
+ Next: 4,
1445
+ Open: 5,
1446
+ PageDown: 6,
1447
+ PageUp: 7,
1448
+ Previous: 8,
1449
+ Select: 9,
1450
+ Type: 10
1451
+ };
1452
+ function Vt(t = [], e, i = []) {
1453
+ return t.filter((r) => r.toLowerCase().indexOf(e.toLowerCase()) === 0 && i.indexOf(r) < 0);
1454
+ }
1455
+ function fi(t, e) {
1456
+ const {
1457
+ key: i,
1458
+ altKey: r,
1459
+ ctrlKey: o,
1460
+ metaKey: M
1461
+ } = t;
1462
+ if (!e && ["ArrowDown", "ArrowUp", "Enter", " "].includes(i))
1463
+ return I.Open;
1464
+ if (i === "Home")
1465
+ return I.First;
1466
+ if (i === "End")
1467
+ return I.Last;
1468
+ if (i === "Backspace" || i === "Clear" || i.length === 1 && i !== " " && !r && !o && !M)
1469
+ return I.Type;
1470
+ if (e) {
1471
+ if (i === "ArrowUp" && r)
1472
+ return I.CloseSelect;
1473
+ if (i === "ArrowDown" && !r)
1474
+ return I.Next;
1475
+ if (i === "ArrowUp")
1476
+ return I.Previous;
1477
+ if (i === "PageUp")
1478
+ return I.PageUp;
1479
+ if (i === "PageDown")
1480
+ return I.PageDown;
1481
+ if (i === "Escape")
1482
+ return I.Close;
1483
+ if (i === "Enter" || i === " ")
1484
+ return I.CloseSelect;
1485
+ }
1486
+ }
1487
+ function pi(t, e, i = 0) {
1488
+ const r = [...t.slice(i), ...t.slice(0, i)], o = Vt(r, e)[0], M = (n) => n.every((l) => l === n[0]);
1489
+ if (o)
1490
+ return t.indexOf(o);
1491
+ if (M(e.split(""))) {
1492
+ const n = Vt(r, e[0]);
1493
+ return t.indexOf(n[0]);
1494
+ } else
1495
+ return -1;
1496
+ }
1497
+ function Ci(t, e, i) {
1498
+ switch (i) {
1499
+ case I.First:
1500
+ return 0;
1501
+ case I.Last:
1502
+ return e;
1503
+ case I.Previous:
1504
+ return Math.max(0, t - 1);
1505
+ case I.Next:
1506
+ return Math.min(e, t + 1);
1507
+ case I.PageUp:
1508
+ return Math.max(0, t - 10);
1509
+ case I.PageDown:
1510
+ return Math.min(e, t + 10);
1511
+ default:
1512
+ return t;
1513
+ }
1514
+ }
1515
+ function Jt(t) {
1516
+ const e = t.getBoundingClientRect();
1517
+ return e.top >= 0 && e.left >= 0 && e.bottom <= (window.innerHeight || document.documentElement.clientHeight) && e.right <= (window.innerWidth || document.documentElement.clientWidth);
1518
+ }
1519
+ function Ei(t) {
1520
+ return t && t.clientHeight < t.scrollHeight;
1521
+ }
1522
+ function Si(t, e) {
1523
+ const {
1524
+ offsetHeight: i,
1525
+ offsetTop: r
1526
+ } = t, {
1527
+ offsetHeight: o,
1528
+ scrollTop: M
1529
+ } = e, n = r < M, l = r + i > M + o;
1530
+ n ? e.scrollTo(0, r) : l && e.scrollTo(0, r - o + i);
1531
+ }
1532
+ function vi(t) {
1533
+ let e, i, r;
1534
+ const [o, M] = J(0), [n, l] = J(0), [c, s] = J(!1);
1535
+ let a = "", u = null, g = !1;
1536
+ const [d, f] = Ue(t, ["options", "class", "onChange"]), p = m(() => t.options.map((N, D) => N.disabled ? -1 : D).filter((N) => N !== -1)), S = m(() => t.options[n()]);
1537
+ me(() => {
1538
+ l(0);
1539
+ }), Kt(he(n, (N) => {
1540
+ var D;
1541
+ (D = t.onChange) == null || D.call(t, t.options[N].value);
1542
+ }));
1543
+ const W = ze(o);
1544
+ function v(N) {
1545
+ t.options[N].disabled || (E(N), l(N)), C(!1);
1546
+ }
1547
+ function O() {
1548
+ g = !0;
1549
+ }
1550
+ function E(N) {
1551
+ M(p()[N]);
1552
+ const D = e.querySelectorAll("[role=option]");
1553
+ Ei(r) && Si(D[N], r), Jt(D[N]) || D[N].scrollIntoView({
1554
+ behavior: "smooth",
1555
+ block: "nearest"
1556
+ });
1557
+ }
1558
+ function C(N, D = !0) {
1559
+ c() !== N && (s(N), !N && !Jt(i) && i.scrollIntoView({
1560
+ behavior: "smooth",
1561
+ block: "nearest"
1562
+ }), D && e.focus());
1563
+ }
1564
+ function wt() {
1565
+ if (g) {
1566
+ g = !1;
1567
+ return;
1568
+ }
1569
+ c() && (l(o()), C(!1, !1));
1570
+ }
1571
+ function ge() {
1572
+ t.disabled || C(!c());
1573
+ }
1574
+ function de(N) {
1575
+ if (t.disabled)
1576
+ return;
1577
+ const {
1578
+ key: D
1579
+ } = N, B = p().length - 1, j = fi(N, c());
1580
+ switch (j) {
1581
+ case I.Last:
1582
+ case I.First:
1583
+ C(!0);
1584
+ case I.Next:
1585
+ case I.Previous:
1586
+ case I.PageUp:
1587
+ case I.PageDown:
1588
+ return N.preventDefault(), E(Ci(p().findIndex(W), B, j));
1589
+ case I.CloseSelect:
1590
+ N.preventDefault(), l(o());
1591
+ case I.Close:
1592
+ return N.preventDefault(), C(!1);
1593
+ case I.Type:
1594
+ return Ne(D);
1595
+ case I.Open:
1596
+ return N.preventDefault(), C(!0);
1597
+ }
1598
+ }
1599
+ function Ne(N) {
1600
+ C(!0);
1601
+ const D = je(N), B = pi(t.options.map((j) => j.label), D, o() + 1);
1602
+ B >= 0 ? E(B) : (clearTimeout(u), a = "");
1603
+ }
1604
+ function je(N) {
1605
+ return typeof u == "number" && clearTimeout(u), u = setTimeout(() => {
1606
+ a = "";
1607
+ }, 500), a += N, a;
1608
+ }
1754
1609
  return (() => {
1755
- const _el$ = getNextElement(_tmpl$$3);
1756
- spread(_el$, mergeProps(others, {
1757
- get ["class"]() {
1758
- return "select max-w-xs " + (local.class ?? "");
1759
- }
1760
- }), false, true);
1761
- insert(_el$, createComponent(For, {
1610
+ const N = hi(), D = N.firstChild, B = D.nextSibling;
1611
+ return tt((j) => e = j, N), Ke(N, Qe(f, {
1612
+ get "aria-disabled"() {
1613
+ return t.disabled;
1614
+ },
1615
+ get class() {
1616
+ return Nt("listbox", d.class);
1617
+ },
1618
+ get tabIndex() {
1619
+ return t.disabled ? -1 : 0;
1620
+ },
1621
+ onBlur: wt,
1622
+ onClick: ge,
1623
+ onKeyDown: de
1624
+ }), !1, !0), tt((j) => i = j, D), w(D, (() => {
1625
+ const j = m(() => !!S().image);
1626
+ return () => j() && (() => {
1627
+ const G = Bt();
1628
+ return h((L) => {
1629
+ const T = S().image, k = `${S().value} logo`;
1630
+ return T !== L._v$6 && z(G, "src", L._v$6 = T), k !== L._v$7 && z(G, "alt", L._v$7 = k), L;
1631
+ }, {
1632
+ _v$6: void 0,
1633
+ _v$7: void 0
1634
+ }), G;
1635
+ })();
1636
+ })(), null), w(D, () => S().label, null), tt((j) => r = j, B), w(B, A(Me, {
1762
1637
  get each() {
1763
- return local.options;
1638
+ return t.options;
1764
1639
  },
1765
- children: option => (() => {
1766
- const _el$2 = getNextElement(_tmpl$2$2);
1767
- insert(_el$2, () => option.label);
1768
- createRenderEffect(_p$ => {
1769
- const _v$ = option.disabled,
1770
- _v$2 = option.selected;
1771
- _v$ !== _p$._v$ && (_el$2.disabled = _p$._v$ = _v$);
1772
- _v$2 !== _p$._v$2 && (_el$2.selected = _p$._v$2 = _v$2);
1773
- return _p$;
1640
+ children: (j, G) => (() => {
1641
+ const L = mi();
1642
+ return L.$$mousedown = O, L.$$click = (T) => {
1643
+ T.stopPropagation(), v(G());
1644
+ }, w(L, (() => {
1645
+ const T = m(() => !!j.image);
1646
+ return () => T() && (() => {
1647
+ const k = Bt();
1648
+ return h((Q) => {
1649
+ const K = j.image, kt = `${j.value} logo`;
1650
+ return K !== Q._v$11 && z(k, "src", Q._v$11 = K), kt !== Q._v$12 && z(k, "alt", Q._v$12 = kt), Q;
1651
+ }, {
1652
+ _v$11: void 0,
1653
+ _v$12: void 0
1654
+ }), k;
1655
+ })();
1656
+ })(), null), w(L, () => j.label, null), h((T) => {
1657
+ const k = `listboxitem-${t.id}-${G()}`, Q = W(G()), K = j.disabled;
1658
+ return k !== T._v$8 && z(L, "id", T._v$8 = k), Q !== T._v$9 && z(L, "aria-selected", T._v$9 = Q), K !== T._v$10 && z(L, "aria-disabled", T._v$10 = K), T;
1774
1659
  }, {
1775
- _v$: undefined,
1776
- _v$2: undefined
1777
- });
1778
- createRenderEffect(() => _el$2.value = option.value ?? "");
1779
- return _el$2;
1660
+ _v$8: void 0,
1661
+ _v$9: void 0,
1662
+ _v$10: void 0
1663
+ }), L;
1780
1664
  })()
1781
- }));
1782
- runHydrationEvents();
1783
- return _el$;
1665
+ })), h((j) => {
1666
+ const G = `listbox-${t.id}`, L = c(), T = `combo-${t.id}`, k = `listbox-${t.id}`, Q = `listboxitem-${t.id}-${o()}`;
1667
+ return G !== j._v$ && z(D, "aria-controls", j._v$ = G), L !== j._v$2 && z(D, "aria-expanded", j._v$2 = L), T !== j._v$3 && z(D, "id", j._v$3 = T), k !== j._v$4 && z(B, "id", j._v$4 = k), Q !== j._v$5 && z(B, "aria-activedescendant", j._v$5 = Q), j;
1668
+ }, {
1669
+ _v$: void 0,
1670
+ _v$2: void 0,
1671
+ _v$3: void 0,
1672
+ _v$4: void 0,
1673
+ _v$5: void 0
1674
+ }), N;
1784
1675
  })();
1785
1676
  }
1786
-
1787
- const _tmpl$$2 = /*#__PURE__*/template(`<ul class="flex flex-wrap gap-4 px-4 w-full">`),
1788
- _tmpl$2$1 = /*#__PURE__*/template(`<div class="join group"><div class="join-item flex justify-center items-center px-2 border border-solid bg-base-100"><input type="checkbox" class="checkbox rounded bg-base-100"></div><!#><!/>`);
1789
- function Features() {
1677
+ Dt(["click", "mousedown"]);
1678
+ const Oi = /* @__PURE__ */ Y('<div class="grid grid-cols-[repeat(auto-fit,_minmax(14rem,_1fr))] gap-4 px-4 box-border w-full relative guy"><span class="absolute -top-2 right-4 link link-hover opacity-80 hover:opacity-100 z-30">← presets'), ki = /* @__PURE__ */ Y('<div class="join group w-full"><div class="join-item flex justify-center items-center px-2 border border-solid bg-base-100"><input type="checkbox" class="checkbox rounded bg-base-100">');
1679
+ function Yi() {
1790
1680
  const {
1791
- currentFeatures,
1792
- selectFeature,
1793
- moveFeature
1794
- } = useContext(StoreContext);
1681
+ currentFeatures: t,
1682
+ selectFeature: e,
1683
+ moveFeature: i,
1684
+ setBottomPanel: r
1685
+ } = St(bt), o = m(() => Object.keys(t));
1795
1686
  return (() => {
1796
- const _el$ = getNextElement(_tmpl$$2);
1797
- insert(_el$, createComponent(For, {
1687
+ const M = Oi(), n = M.firstChild;
1688
+ return n.$$click = () => r(0), w(M, A(Me, {
1798
1689
  get each() {
1799
- return Object.keys(currentFeatures);
1690
+ return o();
1800
1691
  },
1801
- children: ns => {
1802
- const f = currentFeatures[ns];
1803
- return createComponent(FormControl, {
1692
+ children: (l, c) => {
1693
+ const s = t[l];
1694
+ return A(zi, {
1804
1695
  get label() {
1805
- return f.label;
1696
+ return s.label;
1697
+ },
1698
+ flipLabel: l,
1699
+ class: "w-full sm:w-auto",
1700
+ get style() {
1701
+ return {
1702
+ "z-index": o().length - c()
1703
+ };
1806
1704
  },
1807
- flipLabel: ns,
1808
1705
  get children() {
1809
- const _el$2 = getNextElement(_tmpl$2$1),
1810
- _el$3 = _el$2.firstChild,
1811
- _el$4 = _el$3.firstChild,
1812
- _el$5 = _el$3.nextSibling,
1813
- [_el$6, _co$] = getNextMarker(_el$5.nextSibling);
1814
- _el$4.addEventListener("change", () => moveFeature(ns));
1815
- insert(_el$2, createComponent(Select, {
1816
- "class": "text-xs join-item border-l-0 pl-1",
1706
+ const a = ki(), u = a.firstChild, g = u.firstChild;
1707
+ return g.addEventListener("change", () => i(l)), w(a, A(vi, {
1708
+ id: l,
1709
+ class: "text-xs join-item border-l-0 pl-1 w-full",
1710
+ get disabled() {
1711
+ return s.disabled;
1712
+ },
1817
1713
  get classList() {
1818
1714
  return {
1819
- "select-primary": !f.inview,
1820
- "select-success": Boolean(f.inview)
1715
+ "listbox-primary": !s.inview,
1716
+ "listbox-success": !!s.inview
1821
1717
  };
1822
1718
  },
1823
- get disabled() {
1824
- return f.disabled;
1825
- },
1826
- onChange: e => {
1827
- selectFeature(ns, e.target.value || void 0);
1828
- },
1719
+ onChange: (d) => e(l, d || void 0),
1829
1720
  get options() {
1830
- return f.features;
1721
+ return s.features;
1831
1722
  }
1832
- }), _el$6, _co$);
1833
- createRenderEffect(_p$ => {
1834
- const _v$ = {
1835
- "border-success": Boolean(f.inview),
1836
- "border-base-200 bg-base-200 opacity-70": Boolean(f.disabled),
1837
- "border-primary": !f.inview && !f.disabled
1838
- },
1839
- _v$2 = !!Boolean(f.inview),
1840
- _v$3 = !f.disabled,
1841
- _v$4 = f.disabled;
1842
- _p$._v$ = classList(_el$3, _v$, _p$._v$);
1843
- _v$2 !== _p$._v$2 && _el$4.classList.toggle("checkbox-success", _p$._v$2 = _v$2);
1844
- _v$3 !== _p$._v$3 && _el$4.classList.toggle("border-solid", _p$._v$3 = _v$3);
1845
- _v$4 !== _p$._v$4 && (_el$4.disabled = _p$._v$4 = _v$4);
1846
- return _p$;
1723
+ }), null), h((d) => {
1724
+ const f = {
1725
+ "border-success": !!s.inview,
1726
+ "border-base-200 bg-base-200 opacity-70": !!s.disabled,
1727
+ "border-primary": !s.inview && !s.disabled
1728
+ }, p = !!s.inview, S = !s.disabled, W = s.disabled;
1729
+ return d._v$ = Ot(u, f, d._v$), p !== d._v$2 && g.classList.toggle("checkbox-success", d._v$2 = p), S !== d._v$3 && g.classList.toggle("border-solid", d._v$3 = S), W !== d._v$4 && (g.disabled = d._v$4 = W), d;
1847
1730
  }, {
1848
- _v$: undefined,
1849
- _v$2: undefined,
1850
- _v$3: undefined,
1851
- _v$4: undefined
1852
- });
1853
- createRenderEffect(() => _el$4.checked = f.inview);
1854
- return _el$2;
1731
+ _v$: void 0,
1732
+ _v$2: void 0,
1733
+ _v$3: void 0,
1734
+ _v$4: void 0
1735
+ }), h(() => g.checked = s.inview), a;
1855
1736
  }
1856
1737
  });
1857
1738
  }
1858
- }));
1859
- return _el$;
1739
+ }), null), M;
1860
1740
  })();
1861
1741
  }
1862
-
1863
- function copy(el) {
1864
- let clear;
1865
- async function writeSelectionClipboard() {
1866
- clearTimeout(clear);
1867
- const selObj = window.getSelection();
1868
- if (selObj) {
1869
- const toCopy = selObj.toString().replaceAll("\n", " ");
1870
- await navigator.clipboard.writeText(toCopy);
1871
- el.classList.add("tooltip", "tooltip-open");
1872
- clear = setTimeout(() => {
1873
- el.classList.remove("tooltip", "tooltip-open");
1742
+ Dt(["click"]);
1743
+ function Qi(t) {
1744
+ let e;
1745
+ async function i() {
1746
+ clearTimeout(e);
1747
+ const r = window.getSelection();
1748
+ if (r) {
1749
+ const o = r.toString().replaceAll(`
1750
+ `, " ");
1751
+ await navigator.clipboard.writeText(o), t.classList.add("tooltip", "tooltip-open"), e = setTimeout(() => {
1752
+ t.classList.remove("tooltip", "tooltip-open");
1874
1753
  }, 3e3);
1875
1754
  }
1876
1755
  }
1877
- el.addEventListener("click", writeSelectionClipboard);
1878
- onCleanup(() => el.removeEventListener("click", writeSelectionClipboard));
1756
+ t.addEventListener("click", i), Et(() => t.removeEventListener("click", i));
1879
1757
  }
1880
-
1881
- const _tmpl$$1 = /*#__PURE__*/template(`<div class="flex flex-col bg-base-300 px-4 py-8 rounded-xl shadow-2xl relative bati-widget"><div class="px-4 flex"><kbd class="group relative flex-1 justify-start pl-10 tooltip-primary inline-flex tooltip-bottom kbd kbd-lg select-all flex-wrap leading-10 gap-2.5" data-tip="Copied to clipboard!"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right absolute top-2.5 left-2.5 opacity-50"><polyline points="9 18 15 12 9 6"></polyline></svg><!#><!/></kbd></div><div class="divider"></div><div class="flex flex-row flex-wrap flex-1 justify-center gap-4">`),
1882
- _tmpl$2 = /*#__PURE__*/template(`<span class="relative whitespace-nowrap">`);
1883
- function word(w, ns) {
1884
- return {
1885
- word: w,
1886
- ns
1887
- };
1758
+ const Ui = /* @__PURE__ */ Y('<button type="button"><div class="card-body"><h2></h2><p class="text-left">'), Zi = /* @__PURE__ */ Y('<span class="font-bold">Vike'), Wi = /* @__PURE__ */ Y('<span class="font-bold">manually assembling'), Gi = /* @__PURE__ */ Y('<div class="w-full px-4 box-border grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4">');
1759
+ function ot(t) {
1760
+ const {
1761
+ selectPreset: e
1762
+ } = St(bt), i = vt(() => t.children);
1763
+ return (() => {
1764
+ const r = Ui(), o = r.firstChild, M = o.firstChild, n = M.nextSibling;
1765
+ return r.$$click = () => !t.disabled && e(t.features), w(M, () => t.title), w(n, i), h((l) => {
1766
+ const c = Nt("card card-compact border-0 bg-base-100", t.class), s = {
1767
+ "cursor-default opacity-50": t.disabled
1768
+ }, a = Nt("card-title", t.titleClass);
1769
+ return c !== l._v$ && st(r, l._v$ = c), l._v$2 = Ot(r, s, l._v$2), a !== l._v$3 && st(M, l._v$3 = a), l;
1770
+ }, {
1771
+ _v$: void 0,
1772
+ _v$2: void 0,
1773
+ _v$3: void 0
1774
+ }), r;
1775
+ })();
1776
+ }
1777
+ function Pi() {
1778
+ return (() => {
1779
+ const t = Gi();
1780
+ return w(t, A(ot, {
1781
+ title: "Plain Vike",
1782
+ class: "hover:outline outline-amber-500 outline-1 outline-offset-2",
1783
+ titleClass: "underline decoration-amber-500",
1784
+ features: ["framework"],
1785
+ get children() {
1786
+ return ["For trying out ", Zi(), ", or", " ", Wi(), " your stack"];
1787
+ }
1788
+ }), null), w(t, A(ot, {
1789
+ title: "Frontend only",
1790
+ class: "hover:outline outline-sky-500 outline-1 outline-offset-2",
1791
+ titleClass: "underline decoration-sky-500",
1792
+ features: ["framework", "uikit"],
1793
+ children: "If a backend isn't needed, or a backend already exists"
1794
+ }), null), w(t, A(ot, {
1795
+ title: "Full-stack",
1796
+ class: "hover:outline outline-fuchsia-700 outline-1 outline-offset-2",
1797
+ titleClass: "underline decoration-fuchsia-700",
1798
+ features: ["framework", "rpc", "auth", "db", "uikit", "server"],
1799
+ children: "Frontend + Server + Database"
1800
+ }), null), w(t, A(ot, {
1801
+ title: "E-commerce",
1802
+ features: ["framework"],
1803
+ disabled: !0,
1804
+ children: "E-commerce website powered by Shopify or BigCommerce."
1805
+ }), null), t;
1806
+ })();
1888
1807
  }
1889
- function Widget(props) {
1808
+ Dt(["click"]);
1809
+ const Ri = /* @__PURE__ */ Y('<div class="flex flex-col bg-base-300 px-4 py-8 rounded-xl shadow-2xl font-sans bati-widget"><div class="px-4 flex"><kbd class="group relative flex-1 justify-start pl-10 tooltip-primary text-left inline-flex tooltip-bottom kbd kbd-lg select-all flex-wrap leading-10 gap-2.5" data-tip="Copied to clipboard!"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right absolute top-2.5 left-2.5 opacity-50"><polyline points="9 18 15 12 9 6"></polyline></svg></kbd></div><div class="divider"></div><div class="w-full flex relative py-1">');
1810
+ function Bi(t) {
1890
1811
  const {
1891
- featuresValues
1892
- } = useContext(StoreContext);
1893
- const keys = Object.keys(features);
1894
- function getFlags() {
1895
- return keys.filter(ns => featuresValues()[ns]).map(ns => word(`--${featuresValues()[ns]}`, ns));
1812
+ featuresValues: e,
1813
+ getBottomPanel: i
1814
+ } = St(bt), r = Object.keys(Ct);
1815
+ function o() {
1816
+ return r.filter((n) => e()[n]).map((n) => `--${e()[n]}`);
1896
1817
  }
1897
- const words = createMemo(() => [word("pnpm"), word("create"), word("@batijs/app"), ...getFlags(), word("my-app")]);
1818
+ const M = m(() => ["pnpm", "create", "@batijs/app", ...o(), "my-app"]);
1898
1819
  return (() => {
1899
- const _el$ = getNextElement(_tmpl$$1),
1900
- _el$2 = _el$.firstChild,
1901
- _el$3 = _el$2.firstChild,
1902
- _el$4 = _el$3.firstChild,
1903
- _el$5 = _el$4.nextSibling,
1904
- [_el$6, _co$] = getNextMarker(_el$5.nextSibling),
1905
- _el$7 = _el$2.nextSibling,
1906
- _el$8 = _el$7.nextSibling;
1907
- use(copy, _el$3, () => true);
1908
- insert(_el$3, createComponent(For, {
1909
- get each() {
1910
- return words();
1911
- },
1912
- children: ({
1913
- word: word2
1914
- }) => (() => {
1915
- const _el$9 = getNextElement(_tmpl$2);
1916
- insert(_el$9, word2);
1917
- return _el$9;
1918
- })()
1919
- }), _el$6, _co$);
1920
- insert(_el$8, createComponent(Features, {}));
1921
- createRenderEffect(_p$ => {
1922
- const _v$ = props.theme,
1923
- _v$2 = !props.widget;
1924
- _v$ !== _p$._v$ && setAttribute(_el$, "data-theme", _p$._v$ = _v$);
1925
- _v$2 !== _p$._v$2 && _el$.classList.toggle("w-4/5", _p$._v$2 = _v$2);
1926
- return _p$;
1820
+ const n = Ri(), l = n.firstChild, c = l.firstChild;
1821
+ c.firstChild;
1822
+ const s = l.nextSibling, a = s.nextSibling;
1823
+ return tt(Qi, c, () => !0), w(c, () => M().join(" "), null), w(a, A(We, {
1824
+ get children() {
1825
+ return [A(Ut, {
1826
+ get when() {
1827
+ return i() === 0;
1828
+ },
1829
+ get children() {
1830
+ return A(Pi, {});
1831
+ }
1832
+ }), A(Ut, {
1833
+ get when() {
1834
+ return i() === 1;
1835
+ },
1836
+ get children() {
1837
+ return A(Yi, {});
1838
+ }
1839
+ })];
1840
+ }
1841
+ })), h((u) => {
1842
+ const g = t.theme, d = !t.widget;
1843
+ return g !== u._v$ && z(n, "data-theme", u._v$ = g), d !== u._v$2 && n.classList.toggle("w-4/5", u._v$2 = d), u;
1927
1844
  }, {
1928
- _v$: undefined,
1929
- _v$2: undefined
1930
- });
1931
- return _el$;
1845
+ _v$: void 0,
1846
+ _v$2: void 0
1847
+ }), n;
1932
1848
  })();
1933
1849
  }
1934
-
1935
- const _tmpl$ = /*#__PURE__*/template(`<style>`);
1936
- function LayoutDefault(props) {
1937
- return createComponent(StoreProvider, {
1850
+ const Vi = /* @__PURE__ */ Y("<style>");
1851
+ function Ji(t) {
1852
+ return A(Ti, {
1938
1853
  get children() {
1939
1854
  return [(() => {
1940
- const _el$ = getNextElement(_tmpl$);
1941
- insert(_el$, css_248z);
1942
- return _el$;
1943
- })(), createMemo(() => props.children)];
1855
+ const e = Vi();
1856
+ return w(e, ni), e;
1857
+ })(), m(() => t.children)];
1944
1858
  }
1945
1859
  });
1946
1860
  }
1947
- function AppWidget(props) {
1948
- return createComponent(LayoutDefault, {
1861
+ function Hi(t) {
1862
+ return A(Ji, {
1949
1863
  get children() {
1950
- return createComponent(Widget, {
1951
- widget: true,
1864
+ return A(Bi, {
1865
+ widget: !0,
1952
1866
  get theme() {
1953
- return props.theme;
1867
+ return t.theme;
1954
1868
  }
1955
1869
  });
1956
1870
  }
1957
1871
  });
1958
1872
  }
1959
-
1960
- customElement("bati-widget", {
1961
- theme: ""
1962
- }, AppWidget);
1873
+ Mi("bati-widget", { theme: "" }, Hi);