@voidzero-dev/vitepress-theme 0.0.18 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +60 -0
  2. package/dist/assets/clients/bolt.svg +5 -0
  3. package/dist/assets/clients/cloudflare.svg +26 -0
  4. package/dist/assets/clients/framer.svg +16 -0
  5. package/dist/assets/clients/hugging-face.svg +9 -0
  6. package/dist/assets/clients/linear.svg +7 -0
  7. package/dist/assets/clients/mercedes.svg +2865 -0
  8. package/dist/assets/clients/openai.svg +1 -0
  9. package/dist/assets/clients/plaid.svg +7 -0
  10. package/dist/assets/clients/ramp.svg +1 -0
  11. package/dist/assets/clients/shopify.svg +30 -0
  12. package/dist/assets/icons/oxc-dark.svg +124 -0
  13. package/dist/assets/icons/oxc-light.svg +124 -0
  14. package/dist/assets/icons/oxc-mono.svg +5 -0
  15. package/dist/assets/icons/rolldown-dark.svg +92 -0
  16. package/dist/assets/icons/rolldown-light.svg +92 -0
  17. package/dist/assets/icons/rolldown-mono.svg +5 -0
  18. package/dist/assets/icons/vite-dark.svg +132 -0
  19. package/dist/assets/icons/vite-light.svg +132 -0
  20. package/dist/assets/icons/vite-mono.svg +5 -0
  21. package/dist/assets/icons/viteplus-dark.svg +133 -0
  22. package/dist/assets/icons/viteplus-light.svg +133 -0
  23. package/dist/assets/icons/viteplus-mono.svg +6 -0
  24. package/dist/assets/icons/vitest-dark.svg +52 -0
  25. package/dist/assets/icons/vitest-light.svg +52 -0
  26. package/dist/assets/icons/vitest-mono.svg +5 -0
  27. package/dist/assets/logos/oxc-dark.svg +125 -0
  28. package/dist/assets/logos/oxc-light.svg +125 -0
  29. package/dist/assets/logos/rolldown-dark.svg +93 -0
  30. package/dist/assets/logos/rolldown-light.svg +93 -0
  31. package/dist/assets/logos/vite-dark.svg +133 -0
  32. package/dist/assets/logos/vite-light.svg +133 -0
  33. package/dist/assets/logos/viteplus-dark.svg +133 -0
  34. package/dist/assets/logos/viteplus-light.svg +133 -0
  35. package/dist/assets/logos/vitest-dark.svg +53 -0
  36. package/dist/assets/logos/vitest-light.svg +53 -0
  37. package/dist/assets/logos/voidzero-dark.svg +3 -0
  38. package/dist/assets/logos/voidzero-light.svg +3 -0
  39. package/dist/assets/social/github.svg +3 -0
  40. package/dist/assets/terminal-background.jpg +0 -0
  41. package/dist/assets/viteplus/logo.svg +1 -0
  42. package/dist/assets/voidzero/animations/1280_x_552_homepage.riv +0 -0
  43. package/dist/assets/voidzero/animations/480_x_480_build_tool_for_web.riv +0 -0
  44. package/dist/assets/voidzero/animations/480_x_480_fastest_javascript_bundler.riv +0 -0
  45. package/dist/assets/voidzero/animations/480_x_480_language_toolchain.riv +0 -0
  46. package/dist/assets/voidzero/animations/480_x_480_next_generation_runner.riv +0 -0
  47. package/dist/assets/voidzero/backgrounds/casestudies.jpg +0 -0
  48. package/dist/assets/voidzero/backgrounds/oxc.jpg +0 -0
  49. package/dist/assets/voidzero/backgrounds/rolldown.jpg +0 -0
  50. package/dist/assets/voidzero/backgrounds/vite.jpg +0 -0
  51. package/dist/assets/voidzero/backgrounds/vitest.jpg +0 -0
  52. package/dist/assets/voidzero/logo.svg +3 -0
  53. package/dist/assets/voidzero/terminals/rolldown.svg +7 -0
  54. package/dist/assets/voidzero/terminals/vite.svg +9 -0
  55. package/dist/assets/voidzero/terminals/vitest.svg +49 -0
  56. package/dist/index.css +1 -346
  57. package/dist/index.js +5 -3
  58. package/dist/index10.js +7 -0
  59. package/dist/index11.js +13 -0
  60. package/dist/index12.js +13 -0
  61. package/dist/index13.js +13 -0
  62. package/dist/index14.js +7 -0
  63. package/dist/index15.js +12 -0
  64. package/dist/index16.js +7 -0
  65. package/dist/index17.js +12 -0
  66. package/dist/index19.js +4 -0
  67. package/dist/index2.js +27 -0
  68. package/dist/index20.js +4 -0
  69. package/dist/index21.js +4 -0
  70. package/dist/index22.js +4 -0
  71. package/dist/index23.js +4 -0
  72. package/dist/index24.js +4 -0
  73. package/dist/index25.js +23 -0
  74. package/dist/index27.js +9 -0
  75. package/dist/index28.js +107 -0
  76. package/dist/index3.js +75 -0
  77. package/dist/index30.js +4 -0
  78. package/dist/index31.js +4 -0
  79. package/dist/index32.js +297 -0
  80. package/dist/index34.js +149 -0
  81. package/dist/index36.js +20 -0
  82. package/dist/index37.js +20 -0
  83. package/dist/index38.js +20 -0
  84. package/dist/index39.js +4 -0
  85. package/dist/index4.js +157 -0
  86. package/dist/index40.js +28 -0
  87. package/dist/index41.js +32 -0
  88. package/dist/index42.js +28 -0
  89. package/dist/index43.js +28 -0
  90. package/dist/index44.js +28 -0
  91. package/dist/index45.js +28 -0
  92. package/dist/index46.js +4 -0
  93. package/dist/index47.js +4 -0
  94. package/dist/index48.js +4 -0
  95. package/dist/index49.js +4 -0
  96. package/dist/index5.js +15 -0
  97. package/dist/index50.js +4 -0
  98. package/dist/index51.js +4 -0
  99. package/dist/index52.js +4 -0
  100. package/dist/index53.js +4 -0
  101. package/dist/index54.js +4 -0
  102. package/dist/index55.js +4 -0
  103. package/dist/index56.js +4 -0
  104. package/dist/index57.js +4 -0
  105. package/dist/index58.js +4 -0
  106. package/dist/index59.js +4 -0
  107. package/dist/index6.js +75 -0
  108. package/dist/index60.js +4 -0
  109. package/dist/index61.js +4 -0
  110. package/dist/index62.js +4 -0
  111. package/dist/index63.js +36 -0
  112. package/dist/index64.js +4 -0
  113. package/dist/index65.js +4 -0
  114. package/dist/index66.js +4 -0
  115. package/dist/index67.js +4 -0
  116. package/dist/index68.js +4 -0
  117. package/dist/index69.js +4 -0
  118. package/dist/index7.js +36 -0
  119. package/dist/index70.js +4 -0
  120. package/dist/index71.js +4 -0
  121. package/dist/index72.js +4 -0
  122. package/dist/index73.js +4 -0
  123. package/dist/index74.js +4 -0
  124. package/dist/index75.js +4 -0
  125. package/dist/index76.js +24 -0
  126. package/dist/index77.js +126 -0
  127. package/dist/index78.js +4 -0
  128. package/dist/index79.js +35 -0
  129. package/dist/index8.js +35 -0
  130. package/dist/index80.js +1204 -0
  131. package/dist/index81.js +7 -0
  132. package/dist/index82.js +6 -0
  133. package/dist/index83.js +317 -0
  134. package/dist/index84.js +4 -0
  135. package/dist/index9.js +7 -0
  136. package/package.json +11 -4
  137. package/dist/_virtual/_/plugin-vue/export-helper.js +0 -11
  138. package/dist/assets/cta-background-CgYtVhnO.jpg +0 -1
  139. package/dist/index.d.ts +0 -2
  140. package/dist/vitepress/assets/cta-background.js +0 -5
  141. package/dist/vitepress/components/Eyebrow.js +0 -18
  142. package/dist/vitepress/components/Footer.js +0 -72
  143. package/dist/vitepress/components/Header.js +0 -34
  144. package/dist/vitepress/components/RiveAnimation.js +0 -117
  145. package/dist/vitepress/components/Terminal.js +0 -161
  146. package/dist/vitepress/components/icons/VZIconBluesky.js +0 -21
  147. package/dist/vitepress/components/icons/VZIconGitHub.js +0 -21
  148. package/dist/vitepress/components/icons/VZIconLogo.js +0 -24
  149. package/dist/vitepress/components/icons/VZIconTwitter.js +0 -21
  150. package/dist/vitepress/components/terminal-animations/TerminalAnimation1.js +0 -37
  151. package/dist/vitepress/components/terminal-animations/TerminalAnimation2.js +0 -44
  152. package/dist/vitepress/components/terminal-animations/TerminalAnimation3.js +0 -37
  153. package/dist/vitepress/components/terminal-animations/TerminalAnimation4.js +0 -37
  154. package/dist/vitepress/components/terminal-animations/TerminalAnimation5.js +0 -37
  155. package/dist/vitepress/components/terminal-animations/TerminalAnimation6.js +0 -37
  156. package/dist/vitepress/index.d.ts +0 -34
  157. package/dist/vitepress/index.js +0 -21
