@mhmo91/schmancy 0.9.18 → 0.9.19
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/agent/index.es-Dymj8REP.js +489 -0
- package/dist/agent/index.es-Dymj8REP.js.map +1 -0
- package/dist/agent/schmancy.agent.js +70 -557
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{flow-BGkHnOnd.js.map → flow-BPDtbhLe.js.map} +1 -1
- package/dist/{flow-ClAJ6Qby.cjs.map → flow-Dn9AZktE.cjs.map} +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/index.cjs +1 -1
- package/dist/index.es-BgmFX1JM.cjs +1 -0
- package/dist/index.es-BgmFX1JM.cjs.map +1 -0
- package/dist/index.es-CLyb_o3Y.js +489 -0
- package/dist/index.es-CLyb_o3Y.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{splash-screen-COg3Z6n8.js.map → splash-screen-BHgb3c3Q.js.map} +1 -1
- package/dist/{splash-screen-C9HqX2nR.cjs.map → splash-screen-DteUfSV3.cjs.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-C7niWYur.js → src-BGj6ufWS.js} +4 -4
- package/dist/{src-C7niWYur.js.map → src-BGj6ufWS.js.map} +1 -1
- package/dist/{src-I4M33WK2.cjs → src-BPKGdQdp.cjs} +1 -1
- package/dist/{src-I4M33WK2.cjs.map → src-BPKGdQdp.cjs.map} +1 -1
- package/dist/{table-B-DsOqzT.cjs → table-DFlJhG5E.cjs} +1 -1
- package/dist/{table-B-DsOqzT.cjs.map → table-DFlJhG5E.cjs.map} +1 -1
- package/dist/{table-hBEZRxM_.js → table-Dwt66SR6.js} +1 -1
- package/dist/{table-hBEZRxM_.js.map → table-Dwt66SR6.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/typewriter.cjs +123 -1
- package/dist/typewriter.cjs.map +1 -0
- package/dist/typewriter.js +214 -2
- package/dist/typewriter.js.map +1 -0
- package/dist/{utils-xBXLvebz.js.map → utils-Bp2jhyZc.js.map} +1 -1
- package/dist/{utils-2qrmPb78.cjs.map → utils-CBPQvxNW.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/src/typewriter/typewriter.ts +26 -4
- package/types/src/typewriter/typewriter.d.ts +4 -1
- package/dist/typewriter-DyN7xa0n.js +0 -701
- package/dist/typewriter-DyN7xa0n.js.map +0 -1
- package/dist/typewriter-LK0S4NEr.cjs +0 -123
- package/dist/typewriter-LK0S4NEr.cjs.map +0 -1
- /package/dist/{flow-BGkHnOnd.js → flow-BPDtbhLe.js} +0 -0
- /package/dist/{flow-ClAJ6Qby.cjs → flow-Dn9AZktE.cjs} +0 -0
- /package/dist/{splash-screen-COg3Z6n8.js → splash-screen-BHgb3c3Q.js} +0 -0
- /package/dist/{splash-screen-C9HqX2nR.cjs → splash-screen-DteUfSV3.cjs} +0 -0
- /package/dist/{utils-xBXLvebz.js → utils-Bp2jhyZc.js} +0 -0
- /package/dist/{utils-2qrmPb78.cjs → utils-CBPQvxNW.cjs} +0 -0
|
@@ -29293,494 +29293,7 @@ var rp = class extends B(I`
|
|
|
29293
29293
|
}
|
|
29294
29294
|
};
|
|
29295
29295
|
P([L({ type: Boolean })], rp.prototype, "open", void 0), P([z("#toggler")], rp.prototype, "toggler", void 0), P([z("slot:not([name=\"root\"])")], rp.prototype, "defaultSlot", void 0), P([z("#chevron")], rp.prototype, "chevron", void 0), rp = P([F("schmancy-tree")], rp);
|
|
29296
|
-
var ip =
|
|
29297
|
-
started: !1,
|
|
29298
|
-
completed: !1,
|
|
29299
|
-
frozen: !1,
|
|
29300
|
-
destroyed: !1
|
|
29301
|
-
}, lp = {
|
|
29302
|
-
breakLines: !0,
|
|
29303
|
-
cursor: {
|
|
29304
|
-
autoPause: !0,
|
|
29305
|
-
autoPauseDelay: 500,
|
|
29306
|
-
animation: {
|
|
29307
|
-
frames: [
|
|
29308
|
-
0,
|
|
29309
|
-
0,
|
|
29310
|
-
1
|
|
29311
|
-
].map((e) => ({ opacity: e })),
|
|
29312
|
-
options: {
|
|
29313
|
-
iterations: Infinity,
|
|
29314
|
-
easing: "steps(2, start)",
|
|
29315
|
-
fill: "forwards"
|
|
29316
|
-
}
|
|
29317
|
-
}
|
|
29318
|
-
},
|
|
29319
|
-
cursorChar: "|",
|
|
29320
|
-
cursorSpeed: 1e3,
|
|
29321
|
-
deleteSpeed: null,
|
|
29322
|
-
html: !0,
|
|
29323
|
-
lifeLike: !0,
|
|
29324
|
-
loop: !1,
|
|
29325
|
-
loopDelay: 750,
|
|
29326
|
-
nextStringDelay: 750,
|
|
29327
|
-
speed: 100,
|
|
29328
|
-
startDelay: 250,
|
|
29329
|
-
startDelete: !1,
|
|
29330
|
-
strings: [],
|
|
29331
|
-
waitUntilVisible: !1,
|
|
29332
|
-
beforeString: () => {},
|
|
29333
|
-
afterString: () => {},
|
|
29334
|
-
beforeStep: () => {},
|
|
29335
|
-
afterStep: () => {},
|
|
29336
|
-
afterComplete: () => {}
|
|
29337
|
-
}, up = `[${op}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`, dp = (e) => document.createElement(e), fp = (e) => document.createTextNode(e), pp = (e, t = "") => {
|
|
29338
|
-
let n = dp("style");
|
|
29339
|
-
n.id = t, n.appendChild(fp(e)), document.head.appendChild(n);
|
|
29340
|
-
}, mp = (e) => (ip(e) || (e = [e / 2, e / 2]), e), hp = (e, t) => Math.abs(Math.random() * (e + t - (e - t)) + (e - t)), gp = (e) => e / 2, _p = (e) => Array.from(e), vp = (e) => ([...e.childNodes].forEach((e) => {
|
|
29341
|
-
if (e.nodeValue) return [...e.nodeValue].forEach((t) => {
|
|
29342
|
-
e.parentNode.insertBefore(fp(t), e);
|
|
29343
|
-
}), void e.remove();
|
|
29344
|
-
vp(e);
|
|
29345
|
-
}), e), yp = (e) => {
|
|
29346
|
-
let t = document.implementation.createHTMLDocument();
|
|
29347
|
-
return t.body.innerHTML = e, vp(t.body);
|
|
29348
|
-
};
|
|
29349
|
-
function bp(e, t = !1, n = !1) {
|
|
29350
|
-
let r, i = e.querySelector(`.${sp}`), a = document.createTreeWalker(e, NodeFilter.SHOW_ALL, { acceptNode: (e) => {
|
|
29351
|
-
if (i && n) {
|
|
29352
|
-
if (e.classList?.contains(sp)) return NodeFilter.FILTER_ACCEPT;
|
|
29353
|
-
if (i.contains(e)) return NodeFilter.FILTER_REJECT;
|
|
29354
|
-
}
|
|
29355
|
-
return e.classList?.contains(sp) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
29356
|
-
} }), o = [];
|
|
29357
|
-
for (; r = a.nextNode();) r.originalParent ||= r.parentNode, o.push(r);
|
|
29358
|
-
return t ? o.reverse() : o;
|
|
29359
|
-
}
|
|
29360
|
-
function xp(e, t = !0) {
|
|
29361
|
-
return t ? bp(yp(e)) : _p(e).map(fp);
|
|
29362
|
-
}
|
|
29363
|
-
var Sp = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
29364
|
-
for (let i = e + 1; i < t + 1; i++) r(n[i][0]);
|
|
29365
|
-
}, Cp = (e) => Number.isInteger(e), wp = ({ queueItems: e, selector: t, cursorPosition: n, to: r }) => {
|
|
29366
|
-
if (Cp(t)) return -1 * t;
|
|
29367
|
-
let i = (/* @__PURE__ */ RegExp("END", "i")).test(r), a = t ? [...e].reverse().findIndex(({ char: e }) => {
|
|
29368
|
-
let n = e.parentElement, r = n.matches(t);
|
|
29369
|
-
return !(!i || !r) || r && n.firstChild.isSameNode(e);
|
|
29370
|
-
}) : -1;
|
|
29371
|
-
return a < 0 && (a = i ? 0 : e.length - 1), a - n + +!i;
|
|
29372
|
-
}, Tp = (e, t) => Array(t).fill(e), Ep = (e) => new Promise((t) => {
|
|
29373
|
-
requestAnimationFrame(async () => {
|
|
29374
|
-
t(await e());
|
|
29375
|
-
});
|
|
29376
|
-
}), Dp = (e) => e?.getAnimations().find((t) => t.id === e.dataset.tiAnimationId), Op = ({ cursor: e, frames: t, options: n }) => {
|
|
29377
|
-
let r = e.animate(t, n);
|
|
29378
|
-
return r.pause(), r.id = e.dataset.tiAnimationId, Ep(() => {
|
|
29379
|
-
Ep(() => {
|
|
29380
|
-
r.play();
|
|
29381
|
-
});
|
|
29382
|
-
}), r;
|
|
29383
|
-
}, kp = (e) => e.func?.call(null), Ap = async ({ index: e, queueItems: t, wait: n, cursor: r, cursorOptions: i }) => {
|
|
29384
|
-
let a = t[e][1], o = [], s = e, c = a, l = () => c && !c.delay, u = a.shouldPauseCursor() && i.autoPause;
|
|
29385
|
-
for (; l();) o.push(c), l() && s++, c = t[s] ? t[s][1] : null;
|
|
29386
|
-
if (o.length) return await Ep(async () => {
|
|
29387
|
-
for (let e of o) await kp(e);
|
|
29388
|
-
}), s - 1;
|
|
29389
|
-
let d, f = Dp(r);
|
|
29390
|
-
return f && (d = {
|
|
29391
|
-
...f.effect.getComputedTiming(),
|
|
29392
|
-
delay: u ? i.autoPauseDelay : 0
|
|
29393
|
-
}), await n(async () => {
|
|
29394
|
-
f && u && f.cancel(), await Ep(() => {
|
|
29395
|
-
kp(a);
|
|
29396
|
-
});
|
|
29397
|
-
}, a.delay), await (({ cursor: e, options: t, cursorOptions: n }) => {
|
|
29398
|
-
if (!e || !n) return;
|
|
29399
|
-
let r, i = Dp(e);
|
|
29400
|
-
i && (t.delay = i.effect.getComputedTiming().delay, r = i.currentTime, i.cancel());
|
|
29401
|
-
let a = Op({
|
|
29402
|
-
cursor: e,
|
|
29403
|
-
frames: n.animation.frames,
|
|
29404
|
-
options: t
|
|
29405
|
-
});
|
|
29406
|
-
return r && (a.currentTime = r), a;
|
|
29407
|
-
})({
|
|
29408
|
-
cursor: r,
|
|
29409
|
-
options: d,
|
|
29410
|
-
cursorOptions: i
|
|
29411
|
-
}), e;
|
|
29412
|
-
}, jp = (e) => "value" in e, Mp = (e) => typeof e == "function" ? e() : e, Np = (e, t = document, n = !1) => t["querySelector" + (n ? "All" : "")](e), Pp = (e, t) => Object.assign({}, e, t), Fp = {
|
|
29413
|
-
"font-family": "",
|
|
29414
|
-
"font-weight": "",
|
|
29415
|
-
"font-size": "",
|
|
29416
|
-
"font-style": "",
|
|
29417
|
-
"line-height": "",
|
|
29418
|
-
color: "",
|
|
29419
|
-
transform: "translateX(-.125em)"
|
|
29420
|
-
}, Ip = class {
|
|
29421
|
-
element;
|
|
29422
|
-
timeouts;
|
|
29423
|
-
cursorPosition;
|
|
29424
|
-
predictedCursorPosition;
|
|
29425
|
-
statuses = {
|
|
29426
|
-
started: !1,
|
|
29427
|
-
completed: !1,
|
|
29428
|
-
frozen: !1,
|
|
29429
|
-
destroyed: !1,
|
|
29430
|
-
firing: !1
|
|
29431
|
-
};
|
|
29432
|
-
opts;
|
|
29433
|
-
id;
|
|
29434
|
-
queue;
|
|
29435
|
-
cursor;
|
|
29436
|
-
flushCallback = null;
|
|
29437
|
-
unfreeze = () => {};
|
|
29438
|
-
constructor(e, t = {}) {
|
|
29439
|
-
var n;
|
|
29440
|
-
this.opts = Pp(lp, t), this.element = typeof (n = e) == "string" ? Np(n) : n, this.timeouts = [], this.cursorPosition = 0, this.unfreeze = () => {}, this.predictedCursorPosition = null, this.statuses = Pp({}, cp), this.id = Math.random().toString().substring(2, 9), this.queue = function(e) {
|
|
29441
|
-
let t = function(e) {
|
|
29442
|
-
return ap(e).forEach((e) => a.set(Symbol(e.char?.innerText), n({ ...e }))), this;
|
|
29443
|
-
}, n = (e) => (e.shouldPauseCursor = function() {
|
|
29444
|
-
return !!(this.typeable || this.cursorable || this.deletable);
|
|
29445
|
-
}, e), r = () => a, i = () => Array.from(a.values()), a = /* @__PURE__ */ new Map();
|
|
29446
|
-
return t(e), {
|
|
29447
|
-
add: t,
|
|
29448
|
-
set: function(e, t) {
|
|
29449
|
-
let r = [...a.keys()];
|
|
29450
|
-
a.set(r[e], n(t));
|
|
29451
|
-
},
|
|
29452
|
-
wipe: function() {
|
|
29453
|
-
a = /* @__PURE__ */ new Map(), t(e);
|
|
29454
|
-
},
|
|
29455
|
-
done: (e, t = !1) => t ? a.delete(e) : a.get(e).done = !0,
|
|
29456
|
-
reset: function() {
|
|
29457
|
-
a.forEach((e) => delete e.done);
|
|
29458
|
-
},
|
|
29459
|
-
destroy: (e) => a.delete(e),
|
|
29460
|
-
getItems: (e = !1) => e ? i() : i().filter((e) => !e.done),
|
|
29461
|
-
getQueue: r,
|
|
29462
|
-
getTypeable: () => i().filter((e) => e.typeable),
|
|
29463
|
-
getPendingQueueItems: () => {
|
|
29464
|
-
let e = [];
|
|
29465
|
-
for (let [, t] of r()) t.done || e.push(t);
|
|
29466
|
-
return e;
|
|
29467
|
-
}
|
|
29468
|
-
};
|
|
29469
|
-
}([{ delay: this.opts.startDelay }]), this.#p(t), this.cursor = this.#h(), this.element.dataset.typeitId = this.id, pp(up), this.opts.strings.length && this.#f();
|
|
29470
|
-
}
|
|
29471
|
-
go() {
|
|
29472
|
-
return this.statuses.started ? this : (this.#o(), this.opts.waitUntilVisible ? (e = this.element, t = this.#t.bind(this), new IntersectionObserver((n, r) => {
|
|
29473
|
-
n.forEach((n) => {
|
|
29474
|
-
n.isIntersecting && (t(), r.unobserve(e));
|
|
29475
|
-
});
|
|
29476
|
-
}, { threshold: 1 }).observe(e), this) : (this.#t(), this));
|
|
29477
|
-
var e, t;
|
|
29478
|
-
}
|
|
29479
|
-
destroy(e = !0) {
|
|
29480
|
-
this.timeouts = (this.timeouts.forEach(clearTimeout), []), Mp(e) && this.cursor && this.#y(this.cursor), this.statuses.destroyed = !0;
|
|
29481
|
-
}
|
|
29482
|
-
reset(e) {
|
|
29483
|
-
!this.is("destroyed") && this.destroy(), e ? (this.queue.wipe(), e(this)) : this.queue.reset(), this.cursorPosition = 0;
|
|
29484
|
-
for (let e in this.statuses) this.statuses[e] = !1;
|
|
29485
|
-
return this.element[this.#s() ? "value" : "innerHTML"] = "", this;
|
|
29486
|
-
}
|
|
29487
|
-
is = function(e) {
|
|
29488
|
-
return this.statuses[e];
|
|
29489
|
-
};
|
|
29490
|
-
type(e, t = {}) {
|
|
29491
|
-
e = Mp(e);
|
|
29492
|
-
let { instant: n } = t, r = this.#u(t), i = xp(e, this.opts.html).map((e) => {
|
|
29493
|
-
return {
|
|
29494
|
-
func: () => this.#_(e),
|
|
29495
|
-
char: e,
|
|
29496
|
-
delay: n || (t = e, /<(.+)>(.*?)<\/(.+)>/.test(t.outerHTML)) ? 0 : this.#b(),
|
|
29497
|
-
typeable: e.nodeType === Node.TEXT_NODE
|
|
29498
|
-
};
|
|
29499
|
-
var t;
|
|
29500
|
-
}), a = [
|
|
29501
|
-
r[0],
|
|
29502
|
-
{ func: async () => await this.opts.beforeString(e, this) },
|
|
29503
|
-
...i,
|
|
29504
|
-
{ func: async () => await this.opts.afterString(e, this) },
|
|
29505
|
-
r[1]
|
|
29506
|
-
];
|
|
29507
|
-
return this.#c(a, t);
|
|
29508
|
-
}
|
|
29509
|
-
break(e = {}) {
|
|
29510
|
-
return this.#c({
|
|
29511
|
-
func: () => this.#_(dp("BR")),
|
|
29512
|
-
typeable: !0
|
|
29513
|
-
}, e);
|
|
29514
|
-
}
|
|
29515
|
-
move(e, t = {}) {
|
|
29516
|
-
e = Mp(e);
|
|
29517
|
-
let n = this.#u(t), { instant: r, to: i } = t, a = wp({
|
|
29518
|
-
queueItems: this.queue.getTypeable(),
|
|
29519
|
-
selector: e === null ? "" : e,
|
|
29520
|
-
to: i,
|
|
29521
|
-
cursorPosition: this.#x
|
|
29522
|
-
}), o = a < 0 ? -1 : 1;
|
|
29523
|
-
return this.predictedCursorPosition = this.#x + a, this.#c([
|
|
29524
|
-
n[0],
|
|
29525
|
-
...Tp({
|
|
29526
|
-
func: () => this.#n(o),
|
|
29527
|
-
delay: r ? 0 : this.#b(),
|
|
29528
|
-
cursorable: !0
|
|
29529
|
-
}, Math.abs(a)),
|
|
29530
|
-
n[1]
|
|
29531
|
-
], t);
|
|
29532
|
-
}
|
|
29533
|
-
exec(e, t = {}) {
|
|
29534
|
-
let n = this.#u(t);
|
|
29535
|
-
return this.#c([
|
|
29536
|
-
n[0],
|
|
29537
|
-
{ func: () => e(this) },
|
|
29538
|
-
n[1]
|
|
29539
|
-
], t);
|
|
29540
|
-
}
|
|
29541
|
-
options(e, t = {}) {
|
|
29542
|
-
return e = Mp(e), this.#d(e), this.#c({}, t);
|
|
29543
|
-
}
|
|
29544
|
-
pause(e, t = {}) {
|
|
29545
|
-
return this.#c({ delay: Mp(e) }, t);
|
|
29546
|
-
}
|
|
29547
|
-
delete(e = null, t = {}) {
|
|
29548
|
-
e = Mp(e);
|
|
29549
|
-
let n = this.#u(t), r = e, { instant: i, to: a } = t, o = this.queue.getTypeable(), s = r === null ? o.length : Cp(r) ? r : wp({
|
|
29550
|
-
queueItems: o,
|
|
29551
|
-
selector: r,
|
|
29552
|
-
cursorPosition: this.#x,
|
|
29553
|
-
to: a
|
|
29554
|
-
});
|
|
29555
|
-
return this.#c([
|
|
29556
|
-
n[0],
|
|
29557
|
-
...Tp({
|
|
29558
|
-
func: this.#v.bind(this),
|
|
29559
|
-
delay: i ? 0 : this.#b(1),
|
|
29560
|
-
deletable: !0
|
|
29561
|
-
}, s),
|
|
29562
|
-
n[1]
|
|
29563
|
-
], t);
|
|
29564
|
-
}
|
|
29565
|
-
freeze() {
|
|
29566
|
-
this.statuses.frozen = !0;
|
|
29567
|
-
}
|
|
29568
|
-
flush(e = null) {
|
|
29569
|
-
return this.flushCallback = e || this.flushCallback, this.statuses.firing || (this.#o(), this.#t(!1).then(() => {
|
|
29570
|
-
if (this.queue.getPendingQueueItems().length > 0) return this.flush();
|
|
29571
|
-
this.flushCallback(), this.flushCallback = null;
|
|
29572
|
-
})), this;
|
|
29573
|
-
}
|
|
29574
|
-
getQueue() {
|
|
29575
|
-
return this.queue;
|
|
29576
|
-
}
|
|
29577
|
-
getOptions() {
|
|
29578
|
-
return this.opts;
|
|
29579
|
-
}
|
|
29580
|
-
updateOptions(e) {
|
|
29581
|
-
return this.#d(e);
|
|
29582
|
-
}
|
|
29583
|
-
getElement() {
|
|
29584
|
-
return this.element;
|
|
29585
|
-
}
|
|
29586
|
-
empty(e = {}) {
|
|
29587
|
-
return this.#c({ func: this.#e.bind(this) }, e);
|
|
29588
|
-
}
|
|
29589
|
-
async #e() {
|
|
29590
|
-
this.#s() ? this.element.value = "" : this.#w.forEach(this.#y.bind(this));
|
|
29591
|
-
}
|
|
29592
|
-
async #t(e = !0) {
|
|
29593
|
-
this.statuses.started = !0, this.statuses.firing = !0;
|
|
29594
|
-
let t = (t) => {
|
|
29595
|
-
this.queue.done(t, !e);
|
|
29596
|
-
};
|
|
29597
|
-
try {
|
|
29598
|
-
let n = [...this.queue.getQueue()];
|
|
29599
|
-
for (let e = 0; e < n.length; e++) {
|
|
29600
|
-
let [r, i] = n[e];
|
|
29601
|
-
if (!i.done) {
|
|
29602
|
-
if (!i.deletable || i.deletable && this.#w.length) {
|
|
29603
|
-
let r = await this.#i(e, n);
|
|
29604
|
-
Sp({
|
|
29605
|
-
index: e,
|
|
29606
|
-
newIndex: r,
|
|
29607
|
-
queueItems: n,
|
|
29608
|
-
cleanUp: t
|
|
29609
|
-
}), e = r;
|
|
29610
|
-
}
|
|
29611
|
-
t(r);
|
|
29612
|
-
}
|
|
29613
|
-
}
|
|
29614
|
-
if (!e) return this.statuses.firing = !1, this;
|
|
29615
|
-
if (this.statuses.completed = !0, this.statuses.firing = !1, await this.opts.afterComplete(this), !this.opts.loop) throw "";
|
|
29616
|
-
let r = this.opts.loopDelay;
|
|
29617
|
-
this.#a(async () => {
|
|
29618
|
-
await this.#r(r[0]), this.#t();
|
|
29619
|
-
}, r[1]);
|
|
29620
|
-
} catch {}
|
|
29621
|
-
return this.statuses.firing = !1, this;
|
|
29622
|
-
}
|
|
29623
|
-
async #n(e) {
|
|
29624
|
-
var t, n, r;
|
|
29625
|
-
this.cursorPosition = (t = e, n = this.cursorPosition, r = this.#w, Math.min(Math.max(n + t, 0), r.length)), ((e, t, n) => {
|
|
29626
|
-
let r = t[n - 1], i = Np(`.${sp}`, e);
|
|
29627
|
-
(e = r?.parentNode || e).insertBefore(i, r || null);
|
|
29628
|
-
})(this.element, this.#w, this.cursorPosition);
|
|
29629
|
-
}
|
|
29630
|
-
async #r(e) {
|
|
29631
|
-
let t = this.#x;
|
|
29632
|
-
t && await this.#n({ value: t });
|
|
29633
|
-
let n = this.#w.map((e) => [Symbol(), {
|
|
29634
|
-
func: this.#v.bind(this),
|
|
29635
|
-
delay: this.#b(1),
|
|
29636
|
-
deletable: !0,
|
|
29637
|
-
shouldPauseCursor: () => !0
|
|
29638
|
-
}]);
|
|
29639
|
-
for (let e = 0; e < n.length; e++) await this.#i(e, n);
|
|
29640
|
-
this.queue.reset(), this.queue.set(0, { delay: e });
|
|
29641
|
-
}
|
|
29642
|
-
#i(e, t) {
|
|
29643
|
-
return Ap({
|
|
29644
|
-
index: e,
|
|
29645
|
-
queueItems: t,
|
|
29646
|
-
wait: this.#a.bind(this),
|
|
29647
|
-
cursor: this.cursor,
|
|
29648
|
-
cursorOptions: this.opts.cursor
|
|
29649
|
-
});
|
|
29650
|
-
}
|
|
29651
|
-
async #a(e, t, n = !1) {
|
|
29652
|
-
this.statuses.frozen && await new Promise((e) => {
|
|
29653
|
-
this.unfreeze = () => {
|
|
29654
|
-
this.statuses.frozen = !1, e();
|
|
29655
|
-
};
|
|
29656
|
-
}), n || await this.opts.beforeStep(this), await ((e, t, n) => new Promise((r) => {
|
|
29657
|
-
n.push(setTimeout(async () => {
|
|
29658
|
-
await e(), r();
|
|
29659
|
-
}, t || 0));
|
|
29660
|
-
}))(e, t, this.timeouts), n || await this.opts.afterStep(this);
|
|
29661
|
-
}
|
|
29662
|
-
async #o() {
|
|
29663
|
-
if (!this.#s() && this.cursor && this.element.appendChild(this.cursor), this.#C) {
|
|
29664
|
-
((e, t) => {
|
|
29665
|
-
let n = `[${op}='${e}'] .${sp}`, r = getComputedStyle(t);
|
|
29666
|
-
pp(`${n} { display: inline-block; width: 0; ${Object.entries(Fp).reduce((e, [t, n]) => `${e} ${t}: var(--ti-cursor-${t}, ${n || r[t]});`, "")} }`, e);
|
|
29667
|
-
})(this.id, this.element), this.cursor.dataset.tiAnimationId = this.id;
|
|
29668
|
-
let { animation: e } = this.opts.cursor, { frames: t, options: n } = e;
|
|
29669
|
-
Op({
|
|
29670
|
-
frames: t,
|
|
29671
|
-
cursor: this.cursor,
|
|
29672
|
-
options: {
|
|
29673
|
-
duration: this.opts.cursorSpeed,
|
|
29674
|
-
...n
|
|
29675
|
-
}
|
|
29676
|
-
});
|
|
29677
|
-
}
|
|
29678
|
-
}
|
|
29679
|
-
#s() {
|
|
29680
|
-
return jp(this.element);
|
|
29681
|
-
}
|
|
29682
|
-
#c(e, t) {
|
|
29683
|
-
return this.queue.add(e), this.#l(t), this;
|
|
29684
|
-
}
|
|
29685
|
-
#l(e = {}) {
|
|
29686
|
-
let t = e.delay;
|
|
29687
|
-
t && this.queue.add({ delay: t });
|
|
29688
|
-
}
|
|
29689
|
-
#u(e = {}) {
|
|
29690
|
-
return [{ func: () => this.#d(e) }, { func: () => this.#d(this.opts) }];
|
|
29691
|
-
}
|
|
29692
|
-
async #d(e) {
|
|
29693
|
-
this.opts = Pp(this.opts, e);
|
|
29694
|
-
}
|
|
29695
|
-
#f() {
|
|
29696
|
-
let e = this.opts.strings.filter((e) => !!e);
|
|
29697
|
-
e.forEach((t, n) => {
|
|
29698
|
-
if (this.type(t), n + 1 === e.length) return;
|
|
29699
|
-
let r = this.opts.breakLines ? [{
|
|
29700
|
-
func: () => this.#_(dp("BR")),
|
|
29701
|
-
typeable: !0
|
|
29702
|
-
}] : Tp({
|
|
29703
|
-
func: this.#v.bind(this),
|
|
29704
|
-
delay: this.#b(1)
|
|
29705
|
-
}, this.queue.getTypeable().length);
|
|
29706
|
-
this.#g(r);
|
|
29707
|
-
});
|
|
29708
|
-
}
|
|
29709
|
-
#p = (e) => {
|
|
29710
|
-
this.opts.cursor = ((e) => {
|
|
29711
|
-
if (typeof e == "object") {
|
|
29712
|
-
let t = {}, { frames: n, options: r } = lp.cursor.animation;
|
|
29713
|
-
return t.animation = e.animation || {}, t.animation.frames = e.animation?.frames || n, t.animation.options = Pp(r, e.animation?.options || {}), t.autoPause = e.autoPause ?? lp.cursor.autoPause, t.autoPauseDelay = e.autoPauseDelay || lp.cursor.autoPauseDelay, t;
|
|
29714
|
-
}
|
|
29715
|
-
return !0 === e ? lp.cursor : e;
|
|
29716
|
-
})(e.cursor ?? lp.cursor), this.opts.strings = this.#m(ap(this.opts.strings)), this.opts = Pp(this.opts, {
|
|
29717
|
-
html: !this.#S && this.opts.html,
|
|
29718
|
-
nextStringDelay: mp(this.opts.nextStringDelay),
|
|
29719
|
-
loopDelay: mp(this.opts.loopDelay)
|
|
29720
|
-
});
|
|
29721
|
-
};
|
|
29722
|
-
#m(e) {
|
|
29723
|
-
let t = this.element.innerHTML;
|
|
29724
|
-
return t ? (this.element.innerHTML = "", this.opts.startDelete ? (this.element.innerHTML = t, vp(this.element), this.#g(Tp({
|
|
29725
|
-
func: this.#v.bind(this),
|
|
29726
|
-
delay: this.#b(1),
|
|
29727
|
-
deletable: !0
|
|
29728
|
-
}, this.#w.length)), e) : (n = t, n.replace(/<!--(.+?)-->/g, "").trim().split(/<br(?:\s*?)(?:\/)?>/)).concat(e)) : e;
|
|
29729
|
-
var n;
|
|
29730
|
-
}
|
|
29731
|
-
#h() {
|
|
29732
|
-
if (this.#S) return null;
|
|
29733
|
-
let e = dp("span");
|
|
29734
|
-
return e.className = sp, this.#C ? (e.innerHTML = yp(this.opts.cursorChar).innerHTML, e) : (e.style.visibility = "hidden", e);
|
|
29735
|
-
}
|
|
29736
|
-
#g(e) {
|
|
29737
|
-
let t = this.opts.nextStringDelay;
|
|
29738
|
-
this.queue.add([
|
|
29739
|
-
{ delay: t[0] },
|
|
29740
|
-
...e,
|
|
29741
|
-
{ delay: t[1] }
|
|
29742
|
-
]);
|
|
29743
|
-
}
|
|
29744
|
-
#_(e) {
|
|
29745
|
-
((e, t) => {
|
|
29746
|
-
if (jp(e)) return void (e.value = `${e.value}${t.textContent}`);
|
|
29747
|
-
t.innerHTML = "";
|
|
29748
|
-
let n = (r = t.originalParent, /body/i.test(r?.tagName) ? e : t.originalParent || e);
|
|
29749
|
-
var r;
|
|
29750
|
-
let i = Np("." + sp, n) || null;
|
|
29751
|
-
i && i.parentElement !== n && (n = i.parentElement), n.insertBefore(t, i);
|
|
29752
|
-
})(this.element, e);
|
|
29753
|
-
}
|
|
29754
|
-
#v() {
|
|
29755
|
-
this.#w.length && (this.#S ? this.element.value = this.element.value.slice(0, -1) : this.#y(this.#w[this.cursorPosition]));
|
|
29756
|
-
}
|
|
29757
|
-
#y(e) {
|
|
29758
|
-
((e, t) => {
|
|
29759
|
-
if (!e) return;
|
|
29760
|
-
let n = e.parentNode;
|
|
29761
|
-
(n.childNodes.length > 1 || n.isSameNode(t) ? e : n).remove();
|
|
29762
|
-
})(e, this.element);
|
|
29763
|
-
}
|
|
29764
|
-
#b(e = 0) {
|
|
29765
|
-
return function(e) {
|
|
29766
|
-
let { speed: t, deleteSpeed: n, lifeLike: r } = e;
|
|
29767
|
-
return n = n === null ? t / 3 : n, r ? [hp(t, gp(t)), hp(n, gp(n))] : [t, n];
|
|
29768
|
-
}(this.opts)[e];
|
|
29769
|
-
}
|
|
29770
|
-
get #x() {
|
|
29771
|
-
return this.predictedCursorPosition ?? this.cursorPosition;
|
|
29772
|
-
}
|
|
29773
|
-
get #S() {
|
|
29774
|
-
return jp(this.element);
|
|
29775
|
-
}
|
|
29776
|
-
get #C() {
|
|
29777
|
-
return !!this.opts.cursor && !this.#S;
|
|
29778
|
-
}
|
|
29779
|
-
get #w() {
|
|
29780
|
-
return e = this.element, jp(e) ? _p(e.value) : bp(e, !0).filter((e) => !(e.childNodes.length > 0));
|
|
29781
|
-
var e;
|
|
29782
|
-
}
|
|
29783
|
-
}, Lp = class extends V(I`
|
|
29296
|
+
var ip = null, ap = class extends V(I`
|
|
29784
29297
|
:host {
|
|
29785
29298
|
display: inline-block;
|
|
29786
29299
|
}
|
|
@@ -29902,7 +29415,7 @@ var Sp = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
|
29902
29415
|
disconnectedCallback() {
|
|
29903
29416
|
super.disconnectedCallback(), this._destroyTypeIt();
|
|
29904
29417
|
}
|
|
29905
|
-
_startTyping() {
|
|
29418
|
+
async _startTyping() {
|
|
29906
29419
|
if (this._destroyTypeIt(), this.sessionKey = this.generateSessionKey(), this.once && sessionStorage.getItem(this.sessionKey) === "true") return void this.shadowRoot?.querySelector("slot")?.removeAttribute("hidden");
|
|
29907
29420
|
if (!this.typewriterContainer) return;
|
|
29908
29421
|
let e = {
|
|
@@ -29921,8 +29434,8 @@ var Sp = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
|
29921
29434
|
composed: !0
|
|
29922
29435
|
})), this.loop || this.typewriterContainer.style.setProperty("--ti-cursor-display", "none");
|
|
29923
29436
|
}
|
|
29924
|
-
};
|
|
29925
|
-
this.typeItInstance = new
|
|
29437
|
+
}, t = await (ip || (ip = import("./index.es-Dymj8REP.js").then((e) => e.default), ip));
|
|
29438
|
+
this.isConnected && (this.typeItInstance = new t(this.typewriterContainer, e), this._getSlottedNodes.forEach((e) => {
|
|
29926
29439
|
if (e.nodeType === Node.TEXT_NODE) {
|
|
29927
29440
|
let t = e.textContent || "";
|
|
29928
29441
|
t.trim() && this.typeItInstance?.type(t);
|
|
@@ -29938,7 +29451,7 @@ var Sp = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
|
29938
29451
|
});
|
|
29939
29452
|
}(this.shadowRoot?.host).subscribe(() => {
|
|
29940
29453
|
this.typeItInstance?.go();
|
|
29941
|
-
});
|
|
29454
|
+
}));
|
|
29942
29455
|
}
|
|
29943
29456
|
generateSessionKey() {
|
|
29944
29457
|
let e = this._getSlottedElements.map((e) => e.outerHTML).join("");
|
|
@@ -29989,18 +29502,18 @@ var Sp = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
|
29989
29502
|
</div> `;
|
|
29990
29503
|
}
|
|
29991
29504
|
};
|
|
29992
|
-
P([L({ type: Number })],
|
|
29505
|
+
P([L({ type: Number })], ap.prototype, "speed", void 0), P([vr({
|
|
29993
29506
|
context: pl,
|
|
29994
29507
|
subscribe: !0
|
|
29995
|
-
}), L({ type: Number })],
|
|
29508
|
+
}), L({ type: Number })], ap.prototype, "delay", void 0), P([L({ type: Boolean })], ap.prototype, "autoStart", void 0), P([L({ type: String })], ap.prototype, "cursorChar", void 0), P([L({ type: Number })], ap.prototype, "deleteSpeed", void 0), P([L({ type: Boolean })], ap.prototype, "once", void 0), P([L({ type: Boolean })], ap.prototype, "loop", void 0), P([L({ type: Number })], ap.prototype, "cyclePause", void 0), P([z("#typewriter")], ap.prototype, "typewriterContainer", void 0), P([function(e) {
|
|
29996
29509
|
return (t, n) => {
|
|
29997
29510
|
let { slot: r } = e ?? {}, i = "slot" + (r ? `[name=${r}]` : ":not([name])");
|
|
29998
29511
|
return Gr(t, n, { get() {
|
|
29999
29512
|
return (this.renderRoot?.querySelector(i))?.assignedNodes(e) ?? [];
|
|
30000
29513
|
} });
|
|
30001
29514
|
};
|
|
30002
|
-
}({ flatten: !0 })],
|
|
30003
|
-
var
|
|
29515
|
+
}({ flatten: !0 })], ap.prototype, "_getSlottedNodes", void 0), P([Kr({ flatten: !0 })], ap.prototype, "_getSlottedElements", void 0), ap = P([F("schmancy-typewriter")], ap);
|
|
29516
|
+
var op = class extends B(I`
|
|
30004
29517
|
:host {
|
|
30005
29518
|
display: block;
|
|
30006
29519
|
font-family: inherit;
|
|
@@ -30331,22 +29844,22 @@ var Rp = class extends B(I`
|
|
|
30331
29844
|
P([L({
|
|
30332
29845
|
type: String,
|
|
30333
29846
|
reflect: !0
|
|
30334
|
-
})],
|
|
29847
|
+
})], op.prototype, "type", void 0), P([L({
|
|
30335
29848
|
type: String,
|
|
30336
29849
|
reflect: !0
|
|
30337
|
-
})],
|
|
29850
|
+
})], op.prototype, "token", void 0), P([L({
|
|
30338
29851
|
type: String,
|
|
30339
29852
|
reflect: !0
|
|
30340
|
-
})],
|
|
29853
|
+
})], op.prototype, "align", void 0), P([L({
|
|
30341
29854
|
type: String,
|
|
30342
29855
|
reflect: !0
|
|
30343
|
-
})],
|
|
29856
|
+
})], op.prototype, "weight", void 0), P([L({
|
|
30344
29857
|
type: String,
|
|
30345
29858
|
reflect: !0
|
|
30346
|
-
})],
|
|
29859
|
+
})], op.prototype, "transform", void 0), P([L({ type: Number })], op.prototype, "maxLines", void 0), P([L({
|
|
30347
29860
|
type: Boolean,
|
|
30348
29861
|
reflect: !0
|
|
30349
|
-
})],
|
|
29862
|
+
})], op.prototype, "editable", void 0), P([L({ type: String })], op.prototype, "value", void 0), P([L({ type: String })], op.prototype, "placeholder", void 0), op = P([F("schmancy-typography")], op), new class {
|
|
30350
29863
|
constructor() {
|
|
30351
29864
|
this.systemLocale = typeof navigator < "u" && navigator.language ? navigator.language : "de-DE";
|
|
30352
29865
|
}
|
|
@@ -30600,7 +30113,7 @@ P([L({
|
|
|
30600
30113
|
return e.split("").map((e) => t[e] || e).join("");
|
|
30601
30114
|
}
|
|
30602
30115
|
}();
|
|
30603
|
-
var
|
|
30116
|
+
var sp = class extends V() {
|
|
30604
30117
|
constructor(...e) {
|
|
30605
30118
|
super(...e), this.initials = "", this.src = "", this.icon = "", this.size = "md", this.color = "primary", this.shape = "circle", this.bordered = !1, this.status = "none";
|
|
30606
30119
|
}
|
|
@@ -30679,8 +30192,8 @@ var zp = class extends V() {
|
|
|
30679
30192
|
`;
|
|
30680
30193
|
}
|
|
30681
30194
|
};
|
|
30682
|
-
P([L({ type: String })],
|
|
30683
|
-
var
|
|
30195
|
+
P([L({ type: String })], sp.prototype, "initials", void 0), P([L({ type: String })], sp.prototype, "src", void 0), P([L({ type: String })], sp.prototype, "icon", void 0), P([L({ type: String })], sp.prototype, "size", void 0), P([L({ type: String })], sp.prototype, "color", void 0), P([L({ type: String })], sp.prototype, "shape", void 0), P([L({ type: Boolean })], sp.prototype, "bordered", void 0), P([L({ type: String })], sp.prototype, "status", void 0), sp = P([F("schmancy-avatar")], sp);
|
|
30196
|
+
var cp = class extends B(I`
|
|
30684
30197
|
:host {
|
|
30685
30198
|
display: block;
|
|
30686
30199
|
}
|
|
@@ -30723,8 +30236,8 @@ var Bp = class extends B(I`
|
|
|
30723
30236
|
});
|
|
30724
30237
|
}
|
|
30725
30238
|
};
|
|
30726
|
-
P([L({ type: String })],
|
|
30727
|
-
var
|
|
30239
|
+
P([L({ type: String })], cp.prototype, "separator", void 0), cp = P([F("schmancy-breadcrumb")], cp);
|
|
30240
|
+
var lp = class extends B(I`
|
|
30728
30241
|
:host {
|
|
30729
30242
|
display: inline-block;
|
|
30730
30243
|
}
|
|
@@ -30743,11 +30256,11 @@ var Vp = class extends B(I`
|
|
|
30743
30256
|
return this.href && !this.current ? M`<a href=${this.href}><slot></slot></a>` : M`<span aria-current=${this.current ? "page" : "false"}><slot></slot></span>`;
|
|
30744
30257
|
}
|
|
30745
30258
|
};
|
|
30746
|
-
P([L({ type: String })],
|
|
30259
|
+
P([L({ type: String })], lp.prototype, "href", void 0), P([L({
|
|
30747
30260
|
type: Boolean,
|
|
30748
30261
|
reflect: !0
|
|
30749
|
-
})],
|
|
30750
|
-
var
|
|
30262
|
+
})], lp.prototype, "current", void 0), lp = P([F("schmancy-breadcrumb-item")], lp);
|
|
30263
|
+
var up = class extends B(I`
|
|
30751
30264
|
:host {
|
|
30752
30265
|
display: inline-block;
|
|
30753
30266
|
vertical-align: middle;
|
|
@@ -30785,8 +30298,8 @@ var Hp = class extends B(I`
|
|
|
30785
30298
|
P([L({
|
|
30786
30299
|
type: String,
|
|
30787
30300
|
reflect: !0
|
|
30788
|
-
})],
|
|
30789
|
-
var
|
|
30301
|
+
})], up.prototype, "size", void 0), up = P([F("schmancy-kbd")], up);
|
|
30302
|
+
var dp = class extends B(I`
|
|
30790
30303
|
:host {
|
|
30791
30304
|
display: block;
|
|
30792
30305
|
width: var(--_sw, 100%);
|
|
@@ -30837,8 +30350,8 @@ var Up = class extends B(I`
|
|
|
30837
30350
|
P([L({
|
|
30838
30351
|
type: String,
|
|
30839
30352
|
reflect: !0
|
|
30840
|
-
})],
|
|
30841
|
-
var
|
|
30353
|
+
})], dp.prototype, "shape", void 0), P([L({ type: String })], dp.prototype, "width", void 0), P([L({ type: String })], dp.prototype, "height", void 0), P([L({ type: String })], dp.prototype, "radius", void 0), dp = P([F("schmancy-skeleton")], dp);
|
|
30354
|
+
var fp = class extends V(I`
|
|
30842
30355
|
:host {
|
|
30843
30356
|
display: block;
|
|
30844
30357
|
position: relative;
|
|
@@ -30910,11 +30423,11 @@ var Wp = class extends V(I`
|
|
|
30910
30423
|
P([L({
|
|
30911
30424
|
type: Number,
|
|
30912
30425
|
attribute: "min-duration"
|
|
30913
|
-
})],
|
|
30426
|
+
})], fp.prototype, "minDuration", void 0), P([L({ type: Boolean })], fp.prototype, "auto", void 0), P([L({
|
|
30914
30427
|
type: Boolean,
|
|
30915
30428
|
attribute: "initially-hidden"
|
|
30916
|
-
})],
|
|
30917
|
-
var
|
|
30429
|
+
})], fp.prototype, "initiallyHidden", void 0), P([R()], fp.prototype, "_visible", void 0), fp = P([F("schmancy-splash-screen")], fp);
|
|
30430
|
+
var pp = class extends B(I`
|
|
30918
30431
|
:host {
|
|
30919
30432
|
display: inline-block;
|
|
30920
30433
|
}
|
|
@@ -31033,14 +30546,14 @@ var Gp = class extends B(I`
|
|
|
31033
30546
|
P([L({
|
|
31034
30547
|
type: Boolean,
|
|
31035
30548
|
reflect: !0
|
|
31036
|
-
})],
|
|
30549
|
+
})], pp.prototype, "checked", void 0), P([L({
|
|
31037
30550
|
type: Boolean,
|
|
31038
30551
|
reflect: !0
|
|
31039
|
-
})],
|
|
30552
|
+
})], pp.prototype, "disabled", void 0), P([L({
|
|
31040
30553
|
type: Boolean,
|
|
31041
30554
|
reflect: !0
|
|
31042
|
-
})],
|
|
31043
|
-
var
|
|
30555
|
+
})], pp.prototype, "required", void 0), P([L({ type: String })], pp.prototype, "name", void 0), P([L({ type: String })], pp.prototype, "value", void 0), P([L({ type: String })], pp.prototype, "label", void 0), pp = P([F("schmancy-switch")], pp);
|
|
30556
|
+
var mp = class extends B(I`
|
|
31044
30557
|
:host {
|
|
31045
30558
|
position: absolute;
|
|
31046
30559
|
width: 1px;
|
|
@@ -31057,8 +30570,8 @@ var Kp = class extends B(I`
|
|
|
31057
30570
|
return M`<slot></slot>`;
|
|
31058
30571
|
}
|
|
31059
30572
|
};
|
|
31060
|
-
|
|
31061
|
-
var
|
|
30573
|
+
mp = P([F("schmancy-visually-hidden")], mp);
|
|
30574
|
+
var hp = {
|
|
31062
30575
|
schemaVersion: "1.0.0",
|
|
31063
30576
|
readme: "# Schmancy\n\nA Web Component UI library built on Lit, RxJS, and Tailwind CSS. Surfaces are glass. Depth is light. Interactions are physics.\n\n## Agent runtime\n\nFor sandboxed-iframe agents (Claude Design, Claude Artifacts, any LLM that can\nonly write HTML), schmancy ships a single-URL runtime at `@mhmo91/schmancy/agent`.\nDrop one `<script type=\"module\">` tag and every `<schmancy-*>` element is\nregistered. No bundler, no bare specifiers, no npm install.\n\n```html\n<script type=\"module\">\n import { $dialog, theme } from 'https://esm.sh/@mhmo91/schmancy/agent';\n<\/script>\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-button>Hi</schmancy-button>\n <schmancy-skill></schmancy-skill>\n </schmancy-surface>\n</schmancy-theme>\n```\n\nThe `<schmancy-skill>` tag installs `window.schmancy` for runtime discovery:\n\n- `window.schmancy.help()` — full manifest (CEM v1 shape).\n- `window.schmancy.help('schmancy-button')` — one tag's attributes, events, slots, CSS parts.\n- `window.schmancy.tokens()` — build-time-extracted list of `--schmancy-*` theme tokens.\n- `window.schmancy.manifestUrl` — Blob URL; `fetch()` it for the same data.\n- `window.schmancy.a11yAudit()` — walks the live DOM and reports ARIA / shadow-root / form-association status per instance.\n- `window.schmancy.platformPrimitive('schmancy-dialog')` — map to the native element a component wraps (present when the component's JSDoc has `@platform`).\n- `window.schmancy.capabilities()` — runtime feature probe (`popover`, `declarativeShadowDom`, `scopedRegistries`, `trustedTypes`, `cssRegisteredProperties`, `elementInternalsAria`, `formAssociated`, `adoptedStyleSheets`). Agents use this to adapt to the sandbox they're in rather than the one they expect.\n\nEvery enum-typed attribute carries a `values` array — e.g. `schmancy-button`'s `variant` ships `[\"elevated\", \"filled\", \"filled tonal\", \"tonal\", \"outlined\", \"text\"]` so agents never have to parse `\"'filled' | 'tonal' | ...\"` strings.\n\nThe manifest is also emitted as a sibling file at `@mhmo91/schmancy/agent/manifest`\nfor tooling that prefers reading JSON from disk.\n\n## Install\n\n```bash\nnpm install @mhmo91/schmancy\n```\n\n```typescript\nimport '@mhmo91/schmancy'\nimport { magnetic, cursorGlow, gravity } from '@mhmo91/schmancy/directives'\n```\n\n## Use with Claude Code\n\nSchmancy ships a Claude Code plugin. In any Claude Code session, run:\n\n```\n/plugin install https://github.com/samwaai/schmancy\n```\n\nClaude now knows every Schmancy component, foundation pattern, and convention in your project. The skill activates automatically when you work on schmancy code — no CLAUDE.md edits, no symlinks.\n\n## Quick Start\n\n```html\n<schmancy-theme root scheme=\"dark\">\n <schmancy-surface type=\"solid\" fill=\"all\">\n <schmancy-area name=\"root\" .default=${lazy(() => import('./home.page'))}>\n <schmancy-route when=\"home-page\" .component=${lazy(() => import('./home.page'))} />\n </schmancy-area>\n </schmancy-surface>\n</schmancy-theme>\n```\n\n## Design: Luminous Glass\n\n| Surface | Opacity | Blur | Purpose |\n|---------|---------|------|---------|\n| `solid` | 92% | — | Dense glass, high readability |\n| `subtle` | 78% | 8px | Frosted panel (default) |\n| `glass` | 55% | 16px | Overlays, dialogs, dropdowns |\n| `luminous` | 42% | 20px | Hero panels with glow halo |\n\n## Docs\n\nSchmancy is organized in four layers:\n\n- **Foundations** — [Area](./skills/schmancy/area.md) · [Store](./skills/schmancy/store.md) · [Mixins ($LitElement)](./skills/schmancy/mixins.md) · [Theme](./skills/schmancy/theme.md) · [Directives](./skills/schmancy/directives.md)\n- **Atoms** — [Typography](./skills/schmancy/typography.md) · [Icons](./skills/schmancy/icons.md) · [Button](./skills/schmancy/button.md) · [Surface](./skills/schmancy/surface.md) · [Divider](./skills/schmancy/divider.md) · [Avatar](./skills/schmancy/avatar.md)\n- **Composites (by job)** — Forms, Navigation, Overlays, Interaction, Feedback, Display\n- **Utilities** — [Animation](./skills/schmancy/animation.md) · [Audio](./skills/schmancy/audio.md) · [Discovery](./skills/schmancy/discovery.md) · [RxJS Utils](./skills/schmancy/rxjs-utils.md) · [Utils](./skills/schmancy/utils.md)\n\n**Full component index:** [skills/schmancy/INDEX.md](./skills/schmancy/INDEX.md) — the single-file map with every tag, service, and convention. Written primarily for AI agents; humans welcome.\n\n## Tech Stack\n\n[Lit](https://lit.dev) · [RxJS](https://rxjs.dev) · [Tailwind CSS v4](https://tailwindcss.com) · [Blackbird](./src/utils/animation.ts)\n\n## License\n\nApache-2.0\n",
|
|
31064
30577
|
modules: [
|
|
@@ -36779,43 +36292,43 @@ var qp = {
|
|
|
36779
36292
|
"Prefer `fromEvent(target, type).pipe(takeUntil(this.disconnecting))` over raw `addEventListener` inside components."
|
|
36780
36293
|
]
|
|
36781
36294
|
};
|
|
36782
|
-
function
|
|
36295
|
+
function gp() {
|
|
36783
36296
|
let e = [];
|
|
36784
|
-
for (let t of
|
|
36297
|
+
for (let t of hp.modules ?? []) {
|
|
36785
36298
|
let n = t.declarations ?? [];
|
|
36786
36299
|
for (let t of n) e.push(t);
|
|
36787
36300
|
}
|
|
36788
36301
|
return e;
|
|
36789
36302
|
}
|
|
36790
|
-
function
|
|
36791
|
-
return
|
|
36303
|
+
function _p() {
|
|
36304
|
+
return gp().filter((e) => e.kind === "class" && typeof e.tagName == "string");
|
|
36792
36305
|
}
|
|
36793
|
-
function
|
|
36794
|
-
return
|
|
36306
|
+
function vp() {
|
|
36307
|
+
return gp().filter((e) => e.kind === "variable" && !0 === e.service);
|
|
36795
36308
|
}
|
|
36796
|
-
function
|
|
36797
|
-
return e ?
|
|
36798
|
-
elements:
|
|
36309
|
+
function yp(e) {
|
|
36310
|
+
return e ? _p().find((t) => t.tagName === e) || vp().find((t) => t.name === e) || null : {
|
|
36311
|
+
elements: _p().map((e) => ({
|
|
36799
36312
|
tag: e.tagName,
|
|
36800
36313
|
summary: e.summary ?? e.description
|
|
36801
36314
|
})),
|
|
36802
|
-
services:
|
|
36315
|
+
services: vp().map((e) => ({
|
|
36803
36316
|
name: e.name,
|
|
36804
36317
|
summary: e.summary ?? e.description
|
|
36805
36318
|
}))
|
|
36806
36319
|
};
|
|
36807
36320
|
}
|
|
36808
|
-
function
|
|
36809
|
-
return
|
|
36321
|
+
function bp() {
|
|
36322
|
+
return hp.tokens ?? [];
|
|
36810
36323
|
}
|
|
36811
|
-
function
|
|
36812
|
-
return
|
|
36324
|
+
function xp(e) {
|
|
36325
|
+
return _p().find((t) => t.tagName === e)?.platformPrimitive ?? null;
|
|
36813
36326
|
}
|
|
36814
|
-
function
|
|
36815
|
-
return
|
|
36327
|
+
function Sp() {
|
|
36328
|
+
return _p().map((e) => e.tagName).filter((e) => customElements.get(e) !== void 0);
|
|
36816
36329
|
}
|
|
36817
|
-
function
|
|
36818
|
-
let e = new Set(
|
|
36330
|
+
function Cp() {
|
|
36331
|
+
let e = new Set(_p().map((e) => e.tagName)), t = [], n = document.querySelectorAll("*");
|
|
36819
36332
|
for (let r of Array.from(n)) {
|
|
36820
36333
|
let n = r.tagName.toLowerCase();
|
|
36821
36334
|
if (!e.has(n)) continue;
|
|
@@ -36830,7 +36343,7 @@ function tm() {
|
|
|
36830
36343
|
}
|
|
36831
36344
|
return t;
|
|
36832
36345
|
}
|
|
36833
|
-
function
|
|
36346
|
+
function wp() {
|
|
36834
36347
|
let e = typeof HTMLTemplateElement < "u" ? HTMLTemplateElement.prototype : null, t = typeof ElementInternals < "u" ? ElementInternals.prototype : null;
|
|
36835
36348
|
return {
|
|
36836
36349
|
popover: typeof HTMLElement < "u" && "popover" in HTMLElement.prototype,
|
|
@@ -36849,29 +36362,29 @@ function nm() {
|
|
|
36849
36362
|
adoptedStyleSheets: typeof Document < "u" && "adoptedStyleSheets" in Document.prototype
|
|
36850
36363
|
};
|
|
36851
36364
|
}
|
|
36852
|
-
var
|
|
36853
|
-
function
|
|
36854
|
-
typeof window < "u" && (
|
|
36855
|
-
let e = new Blob([JSON.stringify(
|
|
36365
|
+
var Tp = null;
|
|
36366
|
+
function Ep() {
|
|
36367
|
+
typeof window < "u" && (Tp || (Tp = function() {
|
|
36368
|
+
let e = new Blob([JSON.stringify(hp)], { type: "application/json" });
|
|
36856
36369
|
return URL.createObjectURL(e);
|
|
36857
36370
|
}(), window.schmancy = {
|
|
36858
|
-
manifest:
|
|
36859
|
-
manifestUrl:
|
|
36860
|
-
help:
|
|
36861
|
-
tokens:
|
|
36862
|
-
platformPrimitive:
|
|
36863
|
-
registeredTags:
|
|
36864
|
-
a11yAudit:
|
|
36865
|
-
capabilities:
|
|
36371
|
+
manifest: hp,
|
|
36372
|
+
manifestUrl: Tp,
|
|
36373
|
+
help: yp,
|
|
36374
|
+
tokens: bp,
|
|
36375
|
+
platformPrimitive: xp,
|
|
36376
|
+
registeredTags: Sp,
|
|
36377
|
+
a11yAudit: Cp,
|
|
36378
|
+
capabilities: wp
|
|
36866
36379
|
}));
|
|
36867
36380
|
}
|
|
36868
|
-
var
|
|
36381
|
+
var Dp = class extends V() {
|
|
36869
36382
|
connectedCallback() {
|
|
36870
|
-
super.connectedCallback(),
|
|
36383
|
+
super.connectedCallback(), Ep();
|
|
36871
36384
|
}
|
|
36872
36385
|
render() {
|
|
36873
36386
|
return M``;
|
|
36874
36387
|
}
|
|
36875
36388
|
};
|
|
36876
|
-
|
|
36389
|
+
Dp = P([F("schmancy-skill")], Dp);
|
|
36877
36390
|
export { V as $LitElement, Lc as $dialog, bd as $notify, Rc as SchmancySheetPosition, si as area, Pa as createContext, di as lazy, xc as schmancyContentDrawer, Ba as select, Va as selectItem, zc as sheet, Po as theme };
|