@mdsnai/sdk 0.2.1 → 0.3.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 (255) hide show
  1. package/README.md +39 -75
  2. package/dist/core/errors.d.ts +14 -0
  3. package/dist/core/errors.d.ts.map +1 -0
  4. package/dist/core/errors.js +13 -0
  5. package/dist/core/errors.js.map +1 -0
  6. package/dist/core/index.d.ts +16 -4
  7. package/dist/core/index.d.ts.map +1 -0
  8. package/dist/core/index.js +69 -13
  9. package/dist/core/index.js.map +1 -0
  10. package/dist/core/markdown-body.d.ts +3 -0
  11. package/dist/core/markdown-body.d.ts.map +1 -0
  12. package/dist/core/markdown-body.js +65 -0
  13. package/dist/core/markdown-body.js.map +1 -0
  14. package/dist/core/markdown-renderer.d.ts +5 -0
  15. package/dist/core/markdown-renderer.d.ts.map +1 -0
  16. package/dist/core/markdown-renderer.js +75 -0
  17. package/dist/core/markdown-renderer.js.map +1 -0
  18. package/dist/core/negotiate.d.ts +3 -0
  19. package/dist/core/negotiate.d.ts.map +1 -0
  20. package/dist/core/negotiate.js +63 -0
  21. package/dist/core/negotiate.js.map +1 -0
  22. package/dist/core/parse/anchors.d.ts +2 -0
  23. package/dist/core/parse/anchors.d.ts.map +1 -0
  24. package/dist/core/parse/anchors.js +26 -0
  25. package/dist/core/parse/anchors.js.map +1 -0
  26. package/dist/core/parse/block-parser.d.ts +3 -0
  27. package/dist/core/parse/block-parser.d.ts.map +1 -0
  28. package/dist/core/parse/block-parser.js +116 -0
  29. package/dist/core/parse/block-parser.js.map +1 -0
  30. package/dist/core/parse/executable-block.d.ts +6 -0
  31. package/dist/core/parse/executable-block.d.ts.map +1 -0
  32. package/dist/core/parse/executable-block.js +48 -0
  33. package/dist/core/parse/executable-block.js.map +1 -0
  34. package/dist/core/parse/frontmatter.d.ts +7 -0
  35. package/dist/core/parse/frontmatter.d.ts.map +1 -0
  36. package/dist/core/parse/frontmatter.js +45 -0
  37. package/dist/core/parse/frontmatter.js.map +1 -0
  38. package/dist/core/serialize.d.ts +4 -0
  39. package/dist/core/serialize.d.ts.map +1 -0
  40. package/dist/core/serialize.js +123 -0
  41. package/dist/core/serialize.js.map +1 -0
  42. package/dist/core/types.d.ts +66 -0
  43. package/dist/core/types.d.ts.map +1 -0
  44. package/dist/core/types.js +2 -0
  45. package/dist/core/types.js.map +1 -0
  46. package/dist/core/validate.d.ts +3 -0
  47. package/dist/core/validate.d.ts.map +1 -0
  48. package/dist/core/validate.js +91 -0
  49. package/dist/core/validate.js.map +1 -0
  50. package/dist/elements/components/mdsn-action.d.ts +6 -0
  51. package/dist/elements/components/mdsn-action.d.ts.map +1 -0
  52. package/dist/elements/components/mdsn-action.js +34 -0
  53. package/dist/elements/components/mdsn-action.js.map +1 -0
  54. package/dist/elements/components/mdsn-block.d.ts +9 -0
  55. package/dist/elements/components/mdsn-block.d.ts.map +1 -0
  56. package/dist/elements/components/mdsn-block.js +36 -0
  57. package/dist/elements/components/mdsn-block.js.map +1 -0
  58. package/dist/elements/components/mdsn-error.d.ts +9 -0
  59. package/dist/elements/components/mdsn-error.d.ts.map +1 -0
  60. package/dist/elements/components/mdsn-error.js +36 -0
  61. package/dist/elements/components/mdsn-error.js.map +1 -0
  62. package/dist/elements/components/mdsn-field.d.ts +6 -0
  63. package/dist/elements/components/mdsn-field.d.ts.map +1 -0
  64. package/dist/elements/components/mdsn-field.js +35 -0
  65. package/dist/elements/components/mdsn-field.js.map +1 -0
  66. package/dist/elements/components/mdsn-form.d.ts +6 -0
  67. package/dist/elements/components/mdsn-form.d.ts.map +1 -0
  68. package/dist/elements/components/mdsn-form.js +22 -0
  69. package/dist/elements/components/mdsn-form.js.map +1 -0
  70. package/dist/elements/components/mdsn-page.d.ts +9 -0
  71. package/dist/elements/components/mdsn-page.d.ts.map +1 -0
  72. package/dist/elements/components/mdsn-page.js +46 -0
  73. package/dist/elements/components/mdsn-page.js.map +1 -0
  74. package/dist/elements/index.d.ts +3 -0
  75. package/dist/elements/index.d.ts.map +1 -0
  76. package/dist/elements/index.js +3 -0
  77. package/dist/elements/index.js.map +1 -0
  78. package/dist/elements/mount.d.ts +11 -0
  79. package/dist/elements/mount.d.ts.map +1 -0
  80. package/dist/elements/mount.js +245 -0
  81. package/dist/elements/mount.js.map +1 -0
  82. package/dist/elements/register.d.ts +2 -0
  83. package/dist/elements/register.d.ts.map +1 -0
  84. package/dist/elements/register.js +27 -0
  85. package/dist/elements/register.js.map +1 -0
  86. package/dist/elements/theme.d.ts +2 -0
  87. package/dist/elements/theme.d.ts.map +1 -0
  88. package/dist/elements/theme.js +13 -0
  89. package/dist/elements/theme.js.map +1 -0
  90. package/dist/index.d.ts +4 -8
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +5 -35
  93. package/dist/index.js.map +1 -0
  94. package/dist/server/hosted-app.d.ts +35 -0
  95. package/dist/server/hosted-app.d.ts.map +1 -0
  96. package/dist/server/hosted-app.js +105 -0
  97. package/dist/server/hosted-app.js.map +1 -0
  98. package/dist/server/html-render.d.ts +13 -0
  99. package/dist/server/html-render.d.ts.map +1 -0
  100. package/dist/server/html-render.js +316 -0
  101. package/dist/server/html-render.js.map +1 -0
  102. package/dist/server/index.d.ts +8 -15
  103. package/dist/server/index.d.ts.map +1 -0
  104. package/dist/server/index.js +6 -32
  105. package/dist/server/index.js.map +1 -0
  106. package/dist/server/node.d.ts +23 -0
  107. package/dist/server/node.d.ts.map +1 -0
  108. package/dist/server/node.js +200 -0
  109. package/dist/server/node.js.map +1 -0
  110. package/dist/server/result.d.ts +15 -0
  111. package/dist/server/result.d.ts.map +1 -0
  112. package/dist/server/result.js +64 -0
  113. package/dist/server/result.js.map +1 -0
  114. package/dist/server/router.d.ts +12 -0
  115. package/dist/server/router.d.ts.map +1 -0
  116. package/dist/server/router.js +24 -0
  117. package/dist/server/router.js.map +1 -0
  118. package/dist/server/runtime.d.ts +15 -0
  119. package/dist/server/runtime.d.ts.map +1 -0
  120. package/dist/server/runtime.js +245 -0
  121. package/dist/server/runtime.js.map +1 -0
  122. package/dist/server/session.d.ts +5 -40
  123. package/dist/server/session.d.ts.map +1 -0
  124. package/dist/server/session.js +11 -213
  125. package/dist/server/session.js.map +1 -0
  126. package/dist/server/types.d.ts +62 -0
  127. package/dist/server/types.d.ts.map +1 -0
  128. package/dist/server/types.js +2 -0
  129. package/dist/server/types.js.map +1 -0
  130. package/dist/web/headless.d.ts +22 -92
  131. package/dist/web/headless.d.ts.map +1 -0
  132. package/dist/web/headless.js +311 -337
  133. package/dist/web/headless.js.map +1 -0
  134. package/dist/web/index.d.ts +2 -11
  135. package/dist/web/index.d.ts.map +1 -0
  136. package/dist/web/index.js +2 -23
  137. package/dist/web/index.js.map +1 -0
  138. package/package.json +19 -43
  139. package/LICENSE +0 -21
  140. package/dist/cli/args.d.ts +0 -8
  141. package/dist/cli/args.js +0 -63
  142. package/dist/cli/commands/build.d.ts +0 -5
  143. package/dist/cli/commands/build.js +0 -19
  144. package/dist/cli/commands/create.d.ts +0 -2
  145. package/dist/cli/commands/create.js +0 -39
  146. package/dist/cli/commands/dev.d.ts +0 -10
  147. package/dist/cli/commands/dev.js +0 -13
  148. package/dist/cli/commands/start.d.ts +0 -9
  149. package/dist/cli/commands/start.js +0 -13
  150. package/dist/cli/entry.d.ts +0 -2
  151. package/dist/cli/entry.js +0 -8
  152. package/dist/cli/index.d.ts +0 -9
  153. package/dist/cli/index.js +0 -58
  154. package/dist/core/document/frontmatter.d.ts +0 -5
  155. package/dist/core/document/frontmatter.js +0 -41
  156. package/dist/core/document/markdown.d.ts +0 -5
  157. package/dist/core/document/markdown.js +0 -81
  158. package/dist/core/document/page-definition.d.ts +0 -2
  159. package/dist/core/document/page-definition.js +0 -23
  160. package/dist/core/model/block.d.ts +0 -26
  161. package/dist/core/model/block.js +0 -8
  162. package/dist/core/model/document.d.ts +0 -11
  163. package/dist/core/model/document.js +0 -2
  164. package/dist/core/model/fragment.d.ts +0 -4
  165. package/dist/core/model/fragment.js +0 -2
  166. package/dist/core/model/index.d.ts +0 -4
  167. package/dist/core/model/index.js +0 -2
  168. package/dist/core/model/input.d.ts +0 -10
  169. package/dist/core/model/input.js +0 -2
  170. package/dist/core/protocol/mdsn.d.ts +0 -4
  171. package/dist/core/protocol/mdsn.js +0 -66
  172. package/dist/core/protocol/statements.d.ts +0 -7
  173. package/dist/core/protocol/statements.js +0 -115
  174. package/dist/core/protocol/validation.d.ts +0 -3
  175. package/dist/core/protocol/validation.js +0 -70
  176. package/dist/core/utils/html.d.ts +0 -6
  177. package/dist/core/utils/html.js +0 -28
  178. package/dist/core/utils/index.d.ts +0 -2
  179. package/dist/core/utils/index.js +0 -12
  180. package/dist/core/utils/logger.d.ts +0 -12
  181. package/dist/core/utils/logger.js +0 -45
  182. package/dist/framework/create-framework-app.d.ts +0 -13
  183. package/dist/framework/create-framework-app.js +0 -12
  184. package/dist/framework/hosted-app.d.ts +0 -34
  185. package/dist/framework/hosted-app.js +0 -223
  186. package/dist/framework/index.d.ts +0 -6
  187. package/dist/framework/index.js +0 -9
  188. package/dist/framework/site-app.d.ts +0 -13
  189. package/dist/framework/site-app.js +0 -147
  190. package/dist/server/action-context.d.ts +0 -11
  191. package/dist/server/action-context.js +0 -26
  192. package/dist/server/action-host.d.ts +0 -2
  193. package/dist/server/action-host.js +0 -10
  194. package/dist/server/action-inputs.d.ts +0 -3
  195. package/dist/server/action-inputs.js +0 -178
  196. package/dist/server/action-runtime.d.ts +0 -8
  197. package/dist/server/action-runtime.js +0 -62
  198. package/dist/server/action.d.ts +0 -33
  199. package/dist/server/action.js +0 -101
  200. package/dist/server/build.d.ts +0 -10
  201. package/dist/server/build.js +0 -170
  202. package/dist/server/config.d.ts +0 -56
  203. package/dist/server/config.js +0 -42
  204. package/dist/server/dev.d.ts +0 -48
  205. package/dist/server/dev.js +0 -90
  206. package/dist/server/error-fragments.d.ts +0 -46
  207. package/dist/server/error-fragments.js +0 -77
  208. package/dist/server/init.d.ts +0 -1
  209. package/dist/server/init.js +0 -176
  210. package/dist/server/layout.d.ts +0 -17
  211. package/dist/server/layout.js +0 -40
  212. package/dist/server/markdown.d.ts +0 -49
  213. package/dist/server/markdown.js +0 -77
  214. package/dist/server/module-loader.d.ts +0 -4
  215. package/dist/server/module-loader.js +0 -71
  216. package/dist/server/negotiate.d.ts +0 -3
  217. package/dist/server/negotiate.js +0 -55
  218. package/dist/server/page-host.d.ts +0 -21
  219. package/dist/server/page-host.js +0 -66
  220. package/dist/server/page-links.d.ts +0 -10
  221. package/dist/server/page-links.js +0 -80
  222. package/dist/server/route-matcher.d.ts +0 -6
  223. package/dist/server/route-matcher.js +0 -73
  224. package/dist/server/routes.d.ts +0 -6
  225. package/dist/server/routes.js +0 -73
  226. package/dist/server/server.d.ts +0 -28
  227. package/dist/server/server.js +0 -161
  228. package/dist/server/site.d.ts +0 -11
  229. package/dist/server/site.js +0 -59
  230. package/dist/server/targets.d.ts +0 -7
  231. package/dist/server/targets.js +0 -21
  232. package/dist/web/block-runtime.d.ts +0 -2
  233. package/dist/web/block-runtime.js +0 -25
  234. package/dist/web/fragment-render.d.ts +0 -8
  235. package/dist/web/fragment-render.js +0 -58
  236. package/dist/web/i18n.d.ts +0 -29
  237. package/dist/web/i18n.js +0 -65
  238. package/dist/web/navigation.d.ts +0 -3
  239. package/dist/web/navigation.js +0 -32
  240. package/dist/web/page-bootstrap.d.ts +0 -6
  241. package/dist/web/page-bootstrap.js +0 -28
  242. package/dist/web/page-client-runtime.d.ts +0 -4
  243. package/dist/web/page-client-runtime.js +0 -7
  244. package/dist/web/page-client-script.d.ts +0 -1
  245. package/dist/web/page-client-script.js +0 -579
  246. package/dist/web/page-html.d.ts +0 -8
  247. package/dist/web/page-html.js +0 -42
  248. package/dist/web/page-render.d.ts +0 -20
  249. package/dist/web/page-render.js +0 -84
  250. package/dist/web/public-client-runtime.d.ts +0 -1
  251. package/dist/web/public-client-runtime.js +0 -5
  252. package/dist/web/public-render.d.ts +0 -12
  253. package/dist/web/public-render.js +0 -18
  254. package/dist/web/target-path.d.ts +0 -1
  255. package/dist/web/target-path.js +0 -35
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-block.d.ts","sourceRoot":"","sources":["../../../src/elements/components/mdsn-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,CAAM;IAEtB,MAAM,CAAC,MAAM,4BAaX;IAEF,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,gBAAgB;IAUxB,MAAM;CAGP"}
@@ -0,0 +1,36 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { baseTheme } from "../theme.js";
3
+ export class MdsnBlockElement extends LitElement {
4
+ slotText = "";
5
+ static styles = [
6
+ baseTheme,
7
+ css `
8
+ :host {
9
+ display: block;
10
+ margin: 20px 0;
11
+ padding: 20px;
12
+ border: 1px solid rgba(148, 163, 184, 0.24);
13
+ border-radius: 22px;
14
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
15
+ box-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
16
+ }
17
+ `
18
+ ];
19
+ connectedCallback() {
20
+ super.connectedCallback();
21
+ this.slotText = this.textContent?.trim() ?? "";
22
+ }
23
+ handleSlotChange(event) {
24
+ const slot = event.target;
25
+ this.slotText = slot
26
+ .assignedNodes({ flatten: true })
27
+ .map((node) => node.textContent ?? "")
28
+ .join(" ")
29
+ .trim();
30
+ this.requestUpdate();
31
+ }
32
+ render() {
33
+ return html `<slot @slotchange=${this.handleSlotChange}></slot><span hidden>${this.slotText}</span>`;
34
+ }
35
+ }
36
+ //# sourceMappingURL=mdsn-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-block.js","sourceRoot":"","sources":["../../../src/elements/components/mdsn-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IACtC,QAAQ,GAAG,EAAE,CAAC;IAEtB,MAAM,CAAC,MAAM,GAAG;QACd,SAAS;QACT,GAAG,CAAA;;;;;;;;;;KAUF;KACF,CAAC;IAEF,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,KAAY;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI;aACjB,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,qBAAqB,IAAI,CAAC,gBAAgB,wBAAwB,IAAI,CAAC,QAAQ,SAAS,CAAC;IACtG,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { LitElement } from "lit";
2
+ export declare class MdsnErrorElement extends LitElement {
3
+ private slotText;
4
+ static styles: import("lit").CSSResult[];
5
+ connectedCallback(): void;
6
+ private handleSlotChange;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ //# sourceMappingURL=mdsn-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-error.d.ts","sourceRoot":"","sources":["../../../src/elements/components/mdsn-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,CAAM;IAEtB,MAAM,CAAC,MAAM,4BAaX;IAEF,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,gBAAgB;IAUxB,MAAM;CAGP"}
@@ -0,0 +1,36 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { baseTheme } from "../theme.js";
3
+ export class MdsnErrorElement extends LitElement {
4
+ slotText = "";
5
+ static styles = [
6
+ baseTheme,
7
+ css `
8
+ :host {
9
+ display: block;
10
+ margin: 14px 0;
11
+ padding: 14px 16px;
12
+ border-radius: 16px;
13
+ background: linear-gradient(180deg, #fff1f2 0%, #ffe4e6 100%);
14
+ color: #9f1239;
15
+ border: 1px solid #fda4af;
16
+ }
17
+ `
18
+ ];
19
+ connectedCallback() {
20
+ super.connectedCallback();
21
+ this.slotText = this.textContent?.trim() ?? "";
22
+ }
23
+ handleSlotChange(event) {
24
+ const slot = event.target;
25
+ this.slotText = slot
26
+ .assignedNodes({ flatten: true })
27
+ .map((node) => node.textContent ?? "")
28
+ .join(" ")
29
+ .trim();
30
+ this.requestUpdate();
31
+ }
32
+ render() {
33
+ return html `<slot @slotchange=${this.handleSlotChange}></slot><span hidden>${this.slotText}</span>`;
34
+ }
35
+ }
36
+ //# sourceMappingURL=mdsn-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-error.js","sourceRoot":"","sources":["../../../src/elements/components/mdsn-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IACtC,QAAQ,GAAG,EAAE,CAAC;IAEtB,MAAM,CAAC,MAAM,GAAG;QACd,SAAS;QACT,GAAG,CAAA;;;;;;;;;;KAUF;KACF,CAAC;IAEF,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,KAAY;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI;aACjB,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,qBAAqB,IAAI,CAAC,gBAAgB,wBAAwB,IAAI,CAAC,QAAQ,SAAS,CAAC;IACtG,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { LitElement } from "lit";
2
+ export declare class MdsnFieldElement extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ render(): import("lit-html").TemplateResult<1>;
5
+ }
6
+ //# sourceMappingURL=mdsn-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-field.d.ts","sourceRoot":"","sources":["../../../src/elements/components/mdsn-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,4BA0BX;IAEF,MAAM;CAGP"}
@@ -0,0 +1,35 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { baseTheme } from "../theme.js";
3
+ export class MdsnFieldElement extends LitElement {
4
+ static styles = [
5
+ baseTheme,
6
+ css `
7
+ :host {
8
+ display: block;
9
+ }
10
+
11
+ ::slotted(label) {
12
+ display: grid;
13
+ gap: 8px;
14
+ font-size: 0.82rem;
15
+ letter-spacing: 0.08em;
16
+ text-transform: uppercase;
17
+ color: #475569;
18
+ font-weight: 700;
19
+ }
20
+
21
+ ::slotted(label input) {
22
+ border: 1px solid rgba(148, 163, 184, 0.32);
23
+ border-radius: 14px;
24
+ padding: 12px 14px;
25
+ font: inherit;
26
+ background: rgba(255, 255, 255, 0.92);
27
+ color: #0f172a;
28
+ }
29
+ `
30
+ ];
31
+ render() {
32
+ return html `<slot></slot>`;
33
+ }
34
+ }
35
+ //# sourceMappingURL=mdsn-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-field.js","sourceRoot":"","sources":["../../../src/elements/components/mdsn-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,GAAG;QACd,SAAS;QACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;KAuBF;KACF,CAAC;IAEF,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { LitElement } from "lit";
2
+ export declare class MdsnFormElement extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ render(): import("lit-html").TemplateResult<1>;
5
+ }
6
+ //# sourceMappingURL=mdsn-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-form.d.ts","sourceRoot":"","sources":["../../../src/elements/components/mdsn-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAaX;IAEF,MAAM;CAGP"}
@@ -0,0 +1,22 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { baseTheme } from "../theme.js";
3
+ export class MdsnFormElement extends LitElement {
4
+ static styles = [
5
+ baseTheme,
6
+ css `
7
+ :host {
8
+ display: block;
9
+ }
10
+
11
+ ::slotted(form) {
12
+ display: grid;
13
+ gap: 14px;
14
+ margin: 0;
15
+ }
16
+ `
17
+ ];
18
+ render() {
19
+ return html `<slot></slot>`;
20
+ }
21
+ }
22
+ //# sourceMappingURL=mdsn-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-form.js","sourceRoot":"","sources":["../../../src/elements/components/mdsn-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,GAAG;QACd,SAAS;QACT,GAAG,CAAA;;;;;;;;;;KAUF;KACF,CAAC;IAEF,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { LitElement } from "lit";
2
+ export declare class MdsnPageElement extends LitElement {
3
+ private slotText;
4
+ static styles: import("lit").CSSResult[];
5
+ connectedCallback(): void;
6
+ private handleSlotChange;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ //# sourceMappingURL=mdsn-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-page.d.ts","sourceRoot":"","sources":["../../../src/elements/components/mdsn-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,QAAQ,CAAM;IAEtB,MAAM,CAAC,MAAM,4BAuBX;IAEF,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,gBAAgB;IAUxB,MAAM;CAGP"}
@@ -0,0 +1,46 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { baseTheme } from "../theme.js";
3
+ export class MdsnPageElement extends LitElement {
4
+ slotText = "";
5
+ static styles = [
6
+ baseTheme,
7
+ css `
8
+ :host {
9
+ display: block;
10
+ min-height: 100vh;
11
+ padding: 32px 18px;
12
+ background:
13
+ radial-gradient(circle at top, rgba(20, 184, 166, 0.18), transparent 28%),
14
+ linear-gradient(180deg, #f7fbfb 0%, #eef4f7 100%);
15
+ }
16
+
17
+ .shell {
18
+ max-width: 820px;
19
+ margin: 0 auto;
20
+ border: 1px solid rgba(148, 163, 184, 0.22);
21
+ border-radius: 28px;
22
+ background: rgba(255, 255, 255, 0.82);
23
+ backdrop-filter: blur(18px);
24
+ box-shadow: 0 28px 80px rgba(15, 23, 42, 0.08);
25
+ padding: 28px;
26
+ }
27
+ `
28
+ ];
29
+ connectedCallback() {
30
+ super.connectedCallback();
31
+ this.slotText = this.textContent?.trim() ?? "";
32
+ }
33
+ handleSlotChange(event) {
34
+ const slot = event.target;
35
+ this.slotText = slot
36
+ .assignedNodes({ flatten: true })
37
+ .map((node) => node.textContent ?? "")
38
+ .join(" ")
39
+ .trim();
40
+ this.requestUpdate();
41
+ }
42
+ render() {
43
+ return html `<div class="shell"><slot @slotchange=${this.handleSlotChange}></slot><span hidden>${this.slotText}</span></div>`;
44
+ }
45
+ }
46
+ //# sourceMappingURL=mdsn-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdsn-page.js","sourceRoot":"","sources":["../../../src/elements/components/mdsn-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IACrC,QAAQ,GAAG,EAAE,CAAC;IAEtB,MAAM,CAAC,MAAM,GAAG;QACd,SAAS;QACT,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;KAoBF;KACF,CAAC;IAEF,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAEO,gBAAgB,CAAC,KAAY;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI;aACjB,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,wCAAwC,IAAI,CAAC,gBAAgB,wBAAwB,IAAI,CAAC,QAAQ,eAAe,CAAC;IAC/H,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./register.js";
2
+ export * from "./mount.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./register.js";
2
+ export * from "./mount.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type MdsnMarkdownRenderer } from "../core/index.js";
2
+ import { type MdsnHeadlessHost } from "../web/index.js";
3
+ export interface MountMdsnElementsOptions {
4
+ root: ParentNode;
5
+ host: MdsnHeadlessHost;
6
+ markdownRenderer?: MdsnMarkdownRenderer;
7
+ }
8
+ export interface MdsnElementsRuntime extends MdsnHeadlessHost {
9
+ }
10
+ export declare function mountMdsnElements(options: MountMdsnElementsOptions): MdsnElementsRuntime;
11
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/elements/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,iBAAiB,CAAC;AAM/E,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAG;AAiDhE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,mBAAmB,CAgOxF"}
@@ -0,0 +1,245 @@
1
+ import { basicMarkdownRenderer } from "../core/index.js";
2
+ import { html, render } from "lit";
3
+ import { unsafeHTML } from "lit/directives/unsafe-html.js";
4
+ import { registerMdsnElements } 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-mdsn-elements-root]");
18
+ if (existing instanceof HTMLElement) {
19
+ return existing;
20
+ }
21
+ const host = root.createElement("div");
22
+ host.setAttribute("data-mdsn-elements-root", "");
23
+ root.body.append(host);
24
+ return host;
25
+ }
26
+ return root;
27
+ }
28
+ function ensureGlobalStyle(document) {
29
+ if (document.getElementById("mdsn-elements-headless-style")) {
30
+ return;
31
+ }
32
+ const style = document.createElement("style");
33
+ style.id = "mdsn-elements-headless-style";
34
+ style.textContent = `
35
+ mdsn-page {
36
+ display: none !important;
37
+ }
38
+ [data-mdsn-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 mountMdsnElements(options) {
48
+ registerMdsnElements();
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
+ function getFormKey(blockName, operation) {
57
+ return `${blockName}:${operation.method}:${operation.target}:${operation.name ?? ""}`;
58
+ }
59
+ function getFormValues(formKey) {
60
+ valuesByForm[formKey] ??= {};
61
+ return valuesByForm[formKey];
62
+ }
63
+ function onInput(formKey, name, value) {
64
+ getFormValues(formKey)[name] = value;
65
+ }
66
+ function renderSnapshot(snapshot) {
67
+ render(html `
68
+ <mdsn-page>
69
+ ${snapshot.markdown ? renderMarkdown(snapshot.markdown, markdownRenderer) : ""}
70
+ ${snapshot.blocks.map((block) => {
71
+ const getOperations = [];
72
+ const postOperations = [];
73
+ for (const operation of block.operations) {
74
+ if (operation.method === "GET") {
75
+ getOperations.push(operation);
76
+ }
77
+ else {
78
+ postOperations.push(operation);
79
+ }
80
+ }
81
+ const inputsByName = new Map(block.inputs.map((input) => [input.name, input]));
82
+ return html `
83
+ <mdsn-block data-mdsn-block=${block.name}>
84
+ ${block.markdown ? renderMarkdown(block.markdown, markdownRenderer) : ""}
85
+
86
+ ${getOperations.length
87
+ ? html `
88
+ <div class="mdsn-elements-actions">
89
+ ${getOperations.map((operation) => html `
90
+ <mdsn-action>
91
+ <button
92
+ type="button"
93
+ @click=${() => {
94
+ void host.submit(operation, {});
95
+ }}
96
+ >
97
+ ${operation.label ?? operation.name ?? operation.target}
98
+ </button>
99
+ </mdsn-action>
100
+ `)}
101
+ </div>
102
+ `
103
+ : ""}
104
+
105
+ ${postOperations.map((operation) => {
106
+ const formKey = getFormKey(block.name, operation);
107
+ const formValues = getFormValues(formKey);
108
+ const renderableInputs = operation.inputs
109
+ .map((name) => inputsByName.get(name))
110
+ .filter((input) => Boolean(input));
111
+ return html `
112
+ <mdsn-form>
113
+ <form
114
+ @submit=${(event) => {
115
+ event.preventDefault();
116
+ const form = event.currentTarget;
117
+ if (typeof form.reportValidity === "function" && !form.reportValidity()) {
118
+ return;
119
+ }
120
+ const payload = {};
121
+ for (const name of operation.inputs) {
122
+ payload[name] = formValues[name] ?? "";
123
+ }
124
+ void host.submit(operation, payload);
125
+ valuesByForm[formKey] = {};
126
+ }}
127
+ >
128
+ ${renderableInputs.map((input) => {
129
+ const label = html `<span class="mdsn-label-text">
130
+ ${humanizeLabel(input.name)}
131
+ ${input.required ? html `<span class="mdsn-required" aria-hidden="true">*</span>` : ""}
132
+ </span>`;
133
+ if (input.type === "choice") {
134
+ return html `
135
+ <mdsn-field>
136
+ <label>
137
+ ${label}
138
+ <select
139
+ name=${input.name}
140
+ ?required=${input.required}
141
+ .value=${formValues[input.name] ?? ""}
142
+ @change=${(event) => {
143
+ onInput(formKey, input.name, event.currentTarget.value);
144
+ }}
145
+ >
146
+ ${(input.options ?? []).map((option) => html `<option value=${option}>${option}</option>`)}
147
+ </select>
148
+ </label>
149
+ </mdsn-field>
150
+ `;
151
+ }
152
+ if (input.type === "boolean") {
153
+ return html `
154
+ <mdsn-field>
155
+ <label>
156
+ ${label}
157
+ <input
158
+ name=${input.name}
159
+ type="checkbox"
160
+ ?required=${input.required}
161
+ .checked=${formValues[input.name] === "true"}
162
+ @change=${(event) => {
163
+ onInput(formKey, input.name, event.currentTarget.checked ? "true" : "false");
164
+ }}
165
+ >
166
+ </label>
167
+ </mdsn-field>
168
+ `;
169
+ }
170
+ if (input.type === "asset") {
171
+ return html `
172
+ <mdsn-field>
173
+ <label>
174
+ ${label}
175
+ <input
176
+ name=${input.name}
177
+ type="file"
178
+ ?required=${input.required}
179
+ @change=${(event) => {
180
+ onInput(formKey, input.name, event.currentTarget.files?.[0]?.name ?? "");
181
+ }}
182
+ >
183
+ </label>
184
+ </mdsn-field>
185
+ `;
186
+ }
187
+ return html `
188
+ <mdsn-field>
189
+ <label>
190
+ ${label}
191
+ <input
192
+ name=${input.name}
193
+ type=${input.secret ? "password" : input.type === "number" ? "number" : "text"}
194
+ ?required=${input.required}
195
+ .value=${formValues[input.name] ?? ""}
196
+ placeholder=${input.name === "message" ? "Write something worth keeping" : ""}
197
+ @input=${(event) => {
198
+ onInput(formKey, input.name, event.currentTarget.value);
199
+ }}
200
+ >
201
+ </label>
202
+ </mdsn-field>
203
+ `;
204
+ })}
205
+ <mdsn-action>
206
+ <button type="submit">${operation.label ?? operation.name ?? operation.target}</button>
207
+ </mdsn-action>
208
+ </form>
209
+ </mdsn-form>
210
+ `;
211
+ })}
212
+ </mdsn-block>
213
+ `;
214
+ })}
215
+ </mdsn-page>
216
+ `, container);
217
+ }
218
+ return {
219
+ mount() {
220
+ unsubscribe = host.subscribe((snapshot) => {
221
+ renderSnapshot(snapshot);
222
+ });
223
+ host.mount();
224
+ },
225
+ unmount() {
226
+ unsubscribe?.();
227
+ unsubscribe = null;
228
+ host.unmount();
229
+ render(html ``, container);
230
+ },
231
+ subscribe(listener) {
232
+ return host.subscribe(listener);
233
+ },
234
+ getSnapshot() {
235
+ return host.getSnapshot();
236
+ },
237
+ submit(operation, valuesMap) {
238
+ return host.submit(operation, valuesMap);
239
+ },
240
+ visit(target) {
241
+ return host.visit(target);
242
+ }
243
+ };
244
+ }
245
+ //# 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 registerMdsnElements(): 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 { MdsnActionElement } from "./components/mdsn-action.js";
2
+ import { MdsnBlockElement } from "./components/mdsn-block.js";
3
+ import { MdsnErrorElement } from "./components/mdsn-error.js";
4
+ import { MdsnFieldElement } from "./components/mdsn-field.js";
5
+ import { MdsnFormElement } from "./components/mdsn-form.js";
6
+ import { MdsnPageElement } from "./components/mdsn-page.js";
7
+ export function registerMdsnElements() {
8
+ if (!customElements.get("mdsn-page")) {
9
+ customElements.define("mdsn-page", MdsnPageElement);
10
+ }
11
+ if (!customElements.get("mdsn-block")) {
12
+ customElements.define("mdsn-block", MdsnBlockElement);
13
+ }
14
+ if (!customElements.get("mdsn-form")) {
15
+ customElements.define("mdsn-form", MdsnFormElement);
16
+ }
17
+ if (!customElements.get("mdsn-field")) {
18
+ customElements.define("mdsn-field", MdsnFieldElement);
19
+ }
20
+ if (!customElements.get("mdsn-action")) {
21
+ customElements.define("mdsn-action", MdsnActionElement);
22
+ }
23
+ if (!customElements.get("mdsn-error")) {
24
+ customElements.define("mdsn-error", MdsnErrorElement);
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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,4 @@
1
- export { parsePageDefinition } from "./core";
2
- export type { BlockAnchorDefinition, BlockDefinition, DocumentDefinition, FrontmatterData, InputDefinition, InputType, ReadDefinition, WriteDefinition, } from "./core";
3
- export { createRenderModel, getClientRuntimeScript, parseFragment, parseMarkdown, parsePage, renderDefaultHtmlDocument, renderPageHtml, } from "./web";
4
- export type { CreateRenderModelOptions, ParsedFragment, ParsedPage, RenderModel, } from "./web";
5
- export { createHostedApp, createFrameworkApp, defineConfig, } from "./framework";
6
- export type { CreateHostedAppOptions, CreateFrameworkAppOptions, MdsnConfig, } from "./framework";
7
- export { HttpCookieJar, createActionContextFromRequest, defineAction, defineActions, parseActionInputs, parseCookieHeader, renderActionNotAvailableFragment, renderAuthRequiredFragment, renderErrorFragment, renderHostedPage, renderInternalErrorFragment, renderMarkdownFragment, renderMarkdownValue, renderUnsupportedContentTypeFragment, requireSessionFromCookie, serializeActionInputsAsMarkdown, serializeBlock, } from "./server";
8
- export type { ActionContext, ActionDefinition, ActionDefinitionMap, CreateActionContextFromRequestOptions, HostedPageResponse, SerializableBlock, SerializableInput, SerializableRead, SerializableWrite, } from "./server";
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"}