elegance-js 2.0.17 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/scripts/prod.js +1 -0
  3. package/dist/docs/components/Header.d.ts +0 -1
  4. package/dist/docs/components/Header.mjs +0 -249
  5. package/dist/docs/components/RootLayout.d.ts +0 -1
  6. package/dist/docs/components/RootLayout.mjs +0 -10
  7. package/dist/docs/docs/basics/page.d.ts +0 -2
  8. package/dist/docs/docs/basics/page.mjs +0 -1057
  9. package/dist/docs/docs/compilations/page.d.ts +0 -2
  10. package/dist/docs/docs/compilations/page.mjs +0 -15
  11. package/dist/docs/docs/components/CodeBlock.d.ts +0 -2
  12. package/dist/docs/docs/components/CodeBlock.mjs +0 -324
  13. package/dist/docs/docs/components/DocsLayout.d.ts +0 -1
  14. package/dist/docs/docs/components/DocsLayout.mjs +0 -527
  15. package/dist/docs/docs/components/Header.d.ts +0 -1
  16. package/dist/docs/docs/components/Header.mjs +0 -160
  17. package/dist/docs/docs/components/Mono.d.ts +0 -1
  18. package/dist/docs/docs/components/Mono.mjs +0 -7
  19. package/dist/docs/docs/components/PageHeading.d.ts +0 -1
  20. package/dist/docs/docs/components/PageHeading.mjs +0 -9
  21. package/dist/docs/docs/components/Paragraph.d.ts +0 -1
  22. package/dist/docs/docs/components/Paragraph.mjs +0 -10
  23. package/dist/docs/docs/components/Separator.d.ts +0 -1
  24. package/dist/docs/docs/components/Separator.mjs +0 -7
  25. package/dist/docs/docs/components/SubHeading.d.ts +0 -1
  26. package/dist/docs/docs/components/SubHeading.mjs +0 -8
  27. package/dist/docs/docs/components/SubSeparator.d.ts +0 -1
  28. package/dist/docs/docs/components/SubSeparator.mjs +0 -7
  29. package/dist/docs/docs/components/Subtext.d.ts +0 -1
  30. package/dist/docs/docs/components/Subtext.mjs +0 -8
  31. package/dist/docs/docs/concepts/page.d.ts +0 -2
  32. package/dist/docs/docs/concepts/page.mjs +0 -954
  33. package/dist/docs/docs/page-files/page.d.ts +0 -2
  34. package/dist/docs/docs/page-files/page.mjs +0 -1206
  35. package/dist/docs/docs/route.d.ts +0 -2
  36. package/dist/docs/docs/route.mjs +0 -8
  37. package/dist/docs/docs/running/page.d.ts +0 -2
  38. package/dist/docs/docs/running/page.mjs +0 -7
  39. package/dist/docs/nullpage/page.d.ts +0 -2
  40. package/dist/docs/nullpage/page.mjs +0 -58
  41. package/dist/docs/page.d.ts +0 -2
  42. package/dist/docs/page.mjs +0 -437
  43. package/dist/docs/utils/MEGALEXER.d.ts +0 -1
  44. package/dist/docs/utils/MEGALEXER.mjs +0 -171
  45. package/dist/types/Metadata.d.ts +0 -19
  46. package/dist/types/Metadata.mjs +0 -15
