elegance-js 2.0.17 → 2.0.18

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 (45) hide show
  1. package/package.json +1 -1
  2. package/dist/docs/components/Header.d.ts +0 -1
  3. package/dist/docs/components/Header.mjs +0 -249
  4. package/dist/docs/components/RootLayout.d.ts +0 -1
  5. package/dist/docs/components/RootLayout.mjs +0 -10
  6. package/dist/docs/docs/basics/page.d.ts +0 -2
  7. package/dist/docs/docs/basics/page.mjs +0 -1057
  8. package/dist/docs/docs/compilations/page.d.ts +0 -2
  9. package/dist/docs/docs/compilations/page.mjs +0 -15
  10. package/dist/docs/docs/components/CodeBlock.d.ts +0 -2
  11. package/dist/docs/docs/components/CodeBlock.mjs +0 -324
  12. package/dist/docs/docs/components/DocsLayout.d.ts +0 -1
  13. package/dist/docs/docs/components/DocsLayout.mjs +0 -527
  14. package/dist/docs/docs/components/Header.d.ts +0 -1
  15. package/dist/docs/docs/components/Header.mjs +0 -160
  16. package/dist/docs/docs/components/Mono.d.ts +0 -1
  17. package/dist/docs/docs/components/Mono.mjs +0 -7
  18. package/dist/docs/docs/components/PageHeading.d.ts +0 -1
  19. package/dist/docs/docs/components/PageHeading.mjs +0 -9
  20. package/dist/docs/docs/components/Paragraph.d.ts +0 -1
  21. package/dist/docs/docs/components/Paragraph.mjs +0 -10
  22. package/dist/docs/docs/components/Separator.d.ts +0 -1
  23. package/dist/docs/docs/components/Separator.mjs +0 -7
  24. package/dist/docs/docs/components/SubHeading.d.ts +0 -1
  25. package/dist/docs/docs/components/SubHeading.mjs +0 -8
  26. package/dist/docs/docs/components/SubSeparator.d.ts +0 -1
  27. package/dist/docs/docs/components/SubSeparator.mjs +0 -7
  28. package/dist/docs/docs/components/Subtext.d.ts +0 -1
  29. package/dist/docs/docs/components/Subtext.mjs +0 -8
  30. package/dist/docs/docs/concepts/page.d.ts +0 -2
  31. package/dist/docs/docs/concepts/page.mjs +0 -954
  32. package/dist/docs/docs/page-files/page.d.ts +0 -2
  33. package/dist/docs/docs/page-files/page.mjs +0 -1206
  34. package/dist/docs/docs/route.d.ts +0 -2
  35. package/dist/docs/docs/route.mjs +0 -8
  36. package/dist/docs/docs/running/page.d.ts +0 -2
  37. package/dist/docs/docs/running/page.mjs +0 -7
  38. package/dist/docs/nullpage/page.d.ts +0 -2
  39. package/dist/docs/nullpage/page.mjs +0 -58
  40. package/dist/docs/page.d.ts +0 -2
  41. package/dist/docs/page.mjs +0 -437
  42. package/dist/docs/utils/MEGALEXER.d.ts +0 -1
  43. package/dist/docs/utils/MEGALEXER.mjs +0 -171
  44. package/dist/types/Metadata.d.ts +0 -19
  45. package/dist/types/Metadata.mjs +0 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elegance-js",
3
- "version": "2.0.17",
3
+ "version": "2.0.18",
4
4
  "description": "Web-Framework",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- export declare const Header: () => BuiltElement<"header">;