@@ -0,0 +1,7 @@
1
+ import { getDefaultExportFromCjs as r } from "./index82.js";
2
+ import { __require as e } from "./index83.js";
3
+ var o = e();
4
+ const a = /* @__PURE__ */ r(o);
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,6 @@
1
+ function e(t) {
2
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
3
+ }
4
+ export {
5
+ e as getDefaultExportFromCjs
6
+ };
@@ -0,0 +1,317 @@
1
+ import { __module as q } from "./index84.js";
2
+ var fe = q.exports, te;
3
+ function he() {
4
+ return te ? q.exports : (te = 1, (function(ne, ve) {
5
+ (function(z, Q) {
6
+ ne.exports = Q();
7
+ })(typeof self < "u" ? self : fe, (() => (() => {
8
+ var z = { 3146: (s, c, p) => {
9
+ for (var S = p(3491), m = typeof window > "u" ? p.g : window, g = ["moz", "webkit"], h = "AnimationFrame", d = m["request" + h], _ = m["cancel" + h] || m["cancelRequest" + h], O = 0; !d && O < g.length; O++) d = m[g[O] + "Request" + h], _ = m[g[O] + "Cancel" + h] || m[g[O] + "CancelRequest" + h];
10
+ if (!d || !_) {
11
+ var D = 0, x = 0, b = [], R = 1e3 / 60;
12
+ d = function(y) {
13
+ if (b.length === 0) {
14
+ var T = S(), L = Math.max(0, R - (T - D));
15
+ D = L + T, setTimeout((function() {
16
+ var M = b.slice(0);
17
+ b.length = 0;
18
+ for (var C = 0; C < M.length; C++) if (!M[C].cancelled) try {
19
+ M[C].callback(D);
20
+ } catch (N) {
21
+ setTimeout((function() {
22
+ throw N;
23
+ }), 0);
24
+ }
25
+ }), Math.round(L));
26
+ }
27
+ return b.push({ handle: ++x, callback: y, cancelled: !1 }), x;
28
+ }, _ = function(y) {
29
+ for (var T = 0; T < b.length; T++) b[T].handle === y && (b[T].cancelled = !0);
30
+ };
31
+ }
32
+ s.exports = function(y) {
33
+ return d.call(m, y);
34
+ }, s.exports.cancel = function() {
35
+ _.apply(m, arguments);
36
+ }, s.exports.polyfill = function(y) {
37
+ y || (y = m), y.requestAnimationFrame = d, y.cancelAnimationFrame = _;
38
+ };
39
+ }, 3491: function(s) {
40
+ (function() {
41
+ var c, p, S, m, g, h;
42
+ typeof performance < "u" && performance !== null && performance.now ? s.exports = function() {
43
+ return performance.now();
44
+ } : typeof process < "u" && process !== null && process.hrtime ? (s.exports = function() {
45
+ return (c() - g) / 1e6;
46
+ }, p = process.hrtime, m = (c = function() {
47
+ var d;
48
+ return 1e9 * (d = p())[0] + d[1];
49
+ })(), h = 1e9 * process.uptime(), g = m - h) : Date.now ? (s.exports = function() {
50
+ return Date.now() - S;
51
+ }, S = Date.now()) : (s.exports = function() {
52
+ return (/* @__PURE__ */ new Date()).getTime() - S;
53
+ }, S = (/* @__PURE__ */ new Date()).getTime());
54
+ }).call(this);
55
+ } }, Q = {};
56
+ function w(s) {
57
+ var c = Q[s];
58
+ if (c !== void 0) return c.exports;
59
+ var p = Q[s] = { exports: {} };
60
+ return z[s].call(p.exports, p, p.exports, w), p.exports;
61
+ }
62
+ w.n = (s) => {
63
+ var c = s && s.__esModule ? () => s.default : () => s;
64
+ return w.d(c, { a: c }), c;
65
+ }, w.d = (s, c) => {
66
+ for (var p in c) w.o(c, p) && !w.o(s, p) && Object.defineProperty(s, p, { enumerable: !0, get: c[p] });
67
+ }, w.g = (function() {
68
+ if (typeof globalThis == "object") return globalThis;
69
+ try {
70
+ return this || new Function("return this")();
71
+ } catch {
72
+ if (typeof window == "object") return window;
73
+ }
74
+ })(), w.o = (s, c) => Object.prototype.hasOwnProperty.call(s, c);
75
+ var J = {};
76
+ return (() => {
77
+ w.d(J, { default: () => oe });
78
+ var s = w(3146), c = w.n(s);
79
+ const p = function(o) {
80
+ return new RegExp(/<[a-z][\s\S]*>/i).test(o);
81
+ }, S = function(o, t) {
82
+ return Math.floor(Math.random() * (t - o + 1)) + o;
83
+ };
84
+ var m = "TYPE_CHARACTER", g = "REMOVE_CHARACTER", h = "REMOVE_ALL", d = "REMOVE_LAST_VISIBLE_NODE", _ = "PAUSE_FOR", O = "CALL_FUNCTION", D = "ADD_HTML_TAG_ELEMENT", x = "CHANGE_DELETE_SPEED", b = "CHANGE_DELAY", R = "CHANGE_CURSOR", y = "PASTE_STRING", T = "HTML_TAG";
85
+ function L(o) {
86
+ return L = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
87
+ return typeof t;
88
+ } : function(t) {
89
+ return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
90
+ }, L(o);
91
+ }
92
+ function M(o, t) {
93
+ var a = Object.keys(o);
94
+ if (Object.getOwnPropertySymbols) {
95
+ var r = Object.getOwnPropertySymbols(o);
96
+ t && (r = r.filter((function(A) {
97
+ return Object.getOwnPropertyDescriptor(o, A).enumerable;
98
+ }))), a.push.apply(a, r);
99
+ }
100
+ return a;
101
+ }
102
+ function C(o) {
103
+ for (var t = 1; t < arguments.length; t++) {
104
+ var a = arguments[t] != null ? arguments[t] : {};
105
+ t % 2 ? M(Object(a), !0).forEach((function(r) {
106
+ u(o, r, a[r]);
107
+ })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(o, Object.getOwnPropertyDescriptors(a)) : M(Object(a)).forEach((function(r) {
108
+ Object.defineProperty(o, r, Object.getOwnPropertyDescriptor(a, r));
109
+ }));
110
+ }
111
+ return o;
112
+ }
113
+ function N(o) {
114
+ return (function(t) {
115
+ if (Array.isArray(t)) return U(t);
116
+ })(o) || (function(t) {
117
+ if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t);
118
+ })(o) || (function(t, a) {
119
+ if (t) {
120
+ if (typeof t == "string") return U(t, a);
121
+ var r = {}.toString.call(t).slice(8, -1);
122
+ return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? U(t, a) : void 0;
123
+ }
124
+ })(o) || (function() {
125
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
126
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
127
+ })();
128
+ }
129
+ function U(o, t) {
130
+ (t == null || t > o.length) && (t = o.length);
131
+ for (var a = 0, r = Array(t); a < t; a++) r[a] = o[a];
132
+ return r;
133
+ }
134
+ function re(o, t) {
135
+ for (var a = 0; a < t.length; a++) {
136
+ var r = t[a];
137
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(o, $(r.key), r);
138
+ }
139
+ }
140
+ function u(o, t, a) {
141
+ return (t = $(t)) in o ? Object.defineProperty(o, t, { value: a, enumerable: !0, configurable: !0, writable: !0 }) : o[t] = a, o;
142
+ }
143
+ function $(o) {
144
+ var t = (function(a) {
145
+ if (L(a) != "object" || !a) return a;
146
+ var r = a[Symbol.toPrimitive];
147
+ if (r !== void 0) {
148
+ var A = r.call(a, "string");
149
+ if (L(A) != "object") return A;
150
+ throw new TypeError("@@toPrimitive must return a primitive value.");
151
+ }
152
+ return String(a);
153
+ })(o);
154
+ return L(t) == "symbol" ? t : t + "";
155
+ }
156
+ const oe = (function() {
157
+ function o(r, A) {
158
+ var e = this;
159
+ if ((function(n, i) {
160
+ if (!(n instanceof i)) throw new TypeError("Cannot call a class as a function");
161
+ })(this, o), u(this, "state", { cursorAnimation: null, lastFrameTime: null, pauseUntil: null, eventQueue: [], eventLoop: null, eventLoopPaused: !1, reverseCalledEvents: [], calledEvents: [], visibleNodes: [], initialOptions: null, elements: { container: null, wrapper: document.createElement("span"), cursor: document.createElement("span") } }), u(this, "options", { strings: null, cursor: "|", delay: "natural", pauseFor: 1500, deleteSpeed: "natural", loop: !1, autoStart: !1, devMode: !1, skipAddStyles: !1, wrapperClassName: "Typewriter__wrapper", cursorClassName: "Typewriter__cursor", stringSplitter: null, onCreateTextNode: null, onRemoveNode: null }), u(this, "setupWrapperElement", (function() {
162
+ e.state.elements.container && (e.state.elements.wrapper.className = e.options.wrapperClassName, e.state.elements.cursor.className = e.options.cursorClassName, e.state.elements.cursor.innerHTML = e.options.cursor, e.state.elements.container.innerHTML = "", e.state.elements.container.appendChild(e.state.elements.wrapper), e.state.elements.container.appendChild(e.state.elements.cursor));
163
+ })), u(this, "start", (function() {
164
+ return e.state.eventLoopPaused = !1, e.runEventLoop(), e;
165
+ })), u(this, "pause", (function() {
166
+ return e.state.eventLoopPaused = !0, e;
167
+ })), u(this, "stop", (function() {
168
+ return e.state.eventLoop && ((0, s.cancel)(e.state.eventLoop), e.state.eventLoop = null), e;
169
+ })), u(this, "pauseFor", (function(n) {
170
+ return e.addEventToQueue(_, { ms: n }), e;
171
+ })), u(this, "typeOutAllStrings", (function() {
172
+ return typeof e.options.strings == "string" ? (e.typeString(e.options.strings).pauseFor(e.options.pauseFor), e) : (e.options.strings.forEach((function(n) {
173
+ e.typeString(n).pauseFor(e.options.pauseFor).deleteAll(e.options.deleteSpeed);
174
+ })), e);
175
+ })), u(this, "typeString", (function(n) {
176
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
177
+ if (p(n)) return e.typeOutHTMLString(n, i);
178
+ if (n) {
179
+ var f = (e.options || {}).stringSplitter, v = typeof f == "function" ? f(n) : n.split("");
180
+ e.typeCharacters(v, i);
181
+ }
182
+ return e;
183
+ })), u(this, "pasteString", (function(n) {
184
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
185
+ return p(n) ? e.typeOutHTMLString(n, i, !0) : (n && e.addEventToQueue(y, { character: n, node: i }), e);
186
+ })), u(this, "typeOutHTMLString", (function(n) {
187
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, f = arguments.length > 2 ? arguments[2] : void 0, v = (function(k) {
188
+ var j = document.createElement("div");
189
+ return j.innerHTML = k, j.childNodes;
190
+ })(n);
191
+ if (v.length > 0) for (var l = 0; l < v.length; l++) {
192
+ var E = v[l], P = E.innerHTML;
193
+ E && E.nodeType !== 3 ? (E.innerHTML = "", e.addEventToQueue(D, { node: E, parentNode: i }), f ? e.pasteString(P, E) : e.typeString(P, E)) : E.textContent && (f ? e.pasteString(E.textContent, i) : e.typeString(E.textContent, i));
194
+ }
195
+ return e;
196
+ })), u(this, "deleteAll", (function() {
197
+ var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "natural";
198
+ return e.addEventToQueue(h, { speed: n }), e;
199
+ })), u(this, "changeDeleteSpeed", (function(n) {
200
+ if (!n) throw new Error("Must provide new delete speed");
201
+ return e.addEventToQueue(x, { speed: n }), e;
202
+ })), u(this, "changeDelay", (function(n) {
203
+ if (!n) throw new Error("Must provide new delay");
204
+ return e.addEventToQueue(b, { delay: n }), e;
205
+ })), u(this, "changeCursor", (function(n) {
206
+ if (!n) throw new Error("Must provide new cursor");
207
+ return e.addEventToQueue(R, { cursor: n }), e;
208
+ })), u(this, "deleteChars", (function(n) {
209
+ if (!n) throw new Error("Must provide amount of characters to delete");
210
+ for (var i = 0; i < n; i++) e.addEventToQueue(g);
211
+ return e;
212
+ })), u(this, "callFunction", (function(n, i) {
213
+ if (!n || typeof n != "function") throw new Error("Callback must be a function");
214
+ return e.addEventToQueue(O, { cb: n, thisArg: i }), e;
215
+ })), u(this, "typeCharacters", (function(n) {
216
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
217
+ if (!n || !Array.isArray(n)) throw new Error("Characters must be an array");
218
+ return n.forEach((function(f) {
219
+ e.addEventToQueue(m, { character: f, node: i });
220
+ })), e;
221
+ })), u(this, "removeCharacters", (function(n) {
222
+ if (!n || !Array.isArray(n)) throw new Error("Characters must be an array");
223
+ return n.forEach((function() {
224
+ e.addEventToQueue(g);
225
+ })), e;
226
+ })), u(this, "addEventToQueue", (function(n, i) {
227
+ var f = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
228
+ return e.addEventToStateProperty(n, i, f, "eventQueue");
229
+ })), u(this, "addReverseCalledEvent", (function(n, i) {
230
+ var f = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
231
+ return e.options.loop ? e.addEventToStateProperty(n, i, f, "reverseCalledEvents") : e;
232
+ })), u(this, "addEventToStateProperty", (function(n, i) {
233
+ var f = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], v = arguments.length > 3 ? arguments[3] : void 0, l = { eventName: n, eventArgs: i || {} };
234
+ return e.state[v] = f ? [l].concat(N(e.state[v])) : [].concat(N(e.state[v]), [l]), e;
235
+ })), u(this, "runEventLoop", (function() {
236
+ e.state.lastFrameTime || (e.state.lastFrameTime = Date.now());
237
+ var n = Date.now(), i = n - e.state.lastFrameTime;
238
+ if (!e.state.eventQueue.length) {
239
+ if (!e.options.loop) return;
240
+ e.state.eventQueue = N(e.state.calledEvents), e.state.calledEvents = [], e.options = C({}, e.state.initialOptions);
241
+ }
242
+ if (e.state.eventLoop = c()(e.runEventLoop), !e.state.eventLoopPaused) {
243
+ if (e.state.pauseUntil) {
244
+ if (n < e.state.pauseUntil) return;
245
+ e.state.pauseUntil = null;
246
+ }
247
+ var f, v = N(e.state.eventQueue), l = v.shift();
248
+ if (!(i <= (f = l.eventName === d || l.eventName === g ? e.options.deleteSpeed === "natural" ? S(40, 80) : e.options.deleteSpeed : e.options.delay === "natural" ? S(120, 160) : e.options.delay))) {
249
+ var E = l.eventName, P = l.eventArgs;
250
+ switch (e.logInDevMode({ currentEvent: l, state: e.state, delay: f }), E) {
251
+ case y:
252
+ case m:
253
+ var k = P.character, j = P.node, X = document.createTextNode(k), F = X;
254
+ e.options.onCreateTextNode && typeof e.options.onCreateTextNode == "function" && (F = e.options.onCreateTextNode(k, X)), F && (j ? j.appendChild(F) : e.state.elements.wrapper.appendChild(F)), e.state.visibleNodes = [].concat(N(e.state.visibleNodes), [{ type: "TEXT_NODE", character: k, node: F }]);
255
+ break;
256
+ case g:
257
+ v.unshift({ eventName: d, eventArgs: { removingCharacterNode: !0 } });
258
+ break;
259
+ case _:
260
+ var ae = l.eventArgs.ms;
261
+ e.state.pauseUntil = Date.now() + parseInt(ae);
262
+ break;
263
+ case O:
264
+ var K = l.eventArgs, se = K.cb, ie = K.thisArg;
265
+ se.call(ie, { elements: e.state.elements });
266
+ break;
267
+ case D:
268
+ var Z = l.eventArgs, Y = Z.node, V = Z.parentNode;
269
+ V ? V.appendChild(Y) : e.state.elements.wrapper.appendChild(Y), e.state.visibleNodes = [].concat(N(e.state.visibleNodes), [{ type: T, node: Y, parentNode: V || e.state.elements.wrapper }]);
270
+ break;
271
+ case h:
272
+ var ue = e.state.visibleNodes, W = P.speed, H = [];
273
+ W && H.push({ eventName: x, eventArgs: { speed: W, temp: !0 } });
274
+ for (var ee = 0, le = ue.length; ee < le; ee++) H.push({ eventName: d, eventArgs: { removingCharacterNode: !1 } });
275
+ W && H.push({ eventName: x, eventArgs: { speed: e.options.deleteSpeed, temp: !0 } }), v.unshift.apply(v, H);
276
+ break;
277
+ case d:
278
+ var ce = l.eventArgs.removingCharacterNode;
279
+ if (e.state.visibleNodes.length) {
280
+ var G = e.state.visibleNodes.pop(), pe = G.type, I = G.node, de = G.character;
281
+ e.options.onRemoveNode && typeof e.options.onRemoveNode == "function" && e.options.onRemoveNode({ node: I, character: de }), I && I.parentNode.removeChild(I), pe === T && ce && v.unshift({ eventName: d, eventArgs: {} });
282
+ }
283
+ break;
284
+ case x:
285
+ e.options.deleteSpeed = l.eventArgs.speed;
286
+ break;
287
+ case b:
288
+ e.options.delay = l.eventArgs.delay;
289
+ break;
290
+ case R:
291
+ e.options.cursor = l.eventArgs.cursor, e.state.elements.cursor.innerHTML = l.eventArgs.cursor;
292
+ }
293
+ e.options.loop && (l.eventName === d || l.eventArgs && l.eventArgs.temp || (e.state.calledEvents = [].concat(N(e.state.calledEvents), [l]))), e.state.eventQueue = v, e.state.lastFrameTime = n;
294
+ }
295
+ }
296
+ })), r) if (typeof r == "string") {
297
+ var B = document.querySelector(r);
298
+ if (!B) throw new Error("Could not find container element");
299
+ this.state.elements.container = B;
300
+ } else this.state.elements.container = r;
301
+ A && (this.options = C(C({}, this.options), A)), this.state.initialOptions = C({}, this.options), this.init();
302
+ }
303
+ var t, a;
304
+ return t = o, (a = [{ key: "init", value: function() {
305
+ var r, A;
306
+ this.setupWrapperElement(), this.addEventToQueue(R, { cursor: this.options.cursor }, !0), this.addEventToQueue(h, null, !0), !window || window.___TYPEWRITER_JS_STYLES_ADDED___ || this.options.skipAddStyles || (r = ".Typewriter__cursor{-webkit-animation:Typewriter-cursor 1s infinite;animation:Typewriter-cursor 1s infinite;margin-left:1px}@-webkit-keyframes Typewriter-cursor{0%{opacity:0}50%{opacity:1}100%{opacity:0}}@keyframes Typewriter-cursor{0%{opacity:0}50%{opacity:1}100%{opacity:0}}", (A = document.createElement("style")).appendChild(document.createTextNode(r)), document.head.appendChild(A), window.___TYPEWRITER_JS_STYLES_ADDED___ = !0), this.options.autoStart === !0 && this.options.strings && this.typeOutAllStrings().start();
307
+ } }, { key: "logInDevMode", value: function(r) {
308
+ this.options.devMode && console.log(r);
309
+ } }]) && re(t.prototype, a), Object.defineProperty(t, "prototype", { writable: !1 }), o;
310
+ })();
311
+ })(), J.default;
312
+ })()));
313
+ })(q), q.exports);
314
+ }
315
+ export {
316
+ he as __require
317
+ };
@@ -0,0 +1,4 @@
1
+ var e = { exports: {} };
2
+ export {
3
+ e as __module
4
+ };
package/dist/index9.js ADDED
@@ -0,0 +1,7 @@
1
+ import o from "./index25.js";
2
+ /* empty css */
3
+ import r from "./index27.js";
4
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-9fdd31e9"]]);
5
+ export {
6
+ f as default
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voidzero-dev/vitepress-theme",
3
- "version": "0.0.18",
3
+ "version": "0.1.32",
4
4
  "description": "Shared VitePress theme for VoidZero projects",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -18,8 +18,9 @@
18
18
  "dist"
19
19
  ],
