@sealcode/jdd-editor 0.2.15 → 0.2.17
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.
- package/.nyc_output/d5d65fea-85bd-4682-8753-cd95b2fb397a.json +1 -0
- package/.nyc_output/processinfo/75f3e742-9c3d-4937-adad-ed712149983a.json +1 -0
- package/.nyc_output/processinfo/a331cb1e-8707-469e-95be-5bc65de3f692.json +1 -0
- package/.nyc_output/processinfo/d5d65fea-85bd-4682-8753-cd95b2fb397a.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/.xunit +1 -1
- package/@types/controllers/code-snippet.stimulus.d.ts +6 -0
- package/@types/controllers/json-editor.stimulus.d.ts +0 -1
- package/@types/inputs/component-input-code-with-custom-language.d.ts +7 -0
- package/@types/inputs/component-input-code.d.ts +3 -1
- package/@types/inputs/component-input-list.d.ts +3 -2
- package/@types/inputs/component-input-markdown.d.ts +6 -0
- package/@types/inputs/component-input-structured.d.ts +3 -2
- package/@types/inputs/component-input-table.d.ts +3 -2
- package/@types/inputs/component-input.d.ts +3 -2
- package/assets/styles/components.jdd-page.css +4 -2
- package/assets/styles/markdown-editor.css +9 -39
- package/coverage/clover.xml +141 -202
- package/dist/src/controllers/code-snippet.stimulus.js +12 -0
- package/dist/src/controllers/code-snippet.stimulus.js.map +7 -0
- package/dist/src/controllers/exportable-textarea.stimulus.js +0 -1
- package/dist/src/controllers/exportable-textarea.stimulus.js.map +2 -2
- package/dist/src/controllers/json-editor.stimulus.js +0 -3
- package/dist/src/controllers/json-editor.stimulus.js.map +2 -2
- package/dist/src/inputs/component-input-code-with-custom-language.js +41 -0
- package/dist/src/inputs/component-input-code-with-custom-language.js.map +7 -0
- package/dist/src/inputs/component-input-code.js +22 -11
- package/dist/src/inputs/component-input-code.js.map +2 -2
- package/dist/src/inputs/component-input-list.js +3 -1
- package/dist/src/inputs/component-input-list.js.map +2 -2
- package/dist/src/inputs/component-input-markdown.js +49 -0
- package/dist/src/inputs/component-input-markdown.js.map +7 -0
- package/dist/src/inputs/component-input-structured.js +2 -0
- package/dist/src/inputs/component-input-structured.js.map +2 -2
- package/dist/src/inputs/component-input-table.js +6 -3
- package/dist/src/inputs/component-input-table.js.map +2 -2
- package/dist/src/inputs/component-input.js +28 -21
- package/dist/src/inputs/component-input.js.map +2 -2
- package/dist/src/jdd-page.js +2 -1
- package/dist/src/jdd-page.js.map +2 -2
- package/package.json +2 -2
- package/src/controllers/code-snippet.stimulus.ts +12 -0
- package/src/controllers/exportable-textarea.stimulus.ts +0 -1
- package/src/controllers/json-editor.stimulus.ts +0 -4
- package/src/inputs/component-input-code-with-custom-language.ts +44 -0
- package/src/inputs/component-input-code.ts +23 -10
- package/src/inputs/component-input-list.ts +9 -1
- package/src/inputs/component-input-markdown.ts +58 -0
- package/src/inputs/component-input-structured.ts +4 -0
- package/src/inputs/component-input-table.ts +5 -1
- package/src/inputs/component-input.ts +38 -18
- package/src/jdd-page.ts +1 -0
- package/.nyc_output/b318e449-cc0d-49b3-8647-15d9173f5905.json +0 -1
- package/.nyc_output/processinfo/65a49023-1c6a-4217-ab3e-89a09cde8bfc.json +0 -1
- package/.nyc_output/processinfo/b318e449-cc0d-49b3-8647-15d9173f5905.json +0 -1
- package/.nyc_output/processinfo/be222db4-3db9-4c08-a4b5-58673c1c7c29.json +0 -1
- package/@types/controllers/markdown-textarea.stimulus.d.ts +0 -20
- package/dist/src/controllers/markdown-textarea.stimulus.js +0 -174
- package/dist/src/controllers/markdown-textarea.stimulus.js.map +0 -7
- package/src/controllers/markdown-textarea.stimulus.ts +0 -198
- /package/.nyc_output/{65a49023-1c6a-4217-ab3e-89a09cde8bfc.json → 75f3e742-9c3d-4937-adad-ed712149983a.json} +0 -0
- /package/.nyc_output/{be222db4-3db9-4c08-a4b5-58673c1c7c29.json → a331cb1e-8707-469e-95be-5bc65de3f692.json} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/controllers/json-editor.stimulus.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { Controller } from \"stimulus\";\n\nconst JS_ID = \"codemirror-js\";\nconst JS_PATH = \"/dist/codemirror.js\";\n\nconst JS_MODE_ID = \"codemirror-js-mode-js\";\nconst JS_MODE_PATH = \"/dist/codemirror-javascript-mode.js\";\n\nconst CSS_ID = \"codemirror-css\";\nconst CSS_PATH = \"/dist/codemirror.css\";\n\ndeclare const CodeMirror: any;\n\nexport default class JSONEditor extends Controller<HTMLTextAreaElement> {\n\tcm: any;\n\tsaving = false;\n\n\tgetSessionStorageKey() {\n\t\tconst page_url = document.location.pathname;\n\t\treturn `jdd-editor-autosave__${page_url}`;\n\t}\n\n\taddCSS() {\n\t\tconst tag = document.querySelector(`head #${CSS_ID}`);\n\t\tif (!tag) {\n\t\t\tconst link = document.createElement(\"link\");\n\t\t\tlink.setAttribute(\"rel\", \"stylesheet\");\n\t\t\tlink.setAttribute(\"type\", \"text/css\");\n\t\t\tlink.setAttribute(\"id\", CSS_ID);\n\t\t\tlink.setAttribute(\"href\", CSS_PATH);\n\t\t\tdocument.head.appendChild(link);\n\t\t}\n\t}\n\n\tresetValue() {\n\t\tsessionStorage.setItem(\n\t\t\tthis.getSessionStorageKey(),\n\t\t\tthis.element.innerHTML\n\t\t);\n\t\tif (!this.saving) {\n\t\t\tif (this.cm.getValue() != this.element.innerHTML) {\n\t\t\t\tthis.cm.setValue(this.element.innerHTML);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync addJS(js_id: string, js_path: string) {\n\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\tconst once_loaded = (e: MouseEvent) => {\n\t\t\t\t(e.target as HTMLScriptElement).setAttribute(\"loaded\", \"true\");\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst tag = document.querySelector(`head #${js_id}`);\n\t\t\t\tif (!tag) {\n\t\t\t\t\tconst script = document.createElement(\"script\");\n\t\t\t\t\tscript.setAttribute(\"id\", js_id);\n\t\t\t\t\tscript.setAttribute(\"src\", js_path);\n\t\t\t\t\tscript.addEventListener(\"load\", once_loaded);\n\t\t\t\t\tdocument.head.appendChild(script);\n\t\t\t\t} else {\n\t\t\t\t\tif (tag.getAttribute(\"loaded\") == \"true\") {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttag.addEventListener(\"load\", once_loaded);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treject(e);\n\t\t\t}\n\t\t});\n\t}\n\n\tasync connect() {\n\t\tconst autosave = sessionStorage.getItem(this.getSessionStorageKey());\n\t\tif (autosave) {\n\t\t\tthis.element.innerHTML = autosave;\n\t\t\tconst action = this.element.form?.getAttribute(\"action\");\n\t\t\tif (!action) return;\n\n\t\t\tthis.element.form?.setAttribute(\n\t\t\t\t\"action\",\n\t\t\t\t\"./?action=replace_state&action_args=W10%3D\"\n\t\t\t);\n\t\t\tthis.element.form?.requestSubmit();\n\t\t\tthis.element.form?.setAttribute(\"action\", action);\n\t\t}\n\n\t\tif (this.element.parentNode?.querySelector(\".CodeMirror\")) {\n\t\t\t//already loaded, quit;\n\t\t\treturn;\n\t\t}\n\t\tthis.addCSS();\n\t\tawait this.addJS(JS_ID, JS_PATH);\n\t\tawait this.addJS(JS_MODE_ID, JS_MODE_PATH);\n\t\tthis.cm = CodeMirror.fromTextArea(this.element, {\n\t\t\tmode: {\n\t\t\t\tname: \"javascript\",\n\t\t\t\tjson: true,\n\t\t\t},\n\t\t\ttheme: \"default\",\n\t\t\taddModeClass: true,\n\t\t\tlineWrapping: true,\n\t\t});\n\t\tthis.cm.on(\"change\", () => {\n\t\t\tthis.saving = true;\n\t\t\tthis.element.innerHTML = this.cm.getValue().replace(\"<\", \"<\");\n\t\t\tthis.saving = false;\n\t\t});\n\t\t// to prevent morhping from removing the element\n\t\tthis.cm.getWrapperElement().setAttribute(\"data-turbo-permanent\", \"\");\n\t\tconst observer = new MutationObserver((mutation) => {\n\t\t\tthis.resetValue();\n\t\t});\n\t\tobserver.observe(this.element, {\n\t\t\tcharacterData: true,\n\t\t\tsubtree: true,\n\t\t});\n\n\t\tthis.element.addEventListener(\"change\", () => {\n\t\t\tthis.resetValue();\n\t\t});\n\t\tthis.element\n\t\t\t.closest(\"details\")\n\t\t\t?.addEventListener(\"toggle\", (event: MouseEvent) => {\n\t\t\t\tif ((event.target as HTMLDetailsElement).open) {\n\t\t\t\t\tthis.cm.refresh();\n\t\t\t\t}\n\t\t\t});\n\t}\n
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { Controller } from \"stimulus\";\n\nconst JS_ID = \"codemirror-js\";\nconst JS_PATH = \"/dist/codemirror.js\";\n\nconst JS_MODE_ID = \"codemirror-js-mode-js\";\nconst JS_MODE_PATH = \"/dist/codemirror-javascript-mode.js\";\n\nconst CSS_ID = \"codemirror-css\";\nconst CSS_PATH = \"/dist/codemirror.css\";\n\ndeclare const CodeMirror: any;\n\nexport default class JSONEditor extends Controller<HTMLTextAreaElement> {\n\tcm: any;\n\tsaving = false;\n\n\tgetSessionStorageKey() {\n\t\tconst page_url = document.location.pathname;\n\t\treturn `jdd-editor-autosave__${page_url}`;\n\t}\n\n\taddCSS() {\n\t\tconst tag = document.querySelector(`head #${CSS_ID}`);\n\t\tif (!tag) {\n\t\t\tconst link = document.createElement(\"link\");\n\t\t\tlink.setAttribute(\"rel\", \"stylesheet\");\n\t\t\tlink.setAttribute(\"type\", \"text/css\");\n\t\t\tlink.setAttribute(\"id\", CSS_ID);\n\t\t\tlink.setAttribute(\"href\", CSS_PATH);\n\t\t\tdocument.head.appendChild(link);\n\t\t}\n\t}\n\n\tresetValue() {\n\t\tsessionStorage.setItem(\n\t\t\tthis.getSessionStorageKey(),\n\t\t\tthis.element.innerHTML\n\t\t);\n\t\tif (!this.saving) {\n\t\t\tif (this.cm.getValue() != this.element.innerHTML) {\n\t\t\t\tthis.cm.setValue(this.element.innerHTML);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync addJS(js_id: string, js_path: string) {\n\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\tconst once_loaded = (e: MouseEvent) => {\n\t\t\t\t(e.target as HTMLScriptElement).setAttribute(\"loaded\", \"true\");\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst tag = document.querySelector(`head #${js_id}`);\n\t\t\t\tif (!tag) {\n\t\t\t\t\tconst script = document.createElement(\"script\");\n\t\t\t\t\tscript.setAttribute(\"id\", js_id);\n\t\t\t\t\tscript.setAttribute(\"src\", js_path);\n\t\t\t\t\tscript.addEventListener(\"load\", once_loaded);\n\t\t\t\t\tdocument.head.appendChild(script);\n\t\t\t\t} else {\n\t\t\t\t\tif (tag.getAttribute(\"loaded\") == \"true\") {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttag.addEventListener(\"load\", once_loaded);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treject(e);\n\t\t\t}\n\t\t});\n\t}\n\n\tasync connect() {\n\t\tconst autosave = sessionStorage.getItem(this.getSessionStorageKey());\n\t\tif (autosave) {\n\t\t\tthis.element.innerHTML = autosave;\n\t\t\tconst action = this.element.form?.getAttribute(\"action\");\n\t\t\tif (!action) return;\n\n\t\t\tthis.element.form?.setAttribute(\n\t\t\t\t\"action\",\n\t\t\t\t\"./?action=replace_state&action_args=W10%3D\"\n\t\t\t);\n\t\t\tthis.element.form?.requestSubmit();\n\t\t\tthis.element.form?.setAttribute(\"action\", action);\n\t\t}\n\n\t\tif (this.element.parentNode?.querySelector(\".CodeMirror\")) {\n\t\t\t//already loaded, quit;\n\t\t\treturn;\n\t\t}\n\t\tthis.addCSS();\n\t\tawait this.addJS(JS_ID, JS_PATH);\n\t\tawait this.addJS(JS_MODE_ID, JS_MODE_PATH);\n\t\tthis.cm = CodeMirror.fromTextArea(this.element, {\n\t\t\tmode: {\n\t\t\t\tname: \"javascript\",\n\t\t\t\tjson: true,\n\t\t\t},\n\t\t\ttheme: \"default\",\n\t\t\taddModeClass: true,\n\t\t\tlineWrapping: true,\n\t\t});\n\t\tthis.cm.on(\"change\", () => {\n\t\t\tthis.saving = true;\n\t\t\tthis.element.innerHTML = this.cm.getValue().replace(\"<\", \"<\");\n\t\t\tthis.saving = false;\n\t\t});\n\t\t// to prevent morhping from removing the element\n\t\tthis.cm.getWrapperElement().setAttribute(\"data-turbo-permanent\", \"\");\n\t\tconst observer = new MutationObserver((mutation) => {\n\t\t\tthis.resetValue();\n\t\t});\n\t\tobserver.observe(this.element, {\n\t\t\tcharacterData: true,\n\t\t\tsubtree: true,\n\t\t});\n\n\t\tthis.element.addEventListener(\"change\", () => {\n\t\t\tthis.resetValue();\n\t\t});\n\t\tthis.element\n\t\t\t.closest(\"details\")\n\t\t\t?.addEventListener(\"toggle\", (event: MouseEvent) => {\n\t\t\t\tif ((event.target as HTMLDetailsElement).open) {\n\t\t\t\t\tthis.cm.refresh();\n\t\t\t\t}\n\t\t\t});\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { tempstream } from "tempstream";
|
|
2
|
+
import { printArgPath } from "./print-arg-path.js";
|
|
3
|
+
import { is, predicates } from "@sealcode/ts-predicates";
|
|
4
|
+
function ComponentInputCodeWithCustomLanguage({
|
|
5
|
+
language,
|
|
6
|
+
code,
|
|
7
|
+
arg_path,
|
|
8
|
+
component
|
|
9
|
+
}) {
|
|
10
|
+
return tempstream`<div
|
|
11
|
+
id="monaco__${arg_path.join("_")}__for__${component.name}"
|
|
12
|
+
>
|
|
13
|
+
<div data-controller="monaco" data-turbo-permanent="true">
|
|
14
|
+
<input
|
|
15
|
+
data-monaco-target="languageInput"
|
|
16
|
+
data-action="monaco#languageChange"
|
|
17
|
+
type="text"
|
|
18
|
+
name="${`$${printArgPath(arg_path)}`}[language]"
|
|
19
|
+
value="${is(language, predicates.string) ? language : ""}"
|
|
20
|
+
size="40"
|
|
21
|
+
/>
|
|
22
|
+
<div class="monaco-wrapper">
|
|
23
|
+
<textarea
|
|
24
|
+
data-monaco-target="textarea"
|
|
25
|
+
name="$${printArgPath(arg_path)}[code]"
|
|
26
|
+
style="display: none"
|
|
27
|
+
>
|
|
28
|
+
${code}</textarea
|
|
29
|
+
>
|
|
30
|
+
<div
|
|
31
|
+
data-monaco-target="wrapper"
|
|
32
|
+
data-language="${language}"
|
|
33
|
+
></div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>`;
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
ComponentInputCodeWithCustomLanguage
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=component-input-code-with-custom-language.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/inputs/component-input-code-with-custom-language.ts"],
|
|
4
|
+
"sourcesContent": ["import { tempstream } from \"tempstream\";\nimport { printArgPath } from \"./print-arg-path.js\";\nimport { is, predicates } from \"@sealcode/ts-predicates\";\nimport { Component } from \"@sealcode/jdd\";\n\nexport function ComponentInputCodeWithCustomLanguage({\n\tlanguage,\n\tcode,\n\targ_path,\n\tcomponent,\n}: {\n\tcode: string;\n\tlanguage: string;\n\targ_path: string[];\n\tcomponent: Component;\n}): JSX.Element {\n\treturn tempstream /* HTML */ `<div\n\t\tid=\"monaco__${arg_path.join(\"_\")}__for__${component.name}\"\n\t>\n\t\t<div data-controller=\"monaco\" data-turbo-permanent=\"true\">\n\t\t\t<input\n\t\t\t\tdata-monaco-target=\"languageInput\"\n\t\t\t\tdata-action=\"monaco#languageChange\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"${`$${printArgPath(arg_path)}`}[language]\"\n\t\t\t\tvalue=\"${is(language, predicates.string) ? language : \"\"}\"\n\t\t\t\tsize=\"40\"\n\t\t\t/>\n\t\t\t<div class=\"monaco-wrapper\">\n\t\t\t\t<textarea\n\t\t\t\t\tdata-monaco-target=\"textarea\"\n\t\t\t\t\tname=\"$${printArgPath(arg_path)}[code]\"\n\t\t\t\t\tstyle=\"display: none\"\n\t\t\t\t>\n${code}</textarea\n\t\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-monaco-target=\"wrapper\"\n\t\t\t\t\tdata-language=\"${language}\"\n\t\t\t\t></div>\n\t\t\t</div>\n\t\t</div>\n\t</div>`;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,IAAI,kBAAkB;AAGxB,SAAS,qCAAqC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKgB;AACf,SAAO;AAAA,gBACQ,SAAS,KAAK,GAAG,WAAW,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAO1C,IAAI,aAAa,QAAQ;AAAA,aACxB,GAAG,UAAU,WAAW,MAAM,IAAI,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAM5C,aAAa,QAAQ;AAAA;AAAA;AAAA,EAGjC;AAAA;AAAA;AAAA;AAAA,sBAIoB;AAAA;AAAA;AAAA;AAAA;AAKtB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -3,19 +3,30 @@ import { printArgPath } from "./print-arg-path.js";
|
|
|
3
3
|
function ComponentInputCode({
|
|
4
4
|
language,
|
|
5
5
|
value,
|
|
6
|
-
arg_path
|
|
6
|
+
arg_path,
|
|
7
|
+
component
|
|
7
8
|
}) {
|
|
8
|
-
return tempstream`<div
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
return tempstream`<div
|
|
10
|
+
id="monaco__${arg_path.join("_")}__for__${component.name}"
|
|
11
|
+
>
|
|
12
|
+
<div data-controller="monaco">
|
|
13
|
+
<div class="monaco-wrapper">
|
|
14
|
+
<textarea
|
|
15
|
+
data-monaco-target="textarea"
|
|
16
|
+
name="$${printArgPath(arg_path)}"
|
|
17
|
+
style="display: none"
|
|
18
|
+
>
|
|
19
|
+
${value}</textarea
|
|
20
|
+
>
|
|
21
|
+
<div
|
|
22
|
+
data-monaco-target="wrapper"
|
|
23
|
+
data-language="${language}"
|
|
24
|
+
data-turbo-permanent="true"
|
|
25
|
+
id="${arg_path.join("_")}"
|
|
26
|
+
></div>
|
|
27
|
+
</div>
|
|
17
28
|
</div>
|
|
18
|
-
</div
|
|
29
|
+
</div> `;
|
|
19
30
|
}
|
|
20
31
|
export {
|
|
21
32
|
ComponentInputCode
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/inputs/component-input-code.ts"],
|
|
4
|
-
"sourcesContent": ["import { tempstream } from \"tempstream\";\nimport { printArgPath } from \"./print-arg-path.js\";\n\nexport function ComponentInputCode({\n\tlanguage,\n\tvalue,\n\targ_path,\n}: {\n\tvalue: string;\n\tlanguage: string;\n\targ_path: string[];\n}): JSX.Element {\n\treturn tempstream /* HTML */ `<div
|
|
5
|
-
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;
|
|
4
|
+
"sourcesContent": ["import { tempstream } from \"tempstream\";\nimport { printArgPath } from \"./print-arg-path.js\";\nimport { Component } from \"@sealcode/jdd\";\n\nexport function ComponentInputCode({\n\tlanguage,\n\tvalue,\n\targ_path,\n\tcomponent,\n}: {\n\tvalue: string;\n\tlanguage: string;\n\targ_path: string[];\n\tcomponent: Component;\n}): JSX.Element {\n\treturn tempstream /* HTML */ `<div\n\t\tid=\"monaco__${arg_path.join(\"_\")}__for__${component.name}\"\n\t>\n\t\t<div data-controller=\"monaco\">\n\t\t\t<div class=\"monaco-wrapper\">\n\t\t\t\t<textarea\n\t\t\t\t\tdata-monaco-target=\"textarea\"\n\t\t\t\t\tname=\"$${printArgPath(arg_path)}\"\n\t\t\t\t\tstyle=\"display: none\"\n\t\t\t\t>\n${value}</textarea\n\t\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-monaco-target=\"wrapper\"\n\t\t\t\t\tdata-language=\"${language}\"\n\t\t\t\t\tdata-turbo-permanent=\"true\"\n\t\t\t\t\tid=\"${arg_path.join(\"_\")}\"\n\t\t\t\t></div>\n\t\t\t</div>\n\t\t</div>\n\t</div> `;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAGtB,SAAS,mBAAmB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKgB;AACf,SAAO;AAAA,gBACQ,SAAS,KAAK,GAAG,WAAW,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMxC,aAAa,QAAQ;AAAA;AAAA;AAAA,EAGjC;AAAA;AAAA;AAAA;AAAA,sBAIoB;AAAA;AAAA,WAEX,SAAS,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA;AAK5B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -8,6 +8,7 @@ async function ComponentInputList({
|
|
|
8
8
|
value,
|
|
9
9
|
page,
|
|
10
10
|
makeJDDContext,
|
|
11
|
+
component,
|
|
11
12
|
...rest
|
|
12
13
|
}) {
|
|
13
14
|
if (!value) {
|
|
@@ -27,7 +28,8 @@ async function ComponentInputList({
|
|
|
27
28
|
arg: arg.item_type,
|
|
28
29
|
value: value2,
|
|
29
30
|
page,
|
|
30
|
-
makeJDDContext
|
|
31
|
+
makeJDDContext,
|
|
32
|
+
component
|
|
31
33
|
})}
|
|
32
34
|
${page.makeActionButton(
|
|
33
35
|
state,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/inputs/component-input-list.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Context } from \"koa\";\nimport type {
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Context } from \"koa\";\nimport type {\n\tComponent,\n\tComponentArgument,\n\tJDDContext,\n\tList,\n} from \"@sealcode/jdd\";\nimport type { JDDPageState } from \"../jdd-page.js\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport { ComponentInput } from \"./component-input.js\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\nimport { tempstream } from \"tempstream\";\n\nexport async function ComponentInputList<\n\tState extends JDDPageState,\n\tT extends ComponentArgument<unknown>,\n>({\n\tstate,\n\tctx,\n\targ_path,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\tcomponent,\n\t...rest\n}: {\n\tstate: State;\n\tctx: Context;\n\targ_path: string[];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\targ: List<T, any>;\n\tvalue: T[];\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n\tcomponent: Component;\n}): Promise<string> {\n\tif (!value) {\n\t\tvalue = [];\n\t}\n\treturn tempstream /* HTML */ `<fieldset\n\t\tid=\"${`component-input-list-${arg_path.join(\"-\")}`}\"\n\t>\n\t\t<legend>${arg_path.at(-1)!}</legend>\n\t\t${value.map(\n\t\t\t(value, i, all_values) =>\n\t\t\t\ttempstream`<div style=\"display: flex\">\n\t\t\t\t\t${ComponentInput({\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\targ_path: [...arg_path, i.toString()],\n\t\t\t\t\t\targ: arg.item_type,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpage,\n\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\tcomponent,\n\t\t\t\t\t})}\n\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: \"move_array_item_down\",\n\t\t\t\t\t\t\tlabel: \"\u2193\",\n\t\t\t\t\t\t\tdisabled: i == all_values.length - 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targ_path,\n\t\t\t\t\t\ti\n\t\t\t\t\t)}\n\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: \"move_array_item_up\",\n\t\t\t\t\t\t\tlabel: \"\u2191\",\n\t\t\t\t\t\t\tdisabled: i == 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\targ_path,\n\t\t\t\t\t\ti\n\t\t\t\t\t)}\n\n\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\t{ action: \"remove_array_item\", label: \"\u274C\" },\n\t\t\t\t\t\targ_path,\n\t\t\t\t\t\ti\n\t\t\t\t\t)}\n\t\t\t\t</div>`\n\t\t)}\n\t\t${page.makeActionButton(\n\t\t\tstate,\n\t\t\t{\n\t\t\t\taction: \"add_array_item\",\n\t\t\t\tlabel: \"\u2795\",\n\t\t\t},\n\t\t\targ_path\n\t\t)}\n\t</fieldset>`;\n}\n"],
|
|
5
|
+
"mappings": "AAUA,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAE3B,eAAsB,mBAGpB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AACJ,GAWoB;AACnB,MAAI,CAAC,OAAO;AACX,YAAQ,CAAC;AAAA,EACV;AACA,SAAO;AAAA,QACA,wBAAwB,SAAS,KAAK,GAAG;AAAA;AAAA,YAErC,SAAS,GAAG,EAAE;AAAA,IACtB,MAAM;AAAA,IACP,CAACA,QAAO,GAAG,eACV;AAAA,OACG,eAAe;AAAA,MAChB,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,UAAU,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC;AAAA,MACpC,KAAK,IAAI;AAAA,MACT,OAAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,OACC,KAAK;AAAA,MACN;AAAA,MACA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU,KAAK,WAAW,SAAS;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,OACE,KAAK;AAAA,MACN;AAAA,MACA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA;AAAA,OAEE,KAAK;AAAA,MACN;AAAA,MACA,EAAE,QAAQ,qBAAqB,OAAO,SAAI;AAAA,MAC1C;AAAA,MACA;AAAA,IACD;AAAA;AAAA,EAEH;AAAA,IACE,KAAK;AAAA,IACN;AAAA,IACA;AAAA,MACC,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,EACD;AAAA;AAEF;",
|
|
6
6
|
"names": ["value"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { printArgPath } from "./print-arg-path.js";
|
|
2
|
+
import { is, predicates } from "@sealcode/ts-predicates";
|
|
3
|
+
const buttons = [
|
|
4
|
+
{ content: "<b>B</b>", data: { wrap: "**" } },
|
|
5
|
+
{ content: "<i>I</i>", data: { prefix: "*" } },
|
|
6
|
+
{ content: "H1", data: { prefix: "#" } },
|
|
7
|
+
{ content: "\u275D", data: { prefix: ">" } },
|
|
8
|
+
{ content: "\u2022 List", data: { prefix: "-" } },
|
|
9
|
+
{ content: "1. List", data: { prefix: "1" } },
|
|
10
|
+
{ content: "\u{1F517}", data: { "wrap-before": "[", "wrap-after": "]()" } }
|
|
11
|
+
];
|
|
12
|
+
function ComponentInputMarkdown({
|
|
13
|
+
arg_path,
|
|
14
|
+
value,
|
|
15
|
+
component
|
|
16
|
+
}) {
|
|
17
|
+
return `<div
|
|
18
|
+
id="monaco__markdown__${arg_path.join("_")}__for__${component.name}"
|
|
19
|
+
>
|
|
20
|
+
${arg_path.at(-1) || ""}
|
|
21
|
+
<div class="monaco-wrapper monaco-wrapper--markdown">
|
|
22
|
+
<div data-controller="monaco" data-language="markdown">
|
|
23
|
+
<div class="toolbar">
|
|
24
|
+
${buttons.map(
|
|
25
|
+
(e) => `<button type="button" data-action="monaco#wrapSelection" ${Object.entries(
|
|
26
|
+
e.data
|
|
27
|
+
).map(
|
|
28
|
+
([key, value2]) => `data-${key}="${value2}"`
|
|
29
|
+
).join(" ")}>${e.content}</button>`
|
|
30
|
+
).join("")}
|
|
31
|
+
</div>
|
|
32
|
+
<div class="textarea-wrapper" data-monaco-target="wrapper">
|
|
33
|
+
<textarea
|
|
34
|
+
data-monaco-target="textarea"
|
|
35
|
+
name="${`$${printArgPath(arg_path)}`}"
|
|
36
|
+
style="display: none"
|
|
37
|
+
>
|
|
38
|
+
${is(value, predicates.string) ? value : ""}
|
|
39
|
+
</textarea
|
|
40
|
+
>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>`;
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
ComponentInputMarkdown as default
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=component-input-markdown.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/inputs/component-input-markdown.ts"],
|
|
4
|
+
"sourcesContent": ["import { Component } from \"@sealcode/jdd\";\nimport { printArgPath } from \"./print-arg-path.js\";\nimport { is, predicates } from \"@sealcode/ts-predicates\";\n\nconst buttons: { content: string; data: Record<string, string> }[] = [\n\t{ content: \"<b>B</b>\", data: { wrap: \"**\" } },\n\t{ content: \"<i>I</i>\", data: { prefix: \"*\" } },\n\t{ content: \"H1\", data: { prefix: \"#\" } },\n\t{ content: \"\u275D\", data: { prefix: \">\" } },\n\t{ content: \"\u2022 List\", data: { prefix: \"-\" } },\n\t{ content: \"1. List\", data: { prefix: \"1\" } },\n\t{ content: \"\uD83D\uDD17\", data: { \"wrap-before\": \"[\", \"wrap-after\": \"]()\" } },\n];\n\nexport default function ComponentInputMarkdown({\n\targ_path,\n\tvalue,\n\tcomponent,\n}: {\n\targ_path: string[];\n\tvalue: unknown;\n\tcomponent: Component;\n}) {\n\treturn /* HTML */ `<div\n\t\tid=\"monaco__markdown__${arg_path.join(\"_\")}__for__${component.name}\"\n\t>\n\t\t${arg_path.at(-1) || \"\"}\n\t\t<div class=\"monaco-wrapper monaco-wrapper--markdown\">\n\t\t\t<div data-controller=\"monaco\" data-language=\"markdown\">\n\t\t\t\t<div class=\"toolbar\">\n\t\t\t\t\t${buttons\n\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t(e) =>\n\t\t\t\t\t\t\t\t`<button type=\"button\" data-action=\"monaco#wrapSelection\" ${Object.entries(\n\t\t\t\t\t\t\t\t\te.data\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t([key, value]) =>\n\t\t\t\t\t\t\t\t\t\t\t`data-${key}=\"${value}\"`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join(\" \")}>${e.content}</button>`\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.join(\"\")}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"textarea-wrapper\" data-monaco-target=\"wrapper\">\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tdata-monaco-target=\"textarea\"\n\t\t\t\t\t\tname=\"${`$${printArgPath(arg_path)}`}\"\n\t\t\t\t\t\tstyle=\"display: none\"\n\t\t\t\t\t>\n${is(value, predicates.string) ? value : \"\"}\n </textarea\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>`;\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,oBAAoB;AAC7B,SAAS,IAAI,kBAAkB;AAE/B,MAAM,UAA+D;AAAA,EACpE,EAAE,SAAS,YAAY,MAAM,EAAE,MAAM,KAAK,EAAE;AAAA,EAC5C,EAAE,SAAS,YAAY,MAAM,EAAE,QAAQ,IAAI,EAAE;AAAA,EAC7C,EAAE,SAAS,MAAM,MAAM,EAAE,QAAQ,IAAI,EAAE;AAAA,EACvC,EAAE,SAAS,UAAK,MAAM,EAAE,QAAQ,IAAI,EAAE;AAAA,EACtC,EAAE,SAAS,eAAU,MAAM,EAAE,QAAQ,IAAI,EAAE;AAAA,EAC3C,EAAE,SAAS,WAAW,MAAM,EAAE,QAAQ,IAAI,EAAE;AAAA,EAC5C,EAAE,SAAS,aAAM,MAAM,EAAE,eAAe,KAAK,cAAc,MAAM,EAAE;AACpE;AAEe,SAAR,uBAAwC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACD,GAIG;AACF,SAAkB;AAAA,0BACO,SAAS,KAAK,GAAG,WAAW,UAAU;AAAA;AAAA,IAE5D,SAAS,GAAG,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA,OAIhB,QACA;AAAA,IACA,CAAC,MACA,4DAA4D,OAAO;AAAA,MAClE,EAAE;AAAA,IACH,EACE;AAAA,MACA,CAAC,CAAC,KAAKA,MAAK,MACX,QAAQ,QAAQA;AAAA,IAClB,EACC,KAAK,GAAG,KAAK,EAAE;AAAA,EACnB,EACC,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,cAKA,IAAI,aAAa,QAAQ;AAAA;AAAA;AAAA,EAGrC,GAAG,OAAO,WAAW,MAAM,IAAI,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzC;",
|
|
6
|
+
"names": ["value"]
|
|
7
|
+
}
|
|
@@ -10,6 +10,7 @@ async function ComponentInputStructured({
|
|
|
10
10
|
value,
|
|
11
11
|
page,
|
|
12
12
|
makeJDDContext,
|
|
13
|
+
component,
|
|
13
14
|
...rest
|
|
14
15
|
}) {
|
|
15
16
|
const structure = arg instanceof Structured ? arg.structure : arg.getStructure(
|
|
@@ -34,6 +35,7 @@ async function ComponentInputStructured({
|
|
|
34
35
|
value: value[inner_arg_name],
|
|
35
36
|
page,
|
|
36
37
|
makeJDDContext,
|
|
38
|
+
component,
|
|
37
39
|
...rest
|
|
38
40
|
})}
|
|
39
41
|
</div>`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/inputs/component-input-structured.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Context } from \"koa\";\nimport {\n\tStructured,\n\ttype ComponentArgument,\n\ttype JDDContext,\n\ttype NestedComponent,\n} from \"@sealcode/jdd\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport { ComponentInput } from \"./component-input.js\";\nimport type { JDDPageState } from \"../jdd-page.js\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\n\nexport async function ComponentInputStructured<\n\tT extends\n\t\t| Structured<Record<string, ComponentArgument<unknown>>>\n\t\t| NestedComponent,\n>({\n\tstate,\n\tctx,\n\targ_path,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\t...rest\n}: {\n\tstate: JDDPageState;\n\tctx: Context;\n\targ_path: string[];\n\targ: T;\n\tvalue: Record<string, unknown>;\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n}) {\n\tconst structure =\n\t\targ instanceof Structured\n\t\t\t? arg.structure\n\t\t\t: arg.getStructure(\n\t\t\t\t\tmakeJDDContext(ctx).registry,\n\t\t\t\t\t(value.component_name as string) ||\n\t\t\t\t\t\t(Object.keys(\n\t\t\t\t\t\t\tmakeJDDContext(ctx).registry.getAll()\n\t\t\t\t\t\t)[0] as string)\n\t\t\t\t);\n\n\treturn /* HTML */ `<fieldset\n\t\tid=\"${`component-input-structured-${arg_path.join(\"-\")}`}\"\n\t>\n\t\t<legend>${arg_path.at(-1) || \"\"}</legend>\n\t\t${(\n\t\t\tawait Promise.all(\n\t\t\t\tObject.entries(structure).map(\n\t\t\t\t\tasync ([inner_arg_name, inner_arg]) => {\n\t\t\t\t\t\tconst ret = `<div>\n\t\t\t\t\t\t${await ComponentInput({\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\targ_path: [...arg_path, inner_arg_name],\n\t\t\t\t\t\t\targ: inner_arg,\n\t\t\t\t\t\t\tvalue: value[inner_arg_name],\n\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>`;\n\t\t\t\t\t\treturn ret;\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t)\n\t\t).join(\"\")}\n\t</fieldset>`;\n}\n"],
|
|
5
|
-
"mappings": "AACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import type { Context } from \"koa\";\nimport {\n\tComponent,\n\tStructured,\n\ttype ComponentArgument,\n\ttype JDDContext,\n\ttype NestedComponent,\n} from \"@sealcode/jdd\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport { ComponentInput } from \"./component-input.js\";\nimport type { JDDPageState } from \"../jdd-page.js\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\n\nexport async function ComponentInputStructured<\n\tT extends\n\t\t| Structured<Record<string, ComponentArgument<unknown>>>\n\t\t| NestedComponent,\n>({\n\tstate,\n\tctx,\n\targ_path,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\tcomponent,\n\t...rest\n}: {\n\tstate: JDDPageState;\n\tctx: Context;\n\targ_path: string[];\n\targ: T;\n\tvalue: Record<string, unknown>;\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n\tcomponent: Component;\n}) {\n\tconst structure =\n\t\targ instanceof Structured\n\t\t\t? arg.structure\n\t\t\t: arg.getStructure(\n\t\t\t\t\tmakeJDDContext(ctx).registry,\n\t\t\t\t\t(value.component_name as string) ||\n\t\t\t\t\t\t(Object.keys(\n\t\t\t\t\t\t\tmakeJDDContext(ctx).registry.getAll()\n\t\t\t\t\t\t)[0] as string)\n\t\t\t\t);\n\n\treturn /* HTML */ `<fieldset\n\t\tid=\"${`component-input-structured-${arg_path.join(\"-\")}`}\"\n\t>\n\t\t<legend>${arg_path.at(-1) || \"\"}</legend>\n\t\t${(\n\t\t\tawait Promise.all(\n\t\t\t\tObject.entries(structure).map(\n\t\t\t\t\tasync ([inner_arg_name, inner_arg]) => {\n\t\t\t\t\t\tconst ret = `<div>\n\t\t\t\t\t\t${await ComponentInput({\n\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\targ_path: [...arg_path, inner_arg_name],\n\t\t\t\t\t\t\targ: inner_arg,\n\t\t\t\t\t\t\tvalue: value[inner_arg_name],\n\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\tcomponent,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>`;\n\t\t\t\t\t\treturn ret;\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t)\n\t\t).join(\"\")}\n\t</fieldset>`;\n}\n"],
|
|
5
|
+
"mappings": "AACA;AAAA,EAEC;AAAA,OAIM;AAEP,SAAS,sBAAsB;AAI/B,eAAsB,yBAIpB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AACJ,GAUG;AACF,QAAM,YACL,eAAe,aACZ,IAAI,YACJ,IAAI;AAAA,IACJ,eAAe,GAAG,EAAE;AAAA,IACnB,MAAM,kBACL,OAAO;AAAA,MACP,eAAe,GAAG,EAAE,SAAS,OAAO;AAAA,IACrC,EAAE;AAAA,EACJ;AAEH,SAAkB;AAAA,QACX,8BAA8B,SAAS,KAAK,GAAG;AAAA;AAAA,YAE3C,SAAS,GAAG,EAAE,KAAK;AAAA,KAE5B,MAAM,QAAQ;AAAA,IACb,OAAO,QAAQ,SAAS,EAAE;AAAA,MACzB,OAAO,CAAC,gBAAgB,SAAS,MAAM;AACtC,cAAM,MAAM;AAAA,QACV,MAAM,eAAe;AAAA,UACtB;AAAA,UACA;AAAA,UACA,UAAU,CAAC,GAAG,UAAU,cAAc;AAAA,UACtC,KAAK;AAAA,UACL,OAAO,MAAM;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACJ,CAAC;AAAA;AAED,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD,GACC,KAAK,EAAE;AAAA;AAEX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -10,7 +10,8 @@ async function ComponentInputTable({
|
|
|
10
10
|
value,
|
|
11
11
|
page,
|
|
12
12
|
makeJDDContext,
|
|
13
|
-
makeAssetURL
|
|
13
|
+
makeAssetURL,
|
|
14
|
+
component
|
|
14
15
|
}) {
|
|
15
16
|
if (!value) {
|
|
16
17
|
value = await arg.getEmptyValue(makeJDDContext(ctx));
|
|
@@ -130,7 +131,8 @@ async function ComponentInputTable({
|
|
|
130
131
|
value: row.header_content,
|
|
131
132
|
page,
|
|
132
133
|
makeJDDContext,
|
|
133
|
-
makeAssetURL
|
|
134
|
+
makeAssetURL,
|
|
135
|
+
component
|
|
134
136
|
})}
|
|
135
137
|
</th>` : row.cells.map(
|
|
136
138
|
(cell, cell_index) => tempstream`<td>
|
|
@@ -148,7 +150,8 @@ async function ComponentInputTable({
|
|
|
148
150
|
value: cell,
|
|
149
151
|
page,
|
|
150
152
|
makeJDDContext,
|
|
151
|
-
makeAssetURL
|
|
153
|
+
makeAssetURL,
|
|
154
|
+
component
|
|
152
155
|
})}
|
|
153
156
|
</td>`
|
|
154
157
|
)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/inputs/component-input-table.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { JDDContext, Table, TableData } from \"@sealcode/jdd\";\nimport { Markdown } from \"@sealcode/jdd\";\nimport { isTableHeader } from \"@sealcode/jdd\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport type { Context } from \"koa\";\nimport { tempstream } from \"tempstream\";\nimport { ComponentInput } from \"./component-input.js\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\nimport type { JDDPageState } from \"../jdd-page.js\";\n\nexport async function ComponentInputTable<\n\tState extends JDDPageState,\n\tCellType,\n\tHeaderType,\n>({\n\tstate,\n\targ_path,\n\tctx,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\tmakeAssetURL,\n}: {\n\tstate: State;\n\tctx: Context;\n\targ_path: string[];\n\targ: Table<CellType, HeaderType>;\n\tvalue: TableData<CellType, HeaderType>;\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n}): Promise<string> {\n\tif (!value) {\n\t\tvalue = await arg.getEmptyValue(makeJDDContext(ctx));\n\t}\n\n\tconst show_paste =\n\t\targ.cell_type instanceof Markdown &&\n\t\targ.header_type instanceof Markdown;\n\n\treturn tempstream /* HTML */ `<fieldset>\n\t\t<legend>${arg_path.at(-1)!}</legend>\n\t\t<div>\n\t\t\t${show_paste\n\t\t\t\t? /* HTML */ `<input\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvalue=\"paste\"\n\t\t\t\t\t\tplaceholder=\"paste table here\"\n\t\t\t\t\t\tdata-jdd-table-paste-argpath-value=\"${arg_path.join(\n\t\t\t\t\t\t\t\".\"\n\t\t\t\t\t\t)}\"\n\t\t\t\t\t\tdata-controller=\"jdd-table-paste\"\n\t\t\t\t\t/>`\n\t\t\t\t: \"\"}\n\t\t\t<table\n\t\t\t\tclass=\"jdd-component-input--table\"\n\t\t\t\tstyle=\"position: relative; /* necessary for sticky th*/\"\n\t\t\t>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t${[...Array(arg.getColumnsCount(value)).keys()]\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(column_index) =>\n\t\t\t\t\t\t\t\t\t/* HTML */ `<th\n\t\t\t\t\t\t\t\t\t\tclass=\"sticky sticky--top subdued\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"remove_table_column\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Remove column\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-delete-column.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\tcolumn_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t${column_index >=\n\t\t\t\t\t\t\t\t\t\targ.getColumnsCount(value) - 1\n\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t: page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: \"move_table_column_right\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Move column to the right\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-move-column-right.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn_index\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</th>`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(\"\")}\n\t\t\t\t\t</tr>\n\t\t\t\t\t${value.rows.map(\n\t\t\t\t\t\t(row, row_index) =>\n\t\t\t\t\t\t\ttempstream /* HTML */ `<tr>\n\t\t\t\t\t\t\t\t<td class=\"sticky sticky--left subdued\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle=\"display: flex; flex-flow: column; row-gap: 5px;\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"remove_table_row\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Remove row\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-delete-row.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\trow_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"move_table_row_down\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Move this row down\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-move-row-down.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\trow_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t${isTableHeader(row)\n\t\t\t\t\t\t\t\t\t? /* HTML */ tempstream`<th\n\t\t\t\t\t\t\t\t\t\tcolspan=\"${arg.getColumnsCount(value).toString()}\"\n\t\t\t\t\t\t\t\t >\n\t\t\t\t\t\t\t\t\t\t${ComponentInput({\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\t\t\targ_path: [\n\t\t\t\t\t\t\t\t\t\t\t\t...arg_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\"rows\",\n\t\t\t\t\t\t\t\t\t\t\t\trow_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\"header_content\",\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\targ: arg.header_type,\n\t\t\t\t\t\t\t\t\t\t\tvalue: row.header_content,\n\t\t\t\t\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\t\t\t\t\tmakeAssetURL,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t </th>`\n\t\t\t\t\t\t\t\t\t: row.cells.map(\n\t\t\t\t\t\t\t\t\t\t\t(cell, cell_index) =>\n\t\t\t\t\t\t\t\t\t\t\t\ttempstream /* HTML */ `<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${ComponentInput({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\targ_path: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...arg_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"rows\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"cells\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\targ: arg.cell_type,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: cell,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmakeAssetURL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>`\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t${row_index == 0\n\t\t\t\t\t\t\t\t\t? /* HTML */ `<td\n\t\t\t\t\t\t\t\t\t\t\tclass=\"subdued\"\n\t\t\t\t\t\t\t\t\t\t\trowspan=\"${value.rows.length.toString()}\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: \"add_table_column\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Add column\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-column-right.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\targ_path\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</td>`\n\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t</tr>`\n\t\t\t\t\t)}\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"subdued\"\n\t\t\t\t\t\t\tcolspan=\"{(arg.getColumnsCount(value)\"\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t\t1).toString()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taction: \"add_table_row\",\n\t\t\t\t\t\t\t\t\tlabel: \"Add table row\",\n\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-row-below.svg\"\n\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\targ.getColumnsCount(value),\n\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taction: \"add_table_row\",\n\t\t\t\t\t\t\t\t\tlabel: \"Add table header\",\n\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-column-header-below.svg\"\n\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\targ.getColumnsCount(value),\n\t\t\t\t\t\t\t\t\"header\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</fieldset>`;\n}\n"],
|
|
5
|
-
"mappings": "AAEA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAG9B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAI/B,eAAsB,oBAIpB;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Component, JDDContext, Table, TableData } from \"@sealcode/jdd\";\nimport { Markdown } from \"@sealcode/jdd\";\nimport { isTableHeader } from \"@sealcode/jdd\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport type { Context } from \"koa\";\nimport { tempstream } from \"tempstream\";\nimport { ComponentInput } from \"./component-input.js\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\nimport type { JDDPageState } from \"../jdd-page.js\";\n\nexport async function ComponentInputTable<\n\tState extends JDDPageState,\n\tCellType,\n\tHeaderType,\n>({\n\tstate,\n\targ_path,\n\tctx,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\tmakeAssetURL,\n\tcomponent,\n}: {\n\tstate: State;\n\tctx: Context;\n\targ_path: string[];\n\targ: Table<CellType, HeaderType>;\n\tvalue: TableData<CellType, HeaderType>;\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n\tcomponent: Component;\n}): Promise<string> {\n\tif (!value) {\n\t\tvalue = await arg.getEmptyValue(makeJDDContext(ctx));\n\t}\n\n\tconst show_paste =\n\t\targ.cell_type instanceof Markdown &&\n\t\targ.header_type instanceof Markdown;\n\n\treturn tempstream /* HTML */ `<fieldset>\n\t\t<legend>${arg_path.at(-1)!}</legend>\n\t\t<div>\n\t\t\t${show_paste\n\t\t\t\t? /* HTML */ `<input\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvalue=\"paste\"\n\t\t\t\t\t\tplaceholder=\"paste table here\"\n\t\t\t\t\t\tdata-jdd-table-paste-argpath-value=\"${arg_path.join(\n\t\t\t\t\t\t\t\".\"\n\t\t\t\t\t\t)}\"\n\t\t\t\t\t\tdata-controller=\"jdd-table-paste\"\n\t\t\t\t\t/>`\n\t\t\t\t: \"\"}\n\t\t\t<table\n\t\t\t\tclass=\"jdd-component-input--table\"\n\t\t\t\tstyle=\"position: relative; /* necessary for sticky th*/\"\n\t\t\t>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t${[...Array(arg.getColumnsCount(value)).keys()]\n\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t(column_index) =>\n\t\t\t\t\t\t\t\t\t/* HTML */ `<th\n\t\t\t\t\t\t\t\t\t\tclass=\"sticky sticky--top subdued\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"remove_table_column\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Remove column\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-delete-column.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\tcolumn_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t${column_index >=\n\t\t\t\t\t\t\t\t\t\targ.getColumnsCount(value) - 1\n\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t: page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: \"move_table_column_right\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Move column to the right\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-move-column-right.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn_index\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</th>`\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(\"\")}\n\t\t\t\t\t</tr>\n\t\t\t\t\t${value.rows.map(\n\t\t\t\t\t\t(row, row_index) =>\n\t\t\t\t\t\t\ttempstream /* HTML */ `<tr>\n\t\t\t\t\t\t\t\t<td class=\"sticky sticky--left subdued\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle=\"display: flex; flex-flow: column; row-gap: 5px;\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"remove_table_row\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Remove row\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-delete-row.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\trow_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"move_table_row_down\",\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Move this row down\",\n\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-move-row-down.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\t\t\t\trow_index\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t${isTableHeader(row)\n\t\t\t\t\t\t\t\t\t? /* HTML */ tempstream`<th\n\t\t\t\t\t\t\t\t\t\tcolspan=\"${arg.getColumnsCount(value).toString()}\"\n\t\t\t\t\t\t\t\t >\n\t\t\t\t\t\t\t\t\t\t${ComponentInput({\n\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\t\t\targ_path: [\n\t\t\t\t\t\t\t\t\t\t\t\t...arg_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\"rows\",\n\t\t\t\t\t\t\t\t\t\t\t\trow_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\"header_content\",\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\targ: arg.header_type,\n\t\t\t\t\t\t\t\t\t\t\tvalue: row.header_content,\n\t\t\t\t\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\t\t\t\t\tmakeAssetURL,\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t </th>`\n\t\t\t\t\t\t\t\t\t: row.cells.map(\n\t\t\t\t\t\t\t\t\t\t\t(cell, cell_index) =>\n\t\t\t\t\t\t\t\t\t\t\t\ttempstream /* HTML */ `<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t${ComponentInput({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tctx,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\targ_path: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...arg_path,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"rows\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trow_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"cells\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell_index.toString(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\targ: arg.cell_type,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: cell,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmakeJDDContext,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmakeAssetURL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>`\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t${row_index == 0\n\t\t\t\t\t\t\t\t\t? /* HTML */ `<td\n\t\t\t\t\t\t\t\t\t\t\tclass=\"subdued\"\n\t\t\t\t\t\t\t\t\t\t\trowspan=\"${value.rows.length.toString()}\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\taction: \"add_table_column\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Add column\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-column-right.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\targ_path\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</td>`\n\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t</tr>`\n\t\t\t\t\t)}\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"subdued\"\n\t\t\t\t\t\t\tcolspan=\"{(arg.getColumnsCount(value)\"\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t\t1).toString()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taction: \"add_table_row\",\n\t\t\t\t\t\t\t\t\tlabel: \"Add table row\",\n\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-row-below.svg\"\n\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\targ.getColumnsCount(value),\n\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t${page.makeActionButton(\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taction: \"add_table_row\",\n\t\t\t\t\t\t\t\t\tlabel: \"Add table header\",\n\t\t\t\t\t\t\t\t\tcontent: /* HTML */ `<img\n\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\tsrc=\"${makeAssetURL(\n\t\t\t\t\t\t\t\t\t\t\t\"icons/table-add-column-header-below.svg\"\n\t\t\t\t\t\t\t\t\t\t)}\"\n\t\t\t\t\t\t\t\t\t/>`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\targ_path,\n\t\t\t\t\t\t\t\targ.getColumnsCount(value),\n\t\t\t\t\t\t\t\t\"header\"\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</fieldset>`;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -8,7 +8,9 @@ import {
|
|
|
8
8
|
NestedComponent,
|
|
9
9
|
SingleReference,
|
|
10
10
|
Structured,
|
|
11
|
-
Table
|
|
11
|
+
Table,
|
|
12
|
+
CodeWithCustomLanguage,
|
|
13
|
+
Markdown
|
|
12
14
|
} from "@sealcode/jdd";
|
|
13
15
|
import { is, predicates } from "@sealcode/ts-predicates";
|
|
14
16
|
import { htmlEscape } from "escape-goat";
|
|
@@ -23,6 +25,8 @@ import { ComponentInputSingleReference } from "./component-input-single-referenc
|
|
|
23
25
|
import { ComponentInputStructured } from "./component-input-structured.js";
|
|
24
26
|
import { ComponentInputTable } from "./component-input-table.js";
|
|
25
27
|
import { printArgPath } from "./print-arg-path.js";
|
|
28
|
+
import { ComponentInputCodeWithCustomLanguage } from "./component-input-code-with-custom-language.js";
|
|
29
|
+
import ComponentInputMarkdown from "./component-input-markdown.js";
|
|
26
30
|
const actionName = "Components";
|
|
27
31
|
const absoluteUrlPattern = "http(s?)(://)((www.)?)(([^.]+).)?([a-zA-z0-9-_]+)";
|
|
28
32
|
async function ComponentInput({
|
|
@@ -33,7 +37,8 @@ async function ComponentInput({
|
|
|
33
37
|
value,
|
|
34
38
|
page,
|
|
35
39
|
makeJDDContext,
|
|
36
|
-
makeAssetURL
|
|
40
|
+
makeAssetURL,
|
|
41
|
+
component
|
|
37
42
|
}) {
|
|
38
43
|
if (value === void 0) {
|
|
39
44
|
value = await arg.getEmptyValue(makeJDDContext(ctx));
|
|
@@ -59,7 +64,8 @@ async function ComponentInput({
|
|
|
59
64
|
value,
|
|
60
65
|
page,
|
|
61
66
|
makeJDDContext,
|
|
62
|
-
makeAssetURL
|
|
67
|
+
makeAssetURL,
|
|
68
|
+
component
|
|
63
69
|
});
|
|
64
70
|
}
|
|
65
71
|
if (arg instanceof ComponentArguments.Boolean) {
|
|
@@ -68,6 +74,15 @@ async function ComponentInput({
|
|
|
68
74
|
const argType = arg.getTypeName();
|
|
69
75
|
const isUrlAbsolute = arg instanceof ComponentArguments.URL && arg.urlType === "absolute";
|
|
70
76
|
const inputType = isUrlAbsolute ? "url" : "text";
|
|
77
|
+
if (arg instanceof CodeWithCustomLanguage) {
|
|
78
|
+
const valueCasted = value;
|
|
79
|
+
return ComponentInputCodeWithCustomLanguage({
|
|
80
|
+
language: valueCasted.language,
|
|
81
|
+
code: is(valueCasted.code, predicates.string) ? valueCasted.code : "",
|
|
82
|
+
arg_path,
|
|
83
|
+
component
|
|
84
|
+
});
|
|
85
|
+
}
|
|
71
86
|
if (arg instanceof Structured || arg instanceof NestedComponent) {
|
|
72
87
|
return ComponentInputStructured({
|
|
73
88
|
ctx,
|
|
@@ -77,7 +92,8 @@ async function ComponentInput({
|
|
|
77
92
|
value,
|
|
78
93
|
page,
|
|
79
94
|
makeJDDContext,
|
|
80
|
-
makeAssetURL
|
|
95
|
+
makeAssetURL,
|
|
96
|
+
component
|
|
81
97
|
});
|
|
82
98
|
}
|
|
83
99
|
if (arg instanceof SingleReference) {
|
|
@@ -121,16 +137,21 @@ async function ComponentInput({
|
|
|
121
137
|
value,
|
|
122
138
|
page,
|
|
123
139
|
makeJDDContext,
|
|
124
|
-
makeAssetURL
|
|
140
|
+
makeAssetURL,
|
|
141
|
+
component
|
|
125
142
|
});
|
|
126
143
|
}
|
|
127
144
|
if (arg instanceof Code) {
|
|
128
145
|
return ComponentInputCode({
|
|
129
146
|
language: arg.language,
|
|
130
147
|
value: is(value, predicates.string) ? value : "",
|
|
131
|
-
arg_path
|
|
148
|
+
arg_path,
|
|
149
|
+
component
|
|
132
150
|
});
|
|
133
151
|
}
|
|
152
|
+
if (arg instanceof Markdown) {
|
|
153
|
+
return ComponentInputMarkdown({ arg_path, value, component });
|
|
154
|
+
}
|
|
134
155
|
const inputElement = () => {
|
|
135
156
|
if (arg instanceof ComponentArguments.Number) {
|
|
136
157
|
return tempstream` <input
|
|
@@ -160,21 +181,7 @@ async function ComponentInput({
|
|
|
160
181
|
}
|
|
161
182
|
};
|
|
162
183
|
return `<div>
|
|
163
|
-
<label>
|
|
164
|
-
${arg_path.at(-1) || ""}
|
|
165
|
-
${argType == "markdown" ? `<div class="grow-wrap">
|
|
166
|
-
<textarea
|
|
167
|
-
name="${`$${printArgPath(arg_path)}`}"
|
|
168
|
-
onblur="${page.rerender()}"
|
|
169
|
-
cols="40"
|
|
170
|
-
data-controller="markdown-textarea submit-on-input"
|
|
171
|
-
data-action="autogrow-textarea#autogrow blur->autogrow-textarea#autogrow resize->autogrow-textarea#autogrow submit-on-input#sendValues focus->submit-on-input#makePermanent blur->submit-on-input#makeNotPermanent"
|
|
172
|
-
autocomplete="off"
|
|
173
|
-
>
|
|
174
|
-
${is(value, predicates.string) ? value : ""}</textarea
|
|
175
|
-
>
|
|
176
|
-
</div>` : await inputElement()}
|
|
177
|
-
</label>
|
|
184
|
+
<label> ${arg_path.at(-1) || ""} ${await inputElement()} </label>
|
|
178
185
|
</div>`;
|
|
179
186
|
}
|
|
180
187
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/inputs/component-input.ts"],
|
|
4
|
-
"sourcesContent": ["import type { FilePointer } from \"@sealcode/file-manager\";\nimport type {
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import type { FilePointer } from \"@sealcode/file-manager\";\nimport type {\n\tComponent,\n\tComponentArgument,\n\tJDDContext,\n\tTableData,\n} from \"@sealcode/jdd\";\nimport {\n\tCode,\n\tColor,\n\tComponentArguments,\n\tEnum,\n\tImage,\n\tList,\n\tNestedComponent,\n\tSingleReference,\n\tStructured,\n\tTable,\n\tCodeWithCustomLanguage,\n\tMarkdown,\n} from \"@sealcode/jdd\";\nimport type { StatefulPage } from \"@sealcode/sealgen\";\nimport { is, predicates } from \"@sealcode/ts-predicates\";\nimport { htmlEscape } from \"escape-goat\";\nimport type { Context } from \"koa\";\nimport { tempstream } from \"tempstream\";\nimport type { ComponentPreviewActions } from \"../component-preview-actions.js\";\nimport type { JDDPageState } from \"../jdd-page.js\";\nimport { ComponentCheckbox } from \"./component-input-boolean.js\";\nimport { ComponentInputCode } from \"./component-input-code.js\";\nimport { ComponentInputColor } from \"./component-input-color.js\";\nimport { ComponentInputEnum } from \"./component-input-enum.js\";\nimport { ComponentInputImage } from \"./component-input-image.js\";\nimport { ComponentInputList } from \"./component-input-list.js\";\nimport { ComponentInputSingleReference } from \"./component-input-single-reference.js\";\nimport { ComponentInputStructured } from \"./component-input-structured.js\";\nimport { ComponentInputTable } from \"./component-input-table.js\";\nimport { printArgPath } from \"./print-arg-path.js\";\n\nimport { ComponentInputCodeWithCustomLanguage } from \"./component-input-code-with-custom-language.js\";\nimport ComponentInputMarkdown from \"./component-input-markdown.js\";\n\nexport const actionName = \"Components\";\nconst absoluteUrlPattern = \"http(s?)(://)((www.)?)(([^.]+).)?([a-zA-z0-9-_]+)\";\n\nexport async function ComponentInput<State extends JDDPageState, T>({\n\tctx,\n\tstate,\n\targ_path,\n\targ,\n\tvalue,\n\tpage,\n\tmakeJDDContext,\n\tmakeAssetURL,\n\tcomponent,\n}: {\n\tstate: State;\n\tctx: Context;\n\targ_path: string[];\n\targ: ComponentArgument<T>;\n\tvalue: T;\n\tpage: StatefulPage<JDDPageState, typeof ComponentPreviewActions>;\n\tmakeJDDContext: (ctx: Context) => JDDContext;\n\tmakeAssetURL: (asset: string) => string;\n\tcomponent: Component;\n}): Promise<string> {\n\tif (value === undefined) {\n\t\tvalue = await arg.getEmptyValue(makeJDDContext(ctx));\n\t}\n\tif (arg instanceof Color) {\n\t\treturn ComponentInputColor({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as string,\n\t\t\tpage,\n\t\t\tonchange: page.rerender(),\n\t\t\tmakeJDDContext,\n\t\t});\n\t}\n\tif (arg instanceof List) {\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\treturn ComponentInputList({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as T[],\n\t\t\tpage,\n\t\t\tmakeJDDContext,\n\t\t\tmakeAssetURL,\n\t\t\tcomponent,\n\t\t});\n\t}\n\n\tif (arg instanceof ComponentArguments.Boolean) {\n\t\treturn ComponentCheckbox({ arg_path, arg, value: value as boolean });\n\t}\n\n\tconst argType = arg.getTypeName();\n\tconst isUrlAbsolute =\n\t\targ instanceof ComponentArguments.URL && arg.urlType === \"absolute\";\n\tconst inputType = isUrlAbsolute ? \"url\" : \"text\";\n\n\tif (arg instanceof CodeWithCustomLanguage) {\n\t\tconst valueCasted = value as {\n\t\t\tlanguage: string;\n\t\t\tcode: string;\n\t\t};\n\n\t\treturn ComponentInputCodeWithCustomLanguage({\n\t\t\tlanguage: valueCasted.language,\n\t\t\tcode: is(valueCasted.code, predicates.string)\n\t\t\t\t? valueCasted.code\n\t\t\t\t: \"\",\n\t\t\targ_path,\n\t\t\tcomponent,\n\t\t});\n\t}\n\n\tif (arg instanceof Structured || arg instanceof NestedComponent) {\n\t\treturn ComponentInputStructured({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as Record<string, unknown>,\n\t\t\tpage,\n\t\t\tmakeJDDContext,\n\t\t\tmakeAssetURL,\n\t\t\tcomponent,\n\t\t});\n\t}\n\n\tif (arg instanceof SingleReference) {\n\t\treturn ComponentInputSingleReference({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as string,\n\t\t\tonchange: page.rerender(),\n\t\t\tmakeJDDContext,\n\t\t});\n\t}\n\n\tif (arg instanceof Enum) {\n\t\treturn ComponentInputEnum({\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as string,\n\t\t\tonchange: page.rerender(),\n\t\t\tjdd_context: makeJDDContext(ctx),\n\t\t});\n\t}\n\n\tif (arg instanceof Image) {\n\t\treturn ComponentInputImage({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as FilePointer,\n\t\t\tpage,\n\t\t\tmakeJDDContext,\n\t\t});\n\t}\n\n\tif (arg instanceof Table) {\n\t\treturn ComponentInputTable({\n\t\t\tctx,\n\t\t\tstate,\n\t\t\targ_path,\n\t\t\targ,\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tvalue: value as TableData<unknown, unknown>,\n\t\t\tpage,\n\t\t\tmakeJDDContext,\n\t\t\tmakeAssetURL,\n\t\t\tcomponent,\n\t\t});\n\t}\n\n\tif (arg instanceof Code) {\n\t\treturn ComponentInputCode({\n\t\t\tlanguage: arg.language,\n\t\t\tvalue: is(value, predicates.string) ? value : \"\",\n\t\t\targ_path,\n\t\t\tcomponent,\n\t\t});\n\t}\n\n\tif (arg instanceof Markdown) {\n\t\treturn ComponentInputMarkdown({ arg_path, value, component });\n\t}\n\n\tconst inputElement = () => {\n\t\tif (arg instanceof ComponentArguments.Number) {\n\t\t\treturn tempstream /* HTML */ ` <input\n\t\t\t\ttype=\"number\"\n\t\t\t\tname=\"${`$${printArgPath(arg_path)}`}\"\n\t\t\t\tvalue=\"${htmlEscape((value || \"\").toString())}\"\n\t\t\t\tmin=\"${arg.min || \"\"}\"\n\t\t\t\tmax=\"${arg.max || \"\"}\"\n\t\t\t\tstep=\"${arg.step || \"\"}\"\n\t\t\t/>`;\n\t\t} else if (arg instanceof ComponentArguments.URL) {\n\t\t\treturn tempstream /* HTML */ ` <input\n\t\t\t\ttype=\"${isUrlAbsolute ? \"url\" : \"text\"}\"\n\t\t\t\tname=\"${`$${printArgPath(arg_path)}`}\"\n\t\t\t\tvalue=\"${htmlEscape((value || \"\").toString())}\"\n\t\t\t\tsize=\"40\"\n\t\t\t\t${isUrlAbsolute ? `pattern=\"${absoluteUrlPattern}\"` : \"\"}\n\t\t\t/>`;\n\t\t} else {\n\t\t\treturn tempstream /* HTML */ ` <input\n\t\t\t\ttype=\"${inputType}\"\n\t\t\t\tname=\"${`$${printArgPath(arg_path)}`}\"\n\t\t\t\tvalue=\"${is(value, predicates.string) ? htmlEscape(value) : \"\"}\"\n\t\t\t\tsize=\"40\"\n\t\t\t\t${isUrlAbsolute ? `pattern=\"${absoluteUrlPattern}\"` : \"\"}\n\t\t\t/>`;\n\t\t}\n\t};\n\n\treturn /* HTML */ `<div>\n\t\t<label> ${arg_path.at(-1) || \"\"} ${await inputElement()} </label>\n\t</div>`;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/src/jdd-page.js
CHANGED
|
@@ -122,7 +122,8 @@ class JDDPage extends StatefulPage {
|
|
|
122
122
|
value: args[arg_name] === void 0 || ((_a = component.getArguments()[arg_name]) == null ? void 0 : _a.isEmpty(args[arg_name])) ? await arg.getExampleValue(jdd_context) : args[arg_name],
|
|
123
123
|
page: this,
|
|
124
124
|
makeJDDContext: this.makeJDDContext,
|
|
125
|
-
makeAssetURL: this.makeAssetURL
|
|
125
|
+
makeAssetURL: this.makeAssetURL,
|
|
126
|
+
component
|
|
126
127
|
});
|
|
127
128
|
}
|
|
128
129
|
)}
|