@@ -1,249 +0,0 @@
1
- // src/internal/deprecate.ts
2
- var ShowDeprecationWarning = (msg) => {
3
- console.warn("\x1B[31m", msg, "\x1B[0m");
4
- console.trace("Stack Trace:");
5
- };
6
-
7
- // src/server/createState.ts
8
- if (!globalThis.__SERVER_CURRENT_STATE_ID__) {
9
- globalThis.__SERVER_CURRENT_STATE_ID__ = 1;
10
- }
11
- var createState = (value, options) => {
12
- ShowDeprecationWarning("WARNING: The createState() and function is deprecated. Please use state() instead, from elegance-js/state.");
13
- const serverStateEntry = {
14
- id: __SERVER_CURRENT_STATE_ID__ += 1,
15
- value,
16
- type: 1 /* STATE */,
17
- bind: options?.bind
18
- };
19
- globalThis.__SERVER_CURRENT_STATE__.push(serverStateEntry);
20
- return serverStateEntry;
21
- };
22
-
23
- // src/server/observe.ts
24
- var observe = (refs, update) => {
25
- const returnValue = {
26
- type: 2 /* OBSERVER */,
27
- initialValues: refs.map((ref) => ref.value),
28
- update,
29
- refs: refs.map((ref) => ({
30
- id: ref.id,
31
- bind: ref.bind
32
- }))
33
- };
34
- return returnValue;
35
- };
36
-
37
- // src/server/loadHook.ts
38
- var loadHook = (deps, fn, bind) => {
39
- const stringFn = fn.toString();
40
- const depsArray = (deps || []).map((dep) => ({
41
- id: dep.id,
42
- bind: dep.bind
43
- }));
44
- let dependencyString = "[";
45
- for (const dep of depsArray) {
46
- dependencyString += `{id:${dep.id}`;
47
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
48
- dependencyString += `},`;
49
- }
50
- dependencyString += "]";
51
- const isAsync = fn.constructor.name === "AsyncFunction";
52
- const wrapperFn = isAsync ? `async (state) => await (${stringFn})(state, ...state.getAll(${dependencyString}))` : `(state) => (${stringFn})(state, ...state.getAll(${dependencyString}))`;
53
- globalThis.__SERVER_CURRENT_LOADHOOKS__.push({
54
- fn: wrapperFn,
55
- bind: bind || ""
56
- });
57
- };
58
- var createLoadHook = (options) => {
59
- ShowDeprecationWarning("WARNING: createLoadHook() is a deprecated function. Use loadHook() from elegance-js/loadHook instead.");
60
- const stringFn = options.fn.toString();
61
- const deps = (options.deps || []).map((dep) => ({
62
- id: dep.id,
63
- bind: dep.bind
64
- }));
65
- let dependencyString = "[";
66
- for (const dep of deps) {
67
- dependencyString += `{id:${dep.id}`;
68
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
69
- dependencyString += `},`;
70
- }
71
- dependencyString += "]";
72
- const isAsync = options.fn.constructor.name === "AsyncFunction";
73
- const wrapperFn = isAsync ? `async (state) => await (${stringFn})(state, ...state.getAll(${dependencyString}))` : `(state) => (${stringFn})(state, ...state.getAll(${dependencyString}))`;
74
- globalThis.__SERVER_CURRENT_LOADHOOKS__.push({
75
- fn: wrapperFn,
76
- bind: options.bind || ""
77
- });
78
- };
79
-
80
- // src/server/state.ts
81
- if (!globalThis.__SERVER_CURRENT_STATE_ID__) {
82
- globalThis.__SERVER_CURRENT_STATE_ID__ = 1;
83
- }
84
- var eventListener = (dependencies, eventListener2) => {
85
- const deps = dependencies.map((dep) => ({ id: dep.id, bind: dep.bind }));
86
- let dependencyString = "[";
87
- for (const dep of deps) {
88
- dependencyString += `{id:${dep.id}`;
89
- if (dep.bind) dependencyString += `,bind:${dep.bind}`;
90
- dependencyString += `},`;
91
- }
92
- dependencyString += "]";
93
- const value = {
94
- id: __SERVER_CURRENT_STATE_ID__ += 1,
95
- type: 1 /* STATE */,
96
- value: new Function(
97
- "state",
98
- "event",
99
- `(${eventListener2.toString()})(event, ...state.getAll(${dependencyString}))`
100
- )
101
- };
102
- globalThis.__SERVER_CURRENT_STATE__.push(value);
103
- return value;
104
- };
105
-
106
- // src/components/Link.ts
107
- loadHook(
108
- [],
109
- () => {
110
- const anchors = Array.from(document.querySelectorAll("a[prefetch]"));
111
- const elsToClear = [];
112
- for (const anchor of anchors) {
113
- const prefetch = anchor.getAttribute("prefetch");
114
- const href = new URL(anchor.href);
115
- switch (prefetch) {
116
- case "load":
117
- client.fetchPage(href);
118
- break;
119
- case "hover":
120
- const fn = () => {
121
- client.fetchPage(href);
122
- };
123
- anchor.addEventListener("mouseenter", fn);
124
- elsToClear.push({
125
- el: anchor,
126
- fn
127
- });
128
- break;
129
- }
130
- }
131
- return () => {
132
- for (const listener of elsToClear) {
133
- listener.el.removeEventListener("mouseenter", listener.fn);
134
- }
135
- };
136
- }
137
- );
138
- var navigate = eventListener(
139
- [],
140
- (event) => {
141
- const target = new URL(event.currentTarget.href);
142
- const client2 = globalThis.client;
143
- const sanitizedTarget = client2.sanitizePathname(target.pathname);
144
- const sanitizedCurrent = client2.sanitizePathname(window.location.pathname);
145
- if (sanitizedTarget === sanitizedCurrent) {
146
- if (target.hash === window.location.hash) return event.preventDefault();
147
- return;
148
- }
149
- event.preventDefault();
150
- client2.navigateLocally(target.href);
151
- }
152
- );
153
- var Link = (options, ...children) => {
154
- if (!options.href) {
155
- throw `Link elements must have a HREF attribute set.`;
156
- }
157
- if (!options.href.startsWith("/")) {
158
- throw `Link elements may only navigate to local pages. "/"`;
159
- }
160
- return a(
161
- {
162
- ...options,
163
- onClick: navigate
164
- },
165
- ...children
166
- );
167
- };
168
-
169
- // src/docs/components/Header.ts
170
- var hasUserScrolled = createState(false);
171
- createLoadHook({
172
- deps: [hasUserScrolled],
173
- fn: (state2, hasUserScrolled2) => {
174
- const handleScroll = () => {
175
- const pos = {
176
- x: window.scrollX,
177
- y: window.scrollY
178
- };
179
- if (pos.y > 20) {
180
- if (hasUserScrolled2.value === true) return;
181
- hasUserScrolled2.value = true;
182
- hasUserScrolled2.signal();
183
- } else {
184
- if (hasUserScrolled2.value === false) return;
185
- hasUserScrolled2.value = false;
186
- hasUserScrolled2.signal();
187
- }
188
- };
189
- window.addEventListener("scroll", handleScroll);
190
- return () => {
191
- window.removeEventListener("scroll", handleScroll);
192
- };
193
- }
194
- });
195
- var Header = () => header(
196
- {
197
- 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"
198
- },
199
- div(
200
- {
201
- class: observe(
202
- [hasUserScrolled],
203
- (hasUserScrolled2) => {
204
- const defaultClass = "group duration-300 border-b-[1px] hover:border-b-transparent pointer-fine:hover:bg-accent-400 ";
205
- if (hasUserScrolled2) return defaultClass + "border-b-background-800 bg-background-950";
206
- return defaultClass + "bg-background-900 border-b-transparent";
207
- }
208
- )
209
- },
210
- div(
211
- {
212
- class: "max-w-[900px] w-full mx-auto flex pr-2 px-3 sm:px-5 sm:min-[calc(900px+1rem)]:px-0"
213
- },
214
- div(
215
- {
216
- class: "flex min-w-max w-full items-center z-10"
217
- },
218
- Link(
219
- {
220
- href: "/",
221
- class: "flex items-center gap-1 h-full"
222
- },
223
- p({
224
- 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",
225
- innerText: "Elegance"
226
- }),
227
- p({
228
- innerText: "JS",
229
- 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"
230
- })
231
- )
232
- ),
233
- div(
234
- {
235
- class: "flex py-2 sm:py-4 flex relative items-center justify-end w-full"
236
- },
237
- Link({
238
- prefetch: "hover",
239
- 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",
240
- href: "/docs/basics",
241
- innerText: "Docs"
242
- })
243
- )
244
- )
245
- )
246
- );
247
- export {
248
- Header
249
- };
@@ -1 +0,0 @@
1
- export declare const RootLayout: (...children: Child[]) => BuiltElement<"body">;
@@ -1,10 +0,0 @@
1
- // src/docs/components/RootLayout.ts
2
- var RootLayout = (...children) => body(
3
- {
4
- class: "bg-background-900 text-text-50 font-inter select-none text-text-50"
5
- },
6
- ...children
7
- );
8
- export {
9
- RootLayout
10
- };
@@ -1,2 +0,0 @@
1
- export declare const metadata: () => BuiltElement<"head">;
2
- export declare const page: BuiltElement<"body">;