20
20
  "scripts": {
21
- "dev": "tsdown --watch",
22
- "build": "tsdown"
21
+ "dev": "vite build --watch",
22
+ "build": "vite build",
23
+ "publish": "npm publish"
23
24
  },
24
25
  "peerDependencies": {
25
26
  "vitepress": "^2.0.0-alpha.12",
@@ -31,12 +32,18 @@
31
32
  "@tailwindcss/vite": "^4.1.13",
32
33
  "reka-ui": "^2.5.1",
33
34
  "tailwindcss": "^4.1.13",
34
- "typewriter-effect": "^2.22.0"
35
+ "typewriter-effect": "^2.22.0",
36
+ "embla-carousel-autoplay": "^8.6.0",
37
+ "embla-carousel-vue": "^8.6.0"
35
38
  },
36
39
  "devDependencies": {
40
+ "@vitejs/plugin-vue": "^6.0.1",
37
41
  "tsdown": "^0.15.11",
38
42
  "typescript": "^5.9.3",
39
43
  "unplugin-vue": "^7.0.4",
44
+ "vite": "^7.1.12",
45
+ "vite-plugin-dts": "^4.5.4",
46
+ "vite-plugin-static-copy": "^3.1.4",
40
47
  "vue-tsc": "^3.1.2"
41
48
  }
