uilint-react 0.2.87 → 0.2.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/plugin-system/registry.d.ts +15 -13
- package/dist/core/plugin-system/registry.d.ts.map +1 -1
- package/dist/core/store/composed-store.d.ts +8 -1
- package/dist/core/store/composed-store.d.ts.map +1 -1
- package/dist/devtools.js +65 -65
- package/dist/devtools.js.map +1 -1
- package/dist/index.js +1076 -1095
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as W from "react";
|
|
2
|
-
import ot, { forwardRef as Li, createElement as fn, createContext as
|
|
3
|
-
import { createPortal as
|
|
2
|
+
import ot, { forwardRef as Li, createElement as fn, createContext as ee, useRef as et, useLayoutEffect as Hl, useEffect as G, useId as Di, useContext as ht, useInsertionEffect as zi, useMemo as Q, useCallback as V, Children as Gl, isValidElement as Kl, useState as st, Fragment as ys, Component as Yl, useReducer as xs } from "react";
|
|
3
|
+
import { createPortal as ge } from "react-dom";
|
|
4
4
|
import { i as t0, a as e0, b as n0, s as i0 } from "./environment-DVxa60C6.js";
|
|
5
5
|
import { createEmptyStyleGuide as o0, createStyleSummary as s0, extractStylesFromDOM as a0, generateStyleGuideFromStyles as l0, mergeStyleGuides as c0, parseStyleGuide as u0, serializeStyles as d0 } from "uilint-core";
|
|
6
|
-
var Ke = { exports: {} },
|
|
6
|
+
var Ke = { exports: {} }, ke = {};
|
|
7
7
|
var wr;
|
|
8
8
|
function ql() {
|
|
9
|
-
if (wr) return
|
|
9
|
+
if (wr) return ke;
|
|
10
10
|
wr = 1;
|
|
11
11
|
var t = /* @__PURE__ */ Symbol.for("react.transitional.element"), e = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
12
12
|
function n(i, r, o) {
|
|
@@ -24,9 +24,9 @@ function ql() {
|
|
|
24
24
|
props: o
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
return
|
|
27
|
+
return ke.Fragment = e, ke.jsx = n, ke.jsxs = n, ke;
|
|
28
28
|
}
|
|
29
|
-
var
|
|
29
|
+
var Se = {};
|
|
30
30
|
var kr;
|
|
31
31
|
function Xl() {
|
|
32
32
|
return kr || (kr = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
@@ -184,8 +184,8 @@ function Xl() {
|
|
|
184
184
|
else h(D);
|
|
185
185
|
if (K.call(_, "key")) {
|
|
186
186
|
D = t(x);
|
|
187
|
-
var St = Object.keys(_).filter(function(
|
|
188
|
-
return
|
|
187
|
+
var St = Object.keys(_).filter(function(ne) {
|
|
188
|
+
return ne !== "key";
|
|
189
189
|
});
|
|
190
190
|
P = 0 < St.length ? "{key: someKey, " + St.join(": ..., ") + ": ...}" : "{key: someKey}", ut[D + P] || (St = 0 < St.length ? "{" + St.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
191
191
|
`A props object containing a "key" prop is being spread into JSX:
|
|
@@ -202,8 +202,8 @@ React keys must be passed directly to JSX without using spread:
|
|
|
202
202
|
}
|
|
203
203
|
if (D = null, m !== void 0 && (n(m), D = "" + m), s(_) && (n(_.key), D = "" + _.key), "key" in _) {
|
|
204
204
|
m = {};
|
|
205
|
-
for (var
|
|
206
|
-
|
|
205
|
+
for (var At in _)
|
|
206
|
+
At !== "key" && (m[At] = _[At]);
|
|
207
207
|
} else m = _;
|
|
208
208
|
return D && a(
|
|
209
209
|
m,
|
|
@@ -235,7 +235,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
235
235
|
p,
|
|
236
236
|
o
|
|
237
237
|
)(), Y = O(i(o)), ut = {};
|
|
238
|
-
|
|
238
|
+
Se.Fragment = g, Se.jsx = function(x, _, m) {
|
|
239
239
|
var P = 1e4 > A.recentlyCreatedOwnerStacks++;
|
|
240
240
|
return u(
|
|
241
241
|
x,
|
|
@@ -245,7 +245,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
245
245
|
P ? Error("react-stack-top-frame") : S,
|
|
246
246
|
P ? O(i(x)) : Y
|
|
247
247
|
);
|
|
248
|
-
},
|
|
248
|
+
}, Se.jsxs = function(x, _, m) {
|
|
249
249
|
var P = 1e4 > A.recentlyCreatedOwnerStacks++;
|
|
250
250
|
return u(
|
|
251
251
|
x,
|
|
@@ -256,25 +256,25 @@ React keys must be passed directly to JSX without using spread:
|
|
|
256
256
|
P ? O(i(x)) : Y
|
|
257
257
|
);
|
|
258
258
|
};
|
|
259
|
-
})()),
|
|
259
|
+
})()), Se;
|
|
260
260
|
}
|
|
261
261
|
var Sr;
|
|
262
262
|
function Zl() {
|
|
263
263
|
return Sr || (Sr = 1, process.env.NODE_ENV === "production" ? Ke.exports = ql() : Ke.exports = Xl()), Ke.exports;
|
|
264
264
|
}
|
|
265
265
|
var d = Zl();
|
|
266
|
-
const
|
|
266
|
+
const Rt = {
|
|
267
267
|
floatingIconPosition: "uilint:floatingIconPosition",
|
|
268
268
|
inspectorDocked: "uilint:inspectorDocked",
|
|
269
269
|
inspectorWidth: "uilint:inspectorWidth",
|
|
270
270
|
inspectorFloatingPosition: "uilint:inspectorFloatingPosition",
|
|
271
271
|
inspectorFloatingSize: "uilint:inspectorFloatingSize"
|
|
272
272
|
};
|
|
273
|
-
function
|
|
273
|
+
function ws() {
|
|
274
274
|
return typeof window < "u" && typeof localStorage < "u";
|
|
275
275
|
}
|
|
276
|
-
function
|
|
277
|
-
if (!
|
|
276
|
+
function Re(t, e) {
|
|
277
|
+
if (!ws()) return e;
|
|
278
278
|
try {
|
|
279
279
|
const n = localStorage.getItem(t);
|
|
280
280
|
return n === null ? e : JSON.parse(n);
|
|
@@ -282,8 +282,8 @@ function Ae(t, e) {
|
|
|
282
282
|
return console.warn(`[UILint] Failed to load ${t} from localStorage:`, n), e;
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
function
|
|
286
|
-
if (
|
|
285
|
+
function Ce(t, e) {
|
|
286
|
+
if (ws())
|
|
287
287
|
try {
|
|
288
288
|
localStorage.setItem(t, JSON.stringify(e));
|
|
289
289
|
} catch (n) {
|
|
@@ -303,20 +303,20 @@ function Ql() {
|
|
|
303
303
|
open: !1,
|
|
304
304
|
panelId: null,
|
|
305
305
|
data: null,
|
|
306
|
-
docked:
|
|
307
|
-
width:
|
|
308
|
-
floatingPosition:
|
|
309
|
-
floatingSize:
|
|
306
|
+
docked: Re(Rt.inspectorDocked, !0),
|
|
307
|
+
width: Re(Rt.inspectorWidth, Jl),
|
|
308
|
+
floatingPosition: Re(Rt.inspectorFloatingPosition, null),
|
|
309
|
+
floatingSize: Re(Rt.inspectorFloatingSize, null)
|
|
310
310
|
};
|
|
311
311
|
}
|
|
312
312
|
const tc = (t) => (e, n) => ({
|
|
313
313
|
// ============ Floating Icon ============
|
|
314
|
-
floatingIconPosition:
|
|
315
|
-
|
|
314
|
+
floatingIconPosition: Re(
|
|
315
|
+
Rt.floatingIconPosition,
|
|
316
316
|
null
|
|
317
317
|
),
|
|
318
318
|
setFloatingIconPosition: (i) => {
|
|
319
|
-
|
|
319
|
+
Ce(Rt.floatingIconPosition, i), e({ floatingIconPosition: i });
|
|
320
320
|
},
|
|
321
321
|
// ============ Alt Key Mode ============
|
|
322
322
|
altKeyHeld: !1,
|
|
@@ -439,7 +439,7 @@ const tc = (t) => (e, n) => ({
|
|
|
439
439
|
},
|
|
440
440
|
toggleInspectorDocked: () => {
|
|
441
441
|
const i = n().inspector, r = !i.docked;
|
|
442
|
-
|
|
442
|
+
Ce(Rt.inspectorDocked, r), e({
|
|
443
443
|
inspector: {
|
|
444
444
|
...i,
|
|
445
445
|
docked: r
|
|
@@ -447,7 +447,7 @@ const tc = (t) => (e, n) => ({
|
|
|
447
447
|
});
|
|
448
448
|
},
|
|
449
449
|
setInspectorWidth: (i) => {
|
|
450
|
-
|
|
450
|
+
Ce(Rt.inspectorWidth, i), e({
|
|
451
451
|
inspector: {
|
|
452
452
|
...n().inspector,
|
|
453
453
|
width: i
|
|
@@ -455,7 +455,7 @@ const tc = (t) => (e, n) => ({
|
|
|
455
455
|
});
|
|
456
456
|
},
|
|
457
457
|
setInspectorFloatingPosition: (i) => {
|
|
458
|
-
|
|
458
|
+
Ce(Rt.inspectorFloatingPosition, i), e({
|
|
459
459
|
inspector: {
|
|
460
460
|
...n().inspector,
|
|
461
461
|
floatingPosition: i
|
|
@@ -463,7 +463,7 @@ const tc = (t) => (e, n) => ({
|
|
|
463
463
|
});
|
|
464
464
|
},
|
|
465
465
|
setInspectorFloatingSize: (i) => {
|
|
466
|
-
|
|
466
|
+
Ce(Rt.inspectorFloatingSize, i), e({
|
|
467
467
|
inspector: {
|
|
468
468
|
...n().inspector,
|
|
469
469
|
floatingSize: i
|
|
@@ -495,741 +495,715 @@ function ic(t, e = nc) {
|
|
|
495
495
|
const Pr = (t) => {
|
|
496
496
|
const e = ec(t), n = (i) => ic(e, i);
|
|
497
497
|
return Object.assign(n, e), n;
|
|
498
|
-
}, rc = ((t) => t ? Pr(t) : Pr)
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
498
|
+
}, rc = ((t) => t ? Pr(t) : Pr);
|
|
499
|
+
function ks(t) {
|
|
500
|
+
const e = /* @__PURE__ */ new Map();
|
|
501
|
+
for (const s of t)
|
|
502
|
+
e.set(s.id, s);
|
|
503
|
+
const n = [], i = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
504
|
+
function o(s) {
|
|
505
|
+
const a = s.id;
|
|
506
|
+
if (i.has(a))
|
|
507
|
+
return;
|
|
508
|
+
if (r.has(a))
|
|
509
|
+
throw new Error(
|
|
510
|
+
`[PluginRegistry] Circular dependency detected involving plugin: ${a}`
|
|
511
|
+
);
|
|
512
|
+
r.add(a);
|
|
513
|
+
const l = s.dependencies || [];
|
|
514
|
+
for (const c of l) {
|
|
515
|
+
const u = e.get(c);
|
|
516
|
+
u && o(u);
|
|
517
|
+
}
|
|
518
|
+
r.delete(a), i.add(a), n.push(s);
|
|
517
519
|
}
|
|
520
|
+
for (const s of t)
|
|
521
|
+
o(s);
|
|
522
|
+
return n;
|
|
523
|
+
}
|
|
524
|
+
class oc {
|
|
525
|
+
plugins = /* @__PURE__ */ new Map();
|
|
526
|
+
services = null;
|
|
518
527
|
/**
|
|
519
|
-
* Register a
|
|
528
|
+
* Register a plugin with the registry.
|
|
529
|
+
*
|
|
530
|
+
* @param plugin - The plugin to register
|
|
531
|
+
* @throws Warning if plugin with same ID already registered
|
|
532
|
+
* @throws Warning if plugin dependencies are not registered
|
|
520
533
|
*/
|
|
521
|
-
|
|
522
|
-
if (this.
|
|
534
|
+
register(e) {
|
|
535
|
+
if (console.log(`[PluginRegistry] Registering plugin: ${e.id}`), this.plugins.has(e.id)) {
|
|
523
536
|
console.warn(
|
|
524
|
-
`[
|
|
537
|
+
`[PluginRegistry] Plugin "${e.id}" is already registered. Skipping duplicate registration.`
|
|
525
538
|
);
|
|
526
539
|
return;
|
|
527
540
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
541
|
+
const n = e.dependencies || [], i = [];
|
|
542
|
+
for (const r of n)
|
|
543
|
+
this.plugins.has(r) || i.push(r);
|
|
544
|
+
i.length > 0 && console.warn(
|
|
545
|
+
`[PluginRegistry] Plugin "${e.id}" has unregistered dependencies: ${i.join(", ")}. These plugins should be registered first for proper initialization order.`
|
|
546
|
+
), this.plugins.set(e.id, {
|
|
547
|
+
plugin: e,
|
|
548
|
+
initialized: !1
|
|
549
|
+
}), console.log(
|
|
550
|
+
`[PluginRegistry] Plugin "${e.id}" registered successfully`
|
|
551
|
+
);
|
|
533
552
|
}
|
|
534
553
|
/**
|
|
535
|
-
*
|
|
554
|
+
* Set the plugin services reference.
|
|
555
|
+
* Called by initializePlugins() after creating services.
|
|
556
|
+
*
|
|
557
|
+
* @param services - The plugin services
|
|
536
558
|
*/
|
|
537
|
-
|
|
538
|
-
this.
|
|
559
|
+
setServices(e) {
|
|
560
|
+
this.services = e;
|
|
539
561
|
}
|
|
540
562
|
/**
|
|
541
|
-
*
|
|
563
|
+
* Mark a plugin as initialized.
|
|
564
|
+
* Called by initializePlugins() after successfully initializing a plugin.
|
|
565
|
+
*
|
|
566
|
+
* @param pluginId - The ID of the plugin to mark as initialized
|
|
542
567
|
*/
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
const i = {
|
|
547
|
-
...n,
|
|
548
|
-
parentId: n.parentId ?? e.id
|
|
549
|
-
};
|
|
550
|
-
this.registerProvider(i);
|
|
551
|
-
}
|
|
568
|
+
markPluginInitialized(e) {
|
|
569
|
+
const n = this.plugins.get(e);
|
|
570
|
+
n && (n.initialized = !0);
|
|
552
571
|
}
|
|
553
572
|
/**
|
|
554
|
-
* Get
|
|
573
|
+
* Get all registered plugins.
|
|
574
|
+
*
|
|
575
|
+
* @returns Array of all registered plugins
|
|
555
576
|
*/
|
|
556
|
-
|
|
557
|
-
return this.
|
|
577
|
+
getPlugins() {
|
|
578
|
+
return Array.from(this.plugins.values()).map((e) => e.plugin);
|
|
558
579
|
}
|
|
559
580
|
/**
|
|
560
|
-
* Get
|
|
581
|
+
* Get a specific plugin by ID.
|
|
582
|
+
*
|
|
583
|
+
* @param id - The plugin ID to look up
|
|
584
|
+
* @returns The plugin if found, undefined otherwise
|
|
561
585
|
*/
|
|
562
|
-
|
|
563
|
-
return
|
|
586
|
+
getPlugin(e) {
|
|
587
|
+
return this.plugins.get(e)?.plugin;
|
|
564
588
|
}
|
|
565
589
|
/**
|
|
566
|
-
*
|
|
590
|
+
* Aggregate all commands from all registered plugins.
|
|
591
|
+
*
|
|
592
|
+
* @returns Array of all commands from all plugins
|
|
567
593
|
*/
|
|
568
|
-
|
|
569
|
-
|
|
594
|
+
getAllCommands() {
|
|
595
|
+
const e = [];
|
|
596
|
+
for (const { plugin: n } of this.plugins.values())
|
|
597
|
+
n.commands && e.push(...n.commands);
|
|
598
|
+
return e;
|
|
570
599
|
}
|
|
571
600
|
/**
|
|
572
|
-
*
|
|
601
|
+
* Aggregate all analyzers from all registered plugins.
|
|
602
|
+
*
|
|
603
|
+
* @returns Array of all analyzers from all plugins
|
|
573
604
|
*/
|
|
574
|
-
|
|
575
|
-
|
|
605
|
+
getAllAnalyzers() {
|
|
606
|
+
const e = [];
|
|
607
|
+
for (const { plugin: n } of this.plugins.values())
|
|
608
|
+
n.analyzers && e.push(...n.analyzers);
|
|
609
|
+
return e;
|
|
576
610
|
}
|
|
577
611
|
/**
|
|
578
|
-
*
|
|
612
|
+
* Aggregate all inspector panels from all registered plugins.
|
|
613
|
+
* Panels are sorted by priority (higher priority first).
|
|
614
|
+
*
|
|
615
|
+
* @returns Array of all inspector panels, sorted by priority
|
|
579
616
|
*/
|
|
580
|
-
|
|
581
|
-
const
|
|
582
|
-
|
|
617
|
+
getAllInspectorPanels() {
|
|
618
|
+
const e = [];
|
|
619
|
+
for (const { plugin: n } of this.plugins.values())
|
|
620
|
+
n.inspectorPanels && e.push(...n.inspectorPanels);
|
|
621
|
+
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
583
622
|
}
|
|
584
623
|
/**
|
|
585
|
-
*
|
|
586
|
-
*
|
|
587
|
-
*
|
|
624
|
+
* Aggregate all toolbar actions from all registered plugins.
|
|
625
|
+
* Actions are sorted by priority (higher priority first).
|
|
626
|
+
*
|
|
627
|
+
* @returns Array of all toolbar actions, sorted by priority
|
|
588
628
|
*/
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
return console.warn("[CategoryRegistry] Services not initialized"), [];
|
|
595
|
-
if (this.isCacheValid(e))
|
|
596
|
-
return this.cache.get(e).items;
|
|
597
|
-
const i = this.loadingPromises.get(e);
|
|
598
|
-
if (i)
|
|
599
|
-
return i;
|
|
600
|
-
const r = this.loadItemsInternal(e, n);
|
|
601
|
-
this.loadingPromises.set(e, r);
|
|
602
|
-
try {
|
|
603
|
-
return await r;
|
|
604
|
-
} finally {
|
|
605
|
-
this.loadingPromises.delete(e);
|
|
606
|
-
}
|
|
629
|
+
getAllToolbarActions() {
|
|
630
|
+
const e = [];
|
|
631
|
+
for (const { plugin: n } of this.plugins.values())
|
|
632
|
+
n.toolbarActions && e.push(...n.toolbarActions);
|
|
633
|
+
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
607
634
|
}
|
|
608
635
|
/**
|
|
609
|
-
*
|
|
636
|
+
* Aggregate all toolbar action groups from all registered plugins.
|
|
637
|
+
* Groups are sorted by priority (higher priority first).
|
|
638
|
+
*
|
|
639
|
+
* @returns Array of all toolbar action groups, sorted by priority
|
|
610
640
|
*/
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
if (r)
|
|
617
|
-
return r;
|
|
618
|
-
}
|
|
619
|
-
}
|
|
641
|
+
getAllToolbarActionGroups() {
|
|
642
|
+
const e = [];
|
|
643
|
+
for (const { plugin: n } of this.plugins.values())
|
|
644
|
+
n.toolbarActionGroups && e.push(...n.toolbarActionGroups);
|
|
645
|
+
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
620
646
|
}
|
|
621
647
|
/**
|
|
622
|
-
*
|
|
648
|
+
* Aggregate all category providers from all registered plugins.
|
|
649
|
+
* Providers are sorted by priority (lower number = higher priority).
|
|
650
|
+
*
|
|
651
|
+
* @returns Array of all category providers, sorted by priority
|
|
623
652
|
*/
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
);
|
|
630
|
-
return this.updateCache(e, {
|
|
631
|
-
items: r,
|
|
632
|
-
state: "loaded",
|
|
633
|
-
loadedAt: Date.now(),
|
|
634
|
-
count: r.length,
|
|
635
|
-
error: void 0
|
|
636
|
-
}), this.notifyListeners(), r;
|
|
637
|
-
} catch (i) {
|
|
638
|
-
const r = i instanceof Error ? i.message : "Unknown error";
|
|
639
|
-
return this.updateCache(e, {
|
|
640
|
-
state: "error",
|
|
641
|
-
error: r
|
|
642
|
-
}), this.notifyListeners(), console.error(
|
|
643
|
-
`[CategoryRegistry] Failed to load items for "${e}":`,
|
|
644
|
-
i
|
|
645
|
-
), [];
|
|
646
|
-
}
|
|
653
|
+
getAllCategoryProviders() {
|
|
654
|
+
const e = [];
|
|
655
|
+
for (const { plugin: n } of this.plugins.values())
|
|
656
|
+
n.categoryProviders && e.push(...n.categoryProviders);
|
|
657
|
+
return e.sort((n, i) => n.priority - i.priority);
|
|
647
658
|
}
|
|
648
659
|
/**
|
|
649
|
-
*
|
|
660
|
+
* Aggregate all rules from all registered plugins.
|
|
661
|
+
* Queries each plugin's getRules method if implemented.
|
|
662
|
+
*
|
|
663
|
+
* @returns Array of all rule definitions from all plugins
|
|
650
664
|
*/
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
const
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
return (await this.loadItems(e)).length;
|
|
665
|
+
getAllRules() {
|
|
666
|
+
if (!this.services)
|
|
667
|
+
return console.warn("[PluginRegistry] Cannot get rules: services not initialized"), [];
|
|
668
|
+
const e = [];
|
|
669
|
+
for (const { plugin: n, initialized: i } of this.plugins.values())
|
|
670
|
+
if (i && n.getRules)
|
|
671
|
+
try {
|
|
672
|
+
const r = n.getRules(this.services);
|
|
673
|
+
e.push(...r);
|
|
674
|
+
} catch (r) {
|
|
675
|
+
console.error(
|
|
676
|
+
`[PluginRegistry] Error getting rules from plugin "${n.id}":`,
|
|
677
|
+
r
|
|
678
|
+
);
|
|
679
|
+
}
|
|
680
|
+
return e;
|
|
668
681
|
}
|
|
669
682
|
/**
|
|
670
|
-
*
|
|
671
|
-
*
|
|
683
|
+
* Set the severity for a specific rule.
|
|
684
|
+
* Finds the plugin that handles the rule and delegates to it.
|
|
685
|
+
*
|
|
686
|
+
* @param ruleId - The rule ID to configure
|
|
687
|
+
* @param severity - The new severity level
|
|
672
688
|
*/
|
|
673
|
-
|
|
674
|
-
if (!this.services)
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
[1, []],
|
|
678
|
-
[2, []],
|
|
679
|
-
[3, []]
|
|
680
|
-
]);
|
|
681
|
-
for (const s of n) {
|
|
682
|
-
const a = i.get(s.priority);
|
|
683
|
-
a && a.push(s);
|
|
689
|
+
setRuleSeverity(e, n) {
|
|
690
|
+
if (!this.services) {
|
|
691
|
+
console.warn("[PluginRegistry] Cannot set rule severity: services not initialized");
|
|
692
|
+
return;
|
|
684
693
|
}
|
|
685
|
-
const r
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
694
|
+
for (const { plugin: i, initialized: r } of this.plugins.values())
|
|
695
|
+
if (r) {
|
|
696
|
+
if (i.handlesRules && i.handlesRules({ id: e }) && i.setRuleSeverity) {
|
|
697
|
+
i.setRuleSeverity(e, n, this.services);
|
|
698
|
+
return;
|
|
699
|
+
}
|
|
700
|
+
if (e.startsWith(`${i.id}/`) && i.setRuleSeverity) {
|
|
701
|
+
i.setRuleSeverity(e, n, this.services);
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
console.warn(`[PluginRegistry] No plugin found to handle rule: ${e}`);
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Get configuration options for a specific rule.
|
|
709
|
+
*
|
|
710
|
+
* @param ruleId - The rule ID to get config for
|
|
711
|
+
* @returns The rule configuration, or undefined if not found
|
|
712
|
+
*/
|
|
713
|
+
getRuleConfig(e) {
|
|
714
|
+
if (!this.services) {
|
|
715
|
+
console.warn("[PluginRegistry] Cannot get rule config: services not initialized");
|
|
716
|
+
return;
|
|
689
717
|
}
|
|
690
|
-
const
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
}
|
|
697
|
-
{ timeout: 5e3 }
|
|
698
|
-
));
|
|
718
|
+
for (const { plugin: n, initialized: i } of this.plugins.values())
|
|
719
|
+
if (i) {
|
|
720
|
+
if (n.handlesRules?.({ id: e }) && n.getRuleConfig)
|
|
721
|
+
return n.getRuleConfig(e, this.services);
|
|
722
|
+
if (e.startsWith(`${n.id}/`) && n.getRuleConfig)
|
|
723
|
+
return n.getRuleConfig(e, this.services);
|
|
724
|
+
}
|
|
699
725
|
}
|
|
700
726
|
/**
|
|
701
|
-
*
|
|
727
|
+
* Set configuration options for a specific rule.
|
|
728
|
+
*
|
|
729
|
+
* @param ruleId - The rule ID to configure
|
|
730
|
+
* @param config - The configuration options to set
|
|
702
731
|
*/
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
(
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
732
|
+
setRuleConfig(e, n) {
|
|
733
|
+
if (!this.services) {
|
|
734
|
+
console.warn("[PluginRegistry] Cannot set rule config: services not initialized");
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
for (const { plugin: i, initialized: r } of this.plugins.values())
|
|
738
|
+
if (r) {
|
|
739
|
+
if (i.handlesRules?.({ id: e }) && i.setRuleConfig) {
|
|
740
|
+
i.setRuleConfig(e, n, this.services);
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
if (e.startsWith(`${i.id}/`) && i.setRuleConfig) {
|
|
744
|
+
i.setRuleConfig(e, n, this.services);
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
console.warn(`[PluginRegistry] No plugin found to configure rule: ${e}`);
|
|
717
749
|
}
|
|
718
750
|
/**
|
|
719
|
-
*
|
|
751
|
+
* Resolve which plugin handles a specific rule.
|
|
752
|
+
*
|
|
753
|
+
* First checks for plugins that explicitly claim the rule via ruleContributions,
|
|
754
|
+
* then falls back to matching by rule category.
|
|
755
|
+
*
|
|
756
|
+
* @param ruleId - The rule ID to look up
|
|
757
|
+
* @param ruleMeta - The rule metadata
|
|
758
|
+
* @returns The plugin that handles this rule, or a default core plugin
|
|
720
759
|
*/
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
})
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
760
|
+
getPluginForRule(e, n) {
|
|
761
|
+
for (const { plugin: o } of this.plugins.values())
|
|
762
|
+
if (o.ruleContributions && o.ruleContributions.find(
|
|
763
|
+
(a) => a.ruleId === e
|
|
764
|
+
))
|
|
765
|
+
return o;
|
|
766
|
+
for (const { plugin: o } of this.plugins.values())
|
|
767
|
+
if (e.startsWith(`${o.id}/`) || n.category && o.ruleCategories && o.ruleCategories.includes(n.category))
|
|
768
|
+
return o;
|
|
769
|
+
const i = this.plugins.get("core")?.plugin;
|
|
770
|
+
if (i)
|
|
771
|
+
return i;
|
|
772
|
+
const r = this.plugins.values().next().value;
|
|
773
|
+
return r ? r.plugin : {
|
|
774
|
+
id: "default",
|
|
775
|
+
name: "Default",
|
|
776
|
+
version: "1.0.0"
|
|
777
|
+
};
|
|
737
778
|
}
|
|
738
779
|
/**
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
780
|
+
* Get custom UI contribution for a specific rule.
|
|
781
|
+
*
|
|
782
|
+
* @param ruleId - The rule ID to look up
|
|
783
|
+
* @returns The rule UI contribution if found, undefined otherwise
|
|
742
784
|
*/
|
|
743
|
-
|
|
744
|
-
const
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
parentId: s.parentId ?? r.parentId
|
|
753
|
-
};
|
|
754
|
-
i.push(a), this.cache.has(s.id) || this.cache.set(s.id, {
|
|
755
|
-
items: [],
|
|
756
|
-
state: "idle",
|
|
757
|
-
loadedAt: 0
|
|
758
|
-
});
|
|
759
|
-
}
|
|
760
|
-
} else
|
|
761
|
-
i.push(r);
|
|
762
|
-
for (const r of i) {
|
|
763
|
-
const o = this.cache.get(r.id), s = o?.count;
|
|
764
|
-
if (s === 0 && o?.state === "loaded")
|
|
765
|
-
continue;
|
|
766
|
-
const a = {
|
|
767
|
-
id: r.id,
|
|
768
|
-
label: r.label,
|
|
769
|
-
count: s,
|
|
770
|
-
isLoading: o?.state === "loading",
|
|
771
|
-
parentId: r.parentId,
|
|
772
|
-
priority: r.priority
|
|
773
|
-
};
|
|
774
|
-
if (r.parentId) {
|
|
775
|
-
const l = n.get(r.parentId) ?? [];
|
|
776
|
-
l.push(a), n.set(r.parentId, l);
|
|
777
|
-
} else
|
|
778
|
-
e.push(a);
|
|
779
|
-
}
|
|
780
|
-
for (const [r, o] of n) {
|
|
781
|
-
o.sort((a, l) => a.priority - l.priority);
|
|
782
|
-
const s = e.find((a) => a.id === r);
|
|
783
|
-
s ? s.children = o : e.push({
|
|
784
|
-
id: r,
|
|
785
|
-
label: r,
|
|
786
|
-
// Will be replaced with plugin name in UI
|
|
787
|
-
isLoading: !1,
|
|
788
|
-
priority: Math.min(...o.map((a) => a.priority)),
|
|
789
|
-
children: o
|
|
790
|
-
});
|
|
791
|
-
}
|
|
792
|
-
return e.sort((r, o) => r.priority - o.priority), e;
|
|
785
|
+
getRuleContribution(e) {
|
|
786
|
+
for (const { plugin: n } of this.plugins.values())
|
|
787
|
+
if (n.ruleContributions) {
|
|
788
|
+
const i = n.ruleContributions.find(
|
|
789
|
+
(r) => r.ruleId === e
|
|
790
|
+
);
|
|
791
|
+
if (i)
|
|
792
|
+
return i;
|
|
793
|
+
}
|
|
793
794
|
}
|
|
794
795
|
/**
|
|
795
|
-
*
|
|
796
|
+
* Dispose all plugins and clean up resources.
|
|
797
|
+
* Calls dispose on each plugin in reverse initialization order.
|
|
796
798
|
*/
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
const
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
799
|
+
disposeAll() {
|
|
800
|
+
console.log("[PluginRegistry] Disposing all plugins...");
|
|
801
|
+
const e = Array.from(this.plugins.values()).map((i) => i.plugin), n = ks(e).reverse();
|
|
802
|
+
for (const i of n) {
|
|
803
|
+
const r = this.plugins.get(i.id);
|
|
804
|
+
if (!(!r || !r.initialized))
|
|
805
|
+
try {
|
|
806
|
+
console.log(`[PluginRegistry] Disposing plugin: ${i.id}`), i.dispose && this.services && i.dispose(this.services), r.initialized = !1, console.log(
|
|
807
|
+
`[PluginRegistry] Plugin "${i.id}" disposed successfully`
|
|
808
|
+
);
|
|
809
|
+
} catch (o) {
|
|
810
|
+
console.error(
|
|
811
|
+
`[PluginRegistry] Failed to dispose plugin "${i.id}":`,
|
|
812
|
+
o
|
|
813
|
+
);
|
|
814
|
+
}
|
|
809
815
|
}
|
|
810
|
-
|
|
816
|
+
this.services = null, console.log("[PluginRegistry] All plugins disposed");
|
|
811
817
|
}
|
|
812
818
|
/**
|
|
813
|
-
*
|
|
819
|
+
* Check if a plugin is registered.
|
|
820
|
+
*
|
|
821
|
+
* @param id - The plugin ID to check
|
|
822
|
+
* @returns true if the plugin is registered
|
|
814
823
|
*/
|
|
815
|
-
|
|
816
|
-
return this.
|
|
817
|
-
this.listeners.delete(e);
|
|
818
|
-
};
|
|
824
|
+
isRegistered(e) {
|
|
825
|
+
return this.plugins.has(e);
|
|
819
826
|
}
|
|
820
827
|
/**
|
|
821
|
-
*
|
|
828
|
+
* Check if a plugin is initialized.
|
|
829
|
+
*
|
|
830
|
+
* @param id - The plugin ID to check
|
|
831
|
+
* @returns true if the plugin is initialized, false otherwise
|
|
822
832
|
*/
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
items: [],
|
|
826
|
-
state: "idle",
|
|
827
|
-
loadedAt: 0
|
|
828
|
-
};
|
|
829
|
-
this.cache.set(e, { ...i, ...n });
|
|
833
|
+
isInitialized(e) {
|
|
834
|
+
return this.plugins.get(e)?.initialized ?? !1;
|
|
830
835
|
}
|
|
831
836
|
/**
|
|
832
|
-
*
|
|
837
|
+
* Get the current plugin services (available after initializeAll).
|
|
838
|
+
*
|
|
839
|
+
* @returns The plugin services, or null if not yet initialized
|
|
833
840
|
*/
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
e();
|
|
841
|
+
getServices() {
|
|
842
|
+
return this.services;
|
|
837
843
|
}
|
|
838
844
|
/**
|
|
839
|
-
* Clear all
|
|
845
|
+
* Clear all registered plugins.
|
|
846
|
+
* Useful for testing or resetting the registry.
|
|
840
847
|
*/
|
|
841
848
|
clear() {
|
|
842
|
-
|
|
849
|
+
console.log("[PluginRegistry] Clearing all plugins"), this.disposeAll(), this.plugins.clear();
|
|
843
850
|
}
|
|
844
851
|
}
|
|
845
|
-
function
|
|
846
|
-
return new
|
|
847
|
-
}
|
|
848
|
-
const Lt = lc();
|
|
849
|
-
function Er(t) {
|
|
850
|
-
const e = /* @__PURE__ */ new Map();
|
|
851
|
-
for (const s of t)
|
|
852
|
-
e.set(s.id, s);
|
|
853
|
-
const n = [], i = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
854
|
-
function o(s) {
|
|
855
|
-
const a = s.id;
|
|
856
|
-
if (i.has(a))
|
|
857
|
-
return;
|
|
858
|
-
if (r.has(a))
|
|
859
|
-
throw new Error(
|
|
860
|
-
`[PluginRegistry] Circular dependency detected involving plugin: ${a}`
|
|
861
|
-
);
|
|
862
|
-
r.add(a);
|
|
863
|
-
const l = s.dependencies || [];
|
|
864
|
-
for (const c of l) {
|
|
865
|
-
const u = e.get(c);
|
|
866
|
-
u && o(u);
|
|
867
|
-
}
|
|
868
|
-
r.delete(a), i.add(a), n.push(s);
|
|
869
|
-
}
|
|
870
|
-
for (const s of t)
|
|
871
|
-
o(s);
|
|
872
|
-
return n;
|
|
852
|
+
function sc() {
|
|
853
|
+
return new oc();
|
|
873
854
|
}
|
|
855
|
+
const mt = sc(), ac = 3e4, lc = 3;
|
|
874
856
|
class cc {
|
|
875
|
-
|
|
857
|
+
providers = /* @__PURE__ */ new Map();
|
|
858
|
+
cache = /* @__PURE__ */ new Map();
|
|
859
|
+
loadingPromises = /* @__PURE__ */ new Map();
|
|
876
860
|
services = null;
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
*/
|
|
885
|
-
register(e) {
|
|
886
|
-
if (console.log(`[PluginRegistry] Registering plugin: ${e.id}`), this.plugins.has(e.id)) {
|
|
887
|
-
console.warn(
|
|
888
|
-
`[PluginRegistry] Plugin "${e.id}" is already registered. Skipping duplicate registration.`
|
|
889
|
-
);
|
|
890
|
-
return;
|
|
891
|
-
}
|
|
892
|
-
const n = e.dependencies || [], i = [];
|
|
893
|
-
for (const r of n)
|
|
894
|
-
this.plugins.has(r) || i.push(r);
|
|
895
|
-
i.length > 0 && console.warn(
|
|
896
|
-
`[PluginRegistry] Plugin "${e.id}" has unregistered dependencies: ${i.join(", ")}. These plugins should be registered first for proper initialization order.`
|
|
897
|
-
), this.plugins.set(e.id, {
|
|
898
|
-
plugin: e,
|
|
899
|
-
initialized: !1
|
|
900
|
-
}), console.log(
|
|
901
|
-
`[PluginRegistry] Plugin "${e.id}" registered successfully`
|
|
902
|
-
);
|
|
861
|
+
options;
|
|
862
|
+
listeners = /* @__PURE__ */ new Set();
|
|
863
|
+
constructor(e = {}) {
|
|
864
|
+
this.options = {
|
|
865
|
+
cacheTTL: e.cacheTTL ?? ac,
|
|
866
|
+
maxConcurrentLoads: e.maxConcurrentLoads ?? lc
|
|
867
|
+
};
|
|
903
868
|
}
|
|
904
869
|
/**
|
|
905
|
-
* Initialize
|
|
906
|
-
*
|
|
907
|
-
* @param services - Plugin services to pass to each plugin's initialize method
|
|
870
|
+
* Initialize the registry with plugin services.
|
|
908
871
|
*/
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
const n = Array.from(this.plugins.values()).map((r) => r.plugin), i = Er(n);
|
|
912
|
-
console.log(
|
|
913
|
-
`[PluginRegistry] Initialization order: ${i.map((r) => r.id).join(" -> ")}`
|
|
914
|
-
);
|
|
915
|
-
for (const r of i) {
|
|
916
|
-
const o = this.plugins.get(r.id);
|
|
917
|
-
if (o) {
|
|
918
|
-
if (o.initialized) {
|
|
919
|
-
console.log(
|
|
920
|
-
`[PluginRegistry] Plugin "${r.id}" already initialized, skipping`
|
|
921
|
-
);
|
|
922
|
-
continue;
|
|
923
|
-
}
|
|
924
|
-
try {
|
|
925
|
-
console.log(`[PluginRegistry] Initializing plugin: ${r.id}`), r.initialize && await r.initialize(e), r.categoryProviders && (this.categoryRegistryRef.registerFromPlugin(r), console.log(
|
|
926
|
-
`[PluginRegistry] Registered ${r.categoryProviders.length} category providers from "${r.id}"`
|
|
927
|
-
)), o.initialized = !0, console.log(
|
|
928
|
-
`[PluginRegistry] Plugin "${r.id}" initialized successfully`
|
|
929
|
-
);
|
|
930
|
-
} catch (s) {
|
|
931
|
-
console.error(
|
|
932
|
-
`[PluginRegistry] Failed to initialize plugin "${r.id}":`,
|
|
933
|
-
s
|
|
934
|
-
);
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
}
|
|
938
|
-
this.categoryRegistryRef.loadByPriority(), console.log("[PluginRegistry] All plugins initialized");
|
|
872
|
+
initialize(e) {
|
|
873
|
+
this.services = e;
|
|
939
874
|
}
|
|
940
875
|
/**
|
|
941
|
-
*
|
|
942
|
-
*
|
|
943
|
-
* @returns Array of all registered plugins
|
|
876
|
+
* Register a category provider.
|
|
944
877
|
*/
|
|
945
|
-
|
|
946
|
-
|
|
878
|
+
registerProvider(e) {
|
|
879
|
+
if (this.providers.has(e.id)) {
|
|
880
|
+
console.warn(
|
|
881
|
+
`[CategoryRegistry] Provider "${e.id}" already registered. Skipping.`
|
|
882
|
+
);
|
|
883
|
+
return;
|
|
884
|
+
}
|
|
885
|
+
this.providers.set(e.id, e), this.cache.set(e.id, {
|
|
886
|
+
items: [],
|
|
887
|
+
state: "idle",
|
|
888
|
+
loadedAt: 0
|
|
889
|
+
}), this.notifyListeners();
|
|
947
890
|
}
|
|
948
891
|
/**
|
|
949
|
-
*
|
|
950
|
-
*
|
|
951
|
-
* @param id - The plugin ID to look up
|
|
952
|
-
* @returns The plugin if found, undefined otherwise
|
|
892
|
+
* Unregister a category provider.
|
|
953
893
|
*/
|
|
954
|
-
|
|
955
|
-
|
|
894
|
+
unregisterProvider(e) {
|
|
895
|
+
this.providers.delete(e), this.cache.delete(e), this.loadingPromises.delete(e), this.notifyListeners();
|
|
956
896
|
}
|
|
957
897
|
/**
|
|
958
|
-
*
|
|
959
|
-
*
|
|
960
|
-
* @returns Array of all commands from all plugins
|
|
898
|
+
* Register all category providers from a plugin.
|
|
961
899
|
*/
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
900
|
+
registerFromPlugin(e) {
|
|
901
|
+
if (e.categoryProviders)
|
|
902
|
+
for (const n of e.categoryProviders) {
|
|
903
|
+
const i = {
|
|
904
|
+
...n,
|
|
905
|
+
parentId: n.parentId ?? e.id
|
|
906
|
+
};
|
|
907
|
+
this.registerProvider(i);
|
|
908
|
+
}
|
|
967
909
|
}
|
|
968
910
|
/**
|
|
969
|
-
*
|
|
970
|
-
*
|
|
971
|
-
* @returns Array of all analyzers from all plugins
|
|
911
|
+
* Get a category provider by ID.
|
|
972
912
|
*/
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
for (const { plugin: n } of this.plugins.values())
|
|
976
|
-
n.analyzers && e.push(...n.analyzers);
|
|
977
|
-
return e;
|
|
913
|
+
getProvider(e) {
|
|
914
|
+
return this.providers.get(e);
|
|
978
915
|
}
|
|
979
916
|
/**
|
|
980
|
-
*
|
|
981
|
-
* Panels are sorted by priority (higher priority first).
|
|
982
|
-
*
|
|
983
|
-
* @returns Array of all inspector panels, sorted by priority
|
|
917
|
+
* Get all registered providers.
|
|
984
918
|
*/
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
for (const { plugin: n } of this.plugins.values())
|
|
988
|
-
n.inspectorPanels && e.push(...n.inspectorPanels);
|
|
989
|
-
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
919
|
+
getAllProviders() {
|
|
920
|
+
return Array.from(this.providers.values());
|
|
990
921
|
}
|
|
991
922
|
/**
|
|
992
|
-
*
|
|
993
|
-
* Actions are sorted by priority (higher priority first).
|
|
994
|
-
*
|
|
995
|
-
* @returns Array of all toolbar actions, sorted by priority
|
|
923
|
+
* Get the loading state for a category.
|
|
996
924
|
*/
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
for (const { plugin: n } of this.plugins.values())
|
|
1000
|
-
n.toolbarActions && e.push(...n.toolbarActions);
|
|
1001
|
-
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
925
|
+
getLoadingState(e) {
|
|
926
|
+
return this.cache.get(e)?.state ?? "idle";
|
|
1002
927
|
}
|
|
1003
928
|
/**
|
|
1004
|
-
*
|
|
1005
|
-
* Groups are sorted by priority (higher priority first).
|
|
1006
|
-
*
|
|
1007
|
-
* @returns Array of all toolbar action groups, sorted by priority
|
|
929
|
+
* Get cached items for a category (empty if not loaded).
|
|
1008
930
|
*/
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
for (const { plugin: n } of this.plugins.values())
|
|
1012
|
-
n.toolbarActionGroups && e.push(...n.toolbarActionGroups);
|
|
1013
|
-
return e.sort((n, i) => (i.priority ?? 0) - (n.priority ?? 0));
|
|
931
|
+
getCachedItems(e) {
|
|
932
|
+
return this.cache.get(e)?.items ?? [];
|
|
1014
933
|
}
|
|
1015
934
|
/**
|
|
1016
|
-
*
|
|
1017
|
-
* Providers are sorted by priority (lower number = higher priority).
|
|
1018
|
-
*
|
|
1019
|
-
* @returns Array of all category providers, sorted by priority
|
|
935
|
+
* Check if a category's cache is still valid.
|
|
1020
936
|
*/
|
|
1021
|
-
|
|
1022
|
-
const
|
|
1023
|
-
|
|
1024
|
-
n.categoryProviders && e.push(...n.categoryProviders);
|
|
1025
|
-
return e.sort((n, i) => n.priority - i.priority);
|
|
937
|
+
isCacheValid(e) {
|
|
938
|
+
const n = this.cache.get(e);
|
|
939
|
+
return !n || n.state !== "loaded" ? !1 : Date.now() - n.loadedAt < this.options.cacheTTL;
|
|
1026
940
|
}
|
|
1027
941
|
/**
|
|
1028
|
-
*
|
|
1029
|
-
*
|
|
1030
|
-
*
|
|
942
|
+
* Load items for a category.
|
|
943
|
+
* Returns cached items if valid, otherwise loads fresh data.
|
|
944
|
+
* Handles both static and dynamic providers.
|
|
1031
945
|
*/
|
|
1032
|
-
|
|
1033
|
-
|
|
946
|
+
async loadItems(e) {
|
|
947
|
+
let n = this.providers.get(e);
|
|
948
|
+
if (n || (n = this.findDynamicProvider(e)), !n)
|
|
949
|
+
return console.warn(`[CategoryRegistry] Unknown provider: ${e}`), [];
|
|
950
|
+
if (!this.services)
|
|
951
|
+
return console.warn("[CategoryRegistry] Services not initialized"), [];
|
|
952
|
+
if (this.isCacheValid(e))
|
|
953
|
+
return this.cache.get(e).items;
|
|
954
|
+
const i = this.loadingPromises.get(e);
|
|
955
|
+
if (i)
|
|
956
|
+
return i;
|
|
957
|
+
const r = this.loadItemsInternal(e, n);
|
|
958
|
+
this.loadingPromises.set(e, r);
|
|
959
|
+
try {
|
|
960
|
+
return await r;
|
|
961
|
+
} finally {
|
|
962
|
+
this.loadingPromises.delete(e);
|
|
963
|
+
}
|
|
1034
964
|
}
|
|
1035
965
|
/**
|
|
1036
|
-
*
|
|
1037
|
-
* Queries each plugin's getRules method if implemented.
|
|
1038
|
-
*
|
|
1039
|
-
* @returns Array of all rule definitions from all plugins
|
|
966
|
+
* Find a dynamic provider by searching through all dynamic parent providers.
|
|
1040
967
|
*/
|
|
1041
|
-
|
|
1042
|
-
if (
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
const r = n.getRules(this.services);
|
|
1049
|
-
e.push(...r);
|
|
1050
|
-
} catch (r) {
|
|
1051
|
-
console.error(
|
|
1052
|
-
`[PluginRegistry] Error getting rules from plugin "${n.id}":`,
|
|
1053
|
-
r
|
|
1054
|
-
);
|
|
968
|
+
findDynamicProvider(e) {
|
|
969
|
+
if (this.services) {
|
|
970
|
+
for (const n of this.providers.values())
|
|
971
|
+
if (n.isDynamic && n.getSubCategories) {
|
|
972
|
+
const r = n.getSubCategories(this.services).find((o) => o.id === e);
|
|
973
|
+
if (r)
|
|
974
|
+
return r;
|
|
1055
975
|
}
|
|
1056
|
-
|
|
976
|
+
}
|
|
1057
977
|
}
|
|
1058
978
|
/**
|
|
1059
|
-
*
|
|
1060
|
-
* Finds the plugin that handles the rule and delegates to it.
|
|
1061
|
-
*
|
|
1062
|
-
* @param ruleId - The rule ID to configure
|
|
1063
|
-
* @param severity - The new severity level
|
|
979
|
+
* Internal method to load items from a provider.
|
|
1064
980
|
*/
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
981
|
+
async loadItemsInternal(e, n) {
|
|
982
|
+
this.updateCache(e, { state: "loading" }), this.notifyListeners();
|
|
983
|
+
try {
|
|
984
|
+
const r = (await n.getItems(this.services)).sort(
|
|
985
|
+
(o, s) => (o.priority ?? 1) - (s.priority ?? 1)
|
|
986
|
+
);
|
|
987
|
+
return this.updateCache(e, {
|
|
988
|
+
items: r,
|
|
989
|
+
state: "loaded",
|
|
990
|
+
loadedAt: Date.now(),
|
|
991
|
+
count: r.length,
|
|
992
|
+
error: void 0
|
|
993
|
+
}), this.notifyListeners(), r;
|
|
994
|
+
} catch (i) {
|
|
995
|
+
const r = i instanceof Error ? i.message : "Unknown error";
|
|
996
|
+
return this.updateCache(e, {
|
|
997
|
+
state: "error",
|
|
998
|
+
error: r
|
|
999
|
+
}), this.notifyListeners(), console.error(
|
|
1000
|
+
`[CategoryRegistry] Failed to load items for "${e}":`,
|
|
1001
|
+
i
|
|
1002
|
+
), [];
|
|
1069
1003
|
}
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Load item count for a category without loading full items.
|
|
1007
|
+
*/
|
|
1008
|
+
async loadItemCount(e) {
|
|
1009
|
+
const n = this.providers.get(e);
|
|
1010
|
+
if (!n || !this.services) return 0;
|
|
1011
|
+
const i = this.cache.get(e);
|
|
1012
|
+
if (i?.count !== void 0)
|
|
1013
|
+
return i.count;
|
|
1014
|
+
if (n.getItemCount)
|
|
1015
|
+
try {
|
|
1016
|
+
const o = await n.getItemCount(this.services);
|
|
1017
|
+
return this.updateCache(e, { count: o }), this.notifyListeners(), o;
|
|
1018
|
+
} catch (o) {
|
|
1019
|
+
return console.error(
|
|
1020
|
+
`[CategoryRegistry] Failed to get count for "${e}":`,
|
|
1021
|
+
o
|
|
1022
|
+
), 0;
|
|
1080
1023
|
}
|
|
1081
|
-
|
|
1024
|
+
return (await this.loadItems(e)).length;
|
|
1082
1025
|
}
|
|
1083
1026
|
/**
|
|
1084
|
-
*
|
|
1085
|
-
*
|
|
1086
|
-
* @param ruleId - The rule ID to get config for
|
|
1087
|
-
* @returns The rule configuration, or undefined if not found
|
|
1027
|
+
* Load categories by priority.
|
|
1028
|
+
* Loads P0 immediately, schedules P1-P3 appropriately.
|
|
1088
1029
|
*/
|
|
1089
|
-
|
|
1090
|
-
if (!this.services)
|
|
1091
|
-
|
|
1092
|
-
|
|
1030
|
+
async loadByPriority(e) {
|
|
1031
|
+
if (!this.services) return;
|
|
1032
|
+
const n = this.getAllProviders(), i = /* @__PURE__ */ new Map([
|
|
1033
|
+
[0, []],
|
|
1034
|
+
[1, []],
|
|
1035
|
+
[2, []],
|
|
1036
|
+
[3, []]
|
|
1037
|
+
]);
|
|
1038
|
+
for (const s of n) {
|
|
1039
|
+
const a = i.get(s.priority);
|
|
1040
|
+
a && a.push(s);
|
|
1093
1041
|
}
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1042
|
+
const r = i.get(0) ?? [];
|
|
1043
|
+
if (await Promise.all(r.map((s) => this.loadItems(s.id))), e) {
|
|
1044
|
+
const s = e.filter((a) => !this.isCacheValid(a)).map((a) => this.loadItems(a));
|
|
1045
|
+
await Promise.all(s);
|
|
1046
|
+
}
|
|
1047
|
+
const o = i.get(1) ?? [];
|
|
1048
|
+
await Promise.all(o.map((s) => this.loadItemCount(s.id))), typeof requestIdleCallback < "u" && (requestIdleCallback(() => {
|
|
1049
|
+
(i.get(2) ?? []).forEach((a) => this.loadItemCount(a.id));
|
|
1050
|
+
}), requestIdleCallback(
|
|
1051
|
+
() => {
|
|
1052
|
+
(i.get(3) ?? []).forEach((a) => this.loadItemCount(a.id));
|
|
1053
|
+
},
|
|
1054
|
+
{ timeout: 5e3 }
|
|
1055
|
+
));
|
|
1101
1056
|
}
|
|
1102
1057
|
/**
|
|
1103
|
-
*
|
|
1104
|
-
*
|
|
1105
|
-
* @param ruleId - The rule ID to configure
|
|
1106
|
-
* @param config - The configuration options to set
|
|
1058
|
+
* Prefetch low-priority categories during idle time.
|
|
1107
1059
|
*/
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
}
|
|
1123
|
-
}
|
|
1124
|
-
console.warn(`[PluginRegistry] No plugin found to configure rule: ${e}`);
|
|
1060
|
+
prefetchLowPriority() {
|
|
1061
|
+
typeof requestIdleCallback > "u" || requestIdleCallback(
|
|
1062
|
+
() => {
|
|
1063
|
+
const e = this.getAllProviders().filter(
|
|
1064
|
+
(i) => i.priority >= 2 && !this.isCacheValid(i.id)
|
|
1065
|
+
), n = (i) => {
|
|
1066
|
+
i >= e.length || this.loadItemCount(e[i].id).then(() => {
|
|
1067
|
+
requestIdleCallback(() => n(i + 1));
|
|
1068
|
+
});
|
|
1069
|
+
};
|
|
1070
|
+
n(0);
|
|
1071
|
+
},
|
|
1072
|
+
{ timeout: 1e4 }
|
|
1073
|
+
);
|
|
1125
1074
|
}
|
|
1126
1075
|
/**
|
|
1127
|
-
*
|
|
1128
|
-
*
|
|
1129
|
-
* First checks for plugins that explicitly claim the rule via ruleContributions,
|
|
1130
|
-
* then falls back to matching by rule category.
|
|
1131
|
-
*
|
|
1132
|
-
* @param ruleId - The rule ID to look up
|
|
1133
|
-
* @param ruleMeta - The rule metadata
|
|
1134
|
-
* @returns The plugin that handles this rule, or a default core plugin
|
|
1076
|
+
* Invalidate cache for one or all categories.
|
|
1135
1077
|
*/
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
version: "1.0.0"
|
|
1153
|
-
};
|
|
1078
|
+
invalidate(e) {
|
|
1079
|
+
if (e) {
|
|
1080
|
+
const n = this.cache.get(e);
|
|
1081
|
+
n && this.cache.set(e, {
|
|
1082
|
+
...n,
|
|
1083
|
+
state: "idle",
|
|
1084
|
+
loadedAt: 0
|
|
1085
|
+
});
|
|
1086
|
+
} else
|
|
1087
|
+
for (const [n, i] of this.cache)
|
|
1088
|
+
this.cache.set(n, {
|
|
1089
|
+
...i,
|
|
1090
|
+
state: "idle",
|
|
1091
|
+
loadedAt: 0
|
|
1092
|
+
});
|
|
1093
|
+
this.notifyListeners();
|
|
1154
1094
|
}
|
|
1155
1095
|
/**
|
|
1156
|
-
*
|
|
1157
|
-
*
|
|
1158
|
-
*
|
|
1159
|
-
* @returns The rule UI contribution if found, undefined otherwise
|
|
1096
|
+
* Build the category tree for the sidebar.
|
|
1097
|
+
* Groups categories by parent plugin and filters out empty categories.
|
|
1098
|
+
* Expands dynamic providers to include their sub-categories.
|
|
1160
1099
|
*/
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
)
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1100
|
+
getCategoryTree() {
|
|
1101
|
+
const e = [], n = /* @__PURE__ */ new Map(), i = [];
|
|
1102
|
+
for (const r of this.providers.values())
|
|
1103
|
+
if (r.isDynamic && r.getSubCategories && this.services) {
|
|
1104
|
+
const o = r.getSubCategories(this.services);
|
|
1105
|
+
for (const s of o)
|
|
1106
|
+
if (!this.providers.has(s.id)) {
|
|
1107
|
+
const a = {
|
|
1108
|
+
...s,
|
|
1109
|
+
parentId: s.parentId ?? r.parentId
|
|
1110
|
+
};
|
|
1111
|
+
i.push(a), this.cache.has(s.id) || this.cache.set(s.id, {
|
|
1112
|
+
items: [],
|
|
1113
|
+
state: "idle",
|
|
1114
|
+
loadedAt: 0
|
|
1115
|
+
});
|
|
1116
|
+
}
|
|
1117
|
+
} else
|
|
1118
|
+
i.push(r);
|
|
1119
|
+
for (const r of i) {
|
|
1120
|
+
const o = this.cache.get(r.id), s = o?.count;
|
|
1121
|
+
if (s === 0 && o?.state === "loaded")
|
|
1122
|
+
continue;
|
|
1123
|
+
const a = {
|
|
1124
|
+
id: r.id,
|
|
1125
|
+
label: r.label,
|
|
1126
|
+
count: s,
|
|
1127
|
+
isLoading: o?.state === "loading",
|
|
1128
|
+
parentId: r.parentId,
|
|
1129
|
+
priority: r.priority
|
|
1130
|
+
};
|
|
1131
|
+
if (r.parentId) {
|
|
1132
|
+
const l = n.get(r.parentId) ?? [];
|
|
1133
|
+
l.push(a), n.set(r.parentId, l);
|
|
1134
|
+
} else
|
|
1135
|
+
e.push(a);
|
|
1136
|
+
}
|
|
1137
|
+
for (const [r, o] of n) {
|
|
1138
|
+
o.sort((a, l) => a.priority - l.priority);
|
|
1139
|
+
const s = e.find((a) => a.id === r);
|
|
1140
|
+
s ? s.children = o : e.push({
|
|
1141
|
+
id: r,
|
|
1142
|
+
label: r,
|
|
1143
|
+
// Will be replaced with plugin name in UI
|
|
1144
|
+
isLoading: !1,
|
|
1145
|
+
priority: Math.min(...o.map((a) => a.priority)),
|
|
1146
|
+
children: o
|
|
1147
|
+
});
|
|
1148
|
+
}
|
|
1149
|
+
return e.sort((r, o) => r.priority - o.priority), e;
|
|
1170
1150
|
}
|
|
1171
1151
|
/**
|
|
1172
|
-
*
|
|
1173
|
-
* Calls dispose on each plugin in reverse initialization order.
|
|
1152
|
+
* Search items across all categories or a specific category.
|
|
1174
1153
|
*/
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
`[PluginRegistry] Failed to dispose plugin "${i.id}":`,
|
|
1188
|
-
o
|
|
1189
|
-
);
|
|
1190
|
-
}
|
|
1154
|
+
searchItems(e, n) {
|
|
1155
|
+
const i = e.toLowerCase().trim();
|
|
1156
|
+
if (!i) return [];
|
|
1157
|
+
const r = [], o = n ? [this.providers.get(n)].filter(Boolean) : this.getAllProviders();
|
|
1158
|
+
for (const s of o) {
|
|
1159
|
+
const a = this.cache.get(s.id);
|
|
1160
|
+
if (!a || a.state !== "loaded") continue;
|
|
1161
|
+
const l = a.items.filter((c) => s.filterPredicate ? s.filterPredicate(c, i) : (s.searchKeys ?? ["title", "subtitle"]).some((h) => {
|
|
1162
|
+
const f = h === "title" ? c.title : h === "subtitle" ? c.subtitle : c.metadata?.[h];
|
|
1163
|
+
return typeof f == "string" && f.toLowerCase().includes(i);
|
|
1164
|
+
}));
|
|
1165
|
+
r.push(...l);
|
|
1191
1166
|
}
|
|
1192
|
-
|
|
1167
|
+
return r.sort((s, a) => (s.priority ?? 1) - (a.priority ?? 1));
|
|
1193
1168
|
}
|
|
1194
1169
|
/**
|
|
1195
|
-
*
|
|
1196
|
-
*
|
|
1197
|
-
* @param id - The plugin ID to check
|
|
1198
|
-
* @returns true if the plugin is registered
|
|
1170
|
+
* Subscribe to registry changes.
|
|
1199
1171
|
*/
|
|
1200
|
-
|
|
1201
|
-
return this.
|
|
1172
|
+
subscribe(e) {
|
|
1173
|
+
return this.listeners.add(e), () => {
|
|
1174
|
+
this.listeners.delete(e);
|
|
1175
|
+
};
|
|
1202
1176
|
}
|
|
1203
1177
|
/**
|
|
1204
|
-
*
|
|
1205
|
-
*
|
|
1206
|
-
* @param id - The plugin ID to check
|
|
1207
|
-
* @returns true if the plugin is initialized, false otherwise
|
|
1178
|
+
* Update cache for a provider.
|
|
1208
1179
|
*/
|
|
1209
|
-
|
|
1210
|
-
|
|
1180
|
+
updateCache(e, n) {
|
|
1181
|
+
const i = this.cache.get(e) ?? {
|
|
1182
|
+
items: [],
|
|
1183
|
+
state: "idle",
|
|
1184
|
+
loadedAt: 0
|
|
1185
|
+
};
|
|
1186
|
+
this.cache.set(e, { ...i, ...n });
|
|
1211
1187
|
}
|
|
1212
1188
|
/**
|
|
1213
|
-
*
|
|
1214
|
-
*
|
|
1215
|
-
* @returns The plugin services, or null if not yet initialized
|
|
1189
|
+
* Notify all listeners of changes.
|
|
1216
1190
|
*/
|
|
1217
|
-
|
|
1218
|
-
|
|
1191
|
+
notifyListeners() {
|
|
1192
|
+
for (const e of this.listeners)
|
|
1193
|
+
e();
|
|
1219
1194
|
}
|
|
1220
1195
|
/**
|
|
1221
|
-
* Clear all
|
|
1222
|
-
* Useful for testing or resetting the registry.
|
|
1196
|
+
* Clear all providers and cache.
|
|
1223
1197
|
*/
|
|
1224
1198
|
clear() {
|
|
1225
|
-
|
|
1199
|
+
this.providers.clear(), this.cache.clear(), this.loadingPromises.clear(), this.notifyListeners();
|
|
1226
1200
|
}
|
|
1227
1201
|
}
|
|
1228
|
-
function uc() {
|
|
1229
|
-
return new cc();
|
|
1202
|
+
function uc(t) {
|
|
1203
|
+
return new cc(t);
|
|
1230
1204
|
}
|
|
1231
|
-
const
|
|
1232
|
-
let
|
|
1205
|
+
const Et = uc();
|
|
1206
|
+
let Xt = null, qt = null;
|
|
1233
1207
|
const dc = () => ({
|
|
1234
1208
|
isConnected: !1,
|
|
1235
1209
|
url: "ws://localhost:9234",
|
|
@@ -1348,15 +1322,15 @@ function fc(t = {}) {
|
|
|
1348
1322
|
}), { store: r, services: i };
|
|
1349
1323
|
}
|
|
1350
1324
|
function Ss(t) {
|
|
1351
|
-
if (
|
|
1352
|
-
return
|
|
1325
|
+
if (Xt)
|
|
1326
|
+
return Xt;
|
|
1353
1327
|
const e = fc(t);
|
|
1354
|
-
return
|
|
1328
|
+
return Xt = e.store, qt = e.services, Xt;
|
|
1355
1329
|
}
|
|
1356
1330
|
function N(t) {
|
|
1357
|
-
return
|
|
1331
|
+
return Xt || Ss(), t ? Xt(t) : Xt();
|
|
1358
1332
|
}
|
|
1359
|
-
function
|
|
1333
|
+
function Er(t, e, n) {
|
|
1360
1334
|
return {
|
|
1361
1335
|
...e,
|
|
1362
1336
|
getState: () => n.getState().plugins[t] || {},
|
|
@@ -1378,60 +1352,67 @@ function Ar(t, e, n) {
|
|
|
1378
1352
|
}
|
|
1379
1353
|
async function pc(t) {
|
|
1380
1354
|
const e = Ss(t);
|
|
1381
|
-
if (!
|
|
1382
|
-
throw new Error("[
|
|
1383
|
-
const
|
|
1384
|
-
|
|
1385
|
-
|
|
1355
|
+
if (!qt)
|
|
1356
|
+
throw new Error("[initializePlugins] Plugin services not initialized");
|
|
1357
|
+
const n = t?.registry ?? mt;
|
|
1358
|
+
n.setServices(qt);
|
|
1359
|
+
const i = n.getPlugins(), r = ks(i);
|
|
1360
|
+
console.log(
|
|
1361
|
+
`[initializePlugins] Initialization order: ${r.map((o) => o.id).join(" -> ")}`
|
|
1362
|
+
), Et.initialize(qt);
|
|
1363
|
+
for (const o of r)
|
|
1364
|
+
if (o.createSlice && o.id)
|
|
1386
1365
|
try {
|
|
1387
|
-
const
|
|
1388
|
-
|
|
1389
|
-
|
|
1366
|
+
const s = Er(
|
|
1367
|
+
o.id,
|
|
1368
|
+
qt,
|
|
1390
1369
|
e
|
|
1391
|
-
),
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1370
|
+
), a = o.createSlice(s);
|
|
1371
|
+
o.id in {} ? e.getState().registerPluginSlice(
|
|
1372
|
+
o.id,
|
|
1373
|
+
a
|
|
1395
1374
|
) : (console.log(
|
|
1396
|
-
`[
|
|
1397
|
-
), e.setState((
|
|
1375
|
+
`[initializePlugins] Registering unknown plugin slice: ${o.id}`
|
|
1376
|
+
), e.setState((l) => ({
|
|
1398
1377
|
plugins: {
|
|
1399
|
-
...
|
|
1400
|
-
[
|
|
1378
|
+
...l.plugins,
|
|
1379
|
+
[o.id]: a
|
|
1401
1380
|
}
|
|
1402
1381
|
})));
|
|
1403
|
-
} catch (
|
|
1382
|
+
} catch (s) {
|
|
1404
1383
|
console.error(
|
|
1405
|
-
`[
|
|
1406
|
-
|
|
1384
|
+
`[initializePlugins] Failed to create slice for plugin ${o.id}:`,
|
|
1385
|
+
s
|
|
1407
1386
|
);
|
|
1408
1387
|
}
|
|
1409
|
-
for (const
|
|
1410
|
-
if (
|
|
1388
|
+
for (const o of r)
|
|
1389
|
+
if (o.id)
|
|
1411
1390
|
try {
|
|
1412
|
-
const
|
|
1413
|
-
|
|
1414
|
-
|
|
1391
|
+
const s = Er(
|
|
1392
|
+
o.id,
|
|
1393
|
+
qt,
|
|
1415
1394
|
e
|
|
1416
1395
|
);
|
|
1417
|
-
|
|
1418
|
-
|
|
1396
|
+
o.initialize && await o.initialize(s), n.markPluginInitialized(o.id), o.categoryProviders && (Et.registerFromPlugin(o), console.log(
|
|
1397
|
+
`[initializePlugins] Registered ${o.categoryProviders.length} category providers from "${o.id}"`
|
|
1398
|
+
));
|
|
1399
|
+
} catch (s) {
|
|
1419
1400
|
console.error(
|
|
1420
|
-
`[
|
|
1421
|
-
|
|
1401
|
+
`[initializePlugins] Failed to initialize plugin ${o.id}:`,
|
|
1402
|
+
s
|
|
1422
1403
|
);
|
|
1423
1404
|
}
|
|
1424
|
-
console.log(
|
|
1425
|
-
`[
|
|
1405
|
+
Et.loadByPriority(), console.log(
|
|
1406
|
+
`[initializePlugins] Initialized ${i.length} plugins`
|
|
1426
1407
|
);
|
|
1427
1408
|
}
|
|
1428
|
-
function
|
|
1429
|
-
return
|
|
1409
|
+
function de() {
|
|
1410
|
+
return qt;
|
|
1430
1411
|
}
|
|
1431
1412
|
const gc = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), mc = (t) => t.replace(
|
|
1432
1413
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
1433
1414
|
(e, n, i) => i ? i.toUpperCase() : n.toLowerCase()
|
|
1434
|
-
),
|
|
1415
|
+
), Ar = (t) => {
|
|
1435
1416
|
const e = mc(t);
|
|
1436
1417
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
1437
1418
|
}, Cs = (...t) => t.filter((e, n, i) => !!e && e.trim() !== "" && i.indexOf(e) === n).join(" ").trim(), vc = (t) => {
|
|
@@ -1485,14 +1466,14 @@ const vt = (t, e) => {
|
|
|
1485
1466
|
ref: o,
|
|
1486
1467
|
iconNode: e,
|
|
1487
1468
|
className: Cs(
|
|
1488
|
-
`lucide-${gc(
|
|
1469
|
+
`lucide-${gc(Ar(t))}`,
|
|
1489
1470
|
`lucide-${t}`,
|
|
1490
1471
|
i
|
|
1491
1472
|
),
|
|
1492
1473
|
...r
|
|
1493
1474
|
})
|
|
1494
1475
|
);
|
|
1495
|
-
return n.displayName =
|
|
1476
|
+
return n.displayName = Ar(t), n;
|
|
1496
1477
|
};
|
|
1497
1478
|
const xc = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], wc = vt("chevron-down", xc);
|
|
1498
1479
|
const kc = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], Sc = vt("chevron-right", kc);
|
|
@@ -1560,12 +1541,12 @@ const Nc = [
|
|
|
1560
1541
|
const Oc = [
|
|
1561
1542
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
1562
1543
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
1563
|
-
], Ps = vt("x", Oc), _i =
|
|
1544
|
+
], Ps = vt("x", Oc), _i = ee({});
|
|
1564
1545
|
function Fi(t) {
|
|
1565
1546
|
const e = et(null);
|
|
1566
1547
|
return e.current === null && (e.current = t()), e.current;
|
|
1567
1548
|
}
|
|
1568
|
-
const Es = typeof window < "u", As = Es ? Hl : G, Rn = /* @__PURE__ */
|
|
1549
|
+
const Es = typeof window < "u", As = Es ? Hl : G, Rn = /* @__PURE__ */ ee(null);
|
|
1569
1550
|
function Ni(t, e) {
|
|
1570
1551
|
t.indexOf(e) === -1 && t.push(e);
|
|
1571
1552
|
}
|
|
@@ -1573,14 +1554,14 @@ function Oi(t, e) {
|
|
|
1573
1554
|
const n = t.indexOf(e);
|
|
1574
1555
|
n > -1 && t.splice(n, 1);
|
|
1575
1556
|
}
|
|
1576
|
-
const
|
|
1557
|
+
const jt = (t, e, n) => n > e ? e : n < t ? t : n;
|
|
1577
1558
|
function oi(t, e) {
|
|
1578
1559
|
return e ? `${t}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${e}` : t;
|
|
1579
1560
|
}
|
|
1580
|
-
let
|
|
1561
|
+
let me = () => {
|
|
1581
1562
|
}, zt = () => {
|
|
1582
1563
|
};
|
|
1583
|
-
typeof process < "u" && process.env?.NODE_ENV !== "production" && (
|
|
1564
|
+
typeof process < "u" && process.env?.NODE_ENV !== "production" && (me = (t, e, n) => {
|
|
1584
1565
|
!t && typeof console < "u" && console.warn(oi(e, n));
|
|
1585
1566
|
}, zt = (t, e, n) => {
|
|
1586
1567
|
if (!t)
|
|
@@ -1625,13 +1606,13 @@ class $i {
|
|
|
1625
1606
|
this.subscriptions.length = 0;
|
|
1626
1607
|
}
|
|
1627
1608
|
}
|
|
1628
|
-
const
|
|
1609
|
+
const It = /* @__NO_SIDE_EFFECTS__ */ (t) => t * 1e3, xt = /* @__NO_SIDE_EFFECTS__ */ (t) => t / 1e3;
|
|
1629
1610
|
function js(t, e) {
|
|
1630
1611
|
return e ? t * (1e3 / e) : 0;
|
|
1631
1612
|
}
|
|
1632
|
-
const
|
|
1613
|
+
const Rr = /* @__PURE__ */ new Set();
|
|
1633
1614
|
function Wi(t, e, n) {
|
|
1634
|
-
t ||
|
|
1615
|
+
t || Rr.has(e) || (console.warn(oi(e, n)), Rr.add(e));
|
|
1635
1616
|
}
|
|
1636
1617
|
const Ls = (t, e, n) => (((1 - 3 * n + 3 * e) * t + (3 * n - 6 * e)) * t + 3 * e) * t, $c = 1e-7, Wc = 12;
|
|
1637
1618
|
function Uc(t, e, n, i, r) {
|
|
@@ -1647,7 +1628,7 @@ function We(t, e, n, i) {
|
|
|
1647
1628
|
const r = (o) => Uc(o, 0, 1, t, n);
|
|
1648
1629
|
return (o) => o === 0 || o === 1 ? o : Ls(r(o), e, i);
|
|
1649
1630
|
}
|
|
1650
|
-
const Ds = (t) => (e) => e <= 0.5 ? t(2 * e) / 2 : (2 - t(2 * (1 - e))) / 2, zs = (t) => (e) => 1 - t(1 - e), Vs = /* @__PURE__ */ We(0.33, 1.53, 0.69, 0.99), Ui = /* @__PURE__ */ zs(Vs), _s = /* @__PURE__ */ Ds(Ui), Fs = (t) => (t *= 2) < 1 ? 0.5 * Ui(t) : 0.5 * (2 - Math.pow(2, -10 * (t - 1))), Hi = (t) => 1 - Math.sin(Math.acos(t)), Ns = zs(Hi), Os = Ds(Hi), Hc = /* @__PURE__ */ We(0.42, 0, 1, 1), Gc = /* @__PURE__ */ We(0, 0, 0.58, 1), Bs = /* @__PURE__ */ We(0.42, 0, 0.58, 1), Kc = (t) => Array.isArray(t) && typeof t[0] != "number", $s = (t) => Array.isArray(t) && typeof t[0] == "number",
|
|
1631
|
+
const Ds = (t) => (e) => e <= 0.5 ? t(2 * e) / 2 : (2 - t(2 * (1 - e))) / 2, zs = (t) => (e) => 1 - t(1 - e), Vs = /* @__PURE__ */ We(0.33, 1.53, 0.69, 0.99), Ui = /* @__PURE__ */ zs(Vs), _s = /* @__PURE__ */ Ds(Ui), Fs = (t) => (t *= 2) < 1 ? 0.5 * Ui(t) : 0.5 * (2 - Math.pow(2, -10 * (t - 1))), Hi = (t) => 1 - Math.sin(Math.acos(t)), Ns = zs(Hi), Os = Ds(Hi), Hc = /* @__PURE__ */ We(0.42, 0, 1, 1), Gc = /* @__PURE__ */ We(0, 0, 0.58, 1), Bs = /* @__PURE__ */ We(0.42, 0, 0.58, 1), Kc = (t) => Array.isArray(t) && typeof t[0] != "number", $s = (t) => Array.isArray(t) && typeof t[0] == "number", Ir = {
|
|
1651
1632
|
linear: wt,
|
|
1652
1633
|
easeIn: Hc,
|
|
1653
1634
|
easeInOut: Bs,
|
|
@@ -1659,13 +1640,13 @@ const Ds = (t) => (e) => e <= 0.5 ? t(2 * e) / 2 : (2 - t(2 * (1 - e))) / 2, zs
|
|
|
1659
1640
|
backInOut: _s,
|
|
1660
1641
|
backOut: Vs,
|
|
1661
1642
|
anticipate: Fs
|
|
1662
|
-
}, Yc = (t) => typeof t == "string",
|
|
1643
|
+
}, Yc = (t) => typeof t == "string", Mr = (t) => {
|
|
1663
1644
|
if ($s(t)) {
|
|
1664
1645
|
zt(t.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length");
|
|
1665
1646
|
const [e, n, i, r] = t;
|
|
1666
1647
|
return We(e, n, i, r);
|
|
1667
1648
|
} else if (Yc(t))
|
|
1668
|
-
return zt(
|
|
1649
|
+
return zt(Ir[t] !== void 0, `Invalid easing type '${t}'`, "invalid-easing-type"), Ir[t];
|
|
1669
1650
|
return t;
|
|
1670
1651
|
}, Ye = [
|
|
1671
1652
|
"setup",
|
|
@@ -1755,18 +1736,18 @@ const pt = {
|
|
|
1755
1736
|
an = t, queueMicrotask(Zc);
|
|
1756
1737
|
}
|
|
1757
1738
|
}, Us = (t) => (e) => typeof e == "string" && e.startsWith(t), Hs = /* @__PURE__ */ Us("--"), Jc = /* @__PURE__ */ Us("var(--"), Gi = (t) => Jc(t) ? Qc.test(t.split("/*")[0].trim()) : !1, Qc = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
|
|
1758
|
-
function
|
|
1739
|
+
function jr(t) {
|
|
1759
1740
|
return typeof t != "string" ? !1 : t.split("/*")[0].includes("var(--");
|
|
1760
1741
|
}
|
|
1761
|
-
const
|
|
1742
|
+
const ve = {
|
|
1762
1743
|
test: (t) => typeof t == "number",
|
|
1763
1744
|
parse: parseFloat,
|
|
1764
1745
|
transform: (t) => t
|
|
1765
1746
|
}, Ve = {
|
|
1766
|
-
...
|
|
1767
|
-
transform: (t) =>
|
|
1747
|
+
...ve,
|
|
1748
|
+
transform: (t) => jt(0, 1, t)
|
|
1768
1749
|
}, qe = {
|
|
1769
|
-
...
|
|
1750
|
+
...ve,
|
|
1770
1751
|
default: 1
|
|
1771
1752
|
}, je = (t) => Math.round(t * 1e5) / 1e5, Ki = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
|
|
1772
1753
|
function tu(t) {
|
|
@@ -1782,10 +1763,10 @@ const eu = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s
|
|
|
1782
1763
|
[n]: parseFloat(s),
|
|
1783
1764
|
alpha: a !== void 0 ? parseFloat(a) : 1
|
|
1784
1765
|
};
|
|
1785
|
-
}, nu = (t) =>
|
|
1786
|
-
...
|
|
1766
|
+
}, nu = (t) => jt(0, 255, t), zn = {
|
|
1767
|
+
...ve,
|
|
1787
1768
|
transform: (t) => Math.round(nu(t))
|
|
1788
|
-
},
|
|
1769
|
+
}, Zt = {
|
|
1789
1770
|
test: /* @__PURE__ */ Yi("rgb", "red"),
|
|
1790
1771
|
parse: /* @__PURE__ */ Gs("red", "green", "blue"),
|
|
1791
1772
|
transform: ({ red: t, green: e, blue: n, alpha: i = 1 }) => "rgba(" + zn.transform(t) + ", " + zn.transform(e) + ", " + zn.transform(n) + ", " + je(Ve.transform(i)) + ")"
|
|
@@ -1802,23 +1783,23 @@ function iu(t) {
|
|
|
1802
1783
|
const si = {
|
|
1803
1784
|
test: /* @__PURE__ */ Yi("#"),
|
|
1804
1785
|
parse: iu,
|
|
1805
|
-
transform:
|
|
1786
|
+
transform: Zt.transform
|
|
1806
1787
|
}, Ue = /* @__NO_SIDE_EFFECTS__ */ (t) => ({
|
|
1807
1788
|
test: (e) => typeof e == "string" && e.endsWith(t) && e.split(" ").length === 1,
|
|
1808
1789
|
parse: parseFloat,
|
|
1809
1790
|
transform: (e) => `${e}${t}`
|
|
1810
|
-
}), Nt = /* @__PURE__ */ Ue("deg"),
|
|
1811
|
-
...
|
|
1812
|
-
parse: (t) =>
|
|
1813
|
-
transform: (t) =>
|
|
1814
|
-
},
|
|
1791
|
+
}), Nt = /* @__PURE__ */ Ue("deg"), Mt = /* @__PURE__ */ Ue("%"), R = /* @__PURE__ */ Ue("px"), ru = /* @__PURE__ */ Ue("vh"), ou = /* @__PURE__ */ Ue("vw"), Lr = {
|
|
1792
|
+
...Mt,
|
|
1793
|
+
parse: (t) => Mt.parse(t) / 100,
|
|
1794
|
+
transform: (t) => Mt.transform(t * 100)
|
|
1795
|
+
}, re = {
|
|
1815
1796
|
test: /* @__PURE__ */ Yi("hsl", "hue"),
|
|
1816
1797
|
parse: /* @__PURE__ */ Gs("hue", "saturation", "lightness"),
|
|
1817
|
-
transform: ({ hue: t, saturation: e, lightness: n, alpha: i = 1 }) => "hsla(" + Math.round(t) + ", " +
|
|
1798
|
+
transform: ({ hue: t, saturation: e, lightness: n, alpha: i = 1 }) => "hsla(" + Math.round(t) + ", " + Mt.transform(je(e)) + ", " + Mt.transform(je(n)) + ", " + je(Ve.transform(i)) + ")"
|
|
1818
1799
|
}, at = {
|
|
1819
|
-
test: (t) =>
|
|
1820
|
-
parse: (t) =>
|
|
1821
|
-
transform: (t) => typeof t == "string" ? t : t.hasOwnProperty("red") ?
|
|
1800
|
+
test: (t) => Zt.test(t) || si.test(t) || re.test(t),
|
|
1801
|
+
parse: (t) => Zt.test(t) ? Zt.parse(t) : re.test(t) ? re.parse(t) : si.parse(t),
|
|
1802
|
+
transform: (t) => typeof t == "string" ? t : t.hasOwnProperty("red") ? Zt.transform(t) : re.transform(t),
|
|
1822
1803
|
getAnimatableNone: (t) => {
|
|
1823
1804
|
const e = at.parse(t);
|
|
1824
1805
|
return e.alpha = 0, at.transform(e);
|
|
@@ -1827,7 +1808,7 @@ const si = {
|
|
|
1827
1808
|
function au(t) {
|
|
1828
1809
|
return isNaN(t) && typeof t == "string" && (t.match(Ki)?.length || 0) + (t.match(su)?.length || 0) > 0;
|
|
1829
1810
|
}
|
|
1830
|
-
const Ks = "number", Ys = "color", lu = "var", cu = "var(",
|
|
1811
|
+
const Ks = "number", Ys = "color", lu = "var", cu = "var(", Dr = "${}", uu = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
|
|
1831
1812
|
function _e(t) {
|
|
1832
1813
|
const e = t.toString(), n = [], i = {
|
|
1833
1814
|
color: [],
|
|
@@ -1835,7 +1816,7 @@ function _e(t) {
|
|
|
1835
1816
|
var: []
|
|
1836
1817
|
}, r = [];
|
|
1837
1818
|
let o = 0;
|
|
1838
|
-
const a = e.replace(uu, (l) => (at.test(l) ? (i.color.push(o), r.push(Ys), n.push(at.parse(l))) : l.startsWith(cu) ? (i.var.push(o), r.push(lu), n.push(l)) : (i.number.push(o), r.push(Ks), n.push(parseFloat(l))), ++o,
|
|
1819
|
+
const a = e.replace(uu, (l) => (at.test(l) ? (i.color.push(o), r.push(Ys), n.push(at.parse(l))) : l.startsWith(cu) ? (i.var.push(o), r.push(lu), n.push(l)) : (i.number.push(o), r.push(Ks), n.push(parseFloat(l))), ++o, Dr)).split(Dr);
|
|
1839
1820
|
return { values: n, split: a, indexes: i, types: r };
|
|
1840
1821
|
}
|
|
1841
1822
|
function qs(t) {
|
|
@@ -1889,20 +1870,20 @@ function pn(t, e) {
|
|
|
1889
1870
|
const it = (t, e, n) => t + (e - t) * n, _n = (t, e, n) => {
|
|
1890
1871
|
const i = t * t, r = n * (e * e - i) + i;
|
|
1891
1872
|
return r < 0 ? 0 : Math.sqrt(r);
|
|
1892
|
-
}, pu = [si,
|
|
1893
|
-
function
|
|
1873
|
+
}, pu = [si, Zt, re], gu = (t) => pu.find((e) => e.test(t));
|
|
1874
|
+
function zr(t) {
|
|
1894
1875
|
const e = gu(t);
|
|
1895
|
-
if (
|
|
1876
|
+
if (me(!!e, `'${t}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"), !e)
|
|
1896
1877
|
return !1;
|
|
1897
1878
|
let n = e.parse(t);
|
|
1898
|
-
return e ===
|
|
1879
|
+
return e === re && (n = fu(n)), n;
|
|
1899
1880
|
}
|
|
1900
|
-
const
|
|
1901
|
-
const n =
|
|
1881
|
+
const Vr = (t, e) => {
|
|
1882
|
+
const n = zr(t), i = zr(e);
|
|
1902
1883
|
if (!n || !i)
|
|
1903
1884
|
return pn(t, e);
|
|
1904
1885
|
const r = { ...n };
|
|
1905
|
-
return (o) => (r.red = _n(n.red, i.red, o), r.green = _n(n.green, i.green, o), r.blue = _n(n.blue, i.blue, o), r.alpha = it(n.alpha, i.alpha, o),
|
|
1886
|
+
return (o) => (r.red = _n(n.red, i.red, o), r.green = _n(n.green, i.green, o), r.blue = _n(n.blue, i.blue, o), r.alpha = it(n.alpha, i.alpha, o), Zt.transform(r));
|
|
1906
1887
|
}, ai = /* @__PURE__ */ new Set(["none", "hidden"]);
|
|
1907
1888
|
function mu(t, e) {
|
|
1908
1889
|
return ai.has(t) ? (n) => n <= 0 ? t : e : (n) => n >= 1 ? e : t;
|
|
@@ -1911,7 +1892,7 @@ function vu(t, e) {
|
|
|
1911
1892
|
return (n) => it(t, e, n);
|
|
1912
1893
|
}
|
|
1913
1894
|
function qi(t) {
|
|
1914
|
-
return typeof t == "number" ? vu : typeof t == "string" ? Gi(t) ? pn : at.test(t) ?
|
|
1895
|
+
return typeof t == "number" ? vu : typeof t == "string" ? Gi(t) ? pn : at.test(t) ? Vr : xu : Array.isArray(t) ? Zs : typeof t == "object" ? at.test(t) ? Vr : bu : pn;
|
|
1915
1896
|
}
|
|
1916
1897
|
function Zs(t, e) {
|
|
1917
1898
|
const n = [...t], i = n.length, r = t.map((o, s) => qi(o)(o, e[s]));
|
|
@@ -1941,7 +1922,7 @@ function yu(t, e) {
|
|
|
1941
1922
|
}
|
|
1942
1923
|
const xu = (t, e) => {
|
|
1943
1924
|
const n = Ut.createTransformer(e), i = _e(t), r = _e(e);
|
|
1944
|
-
return i.indexes.var.length === r.indexes.var.length && i.indexes.color.length === r.indexes.color.length && i.indexes.number.length >= r.indexes.number.length ? ai.has(t) && !r.values.length || ai.has(e) && !i.values.length ? mu(t, e) : $e(Zs(yu(i, r), r.values), n) : (
|
|
1925
|
+
return i.indexes.var.length === r.indexes.var.length && i.indexes.color.length === r.indexes.color.length && i.indexes.number.length >= r.indexes.number.length ? ai.has(t) && !r.values.length || ai.has(e) && !i.values.length ? mu(t, e) : $e(Zs(yu(i, r), r.values), n) : (me(!0, `Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, "complex-values-different"), pn(t, e));
|
|
1945
1926
|
};
|
|
1946
1927
|
function Js(t, e, n) {
|
|
1947
1928
|
return typeof t == "number" && typeof e == "number" && typeof n == "number" ? it(t, e, n) : qi(t)(t, e);
|
|
@@ -2016,9 +1997,9 @@ const nt = {
|
|
|
2016
1997
|
}, Fn = 1e-3;
|
|
2017
1998
|
function Cu({ duration: t = nt.duration, bounce: e = nt.bounce, velocity: n = nt.velocity, mass: i = nt.mass }) {
|
|
2018
1999
|
let r, o;
|
|
2019
|
-
|
|
2000
|
+
me(t <= /* @__PURE__ */ It(nt.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit");
|
|
2020
2001
|
let s = 1 - e;
|
|
2021
|
-
s =
|
|
2002
|
+
s = jt(nt.minDamping, nt.maxDamping, s), t = jt(nt.minDuration, nt.maxDuration, /* @__PURE__ */ xt(t)), s < 1 ? (r = (c) => {
|
|
2022
2003
|
const u = c * s, h = u * t, f = u - n, p = li(c, s), v = Math.exp(-h);
|
|
2023
2004
|
return Fn - f / p * v;
|
|
2024
2005
|
}, o = (c) => {
|
|
@@ -2032,7 +2013,7 @@ function Cu({ duration: t = nt.duration, bounce: e = nt.bounce, velocity: n = nt
|
|
|
2032
2013
|
return u * h;
|
|
2033
2014
|
});
|
|
2034
2015
|
const a = 5 / t, l = Pu(r, o, a);
|
|
2035
|
-
if (t = /* @__PURE__ */
|
|
2016
|
+
if (t = /* @__PURE__ */ It(t), isNaN(l))
|
|
2036
2017
|
return {
|
|
2037
2018
|
stiffness: nt.stiffness,
|
|
2038
2019
|
damping: nt.damping,
|
|
@@ -2058,7 +2039,7 @@ function li(t, e) {
|
|
|
2058
2039
|
return t * Math.sqrt(1 - e * e);
|
|
2059
2040
|
}
|
|
2060
2041
|
const Eu = ["duration", "bounce"], Au = ["stiffness", "damping", "mass"];
|
|
2061
|
-
function
|
|
2042
|
+
function _r(t, e) {
|
|
2062
2043
|
return e.some((n) => t[n] !== void 0);
|
|
2063
2044
|
}
|
|
2064
2045
|
function Ru(t) {
|
|
@@ -2070,9 +2051,9 @@ function Ru(t) {
|
|
|
2070
2051
|
isResolvedFromDuration: !1,
|
|
2071
2052
|
...t
|
|
2072
2053
|
};
|
|
2073
|
-
if (!
|
|
2054
|
+
if (!_r(t, Au) && _r(t, Eu))
|
|
2074
2055
|
if (t.visualDuration) {
|
|
2075
|
-
const n = t.visualDuration, i = 2 * Math.PI / (n * 1.2), r = i * i, o = 2 *
|
|
2056
|
+
const n = t.visualDuration, i = 2 * Math.PI / (n * 1.2), r = i * i, o = 2 * jt(0.05, 1, 1 - (t.bounce || 0)) * Math.sqrt(r);
|
|
2076
2057
|
e = {
|
|
2077
2058
|
...e,
|
|
2078
2059
|
mass: nt.mass,
|
|
@@ -2125,7 +2106,7 @@ function mn(t = nt.visualDuration, e = nt.bounce) {
|
|
|
2125
2106
|
a.done = E >= h;
|
|
2126
2107
|
else {
|
|
2127
2108
|
let L = E === 0 ? v : 0;
|
|
2128
|
-
b < 1 && (L = E === 0 ? /* @__PURE__ */
|
|
2109
|
+
b < 1 && (L = E === 0 ? /* @__PURE__ */ It(v) : ta(k, E, z));
|
|
2129
2110
|
const w = Math.abs(L) <= i, F = Math.abs(s - z) <= r;
|
|
2130
2111
|
a.done = w && F;
|
|
2131
2112
|
}
|
|
@@ -2142,7 +2123,7 @@ function mn(t = nt.visualDuration, e = nt.bounce) {
|
|
|
2142
2123
|
}
|
|
2143
2124
|
mn.applyToOptions = (t) => {
|
|
2144
2125
|
const e = ku(t, 100, mn);
|
|
2145
|
-
return t.ease = e.ease, t.duration = /* @__PURE__ */
|
|
2126
|
+
return t.ease = e.ease, t.duration = /* @__PURE__ */ It(e.duration), t.type = "keyframes", t;
|
|
2146
2127
|
};
|
|
2147
2128
|
function ci({ keyframes: t, velocity: e = 0, power: n = 0.8, timeConstant: i = 325, bounceDamping: r = 10, bounceStiffness: o = 500, modifyTarget: s, min: a, max: l, restDelta: c = 0.5, restSpeed: u }) {
|
|
2148
2129
|
const h = t[0], f = {
|
|
@@ -2206,7 +2187,7 @@ function Mu(t, e, { clamp: n = !0, ease: i, mixer: r } = {}) {
|
|
|
2206
2187
|
const f = /* @__PURE__ */ ze(t[h], t[h + 1], u);
|
|
2207
2188
|
return a[h](f);
|
|
2208
2189
|
};
|
|
2209
|
-
return n ? (u) => c(
|
|
2190
|
+
return n ? (u) => c(jt(t[0], t[o - 1], u)) : c;
|
|
2210
2191
|
}
|
|
2211
2192
|
function ju(t, e) {
|
|
2212
2193
|
const n = t[t.length - 1];
|
|
@@ -2225,8 +2206,8 @@ function Du(t, e) {
|
|
|
2225
2206
|
function zu(t, e) {
|
|
2226
2207
|
return t.map(() => e || Bs).splice(0, t.length - 1);
|
|
2227
2208
|
}
|
|
2228
|
-
function
|
|
2229
|
-
const r = Kc(i) ? i.map(
|
|
2209
|
+
function oe({ duration: t = 300, keyframes: e, times: n, ease: i = "easeInOut" }) {
|
|
2210
|
+
const r = Kc(i) ? i.map(Mr) : Mr(i), o = {
|
|
2230
2211
|
done: !1,
|
|
2231
2212
|
value: e[0]
|
|
2232
2213
|
}, s = Du(
|
|
@@ -2250,8 +2231,8 @@ function Zi(t, { repeat: e, repeatType: n = "loop" }, i, r = 1) {
|
|
|
2250
2231
|
const _u = {
|
|
2251
2232
|
decay: ci,
|
|
2252
2233
|
inertia: ci,
|
|
2253
|
-
tween:
|
|
2254
|
-
keyframes:
|
|
2234
|
+
tween: oe,
|
|
2235
|
+
keyframes: oe,
|
|
2255
2236
|
spring: mn
|
|
2256
2237
|
};
|
|
2257
2238
|
function ea(t) {
|
|
@@ -2292,10 +2273,10 @@ class Qi extends Ji {
|
|
|
2292
2273
|
initAnimation() {
|
|
2293
2274
|
const { options: e } = this;
|
|
2294
2275
|
ea(e);
|
|
2295
|
-
const { type: n =
|
|
2276
|
+
const { type: n = oe, repeat: i = 0, repeatDelay: r = 0, repeatType: o, velocity: s = 0 } = e;
|
|
2296
2277
|
let { keyframes: a } = e;
|
|
2297
|
-
const l = n ||
|
|
2298
|
-
process.env.NODE_ENV !== "production" && l !==
|
|
2278
|
+
const l = n || oe;
|
|
2279
|
+
process.env.NODE_ENV !== "production" && l !== oe && zt(a.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${a}`, "spring-two-frames"), l !== oe && typeof a[0] != "number" && (this.mixKeyframes = $e(Fu, Js(a[0], a[1])), a = [0, 100]);
|
|
2299
2280
|
const c = l({ ...e, keyframes: a });
|
|
2300
2281
|
o === "mirror" && (this.mirroredGenerator = l({
|
|
2301
2282
|
...e,
|
|
@@ -2321,7 +2302,7 @@ class Qi extends Ji {
|
|
|
2321
2302
|
if (h) {
|
|
2322
2303
|
const w = Math.min(this.currentTime, r) / a;
|
|
2323
2304
|
let F = Math.floor(w), $ = w % 1;
|
|
2324
|
-
!$ && w >= 1 && ($ = 1), $ === 1 && F--, F = Math.min(F, h + 1), F % 2 && (f === "reverse" ? ($ = 1 - $, p && ($ -= p / a)) : f === "mirror" && (I = s)), k =
|
|
2305
|
+
!$ && w >= 1 && ($ = 1), $ === 1 && F--, F = Math.min(F, h + 1), F % 2 && (f === "reverse" ? ($ = 1 - $, p && ($ -= p / a)) : f === "mirror" && (I = s)), k = jt(0, 1, $) * a;
|
|
2325
2306
|
}
|
|
2326
2307
|
const E = T ? { done: !1, value: u[0] } : I.next(k);
|
|
2327
2308
|
o && (E.value = o(E.value));
|
|
@@ -2349,7 +2330,7 @@ class Qi extends Ji {
|
|
|
2349
2330
|
return /* @__PURE__ */ xt(this.currentTime);
|
|
2350
2331
|
}
|
|
2351
2332
|
set time(e) {
|
|
2352
|
-
e = /* @__PURE__ */
|
|
2333
|
+
e = /* @__PURE__ */ It(e), this.currentTime = e, this.startTime === null || this.holdTime !== null || this.playbackSpeed === 0 ? this.holdTime = e : this.driver && (this.startTime = this.driver.now() - e / this.playbackSpeed), this.driver?.start(!1);
|
|
2353
2334
|
}
|
|
2354
2335
|
get speed() {
|
|
2355
2336
|
return this.playbackSpeed;
|
|
@@ -2396,8 +2377,8 @@ function Nu(t) {
|
|
|
2396
2377
|
for (let e = 1; e < t.length; e++)
|
|
2397
2378
|
t[e] ?? (t[e] = t[e - 1]);
|
|
2398
2379
|
}
|
|
2399
|
-
const
|
|
2400
|
-
const e =
|
|
2380
|
+
const Jt = (t) => t * 180 / Math.PI, ui = (t) => {
|
|
2381
|
+
const e = Jt(Math.atan2(t[1], t[0]));
|
|
2401
2382
|
return di(e);
|
|
2402
2383
|
}, Ou = {
|
|
2403
2384
|
x: 4,
|
|
@@ -2409,25 +2390,25 @@ const Zt = (t) => t * 180 / Math.PI, ui = (t) => {
|
|
|
2409
2390
|
scale: (t) => (Math.abs(t[0]) + Math.abs(t[3])) / 2,
|
|
2410
2391
|
rotate: ui,
|
|
2411
2392
|
rotateZ: ui,
|
|
2412
|
-
skewX: (t) =>
|
|
2413
|
-
skewY: (t) =>
|
|
2393
|
+
skewX: (t) => Jt(Math.atan(t[1])),
|
|
2394
|
+
skewY: (t) => Jt(Math.atan(t[2])),
|
|
2414
2395
|
skew: (t) => (Math.abs(t[1]) + Math.abs(t[2])) / 2
|
|
2415
|
-
}, di = (t) => (t = t % 360, t < 0 && (t += 360), t),
|
|
2396
|
+
}, di = (t) => (t = t % 360, t < 0 && (t += 360), t), Fr = ui, Nr = (t) => Math.sqrt(t[0] * t[0] + t[1] * t[1]), Or = (t) => Math.sqrt(t[4] * t[4] + t[5] * t[5]), Bu = {
|
|
2416
2397
|
x: 12,
|
|
2417
2398
|
y: 13,
|
|
2418
2399
|
z: 14,
|
|
2419
2400
|
translateX: 12,
|
|
2420
2401
|
translateY: 13,
|
|
2421
2402
|
translateZ: 14,
|
|
2422
|
-
scaleX:
|
|
2423
|
-
scaleY:
|
|
2424
|
-
scale: (t) => (
|
|
2425
|
-
rotateX: (t) => di(
|
|
2426
|
-
rotateY: (t) => di(
|
|
2427
|
-
rotateZ:
|
|
2428
|
-
rotate:
|
|
2429
|
-
skewX: (t) =>
|
|
2430
|
-
skewY: (t) =>
|
|
2403
|
+
scaleX: Nr,
|
|
2404
|
+
scaleY: Or,
|
|
2405
|
+
scale: (t) => (Nr(t) + Or(t)) / 2,
|
|
2406
|
+
rotateX: (t) => di(Jt(Math.atan2(t[6], t[5]))),
|
|
2407
|
+
rotateY: (t) => di(Jt(Math.atan2(-t[2], t[0]))),
|
|
2408
|
+
rotateZ: Fr,
|
|
2409
|
+
rotate: Fr,
|
|
2410
|
+
skewX: (t) => Jt(Math.atan(t[4])),
|
|
2411
|
+
skewY: (t) => Jt(Math.atan(t[1])),
|
|
2431
2412
|
skew: (t) => (Math.abs(t[1]) + Math.abs(t[4])) / 2
|
|
2432
2413
|
};
|
|
2433
2414
|
function hi(t) {
|
|
@@ -2456,7 +2437,7 @@ const $u = (t, e) => {
|
|
|
2456
2437
|
function Wu(t) {
|
|
2457
2438
|
return parseFloat(t.trim());
|
|
2458
2439
|
}
|
|
2459
|
-
const
|
|
2440
|
+
const be = [
|
|
2460
2441
|
"transformPerspective",
|
|
2461
2442
|
"x",
|
|
2462
2443
|
"y",
|
|
@@ -2474,7 +2455,7 @@ const ve = [
|
|
|
2474
2455
|
"skew",
|
|
2475
2456
|
"skewX",
|
|
2476
2457
|
"skewY"
|
|
2477
|
-
],
|
|
2458
|
+
], ye = new Set(be), Br = (t) => t === ve || t === R, Uu = /* @__PURE__ */ new Set(["x", "y", "z"]), Hu = be.filter((t) => !Uu.has(t));
|
|
2478
2459
|
function Gu(t) {
|
|
2479
2460
|
const e = [];
|
|
2480
2461
|
return Hu.forEach((n) => {
|
|
@@ -2496,11 +2477,11 @@ const Ot = {
|
|
|
2496
2477
|
};
|
|
2497
2478
|
Ot.translateX = Ot.x;
|
|
2498
2479
|
Ot.translateY = Ot.y;
|
|
2499
|
-
const
|
|
2480
|
+
const te = /* @__PURE__ */ new Set();
|
|
2500
2481
|
let pi = !1, gi = !1, mi = !1;
|
|
2501
2482
|
function na() {
|
|
2502
2483
|
if (gi) {
|
|
2503
|
-
const t = Array.from(
|
|
2484
|
+
const t = Array.from(te).filter((i) => i.needsMeasurement), e = new Set(t.map((i) => i.element)), n = /* @__PURE__ */ new Map();
|
|
2504
2485
|
e.forEach((i) => {
|
|
2505
2486
|
const r = Gu(i);
|
|
2506
2487
|
r.length && (n.set(i, r), i.render());
|
|
@@ -2514,10 +2495,10 @@ function na() {
|
|
|
2514
2495
|
i.suspendedScrollY !== void 0 && window.scrollTo(0, i.suspendedScrollY);
|
|
2515
2496
|
});
|
|
2516
2497
|
}
|
|
2517
|
-
gi = !1, pi = !1,
|
|
2498
|
+
gi = !1, pi = !1, te.forEach((t) => t.complete(mi)), te.clear();
|
|
2518
2499
|
}
|
|
2519
2500
|
function ia() {
|
|
2520
|
-
|
|
2501
|
+
te.forEach((t) => {
|
|
2521
2502
|
t.readKeyframes(), t.needsMeasurement && (gi = !0);
|
|
2522
2503
|
});
|
|
2523
2504
|
}
|
|
@@ -2529,7 +2510,7 @@ class tr {
|
|
|
2529
2510
|
this.state = "pending", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...e], this.onComplete = n, this.name = i, this.motionValue = r, this.element = o, this.isAsync = s;
|
|
2530
2511
|
}
|
|
2531
2512
|
scheduleResolve() {
|
|
2532
|
-
this.state = "scheduled", this.isAsync ? (
|
|
2513
|
+
this.state = "scheduled", this.isAsync ? (te.add(this), pi || (pi = !0, tt.read(ia), tt.resolveKeyframes(na))) : (this.readKeyframes(), this.complete());
|
|
2533
2514
|
}
|
|
2534
2515
|
readKeyframes() {
|
|
2535
2516
|
const { unresolvedKeyframes: e, name: n, element: i, motionValue: r } = this;
|
|
@@ -2554,10 +2535,10 @@ class tr {
|
|
|
2554
2535
|
measureEndState() {
|
|
2555
2536
|
}
|
|
2556
2537
|
complete(e = !1) {
|
|
2557
|
-
this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, e),
|
|
2538
|
+
this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, e), te.delete(this);
|
|
2558
2539
|
}
|
|
2559
2540
|
cancel() {
|
|
2560
|
-
this.state === "scheduled" && (
|
|
2541
|
+
this.state === "scheduled" && (te.delete(this), this.state = "pending");
|
|
2561
2542
|
}
|
|
2562
2543
|
resume() {
|
|
2563
2544
|
this.state === "pending" && this.scheduleResolve();
|
|
@@ -2579,20 +2560,20 @@ const ra = /* @__PURE__ */ Ju(() => {
|
|
|
2579
2560
|
return !1;
|
|
2580
2561
|
}
|
|
2581
2562
|
return !0;
|
|
2582
|
-
}, "linearEasing"),
|
|
2563
|
+
}, "linearEasing"), Ie = ([t, e, n, i]) => `cubic-bezier(${t}, ${e}, ${n}, ${i})`, $r = {
|
|
2583
2564
|
linear: "linear",
|
|
2584
2565
|
ease: "ease",
|
|
2585
2566
|
easeIn: "ease-in",
|
|
2586
2567
|
easeOut: "ease-out",
|
|
2587
2568
|
easeInOut: "ease-in-out",
|
|
2588
|
-
circIn: /* @__PURE__ */
|
|
2589
|
-
circOut: /* @__PURE__ */
|
|
2590
|
-
backIn: /* @__PURE__ */
|
|
2591
|
-
backOut: /* @__PURE__ */
|
|
2569
|
+
circIn: /* @__PURE__ */ Ie([0, 0.65, 0.55, 1]),
|
|
2570
|
+
circOut: /* @__PURE__ */ Ie([0.55, 0, 1, 0.45]),
|
|
2571
|
+
backIn: /* @__PURE__ */ Ie([0.31, 0.01, 0.66, -0.59]),
|
|
2572
|
+
backOut: /* @__PURE__ */ Ie([0.33, 1.53, 0.69, 0.99])
|
|
2592
2573
|
};
|
|
2593
2574
|
function oa(t, e) {
|
|
2594
2575
|
if (t)
|
|
2595
|
-
return typeof t == "function" ? ra() ? Qs(t, e) : "ease-out" : $s(t) ?
|
|
2576
|
+
return typeof t == "function" ? ra() ? Qs(t, e) : "ease-out" : $s(t) ? Ie(t) : Array.isArray(t) ? t.map((n) => oa(n, e) || $r.easeOut) : $r[t];
|
|
2596
2577
|
}
|
|
2597
2578
|
function Qu(t, e, n, { delay: i = 0, duration: r = 300, repeat: o = 0, repeatType: s = "loop", ease: a = "easeOut", times: l } = {}, c = void 0) {
|
|
2598
2579
|
const u = {
|
|
@@ -2681,7 +2662,7 @@ class ed extends Ji {
|
|
|
2681
2662
|
return /* @__PURE__ */ xt(Number(this.animation.currentTime) || 0);
|
|
2682
2663
|
}
|
|
2683
2664
|
set time(e) {
|
|
2684
|
-
this.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */
|
|
2665
|
+
this.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ It(e);
|
|
2685
2666
|
}
|
|
2686
2667
|
/**
|
|
2687
2668
|
* The playback speed of the animation.
|
|
@@ -2744,11 +2725,11 @@ class rd extends ed {
|
|
|
2744
2725
|
const a = new Qi({
|
|
2745
2726
|
...s,
|
|
2746
2727
|
autoplay: !1
|
|
2747
|
-
}), l = Math.max(Nn, pt.now() - this.startTime), c =
|
|
2728
|
+
}), l = Math.max(Nn, pt.now() - this.startTime), c = jt(0, Nn, l - Nn);
|
|
2748
2729
|
n.setWithVelocity(a.sample(Math.max(0, l - c)).value, a.sample(l).value, c), a.stop();
|
|
2749
2730
|
}
|
|
2750
2731
|
}
|
|
2751
|
-
const
|
|
2732
|
+
const Wr = (t, e) => e === "zIndex" ? !1 : !!(typeof t == "number" || Array.isArray(t) || typeof t == "string" && // It's animatable if we have a string
|
|
2752
2733
|
(Ut.test(t) || t === "0") && // And it contains numbers and/or colors
|
|
2753
2734
|
!t.startsWith("url("));
|
|
2754
2735
|
function od(t) {
|
|
@@ -2765,8 +2746,8 @@ function sd(t, e, n, i) {
|
|
|
2765
2746
|
return !1;
|
|
2766
2747
|
if (e === "display" || e === "visibility")
|
|
2767
2748
|
return !0;
|
|
2768
|
-
const o = t[t.length - 1], s =
|
|
2769
|
-
return
|
|
2749
|
+
const o = t[t.length - 1], s = Wr(r, e), a = Wr(o, e);
|
|
2750
|
+
return me(s === a, `You are trying to animate ${e} from "${r}" to "${o}". "${s ? o : r}" is not an animatable value.`, "value-not-animatable"), !s || !a ? !1 : od(t) || (n === "spring" || sa(n)) && i;
|
|
2770
2751
|
}
|
|
2771
2752
|
function vi(t) {
|
|
2772
2753
|
t.duration = 0, t.type = "keyframes";
|
|
@@ -2919,7 +2900,7 @@ const gd = {
|
|
|
2919
2900
|
type: "keyframes",
|
|
2920
2901
|
ease: [0.25, 0.1, 0.35, 1],
|
|
2921
2902
|
duration: 0.3
|
|
2922
|
-
}, yd = (t, { keyframes: e }) => e.length > 2 ? vd :
|
|
2903
|
+
}, yd = (t, { keyframes: e }) => e.length > 2 ? vd : ye.has(t) ? t.startsWith("scale") ? md(e[1]) : gd : bd;
|
|
2923
2904
|
function xd({ when: t, delay: e, delayChildren: n, staggerChildren: i, staggerDirection: r, repeat: o, repeatType: s, repeatDelay: a, from: l, elapsed: c, ...u }) {
|
|
2924
2905
|
return !!Object.keys(u).length;
|
|
2925
2906
|
}
|
|
@@ -2935,7 +2916,7 @@ function ca(t, e, n, i = 0, r = 1) {
|
|
|
2935
2916
|
const nr = (t, e, n, i = {}, r, o) => (s) => {
|
|
2936
2917
|
const a = er(i, t) || {}, l = a.delay || i.delay || 0;
|
|
2937
2918
|
let { elapsed: c = 0 } = i;
|
|
2938
|
-
c = c - /* @__PURE__ */
|
|
2919
|
+
c = c - /* @__PURE__ */ It(l);
|
|
2939
2920
|
const u = {
|
|
2940
2921
|
keyframes: Array.isArray(n) ? n : [null, n],
|
|
2941
2922
|
ease: "easeOut",
|
|
@@ -2952,7 +2933,7 @@ const nr = (t, e, n, i = {}, r, o) => (s) => {
|
|
|
2952
2933
|
motionValue: e,
|
|
2953
2934
|
element: o ? void 0 : r
|
|
2954
2935
|
};
|
|
2955
|
-
xd(a) || Object.assign(u, yd(t, u)), u.duration && (u.duration = /* @__PURE__ */
|
|
2936
|
+
xd(a) || Object.assign(u, yd(t, u)), u.duration && (u.duration = /* @__PURE__ */ It(u.duration)), u.repeatDelay && (u.repeatDelay = /* @__PURE__ */ It(u.repeatDelay)), u.from !== void 0 && (u.keyframes[0] = u.from);
|
|
2956
2937
|
let h = !1;
|
|
2957
2938
|
if ((u.type === !1 || u.duration === 0 && !u.repeatDelay) && (vi(u), u.delay === 0 && (h = !0)), (Vt.instantAnimations || Vt.skipAnimations) && (h = !0, vi(u), u.delay = 0), u.allowFlatten = !a.type && !a.ease, h && !o && e.get() !== void 0) {
|
|
2958
2939
|
const f = kd(u.keyframes, a);
|
|
@@ -2971,8 +2952,8 @@ const nr = (t, e, n, i = {}, r, o) => (s) => {
|
|
|
2971
2952
|
"left",
|
|
2972
2953
|
"right",
|
|
2973
2954
|
"bottom",
|
|
2974
|
-
...
|
|
2975
|
-
]),
|
|
2955
|
+
...be
|
|
2956
|
+
]), Ur = 30, Sd = (t) => !isNaN(parseFloat(t));
|
|
2976
2957
|
class Cd {
|
|
2977
2958
|
/**
|
|
2978
2959
|
* @param init - The initiating value
|
|
@@ -3118,9 +3099,9 @@ class Cd {
|
|
|
3118
3099
|
*/
|
|
3119
3100
|
getVelocity() {
|
|
3120
3101
|
const e = pt.now();
|
|
3121
|
-
if (!this.canTrackVelocity || this.prevFrameValue === void 0 || e - this.updatedAt >
|
|
3102
|
+
if (!this.canTrackVelocity || this.prevFrameValue === void 0 || e - this.updatedAt > Ur)
|
|
3122
3103
|
return 0;
|
|
3123
|
-
const n = Math.min(this.updatedAt - this.prevUpdatedAt,
|
|
3104
|
+
const n = Math.min(this.updatedAt - this.prevUpdatedAt, Ur);
|
|
3124
3105
|
return js(parseFloat(this.current) - parseFloat(this.prevFrameValue), n);
|
|
3125
3106
|
}
|
|
3126
3107
|
/**
|
|
@@ -3172,10 +3153,10 @@ class Cd {
|
|
|
3172
3153
|
this.dependents?.clear(), this.events.destroy?.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
3173
3154
|
}
|
|
3174
3155
|
}
|
|
3175
|
-
function
|
|
3156
|
+
function he(t, e) {
|
|
3176
3157
|
return new Cd(t, e);
|
|
3177
3158
|
}
|
|
3178
|
-
function
|
|
3159
|
+
function Hr(t) {
|
|
3179
3160
|
const e = [{}, {}];
|
|
3180
3161
|
return t?.values.forEach((n, i) => {
|
|
3181
3162
|
e[0][i] = n.get(), e[1][i] = n.getVelocity();
|
|
@@ -3183,28 +3164,28 @@ function Gr(t) {
|
|
|
3183
3164
|
}
|
|
3184
3165
|
function ir(t, e, n, i) {
|
|
3185
3166
|
if (typeof e == "function") {
|
|
3186
|
-
const [r, o] =
|
|
3167
|
+
const [r, o] = Hr(i);
|
|
3187
3168
|
e = e(n !== void 0 ? n : t.custom, r, o);
|
|
3188
3169
|
}
|
|
3189
3170
|
if (typeof e == "string" && (e = t.variants && t.variants[e]), typeof e == "function") {
|
|
3190
|
-
const [r, o] =
|
|
3171
|
+
const [r, o] = Hr(i);
|
|
3191
3172
|
e = e(n !== void 0 ? n : t.custom, r, o);
|
|
3192
3173
|
}
|
|
3193
3174
|
return e;
|
|
3194
3175
|
}
|
|
3195
|
-
function
|
|
3176
|
+
function ce(t, e, n) {
|
|
3196
3177
|
const i = t.getProps();
|
|
3197
3178
|
return ir(i, e, n !== void 0 ? n : i.custom, t);
|
|
3198
3179
|
}
|
|
3199
3180
|
const bi = (t) => Array.isArray(t);
|
|
3200
3181
|
function Td(t, e, n) {
|
|
3201
|
-
t.hasValue(e) ? t.getValue(e).set(n) : t.addValue(e,
|
|
3182
|
+
t.hasValue(e) ? t.getValue(e).set(n) : t.addValue(e, he(n));
|
|
3202
3183
|
}
|
|
3203
3184
|
function Pd(t) {
|
|
3204
3185
|
return bi(t) ? t[t.length - 1] || 0 : t;
|
|
3205
3186
|
}
|
|
3206
3187
|
function Ed(t, e) {
|
|
3207
|
-
const n =
|
|
3188
|
+
const n = ce(t, e);
|
|
3208
3189
|
let { transitionEnd: i = {}, transition: r = {}, ...o } = n || {};
|
|
3209
3190
|
o = { ...o, ...i };
|
|
3210
3191
|
for (const s in o) {
|
|
@@ -3269,7 +3250,7 @@ function fa(t, e, { delay: n = 0, transitionOverride: i, type: r } = {}) {
|
|
|
3269
3250
|
}), l;
|
|
3270
3251
|
}
|
|
3271
3252
|
function xi(t, e, n = {}) {
|
|
3272
|
-
const i =
|
|
3253
|
+
const i = ce(t, e, n.type === "exit" ? t.presenceContext?.custom : void 0);
|
|
3273
3254
|
let { transition: r = t.getDefaultTransition() || {} } = i || {};
|
|
3274
3255
|
n.transitionOverride && (r = n.transitionOverride);
|
|
3275
3256
|
const o = i ? () => Promise.all(fa(t, i, n)) : () => Promise.resolve(), s = t.variantChildren && t.variantChildren.size ? (l = 0) => {
|
|
@@ -3300,7 +3281,7 @@ function jd(t, e, n = {}) {
|
|
|
3300
3281
|
} else if (typeof e == "string")
|
|
3301
3282
|
i = xi(t, e, n);
|
|
3302
3283
|
else {
|
|
3303
|
-
const r = typeof e == "function" ?
|
|
3284
|
+
const r = typeof e == "function" ? ce(t, e, n.custom) : e;
|
|
3304
3285
|
i = Promise.all(fa(t, r, n));
|
|
3305
3286
|
}
|
|
3306
3287
|
return i.then(() => {
|
|
@@ -3310,7 +3291,7 @@ function jd(t, e, n = {}) {
|
|
|
3310
3291
|
const Ld = {
|
|
3311
3292
|
test: (t) => t === "auto",
|
|
3312
3293
|
parse: (t) => t
|
|
3313
|
-
}, pa = (t) => (e) => e.test(t), ga = [
|
|
3294
|
+
}, pa = (t) => (e) => e.test(t), ga = [ve, R, Mt, Nt, ou, ru, Ld], Gr = (t) => ga.find(pa(t));
|
|
3314
3295
|
function Dd(t) {
|
|
3315
3296
|
return typeof t == "number" ? t === 0 : t !== null ? t === "none" || t === "0" || Ms(t) : !0;
|
|
3316
3297
|
}
|
|
@@ -3332,8 +3313,8 @@ const _d = /\b([a-z-]*)\(.*?\)/gu, wi = {
|
|
|
3332
3313
|
const e = t.match(_d);
|
|
3333
3314
|
return e ? e.map(Vd).join(" ") : t;
|
|
3334
3315
|
}
|
|
3335
|
-
},
|
|
3336
|
-
...
|
|
3316
|
+
}, Kr = {
|
|
3317
|
+
...ve,
|
|
3337
3318
|
transform: Math.round
|
|
3338
3319
|
}, Fd = {
|
|
3339
3320
|
rotate: Nt,
|
|
@@ -3357,8 +3338,8 @@ const _d = /\b([a-z-]*)\(.*?\)/gu, wi = {
|
|
|
3357
3338
|
perspective: R,
|
|
3358
3339
|
transformPerspective: R,
|
|
3359
3340
|
opacity: Ve,
|
|
3360
|
-
originX:
|
|
3361
|
-
originY:
|
|
3341
|
+
originX: Lr,
|
|
3342
|
+
originY: Lr,
|
|
3362
3343
|
originZ: R
|
|
3363
3344
|
}, or = {
|
|
3364
3345
|
// Border props
|
|
@@ -3416,11 +3397,11 @@ const _d = /\b([a-z-]*)\(.*?\)/gu, wi = {
|
|
|
3416
3397
|
backgroundPositionX: R,
|
|
3417
3398
|
backgroundPositionY: R,
|
|
3418
3399
|
...Fd,
|
|
3419
|
-
zIndex:
|
|
3400
|
+
zIndex: Kr,
|
|
3420
3401
|
// SVG
|
|
3421
3402
|
fillOpacity: Ve,
|
|
3422
3403
|
strokeOpacity: Ve,
|
|
3423
|
-
numOctaves:
|
|
3404
|
+
numOctaves: Kr
|
|
3424
3405
|
}, Nd = {
|
|
3425
3406
|
...or,
|
|
3426
3407
|
// Color props
|
|
@@ -3471,13 +3452,13 @@ class $d extends tr {
|
|
|
3471
3452
|
}
|
|
3472
3453
|
if (this.resolveNoneKeyframes(), !ua.has(i) || e.length !== 2)
|
|
3473
3454
|
return;
|
|
3474
|
-
const [r, o] = e, s =
|
|
3455
|
+
const [r, o] = e, s = Gr(r), a = Gr(o), l = jr(r), c = jr(o);
|
|
3475
3456
|
if (l !== c && Ot[i]) {
|
|
3476
3457
|
this.needsMeasurement = !0;
|
|
3477
3458
|
return;
|
|
3478
3459
|
}
|
|
3479
3460
|
if (s !== a)
|
|
3480
|
-
if (
|
|
3461
|
+
if (Br(s) && Br(a))
|
|
3481
3462
|
for (let u = 0; u < e.length; u++) {
|
|
3482
3463
|
const h = e[u];
|
|
3483
3464
|
typeof h == "string" && (e[u] = parseFloat(h));
|
|
@@ -3546,18 +3527,18 @@ function wa(t, e) {
|
|
|
3546
3527
|
};
|
|
3547
3528
|
return [n, r, () => i.abort()];
|
|
3548
3529
|
}
|
|
3549
|
-
function
|
|
3530
|
+
function Yr(t) {
|
|
3550
3531
|
return !(t.pointerType === "touch" || xa());
|
|
3551
3532
|
}
|
|
3552
3533
|
function Hd(t, e, n = {}) {
|
|
3553
3534
|
const [i, r, o] = wa(t, n), s = (a) => {
|
|
3554
|
-
if (!
|
|
3535
|
+
if (!Yr(a))
|
|
3555
3536
|
return;
|
|
3556
3537
|
const { target: l } = a, c = e(l, a);
|
|
3557
3538
|
if (typeof c != "function" || !l)
|
|
3558
3539
|
return;
|
|
3559
3540
|
const u = (h) => {
|
|
3560
|
-
|
|
3541
|
+
Yr(h) && (c(h), l.removeEventListener("pointerleave", u));
|
|
3561
3542
|
};
|
|
3562
3543
|
l.addEventListener("pointerleave", u, r);
|
|
3563
3544
|
};
|
|
@@ -3576,7 +3557,7 @@ function Sa(t) {
|
|
|
3576
3557
|
return Gd.has(t.tagName) || t.isContentEditable === !0;
|
|
3577
3558
|
}
|
|
3578
3559
|
const ln = /* @__PURE__ */ new WeakSet();
|
|
3579
|
-
function
|
|
3560
|
+
function qr(t) {
|
|
3580
3561
|
return (e) => {
|
|
3581
3562
|
e.key === "Enter" && t(e);
|
|
3582
3563
|
};
|
|
@@ -3588,28 +3569,28 @@ const Kd = (t, e) => {
|
|
|
3588
3569
|
const n = t.currentTarget;
|
|
3589
3570
|
if (!n)
|
|
3590
3571
|
return;
|
|
3591
|
-
const i =
|
|
3572
|
+
const i = qr(() => {
|
|
3592
3573
|
if (ln.has(n))
|
|
3593
3574
|
return;
|
|
3594
3575
|
On(n, "down");
|
|
3595
|
-
const r =
|
|
3576
|
+
const r = qr(() => {
|
|
3596
3577
|
On(n, "up");
|
|
3597
3578
|
}), o = () => On(n, "cancel");
|
|
3598
3579
|
n.addEventListener("keyup", r, e), n.addEventListener("blur", o, e);
|
|
3599
3580
|
});
|
|
3600
3581
|
n.addEventListener("keydown", i, e), n.addEventListener("blur", () => n.removeEventListener("keydown", i), e);
|
|
3601
3582
|
};
|
|
3602
|
-
function
|
|
3583
|
+
function Xr(t) {
|
|
3603
3584
|
return ar(t) && !xa();
|
|
3604
3585
|
}
|
|
3605
3586
|
function Yd(t, e, n = {}) {
|
|
3606
3587
|
const [i, r, o] = wa(t, n), s = (a) => {
|
|
3607
3588
|
const l = a.currentTarget;
|
|
3608
|
-
if (!
|
|
3589
|
+
if (!Xr(a))
|
|
3609
3590
|
return;
|
|
3610
3591
|
ln.add(l);
|
|
3611
3592
|
const c = e(l, a), u = (p, v) => {
|
|
3612
|
-
window.removeEventListener("pointerup", h), window.removeEventListener("pointercancel", f), ln.has(l) && ln.delete(l),
|
|
3593
|
+
window.removeEventListener("pointerup", h), window.removeEventListener("pointercancel", f), ln.has(l) && ln.delete(l), Xr(p) && typeof c == "function" && c(p, { success: v });
|
|
3613
3594
|
}, h = (p) => {
|
|
3614
3595
|
u(p, l === window || l === document || n.useGlobalTarget || ka(l, p.target));
|
|
3615
3596
|
}, f = (p) => {
|
|
@@ -3627,17 +3608,17 @@ function Ca(t) {
|
|
|
3627
3608
|
function qd(t) {
|
|
3628
3609
|
return Ca(t) && t.tagName === "svg";
|
|
3629
3610
|
}
|
|
3630
|
-
const Xd = [...ga, at, Ut], Zd = (t) => Xd.find(pa(t)),
|
|
3611
|
+
const Xd = [...ga, at, Ut], Zd = (t) => Xd.find(pa(t)), Zr = () => ({
|
|
3631
3612
|
translate: 0,
|
|
3632
3613
|
scale: 1,
|
|
3633
3614
|
origin: 0,
|
|
3634
3615
|
originPoint: 0
|
|
3635
|
-
}),
|
|
3616
|
+
}), se = () => ({
|
|
3617
|
+
x: Zr(),
|
|
3618
|
+
y: Zr()
|
|
3619
|
+
}), Jr = () => ({ min: 0, max: 0 }), ct = () => ({
|
|
3636
3620
|
x: Jr(),
|
|
3637
3621
|
y: Jr()
|
|
3638
|
-
}), Qr = () => ({ min: 0, max: 0 }), ct = () => ({
|
|
3639
|
-
x: Qr(),
|
|
3640
|
-
y: Qr()
|
|
3641
3622
|
}), ki = { current: null }, Ta = { current: !1 }, Jd = typeof window < "u";
|
|
3642
3623
|
function Qd() {
|
|
3643
3624
|
if (Ta.current = !0, !!Jd)
|
|
@@ -3675,21 +3656,21 @@ function eh(t, e, n) {
|
|
|
3675
3656
|
if (ft(r))
|
|
3676
3657
|
t.addValue(i, r);
|
|
3677
3658
|
else if (ft(o))
|
|
3678
|
-
t.addValue(i,
|
|
3659
|
+
t.addValue(i, he(r, { owner: t }));
|
|
3679
3660
|
else if (o !== r)
|
|
3680
3661
|
if (t.hasValue(i)) {
|
|
3681
3662
|
const s = t.getValue(i);
|
|
3682
3663
|
s.liveStyle === !0 ? s.jump(r) : s.hasAnimated || s.set(r);
|
|
3683
3664
|
} else {
|
|
3684
3665
|
const s = t.getStaticValue(i);
|
|
3685
|
-
t.addValue(i,
|
|
3666
|
+
t.addValue(i, he(s !== void 0 ? s : r, { owner: t }));
|
|
3686
3667
|
}
|
|
3687
3668
|
}
|
|
3688
3669
|
for (const i in n)
|
|
3689
3670
|
e[i] === void 0 && t.removeValue(i);
|
|
3690
3671
|
return e;
|
|
3691
3672
|
}
|
|
3692
|
-
const
|
|
3673
|
+
const Qr = [
|
|
3693
3674
|
"AnimationStart",
|
|
3694
3675
|
"AnimationComplete",
|
|
3695
3676
|
"Update",
|
|
@@ -3752,7 +3733,7 @@ class ih {
|
|
|
3752
3733
|
}
|
|
3753
3734
|
bindToMotionValue(e, n) {
|
|
3754
3735
|
this.valueSubscriptions.has(e) && this.valueSubscriptions.get(e)();
|
|
3755
|
-
const i =
|
|
3736
|
+
const i = ye.has(e);
|
|
3756
3737
|
i && this.onBindTransform && this.onBindTransform();
|
|
3757
3738
|
const r = n.on("change", (s) => {
|
|
3758
3739
|
this.latestValues[e] = s, this.props.onUpdate && tt.preRender(this.notifyUpdate), i && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender();
|
|
@@ -3801,8 +3782,8 @@ class ih {
|
|
|
3801
3782
|
*/
|
|
3802
3783
|
update(e, n) {
|
|
3803
3784
|
(e.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = e, this.prevPresenceContext = this.presenceContext, this.presenceContext = n;
|
|
3804
|
-
for (let i = 0; i <
|
|
3805
|
-
const r =
|
|
3785
|
+
for (let i = 0; i < Qr.length; i++) {
|
|
3786
|
+
const r = Qr[i];
|
|
3806
3787
|
this.propEventSubscriptions[r] && (this.propEventSubscriptions[r](), delete this.propEventSubscriptions[r]);
|
|
3807
3788
|
const o = "on" + r, s = e[o];
|
|
3808
3789
|
s && (this.propEventSubscriptions[r] = this.on(r, s));
|
|
@@ -3863,7 +3844,7 @@ class ih {
|
|
|
3863
3844
|
if (this.props.values && this.props.values[e])
|
|
3864
3845
|
return this.props.values[e];
|
|
3865
3846
|
let i = this.values.get(e);
|
|
3866
|
-
return i === void 0 && n !== void 0 && (i =
|
|
3847
|
+
return i === void 0 && n !== void 0 && (i = he(n === null ? void 0 : n, { owner: this }), this.addValue(e, i)), i;
|
|
3867
3848
|
}
|
|
3868
3849
|
/**
|
|
3869
3850
|
* If we're trying to animate to a previously unencountered value,
|
|
@@ -3966,25 +3947,25 @@ function Yt(t) {
|
|
|
3966
3947
|
return Si(t) || Ia(t) || t.z || t.rotate || t.rotateX || t.rotateY || t.skewX || t.skewY;
|
|
3967
3948
|
}
|
|
3968
3949
|
function Ia(t) {
|
|
3969
|
-
return
|
|
3950
|
+
return to(t.x) || to(t.y);
|
|
3970
3951
|
}
|
|
3971
|
-
function
|
|
3952
|
+
function to(t) {
|
|
3972
3953
|
return t && t !== "0%";
|
|
3973
3954
|
}
|
|
3974
3955
|
function bn(t, e, n) {
|
|
3975
3956
|
const i = t - n, r = e * i;
|
|
3976
3957
|
return n + r;
|
|
3977
3958
|
}
|
|
3978
|
-
function
|
|
3959
|
+
function eo(t, e, n, i, r) {
|
|
3979
3960
|
return r !== void 0 && (t = bn(t, r, i)), bn(t, n, i) + e;
|
|
3980
3961
|
}
|
|
3981
3962
|
function Ci(t, e = 0, n = 1, i, r) {
|
|
3982
|
-
t.min =
|
|
3963
|
+
t.min = eo(t.min, e, n, i, r), t.max = eo(t.max, e, n, i, r);
|
|
3983
3964
|
}
|
|
3984
3965
|
function Ma(t, { x: e, y: n }) {
|
|
3985
3966
|
Ci(t.x, e.translate, e.scale, e.originPoint), Ci(t.y, n.translate, n.scale, n.originPoint);
|
|
3986
3967
|
}
|
|
3987
|
-
const
|
|
3968
|
+
const no = 0.999999999999, io = 1.0000000000001;
|
|
3988
3969
|
function sh(t, e, n, i = !1) {
|
|
3989
3970
|
const r = n.length;
|
|
3990
3971
|
if (!r)
|
|
@@ -3994,40 +3975,40 @@ function sh(t, e, n, i = !1) {
|
|
|
3994
3975
|
for (let a = 0; a < r; a++) {
|
|
3995
3976
|
o = n[a], s = o.projectionDelta;
|
|
3996
3977
|
const { visualElement: l } = o.options;
|
|
3997
|
-
l && l.props.style && l.props.style.display === "contents" || (i && o.options.layoutScroll && o.scroll && o !== o.root &&
|
|
3978
|
+
l && l.props.style && l.props.style.display === "contents" || (i && o.options.layoutScroll && o.scroll && o !== o.root && le(t, {
|
|
3998
3979
|
x: -o.scroll.offset.x,
|
|
3999
3980
|
y: -o.scroll.offset.y
|
|
4000
|
-
}), s && (e.x *= s.x.scale, e.y *= s.y.scale, Ma(t, s)), i && Yt(o.latestValues) &&
|
|
3981
|
+
}), s && (e.x *= s.x.scale, e.y *= s.y.scale, Ma(t, s)), i && Yt(o.latestValues) && le(t, o.latestValues));
|
|
4001
3982
|
}
|
|
4002
|
-
e.x <
|
|
3983
|
+
e.x < io && e.x > no && (e.x = 1), e.y < io && e.y > no && (e.y = 1);
|
|
4003
3984
|
}
|
|
4004
|
-
function
|
|
3985
|
+
function ae(t, e) {
|
|
4005
3986
|
t.min = t.min + e, t.max = t.max + e;
|
|
4006
3987
|
}
|
|
4007
|
-
function
|
|
3988
|
+
function ro(t, e, n, i, r = 0.5) {
|
|
4008
3989
|
const o = it(t.min, t.max, r);
|
|
4009
3990
|
Ci(t, e, n, o, i);
|
|
4010
3991
|
}
|
|
4011
|
-
function
|
|
4012
|
-
|
|
3992
|
+
function le(t, e) {
|
|
3993
|
+
ro(t.x, e.x, e.scaleX, e.scale, e.originX), ro(t.y, e.y, e.scaleY, e.scale, e.originY);
|
|
4013
3994
|
}
|
|
4014
3995
|
function ja(t, e) {
|
|
4015
3996
|
return Ra(oh(t.getBoundingClientRect(), e));
|
|
4016
3997
|
}
|
|
4017
3998
|
function ah(t, e, n) {
|
|
4018
3999
|
const i = ja(t, n), { scroll: r } = e;
|
|
4019
|
-
return r && (
|
|
4000
|
+
return r && (ae(i.x, r.offset.x), ae(i.y, r.offset.y)), i;
|
|
4020
4001
|
}
|
|
4021
4002
|
const lh = {
|
|
4022
4003
|
x: "translateX",
|
|
4023
4004
|
y: "translateY",
|
|
4024
4005
|
z: "translateZ",
|
|
4025
4006
|
transformPerspective: "perspective"
|
|
4026
|
-
}, ch =
|
|
4007
|
+
}, ch = be.length;
|
|
4027
4008
|
function uh(t, e, n) {
|
|
4028
4009
|
let i = "", r = !0;
|
|
4029
4010
|
for (let o = 0; o < ch; o++) {
|
|
4030
|
-
const s =
|
|
4011
|
+
const s = be[o], a = t[s];
|
|
4031
4012
|
if (a === void 0)
|
|
4032
4013
|
continue;
|
|
4033
4014
|
let l = !0;
|
|
@@ -4048,7 +4029,7 @@ function ur(t, e, n) {
|
|
|
4048
4029
|
let s = !1, a = !1;
|
|
4049
4030
|
for (const l in e) {
|
|
4050
4031
|
const c = e[l];
|
|
4051
|
-
if (
|
|
4032
|
+
if (ye.has(l)) {
|
|
4052
4033
|
s = !0;
|
|
4053
4034
|
continue;
|
|
4054
4035
|
} else if (Hs(l)) {
|
|
@@ -4073,10 +4054,10 @@ function La(t, { style: e, vars: n }, i, r) {
|
|
|
4073
4054
|
for (s in n)
|
|
4074
4055
|
o.setProperty(s, n[s]);
|
|
4075
4056
|
}
|
|
4076
|
-
function
|
|
4057
|
+
function oo(t, e) {
|
|
4077
4058
|
return e.max === e.min ? 0 : t / (e.max - e.min) * 100;
|
|
4078
4059
|
}
|
|
4079
|
-
const
|
|
4060
|
+
const Te = {
|
|
4080
4061
|
correct: (t, e) => {
|
|
4081
4062
|
if (!e.target)
|
|
4082
4063
|
return t;
|
|
@@ -4085,7 +4066,7 @@ const Ce = {
|
|
|
4085
4066
|
t = parseFloat(t);
|
|
4086
4067
|
else
|
|
4087
4068
|
return t;
|
|
4088
|
-
const n =
|
|
4069
|
+
const n = oo(t, e.target.x), i = oo(t, e.target.y);
|
|
4089
4070
|
return `${n}% ${i}%`;
|
|
4090
4071
|
}
|
|
4091
4072
|
}, dh = {
|
|
@@ -4100,7 +4081,7 @@ const Ce = {
|
|
|
4100
4081
|
}
|
|
4101
4082
|
}, Ti = {
|
|
4102
4083
|
borderRadius: {
|
|
4103
|
-
...
|
|
4084
|
+
...Te,
|
|
4104
4085
|
applyTo: [
|
|
4105
4086
|
"borderTopLeftRadius",
|
|
4106
4087
|
"borderTopRightRadius",
|
|
@@ -4108,14 +4089,14 @@ const Ce = {
|
|
|
4108
4089
|
"borderBottomRightRadius"
|
|
4109
4090
|
]
|
|
4110
4091
|
},
|
|
4111
|
-
borderTopLeftRadius:
|
|
4112
|
-
borderTopRightRadius:
|
|
4113
|
-
borderBottomLeftRadius:
|
|
4114
|
-
borderBottomRightRadius:
|
|
4092
|
+
borderTopLeftRadius: Te,
|
|
4093
|
+
borderTopRightRadius: Te,
|
|
4094
|
+
borderBottomLeftRadius: Te,
|
|
4095
|
+
borderBottomRightRadius: Te,
|
|
4115
4096
|
boxShadow: dh
|
|
4116
4097
|
};
|
|
4117
4098
|
function Da(t, { layout: e, layoutId: n }) {
|
|
4118
|
-
return
|
|
4099
|
+
return ye.has(t) || t.startsWith("origin") || (e || n !== void 0) && (!!Ti[t] || t === "opacity");
|
|
4119
4100
|
}
|
|
4120
4101
|
function dr(t, e, n) {
|
|
4121
4102
|
const i = t.style, r = e?.style, o = {};
|
|
@@ -4133,7 +4114,7 @@ class fh extends Aa {
|
|
|
4133
4114
|
super(...arguments), this.type = "html", this.renderInstance = La;
|
|
4134
4115
|
}
|
|
4135
4116
|
readValueFromInstance(e, n) {
|
|
4136
|
-
if (
|
|
4117
|
+
if (ye.has(n))
|
|
4137
4118
|
return this.projection?.isProjecting ? hi(n) : $u(e, n);
|
|
4138
4119
|
{
|
|
4139
4120
|
const i = hh(e), r = (Hs(n) ? i.getPropertyValue(n) : i[n]) || 0;
|
|
@@ -4225,7 +4206,7 @@ function Fa(t, e, n) {
|
|
|
4225
4206
|
const i = dr(t, e, n);
|
|
4226
4207
|
for (const r in t)
|
|
4227
4208
|
if (ft(t[r]) || ft(e[r])) {
|
|
4228
|
-
const o =
|
|
4209
|
+
const o = be.indexOf(r) !== -1 ? "attr" + r.charAt(0).toUpperCase() + r.substring(1) : r;
|
|
4229
4210
|
i[o] = t[r];
|
|
4230
4211
|
}
|
|
4231
4212
|
return i;
|
|
@@ -4238,7 +4219,7 @@ class yh extends Aa {
|
|
|
4238
4219
|
return e[n];
|
|
4239
4220
|
}
|
|
4240
4221
|
readValueFromInstance(e, n) {
|
|
4241
|
-
if (
|
|
4222
|
+
if (ye.has(n)) {
|
|
4242
4223
|
const i = ma(n);
|
|
4243
4224
|
return i && i.default || 0;
|
|
4244
4225
|
}
|
|
@@ -4288,9 +4269,9 @@ function Sh(t) {
|
|
|
4288
4269
|
return (e) => Promise.all(e.map(({ animation: n, options: i }) => jd(t, n, i)));
|
|
4289
4270
|
}
|
|
4290
4271
|
function Ch(t) {
|
|
4291
|
-
let e = Sh(t), n =
|
|
4272
|
+
let e = Sh(t), n = so(), i = !0;
|
|
4292
4273
|
const r = (l) => (c, u) => {
|
|
4293
|
-
const h =
|
|
4274
|
+
const h = ce(t, u, l === "exit" ? t.presenceContext?.custom : void 0);
|
|
4294
4275
|
if (h) {
|
|
4295
4276
|
const { transition: f, transitionEnd: p, ...v } = h;
|
|
4296
4277
|
c = { ...c, ...v, ...p };
|
|
@@ -4339,7 +4320,7 @@ function Ch(t) {
|
|
|
4339
4320
|
w && (!O || F) && h.push(...$.map((C) => {
|
|
4340
4321
|
const S = { type: y };
|
|
4341
4322
|
if (typeof C == "string" && i && !O && t.manuallyAnimateOnMount && t.parent) {
|
|
4342
|
-
const { parent: Y } = t, ut =
|
|
4323
|
+
const { parent: Y } = t, ut = ce(Y, C);
|
|
4343
4324
|
if (Y.enteringChildren && ut) {
|
|
4344
4325
|
const { delayChildren: x } = ut.transition || {};
|
|
4345
4326
|
S.delay = ca(Y.enteringChildren, t, x);
|
|
@@ -4354,7 +4335,7 @@ function Ch(t) {
|
|
|
4354
4335
|
if (f.size) {
|
|
4355
4336
|
const g = {};
|
|
4356
4337
|
if (typeof c.initial != "boolean") {
|
|
4357
|
-
const y =
|
|
4338
|
+
const y = ce(t, Array.isArray(c.initial) ? c.initial[0] : c.initial);
|
|
4358
4339
|
y && y.transition && (g.transition = y.transition);
|
|
4359
4340
|
}
|
|
4360
4341
|
f.forEach((y) => {
|
|
@@ -4380,7 +4361,7 @@ function Ch(t) {
|
|
|
4380
4361
|
setAnimateFunction: o,
|
|
4381
4362
|
getState: () => n,
|
|
4382
4363
|
reset: () => {
|
|
4383
|
-
n =
|
|
4364
|
+
n = so();
|
|
4384
4365
|
}
|
|
4385
4366
|
};
|
|
4386
4367
|
}
|
|
@@ -4395,7 +4376,7 @@ function Gt(t = !1) {
|
|
|
4395
4376
|
prevResolvedValues: {}
|
|
4396
4377
|
};
|
|
4397
4378
|
}
|
|
4398
|
-
function
|
|
4379
|
+
function so() {
|
|
4399
4380
|
return {
|
|
4400
4381
|
animate: Gt(!0),
|
|
4401
4382
|
whileInView: Gt(),
|
|
@@ -4413,71 +4394,71 @@ function gt(t) {
|
|
|
4413
4394
|
function Ih(t, e, n) {
|
|
4414
4395
|
return Math.abs(t - e) <= n;
|
|
4415
4396
|
}
|
|
4416
|
-
function
|
|
4397
|
+
function ao(t, e, n, i = 0.5) {
|
|
4417
4398
|
t.origin = i, t.originPoint = it(e.min, e.max, t.origin), t.scale = gt(n) / gt(e), t.translate = it(n.min, n.max, t.origin) - t.originPoint, (t.scale >= Ph && t.scale <= Eh || isNaN(t.scale)) && (t.scale = 1), (t.translate >= Ah && t.translate <= Rh || isNaN(t.translate)) && (t.translate = 0);
|
|
4418
4399
|
}
|
|
4419
4400
|
function Le(t, e, n, i) {
|
|
4420
|
-
|
|
4401
|
+
ao(t.x, e.x, n.x, i ? i.originX : void 0), ao(t.y, e.y, n.y, i ? i.originY : void 0);
|
|
4421
4402
|
}
|
|
4422
|
-
function
|
|
4403
|
+
function lo(t, e, n) {
|
|
4423
4404
|
t.min = n.min + e.min, t.max = t.min + gt(e);
|
|
4424
4405
|
}
|
|
4425
4406
|
function Mh(t, e, n) {
|
|
4426
|
-
|
|
4407
|
+
lo(t.x, e.x, n.x), lo(t.y, e.y, n.y);
|
|
4427
4408
|
}
|
|
4428
|
-
function
|
|
4409
|
+
function co(t, e, n) {
|
|
4429
4410
|
t.min = e.min - n.min, t.max = t.min + gt(e);
|
|
4430
4411
|
}
|
|
4431
4412
|
function yn(t, e, n) {
|
|
4432
|
-
|
|
4413
|
+
co(t.x, e.x, n.x), co(t.y, e.y, n.y);
|
|
4433
4414
|
}
|
|
4434
|
-
function
|
|
4415
|
+
function uo(t, e, n, i, r) {
|
|
4435
4416
|
return t -= e, t = bn(t, 1 / n, i), r !== void 0 && (t = bn(t, 1 / r, i)), t;
|
|
4436
4417
|
}
|
|
4437
4418
|
function jh(t, e = 0, n = 1, i = 0.5, r, o = t, s = t) {
|
|
4438
|
-
if (
|
|
4419
|
+
if (Mt.test(e) && (e = parseFloat(e), e = it(s.min, s.max, e / 100) - s.min), typeof e != "number")
|
|
4439
4420
|
return;
|
|
4440
4421
|
let a = it(o.min, o.max, i);
|
|
4441
|
-
t === o && (a -= e), t.min =
|
|
4422
|
+
t === o && (a -= e), t.min = uo(t.min, e, n, a, r), t.max = uo(t.max, e, n, a, r);
|
|
4442
4423
|
}
|
|
4443
|
-
function
|
|
4424
|
+
function ho(t, e, [n, i, r], o, s) {
|
|
4444
4425
|
jh(t, e[n], e[i], e[r], e.scale, o, s);
|
|
4445
4426
|
}
|
|
4446
4427
|
const Lh = ["x", "scaleX", "originX"], Dh = ["y", "scaleY", "originY"];
|
|
4447
|
-
function
|
|
4448
|
-
|
|
4428
|
+
function fo(t, e, n, i) {
|
|
4429
|
+
ho(t.x, e, Lh, n ? n.x : void 0, i ? i.x : void 0), ho(t.y, e, Dh, n ? n.y : void 0, i ? i.y : void 0);
|
|
4449
4430
|
}
|
|
4450
|
-
function
|
|
4431
|
+
function po(t, e) {
|
|
4451
4432
|
t.min = e.min, t.max = e.max;
|
|
4452
4433
|
}
|
|
4453
4434
|
function Ct(t, e) {
|
|
4454
|
-
|
|
4435
|
+
po(t.x, e.x), po(t.y, e.y);
|
|
4455
4436
|
}
|
|
4456
|
-
function
|
|
4437
|
+
function go(t, e) {
|
|
4457
4438
|
t.translate = e.translate, t.scale = e.scale, t.originPoint = e.originPoint, t.origin = e.origin;
|
|
4458
4439
|
}
|
|
4459
|
-
function
|
|
4440
|
+
function mo(t) {
|
|
4460
4441
|
return t.translate === 0 && t.scale === 1;
|
|
4461
4442
|
}
|
|
4462
4443
|
function Wa(t) {
|
|
4463
|
-
return
|
|
4444
|
+
return mo(t.x) && mo(t.y);
|
|
4464
4445
|
}
|
|
4465
|
-
function
|
|
4446
|
+
function vo(t, e) {
|
|
4466
4447
|
return t.min === e.min && t.max === e.max;
|
|
4467
4448
|
}
|
|
4468
4449
|
function zh(t, e) {
|
|
4469
|
-
return
|
|
4450
|
+
return vo(t.x, e.x) && vo(t.y, e.y);
|
|
4470
4451
|
}
|
|
4471
|
-
function
|
|
4452
|
+
function bo(t, e) {
|
|
4472
4453
|
return Math.round(t.min) === Math.round(e.min) && Math.round(t.max) === Math.round(e.max);
|
|
4473
4454
|
}
|
|
4474
4455
|
function Ua(t, e) {
|
|
4475
|
-
return
|
|
4456
|
+
return bo(t.x, e.x) && bo(t.y, e.y);
|
|
4476
4457
|
}
|
|
4477
|
-
function
|
|
4458
|
+
function yo(t) {
|
|
4478
4459
|
return gt(t.x) / gt(t.y);
|
|
4479
4460
|
}
|
|
4480
|
-
function
|
|
4461
|
+
function xo(t, e) {
|
|
4481
4462
|
return t.translate === e.translate && t.scale === e.scale && t.originPoint === e.originPoint;
|
|
4482
4463
|
}
|
|
4483
4464
|
function yt(t) {
|
|
@@ -4493,19 +4474,19 @@ function Vh(t, e, n) {
|
|
|
4493
4474
|
const a = t.x.scale * e.x, l = t.y.scale * e.y;
|
|
4494
4475
|
return (a !== 1 || l !== 1) && (i += `scale(${a}, ${l})`), i || "none";
|
|
4495
4476
|
}
|
|
4496
|
-
const Ha = ["TopLeft", "TopRight", "BottomLeft", "BottomRight"], _h = Ha.length,
|
|
4477
|
+
const Ha = ["TopLeft", "TopRight", "BottomLeft", "BottomRight"], _h = Ha.length, wo = (t) => typeof t == "string" ? parseFloat(t) : t, ko = (t) => typeof t == "number" || R.test(t);
|
|
4497
4478
|
function Fh(t, e, n, i, r, o) {
|
|
4498
4479
|
r ? (t.opacity = it(0, n.opacity ?? 1, Nh(i)), t.opacityExit = it(e.opacity ?? 1, 0, Oh(i))) : o && (t.opacity = it(e.opacity ?? 1, n.opacity ?? 1, i));
|
|
4499
4480
|
for (let s = 0; s < _h; s++) {
|
|
4500
4481
|
const a = `border${Ha[s]}Radius`;
|
|
4501
|
-
let l =
|
|
4482
|
+
let l = So(e, a), c = So(n, a);
|
|
4502
4483
|
if (l === void 0 && c === void 0)
|
|
4503
4484
|
continue;
|
|
4504
|
-
l || (l = 0), c || (c = 0), l === 0 || c === 0 ||
|
|
4485
|
+
l || (l = 0), c || (c = 0), l === 0 || c === 0 || ko(l) === ko(c) ? (t[a] = Math.max(it(wo(l), wo(c), i), 0), (Mt.test(c) || Mt.test(l)) && (t[a] += "%")) : t[a] = c;
|
|
4505
4486
|
}
|
|
4506
4487
|
(e.rotate || n.rotate) && (t.rotate = it(e.rotate || 0, n.rotate || 0, i));
|
|
4507
4488
|
}
|
|
4508
|
-
function
|
|
4489
|
+
function So(t, e) {
|
|
4509
4490
|
return t[e] !== void 0 ? t[e] : t.borderRadius;
|
|
4510
4491
|
}
|
|
4511
4492
|
const Nh = /* @__PURE__ */ Ga(0, 0.5, Ns), Oh = /* @__PURE__ */ Ga(0.5, 0.95, wt);
|
|
@@ -4526,7 +4507,7 @@ function cn(t) {
|
|
|
4526
4507
|
return ft(t) ? t.get() : t;
|
|
4527
4508
|
}
|
|
4528
4509
|
function $h(t, e, n) {
|
|
4529
|
-
const i = ft(t) ? t :
|
|
4510
|
+
const i = ft(t) ? t : he(t);
|
|
4530
4511
|
return i.start(nr("", i, e, n)), i.animation;
|
|
4531
4512
|
}
|
|
4532
4513
|
const Wh = (t, e) => t.depth - e.depth;
|
|
@@ -4666,7 +4647,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4666
4647
|
h = window.innerWidth;
|
|
4667
4648
|
}), t(s, () => {
|
|
4668
4649
|
const p = window.innerWidth;
|
|
4669
|
-
p !== h && (h = p, this.root.updateBlockedByResize = !0, u && u(), u = Bh(f, 250), un.hasAnimatedSinceResize && (un.hasAnimatedSinceResize = !1, this.nodes.forEach(
|
|
4650
|
+
p !== h && (h = p, this.root.updateBlockedByResize = !0, u && u(), u = Bh(f, 250), un.hasAnimatedSinceResize && (un.hasAnimatedSinceResize = !1, this.nodes.forEach(Po)));
|
|
4670
4651
|
});
|
|
4671
4652
|
}
|
|
4672
4653
|
a && this.root.registerSharedNode(a, this), this.options.animate !== !1 && c && (a || l) && this.addEventListener("didUpdate", ({ delta: u, hasLayoutChanged: h, hasRelativeLayoutChanged: f, layout: p }) => {
|
|
@@ -4684,7 +4665,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4684
4665
|
};
|
|
4685
4666
|
(c.shouldReduceMotion || this.options.layoutRoot) && (k.delay = 0, k.type = !1), this.startAnimation(k), this.setAnimationOrigin(u, T);
|
|
4686
4667
|
} else
|
|
4687
|
-
h ||
|
|
4668
|
+
h || Po(this), this.isLead() && this.options.onExitComplete && this.options.onExitComplete();
|
|
4688
4669
|
this.targetLayout = p;
|
|
4689
4670
|
});
|
|
4690
4671
|
}
|
|
@@ -4734,16 +4715,16 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4734
4715
|
}
|
|
4735
4716
|
update() {
|
|
4736
4717
|
if (this.updateScheduled = !1, this.isUpdateBlocked()) {
|
|
4737
|
-
this.unblockUpdate(), this.clearAllSnapshots(), this.nodes.forEach(
|
|
4718
|
+
this.unblockUpdate(), this.clearAllSnapshots(), this.nodes.forEach(Co);
|
|
4738
4719
|
return;
|
|
4739
4720
|
}
|
|
4740
4721
|
if (this.animationId <= this.animationCommitId) {
|
|
4741
|
-
this.nodes.forEach(
|
|
4722
|
+
this.nodes.forEach(To);
|
|
4742
4723
|
return;
|
|
4743
4724
|
}
|
|
4744
|
-
this.animationCommitId = this.animationId, this.isUpdating ? (this.isUpdating = !1, this.nodes.forEach(Qh), this.nodes.forEach(Yh), this.nodes.forEach(qh)) : this.nodes.forEach(
|
|
4725
|
+
this.animationCommitId = this.animationId, this.isUpdating ? (this.isUpdating = !1, this.nodes.forEach(Qh), this.nodes.forEach(Yh), this.nodes.forEach(qh)) : this.nodes.forEach(To), this.clearAllSnapshots();
|
|
4745
4726
|
const a = pt.now();
|
|
4746
|
-
dt.delta =
|
|
4727
|
+
dt.delta = jt(0, 1e3 / 60, a - dt.timestamp), dt.timestamp = a, dt.isProcessing = !0, Dn.update.process(dt), Dn.preRender.process(dt), Dn.render.process(dt), dt.isProcessing = !1;
|
|
4747
4728
|
}
|
|
4748
4729
|
didUpdate() {
|
|
4749
4730
|
this.updateScheduled || (this.updateScheduled = !0, sr.read(this.scheduleUpdate));
|
|
@@ -4813,7 +4794,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4813
4794
|
const a = s.measureViewportBox();
|
|
4814
4795
|
if (!(this.scroll?.wasRoot || this.path.some(cf))) {
|
|
4815
4796
|
const { scroll: c } = this.root;
|
|
4816
|
-
c && (
|
|
4797
|
+
c && (ae(a.x, c.offset.x), ae(a.y, c.offset.y));
|
|
4817
4798
|
}
|
|
4818
4799
|
return a;
|
|
4819
4800
|
}
|
|
@@ -4823,7 +4804,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4823
4804
|
return a;
|
|
4824
4805
|
for (let l = 0; l < this.path.length; l++) {
|
|
4825
4806
|
const c = this.path[l], { scroll: u, options: h } = c;
|
|
4826
|
-
c !== this.root && u && h.layoutScroll && (u.wasRoot && Ct(a, s),
|
|
4807
|
+
c !== this.root && u && h.layoutScroll && (u.wasRoot && Ct(a, s), ae(a.x, u.offset.x), ae(a.y, u.offset.y));
|
|
4827
4808
|
}
|
|
4828
4809
|
return a;
|
|
4829
4810
|
}
|
|
@@ -4832,12 +4813,12 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4832
4813
|
Ct(l, s);
|
|
4833
4814
|
for (let c = 0; c < this.path.length; c++) {
|
|
4834
4815
|
const u = this.path[c];
|
|
4835
|
-
!a && u.options.layoutScroll && u.scroll && u !== u.root &&
|
|
4816
|
+
!a && u.options.layoutScroll && u.scroll && u !== u.root && le(l, {
|
|
4836
4817
|
x: -u.scroll.offset.x,
|
|
4837
4818
|
y: -u.scroll.offset.y
|
|
4838
|
-
}), Yt(u.latestValues) &&
|
|
4819
|
+
}), Yt(u.latestValues) && le(l, u.latestValues);
|
|
4839
4820
|
}
|
|
4840
|
-
return Yt(this.latestValues) &&
|
|
4821
|
+
return Yt(this.latestValues) && le(l, this.latestValues), l;
|
|
4841
4822
|
}
|
|
4842
4823
|
removeTransform(s) {
|
|
4843
4824
|
const a = ct();
|
|
@@ -4848,9 +4829,9 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4848
4829
|
continue;
|
|
4849
4830
|
Si(c.latestValues) && c.updateSnapshot();
|
|
4850
4831
|
const u = ct(), h = c.measurePageBox();
|
|
4851
|
-
Ct(u, h),
|
|
4832
|
+
Ct(u, h), fo(a, c.latestValues, c.snapshot ? c.snapshot.layoutBox : void 0, u);
|
|
4852
4833
|
}
|
|
4853
|
-
return Yt(this.latestValues) &&
|
|
4834
|
+
return Yt(this.latestValues) && fo(a, this.latestValues), a;
|
|
4854
4835
|
}
|
|
4855
4836
|
setTargetDelta(s) {
|
|
4856
4837
|
this.targetDelta = s, this.root.scheduleUpdateProjection(), this.isProjectionDirty = !0;
|
|
@@ -4910,7 +4891,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4910
4891
|
this.prevProjectionDelta && (this.createProjectionDeltas(), this.scheduleRender());
|
|
4911
4892
|
return;
|
|
4912
4893
|
}
|
|
4913
|
-
!this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (
|
|
4894
|
+
!this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (go(this.prevProjectionDelta.x, this.projectionDelta.x), go(this.prevProjectionDelta.y, this.projectionDelta.y)), Le(this.projectionDelta, this.layoutCorrected, p, this.latestValues), (this.treeScale.x !== h || this.treeScale.y !== f || !xo(this.projectionDelta.x, this.prevProjectionDelta.x) || !xo(this.projectionDelta.y, this.prevProjectionDelta.y)) && (this.hasProjected = !0, this.scheduleRender(), this.notifyListeners("projectionUpdate", p));
|
|
4914
4895
|
}
|
|
4915
4896
|
hide() {
|
|
4916
4897
|
this.isVisible = !1;
|
|
@@ -4926,22 +4907,22 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4926
4907
|
this.resumingFrom && !this.resumingFrom.instance && (this.resumingFrom = void 0);
|
|
4927
4908
|
}
|
|
4928
4909
|
createProjectionDeltas() {
|
|
4929
|
-
this.prevProjectionDelta =
|
|
4910
|
+
this.prevProjectionDelta = se(), this.projectionDelta = se(), this.projectionDeltaWithTransform = se();
|
|
4930
4911
|
}
|
|
4931
4912
|
setAnimationOrigin(s, a = !1) {
|
|
4932
|
-
const l = this.snapshot, c = l ? l.latestValues : {}, u = { ...this.latestValues }, h =
|
|
4913
|
+
const l = this.snapshot, c = l ? l.latestValues : {}, u = { ...this.latestValues }, h = se();
|
|
4933
4914
|
(!this.relativeParent || !this.relativeParent.options.layoutRoot) && (this.relativeTarget = this.relativeTargetOrigin = void 0), this.attemptToResolveRelativeTarget = !a;
|
|
4934
4915
|
const f = ct(), p = l ? l.source : void 0, v = this.layout ? this.layout.source : void 0, b = p !== v, g = this.getStack(), y = !g || g.members.length <= 1, T = !!(b && !y && this.options.crossfade === !0 && !this.path.some(sf));
|
|
4935
4916
|
this.animationProgress = 0;
|
|
4936
4917
|
let k;
|
|
4937
4918
|
this.mixTargetDelta = (I) => {
|
|
4938
4919
|
const E = I / 1e3;
|
|
4939
|
-
|
|
4920
|
+
Eo(h.x, s.x, E), Eo(h.y, s.y, E), this.setTargetDelta(h), this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout && (yn(f, this.layout.layoutBox, this.relativeParent.layout.layoutBox), of(this.relativeTarget, this.relativeTargetOrigin, f, E), k && zh(this.relativeTarget, k) && (this.isProjectionDirty = !1), k || (k = ct()), Ct(k, this.relativeTarget)), b && (this.animationValues = u, Fh(u, c, this.latestValues, E, T, y)), this.root.scheduleUpdateProjection(), this.scheduleRender(), this.animationProgress = E;
|
|
4940
4921
|
}, this.mixTargetDelta(this.options.layoutRoot ? 1e3 : 0);
|
|
4941
4922
|
}
|
|
4942
4923
|
startAnimation(s) {
|
|
4943
4924
|
this.notifyListeners("animationStart"), this.currentAnimation?.stop(), this.resumingFrom?.currentAnimation?.stop(), this.pendingAnimation && (Wt(this.pendingAnimation), this.pendingAnimation = void 0), this.pendingAnimation = tt.update(() => {
|
|
4944
|
-
un.hasAnimatedSinceResize = !0, this.motionValue || (this.motionValue =
|
|
4925
|
+
un.hasAnimatedSinceResize = !0, this.motionValue || (this.motionValue = he(0)), this.currentAnimation = $h(this.motionValue, [0, 1e3], {
|
|
4945
4926
|
...s,
|
|
4946
4927
|
velocity: 0,
|
|
4947
4928
|
isSync: !0,
|
|
@@ -4975,7 +4956,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
4975
4956
|
const f = gt(this.layout.layoutBox.y);
|
|
4976
4957
|
l.y.min = s.target.y.min, l.y.max = l.y.min + f;
|
|
4977
4958
|
}
|
|
4978
|
-
Ct(a, l),
|
|
4959
|
+
Ct(a, l), le(a, u), Le(this.projectionDeltaWithTransform, this.layoutCorrected, a, u);
|
|
4979
4960
|
}
|
|
4980
4961
|
}
|
|
4981
4962
|
registerSharedNode(s, a) {
|
|
@@ -5070,7 +5051,7 @@ function Ya({ attachResizeListener: t, defaultParent: e, measureScroll: n, check
|
|
|
5070
5051
|
}
|
|
5071
5052
|
// Only run on root
|
|
5072
5053
|
resetTree() {
|
|
5073
|
-
this.root.nodes.forEach((s) => s.currentAnimation?.stop()), this.root.nodes.forEach(
|
|
5054
|
+
this.root.nodes.forEach((s) => s.currentAnimation?.stop()), this.root.nodes.forEach(Co), this.root.sharedNodes.clear();
|
|
5074
5055
|
}
|
|
5075
5056
|
};
|
|
5076
5057
|
}
|
|
@@ -5088,9 +5069,9 @@ function qh(t) {
|
|
|
5088
5069
|
const h = o ? e.measuredBox[u] : e.layoutBox[u], f = gt(n[u]);
|
|
5089
5070
|
h.max = h.min + f, t.relativeTarget && !t.currentAnimation && (t.isProjectionDirty = !0, t.relativeTarget[u].max = t.relativeTarget[u].min + f);
|
|
5090
5071
|
});
|
|
5091
|
-
const s =
|
|
5072
|
+
const s = se();
|
|
5092
5073
|
Le(s, n, e.layoutBox);
|
|
5093
|
-
const a =
|
|
5074
|
+
const a = se();
|
|
5094
5075
|
o ? Le(a, t.applyTransform(i, !0), e.measuredBox) : Le(a, n, e.layoutBox);
|
|
5095
5076
|
const l = !Wa(s);
|
|
5096
5077
|
let c = !1;
|
|
@@ -5129,17 +5110,17 @@ function Zh(t) {
|
|
|
5129
5110
|
function Jh(t) {
|
|
5130
5111
|
t.clearSnapshot();
|
|
5131
5112
|
}
|
|
5132
|
-
function
|
|
5113
|
+
function Co(t) {
|
|
5133
5114
|
t.clearMeasurements();
|
|
5134
5115
|
}
|
|
5135
|
-
function
|
|
5116
|
+
function To(t) {
|
|
5136
5117
|
t.isLayoutDirty = !1;
|
|
5137
5118
|
}
|
|
5138
5119
|
function Qh(t) {
|
|
5139
5120
|
const { visualElement: e } = t.options;
|
|
5140
5121
|
e && e.getProps().onBeforeLayoutMeasure && e.notify("BeforeLayoutMeasure"), t.resetTransform();
|
|
5141
5122
|
}
|
|
5142
|
-
function
|
|
5123
|
+
function Po(t) {
|
|
5143
5124
|
t.finishAnimation(), t.targetDelta = t.relativeTarget = t.target = void 0, t.isProjectionDirty = !0;
|
|
5144
5125
|
}
|
|
5145
5126
|
function tf(t) {
|
|
@@ -5154,14 +5135,14 @@ function nf(t) {
|
|
|
5154
5135
|
function rf(t) {
|
|
5155
5136
|
t.removeLeadSnapshot();
|
|
5156
5137
|
}
|
|
5157
|
-
function
|
|
5138
|
+
function Eo(t, e, n) {
|
|
5158
5139
|
t.translate = it(e.translate, 0, n), t.scale = it(e.scale, 1, n), t.origin = e.origin, t.originPoint = e.originPoint;
|
|
5159
5140
|
}
|
|
5160
|
-
function
|
|
5141
|
+
function Ao(t, e, n, i) {
|
|
5161
5142
|
t.min = it(e.min, n.min, i), t.max = it(e.max, n.max, i);
|
|
5162
5143
|
}
|
|
5163
5144
|
function of(t, e, n, i) {
|
|
5164
|
-
|
|
5145
|
+
Ao(t.x, e.x, n.x, i), Ao(t.y, e.y, n.y, i);
|
|
5165
5146
|
}
|
|
5166
5147
|
function sf(t) {
|
|
5167
5148
|
return t.animationValues && t.animationValues.opacityExit !== void 0;
|
|
@@ -5169,15 +5150,15 @@ function sf(t) {
|
|
|
5169
5150
|
const af = {
|
|
5170
5151
|
duration: 0.45,
|
|
5171
5152
|
ease: [0.4, 0, 0.1, 1]
|
|
5172
|
-
},
|
|
5173
|
-
function
|
|
5174
|
-
t.min =
|
|
5153
|
+
}, Ro = (t) => typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().includes(t), Io = Ro("applewebkit/") && !Ro("chrome/") ? Math.round : wt;
|
|
5154
|
+
function Mo(t) {
|
|
5155
|
+
t.min = Io(t.min), t.max = Io(t.max);
|
|
5175
5156
|
}
|
|
5176
5157
|
function lf(t) {
|
|
5177
|
-
|
|
5158
|
+
Mo(t.x), Mo(t.y);
|
|
5178
5159
|
}
|
|
5179
5160
|
function qa(t, e, n) {
|
|
5180
|
-
return t === "position" || t === "preserve-aspect" && !Ih(
|
|
5161
|
+
return t === "position" || t === "preserve-aspect" && !Ih(yo(e), yo(n), 0.2);
|
|
5181
5162
|
}
|
|
5182
5163
|
function cf(t) {
|
|
5183
5164
|
return t !== t.root && t.scroll?.wasRoot;
|
|
@@ -5207,12 +5188,12 @@ const uf = Ya({
|
|
|
5207
5188
|
t.style.transform = e !== void 0 ? e : "none";
|
|
5208
5189
|
},
|
|
5209
5190
|
checkIsScrollRoot: (t) => window.getComputedStyle(t).position === "fixed"
|
|
5210
|
-
}), hr =
|
|
5191
|
+
}), hr = ee({
|
|
5211
5192
|
transformPagePoint: (t) => t,
|
|
5212
5193
|
isStatic: !1,
|
|
5213
5194
|
reducedMotion: "never"
|
|
5214
5195
|
});
|
|
5215
|
-
function
|
|
5196
|
+
function jo(t, e) {
|
|
5216
5197
|
if (typeof t == "function")
|
|
5217
5198
|
return t(e);
|
|
5218
5199
|
t != null && (t.current = e);
|
|
@@ -5221,14 +5202,14 @@ function df(...t) {
|
|
|
5221
5202
|
return (e) => {
|
|
5222
5203
|
let n = !1;
|
|
5223
5204
|
const i = t.map((r) => {
|
|
5224
|
-
const o =
|
|
5205
|
+
const o = jo(r, e);
|
|
5225
5206
|
return !n && typeof o == "function" && (n = !0), o;
|
|
5226
5207
|
});
|
|
5227
5208
|
if (n)
|
|
5228
5209
|
return () => {
|
|
5229
5210
|
for (let r = 0; r < i.length; r++) {
|
|
5230
5211
|
const o = i[r];
|
|
5231
|
-
typeof o == "function" ? o() :
|
|
5212
|
+
typeof o == "function" ? o() : jo(t[r], null);
|
|
5232
5213
|
}
|
|
5233
5214
|
};
|
|
5234
5215
|
};
|
|
@@ -5322,14 +5303,14 @@ function Za(t = !0) {
|
|
|
5322
5303
|
return !n && i ? [!1, s] : [!0];
|
|
5323
5304
|
}
|
|
5324
5305
|
const Xe = (t) => t.key || "";
|
|
5325
|
-
function
|
|
5306
|
+
function Lo(t) {
|
|
5326
5307
|
const e = [];
|
|
5327
5308
|
return Gl.forEach(t, (n) => {
|
|
5328
5309
|
Kl(n) && e.push(n);
|
|
5329
5310
|
}), e;
|
|
5330
5311
|
}
|
|
5331
5312
|
const _t = ({ children: t, custom: e, initial: n = !0, onExitComplete: i, presenceAffectsLayout: r = !0, mode: o = "sync", propagate: s = !1, anchorX: a = "left", root: l }) => {
|
|
5332
|
-
const [c, u] = Za(s), h = Q(() =>
|
|
5313
|
+
const [c, u] = Za(s), h = Q(() => Lo(t), [t]), f = s && !c ? [] : h.map(Xe), p = et(!0), v = et(h), b = Fi(() => /* @__PURE__ */ new Map()), g = et(/* @__PURE__ */ new Set()), [y, T] = st(h), [k, I] = st(h);
|
|
5333
5314
|
As(() => {
|
|
5334
5315
|
p.current = !1, v.current = h;
|
|
5335
5316
|
for (let L = 0; L < k.length; L++) {
|
|
@@ -5344,7 +5325,7 @@ const _t = ({ children: t, custom: e, initial: n = !0, onExitComplete: i, presen
|
|
|
5344
5325
|
const F = k[w], $ = Xe(F);
|
|
5345
5326
|
f.includes($) || (L.splice(w, 0, F), E.push(F));
|
|
5346
5327
|
}
|
|
5347
|
-
return o === "wait" && E.length && (L = E), I(
|
|
5328
|
+
return o === "wait" && E.length && (L = E), I(Lo(L)), T(h), null;
|
|
5348
5329
|
}
|
|
5349
5330
|
process.env.NODE_ENV !== "production" && o === "wait" && k.length > 1 && console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);
|
|
5350
5331
|
const { forceRender: z } = ht(_i);
|
|
@@ -5363,7 +5344,7 @@ const _t = ({ children: t, custom: e, initial: n = !0, onExitComplete: i, presen
|
|
|
5363
5344
|
};
|
|
5364
5345
|
return d.jsx(gf, { isPresent: F, initial: !p.current || n ? void 0 : !1, custom: e, presenceAffectsLayout: r, mode: o, root: l, onExitComplete: F ? void 0 : $, anchorX: a, children: L }, w);
|
|
5365
5346
|
}) });
|
|
5366
|
-
}, Ja =
|
|
5347
|
+
}, Ja = ee({ strict: !1 }), Do = {
|
|
5367
5348
|
animation: [
|
|
5368
5349
|
"animate",
|
|
5369
5350
|
"variants",
|
|
@@ -5383,16 +5364,16 @@ const _t = ({ children: t, custom: e, initial: n = !0, onExitComplete: i, presen
|
|
|
5383
5364
|
inView: ["whileInView", "onViewportEnter", "onViewportLeave"],
|
|
5384
5365
|
layout: ["layout", "layoutId"]
|
|
5385
5366
|
};
|
|
5386
|
-
let
|
|
5367
|
+
let zo = !1;
|
|
5387
5368
|
function vf() {
|
|
5388
|
-
if (
|
|
5369
|
+
if (zo)
|
|
5389
5370
|
return;
|
|
5390
5371
|
const t = {};
|
|
5391
|
-
for (const e in
|
|
5372
|
+
for (const e in Do)
|
|
5392
5373
|
t[e] = {
|
|
5393
|
-
isEnabled: (n) =>
|
|
5374
|
+
isEnabled: (n) => Do[e].some((i) => !!n[i])
|
|
5394
5375
|
};
|
|
5395
|
-
Ea(t),
|
|
5376
|
+
Ea(t), zo = !0;
|
|
5396
5377
|
}
|
|
5397
5378
|
function Qa() {
|
|
5398
5379
|
return vf(), nh();
|
|
@@ -5456,7 +5437,7 @@ function wf(t, e, n) {
|
|
|
5456
5437
|
t.draggable && r.startsWith("onDrag")) && (i[r] = t[r]);
|
|
5457
5438
|
return i;
|
|
5458
5439
|
}
|
|
5459
|
-
const jn = /* @__PURE__ */
|
|
5440
|
+
const jn = /* @__PURE__ */ ee({});
|
|
5460
5441
|
function kf(t, e) {
|
|
5461
5442
|
if (Mn(t)) {
|
|
5462
5443
|
const { initial: n, animate: i } = t;
|
|
@@ -5469,9 +5450,9 @@ function kf(t, e) {
|
|
|
5469
5450
|
}
|
|
5470
5451
|
function Sf(t) {
|
|
5471
5452
|
const { initial: e, animate: n } = kf(t, ht(jn));
|
|
5472
|
-
return Q(() => ({ initial: e, animate: n }), [
|
|
5453
|
+
return Q(() => ({ initial: e, animate: n }), [Vo(e), Vo(n)]);
|
|
5473
5454
|
}
|
|
5474
|
-
function
|
|
5455
|
+
function Vo(t) {
|
|
5475
5456
|
return Array.isArray(t) ? t.join(" ") : t;
|
|
5476
5457
|
}
|
|
5477
5458
|
const fr = () => ({
|
|
@@ -5564,7 +5545,7 @@ function pr(t) {
|
|
|
5564
5545
|
);
|
|
5565
5546
|
}
|
|
5566
5547
|
function Rf(t, e, n, { latestValues: i }, r, o = !1, s) {
|
|
5567
|
-
const l = (s ?? pr(t) ? Ef : Pf)(e, i, r, t), c = wf(e, typeof t == "string", o), u = t !==
|
|
5548
|
+
const l = (s ?? pr(t) ? Ef : Pf)(e, i, r, t), c = wf(e, typeof t == "string", o), u = t !== ys ? { ...c, ...l, ref: n } : {}, { children: h } = e, f = Q(() => ft(h) ? h.get() : h, [h]);
|
|
5568
5549
|
return fn(t, {
|
|
5569
5550
|
...u,
|
|
5570
5551
|
children: f
|
|
@@ -5634,8 +5615,8 @@ function zf(t, e, n) {
|
|
|
5634
5615
|
else s && (s.current = o);
|
|
5635
5616
|
}, [e]);
|
|
5636
5617
|
}
|
|
5637
|
-
const rl =
|
|
5638
|
-
function
|
|
5618
|
+
const rl = ee({});
|
|
5619
|
+
function Me(t) {
|
|
5639
5620
|
return t && typeof t == "object" && Object.prototype.hasOwnProperty.call(t, "current");
|
|
5640
5621
|
}
|
|
5641
5622
|
function Vf(t, e, n, i, r, o) {
|
|
@@ -5669,7 +5650,7 @@ function _f(t, e, n, i) {
|
|
|
5669
5650
|
t.projection = new n(t.latestValues, e["data-framer-portal-id"] ? void 0 : ol(t.parent)), t.projection.setOptions({
|
|
5670
5651
|
layoutId: r,
|
|
5671
5652
|
layout: o,
|
|
5672
|
-
alwaysMeasureLayout: !!s || a &&
|
|
5653
|
+
alwaysMeasureLayout: !!s || a && Me(a),
|
|
5673
5654
|
visualElement: t,
|
|
5674
5655
|
/**
|
|
5675
5656
|
* TODO: Update options in an effect. This could be tricky as it'll be too late
|
|
@@ -5718,7 +5699,7 @@ function Nf(t, e) {
|
|
|
5718
5699
|
const n = ht(Ja).strict;
|
|
5719
5700
|
if (process.env.NODE_ENV !== "production" && e && n) {
|
|
5720
5701
|
const i = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
|
|
5721
|
-
t.ignoreStrict ?
|
|
5702
|
+
t.ignoreStrict ? me(!1, i, "lazy-strict-mode") : zt(!1, i, "lazy-strict-mode");
|
|
5722
5703
|
}
|
|
5723
5704
|
}
|
|
5724
5705
|
function Of(t) {
|
|
@@ -5745,7 +5726,7 @@ function Bf(t, e) {
|
|
|
5745
5726
|
});
|
|
5746
5727
|
}
|
|
5747
5728
|
const $f = (t, e) => e.isSVG ?? pr(t) ? new yh(e) : new fh(e, {
|
|
5748
|
-
allowProjection: t !==
|
|
5729
|
+
allowProjection: t !== ys
|
|
5749
5730
|
});
|
|
5750
5731
|
class Wf extends Ht {
|
|
5751
5732
|
/**
|
|
@@ -5817,12 +5798,12 @@ const Kf = (t) => (e) => ar(e) && t(e, He(e));
|
|
|
5817
5798
|
function De(t, e, n, i) {
|
|
5818
5799
|
return Ne(t, e, Kf(n), i);
|
|
5819
5800
|
}
|
|
5820
|
-
const sl = ({ current: t }) => t ? t.ownerDocument.defaultView : null,
|
|
5801
|
+
const sl = ({ current: t }) => t ? t.ownerDocument.defaultView : null, _o = (t, e) => Math.abs(t - e);
|
|
5821
5802
|
function Yf(t, e) {
|
|
5822
|
-
const n =
|
|
5803
|
+
const n = _o(t.x, e.x), i = _o(t.y, e.y);
|
|
5823
5804
|
return Math.sqrt(n ** 2 + i ** 2);
|
|
5824
5805
|
}
|
|
5825
|
-
const
|
|
5806
|
+
const Fo = /* @__PURE__ */ new Set(["auto", "scroll"]);
|
|
5826
5807
|
class al {
|
|
5827
5808
|
constructor(e, n, { transformPagePoint: i, contextWindow: r = window, dragSnapToOrigin: o = !1, distanceThreshold: s = 3, element: a } = {}) {
|
|
5828
5809
|
if (this.startEvent = null, this.lastMoveEvent = null, this.lastMoveEventInfo = null, this.handlers = {}, this.contextWindow = window, this.scrollPositions = /* @__PURE__ */ new Map(), this.removeScrollListeners = null, this.onElementScroll = (p) => {
|
|
@@ -5863,7 +5844,7 @@ class al {
|
|
|
5863
5844
|
let n = e.parentElement;
|
|
5864
5845
|
for (; n; ) {
|
|
5865
5846
|
const i = getComputedStyle(n);
|
|
5866
|
-
(
|
|
5847
|
+
(Fo.has(i.overflowX) || Fo.has(i.overflowY)) && this.scrollPositions.set(n, {
|
|
5867
5848
|
x: n.scrollLeft,
|
|
5868
5849
|
y: n.scrollTop
|
|
5869
5850
|
}), n = n.parentElement;
|
|
@@ -5908,14 +5889,14 @@ class al {
|
|
|
5908
5889
|
function Gn(t, e) {
|
|
5909
5890
|
return e ? { point: e(t.point) } : t;
|
|
5910
5891
|
}
|
|
5911
|
-
function
|
|
5892
|
+
function No(t, e) {
|
|
5912
5893
|
return { x: t.x - e.x, y: t.y - e.y };
|
|
5913
5894
|
}
|
|
5914
5895
|
function Kn({ point: t }, e) {
|
|
5915
5896
|
return {
|
|
5916
5897
|
point: t,
|
|
5917
|
-
delta:
|
|
5918
|
-
offset:
|
|
5898
|
+
delta: No(t, ll(e)),
|
|
5899
|
+
offset: No(t, qf(e)),
|
|
5919
5900
|
velocity: Xf(e, 0.1)
|
|
5920
5901
|
};
|
|
5921
5902
|
}
|
|
@@ -5930,7 +5911,7 @@ function Xf(t, e) {
|
|
|
5930
5911
|
return { x: 0, y: 0 };
|
|
5931
5912
|
let n = t.length - 1, i = null;
|
|
5932
5913
|
const r = ll(t);
|
|
5933
|
-
for (; n >= 0 && (i = t[n], !(r.timestamp - i.timestamp > /* @__PURE__ */
|
|
5914
|
+
for (; n >= 0 && (i = t[n], !(r.timestamp - i.timestamp > /* @__PURE__ */ It(e))); )
|
|
5934
5915
|
n--;
|
|
5935
5916
|
if (!i)
|
|
5936
5917
|
return { x: 0, y: 0 };
|
|
@@ -5946,7 +5927,7 @@ function Xf(t, e) {
|
|
|
5946
5927
|
function Zf(t, { min: e, max: n }, i) {
|
|
5947
5928
|
return e !== void 0 && t < e ? t = i ? it(e, t, i.min) : Math.max(t, e) : n !== void 0 && t > n && (t = i ? it(n, t, i.max) : Math.min(t, n)), t;
|
|
5948
5929
|
}
|
|
5949
|
-
function
|
|
5930
|
+
function Oo(t, e, n) {
|
|
5950
5931
|
return {
|
|
5951
5932
|
min: e !== void 0 ? t.min + e : void 0,
|
|
5952
5933
|
max: n !== void 0 ? t.max + n - (t.max - t.min) : void 0
|
|
@@ -5954,24 +5935,24 @@ function Bo(t, e, n) {
|
|
|
5954
5935
|
}
|
|
5955
5936
|
function Jf(t, { top: e, left: n, bottom: i, right: r }) {
|
|
5956
5937
|
return {
|
|
5957
|
-
x:
|
|
5958
|
-
y:
|
|
5938
|
+
x: Oo(t.x, n, r),
|
|
5939
|
+
y: Oo(t.y, e, i)
|
|
5959
5940
|
};
|
|
5960
5941
|
}
|
|
5961
|
-
function
|
|
5942
|
+
function Bo(t, e) {
|
|
5962
5943
|
let n = e.min - t.min, i = e.max - t.max;
|
|
5963
5944
|
return e.max - e.min < t.max - t.min && ([n, i] = [i, n]), { min: n, max: i };
|
|
5964
5945
|
}
|
|
5965
5946
|
function Qf(t, e) {
|
|
5966
5947
|
return {
|
|
5967
|
-
x:
|
|
5968
|
-
y:
|
|
5948
|
+
x: Bo(t.x, e.x),
|
|
5949
|
+
y: Bo(t.y, e.y)
|
|
5969
5950
|
};
|
|
5970
5951
|
}
|
|
5971
5952
|
function tp(t, e) {
|
|
5972
5953
|
let n = 0.5;
|
|
5973
5954
|
const i = gt(t), r = gt(e);
|
|
5974
|
-
return r > i ? n = /* @__PURE__ */ ze(e.min, e.max - i, t.min) : i > r && (n = /* @__PURE__ */ ze(t.min, t.max - r, e.min)),
|
|
5955
|
+
return r > i ? n = /* @__PURE__ */ ze(e.min, e.max - i, t.min) : i > r && (n = /* @__PURE__ */ ze(t.min, t.max - r, e.min)), jt(0, 1, n);
|
|
5975
5956
|
}
|
|
5976
5957
|
function ep(t, e) {
|
|
5977
5958
|
const n = {};
|
|
@@ -5980,17 +5961,17 @@ function ep(t, e) {
|
|
|
5980
5961
|
const Pi = 0.35;
|
|
5981
5962
|
function np(t = Pi) {
|
|
5982
5963
|
return t === !1 ? t = 0 : t === !0 && (t = Pi), {
|
|
5983
|
-
x:
|
|
5984
|
-
y:
|
|
5964
|
+
x: $o(t, "left", "right"),
|
|
5965
|
+
y: $o(t, "top", "bottom")
|
|
5985
5966
|
};
|
|
5986
5967
|
}
|
|
5987
|
-
function
|
|
5968
|
+
function $o(t, e, n) {
|
|
5988
5969
|
return {
|
|
5989
|
-
min:
|
|
5990
|
-
max:
|
|
5970
|
+
min: Wo(t, e),
|
|
5971
|
+
max: Wo(t, n)
|
|
5991
5972
|
};
|
|
5992
5973
|
}
|
|
5993
|
-
function
|
|
5974
|
+
function Wo(t, e) {
|
|
5994
5975
|
return typeof t == "number" ? t : t[e] || 0;
|
|
5995
5976
|
}
|
|
5996
5977
|
const ip = /* @__PURE__ */ new WeakMap();
|
|
@@ -6011,7 +5992,7 @@ class rp {
|
|
|
6011
5992
|
return;
|
|
6012
5993
|
this.latestPointerEvent = h, this.latestPanInfo = f, this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), yt((y) => {
|
|
6013
5994
|
let T = this.getAxisMotionValue(y).get() || 0;
|
|
6014
|
-
if (
|
|
5995
|
+
if (Mt.test(T)) {
|
|
6015
5996
|
const { projection: k } = this.visualElement;
|
|
6016
5997
|
if (k && k.layout) {
|
|
6017
5998
|
const I = k.layout.layoutBox[y];
|
|
@@ -6082,13 +6063,13 @@ class rp {
|
|
|
6082
6063
|
}
|
|
6083
6064
|
resolveConstraints() {
|
|
6084
6065
|
const { dragConstraints: e, dragElastic: n } = this.getProps(), i = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : this.visualElement.projection?.layout, r = this.constraints;
|
|
6085
|
-
e &&
|
|
6066
|
+
e && Me(e) ? this.constraints || (this.constraints = this.resolveRefConstraints()) : e && i ? this.constraints = Jf(i.layoutBox, e) : this.constraints = !1, this.elastic = np(n), r !== this.constraints && i && this.constraints && !this.hasMutatedConstraints && yt((o) => {
|
|
6086
6067
|
this.constraints !== !1 && this.getAxisMotionValue(o) && (this.constraints[o] = ep(i.layoutBox[o], this.constraints[o]));
|
|
6087
6068
|
});
|
|
6088
6069
|
}
|
|
6089
6070
|
resolveRefConstraints() {
|
|
6090
6071
|
const { dragConstraints: e, onMeasureDragConstraints: n } = this.getProps();
|
|
6091
|
-
if (!e || !
|
|
6072
|
+
if (!e || !Me(e))
|
|
6092
6073
|
return !1;
|
|
6093
6074
|
const i = e.current;
|
|
6094
6075
|
zt(i !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.", "drag-constraints-ref");
|
|
@@ -6168,7 +6149,7 @@ class rp {
|
|
|
6168
6149
|
if (!this.visualElement.current)
|
|
6169
6150
|
return;
|
|
6170
6151
|
const { drag: e, dragConstraints: n } = this.getProps(), { projection: i } = this.visualElement;
|
|
6171
|
-
if (!
|
|
6152
|
+
if (!Me(n) || !i || !this.constraints)
|
|
6172
6153
|
return;
|
|
6173
6154
|
this.stopAnimation();
|
|
6174
6155
|
const r = { x: 0, y: 0 };
|
|
@@ -6196,7 +6177,7 @@ class rp {
|
|
|
6196
6177
|
c && u && !Sa(l.target) && this.start(l);
|
|
6197
6178
|
}), i = () => {
|
|
6198
6179
|
const { dragConstraints: l } = this.getProps();
|
|
6199
|
-
|
|
6180
|
+
Me(l) && l.current && (this.constraints = this.resolveRefConstraints());
|
|
6200
6181
|
}, { projection: r } = this.visualElement, o = r.addEventListener("measure", i);
|
|
6201
6182
|
r && !r.layout && (r.root && r.root.updateScroll(), r.updateLayout()), tt.read(i);
|
|
6202
6183
|
const s = Ne(window, "resize", () => this.scalePositionWithinConstraints()), a = r.addEventListener("didUpdate", (({ delta: l, hasLayoutChanged: c }) => {
|
|
@@ -6245,7 +6226,7 @@ class sp extends Ht {
|
|
|
6245
6226
|
this.removeGroupControls(), this.removeListeners();
|
|
6246
6227
|
}
|
|
6247
6228
|
}
|
|
6248
|
-
const
|
|
6229
|
+
const Uo = (t) => (e, n) => {
|
|
6249
6230
|
t && tt.postRender(() => t(e, n));
|
|
6250
6231
|
};
|
|
6251
6232
|
class ap extends Ht {
|
|
@@ -6261,8 +6242,8 @@ class ap extends Ht {
|
|
|
6261
6242
|
createPanHandlers() {
|
|
6262
6243
|
const { onPanSessionStart: e, onPanStart: n, onPan: i, onPanEnd: r } = this.node.getProps();
|
|
6263
6244
|
return {
|
|
6264
|
-
onSessionStart:
|
|
6265
|
-
onStart:
|
|
6245
|
+
onSessionStart: Uo(e),
|
|
6246
|
+
onStart: Uo(n),
|
|
6266
6247
|
onMove: i,
|
|
6267
6248
|
onEnd: (o, s) => {
|
|
6268
6249
|
delete this.session, r && tt.postRender(() => r(o, s));
|
|
@@ -6334,7 +6315,7 @@ const cp = {
|
|
|
6334
6315
|
MeasureLayout: cl
|
|
6335
6316
|
}
|
|
6336
6317
|
};
|
|
6337
|
-
function
|
|
6318
|
+
function Ho(t, e, n) {
|
|
6338
6319
|
const { props: i } = t;
|
|
6339
6320
|
t.animationState && i.whileHover && t.animationState.setActive("whileHover", n === "Start");
|
|
6340
6321
|
const r = "onHover" + n, o = i[r];
|
|
@@ -6343,7 +6324,7 @@ function Go(t, e, n) {
|
|
|
6343
6324
|
class up extends Ht {
|
|
6344
6325
|
mount() {
|
|
6345
6326
|
const { current: e } = this.node;
|
|
6346
|
-
e && (this.unmount = Hd(e, (n, i) => (
|
|
6327
|
+
e && (this.unmount = Hd(e, (n, i) => (Ho(this.node, i, "Start"), (r) => Ho(this.node, r, "End"))));
|
|
6347
6328
|
}
|
|
6348
6329
|
unmount() {
|
|
6349
6330
|
}
|
|
@@ -6370,7 +6351,7 @@ class dp extends Ht {
|
|
|
6370
6351
|
unmount() {
|
|
6371
6352
|
}
|
|
6372
6353
|
}
|
|
6373
|
-
function
|
|
6354
|
+
function Go(t, e, n) {
|
|
6374
6355
|
const { props: i } = t;
|
|
6375
6356
|
if (t.current instanceof HTMLButtonElement && t.current.disabled)
|
|
6376
6357
|
return;
|
|
@@ -6381,7 +6362,7 @@ function Ko(t, e, n) {
|
|
|
6381
6362
|
class hp extends Ht {
|
|
6382
6363
|
mount() {
|
|
6383
6364
|
const { current: e } = this.node;
|
|
6384
|
-
e && (this.unmount = Yd(e, (n, i) => (
|
|
6365
|
+
e && (this.unmount = Yd(e, (n, i) => (Go(this.node, i, "Start"), (r, { success: o }) => Go(this.node, r, o ? "End" : "Cancel")), { useGlobalTarget: this.node.props.globalTapTarget }));
|
|
6385
6366
|
}
|
|
6386
6367
|
unmount() {
|
|
6387
6368
|
}
|
|
@@ -6480,13 +6461,13 @@ function dl() {
|
|
|
6480
6461
|
for (var t, e, n = 0, i = "", r = arguments.length; n < r; n++) (t = arguments[n]) && (e = ul(t)) && (i && (i += " "), i += e);
|
|
6481
6462
|
return i;
|
|
6482
6463
|
}
|
|
6483
|
-
const
|
|
6464
|
+
const Ko = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, Yo = dl, kt = (t, e) => (n) => {
|
|
6484
6465
|
var i;
|
|
6485
|
-
if (e?.variants == null) return
|
|
6466
|
+
if (e?.variants == null) return Yo(t, n?.class, n?.className);
|
|
6486
6467
|
const { variants: r, defaultVariants: o } = e, s = Object.keys(r).map((c) => {
|
|
6487
6468
|
const u = n?.[c], h = o?.[c];
|
|
6488
6469
|
if (u === null) return null;
|
|
6489
|
-
const f =
|
|
6470
|
+
const f = Ko(u) || Ko(h);
|
|
6490
6471
|
return r[c][f];
|
|
6491
6472
|
}), a = n && Object.entries(n).reduce((c, u) => {
|
|
6492
6473
|
let [h, f] = u;
|
|
@@ -6508,7 +6489,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6508
6489
|
f
|
|
6509
6490
|
] : c;
|
|
6510
6491
|
}, []);
|
|
6511
|
-
return
|
|
6492
|
+
return Yo(t, s, l, n?.class, n?.className);
|
|
6512
6493
|
}, Sp = (t, e) => {
|
|
6513
6494
|
const n = new Array(t.length + e.length);
|
|
6514
6495
|
for (let i = 0; i < t.length; i++)
|
|
@@ -6523,7 +6504,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6523
6504
|
nextPart: t,
|
|
6524
6505
|
validators: e,
|
|
6525
6506
|
classGroupId: n
|
|
6526
|
-
}), wn = "-",
|
|
6507
|
+
}), wn = "-", qo = [], Tp = "arbitrary..", Pp = (t) => {
|
|
6527
6508
|
const e = Ap(t), {
|
|
6528
6509
|
conflictingClassGroups: n,
|
|
6529
6510
|
conflictingClassGroupModifiers: i
|
|
@@ -6538,9 +6519,9 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6538
6519
|
getConflictingClassGroupIds: (s, a) => {
|
|
6539
6520
|
if (a) {
|
|
6540
6521
|
const l = i[s], c = n[s];
|
|
6541
|
-
return l ? c ? Sp(c, l) : l : c ||
|
|
6522
|
+
return l ? c ? Sp(c, l) : l : c || qo;
|
|
6542
6523
|
}
|
|
6543
|
-
return n[s] ||
|
|
6524
|
+
return n[s] || qo;
|
|
6544
6525
|
}
|
|
6545
6526
|
};
|
|
6546
6527
|
}, fl = (t, e, n) => {
|
|
@@ -6640,7 +6621,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6640
6621
|
o in n ? n[o] = s : r(o, s);
|
|
6641
6622
|
}
|
|
6642
6623
|
};
|
|
6643
|
-
}, Ai = "!",
|
|
6624
|
+
}, Ai = "!", Xo = ":", Vp = [], Zo = (t, e, n, i, r) => ({
|
|
6644
6625
|
modifiers: t,
|
|
6645
6626
|
hasImportantModifier: e,
|
|
6646
6627
|
baseClassName: n,
|
|
@@ -6658,7 +6639,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6658
6639
|
for (let b = 0; b < u; b++) {
|
|
6659
6640
|
const g = r[b];
|
|
6660
6641
|
if (s === 0 && a === 0) {
|
|
6661
|
-
if (g ===
|
|
6642
|
+
if (g === Xo) {
|
|
6662
6643
|
o.push(r.slice(l, b)), l = b + 1;
|
|
6663
6644
|
continue;
|
|
6664
6645
|
}
|
|
@@ -6679,11 +6660,11 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6679
6660
|
h.startsWith(Ai) && (f = h.slice(1), p = !0)
|
|
6680
6661
|
);
|
|
6681
6662
|
const v = c && c > l ? c - l : void 0;
|
|
6682
|
-
return
|
|
6663
|
+
return Zo(o, p, f, v);
|
|
6683
6664
|
};
|
|
6684
6665
|
if (e) {
|
|
6685
|
-
const r = e +
|
|
6686
|
-
i = (s) => s.startsWith(r) ? o(s.slice(r.length)) :
|
|
6666
|
+
const r = e + Xo, o = i;
|
|
6667
|
+
i = (s) => s.startsWith(r) ? o(s.slice(r.length)) : Zo(Vp, !1, s, void 0, !0);
|
|
6687
6668
|
}
|
|
6688
6669
|
if (n) {
|
|
6689
6670
|
const r = i;
|
|
@@ -6783,15 +6764,15 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6783
6764
|
}, Up = [], lt = (t) => {
|
|
6784
6765
|
const e = (n) => n[t] || Up;
|
|
6785
6766
|
return e.isThemeGetter = !0, e;
|
|
6786
|
-
}, ml = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, vl = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Hp = /^\d+\/\d+$/, Gp = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Kp = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Yp = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, qp = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Xp = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,
|
|
6767
|
+
}, ml = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, vl = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Hp = /^\d+\/\d+$/, Gp = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Kp = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Yp = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, qp = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Xp = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ie = (t) => Hp.test(t), B = (t) => !!t && !Number.isNaN(Number(t)), Ft = (t) => !!t && Number.isInteger(Number(t)), Xn = (t) => t.endsWith("%") && B(t.slice(0, -1)), Lt = (t) => Gp.test(t), Zp = () => !0, Jp = (t) => (
|
|
6787
6768
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
6788
6769
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
6789
6770
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
6790
6771
|
Kp.test(t) && !Yp.test(t)
|
|
6791
|
-
), bl = () => !1, Qp = (t) => qp.test(t), tg = (t) => Xp.test(t), eg = (t) => !M(t) && !j(t), ng = (t) =>
|
|
6772
|
+
), bl = () => !1, Qp = (t) => qp.test(t), tg = (t) => Xp.test(t), eg = (t) => !M(t) && !j(t), ng = (t) => xe(t, wl, bl), M = (t) => ml.test(t), Kt = (t) => xe(t, kl, Jp), Zn = (t) => xe(t, ag, B), Jo = (t) => xe(t, yl, bl), ig = (t) => xe(t, xl, tg), Je = (t) => xe(t, Sl, Qp), j = (t) => vl.test(t), Pe = (t) => we(t, kl), rg = (t) => we(t, lg), Qo = (t) => we(t, yl), og = (t) => we(t, wl), sg = (t) => we(t, xl), Qe = (t) => we(t, Sl, !0), xe = (t, e, n) => {
|
|
6792
6773
|
const i = ml.exec(t);
|
|
6793
6774
|
return i ? i[1] ? e(i[1]) : n(i[2]) : !1;
|
|
6794
|
-
},
|
|
6775
|
+
}, we = (t, e, n = !1) => {
|
|
6795
6776
|
const i = vl.exec(t);
|
|
6796
6777
|
return i ? i[1] ? e(i[1]) : n : !1;
|
|
6797
6778
|
}, yl = (t) => t === "position" || t === "percentage", xl = (t) => t === "image" || t === "url", wl = (t) => t === "length" || t === "size" || t === "bg-size", kl = (t) => t === "length", ag = (t) => t === "number", lg = (t) => t === "family-name", Sl = (t) => t === "shadow", cg = () => {
|
|
@@ -6813,15 +6794,15 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6813
6794
|
"bottom-left",
|
|
6814
6795
|
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
6815
6796
|
"left-bottom"
|
|
6816
|
-
], E = () => [...I(), j, M], z = () => ["auto", "hidden", "clip", "visible", "scroll"], L = () => ["auto", "contain", "none"], w = () => [j, M, l], F = () => [
|
|
6797
|
+
], E = () => [...I(), j, M], z = () => ["auto", "hidden", "clip", "visible", "scroll"], L = () => ["auto", "contain", "none"], w = () => [j, M, l], F = () => [ie, "full", "auto", ...w()], $ = () => [Ft, "none", "subgrid", j, M], rt = () => ["auto", {
|
|
6817
6798
|
span: ["full", Ft, j, M]
|
|
6818
|
-
}, Ft, j, M], A = () => [Ft, "auto", j, M], K = () => ["auto", "min", "max", "fr", j, M], Z = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], O = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], q = () => ["auto", ...w()], C = () => [
|
|
6799
|
+
}, Ft, j, M], A = () => [Ft, "auto", j, M], K = () => ["auto", "min", "max", "fr", j, M], Z = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], O = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], q = () => ["auto", ...w()], C = () => [ie, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...w()], S = () => [t, j, M], Y = () => [...I(), Qo, Jo, {
|
|
6819
6800
|
position: [j, M]
|
|
6820
6801
|
}], ut = () => ["no-repeat", {
|
|
6821
6802
|
repeat: ["", "x", "y", "space", "round"]
|
|
6822
6803
|
}], x = () => ["auto", "cover", "contain", og, ng, {
|
|
6823
6804
|
size: [j, M]
|
|
6824
|
-
}], _ = () => [Xn,
|
|
6805
|
+
}], _ = () => [Xn, Pe, Kt], m = () => [
|
|
6825
6806
|
// Deprecated since Tailwind CSS v4.0.0
|
|
6826
6807
|
"",
|
|
6827
6808
|
"none",
|
|
@@ -6829,35 +6810,35 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6829
6810
|
c,
|
|
6830
6811
|
j,
|
|
6831
6812
|
M
|
|
6832
|
-
], P = () => ["", B,
|
|
6813
|
+
], P = () => ["", B, Pe, Kt], H = () => ["solid", "dashed", "dotted", "double"], X = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], D = () => [B, Xn, Qo, Jo], St = () => [
|
|
6833
6814
|
// Deprecated since Tailwind CSS v4.0.0
|
|
6834
6815
|
"",
|
|
6835
6816
|
"none",
|
|
6836
6817
|
v,
|
|
6837
6818
|
j,
|
|
6838
6819
|
M
|
|
6839
|
-
],
|
|
6820
|
+
], At = () => ["none", B, j, M], ne = () => ["none", B, j, M], Ln = () => [B, j, M], Ge = () => [ie, "full", ...w()];
|
|
6840
6821
|
return {
|
|
6841
6822
|
cacheSize: 500,
|
|
6842
6823
|
theme: {
|
|
6843
6824
|
animate: ["spin", "ping", "pulse", "bounce"],
|
|
6844
6825
|
aspect: ["video"],
|
|
6845
|
-
blur: [
|
|
6846
|
-
breakpoint: [
|
|
6826
|
+
blur: [Lt],
|
|
6827
|
+
breakpoint: [Lt],
|
|
6847
6828
|
color: [Zp],
|
|
6848
|
-
container: [
|
|
6849
|
-
"drop-shadow": [
|
|
6829
|
+
container: [Lt],
|
|
6830
|
+
"drop-shadow": [Lt],
|
|
6850
6831
|
ease: ["in", "out", "in-out"],
|
|
6851
6832
|
font: [eg],
|
|
6852
6833
|
"font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
|
|
6853
|
-
"inset-shadow": [
|
|
6834
|
+
"inset-shadow": [Lt],
|
|
6854
6835
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
|
|
6855
6836
|
perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
|
|
6856
|
-
radius: [
|
|
6857
|
-
shadow: [
|
|
6837
|
+
radius: [Lt],
|
|
6838
|
+
shadow: [Lt],
|
|
6858
6839
|
spacing: ["px", B],
|
|
6859
|
-
text: [
|
|
6860
|
-
"text-shadow": [
|
|
6840
|
+
text: [Lt],
|
|
6841
|
+
"text-shadow": [Lt],
|
|
6861
6842
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
|
|
6862
6843
|
},
|
|
6863
6844
|
classGroups: {
|
|
@@ -6869,7 +6850,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
6869
6850
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
6870
6851
|
*/
|
|
6871
6852
|
aspect: [{
|
|
6872
|
-
aspect: ["auto", "square",
|
|
6853
|
+
aspect: ["auto", "square", ie, M, j, g]
|
|
6873
6854
|
}],
|
|
6874
6855
|
/**
|
|
6875
6856
|
* Container
|
|
@@ -7092,7 +7073,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
7092
7073
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
7093
7074
|
*/
|
|
7094
7075
|
basis: [{
|
|
7095
|
-
basis: [
|
|
7076
|
+
basis: [ie, "full", "auto", a, ...w()]
|
|
7096
7077
|
}],
|
|
7097
7078
|
/**
|
|
7098
7079
|
* Flex Direction
|
|
@@ -7113,7 +7094,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
7113
7094
|
* @see https://tailwindcss.com/docs/flex
|
|
7114
7095
|
*/
|
|
7115
7096
|
flex: [{
|
|
7116
|
-
flex: [B,
|
|
7097
|
+
flex: [B, ie, "auto", "initial", "none", M]
|
|
7117
7098
|
}],
|
|
7118
7099
|
/**
|
|
7119
7100
|
* Flex Grow
|
|
@@ -7529,7 +7510,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
7529
7510
|
* @see https://tailwindcss.com/docs/font-size
|
|
7530
7511
|
*/
|
|
7531
7512
|
"font-size": [{
|
|
7532
|
-
text: ["base", n,
|
|
7513
|
+
text: ["base", n, Pe, Kt]
|
|
7533
7514
|
}],
|
|
7534
7515
|
/**
|
|
7535
7516
|
* Font Smoothing
|
|
@@ -8164,7 +8145,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
8164
8145
|
* @see https://tailwindcss.com/docs/outline-width
|
|
8165
8146
|
*/
|
|
8166
8147
|
"outline-w": [{
|
|
8167
|
-
outline: ["", B,
|
|
8148
|
+
outline: ["", B, Pe, Kt]
|
|
8168
8149
|
}],
|
|
8169
8150
|
/**
|
|
8170
8151
|
* Outline Color
|
|
@@ -8783,56 +8764,56 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
8783
8764
|
* @see https://tailwindcss.com/docs/rotate
|
|
8784
8765
|
*/
|
|
8785
8766
|
rotate: [{
|
|
8786
|
-
rotate:
|
|
8767
|
+
rotate: At()
|
|
8787
8768
|
}],
|
|
8788
8769
|
/**
|
|
8789
8770
|
* Rotate X
|
|
8790
8771
|
* @see https://tailwindcss.com/docs/rotate
|
|
8791
8772
|
*/
|
|
8792
8773
|
"rotate-x": [{
|
|
8793
|
-
"rotate-x":
|
|
8774
|
+
"rotate-x": At()
|
|
8794
8775
|
}],
|
|
8795
8776
|
/**
|
|
8796
8777
|
* Rotate Y
|
|
8797
8778
|
* @see https://tailwindcss.com/docs/rotate
|
|
8798
8779
|
*/
|
|
8799
8780
|
"rotate-y": [{
|
|
8800
|
-
"rotate-y":
|
|
8781
|
+
"rotate-y": At()
|
|
8801
8782
|
}],
|
|
8802
8783
|
/**
|
|
8803
8784
|
* Rotate Z
|
|
8804
8785
|
* @see https://tailwindcss.com/docs/rotate
|
|
8805
8786
|
*/
|
|
8806
8787
|
"rotate-z": [{
|
|
8807
|
-
"rotate-z":
|
|
8788
|
+
"rotate-z": At()
|
|
8808
8789
|
}],
|
|
8809
8790
|
/**
|
|
8810
8791
|
* Scale
|
|
8811
8792
|
* @see https://tailwindcss.com/docs/scale
|
|
8812
8793
|
*/
|
|
8813
8794
|
scale: [{
|
|
8814
|
-
scale:
|
|
8795
|
+
scale: ne()
|
|
8815
8796
|
}],
|
|
8816
8797
|
/**
|
|
8817
8798
|
* Scale X
|
|
8818
8799
|
* @see https://tailwindcss.com/docs/scale
|
|
8819
8800
|
*/
|
|
8820
8801
|
"scale-x": [{
|
|
8821
|
-
"scale-x":
|
|
8802
|
+
"scale-x": ne()
|
|
8822
8803
|
}],
|
|
8823
8804
|
/**
|
|
8824
8805
|
* Scale Y
|
|
8825
8806
|
* @see https://tailwindcss.com/docs/scale
|
|
8826
8807
|
*/
|
|
8827
8808
|
"scale-y": [{
|
|
8828
|
-
"scale-y":
|
|
8809
|
+
"scale-y": ne()
|
|
8829
8810
|
}],
|
|
8830
8811
|
/**
|
|
8831
8812
|
* Scale Z
|
|
8832
8813
|
* @see https://tailwindcss.com/docs/scale
|
|
8833
8814
|
*/
|
|
8834
8815
|
"scale-z": [{
|
|
8835
|
-
"scale-z":
|
|
8816
|
+
"scale-z": ne()
|
|
8836
8817
|
}],
|
|
8837
8818
|
/**
|
|
8838
8819
|
* Scale 3D
|
|
@@ -9189,7 +9170,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
9189
9170
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
9190
9171
|
*/
|
|
9191
9172
|
"stroke-w": [{
|
|
9192
|
-
stroke: [B,
|
|
9173
|
+
stroke: [B, Pe, Kt, Zn]
|
|
9193
9174
|
}],
|
|
9194
9175
|
/**
|
|
9195
9176
|
* Stroke
|
|
@@ -9268,7 +9249,7 @@ const Yo = (t) => typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t, qo = dl, k
|
|
|
9268
9249
|
function J(...t) {
|
|
9269
9250
|
return ug(dl(t));
|
|
9270
9251
|
}
|
|
9271
|
-
const
|
|
9252
|
+
const ts = kt(
|
|
9272
9253
|
// Base styles
|
|
9273
9254
|
[
|
|
9274
9255
|
"inline-flex items-center justify-center",
|
|
@@ -9337,7 +9318,7 @@ const es = kt(
|
|
|
9337
9318
|
U.kbd,
|
|
9338
9319
|
{
|
|
9339
9320
|
ref: l,
|
|
9340
|
-
className: J(
|
|
9321
|
+
className: J(ts({ variant: e, size: n }), t),
|
|
9341
9322
|
style: c,
|
|
9342
9323
|
initial: "hidden",
|
|
9343
9324
|
animate: "visible",
|
|
@@ -9350,7 +9331,7 @@ const es = kt(
|
|
|
9350
9331
|
U.kbd,
|
|
9351
9332
|
{
|
|
9352
9333
|
ref: l,
|
|
9353
|
-
className: J(
|
|
9334
|
+
className: J(ts({ variant: e, size: n }), t),
|
|
9354
9335
|
style: c,
|
|
9355
9336
|
...a,
|
|
9356
9337
|
children: i
|
|
@@ -9359,7 +9340,7 @@ const es = kt(
|
|
|
9359
9340
|
}
|
|
9360
9341
|
);
|
|
9361
9342
|
Oe.displayName = "Kbd";
|
|
9362
|
-
const
|
|
9343
|
+
const es = kt(
|
|
9363
9344
|
// Base styles
|
|
9364
9345
|
"inline-flex items-center justify-center font-semibold transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
9365
9346
|
{
|
|
@@ -9413,14 +9394,14 @@ function kn({
|
|
|
9413
9394
|
return r ? /* @__PURE__ */ d.jsx(
|
|
9414
9395
|
"span",
|
|
9415
9396
|
{
|
|
9416
|
-
className: J(
|
|
9397
|
+
className: J(es({ variant: e, size: n }), t),
|
|
9417
9398
|
style: a,
|
|
9418
9399
|
children: i
|
|
9419
9400
|
}
|
|
9420
9401
|
) : /* @__PURE__ */ d.jsx(
|
|
9421
9402
|
U.span,
|
|
9422
9403
|
{
|
|
9423
|
-
className: J(
|
|
9404
|
+
className: J(es({ variant: e, size: n }), t),
|
|
9424
9405
|
style: a,
|
|
9425
9406
|
variants: Tl,
|
|
9426
9407
|
initial: "initial",
|
|
@@ -9549,7 +9530,7 @@ function tn({
|
|
|
9549
9530
|
}
|
|
9550
9531
|
);
|
|
9551
9532
|
}
|
|
9552
|
-
function
|
|
9533
|
+
function ns(t, e) {
|
|
9553
9534
|
if (typeof t == "function")
|
|
9554
9535
|
return t(e);
|
|
9555
9536
|
t != null && (t.current = e);
|
|
@@ -9558,14 +9539,14 @@ function hg(...t) {
|
|
|
9558
9539
|
return (e) => {
|
|
9559
9540
|
let n = !1;
|
|
9560
9541
|
const i = t.map((r) => {
|
|
9561
|
-
const o =
|
|
9542
|
+
const o = ns(r, e);
|
|
9562
9543
|
return !n && typeof o == "function" && (n = !0), o;
|
|
9563
9544
|
});
|
|
9564
9545
|
if (n)
|
|
9565
9546
|
return () => {
|
|
9566
9547
|
for (let r = 0; r < i.length; r++) {
|
|
9567
9548
|
const o = i[r];
|
|
9568
|
-
typeof o == "function" ? o() :
|
|
9549
|
+
typeof o == "function" ? o() : ns(t[r], null);
|
|
9569
9550
|
}
|
|
9570
9551
|
};
|
|
9571
9552
|
};
|
|
@@ -10007,7 +9988,7 @@ const Rg = kt(
|
|
|
10007
9988
|
}
|
|
10008
9989
|
);
|
|
10009
9990
|
Ig.displayName = "Input";
|
|
10010
|
-
const
|
|
9991
|
+
const is = kt(
|
|
10011
9992
|
// Base styles using CSS variables
|
|
10012
9993
|
[
|
|
10013
9994
|
"relative",
|
|
@@ -10083,7 +10064,7 @@ const rs = kt(
|
|
|
10083
10064
|
{
|
|
10084
10065
|
ref: s,
|
|
10085
10066
|
className: J(
|
|
10086
|
-
|
|
10067
|
+
is({ variant: e }),
|
|
10087
10068
|
n && "cursor-pointer",
|
|
10088
10069
|
t
|
|
10089
10070
|
),
|
|
@@ -10100,7 +10081,7 @@ const rs = kt(
|
|
|
10100
10081
|
"div",
|
|
10101
10082
|
{
|
|
10102
10083
|
ref: s,
|
|
10103
|
-
className: J(
|
|
10084
|
+
className: J(is({ variant: e }), t),
|
|
10104
10085
|
...o,
|
|
10105
10086
|
children: r
|
|
10106
10087
|
}
|
|
@@ -10197,7 +10178,7 @@ const Fg = kt(
|
|
|
10197
10178
|
bordered: !0
|
|
10198
10179
|
}
|
|
10199
10180
|
}
|
|
10200
|
-
),
|
|
10181
|
+
), rs = {
|
|
10201
10182
|
hidden: {
|
|
10202
10183
|
opacity: 0,
|
|
10203
10184
|
scale: 0.96,
|
|
@@ -10266,7 +10247,7 @@ const Rl = W.forwardRef(
|
|
|
10266
10247
|
initial: "hidden",
|
|
10267
10248
|
animate: "visible",
|
|
10268
10249
|
exit: "exit",
|
|
10269
|
-
variants:
|
|
10250
|
+
variants: rs,
|
|
10270
10251
|
transition: s,
|
|
10271
10252
|
...u,
|
|
10272
10253
|
children: r
|
|
@@ -10279,7 +10260,7 @@ const Rl = W.forwardRef(
|
|
|
10279
10260
|
style: f,
|
|
10280
10261
|
initial: "hidden",
|
|
10281
10262
|
animate: "visible",
|
|
10282
|
-
variants:
|
|
10263
|
+
variants: rs,
|
|
10283
10264
|
transition: s,
|
|
10284
10265
|
...u,
|
|
10285
10266
|
children: r
|
|
@@ -10338,7 +10319,7 @@ function Og() {
|
|
|
10338
10319
|
}
|
|
10339
10320
|
if ((s.metaKey || s.ctrlKey) && s.shiftKey && s.key === "C") {
|
|
10340
10321
|
s.preventDefault();
|
|
10341
|
-
const a =
|
|
10322
|
+
const a = de();
|
|
10342
10323
|
if (!a) return;
|
|
10343
10324
|
const l = mt.getAllToolbarActionGroups();
|
|
10344
10325
|
for (const c of l) {
|
|
@@ -10352,7 +10333,7 @@ function Og() {
|
|
|
10352
10333
|
}
|
|
10353
10334
|
if ((s.metaKey || s.ctrlKey) && s.shiftKey && s.key === "R") {
|
|
10354
10335
|
s.preventDefault();
|
|
10355
|
-
const a =
|
|
10336
|
+
const a = de();
|
|
10356
10337
|
if (!a) return;
|
|
10357
10338
|
const l = mt.getAllToolbarActionGroups();
|
|
10358
10339
|
for (const c of l) {
|
|
@@ -10419,7 +10400,7 @@ function Bg(t) {
|
|
|
10419
10400
|
window.removeEventListener("scroll", a), window.removeEventListener("resize", a), i.current?.disconnect(), r.current?.disconnect(), o.current && cancelAnimationFrame(o.current);
|
|
10420
10401
|
}), [s, a]), e;
|
|
10421
10402
|
}
|
|
10422
|
-
const
|
|
10403
|
+
const os = "ws://localhost:9234", Qn = 5, $g = 1e3;
|
|
10423
10404
|
class Wg {
|
|
10424
10405
|
/**
|
|
10425
10406
|
* Create a new WebSocket service instance
|
|
@@ -10439,7 +10420,7 @@ class Wg {
|
|
|
10439
10420
|
_setTimeout;
|
|
10440
10421
|
_clearTimeout;
|
|
10441
10422
|
isConnected = !1;
|
|
10442
|
-
url =
|
|
10423
|
+
url = os;
|
|
10443
10424
|
/**
|
|
10444
10425
|
* Connect to the WebSocket server
|
|
10445
10426
|
* @param url - Optional URL to connect to (defaults to DEFAULT_WS_URL)
|
|
@@ -10450,7 +10431,7 @@ class Wg {
|
|
|
10450
10431
|
return;
|
|
10451
10432
|
}
|
|
10452
10433
|
if (!(this.ws && this.isConnected && (!e || e === this.url))) {
|
|
10453
|
-
this.ws && (this.intentionalDisconnect = !0, this.ws.close()), this.url = e ??
|
|
10434
|
+
this.ws && (this.intentionalDisconnect = !0, this.ws.close()), this.url = e ?? os, this.intentionalDisconnect = !1;
|
|
10454
10435
|
try {
|
|
10455
10436
|
this.ws = this.createWebSocket(this.url), this.setupEventHandlers();
|
|
10456
10437
|
} catch (n) {
|
|
@@ -10684,16 +10665,16 @@ function Xg({
|
|
|
10684
10665
|
}
|
|
10685
10666
|
function Zg() {
|
|
10686
10667
|
const [, t] = st(0);
|
|
10687
|
-
G(() =>
|
|
10668
|
+
G(() => Et.subscribe(() => {
|
|
10688
10669
|
t((l) => l + 1);
|
|
10689
10670
|
}), []);
|
|
10690
|
-
const e = Q(() =>
|
|
10691
|
-
(l) =>
|
|
10692
|
-
), [t]), i = V(async (a) =>
|
|
10693
|
-
(a, l) =>
|
|
10671
|
+
const e = Q(() => Et.getCategoryTree(), [t]), n = Q(() => Et.getAllProviders().some(
|
|
10672
|
+
(l) => Et.getLoadingState(l.id) === "loading"
|
|
10673
|
+
), [t]), i = V(async (a) => Et.loadItems(a), []), r = V((a) => Et.getCachedItems(a), []), o = V(
|
|
10674
|
+
(a, l) => Et.searchItems(a, l),
|
|
10694
10675
|
[]
|
|
10695
10676
|
), s = V((a) => {
|
|
10696
|
-
|
|
10677
|
+
Et.invalidate(a);
|
|
10697
10678
|
}, []);
|
|
10698
10679
|
return {
|
|
10699
10680
|
categoryTree: e,
|
|
@@ -10712,7 +10693,7 @@ const en = {
|
|
|
10712
10693
|
function Ml(t) {
|
|
10713
10694
|
return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia(t);
|
|
10714
10695
|
}
|
|
10715
|
-
function
|
|
10696
|
+
function ss() {
|
|
10716
10697
|
if (typeof window > "u")
|
|
10717
10698
|
return {
|
|
10718
10699
|
isMobile: !1,
|
|
@@ -10729,8 +10710,8 @@ function as() {
|
|
|
10729
10710
|
};
|
|
10730
10711
|
}
|
|
10731
10712
|
function bt() {
|
|
10732
|
-
const [t, e] = st(
|
|
10733
|
-
e(
|
|
10713
|
+
const [t, e] = st(ss), n = V(() => {
|
|
10714
|
+
e(ss());
|
|
10734
10715
|
}, []);
|
|
10735
10716
|
return G(() => {
|
|
10736
10717
|
if (typeof window > "u") return;
|
|
@@ -10760,7 +10741,7 @@ function Qg(t, e) {
|
|
|
10760
10741
|
return t;
|
|
10761
10742
|
}
|
|
10762
10743
|
}
|
|
10763
|
-
const
|
|
10744
|
+
const ue = 36, ei = 18, tm = 8;
|
|
10764
10745
|
function dn(t, e) {
|
|
10765
10746
|
return {
|
|
10766
10747
|
...mr("medium", t ? "lg" : "md", !1),
|
|
@@ -10812,10 +10793,10 @@ function im({ group: t, state: e, onActionClick: n }) {
|
|
|
10812
10793
|
onClick: a,
|
|
10813
10794
|
title: t.tooltip,
|
|
10814
10795
|
style: dn(!1, {
|
|
10815
|
-
height:
|
|
10796
|
+
height: ue,
|
|
10816
10797
|
padding: "0 10px",
|
|
10817
10798
|
border: "none",
|
|
10818
|
-
borderRadius:
|
|
10799
|
+
borderRadius: ue / 2,
|
|
10819
10800
|
borderLeft: "1px solid var(--uilint-glass-border-light, rgba(255, 255, 255, 0.8))",
|
|
10820
10801
|
borderRight: "1px solid var(--uilint-glass-border, rgba(255, 255, 255, 0.5))",
|
|
10821
10802
|
cursor: "pointer",
|
|
@@ -10844,7 +10825,7 @@ function im({ group: t, state: e, onActionClick: n }) {
|
|
|
10844
10825
|
{
|
|
10845
10826
|
style: {
|
|
10846
10827
|
position: "absolute",
|
|
10847
|
-
top:
|
|
10828
|
+
top: ue + 6,
|
|
10848
10829
|
right: 0,
|
|
10849
10830
|
minWidth: 220,
|
|
10850
10831
|
background: "var(--uilint-glass-heavy, rgba(255, 255, 255, 0.92))",
|
|
@@ -10921,7 +10902,7 @@ function rm() {
|
|
|
10921
10902
|
return S.forEach((ut) => {
|
|
10922
10903
|
Y += ut.length;
|
|
10923
10904
|
}), Y;
|
|
10924
|
-
}), [s, a] =
|
|
10905
|
+
}), [s, a] = xs(Qg, Jg), { isDragging: l, isHovered: c, dragOffset: u, hasInteracted: h } = s, { isMobile: f, isTouchDevice: p } = bt(), v = et(null);
|
|
10925
10906
|
G(() => {
|
|
10926
10907
|
e && !h && a({ type: "SET_INTERACTED" });
|
|
10927
10908
|
}, [e, h]);
|
|
@@ -10944,7 +10925,7 @@ function rm() {
|
|
|
10944
10925
|
if (!l) return;
|
|
10945
10926
|
const S = Math.max(0, Math.min(window.innerWidth - 300, C.clientX - u.x)), Y = Math.max(
|
|
10946
10927
|
0,
|
|
10947
|
-
Math.min(window.innerHeight -
|
|
10928
|
+
Math.min(window.innerHeight - ue - ei, C.clientY - u.y)
|
|
10948
10929
|
);
|
|
10949
10930
|
i({ x: S, y: Y });
|
|
10950
10931
|
},
|
|
@@ -10954,7 +10935,7 @@ function rm() {
|
|
|
10954
10935
|
if (!l || C.touches.length !== 1) return;
|
|
10955
10936
|
const S = C.touches[0], Y = Math.max(0, Math.min(window.innerWidth - 300, S.clientX - u.x)), ut = Math.max(
|
|
10956
10937
|
0,
|
|
10957
|
-
Math.min(window.innerHeight -
|
|
10938
|
+
Math.min(window.innerHeight - ue - ei, S.clientY - u.y)
|
|
10958
10939
|
);
|
|
10959
10940
|
i({ x: Y, y: ut }), C.preventDefault();
|
|
10960
10941
|
},
|
|
@@ -10973,13 +10954,13 @@ function rm() {
|
|
|
10973
10954
|
const rt = V(() => {
|
|
10974
10955
|
l || t();
|
|
10975
10956
|
}, [l, t]), A = V((C) => {
|
|
10976
|
-
const S =
|
|
10957
|
+
const S = de();
|
|
10977
10958
|
S && C.onClick(S);
|
|
10978
10959
|
}, []), K = document.getElementById("uilint-portal") || document.body;
|
|
10979
10960
|
if (e)
|
|
10980
10961
|
return null;
|
|
10981
|
-
const Z = !h && !c && !p, O = f ? 44 :
|
|
10982
|
-
return
|
|
10962
|
+
const Z = !h && !c && !p, O = f ? 44 : ue, q = o > 0;
|
|
10963
|
+
return ge(
|
|
10983
10964
|
/* @__PURE__ */ d.jsxs(
|
|
10984
10965
|
"div",
|
|
10985
10966
|
{
|
|
@@ -11335,7 +11316,7 @@ function cm() {
|
|
|
11335
11316
|
if (!r || r.size === 0)
|
|
11336
11317
|
return null;
|
|
11337
11318
|
const a = document.getElementById("uilint-portal") || document.body;
|
|
11338
|
-
return
|
|
11319
|
+
return ge(
|
|
11339
11320
|
/* @__PURE__ */ d.jsx(
|
|
11340
11321
|
"div",
|
|
11341
11322
|
{
|
|
@@ -11800,7 +11781,7 @@ function xm({ fileName: t, directory: e, count: n }) {
|
|
|
11800
11781
|
/* @__PURE__ */ d.jsx("span", { className: "text-xs font-medium text-muted-foreground bg-hover px-1.5 py-0.5 rounded-full", children: n })
|
|
11801
11782
|
] });
|
|
11802
11783
|
}
|
|
11803
|
-
const zl =
|
|
11784
|
+
const zl = ee(null);
|
|
11804
11785
|
function wm(t) {
|
|
11805
11786
|
const e = et(/* @__PURE__ */ new Map());
|
|
11806
11787
|
return G(() => {
|
|
@@ -12015,7 +11996,7 @@ function Cm({
|
|
|
12015
11996
|
);
|
|
12016
11997
|
}
|
|
12017
11998
|
const br = [0.32, 0.72, 0, 1];
|
|
12018
|
-
function
|
|
11999
|
+
function fe({
|
|
12019
12000
|
children: t,
|
|
12020
12001
|
index: e,
|
|
12021
12002
|
layoutId: n,
|
|
@@ -12453,7 +12434,7 @@ function Vm({
|
|
|
12453
12434
|
]
|
|
12454
12435
|
}
|
|
12455
12436
|
);
|
|
12456
|
-
return r ? /* @__PURE__ */ d.jsx(
|
|
12437
|
+
return r ? /* @__PURE__ */ d.jsx(fe, { index: i, children: /* @__PURE__ */ d.jsx(Be, { isSelected: e, variant: "command", resultIndex: i, children: a }) }) : /* @__PURE__ */ d.jsx(fe, { index: i, children: /* @__PURE__ */ d.jsx(Be, { isSelected: e, variant: "command", resultIndex: i, children: /* @__PURE__ */ d.jsx(
|
|
12457
12438
|
U.div,
|
|
12458
12439
|
{
|
|
12459
12440
|
whileHover: { x: 2 },
|
|
@@ -12510,7 +12491,7 @@ function _m({
|
|
|
12510
12491
|
]
|
|
12511
12492
|
}
|
|
12512
12493
|
);
|
|
12513
|
-
return r ? /* @__PURE__ */ d.jsx(
|
|
12494
|
+
return r ? /* @__PURE__ */ d.jsx(fe, { index: i, children: /* @__PURE__ */ d.jsx(Be, { isSelected: e, variant: "issue", resultIndex: i, children: o }) }) : /* @__PURE__ */ d.jsx(fe, { index: i, children: /* @__PURE__ */ d.jsx(Be, { isSelected: e, variant: "issue", resultIndex: i, children: /* @__PURE__ */ d.jsx(
|
|
12514
12495
|
U.div,
|
|
12515
12496
|
{
|
|
12516
12497
|
whileHover: { x: 2 },
|
|
@@ -12592,8 +12573,8 @@ function Fm() {
|
|
|
12592
12573
|
P.set(H.filePath, [...X, H]);
|
|
12593
12574
|
}
|
|
12594
12575
|
for (const [H, X] of P) {
|
|
12595
|
-
const D = H.split("/"), St = D.pop() || H,
|
|
12596
|
-
m.push({ filePath: H, fileName: St, directory:
|
|
12576
|
+
const D = H.split("/"), St = D.pop() || H, At = D.join("/");
|
|
12577
|
+
m.push({ filePath: H, fileName: St, directory: At, issues: X });
|
|
12597
12578
|
}
|
|
12598
12579
|
return m;
|
|
12599
12580
|
}, [L]), K = Q(() => {
|
|
@@ -12628,7 +12609,7 @@ function Fm() {
|
|
|
12628
12609
|
},
|
|
12629
12610
|
[s, i]
|
|
12630
12611
|
), O = V(async (m) => {
|
|
12631
|
-
const P =
|
|
12612
|
+
const P = de();
|
|
12632
12613
|
if (!P) {
|
|
12633
12614
|
console.error("[CommandPalette] Plugin services not available");
|
|
12634
12615
|
return;
|
|
@@ -12640,7 +12621,7 @@ function Fm() {
|
|
|
12640
12621
|
}
|
|
12641
12622
|
}, []), q = V(async (m) => {
|
|
12642
12623
|
if (!m.execute) return;
|
|
12643
|
-
const P =
|
|
12624
|
+
const P = de();
|
|
12644
12625
|
if (!P) {
|
|
12645
12626
|
console.error("[CommandPalette] Plugin services not available");
|
|
12646
12627
|
return;
|
|
@@ -12690,7 +12671,7 @@ function Fm() {
|
|
|
12690
12671
|
t || (l(""), u(0));
|
|
12691
12672
|
}, [t]);
|
|
12692
12673
|
const x = document.getElementById("uilint-portal") || document.body, _ = I.length;
|
|
12693
|
-
return
|
|
12674
|
+
return ge(
|
|
12694
12675
|
/* @__PURE__ */ d.jsx(_t, { children: t && /* @__PURE__ */ d.jsx(
|
|
12695
12676
|
U.div,
|
|
12696
12677
|
{
|
|
@@ -12902,7 +12883,7 @@ function Fm() {
|
|
|
12902
12883
|
for (let X = 0; X < P; X++)
|
|
12903
12884
|
H += A[X].issues.length;
|
|
12904
12885
|
return /* @__PURE__ */ d.jsxs(
|
|
12905
|
-
|
|
12886
|
+
fe,
|
|
12906
12887
|
{
|
|
12907
12888
|
index: I.length + P,
|
|
12908
12889
|
children: [
|
|
@@ -12940,7 +12921,7 @@ function Fm() {
|
|
|
12940
12921
|
E && $.length > 0 && /* @__PURE__ */ d.jsxs(d.Fragment, { children: [
|
|
12941
12922
|
/* @__PURE__ */ d.jsx(nn, { count: $.length, children: "Rules" }),
|
|
12942
12923
|
$.map((m, P) => /* @__PURE__ */ d.jsx(
|
|
12943
|
-
|
|
12924
|
+
fe,
|
|
12944
12925
|
{
|
|
12945
12926
|
index: I.length + L.length + P,
|
|
12946
12927
|
children: /* @__PURE__ */ d.jsx(
|
|
@@ -13305,7 +13286,7 @@ function Um({ dataLoc: t, onSelectIssue: e }) {
|
|
|
13305
13286
|
}, children: t })
|
|
13306
13287
|
] });
|
|
13307
13288
|
}
|
|
13308
|
-
function
|
|
13289
|
+
function as({
|
|
13309
13290
|
direction: t,
|
|
13310
13291
|
onResize: e,
|
|
13311
13292
|
onResizeEnd: n
|
|
@@ -13374,7 +13355,7 @@ function ls({
|
|
|
13374
13355
|
}
|
|
13375
13356
|
);
|
|
13376
13357
|
}
|
|
13377
|
-
const
|
|
13358
|
+
const ls = 320, cs = 800, rn = 450, us = 500;
|
|
13378
13359
|
function Hm() {
|
|
13379
13360
|
const t = N((A) => A.inspector.open), e = N((A) => A.inspector.panelId), n = N((A) => A.inspector.data), i = N((A) => A.inspector.docked), r = N((A) => A.inspector.width), o = N((A) => A.inspector.floatingPosition), s = N((A) => A.inspector.floatingSize), a = N((A) => A.closeInspector), l = N((A) => A.openInspector), c = N((A) => A.toggleInspectorDocked), u = N((A) => A.setInspectorWidth), h = N((A) => A.setInspectorFloatingPosition), f = N((A) => A.setInspectorFloatingSize), [p, v] = st(!1), { isMobile: b } = bt(), g = et(null), y = Q(() => mt.getAllInspectorPanels(), []), T = V((A) => {
|
|
13380
13361
|
l("issue", { issue: A });
|
|
@@ -13382,7 +13363,7 @@ function Hm() {
|
|
|
13382
13363
|
let A = null, K = "Inspector";
|
|
13383
13364
|
const Z = y.find((O) => O.id === e);
|
|
13384
13365
|
if (Z) {
|
|
13385
|
-
const O =
|
|
13366
|
+
const O = de(), q = Z.component, C = n ?? void 0;
|
|
13386
13367
|
K = typeof Z.title == "function" ? Z.title({ data: C, services: O }) : Z.title, A = O ? /* @__PURE__ */ d.jsx(q, { data: C, services: O }) : /* @__PURE__ */ d.jsx("div", { style: { padding: 16, color: "var(--uilint-text-muted)", textAlign: "center" }, children: "Loading..." });
|
|
13387
13368
|
} else e === "issue" && n?.issue ? (K = "Issue Details", A = /* @__PURE__ */ d.jsx(Wm, { issue: n.issue })) : e === "element" && n?.dataLoc ? (K = "Element Issues", A = /* @__PURE__ */ d.jsx(
|
|
13388
13369
|
Um,
|
|
@@ -13406,13 +13387,13 @@ function Hm() {
|
|
|
13406
13387
|
}, [p, t, i, r]);
|
|
13407
13388
|
const E = V(
|
|
13408
13389
|
(A) => {
|
|
13409
|
-
const K = Math.min(
|
|
13390
|
+
const K = Math.min(cs, Math.max(ls, r - A));
|
|
13410
13391
|
u(K);
|
|
13411
13392
|
},
|
|
13412
13393
|
[r, u]
|
|
13413
13394
|
), z = V(
|
|
13414
13395
|
(A, K) => {
|
|
13415
|
-
const Z = s ?? { width: rn, height:
|
|
13396
|
+
const Z = s ?? { width: rn, height: us }, O = Math.min(cs, Math.max(ls, Z.width + A)), q = Math.max(300, Z.height + K);
|
|
13416
13397
|
f({ width: O, height: q });
|
|
13417
13398
|
},
|
|
13418
13399
|
[s, f]
|
|
@@ -13510,7 +13491,7 @@ function Hm() {
|
|
|
13510
13491
|
]
|
|
13511
13492
|
}
|
|
13512
13493
|
), rt = mr("heavy", "none", !1);
|
|
13513
|
-
return
|
|
13494
|
+
return ge(
|
|
13514
13495
|
/* @__PURE__ */ d.jsxs(_t, { children: [
|
|
13515
13496
|
t && i && // Docked mode - fixed to right edge
|
|
13516
13497
|
/* @__PURE__ */ d.jsxs(
|
|
@@ -13540,7 +13521,7 @@ function Hm() {
|
|
|
13540
13521
|
},
|
|
13541
13522
|
children: [
|
|
13542
13523
|
/* @__PURE__ */ d.jsx(
|
|
13543
|
-
|
|
13524
|
+
as,
|
|
13544
13525
|
{
|
|
13545
13526
|
direction: "horizontal",
|
|
13546
13527
|
onResize: (A) => E(A)
|
|
@@ -13581,7 +13562,7 @@ function Hm() {
|
|
|
13581
13562
|
left: o?.x ?? window.innerWidth - rn - 20,
|
|
13582
13563
|
top: o?.y ?? 80,
|
|
13583
13564
|
width: s?.width ?? rn,
|
|
13584
|
-
height: s?.height ??
|
|
13565
|
+
height: s?.height ?? us,
|
|
13585
13566
|
...rt,
|
|
13586
13567
|
border: "1px solid var(--uilint-glass-border)",
|
|
13587
13568
|
borderRadius: 12,
|
|
@@ -13601,7 +13582,7 @@ function Hm() {
|
|
|
13601
13582
|
paddingBottom: b ? "env(safe-area-inset-bottom, 0px)" : void 0
|
|
13602
13583
|
}, children: k }),
|
|
13603
13584
|
!b && /* @__PURE__ */ d.jsx(
|
|
13604
|
-
|
|
13585
|
+
as,
|
|
13605
13586
|
{
|
|
13606
13587
|
direction: "corner",
|
|
13607
13588
|
onResize: z
|
|
@@ -13615,7 +13596,7 @@ function Hm() {
|
|
|
13615
13596
|
F
|
|
13616
13597
|
);
|
|
13617
13598
|
}
|
|
13618
|
-
const
|
|
13599
|
+
const ds = 10, Gm = {
|
|
13619
13600
|
isSelecting: !1,
|
|
13620
13601
|
startPoint: null,
|
|
13621
13602
|
currentPoint: null,
|
|
@@ -13659,7 +13640,7 @@ function Ym({
|
|
|
13659
13640
|
onRegionSelected: e,
|
|
13660
13641
|
onCancel: n
|
|
13661
13642
|
}) {
|
|
13662
|
-
const [i, r] =
|
|
13643
|
+
const [i, r] = xs(Km, Gm), { isSelecting: o, startPoint: s, currentPoint: a, mounted: l } = i;
|
|
13663
13644
|
G(() => {
|
|
13664
13645
|
r({ type: "MOUNT" });
|
|
13665
13646
|
}, []);
|
|
@@ -13677,7 +13658,7 @@ function Ym({
|
|
|
13677
13658
|
), f = V(() => {
|
|
13678
13659
|
if (!o || !s) return;
|
|
13679
13660
|
const g = c();
|
|
13680
|
-
g && g.width >
|
|
13661
|
+
g && g.width > ds && g.height > ds ? e(g) : n(), r({ type: "COMPLETE_SELECTION" });
|
|
13681
13662
|
}, [o, s, c, e, n]);
|
|
13682
13663
|
if (G(() => {
|
|
13683
13664
|
if (!t) return;
|
|
@@ -13810,7 +13791,7 @@ function Ym({
|
|
|
13810
13791
|
]
|
|
13811
13792
|
}
|
|
13812
13793
|
);
|
|
13813
|
-
return
|
|
13794
|
+
return ge(b, v);
|
|
13814
13795
|
}
|
|
13815
13796
|
let Ii = !1;
|
|
13816
13797
|
function qm() {
|
|
@@ -13880,7 +13861,7 @@ const _b = [
|
|
|
13880
13861
|
], Fb = {
|
|
13881
13862
|
hideNodeModules: !0,
|
|
13882
13863
|
autoScanEnabled: !1
|
|
13883
|
-
}, $t = "data-loc",
|
|
13864
|
+
}, $t = "data-loc", hs = [
|
|
13884
13865
|
"#3B82F6",
|
|
13885
13866
|
"#8B5CF6",
|
|
13886
13867
|
"#EC4899",
|
|
@@ -13979,7 +13960,7 @@ function Ob(t) {
|
|
|
13979
13960
|
n.push({
|
|
13980
13961
|
path: r,
|
|
13981
13962
|
displayName: ev(r),
|
|
13982
|
-
color:
|
|
13963
|
+
color: hs[i % hs.length],
|
|
13983
13964
|
elements: o
|
|
13984
13965
|
}), i++;
|
|
13985
13966
|
return n.sort((r, o) => o.elements.length - r.elements.length), n;
|
|
@@ -14012,9 +13993,9 @@ function Wb(t, e = "cursor", n) {
|
|
|
14012
13993
|
a
|
|
14013
13994
|
)}:${r}:${s}`;
|
|
14014
13995
|
}
|
|
14015
|
-
const
|
|
13996
|
+
const pe = /* @__PURE__ */ new Map(), yr = 300 * 1e3, rv = "/api/.uilint/source";
|
|
14016
13997
|
async function Nl(t) {
|
|
14017
|
-
const e =
|
|
13998
|
+
const e = pe.get(t);
|
|
14018
13999
|
if (e && Date.now() - e.fetchedAt < yr)
|
|
14019
14000
|
return {
|
|
14020
14001
|
content: e.content,
|
|
@@ -14027,7 +14008,7 @@ async function Nl(t) {
|
|
|
14027
14008
|
if (!n.ok)
|
|
14028
14009
|
return console.warn(`[UILint] Failed to fetch source: ${n.statusText}`), null;
|
|
14029
14010
|
const i = await n.json();
|
|
14030
|
-
return
|
|
14011
|
+
return pe.set(t, {
|
|
14031
14012
|
...i,
|
|
14032
14013
|
fetchedAt: Date.now()
|
|
14033
14014
|
}), i;
|
|
@@ -14049,18 +14030,18 @@ async function Ub(t, e = 5) {
|
|
|
14049
14030
|
};
|
|
14050
14031
|
}
|
|
14051
14032
|
function Hb() {
|
|
14052
|
-
|
|
14033
|
+
pe.clear();
|
|
14053
14034
|
}
|
|
14054
14035
|
function Gb(t) {
|
|
14055
|
-
const e =
|
|
14056
|
-
return e ? Date.now() - e.fetchedAt >= yr ? (
|
|
14036
|
+
const e = pe.get(t);
|
|
14037
|
+
return e ? Date.now() - e.fetchedAt >= yr ? (pe.delete(t), null) : {
|
|
14057
14038
|
content: e.content,
|
|
14058
14039
|
relativePath: e.relativePath
|
|
14059
14040
|
} : null;
|
|
14060
14041
|
}
|
|
14061
14042
|
async function Kb(t) {
|
|
14062
14043
|
const e = [...new Set(t)].filter((i) => {
|
|
14063
|
-
const r =
|
|
14044
|
+
const r = pe.get(i);
|
|
14064
14045
|
return !r || Date.now() - r.fetchedAt >= yr;
|
|
14065
14046
|
}), n = 5;
|
|
14066
14047
|
for (let i = 0; i < e.length; i += n) {
|
|
@@ -14082,7 +14063,7 @@ const ii = "data-loc", ov = /* @__PURE__ */ new Set([
|
|
|
14082
14063
|
"NOSCRIPT",
|
|
14083
14064
|
"TEMPLATE",
|
|
14084
14065
|
"SLOT"
|
|
14085
|
-
]), sv = 3,
|
|
14066
|
+
]), sv = 3, fs = 100;
|
|
14086
14067
|
function av(t) {
|
|
14087
14068
|
const e = t.tagName.toUpperCase(), n = t.getAttribute("role");
|
|
14088
14069
|
if (n) return n;
|
|
@@ -14138,7 +14119,7 @@ function av(t) {
|
|
|
14138
14119
|
function lv(t) {
|
|
14139
14120
|
const e = t.innerText?.trim();
|
|
14140
14121
|
if (e)
|
|
14141
|
-
return e.length >
|
|
14122
|
+
return e.length > fs ? e.slice(0, fs) + "…" : e;
|
|
14142
14123
|
const n = t.getAttribute("aria-label");
|
|
14143
14124
|
if (n) return n;
|
|
14144
14125
|
const i = t.getAttribute("title");
|
|
@@ -14468,7 +14449,7 @@ function Ev() {
|
|
|
14468
14449
|
throw new Error("getUILintPortalHost() called outside of a DOM environment");
|
|
14469
14450
|
return document.querySelector(".uilint-devtool-root") ?? document.body;
|
|
14470
14451
|
}
|
|
14471
|
-
const
|
|
14452
|
+
const Qt = "#3b82f6", Av = 14, Rv = 22, Iv = 2, Mv = 3, Ee = 2;
|
|
14472
14453
|
function jv(t, e = !1) {
|
|
14473
14454
|
const n = [];
|
|
14474
14455
|
return t.forEach((i, r) => {
|
|
@@ -14507,8 +14488,8 @@ function Dv({ rect: t }) {
|
|
|
14507
14488
|
width: i,
|
|
14508
14489
|
height: i,
|
|
14509
14490
|
borderRadius: e ? 4 : 3,
|
|
14510
|
-
backgroundColor: e ?
|
|
14511
|
-
border: `${r}px solid ${
|
|
14491
|
+
backgroundColor: e ? Qt : "rgba(59, 130, 246, 0.15)",
|
|
14492
|
+
border: `${r}px solid ${Qt}`,
|
|
14512
14493
|
pointerEvents: "auto",
|
|
14513
14494
|
cursor: "pointer",
|
|
14514
14495
|
zIndex: 99997,
|
|
@@ -14526,7 +14507,7 @@ function Dv({ rect: t }) {
|
|
|
14526
14507
|
position: "absolute",
|
|
14527
14508
|
width: o,
|
|
14528
14509
|
height: r,
|
|
14529
|
-
backgroundColor: e ? "white" :
|
|
14510
|
+
backgroundColor: e ? "white" : Qt,
|
|
14530
14511
|
borderRadius: 1,
|
|
14531
14512
|
transition: "all 0.15s ease-out"
|
|
14532
14513
|
}
|
|
@@ -14539,7 +14520,7 @@ function Dv({ rect: t }) {
|
|
|
14539
14520
|
position: "absolute",
|
|
14540
14521
|
width: r,
|
|
14541
14522
|
height: o,
|
|
14542
|
-
backgroundColor: e ? "white" :
|
|
14523
|
+
backgroundColor: e ? "white" : Qt,
|
|
14543
14524
|
borderRadius: 1,
|
|
14544
14525
|
transition: "all 0.15s ease-out"
|
|
14545
14526
|
}
|
|
@@ -14559,13 +14540,13 @@ function zv({
|
|
|
14559
14540
|
{
|
|
14560
14541
|
style: {
|
|
14561
14542
|
position: "fixed",
|
|
14562
|
-
top: t.top -
|
|
14563
|
-
left: t.left -
|
|
14564
|
-
width: t.width +
|
|
14565
|
-
height: t.height +
|
|
14566
|
-
border: `${
|
|
14543
|
+
top: t.top - Ee,
|
|
14544
|
+
left: t.left - Ee,
|
|
14545
|
+
width: t.width + Ee * 2,
|
|
14546
|
+
height: t.height + Ee * 2,
|
|
14547
|
+
border: `${Ee}px solid ${Qt}`,
|
|
14567
14548
|
borderRadius: 4,
|
|
14568
|
-
backgroundColor: `${
|
|
14549
|
+
backgroundColor: `${Qt}10`,
|
|
14569
14550
|
pointerEvents: "none",
|
|
14570
14551
|
zIndex: 99998,
|
|
14571
14552
|
transition: "all 0.15s ease-out"
|
|
@@ -14582,7 +14563,7 @@ function zv({
|
|
|
14582
14563
|
minWidth: 20,
|
|
14583
14564
|
height: 20,
|
|
14584
14565
|
borderRadius: 10,
|
|
14585
|
-
backgroundColor:
|
|
14566
|
+
backgroundColor: Qt,
|
|
14586
14567
|
color: "white",
|
|
14587
14568
|
fontSize: 11,
|
|
14588
14569
|
fontWeight: 600,
|
|
@@ -14647,7 +14628,7 @@ function qb({
|
|
|
14647
14628
|
!c && i.map((p) => /* @__PURE__ */ d.jsx(Dv, { rect: p.rect }, p.id)),
|
|
14648
14629
|
c && o.map((p) => /* @__PURE__ */ d.jsx(zv, { rect: p.rect, badgeNumber: p.badgeNumber }, p.id))
|
|
14649
14630
|
] });
|
|
14650
|
-
return
|
|
14631
|
+
return ge(f, Ev());
|
|
14651
14632
|
}
|
|
14652
14633
|
const sn = "data-loc", Vv = 100;
|
|
14653
14634
|
function _v(t, e) {
|
|
@@ -14849,7 +14830,7 @@ class Ov {
|
|
|
14849
14830
|
return e.closest("[data-ui-lint]") !== null;
|
|
14850
14831
|
}
|
|
14851
14832
|
}
|
|
14852
|
-
const
|
|
14833
|
+
const Ae = new Ov(), Bv = {
|
|
14853
14834
|
id: "eslint:toggle-scan",
|
|
14854
14835
|
title: "Toggle ESLint Scan",
|
|
14855
14836
|
keywords: ["eslint", "scan", "toggle", "enable", "disable", "start", "stop"],
|
|
@@ -15284,9 +15265,9 @@ function Qv(t) {
|
|
|
15284
15265
|
}
|
|
15285
15266
|
};
|
|
15286
15267
|
}
|
|
15287
|
-
let
|
|
15268
|
+
let ps = null;
|
|
15288
15269
|
function tb(t) {
|
|
15289
|
-
return
|
|
15270
|
+
return ps = Qv(t), ps;
|
|
15290
15271
|
}
|
|
15291
15272
|
function eb(t, e) {
|
|
15292
15273
|
const { filePath: n } = Ll(t.dataLoc), i = t.ruleId || "unknown", r = e.find(
|
|
@@ -15392,7 +15373,7 @@ function Xb() {
|
|
|
15392
15373
|
summary: t.summary
|
|
15393
15374
|
};
|
|
15394
15375
|
}
|
|
15395
|
-
const
|
|
15376
|
+
const gs = [
|
|
15396
15377
|
"lint:result",
|
|
15397
15378
|
"lint:progress",
|
|
15398
15379
|
"file:changed",
|
|
@@ -15532,13 +15513,13 @@ const ms = [
|
|
|
15532
15513
|
return console.log("[ESLint Plugin] Running in STATIC mode (manifest-based)"), ab(t);
|
|
15533
15514
|
console.log("[ESLint Plugin] Running in WEBSOCKET mode");
|
|
15534
15515
|
const e = [];
|
|
15535
|
-
for (const i of
|
|
15516
|
+
for (const i of gs) {
|
|
15536
15517
|
const r = t.websocket.on(i, (o) => {
|
|
15537
15518
|
ub(t, o);
|
|
15538
15519
|
});
|
|
15539
15520
|
e.push(r);
|
|
15540
15521
|
}
|
|
15541
|
-
console.log("[ESLint Plugin] Subscribed to",
|
|
15522
|
+
console.log("[ESLint Plugin] Subscribed to", gs.length, "message types");
|
|
15542
15523
|
const n = t.domObserver.onElementsAdded((i) => {
|
|
15543
15524
|
cb(t, i);
|
|
15544
15525
|
});
|
|
@@ -16515,16 +16496,16 @@ const Rb = {
|
|
|
16515
16496
|
*/
|
|
16516
16497
|
initialize: void 0
|
|
16517
16498
|
};
|
|
16518
|
-
let
|
|
16499
|
+
let ms = !1;
|
|
16519
16500
|
function jb(t) {
|
|
16520
|
-
if (typeof document > "u" ||
|
|
16501
|
+
if (typeof document > "u" || ms) return;
|
|
16521
16502
|
const e = document.createElement("style");
|
|
16522
|
-
e.setAttribute("data-uilint-devtools-styles", "true"), e.textContent = t, document.head.appendChild(e),
|
|
16503
|
+
e.setAttribute("data-uilint-devtools-styles", "true"), e.textContent = t, document.head.appendChild(e), ms = !0;
|
|
16523
16504
|
}
|
|
16524
16505
|
const Lb = `@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.dev-tool-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-2\\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-90{z-index:90}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-1\\.5{margin-inline:calc(var(--spacing)*1.5)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-1\\.5{margin-block:calc(var(--spacing)*1.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-\\[18px\\]{height:18px}.h-\\[200px\\]{height:200px}.h-\\[var\\(--uilint-icon-button-size\\)\\]{height:var(--uilint-icon-button-size)}.h-\\[var\\(--uilint-icon-button-size-lg\\)\\]{height:var(--uilint-icon-button-size-lg)}.h-\\[var\\(--uilint-icon-button-size-sm\\)\\]{height:var(--uilint-icon-button-size-sm)}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-\\[44px\\]{min-height:44px}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-\\[364px\\]{width:364px}.w-\\[var\\(--uilint-icon-button-size\\)\\]{width:var(--uilint-icon-button-size)}.w-\\[var\\(--uilint-icon-button-size-lg\\)\\]{width:var(--uilint-icon-button-size-lg)}.w-\\[var\\(--uilint-icon-button-size-sm\\)\\]{width:var(--uilint-icon-button-size-sm)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-\\[580px\\]{max-width:580px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 1rem)}.max-w-sm{max-width:var(--container-sm)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-\\[18px\\]{min-width:18px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-center{transform-origin:50%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\\[border-radius\\:var\\(--uilint-card-radius\\)\\]{border-radius:var(--uilint-card-radius)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\\[0\\.8rem\\]{border-radius:.8rem}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-icon-button-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-icon-button-radius) - 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)\\+2px\\)\\]{border-radius:calc(var(--uilint-input-radius) + 2px)}.rounded-\\[calc\\(var\\(--uilint-input-radius\\)-2px\\)\\]{border-radius:calc(var(--uilint-input-radius) - 2px)}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-\\[var\\(--uilint-button-radius\\)\\]{border-radius:var(--uilint-button-radius)}.rounded-\\[var\\(--uilint-icon-button-radius\\)\\]{border-radius:var(--uilint-icon-button-radius)}.rounded-\\[var\\(--uilint-input-radius\\)\\]{border-radius:var(--uilint-input-radius)}.rounded-\\[var\\(--uilint-radius\\,12px\\)\\]{border-radius:var(--uilint-radius,12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--uilint-radius-lg)}.rounded-md{border-radius:var(--uilint-radius)}.rounded-sm{border-radius:var(--uilint-radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\\[var\\(--uilint-error\\)\\]{border-color:var(--uilint-error)}.border-\\[var\\(--uilint-glass-border\\)\\]{border-color:var(--uilint-glass-border)}.border-\\[var\\(--uilint-input-border\\)\\]{border-color:var(--uilint-input-border)}.border-\\[var\\(--uilint-kbd-border\\,rgba\\(0\\,0\\,0\\,0\\.1\\)\\)\\]{border-color:var(--uilint-kbd-border,#0000001a)}.border-\\[var\\(--uilint-kbd-border-subtle\\,transparent\\)\\]{border-color:var(--uilint-kbd-border-subtle,transparent)}.border-border,.border-border\\/30{border-color:var(--uilint-border)}@supports (color:color-mix(in lab,red,red)){.border-border\\/30{border-color:color-mix(in oklab,var(--uilint-border)30%,transparent)}}.border-border\\/50{border-color:var(--uilint-border)}@supports (color:color-mix(in lab,red,red)){.border-border\\/50{border-color:color-mix(in oklab,var(--uilint-border)50%,transparent)}}.border-current\\/20{border-color:currentColor}@supports (color:color-mix(in lab,red,red)){.border-current\\/20{border-color:color-mix(in oklab,currentcolor 20%,transparent)}}.border-transparent{border-color:#0000}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-950\\/10{border-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){.border-zinc-950\\/10{border-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\\[var\\(--uilint-button-default-bg\\)\\]{background-color:var(--uilint-button-default-bg)}.bg-\\[var\\(--uilint-button-destructive-bg\\)\\]{background-color:var(--uilint-button-destructive-bg)}.bg-\\[var\\(--uilint-button-ghost-bg\\)\\]{background-color:var(--uilint-button-ghost-bg)}.bg-\\[var\\(--uilint-button-glass-bg\\)\\]{background-color:var(--uilint-button-glass-bg)}.bg-\\[var\\(--uilint-button-outline-bg\\)\\]{background-color:var(--uilint-button-outline-bg)}.bg-\\[var\\(--uilint-button-secondary-bg\\)\\]{background-color:var(--uilint-button-secondary-bg)}.bg-\\[var\\(--uilint-glass\\)\\]{background-color:var(--uilint-glass)}.bg-\\[var\\(--uilint-glass-medium\\)\\]{background-color:var(--uilint-glass-medium)}.bg-\\[var\\(--uilint-hover\\)\\]{background-color:var(--uilint-hover)}.bg-\\[var\\(--uilint-input-bg\\)\\]{background-color:var(--uilint-input-bg)}.bg-\\[var\\(--uilint-kbd-background\\,linear-gradient\\(180deg\\,\\#ffffff_0\\%\\,\\#f3f4f6_100\\%\\)\\)\\]{background-color:var(--uilint-kbd-background,linear-gradient(180deg,#fff 0%,#f3f4f6 100%))}.bg-\\[var\\(--uilint-kbd-background-subtle\\,rgba\\(0\\,0\\,0\\,0\\.04\\)\\)\\]{background-color:var(--uilint-kbd-background-subtle,#0000000a)}.bg-amber-500\\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-blue-300\\/20{background-color:#90c5ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-300\\/20{background-color:color-mix(in oklab,var(--color-blue-300)20%,transparent)}}.bg-emerald-500\\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\\/20{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.bg-error-bg{background-color:var(--uilint-error-bg)}.bg-hover{background-color:var(--uilint-hover)}.bg-info-bg{background-color:var(--uilint-info-bg)}.bg-muted,.bg-muted\\/30{background-color:var(--uilint-surface-elevated)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--uilint-surface-elevated)30%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-success-bg{background-color:var(--uilint-success-bg)}.bg-surface-elevated{background-color:var(--uilint-surface-elevated)}.bg-transparent{background-color:#0000}.bg-warning-bg{background-color:var(--uilint-warning-bg)}.bg-white{background-color:var(--color-white)}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-100\\/50{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.bg-zinc-100\\/50{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-900)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-\\[1px\\],.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-0{padding-top:calc(var(--spacing)*0)}.pr-1\\.25{padding-right:calc(var(--spacing)*1.25)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\'SF_Pro_Text\\'\\,\\'Segoe_UI\\'\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\\[color\\:var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.\\[color\\:var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-\\[var\\(--uilint-button-default-text\\)\\]{color:var(--uilint-button-default-text)}.text-\\[var\\(--uilint-button-destructive-text\\)\\]{color:var(--uilint-button-destructive-text)}.text-\\[var\\(--uilint-button-ghost-text\\)\\]{color:var(--uilint-button-ghost-text)}.text-\\[var\\(--uilint-button-glass-text\\)\\]{color:var(--uilint-button-glass-text)}.text-\\[var\\(--uilint-button-outline-text\\)\\]{color:var(--uilint-button-outline-text)}.text-\\[var\\(--uilint-button-secondary-text\\)\\]{color:var(--uilint-button-secondary-text)}.text-\\[var\\(--uilint-kbd-text\\,\\#6b7280\\)\\]{color:var(--uilint-kbd-text,#6b7280)}.text-\\[var\\(--uilint-kbd-text-subtle\\,\\#9ca3af\\)\\]{color:var(--uilint-kbd-text-subtle,#9ca3af)}.text-\\[var\\(--uilint-text-muted\\)\\]{color:var(--uilint-text-muted)}.text-\\[var\\(--uilint-text-primary\\)\\]{color:var(--uilint-text-primary)}.text-\\[var\\(--uilint-text-secondary\\)\\]{color:var(--uilint-text-secondary)}.text-amber-700{color:var(--color-amber-700)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-error{color:var(--uilint-error)}.text-foreground{color:var(--uilint-foreground)}.text-info{color:var(--uilint-info)}.text-muted-foreground,.text-muted-foreground\\/50{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/50{color:color-mix(in oklab,var(--uilint-text-muted)50%,transparent)}}.text-muted-foreground\\/60{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/60{color:color-mix(in oklab,var(--uilint-text-muted)60%,transparent)}}.text-muted-foreground\\/70{color:var(--uilint-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--uilint-text-muted)70%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-success{color:var(--uilint-success)}.text-text-secondary{color:var(--uilint-text-secondary)}.text-warning{color:var(--uilint-warning)}.text-white{color:var(--color-white)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-900{color:var(--color-zinc-900)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_0_1px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000014),0px 2px 2px var(--tw-shadow-color,#0000000a),0px 8px 16px -4px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_hsla\\(0\\,0\\%\\,0\\%\\,0\\.02\\)_inset\\,0px_0px_0px_1px_rgba\\(255\\,255\\,255\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 1px 1px 0px var(--tw-shadow-color,#00000005)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff40);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\,0px_1px_1px_0px_rgba\\(255\\,252\\,240\\,0\\.5\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.1\\)_inset\\,0px_0px_1px_0px_rgba\\(28\\,27\\,26\\,0\\.5\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0000000d),0px 1px 1px 0px var(--tw-shadow-color,#fffcf080)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff1a)inset,0px 0px 1px 0px var(--tw-shadow-color,#1c1b1a80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-button-shadow\\)\\]{--tw-shadow:var(--uilint-button-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[var\\(--uilint-kbd-shadow\\,0_1px_0_rgba\\(0\\,0\\,0\\,0\\.08\\)\\)\\]{--tw-shadow:var(--uilint-kbd-shadow,0 1px 0 #00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--uilint-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:var\\(--uilint-card-elevated-shadow\\)\\]{box-shadow:var(--uilint-card-elevated-shadow)}.\\[box-shadow\\:var\\(--uilint-card-shadow\\)\\]{box-shadow:var(--uilint-card-shadow)}.ring-zinc-200\\/50{--tw-ring-color:#e4e4e780}@supports (color:color-mix(in lab,red,red)){.ring-zinc-200\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-200)50%,transparent)}}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.blur-lg{--tw-blur:blur(var(--blur-lg));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,)}.blur-md{--tw-blur:blur(var(--blur-md));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,)}.blur-sm{--tw-blur:blur(var(--blur-sm));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,)}.backdrop-blur-\\[var\\(--uilint-glass-blur-medium\\)\\]{--tw-backdrop-blur:blur(var(--uilint-glass-blur-medium));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.\\[backdrop-filter\\:blur\\(var\\(--uilint-glass-blur-medium\\)\\)\\]{-webkit-backdrop-filter:blur(var(--uilint-glass-blur-medium));backdrop-filter:blur(var(--uilint-glass-blur-medium))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[colors\\]{transition-property:colors;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[scale\\]{transition-property:scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[background\\:var\\(--uilint-card-bg\\)\\]{background:var(--uilint-card-bg)}.\\[background\\:var\\(--uilint-card-elevated-bg\\)\\]{background:var(--uilint-card-elevated-bg)}.\\[background\\:var\\(--uilint-card-glass-bg\\)\\]{background:var(--uilint-card-glass-bg)}.\\[border-top\\:1px_solid_var\\(--uilint-card-border\\)\\]{border-top:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-border\\)\\]{border:1px solid var(--uilint-card-border)}.\\[border\\:1px_solid_var\\(--uilint-card-glass-border\\)\\]{border:1px solid var(--uilint-card-glass-border)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\\:text-\\[var\\(--uilint-input-placeholder\\)\\]::placeholder{color:var(--uilint-input-placeholder)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.before\\:inset-y-0:before{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.before\\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\\:h-\\(--top-fade-height\\):before{content:var(--tw-content);height:var(--top-fade-height)}.before\\:h-px:before{content:var(--tw-content);height:1px}.before\\:w-\\(--left-fade-width\\):before{content:var(--tw-content);width:var(--left-fade-width)}.before\\:bg-gradient-to-b:before{content:var(--tw-content);--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\\:from-background:before{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-100:before{content:var(--tw-content);opacity:1}.before\\:transition-\\[height\\,opacity\\]:before{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:transition-\\[width\\,opacity\\]:before{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:\\[background\\:var\\(--uilint-glass-highlight\\)\\]:before{content:var(--tw-content);background:var(--uilint-glass-highlight)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\\:h-\\(--bottom-fade-height\\):after{content:var(--tw-content);height:var(--bottom-fade-height)}.after\\:w-\\(--right-fade-width\\):after{content:var(--tw-content);width:var(--right-fade-width)}.after\\:bg-gradient-to-l:after{content:var(--tw-content);--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\\:from-background:after{content:var(--tw-content);--tw-gradient-from:var(--uilint-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-\\[height\\,opacity\\]:after{content:var(--tw-content);transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:transition-\\[width\\,opacity\\]:after{content:var(--tw-content);transition-property:width,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:duration-300:after{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.hover\\:bg-\\[var\\(--uilint-active\\)\\]:hover{background-color:var(--uilint-active)}.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:var(--uilint-button-destructive-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-destructive-bg\\)\\]\\/90:hover{background-color:color-mix(in oklab,var(--uilint-button-destructive-bg)90%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:var(--uilint-button-ghost-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-ghost-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-ghost-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:var(--uilint-button-outline-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-outline-text\\)\\]\\/10:hover{background-color:color-mix(in oklab,var(--uilint-button-outline-text)10%,transparent)}}.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:var(--uilint-button-secondary-bg)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-\\[var\\(--uilint-button-secondary-bg\\)\\]\\/80:hover{background-color:color-mix(in oklab,var(--uilint-button-secondary-bg)80%,transparent)}}.hover\\:bg-\\[var\\(--uilint-glass-medium\\)\\]:hover{background-color:var(--uilint-glass-medium)}.hover\\:bg-\\[var\\(--uilint-hover\\)\\]:hover{background-color:var(--uilint-hover)}.hover\\:bg-muted\\/50:hover{background-color:var(--uilint-surface-elevated)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab,var(--uilint-surface-elevated)50%,transparent)}}.hover\\:bg-red-500\\/80:hover{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/80:hover{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.hover\\:bg-red-500\\/90:hover{background-color:#fb2c36e6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/90:hover{background-color:color-mix(in oklab,var(--color-red-500)90%,transparent)}}.hover\\:bg-white\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\\:bg-zinc-100\\/60:hover{background-color:#f4f4f599}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-100)60%,transparent)}}.hover\\:bg-zinc-100\\/80:hover{background-color:#f4f4f5cc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-100\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-100)80%,transparent)}}.hover\\:bg-zinc-900\\/80:hover{background-color:#18181bcc}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-900)80%,transparent)}}.hover\\:bg-zinc-900\\/90:hover{background-color:#18181be6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-zinc-900\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-900)90%,transparent)}}.hover\\:text-\\[var\\(--uilint-text-primary\\)\\]:hover{color:var(--uilint-text-primary)}.hover\\:text-\\[var\\(--uilint-text-secondary\\)\\]:hover{color:var(--uilint-text-secondary)}.hover\\:text-foreground:hover{color:var(--uilint-foreground)}.hover\\:text-zinc-800:hover{color:var(--color-zinc-800)}.hover\\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-\\[var\\(--uilint-button-shadow-hover\\)\\]:hover{--tw-shadow:var(--uilint-button-shadow-hover);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:border-\\[var\\(--uilint-error\\)\\]:focus{border-color:var(--uilint-error)}.focus\\:border-\\[var\\(--uilint-input-border-focus\\)\\]:focus{border-color:var(--uilint-input-border-focus)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-zinc-950:focus{--tw-ring-color:var(--color-zinc-950)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[var\\(--uilint-button-default-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-default-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-destructive-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-destructive-bg)}.focus-visible\\:ring-\\[var\\(--uilint-button-ghost-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-ghost-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-outline-text\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-outline-text)}.focus-visible\\:ring-\\[var\\(--uilint-button-secondary-bg\\)\\]:focus-visible{--tw-ring-color:var(--uilint-button-secondary-bg)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--uilint-border-focus)}.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-white\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.focus-visible\\:ring-zinc-950:focus-visible{--tw-ring-color:var(--color-zinc-950)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-x-98:active{--tw-scale-x:98%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-y-95:active{--tw-scale-y:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.active\\:bg-zinc-100\\/70:active{background-color:#f4f4f5b3}@supports (color:color-mix(in lab,red,red)){.active\\:bg-zinc-100\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-100)70%,transparent)}}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:h-5{height:calc(var(--spacing)*5)}.sm\\:min-h-0{min-height:calc(var(--spacing)*0)}.sm\\:w-5{width:calc(var(--spacing)*5)}.sm\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:rounded-lg{border-radius:var(--uilint-radius-lg)}.sm\\:rounded-xl{border-radius:var(--radius-xl)}.sm\\:p-1\\.5{padding:calc(var(--spacing)*1.5)}.sm\\:p-3{padding:calc(var(--spacing)*3)}.sm\\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\\:px-2{padding-inline:calc(var(--spacing)*2)}.sm\\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\\:py-4{padding-block:calc(var(--spacing)*4)}.sm\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.3\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.3));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:48rem){.md\\:max-w-\\[calc\\(100\\%-4rem\\)\\]{max-width:calc(100% - 4rem)}.md\\:rounded-3xl{border-radius:var(--radius-3xl)}.md\\:rounded-\\[2rem\\]{border-radius:2rem}.md\\:p-2{padding:calc(var(--spacing)*2)}.md\\:p-4{padding:calc(var(--spacing)*4)}}@media(prefers-color-scheme:dark){.dark\\:border-zinc-50\\/10{border-color:#fafafa1a}@supports (color:color-mix(in lab,red,red)){.dark\\:border-zinc-50\\/10{border-color:color-mix(in oklab,var(--color-zinc-50)10%,transparent)}}.dark\\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\\:bg-amber-500\\/25{background-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-amber-500\\/25{background-color:color-mix(in oklab,var(--color-amber-500)25%,transparent)}}.dark\\:bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-blue-500\\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.dark\\:bg-emerald-500\\/25{background-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-emerald-500\\/25{background-color:color-mix(in oklab,var(--color-emerald-500)25%,transparent)}}.dark\\:bg-red-500\\/25{background-color:#fb2c3640}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-500\\/25{background-color:color-mix(in oklab,var(--color-red-500)25%,transparent)}}.dark\\:bg-red-900{background-color:var(--color-red-900)}.dark\\:bg-zinc-50{background-color:var(--color-zinc-50)}.dark\\:bg-zinc-100{background-color:var(--color-zinc-100)}.dark\\:bg-zinc-700{background-color:var(--color-zinc-700)}.dark\\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\\:bg-zinc-800\\/50{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-zinc-800\\/50{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:bg-zinc-950{background-color:var(--color-zinc-950)}.dark\\:text-amber-300{color:var(--color-amber-300)}.dark\\:text-blue-400{color:var(--color-blue-400)}.dark\\:text-emerald-300{color:var(--color-emerald-300)}.dark\\:text-red-300{color:var(--color-red-300)}.dark\\:text-zinc-50{color:var(--color-zinc-50)}.dark\\:text-zinc-100{color:var(--color-zinc-100)}.dark\\:text-zinc-400{color:var(--color-zinc-400)}.dark\\:text-zinc-900{color:var(--color-zinc-900)}.dark\\:shadow-\\[0_0_0_1px_rgba\\(255\\,252\\,240\\,0\\.08\\)\\,0px_2px_2px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_8px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.3\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#fffcf014),0px 2px 2px var(--tw-shadow-color,#0003),0px 8px 16px -4px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.02\\)_inset\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#ffffff05)inset,0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[0px_1px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0px_1px_1px_0px_rgba\\(255\\,255\\,255\\,0\\.05\\)_inset\\,0px_0px_0px_1px_hsla\\(0\\,0\\%\\,100\\%\\,0\\.05\\)_inset\\,0px_0px_1px_0px_rgba\\(0\\,0\\,0\\,0\\.8\\)\\]{--tw-shadow:0px 1px 1px 0px var(--tw-shadow-color,#0003),0px 1px 1px 0px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 0px 1px var(--tw-shadow-color,#ffffff0d)inset,0px 0px 1px 0px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:shadow-\\[inset_0_0_1px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 1px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\\:ring-zinc-800\\/50{--tw-ring-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-zinc-800\\/50{--tw-ring-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\\:ring-offset-zinc-950{--tw-ring-offset-color:var(--color-zinc-950)}@media(hover:hover){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\\:dark\\:hover\\:bg-zinc-800\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}}@media(hover:hover){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:#82181acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/80:hover{background-color:color-mix(in oklab,var(--color-red-900)80%,transparent)}}.dark\\:hover\\:bg-red-900\\/90:hover{background-color:#82181ae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-900\\/90:hover{background-color:color-mix(in oklab,var(--color-red-900)90%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:#fafafacc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-50)80%,transparent)}}.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:#fafafae6}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-50\\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-50)90%,transparent)}}.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:#f4f4f580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-100\\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-100)50%,transparent)}}.dark\\:hover\\:bg-zinc-700:hover{background-color:var(--color-zinc-700)}.dark\\:hover\\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:#27272a99}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/60:hover{background-color:color-mix(in oklab,var(--color-zinc-800)60%,transparent)}}.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:#27272acc}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-zinc-800\\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-800)80%,transparent)}}.dark\\:hover\\:text-zinc-50:hover{color:var(--color-zinc-50)}}.dark\\:focus\\:ring-zinc-300:focus,.dark\\:focus-visible\\:ring-zinc-300:focus-visible{--tw-ring-color:var(--color-zinc-300)}.dark\\:active\\:bg-zinc-800\\/70:active{background-color:#27272ab3}@supports (color:color-mix(in lab,red,red)){.dark\\:active\\:bg-zinc-800\\/70:active{background-color:color-mix(in oklab,var(--color-zinc-800)70%,transparent)}}@media(min-width:40rem){.dark\\:sm\\:shadow-\\[inset_0_0_2px_1px_hsl\\(var\\(--border\\)\\/0\\.5\\)\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,hsl(var(--border)/.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-4 svg{height:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:h-5 svg{height:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:h-\\[18px\\] svg{height:18px}.\\[\\&_svg\\]\\:w-4 svg{width:calc(var(--spacing)*4)}.\\[\\&_svg\\]\\:w-5 svg{width:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:w-\\[18px\\] svg{width:18px}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\\[\\&\\>div\\]\\:\\!block>div{display:block!important}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}[data-slot=tooltip-content] .\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-white{color:var(--color-white)}@media(prefers-color-scheme:dark){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:#09090b33}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/20{background-color:color-mix(in oklab,var(--color-zinc-950)20%,transparent)}}[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:#09090b1a}@supports (color:color-mix(in lab,red,red)){[data-slot=tooltip-content] .dark\\:dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:bg-zinc-950\\/10{background-color:color-mix(in oklab,var(--color-zinc-950)10%,transparent)}}[data-slot=tooltip-content] .dark\\:\\[\\[data-slot\\=tooltip-content\\]_\\&\\]\\:text-zinc-950{color:var(--color-zinc-950)}}}:root{--uilint-background:oklch(98.5% .015 75);--uilint-background-elevated:oklch(97% .02 75);--uilint-foreground:oklch(18% .02 75);--uilint-surface:oklch(98.5% .015 75);--uilint-surface-elevated:oklch(97% .02 75);--uilint-text-primary:oklch(18% .02 75);--uilint-text-secondary:oklch(40% .025 75);--uilint-text-muted:oklch(55% .03 75);--uilint-text-disabled:oklch(70% .02 75);--uilint-hover:oklch(75% .08 75/.15);--uilint-active:oklch(70% .1 75/.2);--uilint-border:oklch(90% .025 75);--uilint-border-focus:oklch(70% .15 75);--uilint-accent:oklch(70% .16 75);--uilint-accent-foreground:oklch(98.5% .015 75);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:oklch(75% .183 55.934);--uilint-warning-bg:oklch(75% .183 55.934/.15);--uilint-error:oklch(63.7% .237 25.331);--uilint-error-bg:oklch(63.7% .237 25.331/.15);--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.15);--uilint-shadow:0 4px 20px oklch(30% .05 75/.15);--uilint-shadow-lg:0 8px 32px oklch(30% .05 75/.2);--uilint-backdrop:oklch(98.5% .015 75/.92);--uilint-glass:oklch(99% .01 75/.7);--uilint-glass-border:oklch(100% .02 75/.25);--uilint-glass-highlight:oklch(100% 0 0/.4);--uilint-glass-blur-light:8px;--uilint-glass-blur-medium:16px;--uilint-glass-blur-heavy:24px;--uilint-glass-light:oklch(99% .01 75/.5);--uilint-glass-medium:oklch(99% .01 75/.7);--uilint-glass-heavy:oklch(99% .01 75/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(100% 0 0) 0%,oklch(96% .01 75) 100%);--uilint-kbd-border:oklch(0% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.08);--uilint-kbd-text:oklch(45% .03 75);--uilint-badge-radius:6px;--uilint-button-radius:8px;--uilint-button-shadow:0 1px 2px oklch(0% 0 0/.05);--uilint-button-shadow-hover:0 2px 4px oklch(0% 0 0/.1);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(95% .01 75);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(100% 0 0/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-radius:8px;--uilint-input-ring:oklch(70% .15 75/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-radius:12px;--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.04);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.08);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.1);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-icon-button-size:32px;--uilint-icon-button-size-sm:28px;--uilint-icon-button-size-lg:40px;--uilint-icon-button-radius:8px;--uilint-scrollbar-track:oklch(92% .02 75);--uilint-scrollbar-thumb:oklch(70% .04 75);--uilint-scrollbar-thumb-hover:oklch(55% .05 75);--uilint-radius:12px;--uilint-radius-sm:8px;--uilint-radius-lg:16px;--uilint-transition-fast:.1s ease;--uilint-transition-normal:.15s ease;--uilint-transition-slow:.25s ease;color-scheme:light}.dev-tool-root{color-scheme:light}.dark,.dark .dev-tool-root,.dev-tool-root.dark,.dev-tool-root[data-theme=dark]{--uilint-background:oklch(16% .02 75);--uilint-background-elevated:oklch(22% .025 75);--uilint-foreground:oklch(95% .025 75);--uilint-surface:oklch(16% .02 75);--uilint-surface-elevated:oklch(22% .025 75);--uilint-text-primary:oklch(95% .025 75);--uilint-text-secondary:oklch(82% .03 75);--uilint-text-muted:oklch(65% .035 75);--uilint-text-disabled:oklch(45% .025 75);--uilint-hover:oklch(80% .1 75/.12);--uilint-active:oklch(80% .12 75/.18);--uilint-border:oklch(95% .03 75/.12);--uilint-border-focus:oklch(75% .15 75);--uilint-accent:oklch(75% .15 75);--uilint-accent-foreground:oklch(16% .02 75);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:oklch(75% .183 55.934);--uilint-warning-bg:oklch(75% .183 55.934/.2);--uilint-error:oklch(63.7% .237 25.331);--uilint-error-bg:oklch(63.7% .237 25.331/.2);--uilint-info:oklch(62.3% .214 259);--uilint-info-bg:oklch(62.3% .214 259/.2);--uilint-shadow:0 4px 20px oklch(10% .03 75/.4);--uilint-shadow-lg:0 8px 32px oklch(0% 0 0/.5);--uilint-backdrop:oklch(12% .02 75/.92);--uilint-glass:oklch(18% .02 75/.7);--uilint-glass-border:oklch(100% .02 75/.12);--uilint-glass-highlight:oklch(100% 0 0/.1);--uilint-glass-light:oklch(20% .02 75/.5);--uilint-glass-medium:oklch(18% .02 75/.7);--uilint-glass-heavy:oklch(16% .02 75/.85);--uilint-kbd-background:linear-gradient(180deg,oklch(28% .02 75) 0%,oklch(22% .02 75) 100%);--uilint-kbd-border:oklch(100% 0 0/.1);--uilint-kbd-shadow:0 1px 0 oklch(0% 0 0/.2);--uilint-kbd-text:oklch(75% .03 75);--uilint-button-default-bg:var(--uilint-accent);--uilint-button-default-text:var(--uilint-accent-foreground);--uilint-button-default-border:transparent;--uilint-button-secondary-bg:oklch(25% .02 75);--uilint-button-secondary-text:var(--uilint-text-primary);--uilint-button-secondary-border:var(--uilint-border);--uilint-button-ghost-bg:transparent;--uilint-button-ghost-text:var(--uilint-text-secondary);--uilint-button-ghost-border:transparent;--uilint-button-destructive-bg:var(--uilint-error);--uilint-button-destructive-text:oklch(100% 0 0);--uilint-button-destructive-border:transparent;--uilint-button-outline-bg:transparent;--uilint-button-outline-text:var(--uilint-text-primary);--uilint-button-outline-border:var(--uilint-border);--uilint-button-glass-bg:var(--uilint-glass-medium);--uilint-button-glass-text:var(--uilint-text-primary);--uilint-button-glass-border:var(--uilint-glass-border);--uilint-input-bg:oklch(20% .02 75/.6);--uilint-input-border:var(--uilint-border);--uilint-input-border-focus:var(--uilint-border-focus);--uilint-input-placeholder:var(--uilint-text-muted);--uilint-input-ring:oklch(75% .15 75/.25);--uilint-card-bg:var(--uilint-surface);--uilint-card-border:var(--uilint-border);--uilint-card-shadow:0 1px 3px oklch(0% 0 0/.2);--uilint-card-shadow-hover:0 4px 12px oklch(0% 0 0/.3);--uilint-card-elevated-bg:var(--uilint-surface-elevated);--uilint-card-elevated-shadow:0 4px 16px oklch(0% 0 0/.4);--uilint-card-glass-bg:var(--uilint-glass-medium);--uilint-card-glass-border:var(--uilint-glass-border);--uilint-scrollbar-track:oklch(22% .02 75);--uilint-scrollbar-thumb:oklch(40% .04 75);--uilint-scrollbar-thumb-hover:oklch(50% .05 75);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not(.light) .dev-tool-root:not(.light):not([data-theme=light]),.dev-tool-root:not(.light):not([data-theme=light]){--uilint-background:oklch(16% .02 75);--uilint-background-elevated:oklch(22% .025 75);--uilint-foreground:oklch(95% .025 75);--uilint-surface:oklch(16% .02 75);--uilint-surface-elevated:oklch(22% .025 75);--uilint-text-primary:oklch(95% .025 75);--uilint-text-secondary:oklch(82% .03 75);--uilint-text-muted:oklch(65% .035 75);--uilint-text-disabled:oklch(45% .025 75);--uilint-hover:oklch(80% .1 75/.12);--uilint-active:oklch(80% .12 75/.18);--uilint-border:oklch(95% .03 75/.12);--uilint-border-focus:oklch(75% .15 75);--uilint-accent:oklch(75% .15 75);--uilint-accent-foreground:oklch(16% .02 75);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.2);--uilint-warning:oklch(75% .183 55.934);--uilint-warning-bg:oklch(75% .183 55.934/.2);--uilint-error:oklch(63.7% .237 25.331);--uilint-error-bg:oklch(63.7% .237 25.331/.2);--uilint-shadow:0 4px 20px oklch(10% .03 75/.4);--uilint-backdrop:oklch(12% .02 75/.92);--uilint-glass:oklch(18% .02 75/.7);--uilint-glass-border:oklch(100% .02 75/.12);--uilint-scrollbar-track:oklch(22% .02 75);--uilint-scrollbar-thumb:oklch(40% .04 75);--uilint-scrollbar-thumb-hover:oklch(50% .05 75);color-scheme:dark}}.light,.light .dev-tool-root,.dev-tool-root.light,.dev-tool-root[data-theme=light]{--uilint-background:oklch(98.5% .015 75);--uilint-background-elevated:oklch(97% .02 75);--uilint-foreground:oklch(18% .02 75);--uilint-surface:oklch(98.5% .015 75);--uilint-surface-elevated:oklch(97% .02 75);--uilint-text-primary:oklch(18% .02 75);--uilint-text-secondary:oklch(40% .025 75);--uilint-text-muted:oklch(55% .03 75);--uilint-text-disabled:oklch(70% .02 75);--uilint-hover:oklch(75% .08 75/.15);--uilint-active:oklch(70% .1 75/.2);--uilint-border:oklch(90% .025 75);--uilint-border-focus:oklch(70% .15 75);--uilint-accent:oklch(70% .16 75);--uilint-accent-foreground:oklch(98.5% .015 75);--uilint-success:oklch(72.3% .191 142.5);--uilint-success-bg:oklch(72.3% .191 142.5/.15);--uilint-warning:oklch(75% .183 55.934);--uilint-warning-bg:oklch(75% .183 55.934/.15);--uilint-error:oklch(63.7% .237 25.331);--uilint-error-bg:oklch(63.7% .237 25.331/.15);--uilint-shadow:0 4px 20px oklch(30% .05 75/.15);--uilint-backdrop:oklch(98.5% .015 75/.92);--uilint-glass:oklch(99% .01 75/.7);--uilint-glass-border:oklch(100% .02 75/.25);--uilint-scrollbar-track:oklch(92% .02 75);--uilint-scrollbar-thumb:oklch(70% .04 75);--uilint-scrollbar-thumb-hover:oklch(55% .05 75);color-scheme:light}@keyframes uilint-fade-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes uilint-fade-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes uilint-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes uilint-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes uilint-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uilint-popover-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-ui-lint] *{scrollbar-width:thin;scrollbar-color:var(--uilint-scrollbar-thumb)var(--uilint-scrollbar-track)}[data-ui-lint] ::-webkit-scrollbar{width:8px;height:8px}[data-ui-lint] ::-webkit-scrollbar-track{background:var(--uilint-scrollbar-track);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb{background:var(--uilint-scrollbar-thumb);border-radius:4px}[data-ui-lint] ::-webkit-scrollbar-thumb:hover{background:var(--uilint-scrollbar-thumb-hover)}@media(max-width:767px){.dev-tool-root{--uilint-radius:16px}}.safe-area-padding-top{padding-top:env(safe-area-inset-top,0px)}.safe-area-padding-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-area-padding-left{padding-left:env(safe-area-inset-left,0px)}.safe-area-padding-right{padding-right:env(safe-area-inset-right,0px)}@keyframes uilint-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes uilint-sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(pointer:coarse){.dev-tool-root button:focus-visible,.dev-tool-root [role=button]:focus-visible{outline-offset:2px}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}`;
|
|
16525
16506
|
let ri = !1;
|
|
16526
|
-
const
|
|
16527
|
-
function
|
|
16507
|
+
const vs = "uilint-devtool-root";
|
|
16508
|
+
function bs() {
|
|
16528
16509
|
return typeof window < "u";
|
|
16529
16510
|
}
|
|
16530
16511
|
function Zb({
|
|
@@ -16536,32 +16517,32 @@ function Zb({
|
|
|
16536
16517
|
return e === "static" && !n && console.warn("[DevTool] Static mode requires manifestUrl prop"), G(() => {
|
|
16537
16518
|
r(!0);
|
|
16538
16519
|
}, []), G(() => {
|
|
16539
|
-
if (!
|
|
16520
|
+
if (!bs() || !t) return;
|
|
16540
16521
|
jb(Lb);
|
|
16541
16522
|
const c = document.querySelector(
|
|
16542
|
-
`.${
|
|
16523
|
+
`.${vs}`
|
|
16543
16524
|
);
|
|
16544
16525
|
if (c) {
|
|
16545
16526
|
a.current = c, l.current = !1;
|
|
16546
16527
|
return;
|
|
16547
16528
|
}
|
|
16548
16529
|
const u = document.createElement("div");
|
|
16549
|
-
return u.className =
|
|
16530
|
+
return u.className = vs, u.setAttribute("data-ui-lint-root", "true"), document.body.appendChild(u), a.current = u, l.current = !0, () => {
|
|
16550
16531
|
l.current && a.current?.remove(), a.current = null, l.current = !1;
|
|
16551
16532
|
};
|
|
16552
16533
|
}, [t]), G(() => {
|
|
16553
|
-
if (!
|
|
16534
|
+
if (!bs() || !t || !i) return;
|
|
16554
16535
|
let c = null;
|
|
16555
16536
|
const u = e === "static" && n;
|
|
16556
16537
|
async function h() {
|
|
16557
|
-
u ? (console.log("[DevTool] Configuring static mode with manifest:", n), rb(n)) : sb(), ri || (mt.register(lb), mt.register(Sb), mt.register(Mb), await pc({ websocket: Bt, domObserver:
|
|
16558
|
-
f ? (console.log("[DevTool] WebSocket connected, starting DOM observer"),
|
|
16538
|
+
u ? (console.log("[DevTool] Configuring static mode with manifest:", n), rb(n)) : sb(), ri || (mt.register(lb), mt.register(Sb), mt.register(Mb), await pc({ websocket: Bt, domObserver: Ae }), ri = !0, console.log("[DevTool] Plugins initialized in", u ? "static" : "websocket", "mode")), s(!0), u ? (console.log("[DevTool] Static mode: starting DOM observer"), Ae.start()) : (Bt.connect(), c = Bt.onConnectionChange((f) => {
|
|
16539
|
+
f ? (console.log("[DevTool] WebSocket connected, starting DOM observer"), Ae.start()) : (console.log(
|
|
16559
16540
|
"[DevTool] WebSocket disconnected, stopping DOM observer"
|
|
16560
|
-
),
|
|
16541
|
+
), Ae.stop());
|
|
16561
16542
|
}));
|
|
16562
16543
|
}
|
|
16563
16544
|
return h(), () => {
|
|
16564
|
-
c?.(), u || Bt.disconnect(),
|
|
16545
|
+
c?.(), u || Bt.disconnect(), Ae.stop();
|
|
16565
16546
|
};
|
|
16566
16547
|
}, [t, i, e, n]), !t || !i || !o ? null : /* @__PURE__ */ d.jsx(Zm, { enabled: t });
|
|
16567
16548
|
}
|