@mdanai/sdk 0.5.0

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 (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +126 -0
  3. package/dist/core/errors.d.ts +14 -0
  4. package/dist/core/errors.d.ts.map +1 -0
  5. package/dist/core/errors.js +13 -0
  6. package/dist/core/errors.js.map +1 -0
  7. package/dist/core/index.d.ts +16 -0
  8. package/dist/core/index.d.ts.map +1 -0
  9. package/dist/core/index.js +69 -0
  10. package/dist/core/index.js.map +1 -0
  11. package/dist/core/markdown-body.d.ts +3 -0
  12. package/dist/core/markdown-body.d.ts.map +1 -0
  13. package/dist/core/markdown-body.js +65 -0
  14. package/dist/core/markdown-body.js.map +1 -0
  15. package/dist/core/markdown-renderer.d.ts +5 -0
  16. package/dist/core/markdown-renderer.d.ts.map +1 -0
  17. package/dist/core/markdown-renderer.js +75 -0
  18. package/dist/core/markdown-renderer.js.map +1 -0
  19. package/dist/core/negotiate.d.ts +3 -0
  20. package/dist/core/negotiate.d.ts.map +1 -0
  21. package/dist/core/negotiate.js +63 -0
  22. package/dist/core/negotiate.js.map +1 -0
  23. package/dist/core/parse/anchors.d.ts +2 -0
  24. package/dist/core/parse/anchors.d.ts.map +1 -0
  25. package/dist/core/parse/anchors.js +26 -0
  26. package/dist/core/parse/anchors.js.map +1 -0
  27. package/dist/core/parse/block-parser.d.ts +3 -0
  28. package/dist/core/parse/block-parser.d.ts.map +1 -0
  29. package/dist/core/parse/block-parser.js +117 -0
  30. package/dist/core/parse/block-parser.js.map +1 -0
  31. package/dist/core/parse/executable-block.d.ts +6 -0
  32. package/dist/core/parse/executable-block.d.ts.map +1 -0
  33. package/dist/core/parse/executable-block.js +48 -0
  34. package/dist/core/parse/executable-block.js.map +1 -0
  35. package/dist/core/parse/frontmatter.d.ts +7 -0
  36. package/dist/core/parse/frontmatter.d.ts.map +1 -0
  37. package/dist/core/parse/frontmatter.js +45 -0
  38. package/dist/core/parse/frontmatter.js.map +1 -0
  39. package/dist/core/serialize.d.ts +4 -0
  40. package/dist/core/serialize.d.ts.map +1 -0
  41. package/dist/core/serialize.js +126 -0
  42. package/dist/core/serialize.js.map +1 -0
  43. package/dist/core/types.d.ts +67 -0
  44. package/dist/core/types.d.ts.map +1 -0
  45. package/dist/core/types.js +2 -0
  46. package/dist/core/types.js.map +1 -0
  47. package/dist/core/validate.d.ts +3 -0
  48. package/dist/core/validate.d.ts.map +1 -0
  49. package/dist/core/validate.js +107 -0
  50. package/dist/core/validate.js.map +1 -0
  51. package/dist/elements/components/mdan-action.d.ts +6 -0
  52. package/dist/elements/components/mdan-action.d.ts.map +1 -0
  53. package/dist/elements/components/mdan-action.js +34 -0
  54. package/dist/elements/components/mdan-action.js.map +1 -0
  55. package/dist/elements/components/mdan-block.d.ts +9 -0
  56. package/dist/elements/components/mdan-block.d.ts.map +1 -0
  57. package/dist/elements/components/mdan-block.js +36 -0
  58. package/dist/elements/components/mdan-block.js.map +1 -0
  59. package/dist/elements/components/mdan-error.d.ts +9 -0
  60. package/dist/elements/components/mdan-error.d.ts.map +1 -0
  61. package/dist/elements/components/mdan-error.js +36 -0
  62. package/dist/elements/components/mdan-error.js.map +1 -0
  63. package/dist/elements/components/mdan-field.d.ts +6 -0
  64. package/dist/elements/components/mdan-field.d.ts.map +1 -0
  65. package/dist/elements/components/mdan-field.js +35 -0
  66. package/dist/elements/components/mdan-field.js.map +1 -0
  67. package/dist/elements/components/mdan-form.d.ts +6 -0
  68. package/dist/elements/components/mdan-form.d.ts.map +1 -0
  69. package/dist/elements/components/mdan-form.js +22 -0
  70. package/dist/elements/components/mdan-form.js.map +1 -0
  71. package/dist/elements/components/mdan-page.d.ts +9 -0
  72. package/dist/elements/components/mdan-page.d.ts.map +1 -0
  73. package/dist/elements/components/mdan-page.js +46 -0
  74. package/dist/elements/components/mdan-page.js.map +1 -0
  75. package/dist/elements/index.d.ts +3 -0
  76. package/dist/elements/index.d.ts.map +1 -0
  77. package/dist/elements/index.js +3 -0
  78. package/dist/elements/index.js.map +1 -0
  79. package/dist/elements/mount.d.ts +11 -0
  80. package/dist/elements/mount.d.ts.map +1 -0
  81. package/dist/elements/mount.js +436 -0
  82. package/dist/elements/mount.js.map +1 -0
  83. package/dist/elements/register.d.ts +2 -0
  84. package/dist/elements/register.d.ts.map +1 -0
  85. package/dist/elements/register.js +27 -0
  86. package/dist/elements/register.js.map +1 -0
  87. package/dist/elements/theme.d.ts +2 -0
  88. package/dist/elements/theme.d.ts.map +1 -0
  89. package/dist/elements/theme.js +13 -0
  90. package/dist/elements/theme.js.map +1 -0
  91. package/dist/index.d.ts +4 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +5 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/server/bun.d.ts +19 -0
  96. package/dist/server/bun.d.ts.map +1 -0
  97. package/dist/server/bun.js +214 -0
  98. package/dist/server/bun.js.map +1 -0
  99. package/dist/server/content-type.d.ts +3 -0
  100. package/dist/server/content-type.d.ts.map +1 -0
  101. package/dist/server/content-type.js +5 -0
  102. package/dist/server/content-type.js.map +1 -0
  103. package/dist/server/hosted-app.d.ts +35 -0
  104. package/dist/server/hosted-app.d.ts.map +1 -0
  105. package/dist/server/hosted-app.js +113 -0
  106. package/dist/server/hosted-app.js.map +1 -0
  107. package/dist/server/html-render.d.ts +21 -0
  108. package/dist/server/html-render.d.ts.map +1 -0
  109. package/dist/server/html-render.js +360 -0
  110. package/dist/server/html-render.js.map +1 -0
  111. package/dist/server/index.d.ts +8 -0
  112. package/dist/server/index.d.ts.map +1 -0
  113. package/dist/server/index.js +6 -0
  114. package/dist/server/index.js.map +1 -0
  115. package/dist/server/node-runtime.d.ts +2 -0
  116. package/dist/server/node-runtime.d.ts.map +1 -0
  117. package/dist/server/node-runtime.js +2 -0
  118. package/dist/server/node-runtime.js.map +1 -0
  119. package/dist/server/node.d.ts +23 -0
  120. package/dist/server/node.d.ts.map +1 -0
  121. package/dist/server/node.js +210 -0
  122. package/dist/server/node.js.map +1 -0
  123. package/dist/server/result.d.ts +7 -0
  124. package/dist/server/result.d.ts.map +1 -0
  125. package/dist/server/result.js +26 -0
  126. package/dist/server/result.js.map +1 -0
  127. package/dist/server/router.d.ts +12 -0
  128. package/dist/server/router.d.ts.map +1 -0
  129. package/dist/server/router.js +24 -0
  130. package/dist/server/router.js.map +1 -0
  131. package/dist/server/runtime.d.ts +16 -0
  132. package/dist/server/runtime.d.ts.map +1 -0
  133. package/dist/server/runtime.js +532 -0
  134. package/dist/server/runtime.js.map +1 -0
  135. package/dist/server/session.d.ts +5 -0
  136. package/dist/server/session.d.ts.map +1 -0
  137. package/dist/server/session.js +18 -0
  138. package/dist/server/session.js.map +1 -0
  139. package/dist/server/types.d.ts +72 -0
  140. package/dist/server/types.d.ts.map +1 -0
  141. package/dist/server/types.js +2 -0
  142. package/dist/server/types.js.map +1 -0
  143. package/dist/web/headless.d.ts +32 -0
  144. package/dist/web/headless.d.ts.map +1 -0
  145. package/dist/web/headless.js +391 -0
  146. package/dist/web/headless.js.map +1 -0
  147. package/dist/web/index.d.ts +2 -0
  148. package/dist/web/index.d.ts.map +1 -0
  149. package/dist/web/index.js +2 -0
  150. package/dist/web/index.js.map +1 -0
  151. package/package.json +81 -0
@@ -0,0 +1,436 @@
1
+ import { basicMarkdownRenderer } from "../core/index.js";
2
+ import { html, render } from "lit";
3
+ import { unsafeHTML } from "lit/directives/unsafe-html.js";
4
+ import { registerMdanElements } from "./register.js";
5
+ function humanizeLabel(value) {
6
+ return value
7
+ .replace(/[_-]+/g, " ")
8
+ .replace(/\s+/g, " ")
9
+ .trim()
10
+ .replace(/\b\w/g, (match) => match.toUpperCase());
11
+ }
12
+ function renderMarkdown(markdown, markdownRenderer) {
13
+ return unsafeHTML(markdownRenderer.render(markdown));
14
+ }
15
+ function ensureContainer(root) {
16
+ if (root instanceof Document) {
17
+ const existing = root.querySelector("[data-mdan-elements-root]");
18
+ if (existing instanceof HTMLElement) {
19
+ return existing;
20
+ }
21
+ const host = root.createElement("div");
22
+ host.setAttribute("data-mdan-elements-root", "");
23
+ root.body.append(host);
24
+ return host;
25
+ }
26
+ return root;
27
+ }
28
+ function ensureGlobalStyle(document) {
29
+ if (document.getElementById("mdan-elements-headless-style")) {
30
+ return;
31
+ }
32
+ const style = document.createElement("style");
33
+ style.id = "mdan-elements-headless-style";
34
+ style.textContent = `
35
+ mdan-page {
36
+ display: none !important;
37
+ }
38
+ [data-mdan-elements-root] {
39
+ display: block;
40
+ }
41
+ `;
42
+ document.head.append(style);
43
+ }
44
+ function getDocument(root) {
45
+ return root instanceof Document ? root : root.ownerDocument ?? document;
46
+ }
47
+ export function mountMdanElements(options) {
48
+ registerMdanElements();
49
+ const document = getDocument(options.root);
50
+ const container = ensureContainer(options.root);
51
+ ensureGlobalStyle(document);
52
+ const host = options.host;
53
+ const markdownRenderer = options.markdownRenderer ?? basicMarkdownRenderer;
54
+ let unsubscribe = null;
55
+ const valuesByForm = {};
56
+ let debugDrawerOpen = false;
57
+ function getDebugMessages() {
58
+ if (typeof window === "undefined") {
59
+ return [];
60
+ }
61
+ const debugWindow = window;
62
+ return debugWindow.__MDAN_DEBUG__?.messages ?? [];
63
+ }
64
+ function clearDebugMessages() {
65
+ if (typeof window === "undefined") {
66
+ return;
67
+ }
68
+ const debugWindow = window;
69
+ if (debugWindow.__MDAN_DEBUG__) {
70
+ debugWindow.__MDAN_DEBUG__.messages = [];
71
+ }
72
+ }
73
+ function getFormKey(blockName, operation) {
74
+ return `${blockName}:${operation.method}:${operation.target}:${operation.name ?? ""}`;
75
+ }
76
+ function getFormValues(formKey) {
77
+ valuesByForm[formKey] ??= {};
78
+ return valuesByForm[formKey];
79
+ }
80
+ function onInput(formKey, name, value) {
81
+ getFormValues(formKey)[name] = value;
82
+ }
83
+ function getInputValue(input, formValues) {
84
+ const value = formValues[input.name];
85
+ if (value !== undefined) {
86
+ return value;
87
+ }
88
+ if (input.type === "choice") {
89
+ return input.options?.[0] ?? "";
90
+ }
91
+ if (input.type === "boolean") {
92
+ return "false";
93
+ }
94
+ return "";
95
+ }
96
+ function renderSnapshot(snapshot) {
97
+ const debugMessages = getDebugMessages();
98
+ render(html `
99
+ <mdan-page>
100
+ ${snapshot.markdown ? renderMarkdown(snapshot.markdown, markdownRenderer) : ""}
101
+ ${snapshot.blocks.map((block) => {
102
+ const getOperations = [];
103
+ const postOperations = [];
104
+ for (const operation of block.operations) {
105
+ if (operation.method === "GET") {
106
+ getOperations.push(operation);
107
+ }
108
+ else {
109
+ postOperations.push(operation);
110
+ }
111
+ }
112
+ const inputsByName = new Map(block.inputs.map((input) => [input.name, input]));
113
+ return html `
114
+ <mdan-block data-mdan-block=${block.name}>
115
+ ${block.markdown ? renderMarkdown(block.markdown, markdownRenderer) : ""}
116
+
117
+ ${getOperations.map((operation) => {
118
+ const formKey = getFormKey(block.name, operation);
119
+ const formValues = getFormValues(formKey);
120
+ const renderableInputs = operation.inputs
121
+ .map((name) => inputsByName.get(name))
122
+ .filter((input) => Boolean(input));
123
+ if (renderableInputs.length === 0) {
124
+ return html `
125
+ <div class="mdan-elements-actions">
126
+ <mdan-action>
127
+ <button
128
+ type="button"
129
+ @click=${() => {
130
+ void host.submit(operation, {});
131
+ }}
132
+ >
133
+ ${operation.label ?? operation.name ?? operation.target}
134
+ </button>
135
+ </mdan-action>
136
+ </div>
137
+ `;
138
+ }
139
+ return html `
140
+ <mdan-form>
141
+ <form
142
+ @submit=${(event) => {
143
+ event.preventDefault();
144
+ const form = event.currentTarget;
145
+ if (typeof form.reportValidity === "function" && !form.reportValidity()) {
146
+ return;
147
+ }
148
+ const payload = {};
149
+ for (const name of operation.inputs) {
150
+ const input = inputsByName.get(name);
151
+ payload[name] = input ? getInputValue(input, formValues) : formValues[name] ?? "";
152
+ }
153
+ void host.submit(operation, payload);
154
+ }}
155
+ >
156
+ ${renderableInputs.map((input) => {
157
+ const label = html `<span class="mdan-label-text">
158
+ ${humanizeLabel(input.name)}
159
+ ${input.required ? html `<span class="mdan-required" aria-hidden="true">*</span>` : ""}
160
+ </span>`;
161
+ if (input.type === "choice") {
162
+ return html `
163
+ <mdan-field>
164
+ <label>
165
+ ${label}
166
+ <select
167
+ name=${input.name}
168
+ ?required=${input.required}
169
+ .value=${getInputValue(input, formValues)}
170
+ @change=${(event) => {
171
+ onInput(formKey, input.name, event.currentTarget.value);
172
+ }}
173
+ >
174
+ ${(input.options ?? []).map((option) => html `<option value=${option}>${option}</option>`)}
175
+ </select>
176
+ </label>
177
+ </mdan-field>
178
+ `;
179
+ }
180
+ if (input.type === "boolean") {
181
+ return html `
182
+ <mdan-field>
183
+ <label>
184
+ ${label}
185
+ <input
186
+ name=${input.name}
187
+ type="checkbox"
188
+ ?required=${input.required}
189
+ .checked=${formValues[input.name] === "true"}
190
+ @change=${(event) => {
191
+ onInput(formKey, input.name, event.currentTarget.checked ? "true" : "false");
192
+ }}
193
+ >
194
+ </label>
195
+ </mdan-field>
196
+ `;
197
+ }
198
+ if (input.type === "asset") {
199
+ return html `
200
+ <mdan-field>
201
+ <label>
202
+ ${label}
203
+ <input
204
+ name=${input.name}
205
+ type="file"
206
+ ?required=${input.required}
207
+ @change=${(event) => {
208
+ onInput(formKey, input.name, event.currentTarget.files?.[0]?.name ?? "");
209
+ }}
210
+ >
211
+ </label>
212
+ </mdan-field>
213
+ `;
214
+ }
215
+ return html `
216
+ <mdan-field>
217
+ <label>
218
+ ${label}
219
+ <input
220
+ name=${input.name}
221
+ type=${input.secret ? "password" : input.type === "number" ? "number" : "text"}
222
+ ?required=${input.required}
223
+ .value=${formValues[input.name] ?? ""}
224
+ placeholder=${input.name === "message" ? "Write something worth keeping" : ""}
225
+ @input=${(event) => {
226
+ onInput(formKey, input.name, event.currentTarget.value);
227
+ }}
228
+ >
229
+ </label>
230
+ </mdan-field>
231
+ `;
232
+ })}
233
+ <mdan-action>
234
+ <button type="submit">${operation.label ?? operation.name ?? operation.target}</button>
235
+ </mdan-action>
236
+ </form>
237
+ </mdan-form>
238
+ `;
239
+ })}
240
+
241
+ ${postOperations.map((operation) => {
242
+ const formKey = getFormKey(block.name, operation);
243
+ const formValues = getFormValues(formKey);
244
+ const renderableInputs = operation.inputs
245
+ .map((name) => inputsByName.get(name))
246
+ .filter((input) => Boolean(input));
247
+ return html `
248
+ <mdan-form>
249
+ <form
250
+ @submit=${(event) => {
251
+ event.preventDefault();
252
+ const form = event.currentTarget;
253
+ if (typeof form.reportValidity === "function" && !form.reportValidity()) {
254
+ return;
255
+ }
256
+ const payload = {};
257
+ for (const name of operation.inputs) {
258
+ const input = inputsByName.get(name);
259
+ payload[name] = input ? getInputValue(input, formValues) : formValues[name] ?? "";
260
+ }
261
+ void host.submit(operation, payload);
262
+ valuesByForm[formKey] = {};
263
+ }}
264
+ >
265
+ ${renderableInputs.map((input) => {
266
+ const label = html `<span class="mdan-label-text">
267
+ ${humanizeLabel(input.name)}
268
+ ${input.required ? html `<span class="mdan-required" aria-hidden="true">*</span>` : ""}
269
+ </span>`;
270
+ if (input.type === "choice") {
271
+ return html `
272
+ <mdan-field>
273
+ <label>
274
+ ${label}
275
+ <select
276
+ name=${input.name}
277
+ ?required=${input.required}
278
+ .value=${getInputValue(input, formValues)}
279
+ @change=${(event) => {
280
+ onInput(formKey, input.name, event.currentTarget.value);
281
+ }}
282
+ >
283
+ ${(input.options ?? []).map((option) => html `<option value=${option}>${option}</option>`)}
284
+ </select>
285
+ </label>
286
+ </mdan-field>
287
+ `;
288
+ }
289
+ if (input.type === "boolean") {
290
+ return html `
291
+ <mdan-field>
292
+ <label>
293
+ ${label}
294
+ <input
295
+ name=${input.name}
296
+ type="checkbox"
297
+ ?required=${input.required}
298
+ .checked=${formValues[input.name] === "true"}
299
+ @change=${(event) => {
300
+ onInput(formKey, input.name, event.currentTarget.checked ? "true" : "false");
301
+ }}
302
+ >
303
+ </label>
304
+ </mdan-field>
305
+ `;
306
+ }
307
+ if (input.type === "asset") {
308
+ return html `
309
+ <mdan-field>
310
+ <label>
311
+ ${label}
312
+ <input
313
+ name=${input.name}
314
+ type="file"
315
+ ?required=${input.required}
316
+ @change=${(event) => {
317
+ onInput(formKey, input.name, event.currentTarget.files?.[0]?.name ?? "");
318
+ }}
319
+ >
320
+ </label>
321
+ </mdan-field>
322
+ `;
323
+ }
324
+ return html `
325
+ <mdan-field>
326
+ <label>
327
+ ${label}
328
+ <input
329
+ name=${input.name}
330
+ type=${input.secret ? "password" : input.type === "number" ? "number" : "text"}
331
+ ?required=${input.required}
332
+ .value=${formValues[input.name] ?? ""}
333
+ placeholder=${input.name === "message" ? "Write something worth keeping" : ""}
334
+ @input=${(event) => {
335
+ onInput(formKey, input.name, event.currentTarget.value);
336
+ }}
337
+ >
338
+ </label>
339
+ </mdan-field>
340
+ `;
341
+ })}
342
+ <mdan-action>
343
+ <button type="submit">${operation.label ?? operation.name ?? operation.target}</button>
344
+ </mdan-action>
345
+ </form>
346
+ </mdan-form>
347
+ `;
348
+ })}
349
+ </mdan-block>
350
+ `;
351
+ })}
352
+ </mdan-page>
353
+ ${debugMessages.length > 0
354
+ ? html `
355
+ <aside
356
+ data-mdan-debug-panel
357
+ style="position:fixed;right:1rem;bottom:1rem;z-index:9999;display:grid;gap:0.75rem;max-width:min(28rem,calc(100vw - 2rem));font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;"
358
+ >
359
+ <button
360
+ type="button"
361
+ data-mdan-debug-toggle
362
+ style="justify-self:end;border:1px solid #cbd5e1;background:#0f172a;color:#f8fafc;border-radius:999px;padding:0.6rem 0.9rem;box-shadow:0 10px 30px rgba(15,23,42,0.2);cursor:pointer;"
363
+ @click=${() => {
364
+ debugDrawerOpen = !debugDrawerOpen;
365
+ renderSnapshot(host.getSnapshot());
366
+ }}
367
+ >
368
+ Debug ${debugMessages.length}
369
+ </button>
370
+ ${debugDrawerOpen
371
+ ? html `
372
+ <section
373
+ data-mdan-debug-drawer
374
+ style="background:#020617;color:#e2e8f0;border:1px solid #1e293b;border-radius:1rem;padding:0.9rem;box-shadow:0 16px 40px rgba(15,23,42,0.35);max-height:min(32rem,70vh);overflow:auto;"
375
+ >
376
+ <div style="display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:0.75rem;">
377
+ <strong style="font-size:12px;letter-spacing:0.04em;text-transform:uppercase;">MDAN Debug</strong>
378
+ <button
379
+ type="button"
380
+ style="border:1px solid #334155;background:transparent;color:#cbd5e1;border-radius:999px;padding:0.35rem 0.7rem;cursor:pointer;"
381
+ @click=${() => {
382
+ clearDebugMessages();
383
+ renderSnapshot(host.getSnapshot());
384
+ }}
385
+ >
386
+ Clear
387
+ </button>
388
+ </div>
389
+ <div style="display:grid;gap:0.75rem;">
390
+ ${[...debugMessages].reverse().map((message) => html `
391
+ <article style="border:1px solid #1e293b;border-radius:0.75rem;padding:0.75rem;background:#0f172a;">
392
+ <div style="display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.5rem;color:#93c5fd;">
393
+ <span>${message.direction}</span>
394
+ <span>${message.method}</span>
395
+ <span>${message.url}</span>
396
+ </div>
397
+ <pre style="margin:0;white-space:pre-wrap;word-break:break-word;color:#e2e8f0;">${message.markdown}</pre>
398
+ </article>
399
+ `)}
400
+ </div>
401
+ </section>
402
+ `
403
+ : null}
404
+ </aside>
405
+ `
406
+ : null}
407
+ `, container);
408
+ }
409
+ return {
410
+ mount() {
411
+ unsubscribe = host.subscribe((snapshot) => {
412
+ renderSnapshot(snapshot);
413
+ });
414
+ host.mount();
415
+ },
416
+ unmount() {
417
+ unsubscribe?.();
418
+ unsubscribe = null;
419
+ host.unmount();
420
+ render(html ``, container);
421
+ },
422
+ subscribe(listener) {
423
+ return host.subscribe(listener);
424
+ },
425
+ getSnapshot() {
426
+ return host.getSnapshot();
427
+ },
428
+ submit(operation, valuesMap) {
429
+ return host.submit(operation, valuesMap);
430
+ },
431
+ visit(target) {
432
+ return host.visit(target);
433
+ }
434
+ };
435
+ }
436
+ //# sourceMappingURL=mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/elements/mount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerMdanElements(): void;
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/elements/register.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,IAAI,IAAI,CAmB3C"}
@@ -0,0 +1,27 @@
1
+ import { MdanActionElement } from "./components/mdan-action.js";
2
+ import { MdanBlockElement } from "./components/mdan-block.js";
3
+ import { MdanErrorElement } from "./components/mdan-error.js";
4
+ import { MdanFieldElement } from "./components/mdan-field.js";
5
+ import { MdanFormElement } from "./components/mdan-form.js";
6
+ import { MdanPageElement } from "./components/mdan-page.js";
7
+ export function registerMdanElements() {
8
+ if (!customElements.get("mdan-page")) {
9
+ customElements.define("mdan-page", MdanPageElement);
10
+ }
11
+ if (!customElements.get("mdan-block")) {
12
+ customElements.define("mdan-block", MdanBlockElement);
13
+ }
14
+ if (!customElements.get("mdan-form")) {
15
+ customElements.define("mdan-form", MdanFormElement);
16
+ }
17
+ if (!customElements.get("mdan-field")) {
18
+ customElements.define("mdan-field", MdanFieldElement);
19
+ }
20
+ if (!customElements.get("mdan-action")) {
21
+ customElements.define("mdan-action", MdanActionElement);
22
+ }
23
+ if (!customElements.get("mdan-error")) {
24
+ customElements.define("mdan-error", MdanErrorElement);
25
+ }
26
+ }
27
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/elements/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const baseTheme: import("lit").CSSResult;
2
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/elements/theme.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yBAUrB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { css } from "lit";
2
+ export const baseTheme = css `
3
+ :host {
4
+ box-sizing: border-box;
5
+ font-family: "IBM Plex Sans", "Avenir Next", ui-sans-serif, system-ui, sans-serif;
6
+ color: #0f172a;
7
+ }
8
+
9
+ *, *::before, *::after {
10
+ box-sizing: inherit;
11
+ }
12
+ `;
13
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/elements/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;CAU3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./core/index.js";
2
+ export * from "./server/index.js";
3
+ export * from "./web/index.js";
4
+ export * from "./elements/index.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./core/index.js";
2
+ export * from "./server/index.js";
3
+ export * from "./web/index.js";
4
+ export * from "./elements/index.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { MdanRequest, MdanResponse } from "./types.js";
2
+ interface MdanRequestHandler {
3
+ handle(request: MdanRequest): Promise<MdanResponse>;
4
+ }
5
+ export interface CreateBunHostOptions {
6
+ rootRedirect?: string;
7
+ ignoreFavicon?: boolean;
8
+ staticFiles?: Record<string, string>;
9
+ staticMounts?: BunStaticMount[];
10
+ transformHtml?: (html: string) => string;
11
+ maxBodyBytes?: number;
12
+ }
13
+ export interface BunStaticMount {
14
+ urlPrefix: string;
15
+ directory: string;
16
+ }
17
+ export declare function createHost(handler: MdanRequestHandler, options?: CreateBunHostOptions): (request: Request) => Promise<Response>;
18
+ export {};
19
+ //# sourceMappingURL=bun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/server/bun.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,kBAAkB;IAC1B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsLD,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,oBAAyB,IAC1E,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAsDnD"}