@@ -1,527 +0,0 @@
1
- // src/components/Breakpoint.ts
2
- var Breakpoint = (options, ...children) => {
3
- process.emitWarning(
4
- "Function Breakpoint() is deprecated. Prefer layout.ts files instead.",
5
- { type: "DeprecationWarning" }
6
- );
7
- if (options.id === void 0) throw `Breakpoints must set a name attribute.`;
8
- const id = options.id;
9
- delete options.id;
10
- return div(
11
- {
12
- bp: id,
13
- ...options
14
- },
15
- ...children
16
- );
17
- };
18
-
19
- // src/internal/deprecate.ts
20
- var ShowDeprecationWarning = (msg) => {
21
- console.warn("\x1B[31m", msg, "\x1B[0m");
22
- console.trace("Stack Trace:");
23
- };
24
-
25
- // src/server/loadHook.ts
26
- var loadHook = (deps, fn, bind) => {
27
- const stringFn = fn.toString();
28
- const depsArray = (deps || []).map((dep) => ({
29
- id: dep.id,
30
- bind: dep.bind
31
- }));
32
- let dependencyString = "[";
33
- for (const dep of depsArray) {
34
- dependencyString += `{id:${dep.id}`;
35
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
36
- dependencyString += `},`;
37
- }
38
- dependencyString += "]";
39
- const isAsync = fn.constructor.name === "AsyncFunction";
40
- const wrapperFn = isAsync ? `async (state) => await (${stringFn})(state, ...state.getAll(${dependencyString}))` : `(state) => (${stringFn})(state, ...state.getAll(${dependencyString}))`;
41
- globalThis.__SERVER_CURRENT_LOADHOOKS__.push({
42
- fn: wrapperFn,
43
- bind: bind || ""
44
- });
45
- };
46
- var createLoadHook = (options) => {
47
- ShowDeprecationWarning("WARNING: createLoadHook() is a deprecated function. Use loadHook() from elegance-js/loadHook instead.");
48
- const stringFn = options.fn.toString();
49
- const deps = (options.deps || []).map((dep) => ({
50
- id: dep.id,
51
- bind: dep.bind
52
- }));
53
- let dependencyString = "[";
54
- for (const dep of deps) {
55
- dependencyString += `{id:${dep.id}`;
56
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
57
- dependencyString += `},`;
58
- }
59
- dependencyString += "]";
60
- const isAsync = options.fn.constructor.name === "AsyncFunction";
61
- const wrapperFn = isAsync ? `async (state) => await (${stringFn})(state, ...state.getAll(${dependencyString}))` : `(state) => (${stringFn})(state, ...state.getAll(${dependencyString}))`;
62
- globalThis.__SERVER_CURRENT_LOADHOOKS__.push({
63
- fn: wrapperFn,
64
- bind: options.bind || ""
65
- });
66
- };
67
-
68
- // src/server/state.ts
69
- if (!globalThis.__SERVER_CURRENT_STATE_ID__) {
70
- globalThis.__SERVER_CURRENT_STATE_ID__ = 1;
71
- }
72
- var eventListener = (dependencies, eventListener2) => {
73
- const deps = dependencies.map((dep) => ({ id: dep.id, bind: dep.bind }));
74
- let dependencyString = "[";
75
- for (const dep of deps) {
76
- dependencyString += `{id:${dep.id}`;
77
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
78
- dependencyString += `},`;
79
- }
80
- dependencyString += "]";
81
- const value = {
82
- id: __SERVER_CURRENT_STATE_ID__ += 1,
83
- type: 1 /* STATE */,
84
- value: new Function(
85
- "state",
86
- "event",
87
- `(${eventListener2.toString()})(event, ...state.getAll(${dependencyString}))`
88
- )
89
- };
90
- globalThis.__SERVER_CURRENT_STATE__.push(value);
91
- return value;
92
- };
93
-
94
- // src/server/observe.ts
95
- var observe = (refs, update) => {
96
- const returnValue = {
97
- type: 2 /* OBSERVER */,
98
- initialValues: refs.map((ref) => ref.value),
99
- update,
100
- refs: refs.map((ref) => ({
101
- id: ref.id,
102
- bind: ref.bind
103
- }))
104
- };
105
- return returnValue;
106
- };
107
-
108
- // src/components/Link.ts
109
- loadHook(
110
- [],
111
- () => {
112
- const anchors = Array.from(document.querySelectorAll("a[prefetch]"));
113
- const elsToClear = [];
114
- for (const anchor of anchors) {
115
- const prefetch = anchor.getAttribute("prefetch");
116
- const href = new URL(anchor.href);
117
- switch (prefetch) {
118
- case "load":
119
- client.fetchPage(href);
120
- break;
121
- case "hover":
122
- const fn = () => {
123
- client.fetchPage(href);
124
- };
125
- anchor.addEventListener("mouseenter", fn);
126
- elsToClear.push({
127
- el: anchor,
128
- fn
129
- });
130
- break;
131
- }
132
- }
133
- return () => {
134
- for (const listener of elsToClear) {
135
- listener.el.removeEventListener("mouseenter", listener.fn);
136
- }
137
- };
138
- }
139
- );
140
- var navigate = eventListener(
141
- [],
142
- (event) => {
143
- const target = new URL(event.currentTarget.href);
144
- const client2 = globalThis.client;
145
- const sanitizedTarget = client2.sanitizePathname(target.pathname);
146
- const sanitizedCurrent = client2.sanitizePathname(window.location.pathname);
147
- if (sanitizedTarget === sanitizedCurrent) {
148
- if (target.hash === window.location.hash) return event.preventDefault();
149
- return;
150
- }
151
- event.preventDefault();
152
- client2.navigateLocally(target.href);
153
- }
154
- );
155
- var Link = (options, ...children) => {
156
- if (!options.href) {
157
- throw `Link elements must have a HREF attribute set.`;
158
- }
159
- if (!options.href.startsWith("/")) {
160
- throw `Link elements may only navigate to local pages. "/"`;
161
- }
162
- return a(
163
- {
164
- ...options,
165
- onClick: navigate
166
- },
167
- ...children
168
- );
169
- };
170
-
171
- // src/server/createState.ts
172
- if (!globalThis.__SERVER_CURRENT_STATE_ID__) {
173
- globalThis.__SERVER_CURRENT_STATE_ID__ = 1;
174
- }
175
- var createState = (value, options) => {
176
- ShowDeprecationWarning("WARNING: The createState() and function is deprecated. Please use state() instead, from elegance-js/state.");
177
- const serverStateEntry = {
178
- id: __SERVER_CURRENT_STATE_ID__ += 1,
179
- value,
180
- type: 1 /* STATE */,
181
- bind: options?.bind
182
- };
183
- globalThis.__SERVER_CURRENT_STATE__.push(serverStateEntry);
184
- return serverStateEntry;
185
- };
186
- var createEventListener = ({
187
- eventListener: eventListener2,
188
- dependencies = [],
189
- params
190
- }) => {
191
- ShowDeprecationWarning("WARNING: The createEventListener() and function is deprecated. Please use eventListener() instead, from elegance-js/state.");
192
- const deps = dependencies.map((dep) => ({ id: dep.id, bind: dep.bind }));
193
- let dependencyString = "[";
194
- for (const dep of deps) {
195
- dependencyString += `{id:${dep.id}`;
196
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
197
- dependencyString += `},`;
198
- }
199
- dependencyString += "]";
200
- const value = {
201
- id: __SERVER_CURRENT_STATE_ID__ += 1,
202
- type: 1 /* STATE */,
203
- value: new Function(
204
- "state",
205
- "event",
206
- `(${eventListener2.toString()})({ event, ...${JSON.stringify(params || {})} }, ...state.getAll(${dependencyString}))`
207
- )
208
- };
209
- globalThis.__SERVER_CURRENT_STATE__.push(value);
210
- return value;
211
- };
212
-
213
- // src/docs/docs/components/Header.ts
214
- var Header = () => header(
215
- {
216
- class: "sticky z-10 lef-0 right-0 top-0 text-text-50 font-inter overflow-hidden duration-300 border-b-[1px] border-b-transparent"
217
- },
218
- div(
219
- {
220
- class: "group duration-300 border-b-[1px] hover:border-b-transparent pointer-fine:hover:bg-accent-400 border-b-background-800 bg-background-950"
221
- },
222
- div(
223
- {
224
- class: "max-w-[1200px] w-full mx-auto flex pr-2 px-3 sm:px-5 sm:min-[calc(1200px+1rem)]:px-0"
225
- },
226
- div(
227
- {
228
- class: "flex min-w-max w-full items-center z-10"
229
- },
230
- Link(
231
- {
232
- href: "/",
233
- class: "flex items-center gap-1 h-full"
234
- },
235
- p({
236
- class: "font-niconne pointer-fine:group-hover:text-background-950 font-bold text-xl sm:text-3xl relative top-0 z-20 duration-300 pointer-events-none",
237
- innerText: "Elegance"
238
- }),
239
- p({
240
- innerText: "JS",
241
- class: "font-bold pointer-fine:group-hover:text-background-950 relative top-0 text-xl sm:text-3xl z-10 text-accent-400 duration-300 pointer-events-none"
242
- })
243
- )
244
- ),
245
- div(
246
- {
247
- class: "flex py-2 sm:py-4 flex relative items-center justify-end w-full"
248
- },
249
- Link({
250
- prefetch: "hover",
251
- class: "z-10 text-xs uppercase font-bold px-4 py-2 rounded-full duration-300 bg-accent-400 text-primary-900 pointer-fine:group-hover:bg-background-950 pointer-fine:group-hover:text-accent-400 group-hover:hover:bg-text-50 group-hover:hover:text-background-950",
252
- href: "/docs",
253
- innerText: "Docs"
254
- })
255
- )
256
- )
257
- )
258
- );
259
-
260
- // src/docs/docs/components/CodeBlock.ts
261
- var isToastShowing = createState(false);
262
- var toastTimeoutId = createState(0);
263
- var copyCode = createEventListener({
264
- dependencies: [
265
- isToastShowing,
266
- toastTimeoutId
267
- ],
268
- eventListener: async (params, isToastShowing2, toastTimeoutId2) => {
269
- const children = params.event.currentTarget.children;
270
- const pre2 = children.item(0);
271
- const content = pre2.innerText;
272
- await navigator.clipboard.writeText(content);
273
- if (toastTimeoutId2.value !== 0) clearTimeout(toastTimeoutId2.value);
274
- isToastShowing2.value = true;
275
- isToastShowing2.signal();
276
- const timeoutId = window.setTimeout(() => {
277
- isToastShowing2.value = false;
278
- isToastShowing2.signal();
279
- }, 3e3);
280
- toastTimeoutId2.value = timeoutId;
281
- }
282
- });
283
- var Toast = (bind) => {
284
- createLoadHook({
285
- bind,
286
- deps: [
287
- toastTimeoutId,
288
- isToastShowing
289
- ],
290
- fn: (state2, toastTimeoutId2, isToastShowing2) => {
291
- return () => {
292
- clearTimeout(toastTimeoutId2.value);
293
- isToastShowing2.value = false;
294
- isToastShowing2.signal();
295
- };
296
- }
297
- });
298
- return div(
299
- {
300
- class: observe(
301
- [isToastShowing],
302
- (isShowing) => {
303
- const modularClass = isShowing ? "right-8" : "right-0 translate-x-full";
304
- return `fixed z-50 shadow-lg rounded-sm duration-200 bottom-4 px-4 py-2 w-max bg-background-950 ` + modularClass;
305
- }
306
- )
307
- },
308
- h1({
309
- class: "font-mono uppercase"
310
- }, "copied to clipboard")
311
- );
312
- };
313
-
314
- // src/server/layout.ts
315
- if (!globalThis.__SERVER_CURRENT_LAYOUT_ID__) globalThis.__SERVER_CURRENT_LAYOUT_ID__ = 1;
316
- var createLayout = (name) => {
317
- process.emitWarning(
318
- "Function createLayout() is deprecated. Prefer layout.ts files instead.",
319
- { type: "DeprecationWarning" }
320
- );
321
- const layouts = globalThis.__SERVER_CURRENT_LAYOUTS__;
322
- if (layouts.has(name)) return layouts.get(name);
323
- const id = globalThis.__SERVER_CURRENT_LAYOUT_ID__ += 1;
324
- layouts.set(name, id);
325
- return id;
326
- };
327
-
328
- // src/docs/docs/components/DocsLayout.ts
329
- var docsLayoutId = createLayout("docs-layout");
330
- var secondsSpentOnPage = createState(0, {
331
- bind: docsLayoutId
332
- });
333
- createLoadHook({
334
- deps: [secondsSpentOnPage],
335
- bind: docsLayoutId,
336
- fn: (state2, time) => {
337
- const storedTime = localStorage.getItem("time-on-page");
338
- if (storedTime) {
339
- time.value = parseInt(storedTime);
340
- time.signal();
341
- }
342
- let intervalId;
343
- intervalId = setInterval(() => {
344
- time.value++;
345
- time.signal();
346
- }, 1e3);
347
- const handlePageLeave = () => {
348
- localStorage.setItem("time-on-page", `${time.value}`);
349
- };
350
- window.addEventListener("beforeunload", handlePageLeave);
351
- return () => {
352
- window.removeEventListener("beforeunload", handlePageLeave);
353
- handlePageLeave();
354
- clearInterval(intervalId);
355
- };
356
- }
357
- });
358
- var NavSubLink = (href, innerText) => Link({
359
- class: "text-sm font-normal flex flex-col gap-2 opacity-80 hover:opacity-60 duration-200",
360
- innerText,
361
- href,
362
- prefetch: "hover"
363
- });
364
- var Sidebar = () => nav(
365
- {
366
- class: "w-1/5"
367
- },
368
- ul(
369
- {
370
- class: "flex flex-col gap-4"
371
- },
372
- li(
373
- {},
374
- h2(
375
- {
376
- class: "text-lg font-semibold"
377
- },
378
- "Quick Nav"
379
- ),
380
- span(
381
- {
382
- class: "text-xs opacity-75"
383
- },
384
- "Elapsed: ",
385
- span({
386
- class: "font-mono",
387
- innerText: observe(
388
- [secondsSpentOnPage],
389
- (secondsSpentOnPage2) => {
390
- const hours = Math.floor(secondsSpentOnPage2 / 60 / 60);
391
- const minutes = Math.floor(secondsSpentOnPage2 / 60 % 60);
392
- const seconds = secondsSpentOnPage2 % 60;
393
- return `${hours}h:${minutes}m:${seconds}s`;
394
- }
395
- )
396
- })
397
- )
398
- ),
399
- li(
400
- {
401
- class: "flex flex-col gap-1"
402
- },
403
- h4({
404
- class: "text-base font-medium",
405
- innerText: "The Basics"
406
- }),
407
- ol(
408
- {
409
- class: "pl-2 ml-2 border-l-[1px] border-background-600 flex flex-col gap-2"
410
- },
411
- NavSubLink(
412
- "/docs/basics#preamble",
413
- "Preamble"
414
- ),
415
- NavSubLink(
416
- "/docs/basics#how-elegance-works",
417
- "How Elegance Works"
418
- ),
419
- NavSubLink(
420
- "/docs/basics#installation",
421
- "Installation"
422
- ),
423
- NavSubLink(
424
- "/docs/basics#your-first-page",
425
- "Your First Page"
426
- )
427
- )
428
- ),
429
- li(
430
- {
431
- class: "flex flex-col gap-1"
432
- },
433
- h4({
434
- class: "text-base font-medium",
435
- innerText: "Concepts"
436
- }),
437
- ol(
438
- {
439
- class: "pl-2 ml-2 border-l-[1px] border-background-600 flex flex-col gap-2"
440
- },
441
- NavSubLink(
442
- "/docs/concepts#elements",
443
- "Elements"
444
- ),
445
- NavSubLink(
446
- "/docs/concepts#object-attributes",
447
- "Object Attributes"
448
- )
449
- )
450
- ),
451
- li(
452
- {
453
- class: "flex flex-col gap-1"
454
- },
455
- h4({
456
- class: "text-base font-medium",
457
- innerText: "Page Files"
458
- }),
459
- ol(
460
- {
461
- class: "pl-2 ml-2 border-l-[1px] border-background-600 flex flex-col gap-2"
462
- },
463
- NavSubLink(
464
- "/docs/page-files#state",
465
- "State"
466
- ),
467
- NavSubLink(
468
- "/docs/page-files#load-hooks",
469
- "Load Hooks"
470
- ),
471
- NavSubLink(
472
- "/docs/page-files#event-listeners",
473
- "Event Listeners"
474
- ),
475
- NavSubLink(
476
- "/docs/page-files#layouts",
477
- "Layouts"
478
- )
479
- )
480
- ),
481
- li(
482
- {
483
- class: "flex flex-col gap-1"
484
- },
485
- h4({
486
- class: "text-base font-medium",
487
- innerText: "Compilation"
488
- }),
489
- ol(
490
- {
491
- class: "pl-2 ml-2 border-l-[1px] border-background-600 flex flex-col gap-2"
492
- },
493
- NavSubLink(
494
- "/docs/compilation#options",
495
- "Compilation Options"
496
- )
497
- )
498
- )
499
- )
500
- );
501
- var DocsLayout = (...children) => div(
502
- {
503
- class: "h-screen overflow-clip"
504
- },
505
- Header(),
506
- Toast(docsLayoutId),
507
- div(
508
- {
509
- class: "max-w-[1200px] h-full w-full mx-auto flex pt-8 px-3 sm:px-5 sm:min-[calc(1200px+1rem)]:px-0"
510
- },
511
- Sidebar(),
512
- article(
513
- {
514
- class: "h-full w-full overflow-y-scroll pb-[250px] pl-6 ml-6"
515
- },
516
- Breakpoint(
517
- {
518
- id: docsLayoutId
519
- },
520
- ...children
521
- )
522
- )
523
- )
524
- );
525
- export {
526
- DocsLayout
527
- };
@@ -1 +0,0 @@
1
- export declare const Header: () => BuiltElement<"header">;
@@ -1,160 +0,0 @@
1
- // src/server/loadHook.ts
2
- var loadHook = (deps, fn, bind) => {
3
- const stringFn = fn.toString();
4
- const depsArray = (deps || []).map((dep) => ({
5
- id: dep.id,
6
- bind: dep.bind
7
- }));
8
- let dependencyString = "[";
9
- for (const dep of depsArray) {
10
- dependencyString += `{id:${dep.id}`;
11
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
12
- dependencyString += `},`;
13
- }
14
- dependencyString += "]";
15
- const isAsync = fn.constructor.name === "AsyncFunction";
16
- const wrapperFn = isAsync ? `async (state) => await (${stringFn})(state, ...state.getAll(${dependencyString}))` : `(state) => (${stringFn})(state, ...state.getAll(${dependencyString}))`;
17
- globalThis.__SERVER_CURRENT_LOADHOOKS__.push({
18
- fn: wrapperFn,
19
- bind: bind || ""
20
- });
21
- };
22
-
23
- // src/server/state.ts
24
- if (!globalThis.__SERVER_CURRENT_STATE_ID__) {
25
- globalThis.__SERVER_CURRENT_STATE_ID__ = 1;
26
- }
27
- var eventListener = (dependencies, eventListener2) => {
28
- const deps = dependencies.map((dep) => ({ id: dep.id, bind: dep.bind }));
29
- let dependencyString = "[";
30
- for (const dep of deps) {
31
- dependencyString += `{id:${dep.id}`;
32
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
33
- dependencyString += `},`;
34
- }
35
- dependencyString += "]";
36
- const value = {
37
- id: __SERVER_CURRENT_STATE_ID__ += 1,
38
- type: 1 /* STATE */,
39
- value: new Function(
40
- "state",
41
- "event",
42
- `(${eventListener2.toString()})(event, ...state.getAll(${dependencyString}))`
43
- )
44
- };
45
- globalThis.__SERVER_CURRENT_STATE__.push(value);
46
- return value;
47
- };
48
-
49
- // src/components/Link.ts
50
- loadHook(
51
- [],
52
- () => {
53
- const anchors = Array.from(document.querySelectorAll("a[prefetch]"));
54
- const elsToClear = [];
55
- for (const anchor of anchors) {
56
- const prefetch = anchor.getAttribute("prefetch");
57
- const href = new URL(anchor.href);
58
- switch (prefetch) {
59
- case "load":
60
- client.fetchPage(href);
61
- break;
62
- case "hover":
63
- const fn = () => {
64
- client.fetchPage(href);
65
- };
66
- anchor.addEventListener("mouseenter", fn);
67
- elsToClear.push({
68
- el: anchor,
69
- fn
70
- });
71
- break;
72
- }
73
- }
74
- return () => {
75
- for (const listener of elsToClear) {
76
- listener.el.removeEventListener("mouseenter", listener.fn);
77
- }
78
- };
79
- }
80
- );
81
- var navigate = eventListener(
82
- [],
83
- (event) => {
84
- const target = new URL(event.currentTarget.href);
85
- const client2 = globalThis.client;
86
- const sanitizedTarget = client2.sanitizePathname(target.pathname);
87
- const sanitizedCurrent = client2.sanitizePathname(window.location.pathname);
88
- if (sanitizedTarget === sanitizedCurrent) {
89
- if (target.hash === window.location.hash) return event.preventDefault();
90
- return;
91
- }
92
- event.preventDefault();
93
- client2.navigateLocally(target.href);
94
- }
95
- );
96
- var Link = (options, ...children) => {
97
- if (!options.href) {
98
- throw `Link elements must have a HREF attribute set.`;
99
- }
100
- if (!options.href.startsWith("/")) {
101
- throw `Link elements may only navigate to local pages. "/"`;
102
- }
103
- return a(
104
- {
105
- ...options,
106
- onClick: navigate
107
- },
108
- ...children
109
- );
110
- };
111
-
112
- // src/docs/docs/components/Header.ts
113
- var Header = () => header(
114
- {
115
- class: "sticky z-10 lef-0 right-0 top-0 text-text-50 font-inter overflow-hidden duration-300 border-b-[1px] border-b-transparent"
116
- },
117
- div(
118
- {
119
- class: "group duration-300 border-b-[1px] hover:border-b-transparent pointer-fine:hover:bg-accent-400 border-b-background-800 bg-background-950"
120
- },
121
- div(
122
- {
123
- class: "max-w-[1200px] w-full mx-auto flex pr-2 px-3 sm:px-5 sm:min-[calc(1200px+1rem)]:px-0"
124
- },
125
- div(
126
- {
127
- class: "flex min-w-max w-full items-center z-10"
128
- },
129
- Link(
130
- {
131
- href: "/",
132
- class: "flex items-center gap-1 h-full"
133
- },
134
- p({
135
- class: "font-niconne pointer-fine:group-hover:text-background-950 font-bold text-xl sm:text-3xl relative top-0 z-20 duration-300 pointer-events-none",
136
- innerText: "Elegance"
137
- }),
138
- p({
139
- innerText: "JS",
140
- class: "font-bold pointer-fine:group-hover:text-background-950 relative top-0 text-xl sm:text-3xl z-10 text-accent-400 duration-300 pointer-events-none"
141
- })
142
- )
143
- ),
144
- div(
145
- {
146
- class: "flex py-2 sm:py-4 flex relative items-center justify-end w-full"
147
- },
148
- Link({
149
- prefetch: "hover",
150
- class: "z-10 text-xs uppercase font-bold px-4 py-2 rounded-full duration-300 bg-accent-400 text-primary-900 pointer-fine:group-hover:bg-background-950 pointer-fine:group-hover:text-accent-400 group-hover:hover:bg-text-50 group-hover:hover:text-background-950",
151
- href: "/docs",
152
- innerText: "Docs"
153
- })
154
- )
155
- )
156
- )
157
- );
158
- export {
159
- Header
160
- };
@@ -1 +0,0 @@
1
- export declare const Mono: (text: string) => BuiltElement<"span">;
@@ -1,7 +0,0 @@
1
- // src/docs/docs/components/Mono.ts
2
- var Mono = (text) => span({
3
- class: "font-mono select-text"
4
- }, text);
5
- export {
6
- Mono
7
- };
@@ -1 +0,0 @@
1
- export declare const PageHeading: (title: string, id: string) => BuiltElement<"h2">;
@@ -1,9 +0,0 @@
1
- // src/docs/docs/components/PageHeading.ts
2
- var PageHeading = (title, id) => h2({
3
- class: "text-3xl font-semibold mb-4",
4
- id,
5
- innerText: title
6
- });
7
- export {
8
- PageHeading
9
- };