@mhmo91/schmancy 0.9.18 → 0.9.20
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/{flow-CaPi2G8y.js.map → flow-3RrZM-e7.js.map} +1 -1
- package/dist/agent/index.es-Dymj8REP.js +489 -0
- package/dist/agent/index.es-Dymj8REP.js.map +1 -0
- package/dist/agent/{rolldown-runtime-DsMetpgY.js → rolldown-runtime-BIIoCavz.js} +9 -2
- package/dist/agent/schmancy.agent.js +3330 -3805
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/{vendor-highlight-CHJZQQB7.js → vendor-highlight-BmnMldIa.js} +90 -85
- package/dist/agent/{vendor-highlight-CHJZQQB7.js.map → vendor-highlight-BmnMldIa.js.map} +1 -1
- package/dist/agent/{vendor-jsqr-r7GNh4P3.js → vendor-jsqr-1wQ5xc49.js} +1 -1
- package/dist/agent/{vendor-jsqr-r7GNh4P3.js.map → vendor-jsqr-1wQ5xc49.js.map} +1 -1
- package/dist/agent/{vendor-material-color-Be96dpGE.js.map → vendor-material-color-33Mj762T.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{code-highlight-zSYcSfCz.cjs → code-highlight-B_l8vDzn.cjs} +11 -11
- package/dist/code-highlight-B_l8vDzn.cjs.map +1 -0
- package/dist/{code-highlight-BgExKEto.js → code-highlight-CI_gqXYX.js} +30 -22
- package/dist/code-highlight-CI_gqXYX.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.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 +5 -5
- 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-Dw-PjtMH.js} +5 -5
- package/dist/{src-C7niWYur.js.map → src-Dw-PjtMH.js.map} +1 -1
- package/dist/{src-I4M33WK2.cjs → src-sG7Ihf0e.cjs} +1 -1
- package/dist/{src-I4M33WK2.cjs.map → src-sG7Ihf0e.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/code-highlight/code-highlight.ts +56 -24
- package/src/typewriter/typewriter.ts +26 -4
- package/types/src/code-highlight/code-highlight.d.ts +8 -1
- package/types/src/typewriter/typewriter.d.ts +4 -1
- package/dist/code-highlight-BgExKEto.js.map +0 -1
- package/dist/code-highlight-zSYcSfCz.cjs.map +0 -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/agent/{flow-CaPi2G8y.js → flow-3RrZM-e7.js} +0 -0
- /package/dist/agent/{vendor-material-color-Be96dpGE.js → vendor-material-color-33Mj762T.js} +0 -0
- /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
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
var e = (e) => Array.isArray(e), t = (t) => e(t) ? t : [t], n = "data-typeit-id", r = "ti-cursor", i = {
|
|
2
|
+
started: !1,
|
|
3
|
+
completed: !1,
|
|
4
|
+
frozen: !1,
|
|
5
|
+
destroyed: !1
|
|
6
|
+
}, a = {
|
|
7
|
+
breakLines: !0,
|
|
8
|
+
cursor: {
|
|
9
|
+
autoPause: !0,
|
|
10
|
+
autoPauseDelay: 500,
|
|
11
|
+
animation: {
|
|
12
|
+
frames: [
|
|
13
|
+
0,
|
|
14
|
+
0,
|
|
15
|
+
1
|
|
16
|
+
].map((e) => ({ opacity: e })),
|
|
17
|
+
options: {
|
|
18
|
+
iterations: Infinity,
|
|
19
|
+
easing: "steps(2, start)",
|
|
20
|
+
fill: "forwards"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
cursorChar: "|",
|
|
25
|
+
cursorSpeed: 1e3,
|
|
26
|
+
deleteSpeed: null,
|
|
27
|
+
html: !0,
|
|
28
|
+
lifeLike: !0,
|
|
29
|
+
loop: !1,
|
|
30
|
+
loopDelay: 750,
|
|
31
|
+
nextStringDelay: 750,
|
|
32
|
+
speed: 100,
|
|
33
|
+
startDelay: 250,
|
|
34
|
+
startDelete: !1,
|
|
35
|
+
strings: [],
|
|
36
|
+
waitUntilVisible: !1,
|
|
37
|
+
beforeString: () => {},
|
|
38
|
+
afterString: () => {},
|
|
39
|
+
beforeStep: () => {},
|
|
40
|
+
afterStep: () => {},
|
|
41
|
+
afterComplete: () => {}
|
|
42
|
+
}, o = `[${n}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`, s = (e) => document.createElement(e), c = (e) => document.createTextNode(e), l = (e, t = "") => {
|
|
43
|
+
let n = s("style");
|
|
44
|
+
n.id = t, n.appendChild(c(e)), document.head.appendChild(n);
|
|
45
|
+
}, u = (t) => (e(t) || (t = [t / 2, t / 2]), t), d = (e, t) => Math.abs(Math.random() * (e + t - (e - t)) + (e - t)), f = (e) => e / 2, p = (e) => Array.from(e), m = (e) => ([...e.childNodes].forEach((e) => {
|
|
46
|
+
if (e.nodeValue) return [...e.nodeValue].forEach((t) => {
|
|
47
|
+
e.parentNode.insertBefore(c(t), e);
|
|
48
|
+
}), void e.remove();
|
|
49
|
+
m(e);
|
|
50
|
+
}), e), h = (e) => {
|
|
51
|
+
let t = document.implementation.createHTMLDocument();
|
|
52
|
+
return t.body.innerHTML = e, m(t.body);
|
|
53
|
+
};
|
|
54
|
+
function g(e, t = !1, n = !1) {
|
|
55
|
+
let i, a = e.querySelector(`.${r}`), o = document.createTreeWalker(e, NodeFilter.SHOW_ALL, { acceptNode: (e) => {
|
|
56
|
+
if (a && n) {
|
|
57
|
+
if (e.classList?.contains(r)) return NodeFilter.FILTER_ACCEPT;
|
|
58
|
+
if (a.contains(e)) return NodeFilter.FILTER_REJECT;
|
|
59
|
+
}
|
|
60
|
+
return e.classList?.contains(r) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;
|
|
61
|
+
} }), s = [];
|
|
62
|
+
for (; i = o.nextNode();) i.originalParent ||= i.parentNode, s.push(i);
|
|
63
|
+
return t ? s.reverse() : s;
|
|
64
|
+
}
|
|
65
|
+
function _(e, t = !0) {
|
|
66
|
+
return t ? g(h(e)) : p(e).map(c);
|
|
67
|
+
}
|
|
68
|
+
var v = ({ index: e, newIndex: t, queueItems: n, cleanUp: r }) => {
|
|
69
|
+
for (let i = e + 1; i < t + 1; i++) r(n[i][0]);
|
|
70
|
+
}, y = (e) => Number.isInteger(e), b = ({ queueItems: e, selector: t, cursorPosition: n, to: r }) => {
|
|
71
|
+
if (y(t)) return -1 * t;
|
|
72
|
+
let i = (/* @__PURE__ */ RegExp("END", "i")).test(r), a = t ? [...e].reverse().findIndex(({ char: e }) => {
|
|
73
|
+
let n = e.parentElement, r = n.matches(t);
|
|
74
|
+
return !(!i || !r) || r && n.firstChild.isSameNode(e);
|
|
75
|
+
}) : -1;
|
|
76
|
+
return a < 0 && (a = i ? 0 : e.length - 1), a - n + +!i;
|
|
77
|
+
}, x = (e, t) => Array(t).fill(e), S = (e) => new Promise((t) => {
|
|
78
|
+
requestAnimationFrame(async () => {
|
|
79
|
+
t(await e());
|
|
80
|
+
});
|
|
81
|
+
}), C = (e) => e?.getAnimations().find((t) => t.id === e.dataset.tiAnimationId), w = ({ cursor: e, frames: t, options: n }) => {
|
|
82
|
+
let r = e.animate(t, n);
|
|
83
|
+
return r.pause(), r.id = e.dataset.tiAnimationId, S(() => {
|
|
84
|
+
S(() => {
|
|
85
|
+
r.play();
|
|
86
|
+
});
|
|
87
|
+
}), r;
|
|
88
|
+
}, T = (e) => e.func?.call(null), E = async ({ index: e, queueItems: t, wait: n, cursor: r, cursorOptions: i }) => {
|
|
89
|
+
let a = t[e][1], o = [], s = e, c = a, l = () => c && !c.delay, u = a.shouldPauseCursor() && i.autoPause;
|
|
90
|
+
for (; l();) o.push(c), l() && s++, c = t[s] ? t[s][1] : null;
|
|
91
|
+
if (o.length) return await S(async () => {
|
|
92
|
+
for (let e of o) await T(e);
|
|
93
|
+
}), s - 1;
|
|
94
|
+
let d, f = C(r);
|
|
95
|
+
return f && (d = {
|
|
96
|
+
...f.effect.getComputedTiming(),
|
|
97
|
+
delay: u ? i.autoPauseDelay : 0
|
|
98
|
+
}), await n(async () => {
|
|
99
|
+
f && u && f.cancel(), await S(() => {
|
|
100
|
+
T(a);
|
|
101
|
+
});
|
|
102
|
+
}, a.delay), await (({ cursor: e, options: t, cursorOptions: n }) => {
|
|
103
|
+
if (!e || !n) return;
|
|
104
|
+
let r, i = C(e);
|
|
105
|
+
i && (t.delay = i.effect.getComputedTiming().delay, r = i.currentTime, i.cancel());
|
|
106
|
+
let a = w({
|
|
107
|
+
cursor: e,
|
|
108
|
+
frames: n.animation.frames,
|
|
109
|
+
options: t
|
|
110
|
+
});
|
|
111
|
+
return r && (a.currentTime = r), a;
|
|
112
|
+
})({
|
|
113
|
+
cursor: r,
|
|
114
|
+
options: d,
|
|
115
|
+
cursorOptions: i
|
|
116
|
+
}), e;
|
|
117
|
+
}, D = (e) => "value" in e, O = (e) => typeof e == "function" ? e() : e, k = (e, t = document, n = !1) => t["querySelector" + (n ? "All" : "")](e), A = (e, t) => Object.assign({}, e, t), j = {
|
|
118
|
+
"font-family": "",
|
|
119
|
+
"font-weight": "",
|
|
120
|
+
"font-size": "",
|
|
121
|
+
"font-style": "",
|
|
122
|
+
"line-height": "",
|
|
123
|
+
color: "",
|
|
124
|
+
transform: "translateX(-.125em)"
|
|
125
|
+
}, M = class {
|
|
126
|
+
element;
|
|
127
|
+
timeouts;
|
|
128
|
+
cursorPosition;
|
|
129
|
+
predictedCursorPosition;
|
|
130
|
+
statuses = {
|
|
131
|
+
started: !1,
|
|
132
|
+
completed: !1,
|
|
133
|
+
frozen: !1,
|
|
134
|
+
destroyed: !1,
|
|
135
|
+
firing: !1
|
|
136
|
+
};
|
|
137
|
+
opts;
|
|
138
|
+
id;
|
|
139
|
+
queue;
|
|
140
|
+
cursor;
|
|
141
|
+
flushCallback = null;
|
|
142
|
+
unfreeze = () => {};
|
|
143
|
+
constructor(e, n = {}) {
|
|
144
|
+
var r;
|
|
145
|
+
this.opts = A(a, n), this.element = typeof (r = e) == "string" ? k(r) : r, this.timeouts = [], this.cursorPosition = 0, this.unfreeze = () => {}, this.predictedCursorPosition = null, this.statuses = A({}, i), this.id = Math.random().toString().substring(2, 9), this.queue = function(e) {
|
|
146
|
+
let n = function(e) {
|
|
147
|
+
return t(e).forEach((e) => o.set(Symbol(e.char?.innerText), r({ ...e }))), this;
|
|
148
|
+
}, r = (e) => (e.shouldPauseCursor = function() {
|
|
149
|
+
return !!(this.typeable || this.cursorable || this.deletable);
|
|
150
|
+
}, e), i = () => o, a = () => Array.from(o.values()), o = /* @__PURE__ */ new Map();
|
|
151
|
+
return n(e), {
|
|
152
|
+
add: n,
|
|
153
|
+
set: function(e, t) {
|
|
154
|
+
let n = [...o.keys()];
|
|
155
|
+
o.set(n[e], r(t));
|
|
156
|
+
},
|
|
157
|
+
wipe: function() {
|
|
158
|
+
o = /* @__PURE__ */ new Map(), n(e);
|
|
159
|
+
},
|
|
160
|
+
done: (e, t = !1) => t ? o.delete(e) : o.get(e).done = !0,
|
|
161
|
+
reset: function() {
|
|
162
|
+
o.forEach((e) => delete e.done);
|
|
163
|
+
},
|
|
164
|
+
destroy: (e) => o.delete(e),
|
|
165
|
+
getItems: (e = !1) => e ? a() : a().filter((e) => !e.done),
|
|
166
|
+
getQueue: i,
|
|
167
|
+
getTypeable: () => a().filter((e) => e.typeable),
|
|
168
|
+
getPendingQueueItems: () => {
|
|
169
|
+
let e = [];
|
|
170
|
+
for (let [, t] of i()) t.done || e.push(t);
|
|
171
|
+
return e;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}([{ delay: this.opts.startDelay }]), this.#p(n), this.cursor = this.#h(), this.element.dataset.typeitId = this.id, l(o), this.opts.strings.length && this.#f();
|
|
175
|
+
}
|
|
176
|
+
go() {
|
|
177
|
+
return this.statuses.started ? this : (this.#o(), this.opts.waitUntilVisible ? (e = this.element, t = this.#t.bind(this), new IntersectionObserver((n, r) => {
|
|
178
|
+
n.forEach((n) => {
|
|
179
|
+
n.isIntersecting && (t(), r.unobserve(e));
|
|
180
|
+
});
|
|
181
|
+
}, { threshold: 1 }).observe(e), this) : (this.#t(), this));
|
|
182
|
+
var e, t;
|
|
183
|
+
}
|
|
184
|
+
destroy(e = !0) {
|
|
185
|
+
this.timeouts = (this.timeouts.forEach(clearTimeout), []), O(e) && this.cursor && this.#y(this.cursor), this.statuses.destroyed = !0;
|
|
186
|
+
}
|
|
187
|
+
reset(e) {
|
|
188
|
+
!this.is("destroyed") && this.destroy(), e ? (this.queue.wipe(), e(this)) : this.queue.reset(), this.cursorPosition = 0;
|
|
189
|
+
for (let e in this.statuses) this.statuses[e] = !1;
|
|
190
|
+
return this.element[this.#s() ? "value" : "innerHTML"] = "", this;
|
|
191
|
+
}
|
|
192
|
+
is = function(e) {
|
|
193
|
+
return this.statuses[e];
|
|
194
|
+
};
|
|
195
|
+
type(e, t = {}) {
|
|
196
|
+
e = O(e);
|
|
197
|
+
let { instant: n } = t, r = this.#u(t), i = _(e, this.opts.html).map((e) => {
|
|
198
|
+
return {
|
|
199
|
+
func: () => this.#_(e),
|
|
200
|
+
char: e,
|
|
201
|
+
delay: n || (t = e, /<(.+)>(.*?)<\/(.+)>/.test(t.outerHTML)) ? 0 : this.#b(),
|
|
202
|
+
typeable: e.nodeType === Node.TEXT_NODE
|
|
203
|
+
};
|
|
204
|
+
var t;
|
|
205
|
+
}), a = [
|
|
206
|
+
r[0],
|
|
207
|
+
{ func: async () => await this.opts.beforeString(e, this) },
|
|
208
|
+
...i,
|
|
209
|
+
{ func: async () => await this.opts.afterString(e, this) },
|
|
210
|
+
r[1]
|
|
211
|
+
];
|
|
212
|
+
return this.#c(a, t);
|
|
213
|
+
}
|
|
214
|
+
break(e = {}) {
|
|
215
|
+
return this.#c({
|
|
216
|
+
func: () => this.#_(s("BR")),
|
|
217
|
+
typeable: !0
|
|
218
|
+
}, e);
|
|
219
|
+
}
|
|
220
|
+
move(e, t = {}) {
|
|
221
|
+
e = O(e);
|
|
222
|
+
let n = this.#u(t), { instant: r, to: i } = t, a = b({
|
|
223
|
+
queueItems: this.queue.getTypeable(),
|
|
224
|
+
selector: e === null ? "" : e,
|
|
225
|
+
to: i,
|
|
226
|
+
cursorPosition: this.#x
|
|
227
|
+
}), o = a < 0 ? -1 : 1;
|
|
228
|
+
return this.predictedCursorPosition = this.#x + a, this.#c([
|
|
229
|
+
n[0],
|
|
230
|
+
...x({
|
|
231
|
+
func: () => this.#n(o),
|
|
232
|
+
delay: r ? 0 : this.#b(),
|
|
233
|
+
cursorable: !0
|
|
234
|
+
}, Math.abs(a)),
|
|
235
|
+
n[1]
|
|
236
|
+
], t);
|
|
237
|
+
}
|
|
238
|
+
exec(e, t = {}) {
|
|
239
|
+
let n = this.#u(t);
|
|
240
|
+
return this.#c([
|
|
241
|
+
n[0],
|
|
242
|
+
{ func: () => e(this) },
|
|
243
|
+
n[1]
|
|
244
|
+
], t);
|
|
245
|
+
}
|
|
246
|
+
options(e, t = {}) {
|
|
247
|
+
return e = O(e), this.#d(e), this.#c({}, t);
|
|
248
|
+
}
|
|
249
|
+
pause(e, t = {}) {
|
|
250
|
+
return this.#c({ delay: O(e) }, t);
|
|
251
|
+
}
|
|
252
|
+
delete(e = null, t = {}) {
|
|
253
|
+
e = O(e);
|
|
254
|
+
let n = this.#u(t), r = e, { instant: i, to: a } = t, o = this.queue.getTypeable(), s = r === null ? o.length : y(r) ? r : b({
|
|
255
|
+
queueItems: o,
|
|
256
|
+
selector: r,
|
|
257
|
+
cursorPosition: this.#x,
|
|
258
|
+
to: a
|
|
259
|
+
});
|
|
260
|
+
return this.#c([
|
|
261
|
+
n[0],
|
|
262
|
+
...x({
|
|
263
|
+
func: this.#v.bind(this),
|
|
264
|
+
delay: i ? 0 : this.#b(1),
|
|
265
|
+
deletable: !0
|
|
266
|
+
}, s),
|
|
267
|
+
n[1]
|
|
268
|
+
], t);
|
|
269
|
+
}
|
|
270
|
+
freeze() {
|
|
271
|
+
this.statuses.frozen = !0;
|
|
272
|
+
}
|
|
273
|
+
flush(e = null) {
|
|
274
|
+
return this.flushCallback = e || this.flushCallback, this.statuses.firing || (this.#o(), this.#t(!1).then(() => {
|
|
275
|
+
if (this.queue.getPendingQueueItems().length > 0) return this.flush();
|
|
276
|
+
this.flushCallback(), this.flushCallback = null;
|
|
277
|
+
})), this;
|
|
278
|
+
}
|
|
279
|
+
getQueue() {
|
|
280
|
+
return this.queue;
|
|
281
|
+
}
|
|
282
|
+
getOptions() {
|
|
283
|
+
return this.opts;
|
|
284
|
+
}
|
|
285
|
+
updateOptions(e) {
|
|
286
|
+
return this.#d(e);
|
|
287
|
+
}
|
|
288
|
+
getElement() {
|
|
289
|
+
return this.element;
|
|
290
|
+
}
|
|
291
|
+
empty(e = {}) {
|
|
292
|
+
return this.#c({ func: this.#e.bind(this) }, e);
|
|
293
|
+
}
|
|
294
|
+
async #e() {
|
|
295
|
+
this.#s() ? this.element.value = "" : this.#w.forEach(this.#y.bind(this));
|
|
296
|
+
}
|
|
297
|
+
async #t(e = !0) {
|
|
298
|
+
this.statuses.started = !0, this.statuses.firing = !0;
|
|
299
|
+
let t = (t) => {
|
|
300
|
+
this.queue.done(t, !e);
|
|
301
|
+
};
|
|
302
|
+
try {
|
|
303
|
+
let n = [...this.queue.getQueue()];
|
|
304
|
+
for (let e = 0; e < n.length; e++) {
|
|
305
|
+
let [r, i] = n[e];
|
|
306
|
+
if (!i.done) {
|
|
307
|
+
if (!i.deletable || i.deletable && this.#w.length) {
|
|
308
|
+
let r = await this.#i(e, n);
|
|
309
|
+
v({
|
|
310
|
+
index: e,
|
|
311
|
+
newIndex: r,
|
|
312
|
+
queueItems: n,
|
|
313
|
+
cleanUp: t
|
|
314
|
+
}), e = r;
|
|
315
|
+
}
|
|
316
|
+
t(r);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
if (!e) return this.statuses.firing = !1, this;
|
|
320
|
+
if (this.statuses.completed = !0, this.statuses.firing = !1, await this.opts.afterComplete(this), !this.opts.loop) throw "";
|
|
321
|
+
let r = this.opts.loopDelay;
|
|
322
|
+
this.#a(async () => {
|
|
323
|
+
await this.#r(r[0]), this.#t();
|
|
324
|
+
}, r[1]);
|
|
325
|
+
} catch {}
|
|
326
|
+
return this.statuses.firing = !1, this;
|
|
327
|
+
}
|
|
328
|
+
async #n(e) {
|
|
329
|
+
var t, n, i;
|
|
330
|
+
this.cursorPosition = (t = e, n = this.cursorPosition, i = this.#w, Math.min(Math.max(n + t, 0), i.length)), ((e, t, n) => {
|
|
331
|
+
let i = t[n - 1], a = k(`.${r}`, e);
|
|
332
|
+
(e = i?.parentNode || e).insertBefore(a, i || null);
|
|
333
|
+
})(this.element, this.#w, this.cursorPosition);
|
|
334
|
+
}
|
|
335
|
+
async #r(e) {
|
|
336
|
+
let t = this.#x;
|
|
337
|
+
t && await this.#n({ value: t });
|
|
338
|
+
let n = this.#w.map((e) => [Symbol(), {
|
|
339
|
+
func: this.#v.bind(this),
|
|
340
|
+
delay: this.#b(1),
|
|
341
|
+
deletable: !0,
|
|
342
|
+
shouldPauseCursor: () => !0
|
|
343
|
+
}]);
|
|
344
|
+
for (let e = 0; e < n.length; e++) await this.#i(e, n);
|
|
345
|
+
this.queue.reset(), this.queue.set(0, { delay: e });
|
|
346
|
+
}
|
|
347
|
+
#i(e, t) {
|
|
348
|
+
return E({
|
|
349
|
+
index: e,
|
|
350
|
+
queueItems: t,
|
|
351
|
+
wait: this.#a.bind(this),
|
|
352
|
+
cursor: this.cursor,
|
|
353
|
+
cursorOptions: this.opts.cursor
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
async #a(e, t, n = !1) {
|
|
357
|
+
this.statuses.frozen && await new Promise((e) => {
|
|
358
|
+
this.unfreeze = () => {
|
|
359
|
+
this.statuses.frozen = !1, e();
|
|
360
|
+
};
|
|
361
|
+
}), n || await this.opts.beforeStep(this), await ((e, t, n) => new Promise((r) => {
|
|
362
|
+
n.push(setTimeout(async () => {
|
|
363
|
+
await e(), r();
|
|
364
|
+
}, t || 0));
|
|
365
|
+
}))(e, t, this.timeouts), n || await this.opts.afterStep(this);
|
|
366
|
+
}
|
|
367
|
+
async #o() {
|
|
368
|
+
if (!this.#s() && this.cursor && this.element.appendChild(this.cursor), this.#C) {
|
|
369
|
+
((e, t) => {
|
|
370
|
+
let i = `[${n}='${e}'] .${r}`, a = getComputedStyle(t);
|
|
371
|
+
l(`${i} { display: inline-block; width: 0; ${Object.entries(j).reduce((e, [t, n]) => `${e} ${t}: var(--ti-cursor-${t}, ${n || a[t]});`, "")} }`, e);
|
|
372
|
+
})(this.id, this.element), this.cursor.dataset.tiAnimationId = this.id;
|
|
373
|
+
let { animation: e } = this.opts.cursor, { frames: t, options: i } = e;
|
|
374
|
+
w({
|
|
375
|
+
frames: t,
|
|
376
|
+
cursor: this.cursor,
|
|
377
|
+
options: {
|
|
378
|
+
duration: this.opts.cursorSpeed,
|
|
379
|
+
...i
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
#s() {
|
|
385
|
+
return D(this.element);
|
|
386
|
+
}
|
|
387
|
+
#c(e, t) {
|
|
388
|
+
return this.queue.add(e), this.#l(t), this;
|
|
389
|
+
}
|
|
390
|
+
#l(e = {}) {
|
|
391
|
+
let t = e.delay;
|
|
392
|
+
t && this.queue.add({ delay: t });
|
|
393
|
+
}
|
|
394
|
+
#u(e = {}) {
|
|
395
|
+
return [{ func: () => this.#d(e) }, { func: () => this.#d(this.opts) }];
|
|
396
|
+
}
|
|
397
|
+
async #d(e) {
|
|
398
|
+
this.opts = A(this.opts, e);
|
|
399
|
+
}
|
|
400
|
+
#f() {
|
|
401
|
+
let e = this.opts.strings.filter((e) => !!e);
|
|
402
|
+
e.forEach((t, n) => {
|
|
403
|
+
if (this.type(t), n + 1 === e.length) return;
|
|
404
|
+
let r = this.opts.breakLines ? [{
|
|
405
|
+
func: () => this.#_(s("BR")),
|
|
406
|
+
typeable: !0
|
|
407
|
+
}] : x({
|
|
408
|
+
func: this.#v.bind(this),
|
|
409
|
+
delay: this.#b(1)
|
|
410
|
+
}, this.queue.getTypeable().length);
|
|
411
|
+
this.#g(r);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
#p = (e) => {
|
|
415
|
+
this.opts.cursor = ((e) => {
|
|
416
|
+
if (typeof e == "object") {
|
|
417
|
+
let t = {}, { frames: n, options: r } = a.cursor.animation;
|
|
418
|
+
return t.animation = e.animation || {}, t.animation.frames = e.animation?.frames || n, t.animation.options = A(r, e.animation?.options || {}), t.autoPause = e.autoPause ?? a.cursor.autoPause, t.autoPauseDelay = e.autoPauseDelay || a.cursor.autoPauseDelay, t;
|
|
419
|
+
}
|
|
420
|
+
return !0 === e ? a.cursor : e;
|
|
421
|
+
})(e.cursor ?? a.cursor), this.opts.strings = this.#m(t(this.opts.strings)), this.opts = A(this.opts, {
|
|
422
|
+
html: !this.#S && this.opts.html,
|
|
423
|
+
nextStringDelay: u(this.opts.nextStringDelay),
|
|
424
|
+
loopDelay: u(this.opts.loopDelay)
|
|
425
|
+
});
|
|
426
|
+
};
|
|
427
|
+
#m(e) {
|
|
428
|
+
let t = this.element.innerHTML;
|
|
429
|
+
return t ? (this.element.innerHTML = "", this.opts.startDelete ? (this.element.innerHTML = t, m(this.element), this.#g(x({
|
|
430
|
+
func: this.#v.bind(this),
|
|
431
|
+
delay: this.#b(1),
|
|
432
|
+
deletable: !0
|
|
433
|
+
}, this.#w.length)), e) : (n = t, n.replace(/<!--(.+?)-->/g, "").trim().split(/<br(?:\s*?)(?:\/)?>/)).concat(e)) : e;
|
|
434
|
+
var n;
|
|
435
|
+
}
|
|
436
|
+
#h() {
|
|
437
|
+
if (this.#S) return null;
|
|
438
|
+
let e = s("span");
|
|
439
|
+
return e.className = r, this.#C ? (e.innerHTML = h(this.opts.cursorChar).innerHTML, e) : (e.style.visibility = "hidden", e);
|
|
440
|
+
}
|
|
441
|
+
#g(e) {
|
|
442
|
+
let t = this.opts.nextStringDelay;
|
|
443
|
+
this.queue.add([
|
|
444
|
+
{ delay: t[0] },
|
|
445
|
+
...e,
|
|
446
|
+
{ delay: t[1] }
|
|
447
|
+
]);
|
|
448
|
+
}
|
|
449
|
+
#_(e) {
|
|
450
|
+
((e, t) => {
|
|
451
|
+
if (D(e)) return void (e.value = `${e.value}${t.textContent}`);
|
|
452
|
+
t.innerHTML = "";
|
|
453
|
+
let n = (i = t.originalParent, /body/i.test(i?.tagName) ? e : t.originalParent || e);
|
|
454
|
+
var i;
|
|
455
|
+
let a = k("." + r, n) || null;
|
|
456
|
+
a && a.parentElement !== n && (n = a.parentElement), n.insertBefore(t, a);
|
|
457
|
+
})(this.element, e);
|
|
458
|
+
}
|
|
459
|
+
#v() {
|
|
460
|
+
this.#w.length && (this.#S ? this.element.value = this.element.value.slice(0, -1) : this.#y(this.#w[this.cursorPosition]));
|
|
461
|
+
}
|
|
462
|
+
#y(e) {
|
|
463
|
+
((e, t) => {
|
|
464
|
+
if (!e) return;
|
|
465
|
+
let n = e.parentNode;
|
|
466
|
+
(n.childNodes.length > 1 || n.isSameNode(t) ? e : n).remove();
|
|
467
|
+
})(e, this.element);
|
|
468
|
+
}
|
|
469
|
+
#b(e = 0) {
|
|
470
|
+
return function(e) {
|
|
471
|
+
let { speed: t, deleteSpeed: n, lifeLike: r } = e;
|
|
472
|
+
return n = n === null ? t / 3 : n, r ? [d(t, f(t)), d(n, f(n))] : [t, n];
|
|
473
|
+
}(this.opts)[e];
|
|
474
|
+
}
|
|
475
|
+
get #x() {
|
|
476
|
+
return this.predictedCursorPosition ?? this.cursorPosition;
|
|
477
|
+
}
|
|
478
|
+
get #S() {
|
|
479
|
+
return D(this.element);
|
|
480
|
+
}
|
|
481
|
+
get #C() {
|
|
482
|
+
return !!this.opts.cursor && !this.#S;
|
|
483
|
+
}
|
|
484
|
+
get #w() {
|
|
485
|
+
return e = this.element, D(e) ? p(e.value) : g(e, !0).filter((e) => !(e.childNodes.length > 0));
|
|
486
|
+
var e;
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
export { M as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es-CLyb_o3Y.js","names":["#buildOptions","#setUpCursor","#generateQueue","#attachCursor","#fire","#removeNode","#elementIsInput","#generateTemporaryOptionQueueItems","#type","#getPace","#queueAndReturn","#derivedCursorPosition","#move","#updateOptions","#delete","#empty","#allChars","#fireItemWithContext","#wait","#prepLoop","#shouldRenderCursor","#maybeAppendPause","#addSplitPause","#prependHardcodedStrings","#isInput"],"sources":["../node_modules/typeit/dist/index.es.js"],"sourcesContent":["// TypeIt by Alex MacArthur - https://typeitjs.com\nconst isArray = (thing) => Array.isArray(thing);\n\nconst asArray = (value) => isArray(value) ? value : [value];\n\nlet Queue = function(initialItems) {\n let add = function(steps) {\n asArray(steps).forEach((step) => {\n return _q.set(Symbol(step.char?.innerText), buildQueueItem({ ...step }));\n });\n return this;\n };\n let getTypeable = () => rawValues().filter((value) => value.typeable);\n let set = function(index, item) {\n let keys = [..._q.keys()];\n _q.set(keys[index], buildQueueItem(item));\n };\n let buildQueueItem = (queueItem) => {\n queueItem.shouldPauseCursor = function() {\n return Boolean(this.typeable || this.cursorable || this.deletable);\n };\n return queueItem;\n };\n let reset = function() {\n _q.forEach((item) => delete item.done);\n };\n let wipe = function() {\n _q = /* @__PURE__ */ new Map();\n add(initialItems);\n };\n let getQueue = () => _q;\n let rawValues = () => Array.from(_q.values());\n let destroy = (key) => _q.delete(key);\n let getPendingQueueItems = () => {\n const pending = [];\n for (let [, value] of getQueue()) {\n if (!value.done) {\n pending.push(value);\n }\n }\n return pending;\n };\n let getItems = (all = false) => all ? rawValues() : rawValues().filter((i) => !i.done);\n let done = (key, shouldDestroy = false) => shouldDestroy ? _q.delete(key) : _q.get(key).done = true;\n let _q = /* @__PURE__ */ new Map();\n add(initialItems);\n return {\n add,\n set,\n wipe,\n done,\n reset,\n destroy,\n getItems,\n getQueue,\n getTypeable,\n getPendingQueueItems\n };\n};\n\nconst DATA_ATTRIBUTE = \"data-typeit-id\";\nconst CURSOR_CLASS = \"ti-cursor\";\nconst END = \"END\";\nconst DEFAULT_STATUSES = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false\n};\nconst DEFAULT_OPTIONS = {\n breakLines: true,\n cursor: {\n autoPause: true,\n autoPauseDelay: 500,\n animation: {\n frames: [0, 0, 1].map((n) => {\n return { opacity: n };\n }),\n options: {\n iterations: Infinity,\n easing: \"steps(2, start)\",\n fill: \"forwards\"\n }\n }\n },\n cursorChar: \"|\",\n cursorSpeed: 1e3,\n deleteSpeed: null,\n html: true,\n lifeLike: true,\n loop: false,\n loopDelay: 750,\n nextStringDelay: 750,\n speed: 100,\n startDelay: 250,\n startDelete: false,\n strings: [],\n waitUntilVisible: false,\n beforeString: () => {\n },\n afterString: () => {\n },\n beforeStep: () => {\n },\n afterStep: () => {\n },\n afterComplete: () => {\n }\n};\nconst PLACEHOLDER_CSS = `[${DATA_ATTRIBUTE}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`;\n\nconst createElement = (el) => document.createElement(el);\n\nconst createTextNode = (content) => document.createTextNode(content);\n\nconst appendStyleBlock = (styles, id = \"\") => {\n let styleBlock = createElement(\"style\");\n styleBlock.id = id;\n styleBlock.appendChild(createTextNode(styles));\n document.head.appendChild(styleBlock);\n};\n\nconst calculateDelay = (delayArg) => {\n if (!isArray(delayArg)) {\n delayArg = [delayArg / 2, delayArg / 2];\n }\n return delayArg;\n};\n\nconst randomInRange = (value, range) => {\n return Math.abs(\n Math.random() * (value + range - (value - range)) + (value - range)\n );\n};\n\nlet range = (val) => val / 2;\nfunction calculatePace(options) {\n let { speed, deleteSpeed, lifeLike } = options;\n deleteSpeed = deleteSpeed !== null ? deleteSpeed : speed / 3;\n return lifeLike ? [\n randomInRange(speed, range(speed)),\n randomInRange(deleteSpeed, range(deleteSpeed))\n ] : [speed, deleteSpeed];\n}\n\nconst toArray = (val) => Array.from(val);\n\nlet expandTextNodes = (element) => {\n [...element.childNodes].forEach((child) => {\n if (child.nodeValue) {\n [...child.nodeValue].forEach((c) => {\n child.parentNode.insertBefore(createTextNode(c), child);\n });\n child.remove();\n return;\n }\n expandTextNodes(child);\n });\n return element;\n};\n\nconst getParsedBody = (content) => {\n let doc = document.implementation.createHTMLDocument();\n doc.body.innerHTML = content;\n return expandTextNodes(doc.body);\n};\n\nfunction walkElementNodes(element, shouldReverse = false, shouldIncludeCursor = false) {\n let cursor = element.querySelector(`.${CURSOR_CLASS}`);\n let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL, {\n acceptNode: (node) => {\n if (cursor && shouldIncludeCursor) {\n if (node.classList?.contains(CURSOR_CLASS)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n if (cursor.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n }\n return node.classList?.contains(CURSOR_CLASS) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }\n });\n let nextNode;\n let nodes = [];\n while (nextNode = walker.nextNode()) {\n if (!nextNode.originalParent) {\n nextNode.originalParent = nextNode.parentNode;\n }\n nodes.push(nextNode);\n }\n return shouldReverse ? nodes.reverse() : nodes;\n}\nfunction chunkStringAsHtml(string) {\n return walkElementNodes(getParsedBody(string));\n}\nfunction maybeChunkStringAsHtml(str, asHtml = true) {\n return asHtml ? chunkStringAsHtml(str) : toArray(str).map(createTextNode);\n}\n\nconst cleanUpSkipped = ({\n index,\n newIndex,\n queueItems,\n cleanUp\n}) => {\n for (let i = index + 1; i < newIndex + 1; i++) {\n cleanUp(queueItems[i][0]);\n }\n};\n\nconst isNumber = (value) => Number.isInteger(value);\n\nconst countStepsToSelector = ({\n queueItems,\n selector,\n cursorPosition,\n to\n}) => {\n if (isNumber(selector)) {\n return selector * -1;\n }\n let isMovingToEnd = new RegExp(END, \"i\").test(to);\n let selectorIndex = selector ? [...queueItems].reverse().findIndex(({ char }) => {\n let parentElement = char.parentElement;\n let parentMatches = parentElement.matches(selector);\n if (isMovingToEnd && parentMatches) {\n return true;\n }\n return parentMatches && parentElement.firstChild.isSameNode(char);\n }) : -1;\n if (selectorIndex < 0) {\n selectorIndex = isMovingToEnd ? 0 : queueItems.length - 1;\n }\n let offset = isMovingToEnd ? 0 : 1;\n return selectorIndex - cursorPosition + offset;\n};\n\nconst destroyTimeouts = (timeouts) => {\n timeouts.forEach(clearTimeout);\n return [];\n};\n\nconst duplicate = (value, times) => new Array(times).fill(value);\n\nlet beforePaint = (cb) => {\n return new Promise((resolve) => {\n requestAnimationFrame(async () => {\n resolve(await cb());\n });\n });\n};\n\nlet getAnimationFromElement = (element) => {\n return element?.getAnimations().find((animation) => {\n return animation.id === element.dataset.tiAnimationId;\n });\n};\n\nlet setCursorAnimation = ({\n cursor,\n frames,\n options\n}) => {\n let animation = cursor.animate(frames, options);\n animation.pause();\n animation.id = cursor.dataset.tiAnimationId;\n beforePaint(() => {\n beforePaint(() => {\n animation.play();\n });\n });\n return animation;\n};\n\nlet rebuildCursorAnimation = ({\n cursor,\n options,\n cursorOptions\n}) => {\n if (!cursor || !cursorOptions) return;\n let animation = getAnimationFromElement(cursor);\n let oldCurrentTime;\n if (animation) {\n options.delay = animation.effect.getComputedTiming().delay;\n oldCurrentTime = animation.currentTime;\n animation.cancel();\n }\n let newAnimation = setCursorAnimation({\n cursor,\n frames: cursorOptions.animation.frames,\n options\n });\n if (oldCurrentTime) {\n newAnimation.currentTime = oldCurrentTime;\n }\n return newAnimation;\n};\n\nlet execute = (queueItem) => queueItem.func?.call(null);\nlet fireItem = async ({\n index,\n queueItems,\n wait,\n cursor,\n cursorOptions\n}) => {\n let queueItem = queueItems[index][1];\n let instantQueue = [];\n let tempIndex = index;\n let futureItem = queueItem;\n let shouldBeGrouped = () => futureItem && !futureItem.delay;\n let shouldPauseCursor = queueItem.shouldPauseCursor() && cursorOptions.autoPause;\n while (shouldBeGrouped()) {\n instantQueue.push(futureItem);\n shouldBeGrouped() && tempIndex++;\n futureItem = queueItems[tempIndex] ? queueItems[tempIndex][1] : null;\n }\n if (instantQueue.length) {\n await beforePaint(async () => {\n for (let q of instantQueue) {\n await execute(q);\n }\n });\n return tempIndex - 1;\n }\n let animation = getAnimationFromElement(cursor);\n let options;\n if (animation) {\n options = {\n ...animation.effect.getComputedTiming(),\n delay: shouldPauseCursor ? cursorOptions.autoPauseDelay : 0\n };\n }\n await wait(async () => {\n if (animation && shouldPauseCursor) {\n animation.cancel();\n }\n await beforePaint(() => {\n execute(queueItem);\n });\n }, queueItem.delay);\n await rebuildCursorAnimation({\n cursor,\n options,\n cursorOptions\n });\n return index;\n};\n\nconst fireWhenVisible = (element, func) => {\n let observer = new IntersectionObserver(\n (entries, observer2) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n func();\n observer2.unobserve(element);\n }\n });\n },\n { threshold: 1 }\n );\n observer.observe(element);\n};\n\nconst generateHash = () => Math.random().toString().substring(2, 9);\n\nconst isInput = (el) => {\n return \"value\" in el;\n};\n\nlet getAllChars = (element) => {\n if (isInput(element)) {\n return toArray(element.value);\n }\n return walkElementNodes(element, true).filter(\n (c) => !(c.childNodes.length > 0)\n );\n};\n\nlet handleFunctionalArg = (arg) => {\n return typeof arg === \"function\" ? arg() : arg;\n};\n\nlet select = (selector, element = document, all = false) => {\n return element[`querySelector${all ? \"All\" : \"\"}`](selector);\n};\n\nlet isBodyElement = (node) => /body/i.test(node?.tagName);\n\nlet insertIntoElement = (originalTarget, character) => {\n if (isInput(originalTarget)) {\n originalTarget.value = `${originalTarget.value}${character.textContent}`;\n return;\n }\n character.innerHTML = \"\";\n let target = isBodyElement(character.originalParent) ? originalTarget : (\n // If we add one-off fresh elements, there will be no\n // \"originalParent\", so always fall back to the default target.\n character.originalParent || originalTarget\n );\n let cursorNode = select(\".\" + CURSOR_CLASS, target) || null;\n if (cursorNode && cursorNode.parentElement !== target) {\n target = cursorNode.parentElement;\n }\n target.insertBefore(character, cursorNode);\n};\n\nconst isNonVoidElement = (el) => /<(.+)>(.*?)<\\/(.+)>/.test(el.outerHTML);\n\nconst merge = (originalObj, newObj) => Object.assign({}, originalObj, newObj);\n\nlet processCursorOptions = (cursorOptions) => {\n if (typeof cursorOptions === \"object\") {\n let newOptions = {};\n let { frames: defaultFrames, options: defaultOptions } = DEFAULT_OPTIONS.cursor.animation;\n newOptions.animation = cursorOptions.animation || {};\n newOptions.animation.frames = cursorOptions.animation?.frames || defaultFrames;\n newOptions.animation.options = merge(\n defaultOptions,\n cursorOptions.animation?.options || {}\n );\n newOptions.autoPause = cursorOptions.autoPause ?? DEFAULT_OPTIONS.cursor.autoPause;\n newOptions.autoPauseDelay = cursorOptions.autoPauseDelay || DEFAULT_OPTIONS.cursor.autoPauseDelay;\n return newOptions;\n }\n if (cursorOptions === true) {\n return DEFAULT_OPTIONS.cursor;\n }\n return cursorOptions;\n};\n\nconst removeNode = (node, rootElement) => {\n if (!node) return;\n let nodeParent = node.parentNode;\n let nodeToRemove = nodeParent.childNodes.length > 1 || nodeParent.isSameNode(rootElement) ? (\n // This parent still needs to exist.\n node\n ) : (\n // There's nothing else in there, so just delete the entire thing.\n // By doing this, we clean up markup as we go along.\n nodeParent\n );\n nodeToRemove.remove();\n};\n\nconst repositionCursor = (element, allChars, newCursorPosition) => {\n let nodeToInsertBefore = allChars[newCursorPosition - 1];\n let cursor = select(`.${CURSOR_CLASS}`, element);\n element = nodeToInsertBefore?.parentNode || element;\n element.insertBefore(cursor, nodeToInsertBefore || null);\n};\n\nfunction selectorToElement(thing) {\n return typeof thing === \"string\" ? select(thing) : thing;\n}\n\nlet cursorFontStyles = {\n \"font-family\": \"\",\n \"font-weight\": \"\",\n \"font-size\": \"\",\n \"font-style\": \"\",\n \"line-height\": \"\",\n color: \"\",\n transform: \"translateX(-.125em)\"\n};\nlet setCursorStyles = (id, element) => {\n let rootSelector = `[${DATA_ATTRIBUTE}='${id}']`;\n let cursorSelector = `${rootSelector} .${CURSOR_CLASS}`;\n let computedStyles = getComputedStyle(element);\n let customProperties = Object.entries(cursorFontStyles).reduce(\n (accumulator, [item, value]) => {\n return `${accumulator} ${item}: var(--ti-cursor-${item}, ${value || computedStyles[item]});`;\n },\n \"\"\n );\n appendStyleBlock(\n `${cursorSelector} { display: inline-block; width: 0; ${customProperties} }`,\n id\n );\n};\n\nfunction splitOnBreak(str) {\n return str.replace(/<!--(.+?)-->/g, \"\").trim().split(/<br(?:\\s*?)(?:\\/)?>/);\n}\n\nlet updateCursorPosition = (steps, cursorPosition, printedCharacters) => {\n return Math.min(\n Math.max(cursorPosition + steps, 0),\n printedCharacters.length\n );\n};\n\nlet wait = (callback, delay, timeouts) => {\n return new Promise((resolve) => {\n let cb = async () => {\n await callback();\n resolve();\n };\n timeouts.push(setTimeout(cb, delay || 0));\n });\n};\n\nclass TypeIt {\n element;\n timeouts;\n cursorPosition;\n predictedCursorPosition;\n statuses = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false,\n firing: false\n };\n opts;\n id;\n queue;\n cursor;\n flushCallback = null;\n unfreeze = () => {\n };\n constructor(element, options = {}) {\n this.opts = merge(DEFAULT_OPTIONS, options);\n this.element = selectorToElement(element);\n this.timeouts = [];\n this.cursorPosition = 0;\n this.unfreeze = () => {\n };\n this.predictedCursorPosition = null;\n this.statuses = merge({}, DEFAULT_STATUSES);\n this.id = generateHash();\n this.queue = Queue([{ delay: this.opts.startDelay }]);\n this.#buildOptions(options);\n this.cursor = this.#setUpCursor();\n this.element.dataset.typeitId = this.id;\n appendStyleBlock(PLACEHOLDER_CSS);\n if (this.opts.strings.length) {\n this.#generateQueue();\n }\n }\n /**\n * Can only be called once.\n */\n go() {\n if (this.statuses.started) {\n return this;\n }\n this.#attachCursor();\n if (!this.opts.waitUntilVisible) {\n this.#fire();\n return this;\n }\n fireWhenVisible(this.element, this.#fire.bind(this));\n return this;\n }\n destroy(shouldRemoveCursor = true) {\n this.timeouts = destroyTimeouts(this.timeouts);\n handleFunctionalArg(shouldRemoveCursor) && this.cursor && this.#removeNode(this.cursor);\n this.statuses.destroyed = true;\n }\n reset(rebuild) {\n !this.is(\"destroyed\") && this.destroy();\n if (rebuild) {\n this.queue.wipe();\n rebuild(this);\n } else {\n this.queue.reset();\n }\n this.cursorPosition = 0;\n for (let property in this.statuses) {\n this.statuses[property] = false;\n }\n this.element[this.#elementIsInput() ? \"value\" : \"innerHTML\"] = \"\";\n return this;\n }\n is = function(key) {\n return this.statuses[key];\n };\n type(string, actionOpts = {}) {\n string = handleFunctionalArg(string);\n let { instant } = actionOpts;\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let chars = maybeChunkStringAsHtml(string, this.opts.html);\n let charsAsQueueItems = chars.map((char) => {\n return {\n func: () => this.#type(char),\n char,\n delay: instant || isNonVoidElement(char) ? 0 : this.#getPace(),\n typeable: char.nodeType === Node.TEXT_NODE\n };\n });\n let itemsToQueue = [\n bookEndQueueItems[0],\n { func: async () => await this.opts.beforeString(string, this) },\n ...charsAsQueueItems,\n { func: async () => await this.opts.afterString(string, this) },\n bookEndQueueItems[1]\n ];\n return this.#queueAndReturn(itemsToQueue, actionOpts);\n }\n break(actionOpts = {}) {\n return this.#queueAndReturn(\n {\n func: () => this.#type(createElement(\"BR\")),\n typeable: true\n },\n actionOpts\n );\n }\n move(movementArg, actionOpts = {}) {\n movementArg = handleFunctionalArg(movementArg);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let { instant, to } = actionOpts;\n let numberOfSteps = countStepsToSelector({\n queueItems: this.queue.getTypeable(),\n selector: movementArg === null ? \"\" : movementArg,\n to,\n cursorPosition: this.#derivedCursorPosition\n });\n let directionalStep = numberOfSteps < 0 ? -1 : 1;\n this.predictedCursorPosition = this.#derivedCursorPosition + numberOfSteps;\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: () => this.#move(directionalStep),\n delay: instant ? 0 : this.#getPace(),\n cursorable: true\n },\n Math.abs(numberOfSteps)\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n exec(func, actionOpts = {}) {\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n return this.#queueAndReturn(\n [bookEndQueueItems[0], { func: () => func(this) }, bookEndQueueItems[1]],\n actionOpts\n );\n }\n options(opts, actionOpts = {}) {\n opts = handleFunctionalArg(opts);\n this.#updateOptions(opts);\n return this.#queueAndReturn({}, actionOpts);\n }\n pause(milliseconds, actionOpts = {}) {\n return this.#queueAndReturn(\n { delay: handleFunctionalArg(milliseconds) },\n actionOpts\n );\n }\n delete(numCharacters = null, actionOpts = {}) {\n numCharacters = handleFunctionalArg(numCharacters);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let num = numCharacters;\n let { instant, to } = actionOpts;\n let typeableQueueItems = this.queue.getTypeable();\n let rounds = (() => {\n if (num === null) {\n return typeableQueueItems.length;\n }\n if (isNumber(num)) {\n return num;\n }\n return countStepsToSelector({\n queueItems: typeableQueueItems,\n selector: num,\n cursorPosition: this.#derivedCursorPosition,\n to\n });\n })();\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: this.#delete.bind(this),\n delay: instant ? 0 : this.#getPace(1),\n deletable: true\n },\n rounds\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n freeze() {\n this.statuses.frozen = true;\n }\n /**\n * Like `.go()`, but more... \"off the grid.\"\n *\n * - won't trigger `afterComplete` callback\n * - items won't be replayed after `.reset()`\n *\n * When called, all non-done items will be \"flushed\" --\n * that is, executed, but not remembered.\n */\n flush(cb = null) {\n this.flushCallback = cb || this.flushCallback;\n if (this.statuses.firing) {\n return this;\n }\n this.#attachCursor();\n this.#fire(false).then(() => {\n if (this.queue.getPendingQueueItems().length > 0) {\n return this.flush();\n }\n this.flushCallback();\n this.flushCallback = null;\n });\n return this;\n }\n getQueue() {\n return this.queue;\n }\n getOptions() {\n return this.opts;\n }\n updateOptions(options) {\n return this.#updateOptions(options);\n }\n getElement() {\n return this.element;\n }\n empty(actionOpts = {}) {\n return this.#queueAndReturn({ func: this.#empty.bind(this) }, actionOpts);\n }\n async #empty() {\n if (this.#elementIsInput()) {\n this.element.value = \"\";\n return;\n }\n this.#allChars.forEach(this.#removeNode.bind(this));\n return;\n }\n /**\n * Execute items in the queue.\n *\n * @param remember If false, each queue item will be destroyed once executed.\n * @returns\n */\n async #fire(remember = true) {\n this.statuses.started = true;\n this.statuses.firing = true;\n let cleanUp = (qKey) => {\n this.queue.done(qKey, !remember);\n };\n try {\n let queueItems = [...this.queue.getQueue()];\n for (let index = 0; index < queueItems.length; index++) {\n let [queueKey, queueItem] = queueItems[index];\n if (queueItem.done) continue;\n if (!queueItem.deletable || queueItem.deletable && this.#allChars.length) {\n let newIndex = await this.#fireItemWithContext(index, queueItems);\n cleanUpSkipped({\n index,\n newIndex,\n queueItems,\n cleanUp\n });\n index = newIndex;\n }\n cleanUp(queueKey);\n }\n if (!remember) {\n this.statuses.firing = false;\n return this;\n }\n this.statuses.completed = true;\n this.statuses.firing = false;\n await this.opts.afterComplete(this);\n if (!this.opts.loop) {\n throw \"\";\n }\n let delay = this.opts.loopDelay;\n this.#wait(async () => {\n await this.#prepLoop(delay[0]);\n this.#fire();\n }, delay[1]);\n } catch (e) {\n }\n this.statuses.firing = false;\n return this;\n }\n async #move(step) {\n this.cursorPosition = updateCursorPosition(\n step,\n this.cursorPosition,\n this.#allChars\n );\n repositionCursor(this.element, this.#allChars, this.cursorPosition);\n }\n /**\n * 1. Reset queue.\n * 2. Reset initial pause.\n */\n async #prepLoop(delay) {\n let derivedCursorPosition = this.#derivedCursorPosition;\n derivedCursorPosition && await this.#move({ value: derivedCursorPosition });\n let queueItems = this.#allChars.map((c) => {\n return [\n Symbol(),\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true,\n shouldPauseCursor: () => true\n }\n ];\n });\n for (let index = 0; index < queueItems.length; index++) {\n await this.#fireItemWithContext(index, queueItems);\n }\n this.queue.reset();\n this.queue.set(0, { delay });\n }\n #fireItemWithContext(index, queueItems) {\n return fireItem({\n index,\n queueItems,\n wait: this.#wait.bind(this),\n cursor: this.cursor,\n cursorOptions: this.opts.cursor\n });\n }\n async #wait(callback, delay, silent = false) {\n if (this.statuses.frozen) {\n await new Promise((resolve) => {\n this.unfreeze = () => {\n this.statuses.frozen = false;\n resolve();\n };\n });\n }\n silent || await this.opts.beforeStep(this);\n await wait(callback, delay, this.timeouts);\n silent || await this.opts.afterStep(this);\n }\n /**\n * Attach it to the DOM so, along with the required CSS transition.\n */\n async #attachCursor() {\n !this.#elementIsInput() && this.cursor && this.element.appendChild(this.cursor);\n if (this.#shouldRenderCursor) {\n setCursorStyles(this.id, this.element);\n this.cursor.dataset.tiAnimationId = this.id;\n let { animation } = this.opts.cursor;\n let { frames, options } = animation;\n setCursorAnimation({\n frames,\n cursor: this.cursor,\n options: {\n duration: this.opts.cursorSpeed,\n ...options\n }\n });\n }\n }\n #elementIsInput() {\n return isInput(this.element);\n }\n #queueAndReturn(steps, opts) {\n this.queue.add(steps);\n this.#maybeAppendPause(opts);\n return this;\n }\n #maybeAppendPause(opts = {}) {\n let delay = opts.delay;\n delay && this.queue.add({ delay });\n }\n #generateTemporaryOptionQueueItems(newOptions = {}) {\n return [\n { func: () => this.#updateOptions(newOptions) },\n { func: () => this.#updateOptions(this.opts) }\n ];\n }\n async #updateOptions(opts) {\n this.opts = merge(this.opts, opts);\n }\n /**\n * Based on provided strings, generate a TypeIt queue\n * to be fired for each character in the string.\n */\n #generateQueue() {\n let strings = this.opts.strings.filter((string) => !!string);\n strings.forEach((string, index) => {\n this.type(string);\n if (index + 1 === strings.length) {\n return;\n }\n let splitItems = this.opts.breakLines ? [{ func: () => this.#type(createElement(\"BR\")), typeable: true }] : duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1)\n },\n this.queue.getTypeable().length\n );\n this.#addSplitPause(splitItems);\n });\n }\n #buildOptions = (options) => {\n this.opts.cursor = processCursorOptions(\n options.cursor ?? DEFAULT_OPTIONS.cursor\n );\n this.opts.strings = this.#prependHardcodedStrings(\n asArray(this.opts.strings)\n );\n this.opts = merge(this.opts, {\n html: !this.#isInput && this.opts.html,\n nextStringDelay: calculateDelay(this.opts.nextStringDelay),\n loopDelay: calculateDelay(this.opts.loopDelay)\n });\n };\n #prependHardcodedStrings(strings) {\n let existingMarkup = this.element.innerHTML;\n if (!existingMarkup) {\n return strings;\n }\n this.element.innerHTML = \"\";\n if (this.opts.startDelete) {\n this.element.innerHTML = existingMarkup;\n expandTextNodes(this.element);\n this.#addSplitPause(\n duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true\n },\n this.#allChars.length\n )\n );\n return strings;\n }\n return splitOnBreak(existingMarkup).concat(strings);\n }\n /**\n * Provided it's a non-form element and the options is provided,\n * set up the cursor element for the animation.\n */\n #setUpCursor() {\n if (this.#isInput) {\n return null;\n }\n let cursor = createElement(\"span\");\n cursor.className = CURSOR_CLASS;\n if (!this.#shouldRenderCursor) {\n cursor.style.visibility = \"hidden\";\n return cursor;\n }\n cursor.innerHTML = getParsedBody(this.opts.cursorChar).innerHTML;\n return cursor;\n }\n #addSplitPause(items) {\n let delay = this.opts.nextStringDelay;\n this.queue.add([{ delay: delay[0] }, ...items, { delay: delay[1] }]);\n }\n #type(char) {\n insertIntoElement(this.element, char);\n }\n #delete() {\n if (!this.#allChars.length) return;\n if (this.#isInput) {\n this.element.value = this.element.value.slice(0, -1);\n } else {\n this.#removeNode(this.#allChars[this.cursorPosition]);\n }\n }\n #removeNode(node) {\n removeNode(node, this.element);\n }\n #getPace(index = 0) {\n return calculatePace(this.opts)[index];\n }\n get #derivedCursorPosition() {\n return this.predictedCursorPosition ?? this.cursorPosition;\n }\n get #isInput() {\n return isInput(this.element);\n }\n get #shouldRenderCursor() {\n return !!this.opts.cursor && !this.#isInput;\n }\n get #allChars() {\n return getAllChars(this.element);\n }\n}\n\nexport { TypeIt as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,13 +14,13 @@ import { n as Ke, t as qe } from "./theme.service-cOfPrtfe.js";
|
|
|
14
14
|
import { n as Je, r as Ye, t as Xe } from "./layout-fjM1DWlF.js";
|
|
15
15
|
import { t as Ze } from "./magnetic-BhXebqF3.js";
|
|
16
16
|
import { DragDirective as Qe, DropDirective as $e, animateText as et, color as tt, confirmClick as nt, cycleText as rt, depthOfField as it, drag as at, drop as ot, gravity as st, intersect as ct, liquid as lt, livingBorder as ut, longPress as dt, nebula as ft, reveal as pt, ripple as mt, typewriter as ht } from "./directives.js";
|
|
17
|
-
import { C as gt, E as _t, S as vt, T as yt, _ as bt, a as xt, b as St, c as Ct, d as wt, f as Tt, g as Et, h as Dt, i as Ot, l as kt, m as At, n as jt, o as Mt, p as Nt, r as Pt, s as Ft, t as It, u as Lt, v as Rt, w as zt, x as X, y as Bt } from "./src-
|
|
17
|
+
import { C as gt, E as _t, S as vt, T as yt, _ as bt, a as xt, b as St, c as Ct, d as wt, f as Tt, g as Et, h as Dt, i as Ot, l as kt, m as At, n as jt, o as Mt, p as Nt, r as Pt, s as Ft, t as It, u as Lt, v as Rt, w as zt, x as X, y as Bt } from "./src-Dw-PjtMH.js";
|
|
18
18
|
import { t as Vt } from "./boat-Dw8TmOzN.js";
|
|
19
19
|
import { SchmancyButton as Ht, SchmnacyIconButton as Ut } from "./button.js";
|
|
20
20
|
import { SchmancyAreaChart as Wt, SchmancyPills as Gt, catmullRomSpline as Kt, easeOutCubic as qt, hexToRgba as Jt } from "./charts.js";
|
|
21
21
|
import { t as Yt } from "./checkbox-Br84TiCs.js";
|
|
22
22
|
import { n as Z, r as Xt, t as Zt } from "./chips-BNYOweGm.js";
|
|
23
|
-
import { n as Q, t as Qt } from "./code-highlight-
|
|
23
|
+
import { n as Q, t as Qt } from "./code-highlight-CI_gqXYX.js";
|
|
24
24
|
import { t as $t } from "./components-DjKNS9R_.js";
|
|
25
25
|
import { SchmancyConnectivityStatus as en } from "./connectivity.js";
|
|
26
26
|
import { n as tn, t as nn } from "./date-range-sGkC0KF3.js";
|
|
@@ -59,15 +59,15 @@ import { t as fr } from "./theme.interface-Buged9Cg.js";
|
|
|
59
59
|
import { t as pr } from "./select-wFDKDLQI.js";
|
|
60
60
|
import { SchmancySlide as mr, SchmancySlider as hr } from "./slider.js";
|
|
61
61
|
import { SchmancyStep as gr, SchmancyStepsContainer as _r, StepsController as vr, stepsContext as yr } from "./steps.js";
|
|
62
|
-
import { n as br, t as xr } from "./table-
|
|
62
|
+
import { n as br, t as xr } from "./table-Dwt66SR6.js";
|
|
63
63
|
import { a as Sr, c as Cr, i as wr, l as Tr, n as Er, o as Dr, r as Or, s as kr, t as Ar } from "./theme-Cq_c9IO3.js";
|
|
64
64
|
import { tooltip as jr } from "./tooltip.js";
|
|
65
65
|
import { SchmancyTree as Mr } from "./tree.js";
|
|
66
66
|
import { SchmancyEvents as Nr } from "./types.js";
|
|
67
67
|
import { t as Pr } from "./intersection-BrXp4YTO.js";
|
|
68
|
-
import {
|
|
68
|
+
import { TypewriterElement as Fr } from "./typewriter.js";
|
|
69
69
|
import { SchmancyTypography as Ir } from "./typography.js";
|
|
70
|
-
import { t as Lr } from "./utils-
|
|
70
|
+
import { t as Lr } from "./utils-Bp2jhyZc.js";
|
|
71
71
|
import { SchmancyBreadcrumb as Rr, SchmancyBreadcrumbItem as zr } from "./breadcrumb.js";
|
|
72
72
|
import { SchmancyKbd as Br } from "./kbd.js";
|
|
73
73
|
import { SchmancySkeleton as Vr } from "./skeleton.js";
|
package/dist/nav-drawer.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-sG7Ihf0e.cjs`);exports.$drawer=e.m,Object.defineProperty(exports,`SchmancyDrawerAppbar`,{enumerable:!0,get:function(){return e.p}}),exports.SchmancyDrawerNavbarMode=e.u,exports.SchmancyDrawerNavbarState=e.d,Object.defineProperty(exports,`SchmancyNavigationDrawer`,{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(exports,`SchmancyNavigationDrawerContent`,{enumerable:!0,get:function(){return e.f}}),Object.defineProperty(exports,`SchmancyNavigationDrawerSidebar`,{enumerable:!0,get:function(){return e.c}}),exports.schmancyNavDrawer=e.h;
|
package/dist/nav-drawer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { c as e, d as t, f as n, h as r, l as i, m as a, p as o, u as s } from "./src-
|
|
1
|
+
import { c as e, d as t, f as n, h as r, l as i, m as a, p as o, u as s } from "./src-Dw-PjtMH.js";
|
|
2
2
|
export { a as $drawer, o as SchmancyDrawerAppbar, s as SchmancyDrawerNavbarMode, t as SchmancyDrawerNavbarState, i as SchmancyNavigationDrawer, n as SchmancyNavigationDrawerContent, e as SchmancyNavigationDrawerSidebar, r as schmancyNavDrawer };
|
package/dist/navigation-bar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-sG7Ihf0e.cjs`);Object.defineProperty(exports,`SchmancyNavigationBar`,{enumerable:!0,get:function(){return e.o}}),Object.defineProperty(exports,`SchmancyNavigationBarItem`,{enumerable:!0,get:function(){return e.s}});
|
package/dist/navigation-bar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { o as e, s as t } from "./src-
|
|
1
|
+
import { o as e, s as t } from "./src-Dw-PjtMH.js";
|
|
2
2
|
export { e as SchmancyNavigationBar, t as SchmancyNavigationBarItem };
|