42
49
  }
@@ -1,11 +0,0 @@
1
- //#region \0/plugin-vue/export-helper
2
- var export_helper_default = (sfc, props) => {
3
- const target = sfc.__vccOpts || sfc;
4
- for (const [key, val] of props) {
5
- target[key] = val;
6
- }
7
- return target;
8
- };
9
-
10
- //#endregion
11
- export { export_helper_default as default };
@@ -1 +0,0 @@
1
- PLACEHOLDER - Replace with actual cta-background.jpg from viteplus.dev repository
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { VPTheme } from "./vitepress/index.js";
2
- export { VPTheme, VPTheme as default };
@@ -1,5 +0,0 @@
1
- //#region src/vitepress/assets/cta-background.jpg
2
- var cta_background_default = "assets/cta-background-CgYtVhnO.jpg";
3
-
4
- //#endregion
5
- export { cta_background_default as default };
@@ -1,18 +0,0 @@
1
- import { createElementBlock, createElementVNode, defineComponent, openBlock, toDisplayString } from "vue";
2
-
3
- //#region src/vitepress/components/Eyebrow.vue
4
- const _hoisted_1 = { class: "wrapper wrapper--ticks border-t p-5 pl-10" };
5
- const _hoisted_2 = { class: "text-nickel dark:text-white text-xs font-medium font-mono uppercase tracking-wide" };
6
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
- __name: "Eyebrow",
8
- props: { title: {} },
9
- setup(__props) {
10
- return (_ctx, _cache) => {
11
- return openBlock(), createElementBlock("section", _hoisted_1, [createElementVNode("span", _hoisted_2, toDisplayString(__props.title), 1)]);
12
- };
13
- }
14
- });
15
- var Eyebrow_default = _sfc_main;
16
-
17
- //#endregion
18
- export { Eyebrow_default as default };
@@ -1,72 +0,0 @@
1
- import VZIconGitHub_default from "./icons/VZIconGitHub.js";
2
- import VZIconBluesky_default from "./icons/VZIconBluesky.js";
3
- import VZIconTwitter_default from "./icons/VZIconTwitter.js";
4
- import cta_background_default from "../assets/cta-background.js";
5
- import { createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, normalizeStyle, openBlock, toDisplayString, unref } from "vue";
6
-
7
- //#region src/vitepress/components/Footer.vue
8
- const _hoisted_1 = {
9
- class: "bg-primary",
10
- "data-theme": "dark"
11
- };
12
- const _hoisted_2 = { class: "wrapper" };
13
- const _hoisted_3 = { class: "px-5 md:px-24 pt-10 md:pt-16 pb-16 md:pb-30 flex flex-col md:flex-row gap-10 md:gap-0 md:justify-between" };
14
- const _hoisted_4 = { class: "flex flex-col gap-3" };
15
- const _hoisted_5 = {
16
- href: "https://github.com/voidzero-dev",
17
- target: "_blank",
18
- rel: "noopener noreferrer",
19
- class: "text-white text-base flex gap-3 items-center"
20
- };
21
- const _hoisted_6 = {
22
- href: "https://web-cdn.bsky.app/profile/voidzero.dev",
23
- target: "_blank",
24
- rel: "noopener noreferrer",
25
- class: "text-white text-base flex gap-3 items-center"
26
- };
27
- const _hoisted_7 = {
28
- href: "https://x.com/voidzerodev",
29
- target: "_blank",
30
- rel: "noopener noreferrer",
31
- class: "text-white text-base flex gap-3 items-center"
32
- };
33
- const _hoisted_8 = { class: "wrapper wrapper--ticks border-t py-5 px-5 md:px-24" };
34
- const _hoisted_9 = { class: "text-sm" };
35
- const _sfc_main = /* @__PURE__ */ defineComponent({
36
- __name: "Footer",
37
- setup(__props) {
38
- return (_ctx, _cache) => {
39
- return openBlock(), createElementBlock("footer", _hoisted_1, [createElementVNode("section", _hoisted_2, [createElementVNode("div", {
40
- class: "bg-wine bg-cover py-16 md:py-30 px-5 md:px-0 overflow-clip flex flex-col items-center justify-center gap-8 md:gap-12",
41
- style: normalizeStyle({ backgroundImage: `url(${unref(cta_background_default)})` })
42
- }, [..._cache[0] || (_cache[0] = [createElementVNode("h2", { class: "text-white w-full md:w-2xl text-center text-balance" }, "Take your team's productivity to the next level with Vite+", -1), createElementVNode("div", { class: "flex items-center gap-5" }, [createElementVNode("a", {
43
- href: "https://tally.so/r/nGWebL",
44
- target: "_blank",
45
- rel: "noopener noreferrer",
46
- class: "button"
47
- }, "Register your interest"), createElementVNode("a", {
48
- href: "https://voidzero.dev/posts/announcing-vite-plus?utm_source=viteplusdev&utm_content=bottom_learn_more",
49
- target: "_blank",
50
- rel: "noopener noreferrer",
51
- class: "button"
52
- }, " Learn more ")], -1)])], 4), createElementVNode("div", _hoisted_3, [_cache[5] || (_cache[5] = createStaticVNode("<div><p class=\"text-grey text-xs font-mono uppercase tracking-wide mb-8\">Company</p><ul class=\"flex flex-col gap-3\"><li><a href=\"https://voidzero.dev/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white text-base\">VoidZero</a></li><li><a href=\"https://vite.dev/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white text-base\">Vite</a></li><li><a href=\"https://rolldown.rs/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white text-base\">Rolldown</a></li><li><a href=\"https://vitest.dev/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white text-base\">Vitest</a></li><li><a href=\"https://oxc.rs/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-white text-base\">Oxc</a></li></ul></div>", 1)), createElementVNode("div", null, [_cache[4] || (_cache[4] = createElementVNode("p", { class: "text-grey text-xs font-mono uppercase tracking-wide mb-8" }, "Social", -1)), createElementVNode("ul", _hoisted_4, [
53
- createElementVNode("li", null, [createElementVNode("a", _hoisted_5, [createVNode(VZIconGitHub_default, {
54
- class: "size-5",
55
- "aria-label": "GitHub"
56
- }), _cache[1] || (_cache[1] = createTextVNode("GitHub", -1))])]),
57
- createElementVNode("li", null, [createElementVNode("a", _hoisted_6, [createVNode(VZIconBluesky_default, {
58
- class: "size-5",
59
- "aria-label": "Bluesky"
60
- }), _cache[2] || (_cache[2] = createTextVNode("Bluesky", -1))])]),
61
- createElementVNode("li", null, [createElementVNode("a", _hoisted_7, [createVNode(VZIconTwitter_default, {
62
- class: "size-5",
63
- "aria-label": "Twitter"
64
- }), _cache[3] || (_cache[3] = createTextVNode("X.com", -1))])])
65
- ])])])]), createElementVNode("section", _hoisted_8, [createElementVNode("p", _hoisted_9, [createTextVNode("© " + toDisplayString((/* @__PURE__ */ new Date()).getFullYear()) + " VoidZero Inc. ", 1), _cache[6] || (_cache[6] = createElementVNode("span", { class: "hidden sm:inline" }, "All Rights Reserved.", -1))])])]);
66
- };
67
- }
68
- });
69
- var Footer_default = _sfc_main;
70
-
71
- //#endregion
72
- export { Footer_default as default };
@@ -1,34 +0,0 @@
1
- import VZIconLogo_default from "./icons/VZIconLogo.js";
2
- import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, renderList, renderSlot, toDisplayString, unref } from "vue";
3
- import { useData, useRoute } from "vitepress";
4
-
5
- //#region src/vitepress/components/Header.vue
6
- const _hoisted_1 = { class: "wrapper px-6 py-7 flex items-center justify-between" };
7
- const _hoisted_2 = { class: "flex items-center gap-10" };
8
- const _hoisted_3 = { href: "/" };
9
- const _hoisted_4 = { class: "nav" };
10
- const _hoisted_5 = ["href"];
11
- const _hoisted_6 = { class: "flex items-center gap-6" };
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- __name: "Header",
14
- setup(__props) {
15
- const { site, theme } = useData();
16
- const nav = theme.value.nav;
17
- const route = useRoute();
18
- return (_ctx, _cache) => {
19
- return openBlock(), createElementBlock("header", _hoisted_1, [createElementVNode("div", _hoisted_2, [createElementVNode("a", _hoisted_3, [createVNode(VZIconLogo_default, {
20
- class: "h-4",
21
- "aria-label": unref(site).title
22
- }, null, 8, ["aria-label"])]), createElementVNode("ul", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(nav), (navItem) => {
23
- return openBlock(), createElementBlock("li", { key: navItem.link }, [createElementVNode("a", {
24
- class: normalizeClass({ active: unref(route).path === navItem.link }),
25
- href: navItem.link
26
- }, toDisplayString(navItem.text), 11, _hoisted_5)]);
27
- }), 128))])]), createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "right-side", {}, () => [createCommentVNode(" Right-aligned links / calls-to-action ")])])]);
28
- };
29
- }
30
- });
31
- var Header_default = _sfc_main;
32
-
33
- //#endregion
34
- export { Header_default as default };
@@ -1,117 +0,0 @@
1
- import { computed, createElementBlock, createElementVNode, defineComponent, normalizeClass, onMounted, onUnmounted, openBlock, ref } from "vue";
2
- import * as rive from "@rive-app/canvas";
3
-
4
- //#region src/vitepress/components/RiveAnimation.vue
5
- const _hoisted_1 = ["width", "height"];
6
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
- __name: "RiveAnimation",
8
- props: {
9
- desktopSrc: {},
10
- mobileSrc: {},
11
- breakpoint: { default: 768 },
12
- stateMachines: { default: "State Machine 1" },
13
- canvasClass: { default: "w-full" },
14
- desktopWidth: {},
15
- desktopHeight: {},
16
- mobileWidth: {},
17
- mobileHeight: {}
18
- },
19
- setup(__props) {
20
- const props = __props;
21
- const canvasRef = ref(null);
22
- const containerRef = ref(null);
23
- let riveInstance = null;
24
- let hasStarted = ref(false);
25
- let observer = null;
26
- const isMobile = ref(false);
27
- const checkMobile = () => {
28
- isMobile.value = window.innerWidth < props.breakpoint;
29
- };
30
- const getCurrentSrc = () => {
31
- return isMobile.value && props.mobileSrc ? props.mobileSrc : props.desktopSrc;
32
- };
33
- const currentWidth = computed(() => {
34
- return isMobile.value && props.mobileWidth ? props.mobileWidth : props.desktopWidth;
35
- });
36
- const currentHeight = computed(() => {
37
- return isMobile.value && props.mobileHeight ? props.mobileHeight : props.desktopHeight;
38
- });
39
- const loadAnimation = () => {
40
- if (!canvasRef.value || riveInstance) return;
41
- const src = getCurrentSrc();
42
- riveInstance = new rive.Rive({
43
- src,
44
- canvas: canvasRef.value,
45
- autoplay: false,
46
- stateMachines: props.stateMachines,
47
- onLoad: () => {
48
- riveInstance?.resizeDrawingSurfaceToCanvas();
49
- }
50
- });
51
- };
52
- const playAnimation = () => {
53
- if (riveInstance) {
54
- riveInstance.play();
55
- }
56
- };
57
- const cleanupAnimation = () => {
58
- if (riveInstance) {
59
- riveInstance.cleanup();
60
- riveInstance = null;
61
- }
62
- };
63
- const handleResize = () => {
64
- const wasMobile = isMobile.value;
65
- checkMobile();
66
- if (wasMobile !== isMobile.value) {
67
- const wasPlaying = hasStarted.value;
68
- cleanupAnimation();
69
- loadAnimation();
70
- if (wasPlaying) {
71
- playAnimation();
72
- }
73
- }
74
- };
75
- onMounted(() => {
76
- checkMobile();
77
- loadAnimation();
78
- observer = new IntersectionObserver((entries) => {
79
- entries.forEach((entry) => {
80
- if (entry.isIntersecting && !hasStarted.value) {
81
- hasStarted.value = true;
82
- playAnimation();
83
- }
84
- });
85
- }, { threshold: .1 });
86
- if (containerRef.value) {
87
- observer.observe(containerRef.value);
88
- }
89
- window.addEventListener("resize", handleResize);
90
- });
91
- onUnmounted(() => {
92
- cleanupAnimation();
93
- if (observer && containerRef.value) {
94
- observer.unobserve(containerRef.value);
95
- observer.disconnect();
96
- }
97
- window.removeEventListener("resize", handleResize);
98
- });
99
- return (_ctx, _cache) => {
100
- return openBlock(), createElementBlock("div", {
101
- ref_key: "containerRef",
102
- ref: containerRef,
103
- class: "pointer-events-none touch-none select-none"
104
- }, [createElementVNode("canvas", {
105
- ref_key: "canvasRef",
106
- ref: canvasRef,
107
- width: currentWidth.value,
108
- height: currentHeight.value,
109
- class: normalizeClass(__props.canvasClass)
110
- }, null, 10, _hoisted_1)], 512);
111
- };
112
- }
113
- });
114
- var RiveAnimation_default = _sfc_main;
115
-
116
- //#endregion
117
- export { RiveAnimation_default as default };